UNPKG

foxts

Version:

Opinionated collection of common TypeScript utils by @SukkaW

1 lines 663 B
"use strict";var e=require("../noop/index.js");class n extends TransformStream{constructor({allowCR:n=!1,skipEmptyLines:t=!1}={}){let r="",s=0;const i=n?(e,n,r)=>{const i=e.indexOf("\r",s);if(-1!==i&&i!==e.length-1&&(-1===n||n-1>i)){const n=e.slice(s,i);return t&&0===n.length||r.enqueue(e.slice(s,i)),s=i+1,!0}return!1}:e.falseFn;super({transform(e,n){for(e=r+e,s=0;;){const r=e.indexOf("\n",s);if(i(e,r,n))continue;if(-1===r)break;let u=r;"\r"===e[r-1]&&u--;const c=e.slice(s,u);if(t&&0===c.length){s=r+1;continue}n.enqueue(c),s=r+1}r=e.slice(s)},flush(e){r.length>0&&(n&&"\r"===r[r.length-1]?e.enqueue(r.slice(0,-1)):e.enqueue(r))}})}}exports.TextLineStream=n;