@socket-mesh/fleximap
Version:
A flexible hash map which supports deep keys.
42 lines (41 loc) • 1.56 kB
TypeScript
type KeyChain = string | number;
export declare class FlexiMap {
length: number;
readonly defaultAsArray: boolean;
private _data;
constructor(object?: any);
getLength(keyChain?: string | string[]): number;
private _getValue;
private _setValue;
private _deleteValue;
private getRaw;
get(keyChain: KeyChain | KeyChain[]): any;
getRange(keyChain: KeyChain | KeyChain[], fromIndex: number, toIndex: number): {
[key: string]: any;
} | any[];
count(keyChain: KeyChain | KeyChain[]): number;
hasImmediateKey(key: KeyChain): boolean;
hasKey(keyChain: KeyChain | KeyChain[]): boolean;
hasType(keyChain: KeyChain | KeyChain[], type: Function): boolean;
hasValue(keyChain: KeyChain | KeyChain[], value: any): boolean;
hasObject(keyChain: KeyChain | KeyChain[], object: any): boolean;
set(keyChain: KeyChain | KeyChain[], value: any): any;
add(keyChain: KeyChain | KeyChain[], value: any): number;
concat(keyChain: KeyChain | KeyChain[], value: any): {
key: any;
} | any[];
private _remove;
remove(keyChain: KeyChain | KeyChain[]): any;
private _splice;
splice(keyChain: KeyChain | KeyChain[], index: number, count: number, ...items: any[]): any[];
removeRange(keyChain: KeyChain | KeyChain[], fromIndex: number, toIndex: number): any[] | {
[key: string]: any;
};
pop(keyChain: KeyChain | KeyChain[]): any[];
removeAll(): void;
private _arrayToObject;
getAll(): any[] | {
[key: string]: any;
};
}
export {};