@itwin/core-bentley
Version:
Bentley JavaScript core components
28 lines • 1.31 kB
TypeScript
/** @packageDocumentation
* @module Collections
*/
import { BeEvent } from "./BeEvent";
/** A standard [Set<T>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) that emits events when its contents change.
* @public
*/
export declare class ObservableSet<T> extends Set<T> {
/** Emitted after `item` is added to this set. */
readonly onAdded: BeEvent<(item: T) => void>;
/** Emitted after `item` is deleted from this set. */
readonly onDeleted: BeEvent<(item: T) => void>;
/** Emitted after this set's contents are cleared. */
readonly onCleared: BeEvent<() => void>;
/** Construct a new ObservableSet.
* @param elements Optional elements with which to populate the new set.
*/
constructor(elements?: Iterable<T> | undefined);
/** Invokes [Set.delete](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/delete), raising
* the [[onDeleted]] event if the item was removed from the set.
*/
delete(item: T): boolean;
/** If this set is not already empty, invokes [Set.clear](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/clear)
* and raises the [[onCleared]] event.
*/
clear(): void;
}
//# sourceMappingURL=ObservableSet.d.ts.map