vasille
Version:
The first Developer eXperience Orientated front-end framework (core library).
35 lines (34 loc) • 900 B
TypeScript
import { Listener } from "./listener.js";
import { ListenableModel } from "./model.js";
/**
* A Map based memory
* @class MapModel
* @extends Map
* @implements IModel
*/
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
*/
constructor(map?: [K, T][]);
/**
* 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;
}