builders.js — svelte Source File
Architecture documentation for builders.js, a javascript file in the svelte codebase. 6 imports, 3 dependents.
Entity Profile
Dependency Diagram
graph LR 18e3101f_3e97_34c3_7373_b587af4b78e1["builders.js"] ce051dbd_4cf1_f117_d66e_12cfa122de37["patterns.js"] 18e3101f_3e97_34c3_7373_b587af4b78e1 --> ce051dbd_4cf1_f117_d66e_12cfa122de37 4de7d612_97cf_465b_c57c_42e39253c605["sanitize_template_string.js"] 18e3101f_3e97_34c3_7373_b587af4b78e1 --> 4de7d612_97cf_465b_c57c_42e39253c605 f58b3d9a_75d2_270c_fa96_1df0cdee1d8f["sanitize_template_string"] 18e3101f_3e97_34c3_7373_b587af4b78e1 --> f58b3d9a_75d2_270c_fa96_1df0cdee1d8f 0c5c28a7_226d_4e7c_e75e_0853c0a9fc2c["ast.js"] 18e3101f_3e97_34c3_7373_b587af4b78e1 --> 0c5c28a7_226d_4e7c_e75e_0853c0a9fc2c c5b1e5e6_49b7_ac9e_9572_7d6c11e99bc7["has_await_expression"] 18e3101f_3e97_34c3_7373_b587af4b78e1 --> c5b1e5e6_49b7_ac9e_9572_7d6c11e99bc7 c49ac9f8_b355_57a2_8d10_b5fd945c6144["zimmerframe"] 18e3101f_3e97_34c3_7373_b587af4b78e1 --> c49ac9f8_b355_57a2_8d10_b5fd945c6144 b14524b3_fb6c_95cc_463c_fff3e50c6bc6["index.js"] b14524b3_fb6c_95cc_463c_fff3e50c6bc6 --> 18e3101f_3e97_34c3_7373_b587af4b78e1 3bf183de_51b2_6888_893b_2c53de029374["AttachTag.js"] 3bf183de_51b2_6888_893b_2c53de029374 --> 18e3101f_3e97_34c3_7373_b587af4b78e1 1f5985ba_084c_ee27_8728_84aae0f260d7["AwaitExpression.js"] 1f5985ba_084c_ee27_8728_84aae0f260d7 --> 18e3101f_3e97_34c3_7373_b587af4b78e1 style 18e3101f_3e97_34c3_7373_b587af4b78e1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/** @import * as ESTree from 'estree' */
import { walk } from 'zimmerframe';
import { regex_is_valid_identifier } from '../phases/patterns.js';
import { sanitize_template_string } from './sanitize_template_string.js';
import { has_await_expression } from './ast.js';
/**
* @param {Array<ESTree.Expression | ESTree.SpreadElement | null>} elements
* @returns {ESTree.ArrayExpression}
*/
export function array(elements = []) {
return { type: 'ArrayExpression', elements };
}
/**
* @param {Array<ESTree.Pattern | null>} elements
* @returns {ESTree.ArrayPattern}
*/
export function array_pattern(elements) {
return { type: 'ArrayPattern', elements };
}
/**
* @param {ESTree.Pattern} left
* @param {ESTree.Expression} right
* @returns {ESTree.AssignmentPattern}
*/
export function assignment_pattern(left, right) {
return { type: 'AssignmentPattern', left, right };
}
/**
* @param {Array<ESTree.Pattern>} params
* @param {ESTree.BlockStatement | ESTree.Expression} body
* @param {boolean} async
* @returns {ESTree.ArrowFunctionExpression}
*/
export function arrow(params, body, async = false) {
return {
type: 'ArrowFunctionExpression',
params,
body,
expression: body.type !== 'BlockStatement',
generator: false,
async
};
}
/**
* @param {ESTree.AssignmentOperator} operator
* @param {ESTree.Pattern} left
* @param {ESTree.Expression} right
* @returns {ESTree.AssignmentExpression}
*/
export function assignment(operator, left, right) {
return { type: 'AssignmentExpression', operator, left, right };
}
/**
* @param {ESTree.Expression} argument
// ... (639 more lines)
Domain
Subdomains
Functions
- array()
- array_pattern()
- arrow()
- assignment()
- assignment_pattern()
- await_builder()
- binary()
- block()
- call()
- class_expression()
- conditional()
- const_builder()
- declaration()
- declarator()
- do_while()
- export_default()
- for_builder()
- for_of()
- function_builder()
- function_declaration()
- get()
- id()
- if_builder()
- import_all()
- import_namespace()
- imports()
- init()
- key()
- labeled()
- let_builder()
- literal()
- logical()
- maybe_call()
- member()
- member_id()
- method()
- new_builder()
- object()
- object_pattern()
- private_id()
- prop()
- prop_def()
- quasi()
- rest()
- return_builder()
- sequence()
- set()
- spread()
- stmt()
- template()
- throw_error()
- thunk()
- unary()
- unthunk()
- update()
- var_builder()
Dependencies
Imported By
Source
Frequently Asked Questions
What does builders.js do?
builders.js is a source file in the svelte codebase, written in javascript. It belongs to the Compiler domain, Transformer subdomain.
What functions are defined in builders.js?
builders.js defines 56 function(s): array, array_pattern, arrow, assignment, assignment_pattern, await_builder, binary, block, call, class_expression, and 46 more.
What does builders.js depend on?
builders.js imports 6 module(s): ast.js, has_await_expression, patterns.js, sanitize_template_string, sanitize_template_string.js, zimmerframe.
What files import builders.js?
builders.js is imported by 3 file(s): AttachTag.js, AwaitExpression.js, index.js.
Where is builders.js in the architecture?
builders.js is located at packages/svelte/src/compiler/utils/builders.js (domain: Compiler, subdomain: Transformer, directory: packages/svelte/src/compiler/utils).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free