Add node modules and compiled JavaScript from main
This commit is contained in:
parent
8bccaeaf7c
commit
4181bfdf50
7465 changed files with 1775003 additions and 2 deletions
45
node_modules/@jridgewell/trace-mapping/src/sort.ts
generated
vendored
Normal file
45
node_modules/@jridgewell/trace-mapping/src/sort.ts
generated
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
import { COLUMN } from './sourcemap-segment';
|
||||
|
||||
import type { SourceMapSegment } from './sourcemap-segment';
|
||||
|
||||
export default function maybeSort(
|
||||
mappings: SourceMapSegment[][],
|
||||
owned: boolean,
|
||||
): SourceMapSegment[][] {
|
||||
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: SourceMapSegment[][], start: number): number {
|
||||
for (let i = start; i < mappings.length; i++) {
|
||||
if (!isSorted(mappings[i])) return i;
|
||||
}
|
||||
return mappings.length;
|
||||
}
|
||||
|
||||
function isSorted(line: SourceMapSegment[]): boolean {
|
||||
for (let j = 1; j < line.length; j++) {
|
||||
if (line[j][COLUMN] < line[j - 1][COLUMN]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function sortSegments(line: SourceMapSegment[], owned: boolean): SourceMapSegment[] {
|
||||
if (!owned) line = line.slice();
|
||||
return line.sort(sortComparator);
|
||||
}
|
||||
|
||||
function sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {
|
||||
return a[COLUMN] - b[COLUMN];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue