@openhps/core
Version:
Open Hybrid Positioning System - Core component
31 lines • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FrameCloneNode = void 0;
const data_1 = require("../../data");
const Node_1 = require("../../Node");
/**
* @category Flow shape
*/
class FrameCloneNode extends Node_1.Node {
constructor(options) {
super(options);
this.on('push', this._onPush.bind(this));
}
_onPush(frame, options) {
return new Promise((resolve) => {
const newFrame = this.options.repack ? this._repack(frame) : frame.clone();
this.outlets.forEach((outlet) => outlet.push(newFrame, options));
resolve();
});
}
_repack(frame) {
const newFrame = new data_1.DataFrame();
newFrame.createdTimestamp = frame.createdTimestamp;
frame.getObjects().forEach((object) => {
newFrame.addObject(object.clone());
});
return newFrame;
}
}
exports.FrameCloneNode = FrameCloneNode;
//# sourceMappingURL=FrameCloneNode.js.map