UNPKG

@rimbu/base

Version:

Utilities to implement Rimbu collections

34 lines (33 loc) 2.72 kB
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[];