UNPKG

saxi

Version:

Drive the AxiDraw pen plotter

33 lines 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RegexParser = void 0; require("web-streams-polyfill/polyfill"); class RegexParser extends TransformStream { constructor(opts) { if (opts.regex === undefined) { throw new TypeError('"options.regex" must be a regular expression pattern or object'); } if (!(opts.regex instanceof RegExp)) { opts.regex = new RegExp(opts.regex); } const regex = opts.regex; let data = ''; const decoder = new TextDecoder(); super({ transform(chunk, controller) { const newData = data + decoder.decode(chunk); const parts = newData.split(regex); data = parts.pop(); parts.forEach(part => { controller.enqueue(part); }); }, flush(controller) { controller.enqueue(data); data = ''; } }); } } exports.RegexParser = RegexParser; //# sourceMappingURL=regex-transform-stream.js.map