Home / File/ helpers.js — svelte Source File

helpers.js — svelte Source File

Architecture documentation for helpers.js, a javascript file in the svelte codebase. 4 imports, 12 dependents.

File javascript BuildSystem MessageProcessor 4 imports 12 dependents 6 functions

Entity Profile

Dependency Diagram

graph LR
  740dc682_957b_322a_475e_aac0e8ee02bc["helpers.js"]
  d3dc1520_5a13_e6ad_9208_466ecffe2410["node:assert"]
  740dc682_957b_322a_475e_aac0e8ee02bc --> d3dc1520_5a13_e6ad_9208_466ecffe2410
  f8929fbd_6327_2bb8_f43b_31a3db2e4d74["node:path"]
  740dc682_957b_322a_475e_aac0e8ee02bc --> f8929fbd_6327_2bb8_f43b_31a3db2e4d74
  5415ae33_acc7_39bf_2a56_bf3800623713["locate-character"]
  740dc682_957b_322a_475e_aac0e8ee02bc --> 5415ae33_acc7_39bf_2a56_bf3800623713
  6bc9684c_1a71_1bdf_8ee4_8d5d204604b3["magic-string"]
  740dc682_957b_322a_475e_aac0e8ee02bc --> 6bc9684c_1a71_1bdf_8ee4_8d5d204604b3
  cd8a45ab_4236_5f51_36bb_5a4a0f57c0da["_config.js"]
  cd8a45ab_4236_5f51_36bb_5a4a0f57c0da --> 740dc682_957b_322a_475e_aac0e8ee02bc
  d3afbd21_c868_5dcf_9410_cf4749b711bc["_config.js"]
  d3afbd21_c868_5dcf_9410_cf4749b711bc --> 740dc682_957b_322a_475e_aac0e8ee02bc
  c769ee0a_3aea_619a_1baa_b6fe5eb332cb["_config.js"]
  c769ee0a_3aea_619a_1baa_b6fe5eb332cb --> 740dc682_957b_322a_475e_aac0e8ee02bc
  731f52dd_32ed_3ff5_a29a_22f9b106590e["_config.js"]
  731f52dd_32ed_3ff5_a29a_22f9b106590e --> 740dc682_957b_322a_475e_aac0e8ee02bc
  d8eb37de_a670_0a83_a520_356f5f3e9e66["_config.js"]
  d8eb37de_a670_0a83_a520_356f5f3e9e66 --> 740dc682_957b_322a_475e_aac0e8ee02bc
  dfe9cc52_6f7b_2b5b_da2e_dc9db2e9a602["_config.js"]
  dfe9cc52_6f7b_2b5b_da2e_dc9db2e9a602 --> 740dc682_957b_322a_475e_aac0e8ee02bc
  68769e35_fb80_8766_de4e_57c115dc7274["_config.js"]
  68769e35_fb80_8766_de4e_57c115dc7274 --> 740dc682_957b_322a_475e_aac0e8ee02bc
  f321d128_db1d_f0cc_225a_6e30204d65b5["_config.js"]
  f321d128_db1d_f0cc_225a_6e30204d65b5 --> 740dc682_957b_322a_475e_aac0e8ee02bc
  043bf0c6_daf4_3332_8736_15d85489f2a8["_config.js"]
  043bf0c6_daf4_3332_8736_15d85489f2a8 --> 740dc682_957b_322a_475e_aac0e8ee02bc
  083dc455_076c_bfb0_d4c0_ac0c0111eb3c["_config.js"]
  083dc455_076c_bfb0_d4c0_ac0c0111eb3c --> 740dc682_957b_322a_475e_aac0e8ee02bc
  style 740dc682_957b_322a_475e_aac0e8ee02bc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { Location } from 'locate-character' */
import * as assert from 'node:assert';
import * as path from 'node:path';
import { getLocator } from 'locate-character';
import MagicString, { Bundle } from 'magic-string';

/**
 * @typedef {{ code: string; filename?: string; input: string | ReturnType<typeof getLocator>; input_code?: string; preprocessed: any; }} AssertMappedParameters
 */

/**
 * @param {AssertMappedParameters} param
 */
export function assert_mapped({ code, filename, input, input_code, preprocessed }) {
	const locate_input = typeof input === 'function' ? input : getLocator(input);
	if (filename === undefined) filename = 'input.svelte';
	if (input_code === undefined) input_code = code;

	const source_loc = /** @type {Location} */ (locate_input(input_code));
	assert.notEqual(source_loc, undefined, `failed to locate "${input_code}" in "${filename}"`);

	const transformed_loc = preprocessed.locate_1(code);
	assert.notEqual(
		transformed_loc,
		undefined,
		`failed to locate "${code}" in transformed "${filename}"`
	);

	assert.deepEqual(
		preprocessed.mapConsumer.originalPositionFor(transformed_loc),
		{
			source: filename,
			name: null,
			line: source_loc.line + 1,
			column: source_loc.column
		},
		`incorrect mappings for "${input_code}" in "${filename}"`
	);
}

/**
 * @typedef {{ code: string; filename?: string; preprocessed: any; }} AssertNotMappedParameters
 */

/**
 * @param {AssertNotMappedParameters} param
 */
export function assert_not_mapped({ code, filename, preprocessed }) {
	if (filename === undefined) filename = 'input.svelte';

	const transformed_loc = preprocessed.locate_1(code);
	assert.notEqual(
		transformed_loc,
		undefined,
		`failed to locate "${code}" in transformed "${filename}"`
	);

	assert.deepEqual(
		preprocessed.mapConsumer.originalPositionFor(transformed_loc),
		{
// ... (75 more lines)

Domain

Subdomains

Dependencies

  • locate-character
  • magic-string
  • node:assert
  • node:path

Frequently Asked Questions

What does helpers.js do?
helpers.js is a source file in the svelte codebase, written in javascript. It belongs to the BuildSystem domain, MessageProcessor subdomain.
What functions are defined in helpers.js?
helpers.js defines 6 function(s): assert_mapped, assert_not_located, assert_not_mapped, magic_string_bundle, magic_string_preprocessor_result, magic_string_replace_all.
What does helpers.js depend on?
helpers.js imports 4 module(s): locate-character, magic-string, node:assert, node:path.
What files import helpers.js?
helpers.js is imported by 12 file(s): _config.js, _config.js, _config.js, _config.js, _config.js, _config.js, _config.js, _config.js, and 4 more.
Where is helpers.js in the architecture?
helpers.js is located at packages/svelte/tests/sourcemaps/helpers.js (domain: BuildSystem, subdomain: MessageProcessor, directory: packages/svelte/tests/sourcemaps).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free