@rimbu/base
Version:
Utilities to implement Rimbu collections
34 lines (33 loc) • 2.72 kB
text/typescript
import { TraverseState, Update, type ArrayNonEmpty } from '@rimbu/common';
export declare function _appendNew<T>(array: readonly T[], value: T): ArrayNonEmpty<T>;
export declare function _appendOld<T>(array: readonly T[], value: T): ArrayNonEmpty<T>;
export declare const append: typeof _appendNew;
export declare function concat<T>(first: readonly T[], second: readonly T[]): readonly T[];
export declare function _reverseNew<T>(array: readonly T[], start?: number, end?: number): T[];
export declare function _reverseOld<T>(array: readonly T[], start?: number, end?: number): T[];
export declare const reverse: typeof _reverseNew;
export declare function forEach<T>(array: readonly T[], f: (value: T, index: number, halt: () => void) => void, state?: TraverseState, reversed?: boolean): void;
export declare function map<T, R>(array: readonly T[], f: (value: T, index: number) => R, indexOffset?: number): R[];
export declare function reverseMap<T, R>(array: readonly T[], f: (value: T, index: number) => R, indexOffset?: number): R[];
export declare function _prependNew<T>(array: readonly T[], value: T): ArrayNonEmpty<T>;
export declare function _prependOld<T>(array: readonly T[], value: T): ArrayNonEmpty<T>;
export declare const prepend: typeof _prependNew;
export declare function _lastNew<T>(arr: readonly T[]): T;
export declare function _lastOld<T>(arr: readonly T[]): T;
export declare const last: typeof _lastNew;
export declare function _updateNew<T>(arr: readonly T[], index: number, updater: Update<T>): readonly T[];
export declare function _updateOld<T>(arr: readonly T[], index: number, updater: Update<T>): readonly T[];
export declare const update: typeof _updateNew;
export declare function _modNew<T>(arr: readonly T[], index: number, f: (value: T) => T): readonly T[];
export declare function _modOld<T>(arr: readonly T[], index: number, f: (value: T) => T): readonly T[];
export declare const mod: typeof _modNew;
export declare function _insertNew<T>(arr: readonly T[], index: number, value: T): T[];
export declare function _insertOld<T>(arr: readonly T[], index: number, value: T): T[];
export declare const insert: typeof _insertNew;
export declare function tail<T>(arr: readonly T[]): T[];
export declare function init<T>(arr: readonly T[]): T[];
export declare function _spliceNew<T>(arr: readonly T[], start: number, deleteCount: number, ...items: T[]): T[];
export declare function _spliceOld<T>(arr: readonly T[], start: number, deleteCount: number, ...items: T[]): T[];
export declare const splice: typeof _spliceNew;
export declare function copySparse<T>(arr: readonly T[]): T[];
export declare function mapSparse<T, T2>(arr: readonly T[], f: (value: T, index: number) => T2): T2[];