decoded_sourcemap_from_generator() — svelte Function Reference
Architecture documentation for the decoded_sourcemap_from_generator() function in decode_sourcemap.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD da8acc05_5b76_46d9_65c8_f41b23ed8dc3["decoded_sourcemap_from_generator()"] 1351e89f_1c35_8e97_8067_5913392f2985["decode_sourcemap.js"] da8acc05_5b76_46d9_65c8_f41b23ed8dc3 -->|defined in| 1351e89f_1c35_8e97_8067_5913392f2985 10d4a3f8_0b0d_01ad_be21_df83b1c0be75["decode_map()"] 10d4a3f8_0b0d_01ad_be21_df83b1c0be75 -->|calls| da8acc05_5b76_46d9_65c8_f41b23ed8dc3 style da8acc05_5b76_46d9_65c8_f41b23ed8dc3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/compiler/preprocess/decode_sourcemap.js lines 11–81
function decoded_sourcemap_from_generator(generator) {
let previous_generated_line = 1;
/** @type {number[][][]} */
const converted_mappings = [[]];
let result_line = converted_mappings[0];
let result_segment;
let mapping;
const source_idx = generator._sources
.toArray()
// @ts-ignore
.reduce((acc, val, idx) => ((acc[val] = idx), acc), {});
const name_idx = generator._names
.toArray()
// @ts-ignore
.reduce((acc, val, idx) => ((acc[val] = idx), acc), {});
const mappings = generator._mappings.toArray();
for (let i = 0, len = mappings.length; i < len; i++) {
mapping = mappings[i];
if (mapping.generatedLine > previous_generated_line) {
while (mapping.generatedLine > previous_generated_line) {
converted_mappings.push([]);
previous_generated_line++;
}
result_line = converted_mappings[mapping.generatedLine - 1]; // line is one-based
} else if (i > 0) {
const previous_mapping = mappings[i - 1];
if (
// sorted by selectivity
mapping.generatedColumn === previous_mapping.generatedColumn &&
mapping.originalColumn === previous_mapping.originalColumn &&
mapping.name === previous_mapping.name &&
mapping.generatedLine === previous_mapping.generatedLine &&
mapping.originalLine === previous_mapping.originalLine &&
mapping.source === previous_mapping.source
) {
continue;
}
}
result_line.push([mapping.generatedColumn]);
result_segment = result_line[result_line.length - 1];
if (mapping.source != null) {
result_segment.push(
...[source_idx[mapping.source], mapping.originalLine - 1, mapping.originalColumn]
);
if (mapping.name != null) {
result_segment.push(name_idx[mapping.name]);
}
}
}
/**
* @type {{
* version: number;
* sources: string[];
* names: string[];
* mappings: number[][][];
* file?: string;
* }}
*/
const map = {
version: generator._version,
sources: generator._sources.toArray(),
names: generator._names.toArray(),
mappings: converted_mappings
};
if (generator._file != null) {
map.file = generator._file;
}
// not needed: map.sourcesContent and map.sourceRoot
return map;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does decoded_sourcemap_from_generator() do?
decoded_sourcemap_from_generator() is a function in the svelte codebase, defined in packages/svelte/src/compiler/preprocess/decode_sourcemap.js.
Where is decoded_sourcemap_from_generator() defined?
decoded_sourcemap_from_generator() is defined in packages/svelte/src/compiler/preprocess/decode_sourcemap.js at line 11.
What calls decoded_sourcemap_from_generator()?
decoded_sourcemap_from_generator() is called by 1 function(s): decode_map.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free