UNPKG

transgate

Version:

Agent-based task flow framework

36 lines (35 loc) 1.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const readline_1 = __importDefault(require("readline")); const buffer_1 = require("./buffer"); /** * Readline stream Gate for Input */ class ReadLineStreamGate { /** * @param {stream.Readable} readStream - readable stream */ constructor(readStream) { this._buffer = new buffer_1.ItemBuffer(); readline_1.default.createInterface({ input: readStream, crlfDelay: Infinity, }) .on('line', line => { this._buffer.write(this._parse(line)); }) .on('close', () => { this._buffer.write(null); }); } /** * @return {Promise<object>} - A promise that resolves the item when a line can be read */ receive() { return this._buffer.read(); } } exports.ReadLineStreamGate = ReadLineStreamGate;