zeed 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-573BOCQJ.cjs → chunk-34CCV7QU.cjs} +2 -2
- package/dist/{chunk-573BOCQJ.cjs.map → chunk-34CCV7QU.cjs.map} +1 -1
- package/dist/chunk-3P4XRJ23.cjs +2 -0
- package/dist/chunk-3P4XRJ23.cjs.map +1 -0
- package/dist/{chunk-XBDYQAT5.cjs → chunk-4XNMHAMH.cjs} +2 -2
- package/dist/{chunk-XBDYQAT5.cjs.map → chunk-4XNMHAMH.cjs.map} +1 -1
- package/dist/{chunk-4SFHSXQB.cjs → chunk-DKVRDFFK.cjs} +2 -2
- package/dist/{chunk-4SFHSXQB.cjs.map → chunk-DKVRDFFK.cjs.map} +1 -1
- package/dist/{chunk-JTGBINRM.js → chunk-GCKHNLXS.js} +2 -2
- package/dist/{chunk-UV7JEZC2.js → chunk-GG26PPQA.js} +2 -2
- package/dist/{chunk-VS72RVG5.js → chunk-K3UKE3RK.js} +2 -2
- package/dist/{chunk-VS72RVG5.js.map → chunk-K3UKE3RK.js.map} +1 -1
- package/dist/{chunk-U5PG2BGY.js → chunk-KMMCASCC.js} +2 -2
- package/dist/{chunk-OX6Y3BMM.cjs → chunk-LBICM2BV.cjs} +2 -2
- package/dist/{chunk-OX6Y3BMM.cjs.map → chunk-LBICM2BV.cjs.map} +1 -1
- package/dist/{chunk-GZLUG4MW.js → chunk-MEROP44F.js} +2 -2
- package/dist/{chunk-4AGAYWJZ.js → chunk-Q7GFBEOT.js} +2 -2
- package/dist/chunk-QCQ6G74P.js +2 -0
- package/dist/chunk-QCQ6G74P.js.map +1 -0
- package/dist/chunk-SMRZVGCF.js +4 -0
- package/dist/{chunk-4XMXPBU6.js.map → chunk-SMRZVGCF.js.map} +1 -1
- package/dist/{chunk-YY4O3W2T.cjs → chunk-SQK2VOFN.cjs} +2 -2
- package/dist/chunk-SQK2VOFN.cjs.map +1 -0
- package/dist/{chunk-IRWPUQDQ.js → chunk-T3QCCCRC.js} +2 -2
- package/dist/chunk-UINKOPBQ.cjs +2 -0
- package/dist/{chunk-W4WB3XUA.cjs.map → chunk-UINKOPBQ.cjs.map} +1 -1
- package/dist/chunk-WFBD5UN5.js +2 -0
- package/dist/chunk-WFBD5UN5.js.map +1 -0
- package/dist/{chunk-TZIJSJIN.cjs → chunk-WWMBRESU.cjs} +2 -2
- package/dist/{chunk-TZIJSJIN.cjs.map → chunk-WWMBRESU.cjs.map} +1 -1
- package/dist/{chunk-MXWOW7YV.cjs → chunk-XVZUY2IS.cjs} +2 -2
- package/dist/{chunk-MXWOW7YV.cjs.map → chunk-XVZUY2IS.cjs.map} +1 -1
- package/dist/{chunk-OLRCP6EG.cjs → chunk-ZQQ57CEM.cjs} +3 -3
- package/dist/{chunk-OLRCP6EG.cjs.map → chunk-ZQQ57CEM.cjs.map} +1 -1
- package/dist/common/data/convert.cjs +1 -1
- package/dist/common/data/convert.cjs.map +1 -1
- package/dist/common/data/convert.d.cts +5 -1
- package/dist/common/data/convert.d.ts +5 -1
- package/dist/common/data/convert.js +1 -1
- package/dist/common/data/decimal.cjs +1 -1
- package/dist/common/data/decimal.js +1 -1
- package/dist/common/data/index.cjs +1 -1
- package/dist/common/data/index.cjs.map +1 -1
- package/dist/common/data/index.d.cts +1 -1
- package/dist/common/data/index.d.ts +1 -1
- package/dist/common/data/index.js +1 -1
- package/dist/common/data/url.cjs +1 -1
- package/dist/common/data/url.js +1 -1
- package/dist/common/index.cjs +1 -1
- package/dist/common/index.cjs.map +1 -1
- package/dist/common/index.d.cts +1 -1
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +1 -1
- package/dist/common/msg/index.cjs +1 -1
- package/dist/common/msg/index.js +1 -1
- package/dist/common/msg/messages.cjs +1 -1
- package/dist/common/msg/messages.js +1 -1
- package/dist/common/network.cjs +1 -1
- package/dist/common/network.js +1 -1
- package/dist/common/schema/export-swift.cjs +1 -1
- package/dist/common/schema/export-swift.js +1 -1
- package/dist/common/schema/index.cjs +1 -1
- package/dist/common/schema/index.cjs.map +1 -1
- package/dist/common/schema/index.js +1 -1
- package/dist/common/schema/parse-args.cjs +1 -1
- package/dist/common/schema/parse-args.js +1 -1
- package/dist/common/schema/parse-env.cjs +1 -1
- package/dist/common/schema/parse-env.js +1 -1
- package/dist/common/schema/parse-object.cjs +1 -1
- package/dist/common/schema/parse-object.js +1 -1
- package/dist/common/test.cjs +1 -1
- package/dist/common/test.js +1 -1
- package/dist/index.all.cjs +1 -1
- package/dist/index.all.cjs.map +1 -1
- package/dist/index.all.d.cts +1 -1
- package/dist/index.all.d.ts +1 -1
- package/dist/index.all.js +1 -1
- package/dist/index.browser.cjs +1 -1
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.d.cts +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.node.cjs +1 -1
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.cts +1 -1
- package/dist/index.node.d.ts +1 -1
- package/dist/index.node.js +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/log/index.cjs +1 -1
- package/dist/node/log/index.js +1 -1
- package/dist/node/log/log-context-node.cjs +1 -1
- package/dist/node/log/log-context-node.js +1 -1
- package/dist/node/log/log-node.cjs +1 -1
- package/dist/node/log/log-node.js +1 -1
- package/package.json +4 -3
- package/src/common/bin/lib0/buffer.spec.ts +24 -0
- package/src/common/bin/lib0/create.spec.ts +17 -0
- package/src/common/bin/lib0/decoding.spec.ts +105 -0
- package/src/common/bin/lib0/encoding.spec.ts +87 -0
- package/src/common/bin/lib0/string.spec.ts +34 -0
- package/src/common/crypto/crypto.spec.ts +29 -0
- package/src/common/data/basex-secure.spec.ts +149 -17
- package/src/common/data/bin.spec.ts +92 -2
- package/src/common/data/convert.spec.ts +36 -1
- package/src/common/data/convert.ts +25 -6
- package/src/common/data/datauri.spec.ts +19 -1
- package/src/common/data/decimal.spec.ts +22 -1
- package/src/common/data/decimal.ts +1 -1
- package/src/common/data/html.spec.ts +30 -0
- package/src/common/data/lru.spec.ts +7 -0
- package/src/common/data/sorted.spec.ts +39 -0
- package/src/common/data/string-hash-fnv.spec.ts +30 -0
- package/src/common/data/url.spec.ts +31 -1
- package/src/common/data/url.ts +11 -9
- package/src/common/dispose-types.spec.ts +19 -0
- package/src/common/dispose-utils.spec.ts +106 -11
- package/src/common/global.spec.ts +81 -0
- package/src/common/network.spec.ts +96 -1
- package/src/common/schema/utils.spec.ts +43 -0
- package/src/common/types.spec.ts +8 -0
- package/dist/chunk-4XMXPBU6.js +0 -4
- package/dist/chunk-C3K57SFI.js +0 -2
- package/dist/chunk-C3K57SFI.js.map +0 -1
- package/dist/chunk-F4GRMBV3.cjs +0 -2
- package/dist/chunk-F4GRMBV3.cjs.map +0 -1
- package/dist/chunk-IYBY6ENO.js +0 -2
- package/dist/chunk-IYBY6ENO.js.map +0 -1
- package/dist/chunk-W4WB3XUA.cjs +0 -2
- package/dist/chunk-YY4O3W2T.cjs.map +0 -1
- /package/dist/{chunk-JTGBINRM.js.map → chunk-GCKHNLXS.js.map} +0 -0
- /package/dist/{chunk-UV7JEZC2.js.map → chunk-GG26PPQA.js.map} +0 -0
- /package/dist/{chunk-U5PG2BGY.js.map → chunk-KMMCASCC.js.map} +0 -0
- /package/dist/{chunk-GZLUG4MW.js.map → chunk-MEROP44F.js.map} +0 -0
- /package/dist/{chunk-4AGAYWJZ.js.map → chunk-Q7GFBEOT.js.map} +0 -0
- /package/dist/{chunk-IRWPUQDQ.js.map → chunk-T3QCCCRC.js.map} +0 -0
- /package/src/{common/eslint-defaults.js → eslint-defaults.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkXVZUY2IScjs = require('./chunk-XVZUY2IS.cjs');var _chunkWSRQ3X55cjs = require('./chunk-WSRQ3X55.cjs');var _chunkJAKUA4CCcjs = require('./chunk-JAKUA4CC.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkXH7UHZOFcjs = require('./chunk-XH7UHZOF.cjs');var _chunkZ7QS7VD4cjs = require('./chunk-Z7QS7VD4.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function P(o,p){_chunkZ7QS7VD4cjs.b.call(void 0, _optionalChain([o, 'optionalAccess', _2 => _2._object]),"schema should be of type object"),_chunkZ7QS7VD4cjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let{env:i=_nullishCoalesce(_optionalChain([process, 'optionalAccess', _3 => _3.env]), () => ({})),prefix:s="",prefixOptional:r=!1}=_nullishCoalesce(p, () => ({})),c=s.length,n=_nullishCoalesce(_optionalChain([p, 'optionalAccess', _4 => _4.existing]), () => ({}));return _chunkJAKUA4CCcjs.a.call(void 0, o._object,(a,t)=>{let T=_nullishCoalesce(n[a], () => (t._default));if(_optionalChain([t, 'access', _5 => _5._meta, 'optionalAccess', _6 => _6.envSkip]))return T;let x=_chunkXH7UHZOFcjs.d.call(void 0, a,"_").toUpperCase(),b=s+_chunkXH7UHZOFcjs.d.call(void 0, a,"_").toUpperCase(),e=i[x];return c>0&&(r===!0?e=_nullishCoalesce(i[b], () => (e)):e=i[b]),e===void 0?T:(t.type==="number"?e=_chunk3P4XRJ23cjs.h.call(void 0, e,t._default):t.type==="boolean"&&(t._default===!0?e=_chunk3P4XRJ23cjs.g.call(void 0, e):e=_chunk3P4XRJ23cjs.f.call(void 0, e,!1)),_chunkXVZUY2IScjs.c.call(void 0, t,e))})}_chunkP7XCQ7WVcjs.a.call(void 0, P,"parseSchemaEnv");function $(o,p="",i=!1,s=!1){_chunkZ7QS7VD4cjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let r=[];return _chunkJAKUA4CCcjs.a.call(void 0, o._object,(c,n)=>{if((_optionalChain([n, 'access', _7 => _7._meta, 'optionalAccess', _8 => _8.envPrivate])||_optionalChain([n, 'access', _9 => _9._meta, 'optionalAccess', _10 => _10.envSkip]))&&!s)return;let a=_nullishCoalesce(_optionalChain([n, 'access', _11 => _11._meta, 'optionalAccess', _12 => _12.envDesc]), () => (_optionalChain([n, 'access', _13 => _13._meta, 'optionalAccess', _14 => _14.desc])));a&&a.trim().split(`
|
|
2
2
|
`).forEach(t=>{r.push(`# ${t.trim()}`)}),r.push(`${i?"# ":""}${p+_chunkXH7UHZOFcjs.d.call(void 0, c,"_").toUpperCase()}=${_nullishCoalesce(n._default, () => (""))}`),r.push("")}),r.join(`
|
|
3
3
|
`)}_chunkP7XCQ7WVcjs.a.call(void 0, $,"stringFromSchemaEnv");exports.a = P; exports.b = $;
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
4
|
+
//# sourceMappingURL=chunk-34CCV7QU.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-34CCV7QU.cjs","../src/common/schema/parse-env.ts"],"names":["parseSchemaEnv","schema","opt","assert","isSchemaObjectFlat","env","prefix","prefixOptional","pl","existing","objectMap","key","defaultValue","envKey","fromCamelCase","envKeyWithPrefix","value","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject","__name","stringFromSchemaEnv","commentOut","showPrivate","lines","desc","line"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-34CCV7QU.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var e=["1","true","yes","y","on"],u=["0","false","no","n","off"];function i(n){try{let r=Number.parseFloat(n);return Number.isNaN(r)?void 0:r}catch (e2){return}}_chunkP7XCQ7WVcjs.a.call(void 0, i,"parseFloat");function f(n,r=10){try{let o=Number.parseInt(n,r);return Number.isNaN(o)?void 0:o}catch (e3){return}}_chunkP7XCQ7WVcjs.a.call(void 0, f,"parseInt");function g(n,r=!1){return n==null||typeof n!="string"?r:e.includes(String(n).trim().toLowerCase())}_chunkP7XCQ7WVcjs.a.call(void 0, g,"stringToBoolean");function m(n,r=0){return n==null||typeof n!="string"?r:_nullishCoalesce(f(n.trim(),10), () => (r))}_chunkP7XCQ7WVcjs.a.call(void 0, m,"stringToInteger");function b(n,r=0){return n==null||typeof n!="string"?r:_nullishCoalesce(i(n.trim()), () => (r))}_chunkP7XCQ7WVcjs.a.call(void 0, b,"stringToFloat");function s(n,r=!1){return n==null?r:typeof n=="boolean"?n:typeof n=="number"?n!==0:e.includes(String(n).trim().toLowerCase())}_chunkP7XCQ7WVcjs.a.call(void 0, s,"valueToBoolean");function x(n,r=!0){return n==null?r:typeof n=="boolean"?n:typeof n=="number"?n!==0:!u.includes(String(n).trim().toLowerCase())}_chunkP7XCQ7WVcjs.a.call(void 0, x,"valueToBooleanNotFalse");function p(n,r=0){return n==null?r:typeof n=="boolean"?n?1:0:typeof n=="number"?Math.floor(n):_nullishCoalesce(f(String(n).trim(),10), () => (r))}_chunkP7XCQ7WVcjs.a.call(void 0, p,"valueToInteger");function c(n,r=0){return n==null?r:typeof n=="boolean"?n?1:0:typeof n=="number"?Math.floor(n):_nullishCoalesce(i(String(n).trim()), () => (r))}_chunkP7XCQ7WVcjs.a.call(void 0, c,"valueToFloat");function y(n,r=""){return n==null?r:_nullishCoalesce(String(n), () => (r))}_chunkP7XCQ7WVcjs.a.call(void 0, y,"valueToString");var d=c,S= exports.l =p,a= exports.m =y,T= exports.n =s;function l(n){try{return decodeURIComponent(escape(n))}catch (e4){}return n}_chunkP7XCQ7WVcjs.a.call(void 0, l,"fixBrokenUtf8String");exports.a = i; exports.b = f; exports.c = g; exports.d = m; exports.e = b; exports.f = s; exports.g = x; exports.h = p; exports.i = c; exports.j = y; exports.k = d; exports.l = S; exports.m = a; exports.n = T; exports.o = l;
|
|
2
|
+
//# sourceMappingURL=chunk-3P4XRJ23.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-3P4XRJ23.cjs","../src/common/data/convert.ts"],"names":["TRUE_VALUES_LIST","FALSE_VALUES_LIST","parseFloat","value","parsed","__name","parseInt","radix","stringToBoolean","defaultValue","stringToInteger","stringToFloat","valueToBoolean","valueToBooleanNotFalse","valueToInteger","valueToFloat","valueToString","toFloat","toInt","toString","toBool","fixBrokenUtf8String","brokenString"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-3P4XRJ23.cjs","sourcesContent":[null,"\n// import { jsonStringify } from './json'\n\nconst TRUE_VALUES_LIST = ['1', 'true', 'yes', 'y', 'on']\nconst FALSE_VALUES_LIST = ['0', 'false', 'no', 'n', 'off']\n\n/** Like Number.parseFloat, but returning `undefined` instead of `NaN` */\nexport function parseFloat(value: any): number | undefined {\n try {\n const parsed = Number.parseFloat(value)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n/** Like Number.parseInt, but returning `undefined` instead of `NaN` */\nexport function parseInt(value: any, radix = 10): number | undefined {\n try {\n const parsed = Number.parseInt(value, radix)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n\nexport function stringToBoolean(value?: string, defaultValue = false): boolean {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\nexport function stringToInteger(value?: string, defaultValue = 0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseInt(value.trim(), 10) ?? defaultValue\n}\n\nexport function stringToFloat(value?: string, defaultValue = 0.0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseFloat(value.trim()) ?? defaultValue\n}\n\n/** `true` is a number != 0, a string stating `true`. Otherwise false. */\nexport function valueToBoolean(value?: any, defaultValue = false): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\n/** Explicitly has to have a `false` value to become `false`, otherwise `true` */\nexport function valueToBooleanNotFalse(value?: any, defaultValue = true): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return !(FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase()))\n}\n\nexport function valueToInteger(value?: any, defaultValue = 0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseInt(String(value).trim(), 10) ?? defaultValue\n}\n\nexport function valueToFloat(value?: any, defaultValue = 0.0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseFloat(String(value).trim()) ?? defaultValue\n}\n\nexport function valueToString(value?: any, defaultValue = ''): string {\n if (value == null)\n return defaultValue\n // if (value == \"\") return defaultValue // ???\n return String(value) ?? defaultValue\n}\n\n// todo: toDate, toTimestamp, toData(value, base=64)\n\n// export function mapToObject<T>(map: Map<string, T>): { [key: string]: T } {\n// return Object.fromEntries(map)\n// }\n\n// export function objectToMap<T>(obj: { [key: string]: T }): Map<string, T> {\n// return new Map(Object.entries(obj))\n// }\n\n// Shortcuts\n\nexport const toFloat = valueToFloat\nexport const toInt = valueToInteger\nexport const toString = valueToString\nexport const toBool = valueToBoolean\n\n\n// Awesome trick from https://stackoverflow.com/a/5396742/140927\nexport function fixBrokenUtf8String(brokenString: string): string {\n try {\n return decodeURIComponent(escape(brokenString))\n }\n catch (e) {\n // log.debug(\"fixString failed for\", s)\n }\n return brokenString\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkZZAUZPWHcjs = require('./chunk-ZZAUZPWH.cjs');var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkZZAUZPWHcjs = require('./chunk-ZZAUZPWH.cjs');var _chunkZQQ57CEMcjs = require('./chunk-ZQQ57CEM.cjs');var _chunkIA2OMOCBcjs = require('./chunk-IA2OMOCB.cjs');var _chunkCGQVOMRYcjs = require('./chunk-CGQVOMRY.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkRMNY7B3Pcjs = require('./chunk-RMNY7B3P.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var _process = require('process'); var _process2 = _interopRequireDefault(_process);function v(e,r){return _chunkRMNY7B3Pcjs.a.call(void 0, g=>{let i=[_chunkZQQ57CEMcjs.d.call(void 0, {padding:32,nameBrackets:!1})],m=_nullishCoalesce(_process2.default.env.ZEED_LOG, () => (_process2.default.env.LOG)),L=_chunk3P4XRJ23cjs.f.call(void 0, _process2.default.env.ZEED_TIME,!0),c=_chunk3P4XRJ23cjs.f.call(void 0, _process2.default.env.ZEED_PRETTY,!1);m&&i.unshift(_chunkZZAUZPWHcjs.a.call(void 0, _chunkIA2OMOCBcjs.e.call(void 0, m),{time:L,pretty:c})),g.setHandlers(i)})(e,r)}_chunkP7XCQ7WVcjs.a.call(void 0, v,"Logger");function F(e,r,g){return _chunkCGQVOMRYcjs.a.call(void 0, v,e,r,g)}_chunkP7XCQ7WVcjs.a.call(void 0, F,"LoggerFromConfig");exports.a = v; exports.b = F;
|
|
2
|
+
//# sourceMappingURL=chunk-4XNMHAMH.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-4XNMHAMH.cjs","../src/node/log/log-context-node.ts"],"names":["Logger","name","level","getGlobalLogger","context","handlers","LoggerNodeHandler","logFilePath","process","time","valueToBoolean","pretty","LoggerFileHandler","toPath","__name","LoggerFromConfig","config","_LoggerFromConfig"],"mappings":"AAAA,qUAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,oFCE1Q,SAQJA,CAAAA,CAAOC,CAAAA,CAAeC,CAAAA,CAA4C,CAChF,OAAOC,iCAAAA,CAAiBC,EAAY,CAClC,IAAMC,CAAAA,CAAW,CACfC,iCAAAA,CACE,OAAA,CAAS,EAAA,CACT,YAAA,CAAc,CAAA,CAEhB,CAAC,CACH,CAAA,CAEMC,CAAAA,kBAAcC,iBAAAA,CAAQ,GAAA,CAAI,QAAA,SAAYA,iBAAAA,CAAQ,GAAA,CAAI,KAAA,CAClDC,CAAAA,CAAOC,iCAAAA,iBAAeF,CAAQ,GAAA,CAAI,SAAA,CAAW,CAAA,CAAI,CAAA,CACjDG,CAAAA,CAASD,iCAAAA,iBAAeF,CAAQ,GAAA,CAAI,WAAA,CAAa,CAAA,CAAK,CAAA,CACxDD,CAAAA,EACFF,CAAAA,CAAS,OAAA,CAAQO,iCAAAA,iCAAkBC,CAAkB,CAAA,CAAG,CAAE,IAAA,CAAAJ,CAAAA,CAAM,MAAA,CAAAE,CAAO,CAAC,CAAC,CAAA,CAE3EP,CAAAA,CAAQ,WAAA,CAAYC,CAAQ,CAC9B,CAAC,CAAA,CAAEJ,CAAAA,CAAMC,CAAK,CAChB,CAlBgBY,iCAAAA,CAAAd,CAAA,QAAA,CAAA,CAqBT,SAASe,CAAAA,CAAiBC,CAAAA,CAAmBf,CAAAA,CAAcC,CAAAA,CAA4C,CAC5G,OAAOe,iCAAAA,CAAkBjB,CAAQgB,CAAAA,CAAQf,CAAAA,CAAMC,CAAK,CACtD,CAFgBY,iCAAAA,CAAAC,CAAA,kBAAA,CAAA,CAAA,6BAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-4XNMHAMH.cjs","sourcesContent":[null,"import type { LoggerInterface, LogLevelAliasType } from '../../common/log/log-base'\nimport type { LogConfig } from '../../common/log/log-config'\nimport process from 'node:process'\nimport { valueToBoolean } from '../../common/data/convert'\nimport { getGlobalLogger } from '../../common/log/log'\nimport { _LoggerFromConfig } from '../../common/log/log-config'\nimport { toPath } from '../env'\nimport { LoggerFileHandler } from './log-file'\nimport { LoggerNodeHandler } from './log-node'\n\nexport function Logger(name?: string, level?: LogLevelAliasType): LoggerInterface {\n return getGlobalLogger((context) => {\n const handlers = [\n LoggerNodeHandler({\n padding: 32,\n nameBrackets: false,\n // levelHelper: false,\n }),\n ]\n\n const logFilePath = process.env.ZEED_LOG ?? process.env.LOG\n const time = valueToBoolean(process.env.ZEED_TIME, true)\n const pretty = valueToBoolean(process.env.ZEED_PRETTY, false)\n if (logFilePath)\n handlers.unshift(LoggerFileHandler(toPath(logFilePath), { time, pretty }))\n\n context.setHandlers(handlers)\n })(name, level)\n}\n\n/** See LogConfig */\nexport function LoggerFromConfig(config: LogConfig, name: string, level?: LogLevelAliasType): LoggerInterface {\n return _LoggerFromConfig(Logger, config, name, level)\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUINKOPBQcjs = require('./chunk-UINKOPBQ.cjs');var _chunk356FY6N3cjs = require('./chunk-356FY6N3.cjs');var _chunkEWCM2YDAcjs = require('./chunk-EWCM2YDA.cjs');var _chunkRMNY7B3Pcjs = require('./chunk-RMNY7B3P.cjs');var _chunkO374Z5NRcjs = require('./chunk-O374Z5NR.cjs');var _chunkSTZTE6KHcjs = require('./chunk-STZTE6KH.cjs');var _chunkOFD5OA4Dcjs = require('./chunk-OFD5OA4D.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var p={cache:"no-cache",redirect:"follow",headers:{}};function T(r){let e=/:\/\/([^@]*)@/.exec(r);if(e&&e[1]){let[n,t]=e[1].split(":",2);return{url:r.replace(`${e[1]}@`,""),username:n,password:t}}}_chunkP7XCQ7WVcjs.a.call(void 0, T,"parseBasicAuth");async function m(r,e={},n=fetch){try{_chunkO374Z5NRcjs.e.call(void 0, e)&&(e=_chunk356FY6N3cjs.c.call(void 0, {},..._chunkEWCM2YDAcjs.d.call(void 0, e)));let t=T(String(r));t&&(r=t.url,e=_chunk356FY6N3cjs.c.call(void 0, {},e,l(t.username,t.password))),e.headers!=null&&!(e.headers instanceof Headers)&&(e.headers=new Headers(e.headers));let s=await n(String(r),e);if(s.status<400)return s;let a=_chunkRMNY7B3Pcjs.c.call(void 0, "zeed:network");try{a.warn(`Fetch of ${String(r)} returned status=${s.status}. Options:`,e),a.warn(`Response: ${await s.text()}`)}catch(g){a.error("Exception:",g)}}catch(t){_chunkRMNY7B3Pcjs.c.call(void 0, "zeed:network").error("fetchBasic",t)}}_chunkP7XCQ7WVcjs.a.call(void 0, m,"fetchBasic");async function S(r,e={},n=fetch){try{let t=await m(r,[{method:"GET",headers:{Accept:"application/json"}},e],n);if(t)return await t.json()}catch(t){_chunkRMNY7B3Pcjs.c.call(void 0, "zeed:network").error("fetchJSON error:",t)}}_chunkP7XCQ7WVcjs.a.call(void 0, S,"fetchJson");async function A(r,e={},n=fetch){try{let t=await m(r,[p,{method:"GET"},e],n);if(t)return await t.text()}catch(t){_chunkRMNY7B3Pcjs.c.call(void 0, "zeed:network").error("fetchHTML error:",t)}}_chunkP7XCQ7WVcjs.a.call(void 0, A,"fetchText");function C(r,e="POST"){return{method:e,...p,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:_chunkUINKOPBQcjs.c.call(void 0, r)}}_chunkP7XCQ7WVcjs.a.call(void 0, C,"fetchOptionsFormURLEncoded");function I(r,e="POST"){return{method:e,...p,headers:{"Content-Type":"application/json; charset=utf-8"},body:_chunkOFD5OA4Dcjs.b.call(void 0, r)}}_chunkP7XCQ7WVcjs.a.call(void 0, I,"fetchOptionsJson");function l(r,e){return{headers:{Authorization:`Basic ${_chunkSTZTE6KHcjs.J.call(void 0, `${r}:${e}`)}`}}}_chunkP7XCQ7WVcjs.a.call(void 0, l,"fetchOptionsBasicAuth");exports.a = T; exports.b = m; exports.c = S; exports.d = A; exports.e = C; exports.f = I; exports.g = l;
|
|
2
|
+
//# sourceMappingURL=chunk-DKVRDFFK.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-DKVRDFFK.cjs","../src/common/network.ts"],"names":["defaultOptions","parseBasicAuth","url","m","username","password"],"mappings":"AAAA,iIAAwC,wDAAoC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,ICmD5TA,CAAAA,CAAkC,CACtC,KAAA,CAAO,UAAA,CACP,QAAA,CAAU,QAAA,CACV,OAAA,CAAS,CAAC,CACZ,CAAA,CAcO,SAASC,CAAAA,CAAeC,CAAAA,CAAa,CAC1C,IAAMC,CAAAA,CAAI,eAAA,CAAgB,IAAA,CAAKD,CAAG,CAAA,CAClC,EAAA,CAAIC,CAAAA,EAAKA,CAAAA,CAAE,CAAC,CAAA,CAAG,CACb,GAAM,CAACC,CAAAA,CAAUC,CAAQ,CAAA,CAAIF,CAAAA,CAAE,CAAC,CAAA,CAAE,KAAA,CAAM,GAAA,CAAK,CAAC,CAAA,CAC9C,MAAO,CACL,GAAA,CAAKD,CAAAA,CAAI,OAAA,CAAQ,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-DKVRDFFK.cjs","sourcesContent":[null,"import type { Json } from './types'\nimport { arrayFlatten } from './data/array'\nimport { toBase64 } from './data/bin'\nimport { deepMerge } from './data/deep'\nimport { isArray } from './data/is'\nimport { jsonStringifySafe } from './data/json'\nimport { encodeQuery } from './data/url'\nimport { DefaultLogger } from './log/log'\n\n// TODO: Abort signal https://codedrivendevelopment.com/posts/everything-about-abort-signal-timeout\n\n/**\n * Options for fetch requests.\n * @category Network\n */\nexport interface fetchOptionType {\n /** Returns the cache mode associated with request, which is a string indicating how the request will interact with the browser's cache when fetching. */\n cache?: RequestCache\n /** Returns the credentials mode associated with request, which is a string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. */\n credentials?: RequestCredentials\n /** Returns the kind of resource requested by request, e.g., \"document\" or \"script\". */\n destination?: RequestDestination\n /** Returns a Headers object consisting of the headers associated with request. Note that headers added in the network layer by the user agent will not be accounted for in this object, e.g., the \"Host\" header. */\n headers?: Record<string, string>\n /** Returns request's subresource integrity metadata, which is a cryptographic hash of the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] */\n integrity?: string\n /** Returns a boolean indicating whether or not request can outlive the global in which it was created. */\n keepalive?: boolean\n /** Returns request's HTTP method, which is \"GET\" by default. */\n method?: string\n /** Returns the mode associated with request, which is a string indicating whether the request will use CORS, or will be restricted to same-origin URLs. */\n mode?: RequestMode\n /** Returns the redirect mode associated with request, which is a string indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. */\n redirect?: RequestRedirect\n /** Returns the referrer of request. Its value can be a same-origin URL if explicitly set in init, the empty string to indicate no referrer, and \"about:client\" when defaulting to the global's default. This is used during fetching to determine the value of the `Referer` header of the request being made. */\n referrer?: string\n /** Returns the referrer policy associated with request. This is used during fetching to compute the value of the request's referrer. */\n referrerPolicy?: ReferrerPolicy\n /** Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort event handler. */\n signal?: AbortSignal\n /** Returns the URL of request as a string. */\n url?: string\n body?: any\n}\n\n/**\n * Type for fetch options, can be a single option or an array of options.\n * @category Network\n */\nexport type fetchOptionsType = fetchOptionType | fetchOptionsType[]\n\nconst defaultOptions: fetchOptionType = {\n cache: 'no-cache',\n redirect: 'follow',\n headers: {},\n}\n\n// Source https://developer.mozilla.org/de/docs/Web/HTTP/Methods\nexport type httpMethod\n = | 'GET'\n | 'POST'\n | 'PUT'\n | 'DELETE'\n | 'HEAD'\n | 'CONNECT'\n | 'OPTIONS'\n | 'TRACE'\n | 'PATCH'\n\nexport function parseBasicAuth(url: string) {\n const m = /:\\/\\/([^@]*)@/.exec(url)\n if (m && m[1]) {\n const [username, password] = m[1].split(':', 2)\n return {\n url: url.replace(`${m[1]}@`, ''),\n username,\n password,\n }\n }\n}\n\n/** Simplified `fetch` that returns `undefined` on non 200 status */\nexport async function fetchBasic(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<Response | undefined> {\n try {\n if (isArray(fetchOptions))\n fetchOptions = deepMerge({}, ...arrayFlatten(fetchOptions))\n\n const auth = parseBasicAuth(String(url))\n if (auth) {\n url = auth.url\n fetchOptions = deepMerge(\n {},\n fetchOptions,\n fetchOptionsBasicAuth(auth.username, auth.password),\n )\n }\n\n if (\n // @ts-expect-error headers\n fetchOptions.headers != null\n // @ts-expect-error headers\n && !(fetchOptions.headers instanceof Headers)\n ) {\n // @ts-expect-error headers\n fetchOptions.headers = new Headers(fetchOptions.headers)\n }\n\n // log(\"fetch\", url, fetchOptions)\n const response = await fetchFn(String(url), fetchOptions as RequestInit)\n\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n if (response.status < 400)\n return response\n\n const log = DefaultLogger('zeed:network')\n\n try {\n log.warn(`Fetch of ${String(url)} returned status=${response.status}. Options:`, fetchOptions)\n log.warn(`Response: ${await response.text()}`)\n }\n catch (err) {\n log.error('Exception:', err)\n }\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchBasic', err)\n }\n}\n\n/** Fetch for JSON */\nexport async function fetchJson<T = Json>(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<T | undefined> {\n try {\n const res = await fetchBasic(\n url,\n [\n {\n method: 'GET',\n headers: {\n Accept: 'application/json',\n },\n },\n fetchOptions,\n ],\n fetchFn,\n )\n if (res)\n return await res.json()\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchJSON error:', err)\n }\n}\n\n/** Fetch for text */\nexport async function fetchText(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<string | undefined> {\n try {\n const res = await fetchBasic(\n url,\n [defaultOptions, { method: 'GET' }, fetchOptions],\n fetchFn,\n )\n if (res)\n return await res.text()\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchHTML error:', err)\n }\n}\n\n///\n\n/** Options for fetchBasic to send data as application/x-www-form-urlencoded */\nexport function fetchOptionsFormURLEncoded(\n data: object,\n method: httpMethod = 'POST',\n): fetchOptionType {\n return {\n method,\n ...defaultOptions,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n },\n body: encodeQuery(data),\n }\n}\n\n/** Options to send data as JSON */\nexport function fetchOptionsJson(\n data: object,\n method: httpMethod = 'POST',\n): fetchOptionType {\n return {\n method,\n ...defaultOptions,\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n // Accept: \"application/json\",\n },\n body: jsonStringifySafe(data),\n }\n}\n\n/** Options to pass basic auth */\nexport function fetchOptionsBasicAuth(\n username: string,\n password: string,\n): fetchOptionType {\n return {\n headers: {\n Authorization: `Basic ${toBase64(`${username}:${password}`)}`,\n },\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{c as d}from"./chunk-
|
|
1
|
+
import{c as d}from"./chunk-KMMCASCC.js";import{e as y}from"./chunk-GAJVPW4Z.js";import{a as c}from"./chunk-K7WC72DE.js";import{h as T}from"./chunk-WFBD5UN5.js";import{a as i,d as u}from"./chunk-LXMVVR3R.js";import{b as f}from"./chunk-2WAMDDFH.js";import{a as m}from"./chunk-5NKC2EQJ.js";function A(o,l=process?.argv??{}){f(y(o),"schema should be a flat object");let p={},t=[];c(o._object,(r,e)=>{e._meta?.argShort&&(p[i(e._meta.argShort)]=i(r)),e.type==="boolean"&&t.push(i(r))});let a=[...l],s,b=[],g={};for(;s=a.shift();){let r;if(/^--?/.test(s)){let e=s.replace(/^--?/,"");if(s.includes("=")){let[n,h]=e.split("=",2);e=n.trim(),r=h.trim()}e=i(e),e=p[e]??e,t.includes(e)?g[e]=!0:(r=r??a.shift()??"",g[e]=r)}else b.push(s)}return[c(o._object,(r,e)=>{let n=g[i(r)];return e.type==="number"&&n!=null&&(n=T(n)),d(e,n)}),b]}m(A,"parseSchemaArgs");function O(o){f(y(o),"schema should be a flat object");let l=[];return c(o._object,(p,t)=>{let a=`--${u(p)}`;t._meta?.argShort&&(a+=`, -${u(t._meta.argShort)}`),t.type!=="boolean"&&(a+=`=${t.type}`),l.push(a);let s=t._meta?.argDesc??t._meta?.desc;s&&l.push(` ${s}`)}),l.join(`
|
|
2
2
|
`)}m(O,"helpSchemaArgs");export{A as a,O as b};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-GCKHNLXS.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p}from"./chunk-AMTND5E7.js";import{d as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p}from"./chunk-AMTND5E7.js";import{d as s}from"./chunk-Q7GFBEOT.js";import{e as a}from"./chunk-JDYZOWCH.js";import{a as l}from"./chunk-SINRSKMZ.js";import{f as n}from"./chunk-WFBD5UN5.js";import{a as f}from"./chunk-XI5OG3BF.js";import{a as t}from"./chunk-5NKC2EQJ.js";import o from"process";function v(e,r){return f(g=>{let i=[s({padding:32,nameBrackets:!1})],m=o.env.ZEED_LOG??o.env.LOG,L=n(o.env.ZEED_TIME,!0),c=n(o.env.ZEED_PRETTY,!1);m&&i.unshift(p(a(m),{time:L,pretty:c})),g.setHandlers(i)})(e,r)}t(v,"Logger");function F(e,r,g){return l(v,e,r,g)}t(F,"LoggerFromConfig");export{v as a,F as b};
|
|
2
|
+
//# sourceMappingURL=chunk-GG26PPQA.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as n}from"./chunk-5NKC2EQJ.js";function u(t,e=2){return+(+t).toFixed(e)}n(u,"decimal");function r(t,e=2){return+(+t/10**e).toFixed(e)}n(r,"decimalFromCents");function i(t,e=2){return Math.round(+t*10**e)}n(i,"decimalToCents");function a(t,e=2){return e*(u(t,e)%1)}n(a,"decimalCentsPart");export{u as a,r as b,i as c,a as d};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as n}from"./chunk-5NKC2EQJ.js";function u(t,e=2){return+(+t).toFixed(e)}n(u,"decimal");function r(t,e=2){return+(+t/10**e).toFixed(e)}n(r,"decimalFromCents");function i(t,e=2){return Math.round(+t*10**e)}n(i,"decimalToCents");function a(t,e=2){return 10**e*(u(t,e)%1)}n(a,"decimalCentsPart");export{u as a,r as b,i as c,a as d};
|
|
2
|
+
//# sourceMappingURL=chunk-K3UKE3RK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/data/decimal.ts"],"sourcesContent":["export type DecimalValue = number\nexport type DecimalInput = number | string | DecimalValue\n\n/** \n * The float returned is guaraneteed to have only the `decimalPlaces` length,\n * no rounding errors or float arithmetic artefacts. \n */\nexport function decimal(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return +(+value).toFixed(decimalPlaces)\n}\n\n/** `123` becomes `1.23` */\nexport function decimalFromCents(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return +(+value / 10 ** decimalPlaces).toFixed(decimalPlaces)\n}\n\n/** `1.23` becomes `123` */\nexport function decimalToCents(\n value: DecimalInput,\n decimalPlaces = 2,\n): number {\n return Math.round(+value * 10 ** decimalPlaces)\n}\n\n/** `1.23` becomes `23` */\nexport function decimalCentsPart(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return decimalPlaces * (decimal(value, decimalPlaces) % 1)\n}\n"],"mappings":"wCAOO,SAASA,EACdC,EACAC,EAAgB,EACF,CACd,MAAO,EAAE,CAACD,GAAO,QAAQC,CAAa,CACxC,CALgBC,EAAAH,EAAA,WAQT,SAASI,EACdH,EACAC,EAAgB,EACF,CACd,MAAO,EAAE,CAACD,EAAQ,IAAMC,GAAe,QAAQA,CAAa,CAC9D,CALgBC,EAAAC,EAAA,oBAQT,SAASC,EACdJ,EACAC,EAAgB,EACR,CACR,OAAO,KAAK,MAAM,CAACD,EAAQ,IAAMC,CAAa,CAChD,CALgBC,EAAAE,EAAA,kBAQT,SAASC,EACdL,EACAC,EAAgB,EACF,CACd,
|
|
1
|
+
{"version":3,"sources":["../src/common/data/decimal.ts"],"sourcesContent":["export type DecimalValue = number\nexport type DecimalInput = number | string | DecimalValue\n\n/** \n * The float returned is guaraneteed to have only the `decimalPlaces` length,\n * no rounding errors or float arithmetic artefacts. \n */\nexport function decimal(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return +(+value).toFixed(decimalPlaces)\n}\n\n/** `123` becomes `1.23` */\nexport function decimalFromCents(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return +(+value / 10 ** decimalPlaces).toFixed(decimalPlaces)\n}\n\n/** `1.23` becomes `123` */\nexport function decimalToCents(\n value: DecimalInput,\n decimalPlaces = 2,\n): number {\n return Math.round(+value * 10 ** decimalPlaces)\n}\n\n/** `1.23` becomes `23` */\nexport function decimalCentsPart(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return 10 ** decimalPlaces * (decimal(value, decimalPlaces) % 1)\n}\n"],"mappings":"wCAOO,SAASA,EACdC,EACAC,EAAgB,EACF,CACd,MAAO,EAAE,CAACD,GAAO,QAAQC,CAAa,CACxC,CALgBC,EAAAH,EAAA,WAQT,SAASI,EACdH,EACAC,EAAgB,EACF,CACd,MAAO,EAAE,CAACD,EAAQ,IAAMC,GAAe,QAAQA,CAAa,CAC9D,CALgBC,EAAAC,EAAA,oBAQT,SAASC,EACdJ,EACAC,EAAgB,EACR,CACR,OAAO,KAAK,MAAM,CAACD,EAAQ,IAAMC,CAAa,CAChD,CALgBC,EAAAE,EAAA,kBAQT,SAASC,EACdL,EACAC,EAAgB,EACF,CACd,MAAO,KAAMA,GAAiBF,EAAQC,EAAOC,CAAa,EAAI,EAChE,CALgBC,EAAAG,EAAA","names":["decimal","value","decimalPlaces","__name","decimalFromCents","decimalToCents","decimalCentsPart"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{f as c,h as y,i as _,j as g}from"./chunk-WFBD5UN5.js";import{b as p}from"./chunk-OUECSWGN.js";import{b as o}from"./chunk-UMYL2PX5.js";import{a as s}from"./chunk-5NKC2EQJ.js";function T(e){if(e._default!==void 0)return o(e._default)?e._default(e):e._default;if(!e._optional&&e._object){let t={};for(let a in e._object){let l=e._object[a],i=T(l);i!==void 0&&(t[a]=i)}return t}}s(T,"schemaCreateObject");function k(e,t,a){let l=a?.messages||[];function i(n,f=!1){return l.push({path:`.${a?.path??""}`,message:n,valid:f,type:e.type}),f}if(s(i,"addMessage"),t==null&&e._optional)return i("Optional",!0);if(e._object){if(a?.allowExtra!==!0){let n=Object.keys(e._object),f=Object.keys(t||{}),r=p(f,n);if(r.length>0)return i(`Extra properties: ${r.join(", ")}`,!1)}for(let n in e._object){let f=e._object[n];if(!k(f,t[n],{...a,path:a?.path?`${a.path}.${n}`:n,messages:l}))return i(`Invalid property '${n}'`,!1)}return i("Object valid",!0)}if(o(e._check)){let n=e._check(t);return i("Check",n)}return i("Primitive valid",!1)}s(k,"schemaValidateObject");function v(e,t,a){let l=a?.messages||[];function i(n,f=!1){return l.push({path:`.${a?.path??""}`,message:n,valid:f,type:e.type}),f}if(s(i,"addMessage"),t==null){if(e._optional){i("Optional",!0);return}if(e._default!==void 0)return i("Default",!0),o(e._default)?e._default(e):e._default;e._object&&(t={})}if(e._object){let n={},f=e._object;for(let r in f){let u=f[r],d=v(u,t[r],{...a,path:a?.path?`${a.path}.${r}`:r,messages:l});d!==void 0?n[r]=d:u._default!==void 0?n[r]=o(u._default)?u._default(u):u._default:u._optional&&t&&typeof t=="object"&&r in t&&(n[r]=void 0)}if(a?.allowExtra&&t&&typeof t=="object")for(let[r,u]of Object.entries(t))r in f||(n[r]=u);return n}if(t!=null){if(e.type==="string")t=g(t);else if(e.type==="boolean")t=c(t);else if(e.type==="number"){if(t=_(t),Number.isNaN(t)){i(`Invalid number: ${t}`,!1);return}}else if(e.type==="int"&&(t=y(t),Number.isNaN(t))){i(`Invalid number: ${t}`,!1);return}}if(o(e._check)){let n=e._check(t);return i("Check",n),n?t:void 0}return t}s(v,"schemaParseObject");export{T as a,k as b,v as c};
|
|
2
|
+
//# sourceMappingURL=chunk-KMMCASCC.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOVU5QT5Wcjs = require('./chunk-OVU5QT5W.cjs');var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOVU5QT5Wcjs = require('./chunk-OVU5QT5W.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunk7UA33BQWcjs = require('./chunk-7UA33BQW.cjs');var _chunkRMNY7B3Pcjs = require('./chunk-RMNY7B3P.cjs');var _chunk4J5M4POXcjs = require('./chunk-4J5M4POX.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function R(d,w,m={}){return new Proxy(m,{get:_chunkP7XCQ7WVcjs.a.call(void 0, (u,f)=>f in u?u[f]:(...L)=>d(f,L,w),"get")})}_chunkP7XCQ7WVcjs.a.call(void 0, R,"createPromiseProxy");function S(d={}){let{name:w=_chunk4J5M4POXcjs.u.call(void 0, "hub"),encoder:m=new _chunkOVU5QT5Wcjs.b,retryAfter:u=1e3,ignoreUnhandled:f=!0,logLevel:L=!1}=d,s=_chunkRMNY7B3Pcjs.c.call(void 0, w,L),x={},l,p=[],b,y={},H=_chunkP7XCQ7WVcjs.a.call(void 0, ()=>{clearTimeout(b)},"dispose"),h=_chunkP7XCQ7WVcjs.a.call(void 0, async()=>{if(clearTimeout(b),l){if(l.isConnected)for(;p.length;){let n=p[0];try{l.postMessage(await m.encode(n)),p.shift()}catch(r){s.warn("postMessage",r);break}}p.length>0&&u>0&&(b=setTimeout(h,u))}},"postNext"),v=_chunkP7XCQ7WVcjs.a.call(void 0, async n=>{s("enqueue postMessage",n),p.push(n),await h()},"postMessage"),k=_chunkP7XCQ7WVcjs.a.call(void 0, async n=>{l=n,l.on("connect",h),l.on("message",async r=>{s("onmessage",typeof r);let{name:a,args:P,id:e,result:g,error:i}=await m.decode(r.data);if(a){s(`name ${a} id ${e}`);try{if(x[a]==null)throw new Error(`handler for ${a} was not found`);let t=x[a](...P);_chunk7UA33BQWcjs.h.call(void 0, t)&&(t=await t),s(`result ${t}`),e&&await v({id:e,result:t})}catch(t){let c=t instanceof Error?t:new Error(_chunk3P4XRJ23cjs.j.call(void 0, t));s.warn("execution error",c.name),await v({id:e,error:{message:c.message,stack:c.stack,name:c.name}})}}else if(e)if(s(`response for id=${e}: result=${g}, error=${i}`),y[e]==null)g===void 0?s(`skip response for ${e}`):s.warn(`no response hook for ${e}`);else{let[t,c]=y[e];if(t&&c)if(delete y[e],i){let M=new Error(i.message);M.stack=i.stack,M.name=i.name,s.warn("reject",M.name),c(M)}else s("resolve",g),t(g)}else f||s.warn("Unhandled message",r)}),await h()},"connect"),$=_chunkP7XCQ7WVcjs.a.call(void 0, async(n,r,a={})=>{let{timeout:P=5e3}=a,e=_chunk4J5M4POXcjs.q.call(void 0, );return await v({name:n,args:r,id:e}),_chunk7UA33BQWcjs.f.call(void 0, new Promise((g,i)=>y[e]=[g,i]),P)},"fetchMessage");return d.channel&&k(d.channel),{dispose:H,connect:k,listen(n){Object.assign(x,n)},send(){return R($,{},{options(n){return R($,{...n})}})}}}_chunkP7XCQ7WVcjs.a.call(void 0, S,"useMessageHub");exports.a = R; exports.b = S;
|
|
2
|
+
//# sourceMappingURL=chunk-LBICM2BV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-LBICM2BV.cjs","../src/common/msg/messages.ts"],"names":["createPromiseProxy","fn","opt","predefinedMethods","__name","target","name","args","useMessageHub","uname","encoder","JsonEncoder","retryAfter","ignoreUnhandled","logLevel","log","DefaultLogger","handlers","channel","queue","queueRetryTimer","waitingForResponse","dispose","postNext","message","err","postMessage","connect","newChannel","msg","id","result","error"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-LBICM2BV.cjs","sourcesContent":[null,"import type { LogLevelAliasType } from '../log/log-base'\nimport type { Json } from '../types'\nimport type { Channel } from './channel'\nimport type { Encoder } from './encoder'\nimport { valueToString } from '../data/convert'\nimport { isPromise, tryTimeout } from '../exec/promise'\nimport { DefaultLogger } from '../log/log'\nimport { uname, uuid } from '../uuid'\nimport { JsonEncoder } from './encoder'\n\nexport interface MessageAction {\n name: string\n id: string\n args?: Json[]\n}\n\nexport interface MessageResult {\n id: string\n result?: Json\n error?: { stack?: string, name: string, message: string }\n}\n\nexport type Message = MessageAction | MessageResult\n\nexport interface MessagesOptions {\n timeout?: number\n}\n\nexport interface MessagesDefaultMethods<L> {\n dispose: () => void\n connect?: (channel: Channel) => void\n options: (opt: MessagesOptions) => L\n}\n\nexport type MessagesMethods<L> = L & MessagesDefaultMethods<L>\n\n// export type MessageDefinitions = {\n// [key: string]: (...args: any) => Promise<any>\n// }\n\nexport type MessageDefinitions = Record<any, (...args: any) => Promise<any>>\n\nexport interface MessageHub {\n dispose: () => void\n connect: (newChannel: Channel) => void\n listen: <L extends MessageDefinitions>(newHandlers: L) => void\n send: <L extends MessageDefinitions>() => MessagesMethods<L>\n}\n\n// The async proxy, waiting for a response\nexport function createPromiseProxy<P extends object>(fn: (name: string, args: any[], opt: any) => Promise<unknown>, opt: MessagesOptions, predefinedMethods: any = {}): P {\n return new Proxy<P>(predefinedMethods, {\n get: (target: any, name: any) => {\n if (name in target)\n return target[name]\n return (...args: any): any => fn(name, args, opt)\n },\n })\n}\n\n/**\n * RPC\n *\n * Features:\n * - Waits for connection\n * - Retries after fail\n * - Timeouts\n */\nexport function useMessageHub(\n opt: {\n name?: string\n channel?: Channel\n encoder?: Encoder\n retryAfter?: number\n ignoreUnhandled?: boolean\n debug?: boolean\n logLevel?: LogLevelAliasType\n } = {},\n): MessageHub {\n const {\n name = uname('hub'),\n encoder = new JsonEncoder(),\n retryAfter = 1000,\n ignoreUnhandled = true,\n logLevel = false,\n } = opt\n\n const log = DefaultLogger(name, logLevel)\n\n const handlers = {}\n let channel: Channel | undefined\n const queue: Message[] = []\n let queueRetryTimer: any\n const waitingForResponse: Record<string, [\n (result?: any) => any, // resolve\n (result?: any) => any, // reject\n ]> = {}\n\n const dispose = () => {\n clearTimeout(queueRetryTimer)\n }\n\n const postNext = async () => {\n clearTimeout(queueRetryTimer)\n if (channel) {\n if (channel.isConnected) {\n while (queue.length) {\n const message = queue[0]\n try {\n channel.postMessage(await encoder.encode(message))\n queue.shift() // remove from queue when done\n }\n catch (err) {\n log.warn('postMessage', err)\n break\n }\n }\n }\n if (queue.length > 0 && retryAfter > 0)\n queueRetryTimer = setTimeout(postNext, retryAfter)\n }\n }\n\n const postMessage = async (message: Message) => {\n log('enqueue postMessage', message)\n queue.push(message)\n await postNext()\n }\n\n const connect = async (newChannel: Channel) => {\n channel = newChannel\n\n channel.on('connect', postNext)\n\n channel.on('message', async (msg: any) => {\n log('onmessage', typeof msg)\n const { name, args, id, result, error } = await encoder.decode(msg.data)\n\n // Incoming new message\n if (name) {\n log(`name ${name} id ${id}`)\n try {\n // @ts-expect-error xxx\n if (handlers[name] == null)\n throw new Error(`handler for ${name} was not found`)\n\n // @ts-expect-error xxx\n let result = handlers[name](...args)\n if (isPromise(result))\n result = await result\n log(`result ${result}`)\n if (id)\n await postMessage({ id, result })\n }\n catch (error) {\n const err = error instanceof Error ? error : new Error(valueToString(error))\n log.warn('execution error', err.name)\n await postMessage({\n id,\n error: {\n message: err.message,\n stack: err.stack,\n name: err.name,\n },\n })\n }\n }\n\n // Incoming new response\n else if (id) {\n log(`response for id=${id}: result=${result}, error=${error}`)\n if (waitingForResponse[id] == null) {\n if (result === undefined)\n log(`skip response for ${id}`)\n else\n log.warn(`no response hook for ${id}`)\n }\n else {\n const [resolve, reject] = waitingForResponse[id]\n if (resolve && reject) {\n delete waitingForResponse[id]\n if (error) {\n const err = new Error(error.message)\n err.stack = error.stack\n err.name = error.name\n log.warn('reject', err.name)\n reject(err)\n }\n else {\n log('resolve', result)\n resolve(result)\n }\n }\n }\n }\n\n // Don't know what to do with it\n else if (!ignoreUnhandled) {\n log.warn('Unhandled message', msg)\n }\n })\n\n await postNext()\n }\n\n const fetchMessage = async (\n name: string,\n args: any[],\n opt: MessagesOptions = {},\n ): Promise<unknown> => {\n const { timeout = 5000 } = opt\n const id = uuid()\n await postMessage({\n name,\n args,\n id,\n })\n return tryTimeout(\n new Promise(\n (resolve, reject) => (waitingForResponse[id] = [resolve, reject]),\n ),\n timeout,\n )\n }\n\n if (opt.channel)\n void connect(opt.channel) // todo async\n\n return {\n dispose,\n\n connect,\n listen<L extends object>(newHandlers: L) {\n Object.assign(handlers, newHandlers)\n },\n send<L extends object>() {\n // The regular proxy without responding, just send\n return createPromiseProxy<L>(fetchMessage, {}, {\n options(perCallopt: MessagesOptions) {\n return createPromiseProxy<L>(fetchMessage, { ...perCallopt })\n },\n } as MessagesDefaultMethods<L>) as MessagesMethods<L>\n },\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as O}from"./chunk-JTXS32AJ.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as O}from"./chunk-JTXS32AJ.js";import{j as T}from"./chunk-WFBD5UN5.js";import{f as D,h as E}from"./chunk-6EQDC7VW.js";import{c as C}from"./chunk-XI5OG3BF.js";import{q as j,u as A}from"./chunk-3DRSNK6I.js";import{a as o}from"./chunk-5NKC2EQJ.js";function R(d,w,m={}){return new Proxy(m,{get:o((u,f)=>f in u?u[f]:(...L)=>d(f,L,w),"get")})}o(R,"createPromiseProxy");function S(d={}){let{name:w=A("hub"),encoder:m=new O,retryAfter:u=1e3,ignoreUnhandled:f=!0,logLevel:L=!1}=d,s=C(w,L),x={},l,p=[],b,y={},H=o(()=>{clearTimeout(b)},"dispose"),h=o(async()=>{if(clearTimeout(b),l){if(l.isConnected)for(;p.length;){let n=p[0];try{l.postMessage(await m.encode(n)),p.shift()}catch(r){s.warn("postMessage",r);break}}p.length>0&&u>0&&(b=setTimeout(h,u))}},"postNext"),v=o(async n=>{s("enqueue postMessage",n),p.push(n),await h()},"postMessage"),k=o(async n=>{l=n,l.on("connect",h),l.on("message",async r=>{s("onmessage",typeof r);let{name:a,args:P,id:e,result:g,error:i}=await m.decode(r.data);if(a){s(`name ${a} id ${e}`);try{if(x[a]==null)throw new Error(`handler for ${a} was not found`);let t=x[a](...P);E(t)&&(t=await t),s(`result ${t}`),e&&await v({id:e,result:t})}catch(t){let c=t instanceof Error?t:new Error(T(t));s.warn("execution error",c.name),await v({id:e,error:{message:c.message,stack:c.stack,name:c.name}})}}else if(e)if(s(`response for id=${e}: result=${g}, error=${i}`),y[e]==null)g===void 0?s(`skip response for ${e}`):s.warn(`no response hook for ${e}`);else{let[t,c]=y[e];if(t&&c)if(delete y[e],i){let M=new Error(i.message);M.stack=i.stack,M.name=i.name,s.warn("reject",M.name),c(M)}else s("resolve",g),t(g)}else f||s.warn("Unhandled message",r)}),await h()},"connect"),$=o(async(n,r,a={})=>{let{timeout:P=5e3}=a,e=j();return await v({name:n,args:r,id:e}),D(new Promise((g,i)=>y[e]=[g,i]),P)},"fetchMessage");return d.channel&&k(d.channel),{dispose:H,connect:k,listen(n){Object.assign(x,n)},send(){return R($,{},{options(n){return R($,{...n})}})}}}o(S,"useMessageHub");export{R as a,S as b};
|
|
2
|
+
//# sourceMappingURL=chunk-MEROP44F.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as S,c as x,d as w}from"./chunk-QBRZK66W.js";import{b as Y}from"./chunk-G5ZK4DLC.js";import{
|
|
1
|
+
import{b as S,c as x,d as w}from"./chunk-QBRZK66W.js";import{b as Y}from"./chunk-G5ZK4DLC.js";import{f as N}from"./chunk-WFBD5UN5.js";import{b as H,d as P}from"./chunk-DTJO6YRX.js";import{c as T,d as B,e as b}from"./chunk-RZR3ECDT.js";import{b as y,e as M}from"./chunk-MKVMNYMW.js";import{a as i}from"./chunk-5NKC2EQJ.js";import L from"process";import q from"tty";function z(){try{return N(L.env.ZEED_COLOR,q.isatty(L.stdout.fd))}catch{}return!1}i(z,"shouldUseColor");var D,F=[6,2,3,4,5,1];function J(r){let t=0;for(let s=0;s<r.length;s++)t=(t<<5)-t+r.charCodeAt(s),t|=0;return F[Math.abs(t)%F.length]}i(J,"nodeSelectColorByName");var W={},v;function h(...r){L.stdout.write(`${Y(r)}
|
|
2
2
|
`)}i(h,"log");var p={BOLD:"\x1B[1m",UNBOLD:"\x1B[2m",RED:"\x1B[31m",GREEN:"\x1B[32m",BLUE:"\x1B[34m",PURPLE:"\x1B[35m",GRAY:"\x1B[37m",ORANGE:"\x1B[38;5;208m",UNCOLOR:"\x1B[0m"};var I="\x1B[0m";function g(r,t){return`${t===8?p.ORANGE:`\x1B[3${t<8?t:`8;5;${t}`}m`}${r}${I}`}i(g,"colorString");function _(r,t,s=!0){return r.map(u=>{if(typeof u!="string")return u;let a=t,m=I;return s&&(a=`${p.BOLD}${a}`,m=`${m}${p.BOLD}`),`${a}${u}${m}`})}i(_,"colorStringList");function O(){try{return N(L.env.ZEED_STACK,!1)}catch{}return!1}i(O,"shouldUseStack");var A,Q="loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485";function se(r={}){D==null&&(D=z()),A==null&&(A=O()),v==null&&(v=y());let{level:t=void 0,filter:s=void 0,colors:u=D,levelHelper:a=!0,nameBrackets:m=!0,padding:R=0,fill:k=0,stack:$=A,time:G=!0}=r,Z=H(s),K=P(t);return o=>{if(!K(o.level)||!Z(o.name))return;let j=y(),d=o.name||"",E=W[d||""];E==null&&(E={color:J(d)},W[d]=E);let U=M(j-v),e,c=m?`[${d}]`:d;if(R>0&&(c=c.padStart(R," ")),k>0&&(c=c.padEnd(k," ")),u){let l=E.color;e=[`${g(c,l)} | `],o.level===2?e.push(..._(o.messages,p.ORANGE)):o.level===3?e.push(..._(o.messages,p.RED)):e.push(...o.messages),G&&e.push(g(`+${U}`,l))}else e=[c,...o.messages],G&&e.push(`+${U}`);if(o.messages?.[0]===Q)try{console.log(x())}catch{}if($){let l="";typeof $=="boolean"?(l=w(["at Function.","at null.log (","at log ("],!0),l||(l=S(0,!0))):l=S(typeof $=="number"?$:3,!0),l&&e.push(g(`(${l})`,7))}let f="|",n=".";switch(o.level){case 1:a&&(e[0]=`I${f}${n} ${e[0]}`),h(...e);break;case 2:a&&(e[0]=(u?g(`W${f}${n}${n} `,8):`W${f}${n}${n} `)+e[0]),h(...e);break;case 3:a&&(e[0]=(u?g(`E${f}${n}${n}${n} `,1):`E${f}${n}${n}${n} `)+e[0]),h(...e);break;default:a&&(e[0]=`D${f} ${e[0]}`),h(...e);break}}}i(se,"LoggerNodeHandler");export{g as a,_ as b,Q as c,se as d};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-Q7GFBEOT.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as c}from"./chunk-UNJZ22WX.js";import{a}from"./chunk-5NKC2EQJ.js";var d=/((?:(?:https?|ftp):)?\/\/(?:\S+@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[01])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4])|(?:(?:[a-z0-9\u00A1-\uFFFF][\w\u00A1-\uFFFF-]{0,62})?[a-z0-9\u00A1-\uFFFF]\.)+[a-z\u00A1-\uFFFF]{2,}\.?)(?::\d{2,5})?(?:[/?#]\S*)?)/gi;function f(e){return e.split(d).map((n,i)=>{let o=c(n);return i%2?`<a target="_blank" href="${o}">${p(o)}</a>`:o}).join("")}a(f,"linkifyPlainText");function p(e){return e.replace(/^https?:\/\/(www\.)?/,"").replace(/\/$/,"")}a(p,"toHumanReadableUrl");function F(e,n){let i=[];for(let[o,t]of Object.entries(e))if(t!=null){Array.isArray(t)||(t=[t]);for(let r of t)n&&!n(r)||r!=null&&i.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(r))}`)}return i.join("&")}a(F,"encodeQuery");function g(e){let n={};for(;e.startsWith("?");)e=e.substring(1);let i=e.split("&");for(let o=0;o<i.length;o++){let t=i[o],r=t.indexOf("=");if(t.length===0)continue;let s=r<0?t:decodeURIComponent(t.substring(0,r)),u=r<0?"":decodeURIComponent(t.substring(r+1));n[s]!=null?(Array.isArray(n[s])||(n[s]=[n[s]]),n[s].push(u)):n[s]=u}return n}a(g,"parseQuery");export{f as a,p as b,F as c,g as d};
|
|
2
|
+
//# sourceMappingURL=chunk-QCQ6G74P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/data/url.ts"],"sourcesContent":["// https://mathiasbynens.be/demo/url-regex\n// https://gist.github.com/dperini/729294\n\nimport { escapeHTML } from './html'\n\nconst findURL = /((?:(?:https?|ftp):)?\\/\\/(?:\\S+@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[01])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4])|(?:(?:[a-z0-9\\u00A1-\\uFFFF][\\w\\u00A1-\\uFFFF-]{0,62})?[a-z0-9\\u00A1-\\uFFFF]\\.)+[a-z\\u00A1-\\uFFFF]{2,}\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?)/gi\n\nexport function linkifyPlainText(text: string): string {\n return text\n .split(findURL)\n .map((part, i) => {\n const escapedPart = escapeHTML(part)\n return i % 2\n ? `<a target=\"_blank\" href=\"${escapedPart}\">${toHumanReadableUrl(\n escapedPart,\n )}</a>`\n : escapedPart\n })\n .join('')\n}\n\nexport function toHumanReadableUrl(url: string): string {\n return url.replace(/^https?:\\/\\/(www\\.)?/, '').replace(/\\/$/, '')\n}\n\n//\n\nexport function encodeQuery(data: Record<string, any>, filterValue?: (value: any) => boolean) {\n const pairs = []\n for (let [key, value] of Object.entries(data)) {\n if (value != null) {\n if (!Array.isArray(value))\n value = [value]\n for (const v of value) {\n if (filterValue && !filterValue(v))\n continue\n else if (v == null)\n continue\n pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`)\n }\n }\n }\n return pairs.join('&')\n}\n\nexport function parseQuery(queryString: string) {\n const query: any = {}\n while (queryString.startsWith('?')) {\n queryString = queryString.substring(1)\n }\n const pairs = queryString.split('&')\n for (let i = 0; i < pairs.length; i++) {\n const part = pairs[i]\n const idx = part.indexOf('=')\n if (part.length === 0) continue\n const key = idx < 0 ? part : decodeURIComponent(part.substring(0, idx))\n const value = idx < 0 ? '' : decodeURIComponent(part.substring(idx + 1))\n if (query[key] != null) {\n if (!Array.isArray(query[key]))\n query[key] = [query[key]]\n query[key].push(value)\n }\n else {\n query[key] = value\n }\n }\n return query\n}\n"],"mappings":"2EAKA,IAAMA,EAAU,gZAET,SAASC,EAAiBC,EAAsB,CACrD,OAAOA,EACJ,MAAMF,CAAO,EACb,IAAI,CAACG,EAAM,IAAM,CAChB,IAAMC,EAAcC,EAAWF,CAAI,EACnC,OAAO,EAAI,EACP,4BAA4BC,CAAW,KAAKE,EAC5CF,CACF,CAAC,OACCA,CACN,CAAC,EACA,KAAK,EAAE,CACZ,CAZgBG,EAAAN,EAAA,oBAcT,SAASK,EAAmBE,EAAqB,CACtD,OAAOA,EAAI,QAAQ,uBAAwB,EAAE,EAAE,QAAQ,MAAO,EAAE,CAClE,CAFgBD,EAAAD,EAAA,sBAMT,SAASG,EAAYC,EAA2BC,EAAuC,CAC5F,IAAMC,EAAQ,CAAC,EACf,OAAS,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQJ,CAAI,EAC1C,GAAII,GAAS,KAAM,CACZ,MAAM,QAAQA,CAAK,IACtBA,EAAQ,CAACA,CAAK,GAChB,QAAWC,KAAKD,EACVH,GAAe,CAACA,EAAYI,CAAC,GAExBA,GAAK,MAEdH,EAAM,KAAK,GAAG,mBAAmBC,CAAG,CAAC,IAAI,mBAAmB,OAAOE,CAAC,CAAC,CAAC,EAAE,CAE5E,CAEF,OAAOH,EAAM,KAAK,GAAG,CACvB,CAhBgBL,EAAAE,EAAA,eAkBT,SAASO,EAAWC,EAAqB,CAC9C,IAAMC,EAAa,CAAC,EACpB,KAAOD,EAAY,WAAW,GAAG,GAC/BA,EAAcA,EAAY,UAAU,CAAC,EAEvC,IAAML,EAAQK,EAAY,MAAM,GAAG,EACnC,QAASE,EAAI,EAAGA,EAAIP,EAAM,OAAQO,IAAK,CACrC,IAAMhB,EAAOS,EAAMO,CAAC,EACdC,EAAMjB,EAAK,QAAQ,GAAG,EAC5B,GAAIA,EAAK,SAAW,EAAG,SACvB,IAAMU,EAAMO,EAAM,EAAIjB,EAAO,mBAAmBA,EAAK,UAAU,EAAGiB,CAAG,CAAC,EAChEN,EAAQM,EAAM,EAAI,GAAK,mBAAmBjB,EAAK,UAAUiB,EAAM,CAAC,CAAC,EACnEF,EAAML,CAAG,GAAK,MACX,MAAM,QAAQK,EAAML,CAAG,CAAC,IAC3BK,EAAML,CAAG,EAAI,CAACK,EAAML,CAAG,CAAC,GAC1BK,EAAML,CAAG,EAAE,KAAKC,CAAK,GAGrBI,EAAML,CAAG,EAAIC,CAEjB,CACA,OAAOI,CACT,CAtBgBX,EAAAS,EAAA","names":["findURL","linkifyPlainText","text","part","escapedPart","escapeHTML","toHumanReadableUrl","__name","url","encodeQuery","data","filterValue","pairs","key","value","v","parseQuery","queryString","query","i","idx"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{c as g}from"./chunk-KMMCASCC.js";import{e as v}from"./chunk-GAJVPW4Z.js";import{a as m}from"./chunk-K7WC72DE.js";import{f as d,g as y,h as _}from"./chunk-WFBD5UN5.js";import{d as f}from"./chunk-LXMVVR3R.js";import{b as l}from"./chunk-2WAMDDFH.js";import{a as u}from"./chunk-5NKC2EQJ.js";function P(o,p){l(o?._object,"schema should be of type object"),l(v(o),"schema should be a flat object");let{env:i=process?.env??{},prefix:s="",prefixOptional:r=!1}=p??{},c=s.length,n=p?.existing??{};return m(o._object,(a,t)=>{let T=n[a]??t._default;if(t._meta?.envSkip)return T;let x=f(a,"_").toUpperCase(),b=s+f(a,"_").toUpperCase(),e=i[x];return c>0&&(r===!0?e=i[b]??e:e=i[b]),e===void 0?T:(t.type==="number"?e=_(e,t._default):t.type==="boolean"&&(t._default===!0?e=y(e):e=d(e,!1)),g(t,e))})}u(P,"parseSchemaEnv");function $(o,p="",i=!1,s=!1){l(v(o),"schema should be a flat object");let r=[];return m(o._object,(c,n)=>{if((n._meta?.envPrivate||n._meta?.envSkip)&&!s)return;let a=n._meta?.envDesc??n._meta?.desc;a&&a.trim().split(`
|
|
2
|
+
`).forEach(t=>{r.push(`# ${t.trim()}`)}),r.push(`${i?"# ":""}${p+f(c,"_").toUpperCase()}=${n._default??""}`),r.push("")}),r.join(`
|
|
3
|
+
`)}u($,"stringFromSchemaEnv");export{P as a,$ as b};
|
|
4
|
+
//# sourceMappingURL=chunk-SMRZVGCF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/schema/parse-env.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/common/schema/parse-env.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._meta?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._meta?.envPrivate || schema._meta?.envSkip) && !showPrivate)\n return\n const desc = schema._meta?.envDesc ?? schema._meta?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"],"mappings":"sSAyBO,SAASA,EAAkBC,EAAiBC,EAA8B,CAC/EC,EAAOF,GAAQ,QAAS,iCAAiC,EACzDE,EAAOC,EAAmBH,CAAM,EAAG,gCAAgC,EAEnE,GAAM,CAEJ,IAAAI,EAAO,SAAS,KAAO,CAAC,EACxB,OAAAC,EAAS,GACT,eAAAC,EAAiB,EACnB,EAAIL,GAAO,CAAC,EACNM,EAAKF,EAAO,OACZG,EAAgBP,GAAK,UAAY,CAAC,EAExC,OAAOQ,EAAUT,EAAO,QAAS,CAACU,EAAKV,IAAW,CAChD,IAAMW,EAAeH,EAASE,CAAG,GAAKV,EAAO,SAC7C,GAAIA,EAAO,OAAO,QAChB,OAAOW,EAET,IAAMC,EAASC,EAAcH,EAAK,GAAG,EAAE,YAAY,EAC7CI,EAAmBT,EAASQ,EAAcH,EAAK,GAAG,EAAE,YAAY,EAElEK,EAAaX,EAAIQ,CAAM,EAW3B,OATIL,EAAK,IACHD,IAAmB,GACrBS,EAAQX,EAAIU,CAAgB,GAAKC,EAGjCA,EAAQX,EAAIU,CAAgB,GAI5BC,IAAU,OACLJ,GAGLX,EAAO,OAAS,SAClBe,EAAQC,EAAeD,EAAOf,EAAO,QAAQ,EAEtCA,EAAO,OAAS,YACnBA,EAAO,WAAa,GACtBe,EAAQE,EAAuBF,CAAK,EAEpCA,EAAQG,EAAeH,EAAO,EAAK,GAEhCI,EAAkBnB,EAAQe,CAAK,EACxC,CAAC,CACH,CA/CgBK,EAAArB,EAAA,kBAiDT,SAASsB,EAAuBrB,EAAiBK,EAAS,GAAIiB,EAAa,GAAOC,EAAc,GAAe,CACpHrB,EAAOC,EAAmBH,CAAM,EAAG,gCAAgC,EACnE,IAAMwB,EAAkB,CAAC,EACzB,OAAAf,EAAUT,EAAO,QAAU,CAACU,EAAKV,IAAW,CAC1C,IAAKA,EAAO,OAAO,YAAcA,EAAO,OAAO,UAAY,CAACuB,EAC1D,OACF,IAAME,EAAOzB,EAAO,OAAO,SAAWA,EAAO,OAAO,KAChDyB,GACFA,EAAK,KAAK,EAAE,MAAM;AAAA,CAAI,EAAE,QAASC,GAAiB,CAChDF,EAAM,KAAK,KAAKE,EAAK,KAAK,CAAC,EAAE,CAC/B,CAAC,EAEHF,EAAM,KAAK,GAAGF,EAAa,KAAO,EAAE,GAAGjB,EAASQ,EAAcH,EAAK,GAAG,EAAE,YAAY,CAAC,IAAIV,EAAO,UAAY,EAAE,EAAE,EAChHwB,EAAM,KAAK,EAAE,CACf,CAAC,EACMA,EAAM,KAAK;AAAA,CAAI,CACxB,CAhBgBJ,EAAAC,EAAA","names":["parseSchemaEnv","schema","opt","assert","isSchemaObjectFlat","env","prefix","prefixOptional","pl","existing","objectMap","key","defaultValue","envKey","fromCamelCase","envKeyWithPrefix","value","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject","__name","stringFromSchemaEnv","commentOut","showPrivate","lines","desc","line"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function u(t,e=2){return+(+t).toFixed(e)}_chunkP7XCQ7WVcjs.a.call(void 0, u,"decimal");function r(t,e=2){return+(+t/10**e).toFixed(e)}_chunkP7XCQ7WVcjs.a.call(void 0, r,"decimalFromCents");function i(t,e=2){return Math.round(+t*10**e)}_chunkP7XCQ7WVcjs.a.call(void 0, i,"decimalToCents");function a(t,e=2){return e*(u(t,e)%1)}_chunkP7XCQ7WVcjs.a.call(void 0, a,"decimalCentsPart");exports.a = u; exports.b = r; exports.c = i; exports.d = a;
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function u(t,e=2){return+(+t).toFixed(e)}_chunkP7XCQ7WVcjs.a.call(void 0, u,"decimal");function r(t,e=2){return+(+t/10**e).toFixed(e)}_chunkP7XCQ7WVcjs.a.call(void 0, r,"decimalFromCents");function i(t,e=2){return Math.round(+t*10**e)}_chunkP7XCQ7WVcjs.a.call(void 0, i,"decimalToCents");function a(t,e=2){return 10**e*(u(t,e)%1)}_chunkP7XCQ7WVcjs.a.call(void 0, a,"decimalCentsPart");exports.a = u; exports.b = r; exports.c = i; exports.d = a;
|
|
2
|
+
//# sourceMappingURL=chunk-SQK2VOFN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-SQK2VOFN.cjs","../src/common/data/decimal.ts"],"names":["decimal","value","decimalPlaces","__name","decimalFromCents","decimalToCents","decimalCentsPart"],"mappings":"AAAA,iIAAwC,SCOxBA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CAAgB,CAAA,CACF,CACd,MAAO,CAAA,CAAE,CAACD,CAAAA,CAAAA,CAAO,OAAA,CAAQC,CAAa,CACxC,CALgBC,iCAAAA,CAAAH,CAAA,SAAA,CAAA,CAQT,SAASI,CAAAA,CACdH,CAAAA,CACAC,CAAAA,CAAgB,CAAA,CACF,CACd,MAAO,CAAA,CAAE,CAACD,CAAAA,CAAQ,EAAA,EAAMC,CAAAA,CAAAA,CAAe,OAAA,CAAQA,CAAa,CAC9D,CALgBC,iCAAAA,CAAAC,CAAA,kBAAA,CAAA,CAQT,SAASC,CAAAA,CACdJ,CAAAA,CACAC,CAAAA,CAAgB,CAAA,CACR,CACR,OAAO,IAAA,CAAK,KAAA,CAAM,CAACD,CAAAA,CAAQ,EAAA,EAAMC,CAAa,CAChD,CALgBC,iCAAAA,CAAAE,CAAA,gBAAA,CAAA,CAQT,SAASC,CAAAA,CACdL,CAAAA,CACAC,CAAAA,CAAgB,CAAA,CACF,CACd,OAAO,EAAA,EAAMA,CAAAA,CAAAA,CAAiBF,CAAAA,CAAQC,CAAAA,CAAOC,CAAa,CAAA,CAAI,CAAA,CAChE,CALgBC,iCAAAA,CAAAG,CAAA,kBAAA,CAAA,CAAA,2DAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-SQK2VOFN.cjs","sourcesContent":[null,"export type DecimalValue = number\nexport type DecimalInput = number | string | DecimalValue\n\n/** \n * The float returned is guaraneteed to have only the `decimalPlaces` length,\n * no rounding errors or float arithmetic artefacts. \n */\nexport function decimal(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return +(+value).toFixed(decimalPlaces)\n}\n\n/** `123` becomes `1.23` */\nexport function decimalFromCents(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return +(+value / 10 ** decimalPlaces).toFixed(decimalPlaces)\n}\n\n/** `1.23` becomes `123` */\nexport function decimalToCents(\n value: DecimalInput,\n decimalPlaces = 2,\n): number {\n return Math.round(+value * 10 ** decimalPlaces)\n}\n\n/** `1.23` becomes `23` */\nexport function decimalCentsPart(\n value: DecimalInput,\n decimalPlaces = 2,\n): DecimalValue {\n return 10 ** decimalPlaces * (decimal(value, decimalPlaces) % 1)\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as y}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c as y}from"./chunk-QCQ6G74P.js";import{c}from"./chunk-E3XFPPHL.js";import{d as h}from"./chunk-OUECSWGN.js";import{c as i}from"./chunk-XI5OG3BF.js";import{e as d}from"./chunk-UMYL2PX5.js";import{J as u}from"./chunk-BG2T6PCH.js";import{b as f}from"./chunk-SCMIPQZH.js";import{a as o}from"./chunk-5NKC2EQJ.js";var p={cache:"no-cache",redirect:"follow",headers:{}};function T(r){let e=/:\/\/([^@]*)@/.exec(r);if(e&&e[1]){let[n,t]=e[1].split(":",2);return{url:r.replace(`${e[1]}@`,""),username:n,password:t}}}o(T,"parseBasicAuth");async function m(r,e={},n=fetch){try{d(e)&&(e=c({},...h(e)));let t=T(String(r));t&&(r=t.url,e=c({},e,l(t.username,t.password))),e.headers!=null&&!(e.headers instanceof Headers)&&(e.headers=new Headers(e.headers));let s=await n(String(r),e);if(s.status<400)return s;let a=i("zeed:network");try{a.warn(`Fetch of ${String(r)} returned status=${s.status}. Options:`,e),a.warn(`Response: ${await s.text()}`)}catch(g){a.error("Exception:",g)}}catch(t){i("zeed:network").error("fetchBasic",t)}}o(m,"fetchBasic");async function S(r,e={},n=fetch){try{let t=await m(r,[{method:"GET",headers:{Accept:"application/json"}},e],n);if(t)return await t.json()}catch(t){i("zeed:network").error("fetchJSON error:",t)}}o(S,"fetchJson");async function A(r,e={},n=fetch){try{let t=await m(r,[p,{method:"GET"},e],n);if(t)return await t.text()}catch(t){i("zeed:network").error("fetchHTML error:",t)}}o(A,"fetchText");function C(r,e="POST"){return{method:e,...p,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:y(r)}}o(C,"fetchOptionsFormURLEncoded");function I(r,e="POST"){return{method:e,...p,headers:{"Content-Type":"application/json; charset=utf-8"},body:f(r)}}o(I,"fetchOptionsJson");function l(r,e){return{headers:{Authorization:`Basic ${u(`${r}:${e}`)}`}}}o(l,"fetchOptionsBasicAuth");export{T as a,m as b,S as c,A as d,C as e,I as f,l as g};
|
|
2
|
+
//# sourceMappingURL=chunk-T3QCCCRC.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkX764QBCCcjs = require('./chunk-X764QBCC.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');var d=/((?:(?:https?|ftp):)?\/\/(?:\S+@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[01])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4])|(?:(?:[a-z0-9\u00A1-\uFFFF][\w\u00A1-\uFFFF-]{0,62})?[a-z0-9\u00A1-\uFFFF]\.)+[a-z\u00A1-\uFFFF]{2,}\.?)(?::\d{2,5})?(?:[/?#]\S*)?)/gi;function f(e){return e.split(d).map((n,i)=>{let o=_chunkX764QBCCcjs.a.call(void 0, n);return i%2?`<a target="_blank" href="${o}">${p(o)}</a>`:o}).join("")}_chunkP7XCQ7WVcjs.a.call(void 0, f,"linkifyPlainText");function p(e){return e.replace(/^https?:\/\/(www\.)?/,"").replace(/\/$/,"")}_chunkP7XCQ7WVcjs.a.call(void 0, p,"toHumanReadableUrl");function F(e,n){let i=[];for(let[o,t]of Object.entries(e))if(t!=null){Array.isArray(t)||(t=[t]);for(let r of t)n&&!n(r)||r!=null&&i.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(r))}`)}return i.join("&")}_chunkP7XCQ7WVcjs.a.call(void 0, F,"encodeQuery");function g(e){let n={};for(;e.startsWith("?");)e=e.substring(1);let i=e.split("&");for(let o=0;o<i.length;o++){let t=i[o],r=t.indexOf("=");if(t.length===0)continue;let s=r<0?t:decodeURIComponent(t.substring(0,r)),u=r<0?"":decodeURIComponent(t.substring(r+1));n[s]!=null?(Array.isArray(n[s])||(n[s]=[n[s]]),n[s].push(u)):n[s]=u}return n}_chunkP7XCQ7WVcjs.a.call(void 0, g,"parseQuery");exports.a = f; exports.b = p; exports.c = F; exports.d = g;
|
|
2
|
+
//# sourceMappingURL=chunk-UINKOPBQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-UINKOPBQ.cjs","../src/common/data/url.ts"],"names":["findURL","linkifyPlainText","text","part","escapedPart","escapeHTML","toHumanReadableUrl","__name","url","encodeQuery","data","filterValue","pairs","key","value","v"],"mappings":"AAAA,iIAAwC,wDAAoC,ICKtEA,CAAAA,CAAU,+YAAA,CAET,SAASC,CAAAA,CAAiBC,CAAAA,CAAsB,CACrD,OAAOA,CAAAA,CACJ,KAAA,CAAMF,CAAO,CAAA,CACb,GAAA,CAAI,CAACG,CAAAA,CAAM,CAAA,CAAA,EAAM,CAChB,IAAMC,CAAAA,CAAcC,iCAAAA,CAAe,CAAA,CACnC,OAAO,CAAA,CAAI,CAAA,CACP,CAAA,yBAAA,EAA4BD,CAAW,CAAA,EAAA,EAAKE,CAAAA,CAC5CF,CACF,CAAC,CAAA,IAAA,CAAA,CACCA,CACN,CAAC,CAAA,CACA,IAAA,CAAK,EAAE,CACZ,CAZgBG,iCAAAA,CAAAN,CAAA,kBAAA,CAAA,CAcT,SAASK,CAAAA,CAAmBE,CAAAA,CAAqB,CACtD,OAAOA,CAAAA,CAAI,OAAA,CAAQ,sBAAA,CAAwB,EAAE,CAAA,CAAE,OAAA,CAAQ,KAAA,CAAO,EAAE,CAClE,CAFgBD,iCAAAA,CAAAD,CAAA,oBAAA,CAAA,CAMT,SAASG,CAAAA,CAAYC,CAAAA,CAA2BC,CAAAA,CAAuC,CAC5F,IAAMC,CAAAA,CAAQ,CAAC,CAAA,CACf,GAAA,CAAA,GAAS,CAACC,CAAAA,CAAKC,CAAK,CAAA,GAAK,MAAA,CAAO,OAAA,CAAQJ,CAAI,CAAA,CAC1C,EAAA,CAAII,CAAAA,EAAS,IAAA,CAAM,CACZ,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,EAAA,CACtBA,CAAAA,CAAQ,CAACA,CAAK,CAAA,CAAA,CAChB,GAAA,CAAA,IAAWC,EAAAA,GAAKD,CAAAA,CACVH,CAAAA,EAAe,CAACA,CAAAA,CAAYI,CAAC,CAAA,EAExBA,CAAAA,EAAK,IAAA,EAEdH,CAAAA,CAAM,IAAA,CAAK,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-UINKOPBQ.cjs","sourcesContent":[null,"// https://mathiasbynens.be/demo/url-regex\n// https://gist.github.com/dperini/729294\n\nimport { escapeHTML } from './html'\n\nconst findURL = /((?:(?:https?|ftp):)?\\/\\/(?:\\S+@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[01])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4])|(?:(?:[a-z0-9\\u00A1-\\uFFFF][\\w\\u00A1-\\uFFFF-]{0,62})?[a-z0-9\\u00A1-\\uFFFF]\\.)+[a-z\\u00A1-\\uFFFF]{2,}\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?)/gi\n\nexport function linkifyPlainText(text: string): string {\n return text\n .split(findURL)\n .map((part, i) => {\n const escapedPart = escapeHTML(part)\n return i % 2\n ? `<a target=\"_blank\" href=\"${escapedPart}\">${toHumanReadableUrl(\n escapedPart,\n )}</a>`\n : escapedPart\n })\n .join('')\n}\n\nexport function toHumanReadableUrl(url: string): string {\n return url.replace(/^https?:\\/\\/(www\\.)?/, '').replace(/\\/$/, '')\n}\n\n//\n\nexport function encodeQuery(data: Record<string, any>, filterValue?: (value: any) => boolean) {\n const pairs = []\n for (let [key, value] of Object.entries(data)) {\n if (value != null) {\n if (!Array.isArray(value))\n value = [value]\n for (const v of value) {\n if (filterValue && !filterValue(v))\n continue\n else if (v == null)\n continue\n pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`)\n }\n }\n }\n return pairs.join('&')\n}\n\nexport function parseQuery(queryString: string) {\n const query: any = {}\n while (queryString.startsWith('?')) {\n queryString = queryString.substring(1)\n }\n const pairs = queryString.split('&')\n for (let i = 0; i < pairs.length; i++) {\n const part = pairs[i]\n const idx = part.indexOf('=')\n if (part.length === 0) continue\n const key = idx < 0 ? part : decodeURIComponent(part.substring(0, idx))\n const value = idx < 0 ? '' : decodeURIComponent(part.substring(idx + 1))\n if (query[key] != null) {\n if (!Array.isArray(query[key]))\n query[key] = [query[key]]\n query[key].push(value)\n }\n else {\n query[key] = value\n }\n }\n return query\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as t}from"./chunk-5NKC2EQJ.js";var e=["1","true","yes","y","on"],u=["0","false","no","n","off"];function i(n){try{let r=Number.parseFloat(n);return Number.isNaN(r)?void 0:r}catch{return}}t(i,"parseFloat");function f(n,r=10){try{let o=Number.parseInt(n,r);return Number.isNaN(o)?void 0:o}catch{return}}t(f,"parseInt");function g(n,r=!1){return n==null||typeof n!="string"?r:e.includes(String(n).trim().toLowerCase())}t(g,"stringToBoolean");function m(n,r=0){return n==null||typeof n!="string"?r:f(n.trim(),10)??r}t(m,"stringToInteger");function b(n,r=0){return n==null||typeof n!="string"?r:i(n.trim())??r}t(b,"stringToFloat");function s(n,r=!1){return n==null?r:typeof n=="boolean"?n:typeof n=="number"?n!==0:e.includes(String(n).trim().toLowerCase())}t(s,"valueToBoolean");function x(n,r=!0){return n==null?r:typeof n=="boolean"?n:typeof n=="number"?n!==0:!u.includes(String(n).trim().toLowerCase())}t(x,"valueToBooleanNotFalse");function p(n,r=0){return n==null?r:typeof n=="boolean"?n?1:0:typeof n=="number"?Math.floor(n):f(String(n).trim(),10)??r}t(p,"valueToInteger");function c(n,r=0){return n==null?r:typeof n=="boolean"?n?1:0:typeof n=="number"?Math.floor(n):i(String(n).trim())??r}t(c,"valueToFloat");function y(n,r=""){return n==null?r:String(n)??r}t(y,"valueToString");var d=c,S=p,a=y,T=s;function l(n){try{return decodeURIComponent(escape(n))}catch{}return n}t(l,"fixBrokenUtf8String");export{i as a,f as b,g as c,m as d,b as e,s as f,x as g,p as h,c as i,y as j,d as k,S as l,a as m,T as n,l as o};
|
|
2
|
+
//# sourceMappingURL=chunk-WFBD5UN5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/data/convert.ts"],"sourcesContent":["\n// import { jsonStringify } from './json'\n\nconst TRUE_VALUES_LIST = ['1', 'true', 'yes', 'y', 'on']\nconst FALSE_VALUES_LIST = ['0', 'false', 'no', 'n', 'off']\n\n/** Like Number.parseFloat, but returning `undefined` instead of `NaN` */\nexport function parseFloat(value: any): number | undefined {\n try {\n const parsed = Number.parseFloat(value)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n/** Like Number.parseInt, but returning `undefined` instead of `NaN` */\nexport function parseInt(value: any, radix = 10): number | undefined {\n try {\n const parsed = Number.parseInt(value, radix)\n return Number.isNaN(parsed) ? undefined : parsed\n } catch (e) {\n return undefined\n }\n}\n\n\nexport function stringToBoolean(value?: string, defaultValue = false): boolean {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\nexport function stringToInteger(value?: string, defaultValue = 0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseInt(value.trim(), 10) ?? defaultValue\n}\n\nexport function stringToFloat(value?: string, defaultValue = 0.0): number {\n if (value == null || typeof value !== 'string')\n return defaultValue\n return parseFloat(value.trim()) ?? defaultValue\n}\n\n/** `true` is a number != 0, a string stating `true`. Otherwise false. */\nexport function valueToBoolean(value?: any, defaultValue = false): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())\n}\n\n/** Explicitly has to have a `false` value to become `false`, otherwise `true` */\nexport function valueToBooleanNotFalse(value?: any, defaultValue = true): boolean {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value\n if (typeof value === 'number')\n return value !== 0\n return !(FALSE_VALUES_LIST.includes(String(value).trim().toLowerCase()))\n}\n\nexport function valueToInteger(value?: any, defaultValue = 0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseInt(String(value).trim(), 10) ?? defaultValue\n}\n\nexport function valueToFloat(value?: any, defaultValue = 0.0): number {\n if (value == null)\n return defaultValue\n if (typeof value === 'boolean')\n return value ? 1 : 0\n if (typeof value === 'number')\n return Math.floor(value)\n return parseFloat(String(value).trim()) ?? defaultValue\n}\n\nexport function valueToString(value?: any, defaultValue = ''): string {\n if (value == null)\n return defaultValue\n // if (value == \"\") return defaultValue // ???\n return String(value) ?? defaultValue\n}\n\n// todo: toDate, toTimestamp, toData(value, base=64)\n\n// export function mapToObject<T>(map: Map<string, T>): { [key: string]: T } {\n// return Object.fromEntries(map)\n// }\n\n// export function objectToMap<T>(obj: { [key: string]: T }): Map<string, T> {\n// return new Map(Object.entries(obj))\n// }\n\n// Shortcuts\n\nexport const toFloat = valueToFloat\nexport const toInt = valueToInteger\nexport const toString = valueToString\nexport const toBool = valueToBoolean\n\n\n// Awesome trick from https://stackoverflow.com/a/5396742/140927\nexport function fixBrokenUtf8String(brokenString: string): string {\n try {\n return decodeURIComponent(escape(brokenString))\n }\n catch (e) {\n // log.debug(\"fixString failed for\", s)\n }\n return brokenString\n}\n"],"mappings":"wCAGA,IAAMA,EAAmB,CAAC,IAAK,OAAQ,MAAO,IAAK,IAAI,EACjDC,EAAoB,CAAC,IAAK,QAAS,KAAM,IAAK,KAAK,EAGlD,SAASC,EAAWC,EAAgC,CACzD,GAAI,CACF,IAAMC,EAAS,OAAO,WAAWD,CAAK,EACtC,OAAO,OAAO,MAAMC,CAAM,EAAI,OAAYA,CAC5C,MAAY,CACV,MACF,CACF,CAPgBC,EAAAH,EAAA,cAUT,SAASI,EAASH,EAAYI,EAAQ,GAAwB,CACnE,GAAI,CACF,IAAMH,EAAS,OAAO,SAASD,EAAOI,CAAK,EAC3C,OAAO,OAAO,MAAMH,CAAM,EAAI,OAAYA,CAC5C,MAAY,CACV,MACF,CACF,CAPgBC,EAAAC,EAAA,YAUT,SAASE,EAAgBL,EAAgBM,EAAe,GAAgB,CAC7E,OAAIN,GAAS,MAAQ,OAAOA,GAAU,SAC7BM,EACFT,EAAiB,SAAS,OAAOG,CAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CACrE,CAJgBE,EAAAG,EAAA,mBAMT,SAASE,EAAgBP,EAAgBM,EAAe,EAAW,CACxE,OAAIN,GAAS,MAAQ,OAAOA,GAAU,SAC7BM,EACFH,EAASH,EAAM,KAAK,EAAG,EAAE,GAAKM,CACvC,CAJgBJ,EAAAK,EAAA,mBAMT,SAASC,EAAcR,EAAgBM,EAAe,EAAa,CACxE,OAAIN,GAAS,MAAQ,OAAOA,GAAU,SAC7BM,EACFP,EAAWC,EAAM,KAAK,CAAC,GAAKM,CACrC,CAJgBJ,EAAAM,EAAA,iBAOT,SAASC,EAAeT,EAAaM,EAAe,GAAgB,CACzE,OAAIN,GAAS,KACJM,EACL,OAAON,GAAU,UACZA,EACL,OAAOA,GAAU,SACZA,IAAU,EACZH,EAAiB,SAAS,OAAOG,CAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CACrE,CARgBE,EAAAO,EAAA,kBAWT,SAASC,EAAuBV,EAAaM,EAAe,GAAe,CAChF,OAAIN,GAAS,KACJM,EACL,OAAON,GAAU,UACZA,EACL,OAAOA,GAAU,SACZA,IAAU,EACZ,CAAEF,EAAkB,SAAS,OAAOE,CAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CACxE,CARgBE,EAAAQ,EAAA,0BAUT,SAASC,EAAeX,EAAaM,EAAe,EAAW,CACpE,OAAIN,GAAS,KACJM,EACL,OAAON,GAAU,UACZA,EAAQ,EAAI,EACjB,OAAOA,GAAU,SACZ,KAAK,MAAMA,CAAK,EAClBG,EAAS,OAAOH,CAAK,EAAE,KAAK,EAAG,EAAE,GAAKM,CAC/C,CARgBJ,EAAAS,EAAA,kBAUT,SAASC,EAAaZ,EAAaM,EAAe,EAAa,CACpE,OAAIN,GAAS,KACJM,EACL,OAAON,GAAU,UACZA,EAAQ,EAAI,EACjB,OAAOA,GAAU,SACZ,KAAK,MAAMA,CAAK,EAClBD,EAAW,OAAOC,CAAK,EAAE,KAAK,CAAC,GAAKM,CAC7C,CARgBJ,EAAAU,EAAA,gBAUT,SAASC,EAAcb,EAAaM,EAAe,GAAY,CACpE,OAAIN,GAAS,KACJM,EAEF,OAAON,CAAK,GAAKM,CAC1B,CALgBJ,EAAAW,EAAA,iBAmBT,IAAMC,EAAUF,EACVG,EAAQJ,EACRK,EAAWH,EACXI,EAASR,EAIf,SAASS,EAAoBC,EAA8B,CAChE,GAAI,CACF,OAAO,mBAAmB,OAAOA,CAAY,CAAC,CAChD,MACU,CAEV,CACA,OAAOA,CACT,CARgBjB,EAAAgB,EAAA","names":["TRUE_VALUES_LIST","FALSE_VALUES_LIST","parseFloat","value","parsed","__name","parseInt","radix","stringToBoolean","defaultValue","stringToInteger","stringToFloat","valueToBoolean","valueToBooleanNotFalse","valueToInteger","valueToFloat","valueToString","toFloat","toInt","toString","toBool","fixBrokenUtf8String","brokenString"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkXVZUY2IScjs = require('./chunk-XVZUY2IS.cjs');var _chunkWSRQ3X55cjs = require('./chunk-WSRQ3X55.cjs');var _chunkJAKUA4CCcjs = require('./chunk-JAKUA4CC.cjs');var _chunk3P4XRJ23cjs = require('./chunk-3P4XRJ23.cjs');var _chunkXH7UHZOFcjs = require('./chunk-XH7UHZOF.cjs');var _chunkZ7QS7VD4cjs = require('./chunk-Z7QS7VD4.cjs');var _chunkP7XCQ7WVcjs = require('./chunk-P7XCQ7WV.cjs');function A(o,l=_nullishCoalesce(_optionalChain([process, 'optionalAccess', _ => _.argv]), () => ({}))){_chunkZ7QS7VD4cjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let p={},t=[];_chunkJAKUA4CCcjs.a.call(void 0, o._object,(r,e)=>{_optionalChain([e, 'access', _2 => _2._meta, 'optionalAccess', _3 => _3.argShort])&&(p[_chunkXH7UHZOFcjs.a.call(void 0, e._meta.argShort)]=_chunkXH7UHZOFcjs.a.call(void 0, r)),e.type==="boolean"&&t.push(_chunkXH7UHZOFcjs.a.call(void 0, r))});let a=[...l],s,b=[],g={};for(;s=a.shift();){let r;if(/^--?/.test(s)){let e=s.replace(/^--?/,"");if(s.includes("=")){let[n,h]=e.split("=",2);e=n.trim(),r=h.trim()}e=_chunkXH7UHZOFcjs.a.call(void 0, e),e=_nullishCoalesce(p[e], () => (e)),t.includes(e)?g[e]=!0:(r=_nullishCoalesce(_nullishCoalesce(r, () => (a.shift())), () => ("")),g[e]=r)}else b.push(s)}return[_chunkJAKUA4CCcjs.a.call(void 0, o._object,(r,e)=>{let n=g[_chunkXH7UHZOFcjs.a.call(void 0, r)];return e.type==="number"&&n!=null&&(n=_chunk3P4XRJ23cjs.h.call(void 0, n)),_chunkXVZUY2IScjs.c.call(void 0, e,n)}),b]}_chunkP7XCQ7WVcjs.a.call(void 0, A,"parseSchemaArgs");function O(o){_chunkZ7QS7VD4cjs.b.call(void 0, _chunkWSRQ3X55cjs.e.call(void 0, o),"schema should be a flat object");let l=[];return _chunkJAKUA4CCcjs.a.call(void 0, o._object,(p,t)=>{let a=`--${_chunkXH7UHZOFcjs.d.call(void 0, p)}`;_optionalChain([t, 'access', _4 => _4._meta, 'optionalAccess', _5 => _5.argShort])&&(a+=`, -${_chunkXH7UHZOFcjs.d.call(void 0, t._meta.argShort)}`),t.type!=="boolean"&&(a+=`=${t.type}`),l.push(a);let s=_nullishCoalesce(_optionalChain([t, 'access', _6 => _6._meta, 'optionalAccess', _7 => _7.argDesc]), () => (_optionalChain([t, 'access', _8 => _8._meta, 'optionalAccess', _9 => _9.desc])));s&&l.push(` ${s}`)}),l.join(`
|
|
2
2
|
`)}_chunkP7XCQ7WVcjs.a.call(void 0, O,"helpSchemaArgs");exports.a = A; exports.b = O;
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-WWMBRESU.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-WWMBRESU.cjs","../src/common/schema/parse-args.ts"],"names":["parseSchemaArgs","schema","args","assert","isSchemaObjectFlat","alias","booleanArgs","objectMap","key","toCamelCase","argList","arg","names","argsObj","value","name","valuePart","valueToInteger","schemaParseObject","__name","helpSchemaArgs","lines","s","fromCamelCase"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-WWMBRESU.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase, toCamelCase } from '../data/camelcase'\nimport { valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeMeta {\n argShort?: string\n argDesc?: string\n }\n}\n\n// eslint-disable-next-line node/prefer-global/process\nexport function parseSchemaArgs<T>(schema: Type<T>, args: any = process?.argv ?? {}): [T, string[]] {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const alias: Record<string, string> = {}\n const booleanArgs: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n if (schema._meta?.argShort)\n alias[toCamelCase(schema._meta.argShort)] = toCamelCase(key)\n if (schema.type === 'boolean') {\n booleanArgs.push(toCamelCase(key))\n }\n })\n\n const argList = [...args]\n let arg: string | undefined\n const names: string[] = []\n const argsObj: Record<string, any> = {}\n\n // eslint-disable-next-line no-cond-assign\n while ((arg = argList.shift())) {\n let value: any\n if (/^--?/.test(arg)) {\n let key = arg.replace(/^--?/, '')\n if (arg.includes('=')) {\n const [name, valuePart] = key.split('=', 2)\n key = name.trim()\n value = valuePart.trim()\n }\n key = toCamelCase(key)\n key = alias[key] ?? key\n if (booleanArgs.includes(key)) {\n argsObj[key] = true\n }\n else {\n value = value ?? argList.shift() ?? ''\n argsObj[key] = value\n }\n }\n else {\n names.push(arg)\n }\n }\n\n const argsResult = objectMap(schema._object!, (key, schema) => {\n let value = argsObj[toCamelCase(key)]\n if (schema.type === 'number' && value != null) {\n value = valueToInteger(value)\n }\n return schemaParseObject(schema, value)\n }) as T\n\n return [argsResult, names]\n}\n\nexport function helpSchemaArgs<T>(schema: Type<T>): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const lines: string[] = []\n\n objectMap(schema._object!, (key, schema: Type<any>) => {\n let s = `--${fromCamelCase(key)}`\n if (schema._meta?.argShort)\n s += `, -${fromCamelCase(schema._meta.argShort)}`\n if (schema.type !== 'boolean')\n s += `=${schema.type}`\n lines.push(s)\n const desc = schema._meta?.argDesc ?? schema._meta?.desc\n if (desc)\n lines.push(` ${desc}`)\n })\n\n return lines.join('\\n')\n}\n"]}
|