UNPKG

vasille

Version:

The same framework which is designed to build bulletproof frontends (core library).

37 lines (36 loc) 1.01 kB
import { Reactive } from "../core/core.js"; import { Listener } from "./listener.js"; import { ListenableModel } from "./model.js"; /** * A `Map` based memory * @class MapModel * @extends Map * @implements ListenableModel */ export declare class MapModel<K, T> extends Map<K, T> implements ListenableModel<K, T> { listener: Listener<T, K>; /** * Constructs a map model * @param map {[*, *][]} input data * @param ctx lifetime context */ constructor(map?: [K, T][], ctx?: Reactive); /** * Calls `Map.clear` and notify about changes */ clear(): void; /** * Calls `Map.delete` and notify abut changes * @param key {*} key * @return {boolean} true if removed something, otherwise false */ delete(key: K): boolean; /** * Calls `Map.set` and notify abut changes * @param key {*} key * @param value {*} value * @return {MapModel} a pointer to this */ set(key: K, value: T): this; destroy(): void; }