UNPKG

@naturalcycles/js-lib

Version:

Standard library for universal (browser + Node.js) javascript

33 lines (32 loc) 1.16 kB
import type { Comparator } from '../types.js'; import { Array2 } from './array2.js'; export interface SortedArrayOptions<T> { /** * Defaults to undefined. * Undefined (default comparator) works well for String keys. * For Number keys - use comparators.numericAsc (or desc), * otherwise sorting will be wrong (lexicographic). */ comparator?: Comparator<T>; } /** * Like Array, but keeps values sorted after every insertion. */ export declare class SortedArray<T> extends Array2<T> { #private; constructor(values?: Iterable<T>, opt?: SortedArrayOptions<T>); push(...values: T[]): number; unshift(...values: T[]): number; splice(start: number, deleteCount?: number, ...items: T[]): T[]; static get [Symbol.species](): ArrayConstructor; get [Symbol.toStringTag](): string; private resort; } export declare class SortedStringArray extends SortedArray<string> { constructor(values?: Iterable<string>); get [Symbol.toStringTag](): string; } export declare class SortedNumberArray extends SortedArray<number> { constructor(values?: Iterable<number>); get [Symbol.toStringTag](): string; }