close() — svelte Function Reference
Architecture documentation for the close() function in tag.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 93dbe567_aab1_fb2d_cac2_875590f2699a["close()"] 367a364a_2912_a1aa_b2e1_d97a82783c38["tag.js"] 93dbe567_aab1_fb2d_cac2_875590f2699a -->|defined in| 367a364a_2912_a1aa_b2e1_d97a82783c38 e584f5ba_af7a_4d95_57a7_8a4e31da0ab8["tag()"] e584f5ba_af7a_4d95_57a7_8a4e31da0ab8 -->|calls| 93dbe567_aab1_fb2d_cac2_875590f2699a 876703c3_c368_a002_a77b_5facb6629b62["block_unexpected_close()"] 93dbe567_aab1_fb2d_cac2_875590f2699a -->|calls| 876703c3_c368_a002_a77b_5facb6629b62 style 93dbe567_aab1_fb2d_cac2_875590f2699a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/compiler/phases/1-parse/state/tag.js lines 545–613
function close(parser) {
const start = parser.index - 1;
let block = parser.current();
/** Only relevant/reached for loose parsing mode */
let matched;
switch (block.type) {
case 'IfBlock':
matched = parser.eat('if', true, false);
if (!matched) {
block.end = start - 1;
parser.pop();
close(parser);
return;
}
parser.allow_whitespace();
parser.eat('}', true);
while (block.elseif) {
block.end = parser.index;
parser.stack.pop();
block = /** @type {AST.IfBlock} */ (parser.current());
}
block.end = parser.index;
parser.pop();
return;
case 'EachBlock':
matched = parser.eat('each', true, false);
break;
case 'KeyBlock':
matched = parser.eat('key', true, false);
break;
case 'AwaitBlock':
matched = parser.eat('await', true, false);
break;
case 'SnippetBlock':
matched = parser.eat('snippet', true, false);
break;
case 'RegularElement':
if (parser.loose) {
matched = false;
} else {
// TODO handle implicitly closed elements
e.block_unexpected_close(start);
}
break;
default:
e.block_unexpected_close(start);
}
if (!matched) {
block.end = start - 1;
parser.pop();
close(parser);
return;
}
parser.allow_whitespace();
parser.eat('}', true);
block.end = parser.index;
parser.pop();
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does close() do?
close() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/1-parse/state/tag.js.
Where is close() defined?
close() is defined in packages/svelte/src/compiler/phases/1-parse/state/tag.js at line 545.
What does close() call?
close() calls 1 function(s): block_unexpected_close.
What calls close()?
close() is called by 1 function(s): tag.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free