UNPKG

@rimbu/hashed

Version:

Immutable HashMap and HashSet implementations for TypeScript

37 lines (36 loc) 1.35 kB
import { TraverseState } from '@rimbu/common'; import { List } from '@rimbu/list'; type GenBlockBuilderEntry<E> = BlockBuilderBase<E> | CollisionBuilderBase<E>; export declare abstract class BlockBuilderBase<E> { abstract source?: undefined | GenSource<E>; abstract _entries?: undefined | E[]; abstract _entrySets?: undefined | GenBlockBuilderEntry<E>[]; abstract get size(): number; get isEmpty(): boolean; forEach(f: (entry: E, index: number, halt: () => void) => void, options?: { state?: TraverseState; }): void; } export declare abstract class CollisionBuilderBase<E> { abstract source?: undefined | { size: number; entries: List.NonEmpty<E>; forEach(f: (entry: E, index: number, halt: () => void) => void, options?: { state?: TraverseState; }): void; }; abstract _entries?: List.Builder<E> | undefined; get size(): number; get entries(): List.Builder<E>; forEach(f: (entry: E, index: number, halt: () => void) => void, options?: { state?: TraverseState; }): void; } export interface GenSource<E> { entries: readonly E[] | null; entrySets: readonly GenBlockBuilderEntry<E>[] | null; forEach(f: (entry: E, index: number, halt: () => void) => void, options?: { state?: TraverseState; }): void; } export {};