Sha256: 2c6fed9217b353e2820003cca9a9a1491a9717ae985d2f53bdd120e5f5e6be81

Contents?: true

Size: 1.5 KB

Versions: 15

Compression:

Stored size: 1.5 KB

Contents

import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';
export 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;

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
immosquare-cleaner-0.1.51 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.50 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.49 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.48 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.47 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.46 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.45 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.44 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.43 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.42 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.41 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.40 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
wice_grid-7.1.0 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.39 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
immosquare-cleaner-0.1.38 node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts