UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

48 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HistorySourceNode = void 0; const data_1 = require("../../data"); const DataFrame_1 = require("../../data/DataFrame"); const SourceNode_1 = require("../SourceNode"); /** * @category Source node */ class HistorySourceNode extends SourceNode_1.SourceNode { constructor(options) { super(options); } onPull(options = { requestedObjects: [] }) { return new Promise((resolve, reject) => { const service = this.model.findDataService(data_1.DataObject); const requestPromises = []; options.requestedObjects.forEach((uid) => { requestPromises.push(new Promise((resolve) => { service .findByUID(uid) .then((object) => { resolve(object); }) .catch(() => { // Ignore resolve(undefined); }); })); }); // Complete service requests Promise.all(requestPromises) .then((objects) => { // Create a new dataframe from these objects const frame = new DataFrame_1.DataFrame(this.source); objects.forEach((object) => { if (object) { frame.addObject(object); } }); resolve(frame); }) .catch(reject); }); } } exports.HistorySourceNode = HistorySourceNode; //# sourceMappingURL=HistorySourceNode.js.map