UNPKG

stream-chain

Version:

Chain functions as transform streams.

27 lines (22 loc) 503 B
// @ts-self-types="./lines.d.ts" 'use strict'; const {none, flushable} = require('../defs'); const lines = () => { let rest = ''; return flushable(function* (value) { if (value === none) { if (!rest) return; const result = rest; rest = ''; yield result; return; } const lines = value.split(/\r?\n/g); rest += lines[0]; if (lines.length < 2) return; lines[0] = rest; rest = lines.pop(); yield* lines; }); }; module.exports = lines;