improve break experience

log-rune
Dominic Gannaway 10 months ago
parent e7d5cd6b6a
commit 8122453c67

@ -316,6 +316,16 @@ export const javascript_visitors_runes = {
node.arguments.map((arg) => visit(arg)) node.arguments.map((arg) => visit(arg))
); );
if (rune === '$log.break') {
return b.call(
'$.log_break',
b.thunk(b.array(args)),
b.arrow(
[b.rest(b.id('values'))],
b.block([b.stmt(b.call('console.log', b.spread(b.id('values')))), b.debugger])
)
);
}
const callee = rune === '$log' ? '$.log' : `$.log_${rune.slice(5)}`; const callee = rune === '$log' ? '$.log' : `$.log_${rune.slice(5)}`;
return b.call(callee, b.thunk(b.array(args))); return b.call(callee, b.thunk(b.array(args)));
} }

@ -71,7 +71,7 @@ export function labeled(name, body) {
} }
/** /**
* @param {string | import('estree').Expression} callee * @param {string | import('estree').Expression | import('estree').SpreadElement} callee
* @param {...(import('estree').Expression | import('estree').SpreadElement)} args * @param {...(import('estree').Expression | import('estree').SpreadElement)} args
* @returns {import('estree').CallExpression} * @returns {import('estree').CallExpression}
*/ */

@ -1858,9 +1858,10 @@ export function log_table(get_values) {
/** /**
* @param {() => import('./types.js').MaybeSignal<>[]} get_values * @param {() => import('./types.js').MaybeSignal<>[]} get_values
* @param {(...value: any) => void} break_fn
* @returns {void} * @returns {void}
*/ */
export function log_break(get_values) { export function log_break(get_values, break_fn) {
if (DEV) { if (DEV) {
let initial = true; let initial = true;
@ -1873,10 +1874,7 @@ export function log_break(get_values) {
return; return;
} }
// eslint-disable-next-line no-console break_fn(...values);
console.log(...values);
// eslint-disable-next-line no-debugger
debugger;
}); });
} }
} }

@ -48,6 +48,7 @@ for (const generate of ['client', 'server']) {
} }
const compiled = compile(source, { const compiled = compile(source, {
dev: true,
filename: input, filename: input,
generate, generate,
runes: argv.runes runes: argv.runes

Loading…
Cancel
Save