UNPKG

@push.rocks/smartdata

Version:

An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.

33 lines (32 loc) 1.15 kB
import { SmartDataDbDoc } from './classes.doc.js'; import * as plugins from './plugins.js'; import { EventEmitter } from 'node:events'; /** * a wrapper for the native mongodb cursor. Exposes better */ /** * Wraps a MongoDB ChangeStream with RxJS and EventEmitter support. */ export declare class SmartdataDbWatcher<T = any> extends EventEmitter { readyDeferred: plugins.smartpromise.Deferred<void>; private changeStream; private rawSubject; /** Emits change documents (or arrays of documents if buffered) */ changeSubject: any; /** * @param changeStreamArg native MongoDB ChangeStream * @param smartdataDbDocArg document class for instance creation * @param opts.bufferTimeMs optional milliseconds to buffer events via RxJS */ constructor(changeStreamArg: plugins.mongodb.ChangeStream<any>, smartdataDbDocArg: typeof SmartDataDbDoc, opts?: { bufferTimeMs?: number; }); /** * Close the change stream, complete the RxJS subject, and remove listeners. */ close(): Promise<void>; /** * Alias for close(), matching README usage */ stop(): Promise<void>; }