@openhps/core
Version:
Open Hybrid Positioning System - Core component
26 lines • 722 B
JavaScript
import { DataFrame } from '../../data';
import { Node } from '../../Node';
/**
* @category Flow shape
*/
export class FrameCloneNode extends 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 DataFrame();
newFrame.createdTimestamp = frame.createdTimestamp;
frame.getObjects().forEach(object => {
newFrame.addObject(object.clone());
});
return newFrame;
}
}