initial commit
This commit is contained in:
		
							
								
								
									
										19
									
								
								node_modules/@jridgewell/trace-mapping/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								node_modules/@jridgewell/trace-mapping/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| Copyright 2022 Justin Ridgewell <justin@ridgewell.name> | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in | ||||
| all copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE. | ||||
							
								
								
									
										193
									
								
								node_modules/@jridgewell/trace-mapping/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								node_modules/@jridgewell/trace-mapping/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,193 @@ | ||||
| # @jridgewell/trace-mapping | ||||
|  | ||||
| > Trace the original position through a source map | ||||
|  | ||||
| `trace-mapping` allows you to take the line and column of an output file and trace it to the | ||||
| original location in the source file through a source map. | ||||
|  | ||||
| You may already be familiar with the [`source-map`][source-map] package's `SourceMapConsumer`. This | ||||
| provides the same `originalPositionFor` and `generatedPositionFor` API, without requiring WASM. | ||||
|  | ||||
| ## Installation | ||||
|  | ||||
| ```sh | ||||
| npm install @jridgewell/trace-mapping | ||||
| ``` | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| ```typescript | ||||
| import { TraceMap, originalPositionFor, generatedPositionFor } from '@jridgewell/trace-mapping'; | ||||
|  | ||||
| const tracer = new TraceMap({ | ||||
|   version: 3, | ||||
|   sources: ['input.js'], | ||||
|   names: ['foo'], | ||||
|   mappings: 'KAyCIA', | ||||
| }); | ||||
|  | ||||
| // Lines start at line 1, columns at column 0. | ||||
| const traced = originalPositionFor(tracer, { line: 1, column: 5 }); | ||||
| assert.deepEqual(traced, { | ||||
|   source: 'input.js', | ||||
|   line: 42, | ||||
|   column: 4, | ||||
|   name: 'foo', | ||||
| }); | ||||
|  | ||||
| const generated = generatedPositionFor(tracer, { | ||||
|   source: 'input.js', | ||||
|   line: 42, | ||||
|   column: 4, | ||||
| }); | ||||
| assert.deepEqual(generated, { | ||||
|   line: 1, | ||||
|   column: 5, | ||||
| }); | ||||
| ``` | ||||
|  | ||||
| We also provide a lower level API to get the actual segment that matches our line and column. Unlike | ||||
| `originalPositionFor`, `traceSegment` uses a 0-base for `line`: | ||||
|  | ||||
| ```typescript | ||||
| import { traceSegment } from '@jridgewell/trace-mapping'; | ||||
|  | ||||
| // line is 0-base. | ||||
| const traced = traceSegment(tracer, /* line */ 0, /* column */ 5); | ||||
|  | ||||
| // Segments are [outputColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] | ||||
| // Again, line is 0-base and so is sourceLine | ||||
| assert.deepEqual(traced, [5, 0, 41, 4, 0]); | ||||
| ``` | ||||
|  | ||||
| ### SectionedSourceMaps | ||||
|  | ||||
| The sourcemap spec defines a special `sections` field that's designed to handle concatenation of | ||||
| output code with associated sourcemaps. This type of sourcemap is rarely used (no major build tool | ||||
| produces it), but if you are hand coding a concatenation you may need it. We provide an `AnyMap` | ||||
| helper that can receive either a regular sourcemap or a `SectionedSourceMap` and returns a | ||||
| `TraceMap` instance: | ||||
|  | ||||
| ```typescript | ||||
| import { AnyMap } from '@jridgewell/trace-mapping'; | ||||
| const fooOutput = 'foo'; | ||||
| const barOutput = 'bar'; | ||||
| const output = [fooOutput, barOutput].join('\n'); | ||||
|  | ||||
| const sectioned = new AnyMap({ | ||||
|   version: 3, | ||||
|   sections: [ | ||||
|     { | ||||
|       // 0-base line and column | ||||
|       offset: { line: 0, column: 0 }, | ||||
|       // fooOutput's sourcemap | ||||
|       map: { | ||||
|         version: 3, | ||||
|         sources: ['foo.js'], | ||||
|         names: ['foo'], | ||||
|         mappings: 'AAAAA', | ||||
|       }, | ||||
|     }, | ||||
|     { | ||||
|       // barOutput's sourcemap will not affect the first line, only the second | ||||
|       offset: { line: 1, column: 0 }, | ||||
|       map: { | ||||
|         version: 3, | ||||
|         sources: ['bar.js'], | ||||
|         names: ['bar'], | ||||
|         mappings: 'AAAAA', | ||||
|       }, | ||||
|     }, | ||||
|   ], | ||||
| }); | ||||
|  | ||||
| const traced = originalPositionFor(sectioned, { | ||||
|   line: 2, | ||||
|   column: 0, | ||||
| }); | ||||
|  | ||||
| assert.deepEqual(traced, { | ||||
|   source: 'bar.js', | ||||
|   line: 1, | ||||
|   column: 0, | ||||
|   name: 'bar', | ||||
| }); | ||||
| ``` | ||||
|  | ||||
| ## Benchmarks | ||||
|  | ||||
| ``` | ||||
| node v18.0.0 | ||||
|  | ||||
| amp.js.map | ||||
| trace-mapping:    decoded JSON input x 183 ops/sec ±0.41% (87 runs sampled) | ||||
| trace-mapping:    encoded JSON input x 384 ops/sec ±0.89% (89 runs sampled) | ||||
| trace-mapping:    decoded Object input x 3,085 ops/sec ±0.24% (100 runs sampled) | ||||
| trace-mapping:    encoded Object input x 452 ops/sec ±0.80% (84 runs sampled) | ||||
| source-map-js:    encoded Object input x 88.82 ops/sec ±0.45% (77 runs sampled) | ||||
| source-map-0.6.1: encoded Object input x 38.39 ops/sec ±1.88% (52 runs sampled) | ||||
| Fastest is trace-mapping:    decoded Object input | ||||
|  | ||||
| trace-mapping:    decoded originalPositionFor x 4,025,347 ops/sec ±0.15% (97 runs sampled) | ||||
| trace-mapping:    encoded originalPositionFor x 3,333,136 ops/sec ±1.26% (90 runs sampled) | ||||
| source-map-js:    encoded originalPositionFor x 824,978 ops/sec ±1.06% (94 runs sampled) | ||||
| source-map-0.6.1: encoded originalPositionFor x 741,300 ops/sec ±0.93% (92 runs sampled) | ||||
| source-map-0.8.0: encoded originalPositionFor x 2,587,603 ops/sec ±0.75% (97 runs sampled) | ||||
| Fastest is trace-mapping:    decoded originalPositionFor | ||||
|  | ||||
| *** | ||||
|  | ||||
| babel.min.js.map | ||||
| trace-mapping:    decoded JSON input x 17.43 ops/sec ±8.81% (33 runs sampled) | ||||
| trace-mapping:    encoded JSON input x 34.18 ops/sec ±4.67% (50 runs sampled) | ||||
| trace-mapping:    decoded Object input x 1,010 ops/sec ±0.41% (98 runs sampled) | ||||
| trace-mapping:    encoded Object input x 39.45 ops/sec ±4.01% (52 runs sampled) | ||||
| source-map-js:    encoded Object input x 6.57 ops/sec ±3.04% (21 runs sampled) | ||||
| source-map-0.6.1: encoded Object input x 4.23 ops/sec ±2.93% (15 runs sampled) | ||||
| Fastest is trace-mapping:    decoded Object input | ||||
|  | ||||
| trace-mapping:    decoded originalPositionFor x 7,576,265 ops/sec ±0.74% (96 runs sampled) | ||||
| trace-mapping:    encoded originalPositionFor x 5,019,743 ops/sec ±0.74% (94 runs sampled) | ||||
| source-map-js:    encoded originalPositionFor x 3,396,137 ops/sec ±42.32% (95 runs sampled) | ||||
| source-map-0.6.1: encoded originalPositionFor x 3,753,176 ops/sec ±0.72% (95 runs sampled) | ||||
| source-map-0.8.0: encoded originalPositionFor x 6,423,633 ops/sec ±0.74% (95 runs sampled) | ||||
| Fastest is trace-mapping:    decoded originalPositionFor | ||||
|  | ||||
| *** | ||||
|  | ||||
| preact.js.map | ||||
| trace-mapping:    decoded JSON input x 3,499 ops/sec ±0.18% (98 runs sampled) | ||||
| trace-mapping:    encoded JSON input x 6,078 ops/sec ±0.25% (99 runs sampled) | ||||
| trace-mapping:    decoded Object input x 254,788 ops/sec ±0.13% (100 runs sampled) | ||||
| trace-mapping:    encoded Object input x 14,063 ops/sec ±0.27% (94 runs sampled) | ||||
| source-map-js:    encoded Object input x 2,465 ops/sec ±0.25% (98 runs sampled) | ||||
| source-map-0.6.1: encoded Object input x 1,174 ops/sec ±1.90% (95 runs sampled) | ||||
| Fastest is trace-mapping:    decoded Object input | ||||
|  | ||||
| trace-mapping:    decoded originalPositionFor x 7,720,171 ops/sec ±0.14% (97 runs sampled) | ||||
| trace-mapping:    encoded originalPositionFor x 6,864,485 ops/sec ±0.16% (101 runs sampled) | ||||
| source-map-js:    encoded originalPositionFor x 2,387,219 ops/sec ±0.28% (98 runs sampled) | ||||
| source-map-0.6.1: encoded originalPositionFor x 1,565,339 ops/sec ±0.32% (101 runs sampled) | ||||
| source-map-0.8.0: encoded originalPositionFor x 3,819,732 ops/sec ±0.38% (98 runs sampled) | ||||
| Fastest is trace-mapping:    decoded originalPositionFor | ||||
|  | ||||
| *** | ||||
|  | ||||
| react.js.map | ||||
| trace-mapping:    decoded JSON input x 1,719 ops/sec ±0.19% (99 runs sampled) | ||||
| trace-mapping:    encoded JSON input x 4,284 ops/sec ±0.51% (99 runs sampled) | ||||
| trace-mapping:    decoded Object input x 94,668 ops/sec ±0.08% (99 runs sampled) | ||||
| trace-mapping:    encoded Object input x 5,287 ops/sec ±0.24% (99 runs sampled) | ||||
| source-map-js:    encoded Object input x 814 ops/sec ±0.20% (98 runs sampled) | ||||
| source-map-0.6.1: encoded Object input x 429 ops/sec ±0.24% (94 runs sampled) | ||||
| Fastest is trace-mapping:    decoded Object input | ||||
|  | ||||
| trace-mapping:    decoded originalPositionFor x 28,927,989 ops/sec ±0.61% (94 runs sampled) | ||||
| trace-mapping:    encoded originalPositionFor x 27,394,475 ops/sec ±0.55% (97 runs sampled) | ||||
| source-map-js:    encoded originalPositionFor x 16,856,730 ops/sec ±0.45% (96 runs sampled) | ||||
| source-map-0.6.1: encoded originalPositionFor x 12,258,950 ops/sec ±0.41% (97 runs sampled) | ||||
| source-map-0.8.0: encoded originalPositionFor x 22,272,990 ops/sec ±0.58% (95 runs sampled) | ||||
| Fastest is trace-mapping:    decoded originalPositionFor | ||||
| ``` | ||||
|  | ||||
| [source-map]: https://www.npmjs.com/package/source-map | ||||
							
								
								
									
										514
									
								
								node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										514
									
								
								node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,514 @@ | ||||
