vasille
Version:
The same framework which is designed to build bulletproof frontends (core library).
34 lines (33 loc) • 903 B
TypeScript
import { Reactive } from "../core/core.js";
import { Listener } from "./listener.js";
import { ListenableModel } from "./model.js";
/**
* A `Set` based model
* @class SetModel
* @extends Set
* @implements ListenableModel
*/
export declare class SetModel<T> extends Set<T> implements ListenableModel<T, T> {
listener: Listener<T, T>;
/**
* Constructs a set model based on a set
*/
constructor(set?: T[], ctx?: Reactive);
/**
* Calls `Set.add` and notify abut changes
* @param value {*} value
* @return {this} a pointer to this
*/
add(value: T): this;
/**
* Calls `Set.clear` and notify abut changes
*/
clear(): void;
/**
* Calls `Set.delete` and notify abut changes
* @param value {*}
* @return {boolean} true if a value was deleted, otherwise false
*/
delete(value: T): boolean;
destroy(): void;
}