@typescript-package/map
Version:
A lightweight TypeScript library for enhanced `map` management.
41 lines (40 loc) • 1.29 kB
TypeScript
import { DataCore } from "@typescript-package/data";
/**
* @description
* @export
* @abstract
* @class OnHook
* @template Key
* @template Value
* @template {DataCore<any>} DataType
*/
export declare abstract class MapOnHook<Key, Value, DataType extends DataCore<any>> {
/**
* @description Hook called when the data is cleared.
* @protected
* @param {DataType} data The data holder.
*/
protected onClear(data: DataType): void;
/**
* @description Hook called when a value is deleted.
* @protected
* @param {DataType} data The data holder.
*/
protected onDelete(key: Key, data: DataType): void;
/**
* @description Hook called before the `get` being invoked.
* @protected
* @param {Key} key The key to get the value.
* @param {DataType} data The data holder.
*/
protected onGet(key: Key, data: DataType): void;
/**
* @description Hook called when a value is added.
* @protected
* @param {key} key The key under which set the `value`.
* @param {Type} value The value to set.
* @param {Type} previousValue The previous value.
* @param {DataType} data The data holder.
*/
protected onSet(key: Key, value: Value, previousValue: Value, data: DataType): void;
}