From 60c468477de3c24dbf39866e010f3ea22cbb195a Mon Sep 17 00:00:00 2001 From: Chip Morningstar Date: Wed, 17 Feb 2021 17:47:02 -0800 Subject: [PATCH] fix: protect testLog against BigInts --- packages/SwingSet/src/kernel/kernel.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/SwingSet/src/kernel/kernel.js b/packages/SwingSet/src/kernel/kernel.js index 1aa340ec098..5a39590625e 100644 --- a/packages/SwingSet/src/kernel/kernel.js +++ b/packages/SwingSet/src/kernel/kernel.js @@ -22,7 +22,10 @@ import { makeVatLoader } from './loadVat'; import { makeVatTranslators } from './vatTranslator'; import { makeDeviceTranslators } from './deviceTranslator'; -function abbreviateReviver(_, arg) { +function abbreviateReplacer(_, arg) { + if (typeof arg === 'bigint') { + return Number(arg); + } if (typeof arg === 'string' && arg.length >= 40) { // truncate long strings return `${arg.slice(0, 15)}...${arg.slice(arg.length - 15)}`; @@ -138,7 +141,7 @@ export default function buildKernel( // 'result' value returned by c.queueToExport() function testLog(...args) { const rendered = args.map(arg => - typeof arg === 'string' ? arg : JSON.stringify(arg, abbreviateReviver), + typeof arg === 'string' ? arg : JSON.stringify(arg, abbreviateReplacer), ); ephemeral.log.push(rendered.join('')); }