From 24815d586ebd0b04101d58d98e90e4b91a118f52 Mon Sep 17 00:00:00 2001 From: Garrett Mills Date: Tue, 15 Sep 2026 15:08:14 -0500 Subject: [PATCH] Output - gracefully handle empty destructureds --- src/vm/commands/command.ts | 1 + src/vm/output.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/vm/commands/command.ts b/src/vm/commands/command.ts index 5f2db0f..8ab9b28 100644 --- a/src/vm/commands/command.ts +++ b/src/vm/commands/command.ts @@ -74,6 +74,7 @@ export const isStrDestructuredTable = (what: StrRVal): what is StrDestructuredTa item.value.term === 'destructured' && item.value.value.every(subitem => subitem.value.term === 'string' || subitem.value.term === 'int')) + && what.value.length > 0 } export const unwrapStrDestructuredTable = (table: StrDestructuredTable): string[][] => { diff --git a/src/vm/output.ts b/src/vm/output.ts index 0d76970..d5cc57e 100644 --- a/src/vm/output.ts +++ b/src/vm/output.ts @@ -42,12 +42,12 @@ export const getSubjectDisplay = (sub: StrRVal, prefix: string = '', firstLinePr ...row, ]) - annotatedTable = [ + annotatedTable = annotatedTable.length ? [ ['', ...annotatedTable[0] .map((cell, cellIdx) => ansi.blue`${(cellIdx - 1).toString()}`) .slice(1)], ...annotatedTable, - ] + ] : [] try { return table(annotatedTable, config)