@rimbu/hashed
Version:
Immutable HashMap and HashSet implementations for TypeScript
37 lines (36 loc) • 1.35 kB
text/typescript
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 {};