@rimbu/sorted
Version:
Immutable SortedMap and SortedSet implementations for TypeScript
28 lines (27 loc) • 1.53 kB
text/typescript
import { RMapBase } from '@rimbu/collection-types/map-custom';
import { Comp } from '@rimbu/common';
import type { SortedMap } from '@rimbu/sorted/map';
import { SortedMapEmpty, SortedMapNode, SortedMapLeaf, SortedMapInner, SortedMapBuilder } from '@rimbu/sorted/map-custom';
export declare class SortedMapContext<UK> extends RMapBase.ContextBase<UK, SortedMap.Types> implements SortedMap.Context<UK> {
readonly blockSizeBits: number;
readonly comp: Comp<UK>;
readonly maxEntries: number;
readonly minEntries: number;
readonly _empty: SortedMap<any, any>;
constructor(blockSizeBits: number, comp: Comp<UK>);
readonly typeTag = "SortedMap";
isNonEmptyInstance(source: any): source is any;
readonly builder: <K extends UK, V>() => SortedMapBuilder<K, V>;
createBuilder<K extends UK, V>(source?: SortedMap<K, V>): SortedMapBuilder<K, V>;
isValidKey(key: any): key is UK;
findIndex(key: UK, entries: readonly (readonly [UK, unknown])[]): number;
leaf<V>(entries: readonly (readonly [UK, V])[]): SortedMapLeaf<UK, V>;
inner<V>(entries: readonly (readonly [UK, V])[], children: readonly SortedMapNode<UK, V>[], size: number): SortedMapInner<UK, V>;
isSortedMapEmpty(obj: any): obj is SortedMapEmpty;
isSortedMapLeaf<K, V>(obj: any): obj is SortedMapLeaf<K, V>;
isSortedMapInner<K, V>(obj: any): obj is SortedMapInner<K, V>;
}
export declare function createSortedMapContext<UK>(options?: {
comp?: Comp<UK>;
blockSizeBits?: number;
}): SortedMap.Context<UK>;