UNPKG

exthos

Version:

stream processing in nodejs using the power of golang

100 lines 5.46 kB
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var _Route_instances, _Route_inputBroker, _Route_outputBroker, _Route_engine, _Route_stream, _Route_processors, _Route_toStreamConfig; import { Stream } from "../stream/stream.js"; import { proxyPromise } from "../utils/utils.js"; let from = proxyPromise(async function (engine, ...inputs) { let r = new Route(engine, ...inputs); return r; }); class Route { constructor(engine, ...inputs) { _Route_instances.add(this); _Route_inputBroker.set(this, { broker: { inputs: [], }, }); _Route_outputBroker.set(this, { broker: { outputs: [], }, }); _Route_engine.set(this, void 0); _Route_stream.set(this, void 0); _Route_processors.set(this, []); this.batchInput = proxyPromise(async function (batching) { let self = this; __classPrivateFieldGet(self, _Route_inputBroker, "f").broker.batching = Object.assign(Object.assign({}, __classPrivateFieldGet(self, _Route_inputBroker, "f").broker.batching), batching); return self; }); this.batchOutput = proxyPromise(async function (batching) { let self = this; __classPrivateFieldGet(self, _Route_outputBroker, "f").broker.batching = Object.assign(Object.assign({}, __classPrivateFieldGet(self, _Route_outputBroker, "f").broker.batching), batching); return self; }); this.to = proxyPromise(async function (...outputs) { let self = this; __classPrivateFieldGet(self, _Route_outputBroker, "f").broker.outputs = outputs; return self; }); this._via = proxyPromise(async function (...processors) { let self = this; __classPrivateFieldGet(self, _Route_processors, "f").push(...processors); return self; }); this.start = proxyPromise(async function () { let self = this; __classPrivateFieldSet(self, _Route_stream, __classPrivateFieldGet(self, _Route_stream, "f") || new Stream(__classPrivateFieldGet(self, _Route_instances, "m", _Route_toStreamConfig).call(self)), "f"); await __classPrivateFieldGet(self, _Route_engine, "f").start(); await __classPrivateFieldGet(self, _Route_engine, "f").add(__classPrivateFieldGet(self, _Route_stream, "f")); return self; }); this.startAfter = proxyPromise(async function (ms) { let self = this; await new Promise((r) => { setTimeout(r, ms); }); __classPrivateFieldSet(self, _Route_stream, __classPrivateFieldGet(self, _Route_stream, "f") || new Stream(__classPrivateFieldGet(self, _Route_instances, "m", _Route_toStreamConfig).call(self)), "f"); await __classPrivateFieldGet(self, _Route_engine, "f").start(); await __classPrivateFieldGet(self, _Route_engine, "f").add(__classPrivateFieldGet(self, _Route_stream, "f")); return self; }); this.stop = proxyPromise(async function () { let self = this; await __classPrivateFieldGet(self, _Route_engine, "f").remove.bind(__classPrivateFieldGet(self, _Route_engine, "f"))(__classPrivateFieldGet(self, _Route_stream, "f")); return self; }); this.stopAfter = proxyPromise(async function (ms) { let self = this; await new Promise((r) => { setTimeout(r, ms); }); await self.stop(); return self; }); __classPrivateFieldSet(this, _Route_engine, engine, "f"); __classPrivateFieldGet(this, _Route_inputBroker, "f").broker.inputs = inputs; } } _Route_inputBroker = new WeakMap(), _Route_outputBroker = new WeakMap(), _Route_engine = new WeakMap(), _Route_stream = new WeakMap(), _Route_processors = new WeakMap(), _Route_instances = new WeakSet(), _Route_toStreamConfig = function _Route_toStreamConfig() { let self = this; return { input: __classPrivateFieldGet(self, _Route_inputBroker, "f"), pipeline: { processors: __classPrivateFieldGet(self, _Route_processors, "f"), }, output: __classPrivateFieldGet(self, _Route_outputBroker, "f"), }; }; export { from, Route }; //# sourceMappingURL=route.js.map