pull/16015/head
Rich Harris 4 months ago
parent bd35fc2440
commit e91ff5b1bc

@ -141,12 +141,12 @@ export function VariableDeclaration(node, context) {
b.declarator(declarator.id, create_state_declarator(declarator.id, value)) b.declarator(declarator.id, create_state_declarator(declarator.id, value))
); );
} else { } else {
const tmp = context.state.scope.generate('tmp'); const tmp = b.id(context.state.scope.generate('tmp'));
const paths = extract_paths(declarator.id); const paths = extract_paths(declarator.id);
declarations.push( declarations.push(
b.declarator(b.id(tmp), value), b.declarator(tmp, value),
...paths.map((path) => { ...paths.map((path) => {
const value = path.expression?.(b.id(tmp)); const value = path.expression?.(tmp);
const binding = context.state.scope.get(/** @type {Identifier} */ (path.node).name); const binding = context.state.scope.get(/** @type {Identifier} */ (path.node).name);
return b.declarator( return b.declarator(
path.node, path.node,
@ -170,7 +170,7 @@ export function VariableDeclaration(node, context) {
) )
); );
} else { } else {
const bindings = extract_paths(declarator.id); const paths = extract_paths(declarator.id);
const init = /** @type {CallExpression} */ (declarator.init); const init = /** @type {CallExpression} */ (declarator.init);
@ -189,10 +189,10 @@ export function VariableDeclaration(node, context) {
); );
} }
for (let i = 0; i < bindings.length; i++) { for (let i = 0; i < paths.length; i++) {
const binding = bindings[i]; const path = paths[i];
declarations.push( declarations.push(
b.declarator(binding.node, b.call('$.derived', b.thunk(binding.expression(rhs)))) b.declarator(path.node, b.call('$.derived', b.thunk(path.expression(rhs))))
); );
} }
} }

Loading…
Cancel
Save