create_state_declarators() — svelte Function Reference
Architecture documentation for the create_state_declarators() function in VariableDeclaration.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 887ad0a0_32ea_f4c0_1d78_fe0a6641e266["create_state_declarators()"] 12047c60_7eb9_7476_83e2_7d8004a6f868["VariableDeclaration.js"] 887ad0a0_32ea_f4c0_1d78_fe0a6641e266 -->|defined in| 12047c60_7eb9_7476_83e2_7d8004a6f868 dbadea0c_9bb0_dd96_41bd_09a33169352f["VariableDeclaration()"] dbadea0c_9bb0_dd96_41bd_09a33169352f -->|calls| 887ad0a0_32ea_f4c0_1d78_fe0a6641e266 8980dd2b_1c7a_2c03_2400_e31c60358534["generate()"] 887ad0a0_32ea_f4c0_1d78_fe0a6641e266 -->|calls| 8980dd2b_1c7a_2c03_2400_e31c60358534 c254e734_2224_c309_f1f8_bb064e80b1af["extract_paths()"] 887ad0a0_32ea_f4c0_1d78_fe0a6641e266 -->|calls| c254e734_2224_c309_f1f8_bb064e80b1af 627dc2f8_4dbc_5bb1_8f54_cee503e17098["get()"] 887ad0a0_32ea_f4c0_1d78_fe0a6641e266 -->|calls| 627dc2f8_4dbc_5bb1_8f54_cee503e17098 style 887ad0a0_32ea_f4c0_1d78_fe0a6641e266 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/compiler/phases/3-transform/client/visitors/VariableDeclaration.js lines 388–422
function create_state_declarators(declarator, context, value) {
if (declarator.id.type === 'Identifier') {
return [
b.declarator(
declarator.id,
b.call('$.mutable_source', value, context.state.analysis.immutable ? b.true : undefined)
)
];
}
const tmp = b.id(context.state.scope.generate('tmp'));
const { inserts, paths } = extract_paths(declarator.id, tmp);
return [
b.declarator(tmp, value),
...inserts.map(({ id, value }) => {
id.name = context.state.scope.generate('$$array');
context.state.transform[id.name] = { read: get_value };
const expression = /** @type {Expression} */ (context.visit(b.thunk(value)));
return b.declarator(id, b.call('$.derived', expression));
}),
...paths.map((path) => {
const value = /** @type {Expression} */ (context.visit(path.expression));
const binding = context.state.scope.get(/** @type {Identifier} */ (path.node).name);
return b.declarator(
path.node,
binding?.kind === 'state'
? b.call('$.mutable_source', value, context.state.analysis.immutable ? b.true : undefined)
: value
);
})
];
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does create_state_declarators() do?
create_state_declarators() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/3-transform/client/visitors/VariableDeclaration.js.
Where is create_state_declarators() defined?
create_state_declarators() is defined in packages/svelte/src/compiler/phases/3-transform/client/visitors/VariableDeclaration.js at line 388.
What does create_state_declarators() call?
create_state_declarators() calls 3 function(s): extract_paths, generate, get.
What calls create_state_declarators()?
create_state_declarators() is called by 1 function(s): VariableDeclaration.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free