jsonarrayfs
Advanced tools
+2
-2
@@ -1,2 +0,2 @@ | ||
| "use strict";var T=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols;var A=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var R=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i);var k=(i,e,t)=>e in i?T(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,b=(i,e)=>{for(var t in e||(e={}))A.call(e,t)&&k(i,t,e[t]);if(y)for(var t of y(e))$.call(e,t)&&k(i,t,e[t]);return i};var K=(i,e)=>{for(var t in e)T(i,t,{get:e[t],enumerable:!0})},M=(i,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of I(e))!A.call(i,r)&&r!==t&&T(i,r,{get:()=>e[r],enumerable:!(s=L(e,r))||s.enumerable});return i};var z=i=>M(T({},"__esModule",{value:!0}),i);var S=(i,e,t)=>new Promise((s,r)=>{var o=a=>{try{f(t.next(a))}catch(u){r(u)}},h=a=>{try{f(t.throw(a))}catch(u){r(u)}},f=a=>a.done?s(a.value):Promise.resolve(a.value).then(o,h);f((t=t.apply(i,e)).next())}),C=function(i,e){this[0]=i,this[1]=e},P=(i,e,t)=>{var s=(h,f,a,u)=>{try{var E=t[h](f),d=(f=E.value)instanceof C,c=E.done;Promise.resolve(d?f[0]:f).then(n=>d?s(h==="return"?h:"next",f[1]?{done:n.done,value:n.value}:n,a,u):a({value:n,done:c})).catch(n=>s("throw",n,a,u))}catch(n){u(n)}},r=h=>o[h]=f=>new Promise((a,u)=>s(h,f,a,u)),o={};return t=t.apply(i,e),o[R("asyncIterator")]=()=>o,r("next"),r("throw"),r("return"),o};var g=(i,e,t)=>(e=i[R("asyncIterator")])?e.call(i):(i=i[R("iterator")](),e={},t=(s,r)=>(r=i[s])&&(e[s]=o=>new Promise((h,f,a)=>(o=r.call(i,o),a=o.done,Promise.resolve(o.value).then(u=>h({value:u,done:a}),f)))),t("next"),t("return"),e);var x={};K(x,{appendFile:()=>D,createReadStream:()=>H});module.exports=z(x);var v=require("fs"),N=require("events");var l={BRACKET:{OPEN:"[",CLOSE:"]"},BRACE:{OPEN:"{",CLOSE:"}"},QUOTE:'"',ESCAPE:"\\",SPACE:" ",COMMA:",",NEW_LINE:` | ||
| `};var p=class p{constructor(e,t){this.readStream=(0,v.createReadStream)(e,p.sanitizeReadStreamOptions(t)),this.rootDetected=!1,this.elementDetected=!1,this.elementType="others",this.elementParser=null,this.elementEnclosureCount=0,this.isCharInsideQuotes=!1,this.isCharEscaped=!1,this.chunkBuffer="",this.resultBuffer=[]}chunkGenerator(){return P(this,null,function*(){if(!this.readStream)throw new Error("Stream not initialized");try{for(var e=g(this.readStream),t,s,r;t=!(s=yield new C(e.next())).done;t=!1){let o=s.value;yield o}}catch(s){r=[s]}finally{try{t&&(s=e.return)&&(yield new C(s.call(e)))}finally{if(r)throw r[0]}}})}addToResult(e,t){if(!t)this.resultBuffer.push(e);else try{t(e)&&this.resultBuffer.push(e)}catch(s){}}resetParser(){this.elementDetected=!1,this.elementType="others",this.elementParser=null,this.elementEnclosureCount=0,this.isCharInsideQuotes=!1,this.isCharEscaped=!1,this.chunkBuffer=""}stringElementParser(e,t){if(this.chunkBuffer=`${this.chunkBuffer}${e}`,e===l.QUOTE)if(this.isCharInsideQuotes&&!this.isCharEscaped){let s=JSON.parse(this.chunkBuffer);this.addToResult(s,t),this.resetParser()}else this.chunkBuffer===l.QUOTE?this.isCharInsideQuotes=!0:this.isCharEscaped&&(this.isCharEscaped=!1);else e===l.ESCAPE?this.isCharEscaped=!this.isCharEscaped:this.isCharEscaped&&(this.isCharEscaped=!1)}primitiveElementParser(e,t){if([l.COMMA,l.BRACKET.CLOSE].includes(e)){let s=JSON.parse(this.chunkBuffer);this.addToResult(s,t),this.resetParser()}else this.chunkBuffer=`${this.chunkBuffer}${e}`}containerElementParser(e,t){let s=this.elementType==="array"?l.BRACKET:l.BRACE;if(e===s.OPEN&&!this.isCharInsideQuotes)this.chunkBuffer=`${this.chunkBuffer}${e}`,this.elementEnclosureCount+=1;else if(e===s.CLOSE&&!this.isCharInsideQuotes){if(this.chunkBuffer=`${this.chunkBuffer}${e}`,this.elementEnclosureCount-=1,this.elementEnclosureCount===0){let r=JSON.parse(this.chunkBuffer);this.addToResult(r,t),this.resetParser()}}else this.chunkBuffer.length&&(this.chunkBuffer=`${this.chunkBuffer}${e}`,e===l.ESCAPE?this.isCharEscaped=!this.isCharEscaped:e===l.QUOTE&&!this.isCharEscaped?this.isCharInsideQuotes=!this.isCharInsideQuotes:this.isCharEscaped&&(this.isCharEscaped=!1))}stream(e,t){return P(this,null,function*(){var s,r,o,h,d;try{for(var f=g(this.chunkGenerator()),a,u,E;a=!(u=yield new C(f.next())).done;a=!1){let c=u.value;for(let n of c){if(!this.rootDetected){this.rootDetected=n===l.BRACKET.OPEN;continue}this.elementDetected||(this.elementDetected=![l.SPACE,l.COMMA,l.NEW_LINE,l.BRACKET.CLOSE].includes(n)),this.elementDetected&&(this.elementParser||(n===l.BRACKET.OPEN?(this.elementType="array",this.elementParser=this.containerElementParser):n===l.BRACE.OPEN?(this.elementType="object",this.elementParser=this.containerElementParser):n===l.QUOTE?(this.elementType="string",this.elementParser=this.stringElementParser):(this.elementType="others",this.elementParser=this.primitiveElementParser)),this.elementParser(n,t),this.resultBuffer.length===e&&((s=this.readStream)!=null&&s.closed||(r=this.readStream)==null||r.pause(),yield this.resultBuffer.splice(0,e),(o=this.readStream)!=null&&o.closed||(h=this.readStream)==null||h.resume()))}}}catch(u){E=[u]}finally{try{a&&(u=f.return)&&(yield new C(u.call(f)))}finally{if(E)throw E[0]}}if((d=this.readStream)==null||d.close(),this.readStream=null,this.chunkBuffer.length){let c=JSON.parse(this.chunkBuffer);this.addToResult(c,t),this.resetParser()}return this.resultBuffer.length&&(yield this.resultBuffer.splice(0)),this.resultBuffer})}};p.sanitizeReadStreamOptions=e=>{let t=b({},e||{});return t.encoding||(t.encoding="utf-8"),Object.keys(t).forEach(s=>{["signal","encoding","highWatermark"].includes(s)||delete t[s]}),t},p.create=(e,t)=>S(p,null,function*(){let s=new p(e,t);return yield(0,N.once)(s.readStream,"readable"),s});var w=p,Q=w;var O=require("fs/promises");var U=(i,e,...t)=>S(void 0,null,function*(){let s=null;try{let{size:r}=yield(0,O.stat)(i),o=Buffer.byteLength(l.BRACKET.CLOSE,e),h=Math.min(o,r),f=Buffer.alloc(h),a=r;s=yield(0,O.open)(i,"a+");e:for(;a;){a-=h,yield s.read(f,0,h,a);let n=f.toString(e);for(let m=n.length-1;m>=0;m--)if(n[m]===l.BRACKET.CLOSE){a+=m===0?0:Buffer.byteLength(n.slice(0,m),e);break e}}let u=Buffer.alloc(r-a);yield s.read(u,0,u.length,a);let E=t.map(n=>JSON.stringify(n)).join(",");if(a){let n=a;e:for(;;){n-=h,yield s.read(f,0,h,n);let m=f.toString(e);for(let B=m.length-1;B>=0;B--)if(![l.NEW_LINE,l.SPACE].includes(m[B])){m[B]!==l.BRACKET.OPEN&&(E=`,${E}`);break e}}}else E=`[${E}]`;let d=Buffer.from(E,e),c=Buffer.alloc(d.length+u.length);d.copy(c),u.copy(c,d.length),yield s.write(c,0,c.length,a)}catch(r){throw r}finally{yield s==null?void 0:s.close()}}),D=U;var H=Q.create;0&&(module.exports={appendFile,createReadStream}); | ||
| "use strict";var T=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames,w=Object.getOwnPropertySymbols;var A=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var R=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i);var k=(i,e,t)=>e in i?T(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,b=(i,e)=>{for(var t in e||(e={}))A.call(e,t)&&k(i,t,e[t]);if(w)for(var t of w(e))$.call(e,t)&&k(i,t,e[t]);return i};var K=(i,e)=>{for(var t in e)T(i,t,{get:e[t],enumerable:!0})},M=(i,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of I(e))!A.call(i,r)&&r!==t&&T(i,r,{get:()=>e[r],enumerable:!(s=L(e,r))||s.enumerable});return i};var z=i=>M(T({},"__esModule",{value:!0}),i);var S=(i,e,t)=>new Promise((s,r)=>{var o=a=>{try{f(t.next(a))}catch(u){r(u)}},h=a=>{try{f(t.throw(a))}catch(u){r(u)}},f=a=>a.done?s(a.value):Promise.resolve(a.value).then(o,h);f((t=t.apply(i,e)).next())}),C=function(i,e){this[0]=i,this[1]=e},P=(i,e,t)=>{var s=(h,f,a,u)=>{try{var p=t[h](f),d=(f=p.value)instanceof C,c=p.done;Promise.resolve(d?f[0]:f).then(n=>d?s(h==="return"?h:"next",f[1]?{done:n.done,value:n.value}:n,a,u):a({value:n,done:c})).catch(n=>s("throw",n,a,u))}catch(n){u(n)}},r=h=>o[h]=f=>new Promise((a,u)=>s(h,f,a,u)),o={};return t=t.apply(i,e),o[R("asyncIterator")]=()=>o,r("next"),r("throw"),r("return"),o};var g=(i,e,t)=>(e=i[R("asyncIterator")])?e.call(i):(i=i[R("iterator")](),e={},t=(s,r)=>(r=i[s])&&(e[s]=o=>new Promise((h,f,a)=>(o=r.call(i,o),a=o.done,Promise.resolve(o.value).then(u=>h({value:u,done:a}),f)))),t("next"),t("return"),e);var H={};K(H,{appendFile:()=>D,createReadStream:()=>x});module.exports=z(H);var v=require("fs"),N=require("events");var l={BRACKET:{OPEN:"[",CLOSE:"]"},BRACE:{OPEN:"{",CLOSE:"}"},QUOTE:'"',ESCAPE:"\\",SPACE:" ",COMMA:",",NEW_LINE:` | ||
| `};var E=class E{constructor(e,t){this.readStream=(0,v.createReadStream)(e,E.sanitizeReadStreamOptions(t)),this.rootDetected=!1,this.elementDetected=!1,this.elementType="others",this.elementParser=null,this.elementEnclosureCount=0,this.isCharInsideQuotes=!1,this.isCharEscaped=!1,this.chunkBuffer="",this.resultBuffer=[]}chunkGenerator(){return P(this,null,function*(){if(!this.readStream)throw new Error("Stream not initialized");try{for(var e=g(this.readStream),t,s,r;t=!(s=yield new C(e.next())).done;t=!1){let o=s.value;yield o}}catch(s){r=[s]}finally{try{t&&(s=e.return)&&(yield new C(s.call(e)))}finally{if(r)throw r[0]}}})}addToResult(e,t){if(!t)this.resultBuffer.push(e);else try{t(e)&&this.resultBuffer.push(e)}catch(s){}}resetParser(){this.elementDetected=!1,this.elementType="others",this.elementParser=null,this.elementEnclosureCount=0,this.isCharInsideQuotes=!1,this.isCharEscaped=!1,this.chunkBuffer=""}stringElementParser(e,t){if(this.chunkBuffer=`${this.chunkBuffer}${e}`,e===l.QUOTE)if(this.isCharInsideQuotes&&!this.isCharEscaped){let s=JSON.parse(this.chunkBuffer);this.addToResult(s,t),this.resetParser()}else this.chunkBuffer===l.QUOTE?this.isCharInsideQuotes=!0:this.isCharEscaped&&(this.isCharEscaped=!1);else e===l.ESCAPE?this.isCharEscaped=!this.isCharEscaped:this.isCharEscaped&&(this.isCharEscaped=!1)}primitiveElementParser(e,t){if([l.COMMA,l.BRACKET.CLOSE].includes(e)){let s=JSON.parse(this.chunkBuffer);this.addToResult(s,t),this.resetParser()}else this.chunkBuffer=`${this.chunkBuffer}${e}`}containerElementParser(e,t){let s=this.elementType==="array"?l.BRACKET:l.BRACE;if(e===s.OPEN&&!this.isCharInsideQuotes)this.chunkBuffer=`${this.chunkBuffer}${e}`,this.elementEnclosureCount+=1;else if(e===s.CLOSE&&!this.isCharInsideQuotes){if(this.chunkBuffer=`${this.chunkBuffer}${e}`,this.elementEnclosureCount-=1,this.elementEnclosureCount===0){let r=JSON.parse(this.chunkBuffer);this.addToResult(r,t),this.resetParser()}}else this.chunkBuffer.length&&(this.chunkBuffer=`${this.chunkBuffer}${e}`,e===l.ESCAPE?this.isCharEscaped=!this.isCharEscaped:e===l.QUOTE&&!this.isCharEscaped?this.isCharInsideQuotes=!this.isCharInsideQuotes:this.isCharEscaped&&(this.isCharEscaped=!1))}stream(e,t){return P(this,null,function*(){var s,r,o,h,d;try{for(var f=g(this.chunkGenerator()),a,u,p;a=!(u=yield new C(f.next())).done;a=!1){let c=u.value;for(let n of c){if(!this.rootDetected){this.rootDetected=n===l.BRACKET.OPEN;continue}this.elementDetected||(this.elementDetected=![l.SPACE,l.COMMA,l.NEW_LINE,l.BRACKET.CLOSE].includes(n)),this.elementDetected&&(this.elementParser||(n===l.BRACKET.OPEN?(this.elementType="array",this.elementParser=this.containerElementParser):n===l.BRACE.OPEN?(this.elementType="object",this.elementParser=this.containerElementParser):n===l.QUOTE?(this.elementType="string",this.elementParser=this.stringElementParser):(this.elementType="others",this.elementParser=this.primitiveElementParser)),this.elementParser(n,t),this.resultBuffer.length===e&&((s=this.readStream)!=null&&s.closed||(r=this.readStream)==null||r.pause(),yield this.resultBuffer.splice(0,e),(o=this.readStream)!=null&&o.closed||(h=this.readStream)==null||h.resume()))}}}catch(u){p=[u]}finally{try{a&&(u=f.return)&&(yield new C(u.call(f)))}finally{if(p)throw p[0]}}if((d=this.readStream)==null||d.close(),this.readStream=null,this.chunkBuffer.length){let c=JSON.parse(this.chunkBuffer);this.addToResult(c,t),this.resetParser()}return this.resultBuffer.length&&(yield this.resultBuffer.splice(0)),this.resultBuffer})}};E.sanitizeReadStreamOptions=e=>{let t=b({},e||{});return t.encoding||(t.encoding="utf-8"),Object.keys(t).forEach(s=>{["signal","encoding","highWatermark"].includes(s)||delete t[s]}),t},E.create=(e,t)=>S(E,null,function*(){let s=new E(e,t);return yield(0,N.once)(s.readStream,"readable"),s});var y=E,Q=y;var O=require("fs/promises");var U=(i,e,...t)=>S(void 0,null,function*(){let s=null;try{let{size:r}=yield(0,O.stat)(i),o=Buffer.byteLength(l.BRACKET.CLOSE,e),h=Math.min(o,r),f=Buffer.alloc(h),a=r;s=yield(0,O.open)(i,"a+");e:for(;a;){a-=h,yield s.read(f,0,h,a);let n=f.toString(e);for(let m=n.length-1;m>=0;m--)if(n[m]===l.BRACKET.CLOSE){a+=m===0?0:Buffer.byteLength(n.slice(0,m),e);break e}}let u=Buffer.alloc(r-a);yield s.read(u,0,u.length,a);let p=t.map(n=>JSON.stringify(n)).join(",");if(a){let n=a;e:for(;;){n-=h,yield s.read(f,0,h,n);let m=f.toString(e);for(let B=m.length-1;B>=0;B--)if(![l.NEW_LINE,l.SPACE].includes(m[B])){m[B]!==l.BRACKET.OPEN&&(p=`,${p}`);break e}}}else p=`[${p}]`;let d=Buffer.from(p,e),c=Buffer.alloc(d.length+u.length);d.copy(c),u.copy(c,d.length),yield s.write(c,0,c.length,a)}catch(r){throw r}finally{yield s==null?void 0:s.close()}}),D=U;var x=Q.create;0&&(module.exports={appendFile,createReadStream}); |
+2
-2
@@ -1,2 +0,2 @@ | ||
| var A=Object.defineProperty;var g=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var S=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i);var w=(i,e,t)=>e in i?A(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,y=(i,e)=>{for(var t in e||(e={}))b.call(e,t)&&w(i,t,e[t]);if(g)for(var t of g(e))v.call(e,t)&&w(i,t,e[t]);return i};var T=(i,e,t)=>new Promise((s,l)=>{var o=r=>{try{f(t.next(r))}catch(u){l(u)}},h=r=>{try{f(t.throw(r))}catch(u){l(u)}},f=r=>r.done?s(r.value):Promise.resolve(r.value).then(o,h);f((t=t.apply(i,e)).next())}),C=function(i,e){this[0]=i,this[1]=e},O=(i,e,t)=>{var s=(h,f,r,u)=>{try{var E=t[h](f),d=(f=E.value)instanceof C,c=E.done;Promise.resolve(d?f[0]:f).then(a=>d?s(h==="return"?h:"next",f[1]?{done:a.done,value:a.value}:a,r,u):r({value:a,done:c})).catch(a=>s("throw",a,r,u))}catch(a){u(a)}},l=h=>o[h]=f=>new Promise((r,u)=>s(h,f,r,u)),o={};return t=t.apply(i,e),o[S("asyncIterator")]=()=>o,l("next"),l("throw"),l("return"),o};var R=(i,e,t)=>(e=i[S("asyncIterator")])?e.call(i):(i=i[S("iterator")](),e={},t=(s,l)=>(l=i[s])&&(e[s]=o=>new Promise((h,f,r)=>(o=l.call(i,o),r=o.done,Promise.resolve(o.value).then(u=>h({value:u,done:r}),f)))),t("next"),t("return"),e);import{createReadStream as N}from"fs";import{once as Q}from"events";var n={BRACKET:{OPEN:"[",CLOSE:"]"},BRACE:{OPEN:"{",CLOSE:"}"},QUOTE:'"',ESCAPE:"\\",SPACE:" ",COMMA:",",NEW_LINE:` | ||
| `};var p=class p{constructor(e,t){this.readStream=N(e,p.sanitizeReadStreamOptions(t)),this.rootDetected=!1,this.elementDetected=!1,this.elementType="others",this.elementParser=null,this.elementEnclosureCount=0,this.isCharInsideQuotes=!1,this.isCharEscaped=!1,this.chunkBuffer="",this.resultBuffer=[]}chunkGenerator(){return O(this,null,function*(){if(!this.readStream)throw new Error("Stream not initialized");try{for(var e=R(this.readStream),t,s,l;t=!(s=yield new C(e.next())).done;t=!1){let o=s.value;yield o}}catch(s){l=[s]}finally{try{t&&(s=e.return)&&(yield new C(s.call(e)))}finally{if(l)throw l[0]}}})}addToResult(e,t){if(!t)this.resultBuffer.push(e);else try{t(e)&&this.resultBuffer.push(e)}catch(s){}}resetParser(){this.elementDetected=!1,this.elementType="others",this.elementParser=null,this.elementEnclosureCount=0,this.isCharInsideQuotes=!1,this.isCharEscaped=!1,this.chunkBuffer=""}stringElementParser(e,t){if(this.chunkBuffer=`${this.chunkBuffer}${e}`,e===n.QUOTE)if(this.isCharInsideQuotes&&!this.isCharEscaped){let s=JSON.parse(this.chunkBuffer);this.addToResult(s,t),this.resetParser()}else this.chunkBuffer===n.QUOTE?this.isCharInsideQuotes=!0:this.isCharEscaped&&(this.isCharEscaped=!1);else e===n.ESCAPE?this.isCharEscaped=!this.isCharEscaped:this.isCharEscaped&&(this.isCharEscaped=!1)}primitiveElementParser(e,t){if([n.COMMA,n.BRACKET.CLOSE].includes(e)){let s=JSON.parse(this.chunkBuffer);this.addToResult(s,t),this.resetParser()}else this.chunkBuffer=`${this.chunkBuffer}${e}`}containerElementParser(e,t){let s=this.elementType==="array"?n.BRACKET:n.BRACE;if(e===s.OPEN&&!this.isCharInsideQuotes)this.chunkBuffer=`${this.chunkBuffer}${e}`,this.elementEnclosureCount+=1;else if(e===s.CLOSE&&!this.isCharInsideQuotes){if(this.chunkBuffer=`${this.chunkBuffer}${e}`,this.elementEnclosureCount-=1,this.elementEnclosureCount===0){let l=JSON.parse(this.chunkBuffer);this.addToResult(l,t),this.resetParser()}}else this.chunkBuffer.length&&(this.chunkBuffer=`${this.chunkBuffer}${e}`,e===n.ESCAPE?this.isCharEscaped=!this.isCharEscaped:e===n.QUOTE&&!this.isCharEscaped?this.isCharInsideQuotes=!this.isCharInsideQuotes:this.isCharEscaped&&(this.isCharEscaped=!1))}stream(e,t){return O(this,null,function*(){var s,l,o,h,d;try{for(var f=R(this.chunkGenerator()),r,u,E;r=!(u=yield new C(f.next())).done;r=!1){let c=u.value;for(let a of c){if(!this.rootDetected){this.rootDetected=a===n.BRACKET.OPEN;continue}this.elementDetected||(this.elementDetected=![n.SPACE,n.COMMA,n.NEW_LINE,n.BRACKET.CLOSE].includes(a)),this.elementDetected&&(this.elementParser||(a===n.BRACKET.OPEN?(this.elementType="array",this.elementParser=this.containerElementParser):a===n.BRACE.OPEN?(this.elementType="object",this.elementParser=this.containerElementParser):a===n.QUOTE?(this.elementType="string",this.elementParser=this.stringElementParser):(this.elementType="others",this.elementParser=this.primitiveElementParser)),this.elementParser(a,t),this.resultBuffer.length===e&&((s=this.readStream)!=null&&s.closed||(l=this.readStream)==null||l.pause(),yield this.resultBuffer.splice(0,e),(o=this.readStream)!=null&&o.closed||(h=this.readStream)==null||h.resume()))}}}catch(u){E=[u]}finally{try{r&&(u=f.return)&&(yield new C(u.call(f)))}finally{if(E)throw E[0]}}if((d=this.readStream)==null||d.close(),this.readStream=null,this.chunkBuffer.length){let c=JSON.parse(this.chunkBuffer);this.addToResult(c,t),this.resetParser()}return this.resultBuffer.length&&(yield this.resultBuffer.splice(0)),this.resultBuffer})}};p.sanitizeReadStreamOptions=e=>{let t=y({},e||{});return t.encoding||(t.encoding="utf-8"),Object.keys(t).forEach(s=>{["signal","encoding","highWatermark"].includes(s)||delete t[s]}),t},p.create=(e,t)=>T(p,null,function*(){let s=new p(e,t);return yield Q(s.readStream,"readable"),s});var P=p,k=P;import{stat as D,open as L}from"fs/promises";var I=(i,e,...t)=>T(void 0,null,function*(){let s=null;try{let{size:l}=yield D(i),o=Buffer.byteLength(n.BRACKET.CLOSE,e),h=Math.min(o,l),f=Buffer.alloc(h),r=l;s=yield L(i,"a+");e:for(;r;){r-=h,yield s.read(f,0,h,r);let a=f.toString(e);for(let m=a.length-1;m>=0;m--)if(a[m]===n.BRACKET.CLOSE){r+=m===0?0:Buffer.byteLength(a.slice(0,m),e);break e}}let u=Buffer.alloc(l-r);yield s.read(u,0,u.length,r);let E=t.map(a=>JSON.stringify(a)).join(",");if(r){let a=r;e:for(;;){a-=h,yield s.read(f,0,h,a);let m=f.toString(e);for(let B=m.length-1;B>=0;B--)if(![n.NEW_LINE,n.SPACE].includes(m[B])){m[B]!==n.BRACKET.OPEN&&(E=`,${E}`);break e}}}else E=`[${E}]`;let d=Buffer.from(E,e),c=Buffer.alloc(d.length+u.length);d.copy(c),u.copy(c,d.length),yield s.write(c,0,c.length,r)}catch(l){throw l}finally{yield s==null?void 0:s.close()}}),$=I;var Z=k.create;export{$ as appendFile,Z as createReadStream}; | ||
| var A=Object.defineProperty;var g=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var S=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i);var y=(i,e,t)=>e in i?A(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,w=(i,e)=>{for(var t in e||(e={}))b.call(e,t)&&y(i,t,e[t]);if(g)for(var t of g(e))v.call(e,t)&&y(i,t,e[t]);return i};var T=(i,e,t)=>new Promise((s,l)=>{var o=r=>{try{f(t.next(r))}catch(u){l(u)}},h=r=>{try{f(t.throw(r))}catch(u){l(u)}},f=r=>r.done?s(r.value):Promise.resolve(r.value).then(o,h);f((t=t.apply(i,e)).next())}),C=function(i,e){this[0]=i,this[1]=e},O=(i,e,t)=>{var s=(h,f,r,u)=>{try{var p=t[h](f),d=(f=p.value)instanceof C,c=p.done;Promise.resolve(d?f[0]:f).then(a=>d?s(h==="return"?h:"next",f[1]?{done:a.done,value:a.value}:a,r,u):r({value:a,done:c})).catch(a=>s("throw",a,r,u))}catch(a){u(a)}},l=h=>o[h]=f=>new Promise((r,u)=>s(h,f,r,u)),o={};return t=t.apply(i,e),o[S("asyncIterator")]=()=>o,l("next"),l("throw"),l("return"),o};var R=(i,e,t)=>(e=i[S("asyncIterator")])?e.call(i):(i=i[S("iterator")](),e={},t=(s,l)=>(l=i[s])&&(e[s]=o=>new Promise((h,f,r)=>(o=l.call(i,o),r=o.done,Promise.resolve(o.value).then(u=>h({value:u,done:r}),f)))),t("next"),t("return"),e);import{createReadStream as N}from"fs";import{once as Q}from"events";var n={BRACKET:{OPEN:"[",CLOSE:"]"},BRACE:{OPEN:"{",CLOSE:"}"},QUOTE:'"',ESCAPE:"\\",SPACE:" ",COMMA:",",NEW_LINE:` | ||
| `};var E=class E{constructor(e,t){this.readStream=N(e,E.sanitizeReadStreamOptions(t)),this.rootDetected=!1,this.elementDetected=!1,this.elementType="others",this.elementParser=null,this.elementEnclosureCount=0,this.isCharInsideQuotes=!1,this.isCharEscaped=!1,this.chunkBuffer="",this.resultBuffer=[]}chunkGenerator(){return O(this,null,function*(){if(!this.readStream)throw new Error("Stream not initialized");try{for(var e=R(this.readStream),t,s,l;t=!(s=yield new C(e.next())).done;t=!1){let o=s.value;yield o}}catch(s){l=[s]}finally{try{t&&(s=e.return)&&(yield new C(s.call(e)))}finally{if(l)throw l[0]}}})}addToResult(e,t){if(!t)this.resultBuffer.push(e);else try{t(e)&&this.resultBuffer.push(e)}catch(s){}}resetParser(){this.elementDetected=!1,this.elementType="others",this.elementParser=null,this.elementEnclosureCount=0,this.isCharInsideQuotes=!1,this.isCharEscaped=!1,this.chunkBuffer=""}stringElementParser(e,t){if(this.chunkBuffer=`${this.chunkBuffer}${e}`,e===n.QUOTE)if(this.isCharInsideQuotes&&!this.isCharEscaped){let s=JSON.parse(this.chunkBuffer);this.addToResult(s,t),this.resetParser()}else this.chunkBuffer===n.QUOTE?this.isCharInsideQuotes=!0:this.isCharEscaped&&(this.isCharEscaped=!1);else e===n.ESCAPE?this.isCharEscaped=!this.isCharEscaped:this.isCharEscaped&&(this.isCharEscaped=!1)}primitiveElementParser(e,t){if([n.COMMA,n.BRACKET.CLOSE].includes(e)){let s=JSON.parse(this.chunkBuffer);this.addToResult(s,t),this.resetParser()}else this.chunkBuffer=`${this.chunkBuffer}${e}`}containerElementParser(e,t){let s=this.elementType==="array"?n.BRACKET:n.BRACE;if(e===s.OPEN&&!this.isCharInsideQuotes)this.chunkBuffer=`${this.chunkBuffer}${e}`,this.elementEnclosureCount+=1;else if(e===s.CLOSE&&!this.isCharInsideQuotes){if(this.chunkBuffer=`${this.chunkBuffer}${e}`,this.elementEnclosureCount-=1,this.elementEnclosureCount===0){let l=JSON.parse(this.chunkBuffer);this.addToResult(l,t),this.resetParser()}}else this.chunkBuffer.length&&(this.chunkBuffer=`${this.chunkBuffer}${e}`,e===n.ESCAPE?this.isCharEscaped=!this.isCharEscaped:e===n.QUOTE&&!this.isCharEscaped?this.isCharInsideQuotes=!this.isCharInsideQuotes:this.isCharEscaped&&(this.isCharEscaped=!1))}stream(e,t){return O(this,null,function*(){var s,l,o,h,d;try{for(var f=R(this.chunkGenerator()),r,u,p;r=!(u=yield new C(f.next())).done;r=!1){let c=u.value;for(let a of c){if(!this.rootDetected){this.rootDetected=a===n.BRACKET.OPEN;continue}this.elementDetected||(this.elementDetected=![n.SPACE,n.COMMA,n.NEW_LINE,n.BRACKET.CLOSE].includes(a)),this.elementDetected&&(this.elementParser||(a===n.BRACKET.OPEN?(this.elementType="array",this.elementParser=this.containerElementParser):a===n.BRACE.OPEN?(this.elementType="object",this.elementParser=this.containerElementParser):a===n.QUOTE?(this.elementType="string",this.elementParser=this.stringElementParser):(this.elementType="others",this.elementParser=this.primitiveElementParser)),this.elementParser(a,t),this.resultBuffer.length===e&&((s=this.readStream)!=null&&s.closed||(l=this.readStream)==null||l.pause(),yield this.resultBuffer.splice(0,e),(o=this.readStream)!=null&&o.closed||(h=this.readStream)==null||h.resume()))}}}catch(u){p=[u]}finally{try{r&&(u=f.return)&&(yield new C(u.call(f)))}finally{if(p)throw p[0]}}if((d=this.readStream)==null||d.close(),this.readStream=null,this.chunkBuffer.length){let c=JSON.parse(this.chunkBuffer);this.addToResult(c,t),this.resetParser()}return this.resultBuffer.length&&(yield this.resultBuffer.splice(0)),this.resultBuffer})}};E.sanitizeReadStreamOptions=e=>{let t=w({},e||{});return t.encoding||(t.encoding="utf-8"),Object.keys(t).forEach(s=>{["signal","encoding","highWatermark"].includes(s)||delete t[s]}),t},E.create=(e,t)=>T(E,null,function*(){let s=new E(e,t);return yield Q(s.readStream,"readable"),s});var P=E,k=P;import{stat as D,open as L}from"fs/promises";var I=(i,e,...t)=>T(void 0,null,function*(){let s=null;try{let{size:l}=yield D(i),o=Buffer.byteLength(n.BRACKET.CLOSE,e),h=Math.min(o,l),f=Buffer.alloc(h),r=l;s=yield L(i,"a+");e:for(;r;){r-=h,yield s.read(f,0,h,r);let a=f.toString(e);for(let m=a.length-1;m>=0;m--)if(a[m]===n.BRACKET.CLOSE){r+=m===0?0:Buffer.byteLength(a.slice(0,m),e);break e}}let u=Buffer.alloc(l-r);yield s.read(u,0,u.length,r);let p=t.map(a=>JSON.stringify(a)).join(",");if(r){let a=r;e:for(;;){a-=h,yield s.read(f,0,h,a);let m=f.toString(e);for(let B=m.length-1;B>=0;B--)if(![n.NEW_LINE,n.SPACE].includes(m[B])){m[B]!==n.BRACKET.OPEN&&(p=`,${p}`);break e}}}else p=`[${p}]`;let d=Buffer.from(p,e),c=Buffer.alloc(d.length+u.length);d.copy(c),u.copy(c,d.length),yield s.write(c,0,c.length,r)}catch(l){throw l}finally{yield s==null?void 0:s.close()}}),$=I;var Z=k.create;export{$ as appendFile,Z as createReadStream}; |
+4
-1
| { | ||
| "name": "jsonarrayfs", | ||
| "version": "1.1.1", | ||
| "version": "1.1.2", | ||
| "description": "Efficiently handle JSON array files in Node.js with minimal memory usage. Perfect for processing large data volumes without worrying about memory limitations.", | ||
| "main": "./dist/index.js", | ||
| "module": "./dist/index.mjs", | ||
| "types": "./dist/index.d.ts", | ||
| "exports": { | ||
@@ -6,0 +9,0 @@ ".": { |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 2 instances in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 2 instances in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
20726
0.45%