UNPKG

@uploadcare/blocks

Version:

Building blocks for Uploadcare products integration

123 lines 2.88 kB
export class TypedCollection { /** * @param {Object} options * @param {Object<string, { type: any; value: any }>} options.typedSchema * @param {String[]} [options.watchList] * @param {(list: string[], added: Set<any>, removed: Set<any>) => void} [options.handler] * @param {String} [options.ctxName] */ constructor(options: { typedSchema: { [x: string]: { type: any; value: any; }; }; watchList?: string[]; handler?: (list: string[], added: Set<any>, removed: Set<any>) => void; ctxName?: string; }); /** * @private * @type {Object<string, { type: any; value: any }>} */ private __typedSchema; /** * @private * @type {String} */ private __ctxId; /** * @private * @type {Data} */ private __data; /** * @private * @type {string[]} */ private __watchList; /** * @private * @type {(list: string[], added: Set<any>, removed: Set<any>) => void} */ private __handler; /** * @private * @type {Object<string, any>} */ private __subsMap; /** * @private * @type {Set} */ private __observers; /** * @private * @type {Set<string>} */ private __items; /** * @private * @type {Set<any>} */ private __removed; /** * @private * @type {Set<any>} */ private __added; /** * @private * @param {String} propName * @param {String} ctxId */ private __notifyObservers; /** @private */ private __observeTimeout; notify(): void; /** @private */ private __notifyTimeout; /** * @param {Object<string, any>} init * @returns {any} */ add(init: { [x: string]: any; }): any; /** * @param {String} id * @returns {TypedData} */ read(id: string): TypedData; /** * @param {String} id * @param {String} propName * @returns {any} */ readProp(id: string, propName: string): any; /** * @template T * @param {String} id * @param {String} propName * @param {T} value */ publishProp<T>(id: string, propName: string, value: T): void; /** @param {String} id */ remove(id: string): void; clearAll(): void; /** @param {Function} handler */ observe(handler: Function): void; /** @param {Function} handler */ unobserve(handler: Function): void; /** * @param {(item: TypedData) => Boolean} checkFn * @returns {String[]} */ findItems(checkFn: (item: TypedData) => boolean): string[]; items(): string[]; get size(): number; destroy(): void; } import { TypedData } from "./TypedData.js"; //# sourceMappingURL=TypedCollection.d.ts.map