kuzzle-sdk
Version:
Official Javascript SDK for Kuzzle
43 lines • 1.52 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.RealtimeDocumentSearchResult = void 0;
const SearchResultBase_1 = require("./SearchResultBase");
/**
* Represents a SearchResult containing realtime documents.
*/
class RealtimeDocumentSearchResult extends SearchResultBase_1.SearchResultBase {
constructor(kuzzle, request, options, result, observer) {
super(kuzzle, request, options, result);
this._searchAction = "search";
this._scrollAction = "scroll";
Reflect.defineProperty(this, "observer", {
value: observer,
});
}
/**
* Start observing documents.
*
* This method is called automatically.
*
* @internal
*/
start() {
const { index, collection } = this._request;
const rtDocuments = [];
for (const hit of this.hits) {
rtDocuments.push(this.observer.addDocument(index, collection, hit));
}
this.hits = rtDocuments;
return this.observer.watchCollection(index, collection).then(() => this);
}
next() {
return super.next();
}
_buildNextSearchResult(result) {
const nextSearchResult = new RealtimeDocumentSearchResult(this._kuzzle, this._request, this._options, result, this.observer);
nextSearchResult.fetched += this.fetched;
return nextSearchResult.start();
}
}
exports.RealtimeDocumentSearchResult = RealtimeDocumentSearchResult;
//# sourceMappingURL=RealtimeDocument.js.map
;