aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/@jridgewell/trace-mapping/src/binary-search.ts
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-14 14:46:37 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-14 14:46:37 -0800
commitafa87af01c79a9baa539f2992d32154d2a4739bd (patch)
tree92c7416db734270a2fee1d72ee9cc119379ff8e1 /vanilla/node_modules/@jridgewell/trace-mapping/src/binary-search.ts
parent3b927e84d200402281f68181cd4253bc77e5528d (diff)
downloadneko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.gz
neko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.bz2
neko-afa87af01c79a9baa539f2992d32154d2a4739bd.zip
task: delete vanilla js prototype\n\n- Removed vanilla/ directory and web/dist/vanilla directory\n- Updated Makefile, Dockerfile, and CI workflow to remove vanilla references\n- Cleaned up web/web.go to remove vanilla embed and routes\n- Verified build and tests pass\n\nCloses NK-2tcnmq
Diffstat (limited to 'vanilla/node_modules/@jridgewell/trace-mapping/src/binary-search.ts')
-rw-r--r--vanilla/node_modules/@jridgewell/trace-mapping/src/binary-search.ts115
1 files changed, 0 insertions, 115 deletions
diff --git a/vanilla/node_modules/@jridgewell/trace-mapping/src/binary-search.ts b/vanilla/node_modules/@jridgewell/trace-mapping/src/binary-search.ts
deleted file mode 100644
index c1144ad..0000000
--- a/vanilla/node_modules/@jridgewell/trace-mapping/src/binary-search.ts
+++ /dev/null
@@ -1,115 +0,0 @@
-import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';
-import { COLUMN } from './sourcemap-segment';
-
-export type MemoState = {
- lastKey: number;
- lastNeedle: number;
- lastIndex: number;
-};
-
-export 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]);
- * ```
- */
-export function binarySearch(
- haystack: SourceMapSegment[] | ReverseSegment[],
- needle: number,
- low: number,
- high: number,
-): number {
- 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;
-}
-
-export function upperBound(
- haystack: SourceMapSegment[] | ReverseSegment[],
- needle: number,
- index: number,
-): number {
- for (let i = index + 1; i < haystack.length; index = i++) {
- if (haystack[i][COLUMN] !== needle) break;
- }
- return index;
-}
-
-export function lowerBound(
- haystack: SourceMapSegment[] | ReverseSegment[],
- needle: number,
- index: number,
-): number {
- for (let i = index - 1; i >= 0; index = i--) {
- if (haystack[i][COLUMN] !== needle) break;
- }
- return index;
-}
-
-export function memoizedState(): MemoState {
- 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.
- */
-export function memoizedBinarySearch(
- haystack: SourceMapSegment[] | ReverseSegment[],
- needle: number,
- state: MemoState,
- key: number,
-): number {
- 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));
-}