Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1757x 1757x 1757x 1757x 5x 1757x 1757x 5x 5x 5x 5x 5x 1757x 1757x 1x 1x 1x 1x 1x 1757x 1757x 7x 7x 7x 7x 1757x 1757x 1757x 12x 1757x 1727x 1727x 1727x | /** @import { CallExpression, Expression } from 'estree' */ /** @import { Context } from '../types' */ import { is_ignored } from '../../../../state.js'; import * as b from '../../../../utils/builders.js'; import { get_rune } from '../../../scope.js'; import { transform_inspect_rune } from '../../utils.js'; /** * @param {CallExpression} node * @param {Context} context */ export function CallExpression(node, context) { switch (get_rune(node, context.state.scope)) { case '$host': return b.id('$$props.$$host'); case '$effect.tracking': return b.call('$.effect_tracking'); case '$state.snapshot': return b.call( '$.snapshot', /** @type {Expression} */ (context.visit(node.arguments[0])), is_ignored(node, 'state_snapshot_uncloneable') && b.true ); case '$state.is': return b.call( '$.is', /** @type {Expression} */ (context.visit(node.arguments[0])), /** @type {Expression} */ (context.visit(node.arguments[1])) ); case '$effect.root': return b.call( '$.effect_root', .../** @type {Expression[]} */ (node.arguments.map((arg) => context.visit(arg))) ); case '$inspect': case '$inspect().with': return transform_inspect_rune(node, context); } context.next(); } |