pull/15844/head
Rich Harris 3 months ago
parent a1a289ecca
commit 97f81102bd

@ -36,9 +36,7 @@ export function RenderTag(node, context) {
memoizer.apply();
/** @type {Statement[]} */
const statements = memoizer.sync.map((memo) =>
b.let(memo.id, create_derived(context.state, b.thunk(memo.expression)))
);
const statements = memoizer.deriveds(context.state.analysis.runes);
let snippet_function = build_expression(
context,

@ -60,9 +60,7 @@ export function SlotElement(node, context) {
context.state.init.push(...lets);
/** @type {Statement[]} */
const statements = memoizer.sync.map((memo) =>
b.let(memo.id, create_derived(context.state, b.thunk(memo.expression)))
);
const statements = memoizer.deriveds(context.state.analysis.runes);
const props_expression =
spreads.length === 0 ? b.object(props) : b.call('$.spread_props', b.object(props), ...spreads);

@ -447,12 +447,7 @@ export function build_component(node, component_name, context) {
};
}
const statements = [
...snippet_declarations,
...memoizer.sync.map((memo) =>
b.let(memo.id, create_derived(context.state, b.thunk(memo.expression)))
)
];
const statements = [...snippet_declarations, ...memoizer.deriveds(context.state.analysis.runes)];
if (is_component_dynamic) {
const prev = fn;

@ -39,6 +39,12 @@ export class Memoizer {
return all;
}
deriveds(runes = true) {
return this.sync.map((memo) =>
b.let(memo.id, b.call(runes ? '$.derived' : '$.derived_safe_equal', b.thunk(memo.expression)))
);
}
async_ids() {
return this.async.map((memo) => memo.id);
}

Loading…
Cancel
Save