iopa
Version:
API-first, Internet of Things (IoT) stack for Typescript, official implementation of the Internet Open Protocols Alliance (IOPA) reference pattern
30 lines • 1.21 kB
TypeScript
import type { IMap, IRef } from '@iopa/types';
interface IIopaMap<T> {
get<K extends keyof T>(key: K): T[K];
has<K extends keyof T>(key: K): boolean;
set<K extends keyof T>(key: K, value: T[K]): any;
set(value: IMapInit<any>): any;
default<K extends keyof T>(key: K, valueFn: T[K] | (() => T[K])): T[K];
delete<K extends keyof T>(key: K): boolean;
entries(): [any, any][];
toJSON(): any;
}
export declare type IMapInit<T> = Partial<T> | [keyof T, T[keyof T]][] | IopaMap<T>;
export default class IopaMap<T> implements IMap<T> {
private static readonly _BLACK_LIST_STRINGIFY;
constructor(data?: IMapInit<T>, prevData?: IIopaMap<T>);
get<K extends keyof T>(key: K): T[K];
set(value: IMapInit<T>): void;
set<K extends keyof T>(key: K, value: T[K]): void;
private _loadEntries;
getRef(iRef: IRef<T>): T | undefined;
has<K extends keyof T>(key: K): boolean;
addRef<I extends T>(iRef: IRef<T>, value: I): I;
delete<K extends keyof T>(key: K): boolean;
default<K extends keyof T>(key: K, valueFn: T[K] | (() => T[K])): T[K];
entries(): [any, any][];
toString(): string;
toJSON(): T;
}
export {};
//# sourceMappingURL=map.d.ts.map