UNPKG

@orbit/immutable

Version:

Lightweight immutable library used by Orbit.js.

55 lines (54 loc) 1.62 kB
/** * Code based on: https://github.com/mattbierner/hamt * Author: Matt Bierner * MIT license * * Which is based on: https://github.com/exclipy/pdata */ export declare class HAMTMapIterator<T> implements IterableIterator<T> { private v; constructor(v: any); next(): any; [Symbol.iterator](): this; } export interface HAMTMapConfig { keyEq?: Function; hash?: Function; } export declare class HAMTMap { private _map; private _editable; private _edit; private _config; private _root; private _size; constructor(editable?: boolean, edit?: number, config?: HAMTMapConfig, root?: { __hamt_isEmpty: boolean; _modify(edit: any, keyEq: any, shift: any, f: any, h: any, k: any, size: any): any; }, size?: number); get size(): number; setTree(newRoot: any, newSize: number): any; tryGetHash(alt: any, hash: any, key: any): any; tryGet(alt: any, key: any): any; getHash(hash: any, key: any): any; get(key: any, alt?: any): any; hasHash(hash: any, key: any): boolean; has(key: any): boolean; isEmpty(): boolean; modifyHash(hash: any, key: any, f: any): any; modify(key: any, f: any): any; setHash(hash: any, key: any, value: any): any; set(key: any, value: any): any; deleteHash(hash: any, key: any): any; removeHash(hash: any, key: any): any; remove(key: any): any; beginMutation(): any; endMutation(): any; mutate(f: any): any; entries(): any; keys(): any; values(): any; fold(f: any, z: any): any; forEach(f: any): any; [Symbol.iterator](): any; }