UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

38 lines (31 loc) 988 B
import { DataFrame } from '../../data/DataFrame'; import { SourceNode, SourceNodeOptions } from '../SourceNode'; /** * This source node is initialized with an array of data. This data * is popped when pulling from this node. * @category Source node */ export class ListSourceNode<Out extends DataFrame> extends SourceNode<Out> { private _inputData: Out[] = []; constructor(inputData: Out[], options?: SourceNodeOptions) { super(options); this._inputData = inputData; } public get inputData(): Out[] { return this._inputData; } public set inputData(inputData: Out[]) { this._inputData = inputData; } public get size(): number { return this._inputData.length; } public onPull(): Promise<Out> { return new Promise<Out>((resolve) => { if (this._inputData.length !== 0) { resolve(this._inputData.shift()); } resolve(null); }); } }