Home / File/ builders.js — svelte Source File

builders.js — svelte Source File

Architecture documentation for builders.js, a javascript file in the svelte codebase. 6 imports, 3 dependents.

File javascript Compiler Transformer 6 imports 3 dependents 56 functions

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

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