| import { encode, decode } from '@jridgewell/sourcemap-codec'; | ||||
| import resolveUri from '@jridgewell/resolve-uri'; | ||||
|  | ||||
| function resolve(input, base) { | ||||
|     // The base is always treated as a directory, if it's not empty. | ||||
|     // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327 | ||||
|     // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401 | ||||
|     if (base && !base.endsWith('/')) | ||||
|         base += '/'; | ||||
|     return resolveUri(input, base); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Removes everything after the last "/", but leaves the slash. | ||||
|  */ | ||||
| function stripFilename(path) { | ||||
|     if (!path) | ||||
|         return ''; | ||||
|     const index = path.lastIndexOf('/'); | ||||
|     return path.slice(0, index + 1); | ||||
| } | ||||
|  | ||||
| const COLUMN = 0; | ||||
| const SOURCES_INDEX = 1; | ||||
| const SOURCE_LINE = 2; | ||||
| const SOURCE_COLUMN = 3; | ||||
| const NAMES_INDEX = 4; | ||||
| const REV_GENERATED_LINE = 1; | ||||
| const REV_GENERATED_COLUMN = 2; | ||||
|  | ||||
| function maybeSort(mappings, owned) { | ||||
|     const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); | ||||
|     if (unsortedIndex === mappings.length) | ||||
|         return mappings; | ||||
|     // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If | ||||
|     // not, we do not want to modify the consumer's input array. | ||||
|     if (!owned) | ||||
|         mappings = mappings.slice(); | ||||
|     for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { | ||||
|         mappings[i] = sortSegments(mappings[i], owned); | ||||
|     } | ||||
|     return mappings; | ||||
| } | ||||
| function nextUnsortedSegmentLine(mappings, start) { | ||||
|     for (let i = start; i < mappings.length; i++) { | ||||
|         if (!isSorted(mappings[i])) | ||||
|             return i; | ||||
|     } | ||||
|     return mappings.length; | ||||
| } | ||||
| function isSorted(line) { | ||||
|     for (let j = 1; j < line.length; j++) { | ||||
|         if (line[j][COLUMN] < line[j - 1][COLUMN]) { | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
|     return true; | ||||
| } | ||||
| function sortSegments(line, owned) { | ||||
|     if (!owned) | ||||
|         line = line.slice(); | ||||
|     return line.sort(sortComparator); | ||||
| } | ||||
| function sortComparator(a, b) { | ||||
|     return a[COLUMN] - b[COLUMN]; | ||||
| } | ||||
|  | ||||
| let found = false; | ||||
| /** | ||||
|  * A binary search implementation that returns the index if a match is found. | ||||
|  * If no match is found, then the left-index (the index associated with the item that comes just | ||||
|  * before the desired index) is returned. To maintain proper sort order, a splice would happen at | ||||
|  * the next index: | ||||
|  * | ||||
|  * ```js | ||||
|  * const array = [1, 3]; | ||||
|  * const needle = 2; | ||||
|  * const index = binarySearch(array, needle, (item, needle) => item - needle); | ||||
|  * | ||||
|  * assert.equal(index, 0); | ||||
|  * array.splice(index + 1, 0, needle); | ||||
|  * assert.deepEqual(array, [1, 2, 3]); | ||||
|  * ``` | ||||
|  */ | ||||
| function binarySearch(haystack, needle, low, high) { | ||||
|     while (low <= high) { | ||||
|         const mid = low + ((high - low) >> 1); | ||||
|         const cmp = haystack[mid][COLUMN] - needle; | ||||
|         if (cmp === 0) { | ||||
|             found = true; | ||||
|             return mid; | ||||
|         } | ||||
|         if (cmp < 0) { | ||||
|             low = mid + 1; | ||||
|         } | ||||
|         else { | ||||
|             high = mid - 1; | ||||
|         } | ||||
|     } | ||||
|     found = false; | ||||
|     return low - 1; | ||||
| } | ||||
| function upperBound(haystack, needle, index) { | ||||
|     for (let i = index + 1; i < haystack.length; i++, index++) { | ||||
|         if (haystack[i][COLUMN] !== needle) | ||||
|             break; | ||||
|     } | ||||
|     return index; | ||||
| } | ||||
| function lowerBound(haystack, needle, index) { | ||||
|     for (let i = index - 1; i >= 0; i--, index--) { | ||||
|         if (haystack[i][COLUMN] !== needle) | ||||
|             break; | ||||
|     } | ||||
|     return index; | ||||
| } | ||||
| function memoizedState() { | ||||
|     return { | ||||
|         lastKey: -1, | ||||
|         lastNeedle: -1, | ||||
|         lastIndex: -1, | ||||
|     }; | ||||
| } | ||||
| /** | ||||
|  * This overly complicated beast is just to record the last tested line/column and the resulting | ||||
|  * index, allowing us to skip a few tests if mappings are monotonically increasing. | ||||
|  */ | ||||
| function memoizedBinarySearch(haystack, needle, state, key) { | ||||
|     const { lastKey, lastNeedle, lastIndex } = state; | ||||
|     let low = 0; | ||||
|     let high = haystack.length - 1; | ||||
|     if (key === lastKey) { | ||||
|         if (needle === lastNeedle) { | ||||
|             found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; | ||||
|             return lastIndex; | ||||
|         } | ||||
|         if (needle >= lastNeedle) { | ||||
|             // lastIndex may be -1 if the previous needle was not found. | ||||
|             low = lastIndex === -1 ? 0 : lastIndex; | ||||
|         } | ||||
|         else { | ||||
|             high = lastIndex; | ||||
|         } | ||||
|     } | ||||
|     state.lastKey = key; | ||||
|     state.lastNeedle = needle; | ||||
|     return (state.lastIndex = binarySearch(haystack, needle, low, high)); | ||||
| } | ||||
|  | ||||
| // Rebuilds the original source files, with mappings that are ordered by source line/column instead | ||||
| // of generated line/column. | ||||
| function buildBySources(decoded, memos) { | ||||
|     const sources = memos.map(buildNullArray); | ||||
|     for (let i = 0; i < decoded.length; i++) { | ||||
|         const line = decoded[i]; | ||||
|         for (let j = 0; j < line.length; j++) { | ||||
|             const seg = line[j]; | ||||
|             if (seg.length === 1) | ||||
|                 continue; | ||||
|             const sourceIndex = seg[SOURCES_INDEX]; | ||||
|             const sourceLine = seg[SOURCE_LINE]; | ||||
|             const sourceColumn = seg[SOURCE_COLUMN]; | ||||
|             const originalSource = sources[sourceIndex]; | ||||
|             const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = [])); | ||||
|             const memo = memos[sourceIndex]; | ||||
|             // The binary search either found a match, or it found the left-index just before where the | ||||
|             // segment should go. Either way, we want to insert after that. And there may be multiple | ||||
|             // generated segments associated with an original location, so there may need to move several | ||||
|             // indexes before we find where we need to insert. | ||||
|             const index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine)); | ||||
|             insert(originalLine, (memo.lastIndex = index + 1), [sourceColumn, i, seg[COLUMN]]); | ||||
|         } | ||||
|     } | ||||
|     return sources; | ||||
| } | ||||
| function insert(array, index, value) { | ||||
|     for (let i = array.length; i > index; i--) { | ||||
|         array[i] = array[i - 1]; | ||||
|     } | ||||
|     array[index] = value; | ||||
| } | ||||
| // Null arrays allow us to use ordered index keys without actually allocating contiguous memory like | ||||
| // a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations. | ||||
| // Numeric properties on objects are magically sorted in ascending order by the engine regardless of | ||||
| // the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending | ||||
| // order when iterating with for-in. | ||||
| function buildNullArray() { | ||||
|     return { __proto__: null }; | ||||
| } | ||||
|  | ||||
| const AnyMap = function (map, mapUrl) { | ||||
|     const parsed = typeof map === 'string' ? JSON.parse(map) : map; | ||||
|     if (!('sections' in parsed)) | ||||
|         return new TraceMap(parsed, mapUrl); | ||||
|     const mappings = []; | ||||
|     const sources = []; | ||||
|     const sourcesContent = []; | ||||
|     const names = []; | ||||
|     const { sections } = parsed; | ||||
|     let i = 0; | ||||
|     for (; i < sections.length - 1; i++) { | ||||
|         const no = sections[i + 1].offset; | ||||
|         addSection(sections[i], mapUrl, mappings, sources, sourcesContent, names, no.line, no.column); | ||||
|     } | ||||
|     if (sections.length > 0) { | ||||
|         addSection(sections[i], mapUrl, mappings, sources, sourcesContent, names, Infinity, Infinity); | ||||
|     } | ||||
|     const joined = { | ||||
|         version: 3, | ||||
|         file: parsed.file, | ||||
|         names, | ||||
|         sources, | ||||
|         sourcesContent, | ||||
|         mappings, | ||||
|     }; | ||||
|     return presortedDecodedMap(joined); | ||||
| }; | ||||
| function addSection(section, mapUrl, mappings, sources, sourcesContent, names, stopLine, stopColumn) { | ||||
|     const map = AnyMap(section.map, mapUrl); | ||||
|     const { line: lineOffset, column: columnOffset } = section.offset; | ||||
|     const sourcesOffset = sources.length; | ||||
|     const namesOffset = names.length; | ||||
|     const decoded = decodedMappings(map); | ||||
|     const { resolvedSources } = map; | ||||
|     append(sources, resolvedSources); | ||||
|     append(sourcesContent, map.sourcesContent || fillSourcesContent(resolvedSources.length)); | ||||
|     append(names, map.names); | ||||
|     // If this section jumps forwards several lines, we need to add lines to the output mappings catch up. | ||||
|     for (let i = mappings.length; i <= lineOffset; i++) | ||||
|         mappings.push([]); | ||||
|     // We can only add so many lines before we step into the range that the next section's map | ||||
|     // controls. When we get to the last line, then we'll start checking the segments to see if | ||||
|     // they've crossed into the column range. | ||||
|     const stopI = stopLine - lineOffset; | ||||
|     const len = Math.min(decoded.length, stopI + 1); | ||||
|     for (let i = 0; i < len; i++) { | ||||
|         const line = decoded[i]; | ||||
|         // On the 0th loop, the line will already exist due to a previous section, or the line catch up | ||||
|         // loop above. | ||||
|         const out = i === 0 ? mappings[lineOffset] : (mappings[lineOffset + i] = []); | ||||
|         // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the | ||||
|         // map can be multiple lines), it doesn't. | ||||
|         const cOffset = i === 0 ? columnOffset : 0; | ||||
|         for (let j = 0; j < line.length; j++) { | ||||
|             const seg = line[j]; | ||||
|             const column = cOffset + seg[COLUMN]; | ||||
|             // If this segment steps into the column range that the next section's map controls, we need | ||||
|             // to stop early. | ||||
|             if (i === stopI && column >= stopColumn) | ||||
|                 break; | ||||
|             if (seg.length === 1) { | ||||
|                 out.push([column]); | ||||
|                 continue; | ||||
|             } | ||||
|             const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX]; | ||||
|             const sourceLine = seg[SOURCE_LINE]; | ||||
|             const sourceColumn = seg[SOURCE_COLUMN]; | ||||
|             if (seg.length === 4) { | ||||
|                 out.push([column, sourcesIndex, sourceLine, sourceColumn]); | ||||
|                 continue; | ||||
|             } | ||||
|             out.push([column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| function append(arr, other) { | ||||
|     for (let i = 0; i < other.length; i++) | ||||
|         arr.push(other[i]); | ||||
| } | ||||
| // Sourcemaps don't need to have sourcesContent, and if they don't, we need to create an array of | ||||
| // equal length to the sources. This is because the sources and sourcesContent are paired arrays, | ||||
| // where `sourcesContent[i]` is the content of the `sources[i]` file. If we didn't, then joined | ||||
| // sourcemap would desynchronize the sources/contents. | ||||
| function fillSourcesContent(len) { | ||||
|     const sourcesContent = []; | ||||
|     for (let i = 0; i < len; i++) | ||||
|         sourcesContent[i] = null; | ||||
|     return sourcesContent; | ||||
| } | ||||
|  | ||||
| const INVALID_ORIGINAL_MAPPING = Object.freeze({ | ||||
|     source: null, | ||||
|     line: null, | ||||
|     column: null, | ||||
|     name: null, | ||||
| }); | ||||
| const INVALID_GENERATED_MAPPING = Object.freeze({ | ||||
|     line: null, | ||||
|     column: null, | ||||
| }); | ||||
| const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)'; | ||||
| const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)'; | ||||
| const LEAST_UPPER_BOUND = -1; | ||||
| const GREATEST_LOWER_BOUND = 1; | ||||
| /** | ||||
|  * Returns the encoded (VLQ string) form of the SourceMap's mappings field. | ||||
|  */ | ||||
| let encodedMappings; | ||||
| /** | ||||
|  * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field. | ||||
|  */ | ||||
| let decodedMappings; | ||||
| /** | ||||
|  * A low-level API to find the segment associated with a generated line/column (think, from a | ||||
|  * stack trace). Line and column here are 0-based, unlike `originalPositionFor`. | ||||
|  */ | ||||
| let traceSegment; | ||||
| /** | ||||
|  * A higher-level API to find the source/line/column associated with a generated line/column | ||||
|  * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in | ||||
|  * `source-map` library. | ||||
|  */ | ||||
| let originalPositionFor; | ||||
| /** | ||||
|  * Finds the source/line/column directly after the mapping returned by originalPositionFor, provided | ||||
|  * the found mapping is from the same source and line as the originalPositionFor mapping. | ||||
|  * | ||||
|  * Eg, in the code `let id = 1`, `originalPositionAfter` could find the mapping associated with `1` | ||||
|  * using the same needle that would return `id` when calling `originalPositionFor`. | ||||
|  */ | ||||
| let generatedPositionFor; | ||||
| /** | ||||
|  * Iterates each mapping in generated position order. | ||||
|  */ | ||||
| let eachMapping; | ||||
| /** | ||||
|  * A helper that skips sorting of the input map's mappings array, which can be expensive for larger | ||||
|  * maps. | ||||
|  */ | ||||
| let presortedDecodedMap; | ||||
| /** | ||||
|  * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects | ||||
|  * a sourcemap, or to JSON.stringify. | ||||
|  */ | ||||
| let decodedMap; | ||||
| /** | ||||
|  * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects | ||||
|  * a sourcemap, or to JSON.stringify. | ||||
|  */ | ||||
| let encodedMap; | ||||
| class TraceMap { | ||||
|     constructor(map, mapUrl) { | ||||
|         this._decodedMemo = memoizedState(); | ||||
|         this._bySources = undefined; | ||||
|         this._bySourceMemos = undefined; | ||||
|         const isString = typeof map === 'string'; | ||||
|         if (!isString && map.constructor === TraceMap) | ||||
|             return map; | ||||
|         const parsed = (isString ? JSON.parse(map) : map); | ||||
|         const { version, file, names, sourceRoot, sources, sourcesContent } = parsed; | ||||
|         this.version = version; | ||||
|         this.file = file; | ||||
|         this.names = names; | ||||
|         this.sourceRoot = sourceRoot; | ||||
|         this.sources = sources; | ||||
|         this.sourcesContent = sourcesContent; | ||||
|         if (sourceRoot || mapUrl) { | ||||
|             const from = resolve(sourceRoot || '', stripFilename(mapUrl)); | ||||
|             this.resolvedSources = sources.map((s) => resolve(s || '', from)); | ||||
|         } | ||||
|         else { | ||||
|             this.resolvedSources = sources.map((s) => s || ''); | ||||
|         } | ||||
|         const { mappings } = parsed; | ||||
|         if (typeof mappings === 'string') { | ||||
|             this._encoded = mappings; | ||||
|             this._decoded = undefined; | ||||
|         } | ||||
|         else { | ||||
|             this._encoded = undefined; | ||||
|             this._decoded = maybeSort(mappings, isString); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| (() => { | ||||
|     encodedMappings = (map) => { | ||||
|         var _a; | ||||
|         return ((_a = map._encoded) !== null && _a !== void 0 ? _a : (map._encoded = encode(map._decoded))); | ||||
|     }; | ||||
|     decodedMappings = (map) => { | ||||
|         return (map._decoded || (map._decoded = decode(map._encoded))); | ||||
|     }; | ||||
|     traceSegment = (map, line, column) => { | ||||
|         const decoded = decodedMappings(map); | ||||
|         // It's common for parent source maps to have pointers to lines that have no | ||||
|         // mapping (like a "//# sourceMappingURL=") at the end of the child file. | ||||
|         if (line >= decoded.length) | ||||
|             return null; | ||||
|         return traceSegmentInternal(decoded[line], map._decodedMemo, line, column, GREATEST_LOWER_BOUND); | ||||
|     }; | ||||
|     originalPositionFor = (map, { line, column, bias }) => { | ||||
|         line--; | ||||
|         if (line < 0) | ||||
|             throw new Error(LINE_GTR_ZERO); | ||||
|         if (column < 0) | ||||
|             throw new Error(COL_GTR_EQ_ZERO); | ||||
|         const decoded = decodedMappings(map); | ||||
|         // It's common for parent source maps to have pointers to lines that have no | ||||
|         // mapping (like a "//# sourceMappingURL=") at the end of the child file. | ||||
|         if (line >= decoded.length) | ||||
|             return INVALID_ORIGINAL_MAPPING; | ||||
|         const segment = traceSegmentInternal(decoded[line], map._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND); | ||||
|         if (segment == null) | ||||
|             return INVALID_ORIGINAL_MAPPING; | ||||
|         if (segment.length == 1) | ||||
|             return INVALID_ORIGINAL_MAPPING; | ||||
|         const { names, resolvedSources } = map; | ||||
|         return { | ||||
|             source: resolvedSources[segment[SOURCES_INDEX]], | ||||
|             line: segment[SOURCE_LINE] + 1, | ||||
|             column: segment[SOURCE_COLUMN], | ||||
|             name: segment.length === 5 ? names[segment[NAMES_INDEX]] : null, | ||||
|         }; | ||||
|     }; | ||||
|     generatedPositionFor = (map, { source, line, column, bias }) => { | ||||
|         line--; | ||||
|         if (line < 0) | ||||
|             throw new Error(LINE_GTR_ZERO); | ||||
|         if (column < 0) | ||||
|             throw new Error(COL_GTR_EQ_ZERO); | ||||
|         const { sources, resolvedSources } = map; | ||||
|         let sourceIndex = sources.indexOf(source); | ||||
|         if (sourceIndex === -1) | ||||
|             sourceIndex = resolvedSources.indexOf(source); | ||||
|         if (sourceIndex === -1) | ||||
|             return INVALID_GENERATED_MAPPING; | ||||
|         const generated = (map._bySources || (map._bySources = buildBySources(decodedMappings(map), (map._bySourceMemos = sources.map(memoizedState))))); | ||||
|         const memos = map._bySourceMemos; | ||||
|         const segments = generated[sourceIndex][line]; | ||||
|         if (segments == null) | ||||
|             return INVALID_GENERATED_MAPPING; | ||||
|         const segment = traceSegmentInternal(segments, memos[sourceIndex], line, column, bias || GREATEST_LOWER_BOUND); | ||||
|         if (segment == null) | ||||
|             return INVALID_GENERATED_MAPPING; | ||||
|         return { | ||||
|             line: segment[REV_GENERATED_LINE] + 1, | ||||
|             column: segment[REV_GENERATED_COLUMN], | ||||
|         }; | ||||
|     }; | ||||
|     eachMapping = (map, cb) => { | ||||
|         const decoded = decodedMappings(map); | ||||
|         const { names, resolvedSources } = map; | ||||
|         for (let i = 0; i < decoded.length; i++) { | ||||
|             const line = decoded[i]; | ||||
|             for (let j = 0; j < line.length; j++) { | ||||
|                 const seg = line[j]; | ||||
|                 const generatedLine = i + 1; | ||||
|                 const generatedColumn = seg[0]; | ||||
|                 let source = null; | ||||
|                 let originalLine = null; | ||||
|                 let originalColumn = null; | ||||
|                 let name = null; | ||||
|                 if (seg.length !== 1) { | ||||
|                     source = resolvedSources[seg[1]]; | ||||
|                     originalLine = seg[2] + 1; | ||||
|                     originalColumn = seg[3]; | ||||
|                 } | ||||
|                 if (seg.length === 5) | ||||
|                     name = names[seg[4]]; | ||||
|                 cb({ | ||||
|                     generatedLine, | ||||
|                     generatedColumn, | ||||
|                     source, | ||||
|                     originalLine, | ||||
|                     originalColumn, | ||||
|                     name, | ||||
|                 }); | ||||
|             } | ||||
|         } | ||||
|     }; | ||||
|     presortedDecodedMap = (map, mapUrl) => { | ||||
|         const clone = Object.assign({}, map); | ||||
|         clone.mappings = []; | ||||
|         const tracer = new TraceMap(clone, mapUrl); | ||||
|         tracer._decoded = map.mappings; | ||||
|         return tracer; | ||||
|     }; | ||||
|     decodedMap = (map) => { | ||||
|         return { | ||||
|             version: 3, | ||||
|             file: map.file, | ||||
|             names: map.names, | ||||
|             sourceRoot: map.sourceRoot, | ||||
|             sources: map.sources, | ||||
|             sourcesContent: map.sourcesContent, | ||||
|             mappings: decodedMappings(map), | ||||
|         }; | ||||
|     }; | ||||
|     encodedMap = (map) => { | ||||
|         return { | ||||
|             version: 3, | ||||
|             file: map.file, | ||||
|             names: map.names, | ||||
|             sourceRoot: map.sourceRoot, | ||||
|             sources: map.sources, | ||||
|             sourcesContent: map.sourcesContent, | ||||
|             mappings: encodedMappings(map), | ||||
|         }; | ||||
|     }; | ||||
| })(); | ||||
| function traceSegmentInternal(segments, memo, line, column, bias) { | ||||
|     let index = memoizedBinarySearch(segments, column, memo, line); | ||||
|     if (found) { | ||||
|         index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index); | ||||
|     } | ||||
|     else if (bias === LEAST_UPPER_BOUND) | ||||
|         index++; | ||||
|     if (index === -1 || index === segments.length) | ||||
|         return null; | ||||
|     return segments[index]; | ||||
| } | ||||
|  | ||||
| export { AnyMap, GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap, decodedMap, decodedMappings, eachMapping, encodedMap, encodedMappings, generatedPositionFor, originalPositionFor, presortedDecodedMap, traceSegment }; | ||||
| //# sourceMappingURL=trace-mapping.mjs.map | ||||
							
								
								
									
										1
									
								
								node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										528
									
								
								node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										528
									
								
								node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,528 @@ | ||||
| (function (global, factory) { | ||||
|     typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@jridgewell/sourcemap-codec'), require('@jridgewell/resolve-uri')) : | ||||
|     typeof define === 'function' && define.amd ? define(['exports', '@jridgewell/sourcemap-codec', '@jridgewell/resolve-uri'], factory) : | ||||
|     (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.traceMapping = {}, global.sourcemapCodec, global.resolveURI)); | ||||
| })(this, (function (exports, sourcemapCodec, resolveUri) { 'use strict'; | ||||
|  | ||||
|     function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||||
|  | ||||
|     var resolveUri__default = /*#__PURE__*/_interopDefaultLegacy(resolveUri); | ||||
|  | ||||
|     function resolve(input, base) { | ||||
|         // The base is always treated as a directory, if it's not empty. | ||||
|         // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327 | ||||
|         // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401 | ||||
|         if (base && !base.endsWith('/')) | ||||
|             base += '/'; | ||||
|         return resolveUri__default["default"](input, base); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Removes everything after the last "/", but leaves the slash. | ||||
|      */ | ||||
|     function stripFilename(path) { | ||||
|         if (!path) | ||||
|             return ''; | ||||
|         const index = path.lastIndexOf('/'); | ||||
|         return path.slice(0, index + 1); | ||||
|     } | ||||
|  | ||||
|     const COLUMN = 0; | ||||
|     const SOURCES_INDEX = 1; | ||||
|     const SOURCE_LINE = 2; | ||||
|     const SOURCE_COLUMN = 3; | ||||
|     const NAMES_INDEX = 4; | ||||
|     const REV_GENERATED_LINE = 1; | ||||
|     const REV_GENERATED_COLUMN = 2; | ||||
|  | ||||
|     function maybeSort(mappings, owned) { | ||||
|         const unsortedIndex = nextUnsortedSegmentLine(mappings, 0); | ||||
|         if (unsortedIndex === mappings.length) | ||||
|             return mappings; | ||||
|         // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If | ||||
|         // not, we do not want to modify the consumer's input array. | ||||
|         if (!owned) | ||||
|             mappings = mappings.slice(); | ||||
|         for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) { | ||||
|             mappings[i] = sortSegments(mappings[i], owned); | ||||
|         } | ||||
|         return mappings; | ||||
|     } | ||||
|     function nextUnsortedSegmentLine(mappings, start) { | ||||
|         for (let i = start; i < mappings.length; i++) { | ||||
|             if (!isSorted(mappings[i])) | ||||
|                 return i; | ||||
|         } | ||||
|         return mappings.length; | ||||
|     } | ||||
|     function isSorted(line) { | ||||
|         for (let j = 1; j < line.length; j++) { | ||||
|             if (line[j][COLUMN] < line[j - 1][COLUMN]) { | ||||
|                 return false; | ||||
|             } | ||||
|         } | ||||
|         return true; | ||||
|     } | ||||
|     function sortSegments(line, owned) { | ||||
|         if (!owned) | ||||
|             line = line.slice(); | ||||
|         return line.sort(sortComparator); | ||||
|     } | ||||
|     function sortComparator(a, b) { | ||||
|         return a[COLUMN] - b[COLUMN]; | ||||
|     } | ||||
|  | ||||
|     let found = false; | ||||
|     /** | ||||
|      * A binary search implementation that returns the index if a match is found. | ||||
|      * If no match is found, then the left-index (the index associated with the item that comes just | ||||
|      * before the desired index) is returned. To maintain proper sort order, a splice would happen at | ||||
|      * the next index: | ||||
|      * | ||||
|      * ```js | ||||
|      * const array = [1, 3]; | ||||
|      * const needle = 2; | ||||
|      * const index = binarySearch(array, needle, (item, needle) => item - needle); | ||||
|      * | ||||
|      * assert.equal(index, 0); | ||||
|      * array.splice(index + 1, 0, needle); | ||||
|      * assert.deepEqual(array, [1, 2, 3]); | ||||
|      * ``` | ||||
|      */ | ||||
|     function binarySearch(haystack, needle, low, high) { | ||||
|         while (low <= high) { | ||||
|             const mid = low + ((high - low) >> 1); | ||||
|             const cmp = haystack[mid][COLUMN] - needle; | ||||
|             if (cmp === 0) { | ||||
|                 found = true; | ||||
|                 return mid; | ||||
|             } | ||||
|             if (cmp < 0) { | ||||
|                 low = mid + 1; | ||||
|             } | ||||
|             else { | ||||
|                 high = mid - 1; | ||||
|             } | ||||
|         } | ||||
|         found = false; | ||||
|         return low - 1; | ||||
|     } | ||||
|     function upperBound(haystack, needle, index) { | ||||
|         for (let i = index + 1; i < haystack.length; i++, index++) { | ||||
|             if (haystack[i][COLUMN] !== needle) | ||||
|                 break; | ||||
|         } | ||||
|         return index; | ||||
|     } | ||||
|     function lowerBound(haystack, needle, index) { | ||||
|         for (let i = index - 1; i >= 0; i--, index--) { | ||||
|             if (haystack[i][COLUMN] !== needle) | ||||
|                 break; | ||||
|         } | ||||
|         return index; | ||||
|     } | ||||
|     function memoizedState() { | ||||
|         return { | ||||
|             lastKey: -1, | ||||
|             lastNeedle: -1, | ||||
|             lastIndex: -1, | ||||
|         }; | ||||
|     } | ||||
|     /** | ||||
|      * This overly complicated beast is just to record the last tested line/column and the resulting | ||||
|      * index, allowing us to skip a few tests if mappings are monotonically increasing. | ||||
|      */ | ||||
|     function memoizedBinarySearch(haystack, needle, state, key) { | ||||
|         const { lastKey, lastNeedle, lastIndex } = state; | ||||
|         let low = 0; | ||||
|         let high = haystack.length - 1; | ||||
|         if (key === lastKey) { | ||||
|             if (needle === lastNeedle) { | ||||
|                 found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle; | ||||
|                 return lastIndex; | ||||
|             } | ||||
|             if (needle >= lastNeedle) { | ||||
|                 // lastIndex may be -1 if the previous needle was not found. | ||||
|                 low = lastIndex === -1 ? 0 : lastIndex; | ||||
|             } | ||||
|             else { | ||||
|                 high = lastIndex; | ||||
|             } | ||||
|         } | ||||
|         state.lastKey = key; | ||||
|         state.lastNeedle = needle; | ||||
|         return (state.lastIndex = binarySearch(haystack, needle, low, high)); | ||||
|     } | ||||
|  | ||||
|     // Rebuilds the original source files, with mappings that are ordered by source line/column instead | ||||
|     // of generated line/column. | ||||
|     function buildBySources(decoded, memos) { | ||||
|         const sources = memos.map(buildNullArray); | ||||
|         for (let i = 0; i < decoded.length; i++) { | ||||
|             const line = decoded[i]; | ||||
|             for (let j = 0; j < line.length; j++) { | ||||
|                 const seg = line[j]; | ||||
|                 if (seg.length === 1) | ||||
|                     continue; | ||||
|                 const sourceIndex = seg[SOURCES_INDEX]; | ||||
|                 const sourceLine = seg[SOURCE_LINE]; | ||||
|                 const sourceColumn = seg[SOURCE_COLUMN]; | ||||
|                 const originalSource = sources[sourceIndex]; | ||||
|                 const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = [])); | ||||
|                 const memo = memos[sourceIndex]; | ||||
|                 // The binary search either found a match, or it found the left-index just before where the | ||||
|                 // segment should go. Either way, we want to insert after that. And there may be multiple | ||||
|                 // generated segments associated with an original location, so there may need to move several | ||||
|                 // indexes before we find where we need to insert. | ||||
|                 const index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine)); | ||||
|                 insert(originalLine, (memo.lastIndex = index + 1), [sourceColumn, i, seg[COLUMN]]); | ||||
|             } | ||||
|         } | ||||
|         return sources; | ||||
|     } | ||||
|     function insert(array, index, value) { | ||||
|         for (let i = array.length; i > index; i--) { | ||||
|             array[i] = array[i - 1]; | ||||
|         } | ||||
|         array[index] = value; | ||||
|     } | ||||
|     // Null arrays allow us to use ordered index keys without actually allocating contiguous memory like | ||||
|     // a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations. | ||||
|     // Numeric properties on objects are magically sorted in ascending order by the engine regardless of | ||||
|     // the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending | ||||
|     // order when iterating with for-in. | ||||
|     function buildNullArray() { | ||||
|         return { __proto__: null }; | ||||
|     } | ||||
|  | ||||
|     const AnyMap = function (map, mapUrl) { | ||||
|         const parsed = typeof map === 'string' ? JSON.parse(map) : map; | ||||
|         if (!('sections' in parsed)) | ||||
|             return new TraceMap(parsed, mapUrl); | ||||
|         const mappings = []; | ||||
|         const sources = []; | ||||
|         const sourcesContent = []; | ||||
|         const names = []; | ||||
|         const { sections } = parsed; | ||||
|         let i = 0; | ||||
|         for (; i < sections.length - 1; i++) { | ||||
|             const no = sections[i + 1].offset; | ||||
|             addSection(sections[i], mapUrl, mappings, sources, sourcesContent, names, no.line, no.column); | ||||
|         } | ||||
|         if (sections.length > 0) { | ||||
|             addSection(sections[i], mapUrl, mappings, sources, sourcesContent, names, Infinity, Infinity); | ||||
|         } | ||||
|         const joined = { | ||||
|             version: 3, | ||||
|             file: parsed.file, | ||||
|             names, | ||||
|             sources, | ||||
|             sourcesContent, | ||||
|             mappings, | ||||
|         }; | ||||
|         return exports.presortedDecodedMap(joined); | ||||
|     }; | ||||
|     function addSection(section, mapUrl, mappings, sources, sourcesContent, names, stopLine, stopColumn) { | ||||
|         const map = AnyMap(section.map, mapUrl); | ||||
|         const { line: lineOffset, column: columnOffset } = section.offset; | ||||
|         const sourcesOffset = sources.length; | ||||
|         const namesOffset = names.length; | ||||
|         const decoded = exports.decodedMappings(map); | ||||
|         const { resolvedSources } = map; | ||||
|         append(sources, resolvedSources); | ||||
|         append(sourcesContent, map.sourcesContent || fillSourcesContent(resolvedSources.length)); | ||||
|         append(names, map.names); | ||||
|         // If this section jumps forwards several lines, we need to add lines to the output mappings catch up. | ||||
|         for (let i = mappings.length; i <= lineOffset; i++) | ||||
|             mappings.push([]); | ||||
|         // We can only add so many lines before we step into the range that the next section's map | ||||
|         // controls. When we get to the last line, then we'll start checking the segments to see if | ||||
|         // they've crossed into the column range. | ||||
|         const stopI = stopLine - lineOffset; | ||||
|         const len = Math.min(decoded.length, stopI + 1); | ||||
|         for (let i = 0; i < len; i++) { | ||||
|             const line = decoded[i]; | ||||
|             // On the 0th loop, the line will already exist due to a previous section, or the line catch up | ||||
|             // loop above. | ||||
|             const out = i === 0 ? mappings[lineOffset] : (mappings[lineOffset + i] = []); | ||||
|             // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the | ||||
|             // map can be multiple lines), it doesn't. | ||||
|             const cOffset = i === 0 ? columnOffset : 0; | ||||
|             for (let j = 0; j < line.length; j++) { | ||||
|                 const seg = line[j]; | ||||
|                 const column = cOffset + seg[COLUMN]; | ||||
|                 // If this segment steps into the column range that the next section's map controls, we need | ||||
|                 // to stop early. | ||||
|                 if (i === stopI && column >= stopColumn) | ||||
|                     break; | ||||
|                 if (seg.length === 1) { | ||||
|                     out.push([column]); | ||||
|                     continue; | ||||
|                 } | ||||
|                 const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX]; | ||||
|                 const sourceLine = seg[SOURCE_LINE]; | ||||
|                 const sourceColumn = seg[SOURCE_COLUMN]; | ||||
|                 if (seg.length === 4) { | ||||
|                     out.push([column, sourcesIndex, sourceLine, sourceColumn]); | ||||
|                     continue; | ||||
|                 } | ||||
|                 out.push([column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     function append(arr, other) { | ||||
|         for (let i = 0; i < other.length; i++) | ||||
|             arr.push(other[i]); | ||||
|     } | ||||
|     // Sourcemaps don't need to have sourcesContent, and if they don't, we need to create an array of | ||||
|     // equal length to the sources. This is because the sources and sourcesContent are paired arrays, | ||||
|     // where `sourcesContent[i]` is the content of the `sources[i]` file. If we didn't, then joined | ||||
|     // sourcemap would desynchronize the sources/contents. | ||||
|     function fillSourcesContent(len) { | ||||
|         const sourcesContent = []; | ||||
|         for (let i = 0; i < len; i++) | ||||
|             sourcesContent[i] = null; | ||||
|         return sourcesContent; | ||||
|     } | ||||
|  | ||||
|     const INVALID_ORIGINAL_MAPPING = Object.freeze({ | ||||
|         source: null, | ||||
|         line: null, | ||||
|         column: null, | ||||
|         name: null, | ||||
|     }); | ||||
|     const INVALID_GENERATED_MAPPING = Object.freeze({ | ||||
|         line: null, | ||||
|         column: null, | ||||
|     }); | ||||
|     const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)'; | ||||
|     const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)'; | ||||
|     const LEAST_UPPER_BOUND = -1; | ||||
|     const GREATEST_LOWER_BOUND = 1; | ||||
|     /** | ||||
|      * Returns the encoded (VLQ string) form of the SourceMap's mappings field. | ||||
|      */ | ||||
|     exports.encodedMappings = void 0; | ||||
|     /** | ||||
|      * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field. | ||||
|      */ | ||||
|     exports.decodedMappings = void 0; | ||||
|     /** | ||||
|      * A low-level API to find the segment associated with a generated line/column (think, from a | ||||
|      * stack trace). Line and column here are 0-based, unlike `originalPositionFor`. | ||||
|      */ | ||||
|     exports.traceSegment = void 0; | ||||
|     /** | ||||
|      * A higher-level API to find the source/line/column associated with a generated line/column | ||||
|      * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in | ||||
|      * `source-map` library. | ||||
|      */ | ||||
|     exports.originalPositionFor = void 0; | ||||
|     /** | ||||
|      * Finds the source/line/column directly after the mapping returned by originalPositionFor, provided | ||||
|      * the found mapping is from the same source and line as the originalPositionFor mapping. | ||||
|      * | ||||
|      * Eg, in the code `let id = 1`, `originalPositionAfter` could find the mapping associated with `1` | ||||
|      * using the same needle that would return `id` when calling `originalPositionFor`. | ||||
|      */ | ||||
|     exports.generatedPositionFor = void 0; | ||||
|     /** | ||||
|      * Iterates each mapping in generated position order. | ||||
|      */ | ||||
|     exports.eachMapping = void 0; | ||||
|     /** | ||||
|      * A helper that skips sorting of the input map's mappings array, which can be expensive for larger | ||||
|      * maps. | ||||
|      */ | ||||
|     exports.presortedDecodedMap = void 0; | ||||
|     /** | ||||
|      * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects | ||||
|      * a sourcemap, or to JSON.stringify. | ||||
|      */ | ||||
|     exports.decodedMap = void 0; | ||||
|     /** | ||||
|      * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects | ||||
|      * a sourcemap, or to JSON.stringify. | ||||
|      */ | ||||
|     exports.encodedMap = void 0; | ||||
|     class TraceMap { | ||||
|         constructor(map, mapUrl) { | ||||
|             this._decodedMemo = memoizedState(); | ||||
|             this._bySources = undefined; | ||||
|             this._bySourceMemos = undefined; | ||||
|             const isString = typeof map === 'string'; | ||||
|             if (!isString && map.constructor === TraceMap) | ||||
|                 return map; | ||||
|             const parsed = (isString ? JSON.parse(map) : map); | ||||
|             const { version, file, names, sourceRoot, sources, sourcesContent } = parsed; | ||||
|             this.version = version; | ||||
|             this.file = file; | ||||
|             this.names = names; | ||||
|             this.sourceRoot = sourceRoot; | ||||
|             this.sources = sources; | ||||
|             this.sourcesContent = sourcesContent; | ||||
|             if (sourceRoot || mapUrl) { | ||||
|                 const from = resolve(sourceRoot || '', stripFilename(mapUrl)); | ||||
|                 this.resolvedSources = sources.map((s) => resolve(s || '', from)); | ||||
|             } | ||||
|             else { | ||||
|                 this.resolvedSources = sources.map((s) => s || ''); | ||||
|             } | ||||
|             const { mappings } = parsed; | ||||
|             if (typeof mappings === 'string') { | ||||
|                 this._encoded = mappings; | ||||
|                 this._decoded = undefined; | ||||
|             } | ||||
|             else { | ||||
|                 this._encoded = undefined; | ||||
|                 this._decoded = maybeSort(mappings, isString); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     (() => { | ||||
|         exports.encodedMappings = (map) => { | ||||
|             var _a; | ||||
|             return ((_a = map._encoded) !== null && _a !== void 0 ? _a : (map._encoded = sourcemapCodec.encode(map._decoded))); | ||||
|         }; | ||||
|         exports.decodedMappings = (map) => { | ||||
|             return (map._decoded || (map._decoded = sourcemapCodec.decode(map._encoded))); | ||||
|         }; | ||||
|         exports.traceSegment = (map, line, column) => { | ||||
|             const decoded = exports.decodedMappings(map); | ||||
|             // It's common for parent source maps to have pointers to lines that have no | ||||
|             // mapping (like a "//# sourceMappingURL=") at the end of the child file. | ||||
|             if (line >= decoded.length) | ||||
|                 return null; | ||||
|             return traceSegmentInternal(decoded[line], map._decodedMemo, line, column, GREATEST_LOWER_BOUND); | ||||
|         }; | ||||
|         exports.originalPositionFor = (map, { line, column, bias }) => { | ||||
|             line--; | ||||
|             if (line < 0) | ||||
|                 throw new Error(LINE_GTR_ZERO); | ||||
|             if (column < 0) | ||||
|                 throw new Error(COL_GTR_EQ_ZERO); | ||||
|             const decoded = exports.decodedMappings(map); | ||||
|             // It's common for parent source maps to have pointers to lines that have no | ||||
|             // mapping (like a "//# sourceMappingURL=") at the end of the child file. | ||||
|             if (line >= decoded.length) | ||||
|                 return INVALID_ORIGINAL_MAPPING; | ||||
|             const segment = traceSegmentInternal(decoded[line], map._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND); | ||||
|             if (segment == null) | ||||
|                 return INVALID_ORIGINAL_MAPPING; | ||||
|             if (segment.length == 1) | ||||
|                 return INVALID_ORIGINAL_MAPPING; | ||||
|             const { names, resolvedSources } = map; | ||||
|             return { | ||||
|                 source: resolvedSources[segment[SOURCES_INDEX]], | ||||
|                 line: segment[SOURCE_LINE] + 1, | ||||
|                 column: segment[SOURCE_COLUMN], | ||||
|                 name: segment.length === 5 ? names[segment[NAMES_INDEX]] : null, | ||||
|             }; | ||||
|         }; | ||||
|         exports.generatedPositionFor = (map, { source, line, column, bias }) => { | ||||
|             line--; | ||||
|             if (line < 0) | ||||
|                 throw new Error(LINE_GTR_ZERO); | ||||
|             if (column < 0) | ||||
|                 throw new Error(COL_GTR_EQ_ZERO); | ||||
|             const { sources, resolvedSources } = map; | ||||
|             let sourceIndex = sources.indexOf(source); | ||||
|             if (sourceIndex === -1) | ||||
|                 sourceIndex = resolvedSources.indexOf(source); | ||||
|             if (sourceIndex === -1) | ||||
|                 return INVALID_GENERATED_MAPPING; | ||||
|             const generated = (map._bySources || (map._bySources = buildBySources(exports.decodedMappings(map), (map._bySourceMemos = sources.map(memoizedState))))); | ||||
|             const memos = map._bySourceMemos; | ||||
|             const segments = generated[sourceIndex][line]; | ||||
|             if (segments == null) | ||||
|                 return INVALID_GENERATED_MAPPING; | ||||
|             const segment = traceSegmentInternal(segments, memos[sourceIndex], line, column, bias || GREATEST_LOWER_BOUND); | ||||
|             if (segment == null) | ||||
|                 return INVALID_GENERATED_MAPPING; | ||||
|             return { | ||||
|                 line: segment[REV_GENERATED_LINE] + 1, | ||||
|                 column: segment[REV_GENERATED_COLUMN], | ||||
|             }; | ||||
|         }; | ||||
|         exports.eachMapping = (map, cb) => { | ||||
|             const decoded = exports.decodedMappings(map); | ||||
|             const { names, resolvedSources } = map; | ||||
|             for (let i = 0; i < decoded.length; i++) { | ||||
|                 const line = decoded[i]; | ||||
|                 for (let j = 0; j < line.length; j++) { | ||||
|                     const seg = line[j]; | ||||
|                     const generatedLine = i + 1; | ||||
|                     const generatedColumn = seg[0]; | ||||
|                     let source = null; | ||||
|                     let originalLine = null; | ||||
|                     let originalColumn = null; | ||||
|                     let name = null; | ||||
|                     if (seg.length !== 1) { | ||||
|                         source = resolvedSources[seg[1]]; | ||||
|                         originalLine = seg[2] + 1; | ||||
|                         originalColumn = seg[3]; | ||||
|                     } | ||||
|                     if (seg.length === 5) | ||||
|                         name = names[seg[4]]; | ||||
|                     cb({ | ||||
|                         generatedLine, | ||||
|                         generatedColumn, | ||||
|                         source, | ||||
|                         originalLine, | ||||
|                         originalColumn, | ||||
|                         name, | ||||
|                     }); | ||||
|                 } | ||||
|             } | ||||
|         }; | ||||
|         exports.presortedDecodedMap = (map, mapUrl) => { | ||||
|             const clone = Object.assign({}, map); | ||||
|             clone.mappings = []; | ||||
|             const tracer = new TraceMap(clone, mapUrl); | ||||
|             tracer._decoded = map.mappings; | ||||
|             return tracer; | ||||
|         }; | ||||
|         exports.decodedMap = (map) => { | ||||
|             return { | ||||
|                 version: 3, | ||||
|                 file: map.file, | ||||
|                 names: map.names, | ||||
|                 sourceRoot: map.sourceRoot, | ||||
|                 sources: map.sources, | ||||
|                 sourcesContent: map.sourcesContent, | ||||
|                 mappings: exports.decodedMappings(map), | ||||
|             }; | ||||
|         }; | ||||
|         exports.encodedMap = (map) => { | ||||
|             return { | ||||
|                 version: 3, | ||||
|                 file: map.file, | ||||
|                 names: map.names, | ||||
|                 sourceRoot: map.sourceRoot, | ||||
|                 sources: map.sources, | ||||
|                 sourcesContent: map.sourcesContent, | ||||
|                 mappings: exports.encodedMappings(map), | ||||
|             }; | ||||
|         }; | ||||
|     })(); | ||||
|     function traceSegmentInternal(segments, memo, line, column, bias) { | ||||
|         let index = memoizedBinarySearch(segments, column, memo, line); | ||||
|         if (found) { | ||||
|             index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index); | ||||
|         } | ||||
|         else if (bias === LEAST_UPPER_BOUND) | ||||
|             index++; | ||||
|         if (index === -1 || index === segments.length) | ||||
|             return null; | ||||
|         return segments[index]; | ||||
|     } | ||||
|  | ||||
|     exports.AnyMap = AnyMap; | ||||
|     exports.GREATEST_LOWER_BOUND = GREATEST_LOWER_BOUND; | ||||
|     exports.LEAST_UPPER_BOUND = LEAST_UPPER_BOUND; | ||||
|     exports.TraceMap = TraceMap; | ||||
|  | ||||
|     Object.defineProperty(exports, '__esModule', { value: true }); | ||||
|  | ||||
| })); | ||||
| //# sourceMappingURL=trace-mapping.umd.js.map | ||||
							
								
								
									
										1
									
								
								node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										8
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| import { TraceMap } from './trace-mapping'; | ||||
| import type { SectionedSourceMapInput } from './types'; | ||||
| declare type AnyMap = { | ||||
|     new (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap; | ||||
|     (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap; | ||||
| }; | ||||
| export declare const AnyMap: AnyMap; | ||||
| export {}; | ||||
							
								
								
									
										32
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment'; | ||||
| export declare type MemoState = { | ||||
|     lastKey: number; | ||||
|     lastNeedle: number; | ||||
|     lastIndex: number; | ||||
| }; | ||||
| export declare let found: boolean; | ||||
| /** | ||||
|  * A binary search implementation that returns the index if a match is found. | ||||
|  * If no match is found, then the left-index (the index associated with the item that comes just | ||||
|  * before the desired index) is returned. To maintain proper sort order, a splice would happen at | ||||
|  * the next index: | ||||
|  * | ||||
|  * ```js | ||||
|  * const array = [1, 3]; | ||||
|  * const needle = 2; | ||||
|  * const index = binarySearch(array, needle, (item, needle) => item - needle); | ||||
|  * | ||||
|  * assert.equal(index, 0); | ||||
|  * array.splice(index + 1, 0, needle); | ||||
|  * assert.deepEqual(array, [1, 2, 3]); | ||||
|  * ``` | ||||
|  */ | ||||
| export declare function binarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, low: number, high: number): number; | ||||
| export declare function upperBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number; | ||||
| export declare function lowerBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number; | ||||
| export declare function memoizedState(): MemoState; | ||||
| /** | ||||
|  * This overly complicated beast is just to record the last tested line/column and the resulting | ||||
|  * index, allowing us to skip a few tests if mappings are monotonically increasing. | ||||
|  */ | ||||
| export declare function memoizedBinarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, state: MemoState, key: number): number; | ||||
							
								
								
									
										7
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment'; | ||||
| import type { MemoState } from './binary-search'; | ||||
| export declare type Source = { | ||||
|     __proto__: null; | ||||
|     [line: number]: Exclude<ReverseSegment, [number]>[]; | ||||
| }; | ||||
| export default function buildBySources(decoded: readonly SourceMapSegment[][], memos: MemoState[]): Source[]; | ||||
							
								
								
									
										1
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| export default function resolve(input: string, base: string | undefined): string; | ||||
							
								
								
									
										2
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| import type { SourceMapSegment } from './sourcemap-segment'; | ||||
| export default function maybeSort(mappings: SourceMapSegment[][], owned: boolean): SourceMapSegment[][]; | ||||
							
								
								
									
										16
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| declare type GeneratedColumn = number; | ||||
| declare type SourcesIndex = number; | ||||
| declare type SourceLine = number; | ||||
| declare type SourceColumn = number; | ||||
| declare type NamesIndex = number; | ||||
| declare type GeneratedLine = number; | ||||
| export declare type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; | ||||
| export declare type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn]; | ||||
| export declare const COLUMN = 0; | ||||
| export declare const SOURCES_INDEX = 1; | ||||
| export declare const SOURCE_LINE = 2; | ||||
| export declare const SOURCE_COLUMN = 3; | ||||
| export declare const NAMES_INDEX = 4; | ||||
| export declare const REV_GENERATED_LINE = 1; | ||||
| export declare const REV_GENERATED_COLUMN = 2; | ||||
| export {}; | ||||
							
								
								
									
										4
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| /** | ||||
|  * Removes everything after the last "/", but leaves the slash. | ||||
|  */ | ||||
| export default function stripFilename(path: string | undefined | null): string; | ||||
							
								
								
									
										70
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| import type { SourceMapSegment } from './sourcemap-segment'; | ||||
| import type { SourceMapV3, DecodedSourceMap, EncodedSourceMap, InvalidOriginalMapping, OriginalMapping, InvalidGeneratedMapping, GeneratedMapping, SourceMapInput, Needle, SourceNeedle, SourceMap, EachMapping } from './types'; | ||||
| export type { SourceMapSegment } from './sourcemap-segment'; | ||||
| export type { SourceMapInput, SectionedSourceMapInput, DecodedSourceMap, EncodedSourceMap, SectionedSourceMap, InvalidOriginalMapping, OriginalMapping as Mapping, OriginalMapping, InvalidGeneratedMapping, GeneratedMapping, EachMapping, } from './types'; | ||||
| export declare const LEAST_UPPER_BOUND = -1; | ||||
| export declare const GREATEST_LOWER_BOUND = 1; | ||||
| /** | ||||
|  * Returns the encoded (VLQ string) form of the SourceMap's mappings field. | ||||
|  */ | ||||
| export declare let encodedMappings: (map: TraceMap) => EncodedSourceMap['mappings']; | ||||
| /** | ||||
|  * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field. | ||||
|  */ | ||||
| export declare let decodedMappings: (map: TraceMap) => Readonly<DecodedSourceMap['mappings']>; | ||||
| /** | ||||
|  * A low-level API to find the segment associated with a generated line/column (think, from a | ||||
|  * stack trace). Line and column here are 0-based, unlike `originalPositionFor`. | ||||
|  */ | ||||
| export declare let traceSegment: (map: TraceMap, line: number, column: number) => Readonly<SourceMapSegment> | null; | ||||
| /** | ||||
|  * A higher-level API to find the source/line/column associated with a generated line/column | ||||
|  * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in | ||||
|  * `source-map` library. | ||||
|  */ | ||||
| export declare let originalPositionFor: (map: TraceMap, needle: Needle) => OriginalMapping | InvalidOriginalMapping; | ||||
| /** | ||||
|  * Finds the source/line/column directly after the mapping returned by originalPositionFor, provided | ||||
|  * the found mapping is from the same source and line as the originalPositionFor mapping. | ||||
|  * | ||||
|  * Eg, in the code `let id = 1`, `originalPositionAfter` could find the mapping associated with `1` | ||||
|  * using the same needle that would return `id` when calling `originalPositionFor`. | ||||
|  */ | ||||
| export declare let generatedPositionFor: (map: TraceMap, needle: SourceNeedle) => GeneratedMapping | InvalidGeneratedMapping; | ||||
| /** | ||||
|  * Iterates each mapping in generated position order. | ||||
|  */ | ||||
| export declare let eachMapping: (map: TraceMap, cb: (mapping: EachMapping) => void) => void; | ||||
| /** | ||||
|  * A helper that skips sorting of the input map's mappings array, which can be expensive for larger | ||||
|  * maps. | ||||
|  */ | ||||
| export declare let presortedDecodedMap: (map: DecodedSourceMap, mapUrl?: string) => TraceMap; | ||||
| /** | ||||
|  * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects | ||||
|  * a sourcemap, or to JSON.stringify. | ||||
|  */ | ||||
| export declare let decodedMap: (map: TraceMap) => Omit<DecodedSourceMap, 'mappings'> & { | ||||
|     mappings: readonly SourceMapSegment[][]; | ||||
| }; | ||||
| /** | ||||
|  * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects | ||||
|  * a sourcemap, or to JSON.stringify. | ||||
|  */ | ||||
| export declare let encodedMap: (map: TraceMap) => EncodedSourceMap; | ||||
| export { AnyMap } from './any-map'; | ||||
| export declare class TraceMap implements SourceMap { | ||||
|     version: SourceMapV3['version']; | ||||
|     file: SourceMapV3['file']; | ||||
|     names: SourceMapV3['names']; | ||||
|     sourceRoot: SourceMapV3['sourceRoot']; | ||||
|     sources: SourceMapV3['sources']; | ||||
|     sourcesContent: SourceMapV3['sourcesContent']; | ||||
|     resolvedSources: string[]; | ||||
|     private _encoded; | ||||
|     private _decoded; | ||||
|     private _decodedMemo; | ||||
|     private _bySources; | ||||
|     private _bySourceMemos; | ||||
|     constructor(map: SourceMapInput, mapUrl?: string | null); | ||||
| } | ||||
							
								
								
									
										85
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | ||||
| import type { SourceMapSegment } from './sourcemap-segment'; | ||||
| import type { TraceMap } from './trace-mapping'; | ||||
| export interface SourceMapV3 { | ||||
|     file?: string | null; | ||||
|     names: string[]; | ||||
|     sourceRoot?: string; | ||||
|     sources: (string | null)[]; | ||||
|     sourcesContent?: (string | null)[]; | ||||
|     version: 3; | ||||
| } | ||||
| export interface EncodedSourceMap extends SourceMapV3 { | ||||
|     mappings: string; | ||||
| } | ||||
| export interface DecodedSourceMap extends SourceMapV3 { | ||||
|     mappings: SourceMapSegment[][]; | ||||
| } | ||||
| export interface Section { | ||||
|     offset: { | ||||
|         line: number; | ||||
|         column: number; | ||||
|     }; | ||||
|     map: EncodedSourceMap | DecodedSourceMap | SectionedSourceMap; | ||||
| } | ||||
| export interface SectionedSourceMap { | ||||
|     file?: string | null; | ||||
|     sections: Section[]; | ||||
|     version: 3; | ||||
| } | ||||
| export declare type OriginalMapping = { | ||||
|     source: string | null; | ||||
|     line: number; | ||||
|     column: number; | ||||
|     name: string | null; | ||||
| }; | ||||
| export declare type InvalidOriginalMapping = { | ||||
|     source: null; | ||||
|     line: null; | ||||
|     column: null; | ||||
|     name: null; | ||||
| }; | ||||
| export declare type GeneratedMapping = { | ||||
|     line: number; | ||||
|     column: number; | ||||
| }; | ||||
| export declare type InvalidGeneratedMapping = { | ||||
|     line: null; | ||||
|     column: null; | ||||
| }; | ||||
| export declare type SourceMapInput = string | EncodedSourceMap | DecodedSourceMap | TraceMap; | ||||
| export declare type SectionedSourceMapInput = SourceMapInput | SectionedSourceMap; | ||||
| export declare type Needle = { | ||||
|     line: number; | ||||
|     column: number; | ||||
|     bias?: 1 | -1; | ||||
| }; | ||||
| export declare type SourceNeedle = { | ||||
|     source: string; | ||||
|     line: number; | ||||
|     column: number; | ||||
|     bias?: 1 | -1; | ||||
| }; | ||||
| export declare type EachMapping = { | ||||
|     generatedLine: number; | ||||
|     generatedColumn: number; | ||||
|     source: null; | ||||
|     originalLine: null; | ||||
|     originalColumn: null; | ||||
|     name: null; | ||||
| } | { | ||||
|     generatedLine: number; | ||||
|     generatedColumn: number; | ||||
|     source: string | null; | ||||
|     originalLine: number; | ||||
|     originalColumn: number; | ||||
|     name: string | null; | ||||
| }; | ||||
| export declare abstract class SourceMap { | ||||
|     version: SourceMapV3['version']; | ||||
|     file: SourceMapV3['file']; | ||||
|     names: SourceMapV3['names']; | ||||
|     sourceRoot: SourceMapV3['sourceRoot']; | ||||
|     sources: SourceMapV3['sources']; | ||||
|     sourcesContent: SourceMapV3['sourcesContent']; | ||||
|     resolvedSources: SourceMapV3['sources']; | ||||
| } | ||||
							
								
								
									
										70
									
								
								node_modules/@jridgewell/trace-mapping/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								node_modules/@jridgewell/trace-mapping/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| { | ||||
|   "name": "@jridgewell/trace-mapping", | ||||
|   "version": "0.3.9", | ||||
|   "description": "Trace the original position through a source map", | ||||
|   "keywords": [ | ||||
|     "source", | ||||
|     "map" | ||||
|   ], | ||||
|   "main": "dist/trace-mapping.umd.js", | ||||
|   "module": "dist/trace-mapping.mjs", | ||||
|   "typings": "dist/types/trace-mapping.d.ts", | ||||
|   "files": [ | ||||
|     "dist" | ||||
|   ], | ||||
|   "exports": { | ||||
|     ".": { | ||||
|       "browser": "./dist/trace-mapping.umd.js", | ||||
|       "require": "./dist/trace-mapping.umd.js", | ||||
|       "import": "./dist/trace-mapping.mjs" | ||||
|     }, | ||||
|     "./package.json": "./package.json" | ||||
|   }, | ||||
|   "author": "Justin Ridgewell <justin@ridgewell.name>", | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git+https://github.com/jridgewell/trace-mapping.git" | ||||
|   }, | ||||
|   "license": "MIT", | ||||
|   "scripts": { | ||||
|     "benchmark": "run-s build:rollup benchmark:*", | ||||
|     "benchmark:install": "cd benchmark && npm install", | ||||
|     "benchmark:only": "node benchmark/index.mjs", | ||||
|     "build": "run-s -n build:*", | ||||
|     "build:rollup": "rollup -c rollup.config.js", | ||||
|     "build:ts": "tsc --project tsconfig.build.json", | ||||
|     "lint": "run-s -n lint:*", | ||||
|     "lint:prettier": "npm run test:lint:prettier -- --write", | ||||
|     "lint:ts": "npm run test:lint:ts -- --fix", | ||||
|     "prebuild": "rm -rf dist", | ||||
|     "prepublishOnly": "npm run preversion", | ||||
|     "preversion": "run-s test build", | ||||
|     "test": "run-s -n test:lint test:only", | ||||
|     "test:debug": "ava debug", | ||||
|     "test:lint": "run-s -n test:lint:*", | ||||
|     "test:lint:prettier": "prettier --check '{src,test}/**/*.ts' '**/*.md'", | ||||
|     "test:lint:ts": "eslint '{src,test}/**/*.ts'", | ||||
|     "test:only": "c8 ava", | ||||
|     "test:watch": "ava --watch" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@rollup/plugin-typescript": "8.3.0", | ||||
|     "@typescript-eslint/eslint-plugin": "5.10.0", | ||||
|     "@typescript-eslint/parser": "5.10.0", | ||||
|     "ava": "4.0.1", | ||||
|     "benchmark": "2.1.4", | ||||
|     "c8": "7.11.0", | ||||
|     "esbuild": "0.14.14", | ||||
|     "esbuild-node-loader": "0.6.4", | ||||
|     "eslint": "8.7.0", | ||||
|     "eslint-config-prettier": "8.3.0", | ||||
|     "npm-run-all": "4.1.5", | ||||
|     "prettier": "2.5.1", | ||||
|     "rollup": "2.64.0", | ||||
|     "typescript": "4.5.4" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@jridgewell/resolve-uri": "^3.0.3", | ||||
|     "@jridgewell/sourcemap-codec": "^1.4.10" | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user