PHP 8.2.30
Preview: sort.ts Size: 1.41 KB
/proc/thread-self/root/home/byroehnu/.trash/node_modules11/@jridgewell/trace-mapping/src/sort.ts

import { COLUMN } from './sourcemap-segment';

import type { ReverseSegment, 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);
}

export function sortComparator<T extends SourceMapSegment | ReverseSegment>(a: T, b: T): number {
  return a[COLUMN] - b[COLUMN];
}

Directory Contents

Dirs: 0 × Files: 9

Name Size Perms Modified Actions
2.73 KB lrw-r--r-- 2026-02-28 00:29:02
Edit Download
1.21 KB lrw-r--r-- 2026-02-28 00:29:04
Edit Download
5.29 KB lrw-r--r-- 2026-02-28 00:29:06
Edit Download
699 B lrw-r--r-- 2026-02-28 00:29:06
Edit Download
1.41 KB lrw-r--r-- 2026-02-28 00:29:06
Edit Download
665 B lrw-r--r-- 2026-02-28 00:29:08
Edit Download
253 B lrw-r--r-- 2026-02-28 00:29:08
Edit Download
15.05 KB lrw-r--r-- 2026-02-28 00:29:08
Edit Download
3.09 KB lrw-r--r-- 2026-02-28 00:29:10
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).