@nutgaard/data-pack
Version:
Utility pack for working with random data
6 lines (5 loc) • 4.84 kB
JavaScript
var z=Object.create;var y=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var w=r=>y(r,"__esModule",{value:!0});var c=(r,e)=>{w(r);for(var t in e)y(r,t,{get:e[t],enumerable:!0})},N=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of P(e))!J.call(r,n)&&n!=="default"&&y(r,n,{get:()=>e[n],enumerable:!(t=C(e,n))||t.enumerable});return r},k=r=>N(w(y(r!=null?z(W(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);c(exports,{CSV:()=>x,File:()=>T,GeneratorFlow:()=>s,Json:()=>S,Kv:()=>v});var T={};c(T,{read:()=>G,readJSON:()=>$,readJSONSync:()=>I,readSync:()=>O,withWriteStream:()=>M,write:()=>L,writeSync:()=>R});var l=k(require("fs")),h=k(require("fs/promises"));var S={};c(S,{JsonFormat:()=>Q,deserialize:()=>g,serialize:()=>d});function d(r){return typeof r=="string"?r:JSON.stringify(r,null,2)}function g(r){return JSON.parse(r)}var Q={serialize:d,deserialize:g};async function G(r){return h.readFile(r,"utf8")}function O(r){return l.readFileSync(r,"utf8")}async function $(r){let e=await G(r);return g(e)}function I(r){return g(l.readFileSync(r,"utf8"))}async function L(r,e){return h.writeFile(r,d(e),"utf8")}function R(r,e){return l.writeFileSync(r,d(e),"utf8")}function M(r,e){let t=l.createWriteStream(r,"utf8");e(t),t.close()}var x={};c(x,{CsvFormat:()=>H,parseCSV:()=>F,parseCSVSync:()=>b,parseCSVToFlow:()=>D,writeAsCSV:()=>A,writeAsCSVSync:()=>V});var s=class{constructor(e){this.generator=e}static ofArray(e){return new s(function*(){for(let t of e)yield t})}skipWhile(e){let t=this.generator();return new s(function*(){let n=0,i=!0;for(let o of t)i?e(o,n++)||(i=!1,yield o):yield o})}takeWhile(e){let t=this.generator();return new s(function*(){let n=0;for(let i of t)if(e(i,n++))yield i;else break})}skip(e){return this.skipWhile((t,n)=>n<e)}tail(){return this.skip(1)}take(e){return this.takeWhile((t,n)=>n<e)}map(e){let t=this.generator();return new s(function*(){let n=0;for(let i of t)yield e(i,n++)})}flatMap(e){let t=this.generator();return new s(function*(){let n=0;for(let i of t)yield*e(i,n++)})}filter(e){let t=this.generator();return new s(function*(){let n=0;for(let i of t)e(i)&&(yield i)})}reduce(e,t){let n=t,i=0;for(let o of this.generator())n=e(n,o,i++);return n}zip(e){let t=this.generator(),n=e instanceof s?e.generator():e;return new s(function*(){for(;;){let i=t.next(),o=n.next();if(i.done||o.done)break;i.value&&o.value&&(yield[i.value,o.value])}})}cartesianProduct(e){let t=this.generator();return new s(function*(){for(let n of t){let i=e(),o=i instanceof s?i.generator():i;for(let a of o)yield[n,a]}})}concat(e){let t=this.generator(),n=e instanceof s?e.generator():e;return new s(function*(){yield*t,yield*n})}size(){let e=0;for(let t of this.generator())e++;return e}peek(e){let t=this.generator();return new s(function*(){for(let n of t)e(n),yield n})}toArray(){let e=[];for(let t of this.generator())e.push(t);return e}toSet(){return new Set(this.toArray())}};function q(r){return r==='"'||r==="'"}function B(r,e,t=","){let n,i=[],o=[],a=e;if(e>=r.length)return null;for(;a<r.length;a++){let f=r[a];if(q(f))n===void 0?n=f:f===n?n=void 0:i.push(f);else if(f==="\\")i.push(r[++a]);else if(f===t&&n===void 0)o.push(i.join("")),i=[];else if(f===`
`&&n===void 0){o.push(i.join("")),i=[];break}else i.push(f)}return i.length>0&&o.push(i.join("")),[a+1,o]}function E(r,e=","){return r.map(t=>`"${t.replace(/"/g,'\\"')}"`).join(e)}function*F(r,e=","){let t=r.split(""),n=0;for(;;){let i=B(t,n,e);if(i===null)break;let[o,a]=i;n=o,yield a}}function D(r,e=","){return new s(()=>F(r,e))}function b(r,e=","){return D(r,e).toArray()}function*A(r,e=","){for(let t of r)yield E(t,e)}function V(r,e=","){return new s(()=>A(r,e)).toArray().join(`
`)}var H={serialize(r,e=","){return V(r,e)},deserialize(r,e=","){return b(r,e)}};var v={};c(v,{KvFormat:()=>U,defaultKvDelimiters:()=>m,parseKVSync:()=>j,writeKVSync:()=>K});var m={keyValueDelimiter:"=",keyDelimiter:" "};function K(r,e=m){return typeof r=="string"?r:Object.entries(r).map(([t,n])=>{let i=typeof n=="string"?n.replace(/'/g,"\\'"):n.toString();return`${t}${e.keyValueDelimiter}'${i}'`}).join(e.keyDelimiter)}function j(r,e=m){let t=r.split(""),n={},i=[],o=[],a=i,f;for(let p=0;p<t.length;p++){let u=t[p];u==='"'||u==="'"?f===void 0?f=u:u===f?f=void 0:a.push(u):u==="\\"?a.push(t[++p]):u===e.keyValueDelimiter&&f===void 0?a=o:u===e.keyDelimiter&&f===void 0||u===`
`&&f===void 0?(i.length>0&&(n[i.join("")]=o.join("")),i=[],o=[],a=i):a.push(u)}return a.length>0&&i.length>0&&(n[i.join("")]=o.join("")),n}var U={serialize(r,e=m){return K(r,e)},deserialize(r,e=m){return j(r,e)}};0&&(module.exports={CSV,File,GeneratorFlow,Json,Kv});
//# sourceMappingURL=index.js.map