UNPKG

foxts

Version:

Opinionated collection of common TypeScript utils by @SukkaW

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