From fbcca03cf6a1c8132ead6c25b295a2fd9585670a Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 2 Dec 2024 16:00:32 -0500 Subject: [PATCH 1/2] handle bigints in AST output tab --- packages/repl/src/lib/Output/AstNode.svelte | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/repl/src/lib/Output/AstNode.svelte b/packages/repl/src/lib/Output/AstNode.svelte index 03f5ec69d0..381f19625e 100644 --- a/packages/repl/src/lib/Output/AstNode.svelte +++ b/packages/repl/src/lib/Output/AstNode.svelte @@ -92,7 +92,7 @@ {String(value)} {:else} - {JSON.stringify(value)} + {typeof value === 'bigint' ? `${value}n` : JSON.stringify(value)} {/if} @@ -170,7 +170,8 @@ color: var(--shiki-token-string); } - .token.number { + .token.number, + .token.bigint { color: var(--shiki-token-constant); } From 2985bd089e482a0350eb8c0d9ac93dae750cce71 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 2 Dec 2024 16:04:31 -0500 Subject: [PATCH 2/2] stringify bigints for console dupe detection --- packages/repl/src/lib/Output/srcdoc/index.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/repl/src/lib/Output/srcdoc/index.html b/packages/repl/src/lib/Output/srcdoc/index.html index 21f049cbcc..d93691525b 100644 --- a/packages/repl/src/lib/Output/srcdoc/index.html +++ b/packages/repl/src/lib/Output/srcdoc/index.html @@ -155,6 +155,11 @@ return { type: 'Set', value }; } + // if we don't handle bigints separately, they will cause JSON.stringify to blow up + if (typeof value === 'bigint') { + return { type: 'BigInt', value: value + '' }; + } + return value; }); } catch (error) {