@wener/utils 1.1.26 → 1.1.27
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/README.md +4 -0
- package/dist/cjs/createFetchWith-qhRObsE4.js +2 -0
- package/dist/cjs/createFetchWith-qhRObsE4.js.map +1 -0
- package/dist/cjs/{getGlobalThis-304f74e0.js → getGlobalThis-GhffAgiG.js} +1 -1
- package/dist/cjs/{getGlobalThis-304f74e0.js.map → getGlobalThis-GhffAgiG.js.map} +1 -1
- package/dist/cjs/index.cjs +11 -11
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/schema/typebox/gen/index.cjs +118 -0
- package/dist/cjs/schema/typebox/gen/index.cjs.map +1 -0
- package/dist/cjs/schema/typebox/index.cjs +2 -0
- package/dist/cjs/schema/typebox/index.cjs.map +1 -0
- package/dist/cjs/server.cjs +1 -1
- package/dist/cjs/server.cjs.map +1 -1
- package/dist/cjs/servers/jsdom.cjs +1 -1
- package/dist/cjs/servers/jsdom.cjs.map +1 -1
- package/dist/cjs/servers/node-fetch.cjs +1 -1
- package/dist/cjs/servers/ws.cjs +1 -1
- package/dist/esm/createFetchWith-1q1S-Xro.js +2 -0
- package/dist/esm/createFetchWith-1q1S-Xro.js.map +1 -0
- package/dist/esm/{getGlobalThis-b7ad0cf9.js → getGlobalThis-A8F-nU7J.js} +1 -1
- package/dist/esm/{getGlobalThis-b7ad0cf9.js.map → getGlobalThis-A8F-nU7J.js.map} +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/schema/typebox/gen.js +118 -0
- package/dist/esm/schema/typebox/gen.js.map +1 -0
- package/dist/esm/schema/typebox.js +2 -0
- package/dist/esm/schema/typebox.js.map +1 -0
- package/dist/esm/server.js +1 -1
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/servers/jsdom.js +1 -1
- package/dist/esm/servers/jsdom.js.map +1 -1
- package/dist/esm/servers/node-fetch.js +1 -1
- package/dist/esm/servers/ws.js +1 -1
- package/dist/system/createFetchWith-TjUle-dI.js +2 -0
- package/dist/system/createFetchWith-TjUle-dI.js.map +1 -0
- package/dist/system/{getGlobalThis-8951eb0e.js → getGlobalThis-X5ifUXDI.js} +1 -1
- package/dist/system/{getGlobalThis-8951eb0e.js.map → getGlobalThis-X5ifUXDI.js.map} +1 -1
- package/dist/system/index.js +11 -11
- package/dist/system/index.js.map +1 -1
- package/dist/system/schema/typebox/gen.js +118 -0
- package/dist/system/schema/typebox/gen.js.map +1 -0
- package/dist/system/schema/typebox.js +2 -0
- package/dist/system/schema/typebox.js.map +1 -0
- package/dist/system/server.js +1 -1
- package/dist/system/server.js.map +1 -1
- package/dist/system/servers/jsdom.js +1 -1
- package/dist/system/servers/jsdom.js.map +1 -1
- package/dist/system/servers/node-fetch.js +1 -1
- package/dist/system/servers/ws.js +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/langs/deepFreeze.js +16 -0
- package/lib/langs/deepFreeze.js.map +1 -0
- package/lib/maths/clamp.js +21 -0
- package/lib/maths/clamp.js.map +1 -0
- package/lib/objects/get.js.map +1 -1
- package/lib/objects/set.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/common/encoder.js +74 -0
- package/lib/schema/typebox/gen/codegen/common/encoder.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/common/formatter.js +10 -0
- package/lib/schema/typebox/gen/codegen/common/formatter.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/common/jsdoc.js +68 -0
- package/lib/schema/typebox/gen/codegen/common/jsdoc.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/expression/compiler.js +325 -0
- package/lib/schema/typebox/gen/codegen/expression/compiler.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/expression/errors.js +237 -0
- package/lib/schema/typebox/gen/codegen/expression/errors.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/expression/evaluator.js +241 -0
- package/lib/schema/typebox/gen/codegen/expression/evaluator.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/expression/expression.js +200 -0
- package/lib/schema/typebox/gen/codegen/expression/expression.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/index.js +19 -0
- package/lib/schema/typebox/gen/codegen/index.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js +263 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-expression.js +363 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-expression.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js +245 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js +316 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js +20 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js +171 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js +10 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js +198 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js +252 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-value.js +19 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-value.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js +247 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-yup.js +249 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-yup.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-zod.js +272 -0
- package/lib/schema/typebox/gen/codegen/model/model-to-zod.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js +45 -0
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js.map +1 -0
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js +620 -0
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js.map +1 -0
- package/lib/schema/typebox/gen/index.js +3 -0
- package/lib/schema/typebox/gen/index.js.map +1 -0
- package/lib/schema/typebox/index.js +3 -0
- package/lib/schema/typebox/index.js.map +1 -0
- package/lib/schema/typebox/typebox.js +34 -0
- package/lib/schema/typebox/typebox.js.map +1 -0
- package/lib/servers/fetch/createFetchWithProxyByUndici.js +15 -0
- package/lib/servers/fetch/createFetchWithProxyByUndici.js.map +1 -1
- package/package.json +21 -6
- package/src/index.ts +3 -3
- package/src/langs/deepFreeze.ts +19 -0
- package/src/langs/hashCode.ignored.ts +125 -0
- package/src/libs/README.md +2 -0
- package/src/logging/slog.ts +121 -0
- package/src/maths/clamp.test.ts +19 -0
- package/src/maths/clamp.ts +23 -1
- package/src/objects/get.ts +14 -14
- package/src/objects/set.ts +5 -5
- package/src/schema/typebox/gen/codegen/common/encoder.ts +99 -0
- package/src/schema/typebox/gen/codegen/common/formatter.ts +31 -0
- package/src/schema/typebox/gen/codegen/common/index.ts +29 -0
- package/src/schema/typebox/gen/codegen/common/jsdoc.ts +93 -0
- package/src/schema/typebox/gen/codegen/expression/compiler.ts +377 -0
- package/src/schema/typebox/gen/codegen/expression/errors.ts +302 -0
- package/src/schema/typebox/gen/codegen/expression/evaluator.ts +268 -0
- package/src/schema/typebox/gen/codegen/expression/expression.ts +538 -0
- package/src/schema/typebox/gen/codegen/expression/index.ts +32 -0
- package/src/schema/typebox/gen/codegen/index.ts +29 -0
- package/src/schema/typebox/gen/codegen/model/index.ts +40 -0
- package/src/schema/typebox/gen/codegen/model/model-to-arktype.ts +266 -0
- package/src/schema/typebox/gen/codegen/model/model-to-expression.ts +378 -0
- package/src/schema/typebox/gen/codegen/model/model-to-grpc.ts +244 -0
- package/src/schema/typebox/gen/codegen/model/model-to-io-ts.ts +294 -0
- package/src/schema/typebox/gen/codegen/model/model-to-javascript.ts +42 -0
- package/src/schema/typebox/gen/codegen/model/model-to-json-schema.ts +166 -0
- package/src/schema/typebox/gen/codegen/model/model-to-typebox.ts +32 -0
- package/src/schema/typebox/gen/codegen/model/model-to-typescript.ts +189 -0
- package/src/schema/typebox/gen/codegen/model/model-to-valibot.ts +236 -0
- package/src/schema/typebox/gen/codegen/model/model-to-value.ts +42 -0
- package/src/schema/typebox/gen/codegen/model/model-to-yrel.ts +232 -0
- package/src/schema/typebox/gen/codegen/model/model-to-yup.ts +226 -0
- package/src/schema/typebox/gen/codegen/model/model-to-zod.ts +251 -0
- package/src/schema/typebox/gen/codegen/model/model.ts +33 -0
- package/src/schema/typebox/gen/codegen/typescript/index.ts +28 -0
- package/src/schema/typebox/gen/codegen/typescript/typescript-to-model.ts +61 -0
- package/src/schema/typebox/gen/codegen/typescript/typescript-to-typebox.ts +647 -0
- package/src/schema/typebox/gen/gen.test.ts +12 -0
- package/src/schema/typebox/gen/index.ts +1 -0
- package/src/schema/typebox/index.ts +1 -0
- package/src/schema/typebox/typebox.ts +34 -0
- package/src/servers/fetch/createFetchWithProxyByUndici.ts +16 -1
- package/src/types/index.d.ts +1 -0
- package/src/langs/hashCode.ts +0 -37
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["@sinclair/typebox/value"],function(c){"use strict";var e;return{setters:[function(a){e=a.Value}],execute:function(){var n=Object.freeze({__proto__:null,Parse:(r,t)=>e.Decode(r,e.Clean(r,e.Default(r,e.Convert(r,t)))),SafeParse:(r,t)=>{let s=e.Clean(r,e.Default(r,e.Convert(r,t)));return e.Check(r,s)?{data:e.Decode(r,s),success:!0}:{errors:Array.from(e.Errors(r,[],t)),success:!1}}});c("TypeBox",n)}}});
|
|
2
|
+
//# sourceMappingURL=typebox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typebox.js","sources":["../../../src/schema/typebox/typebox.ts"],"sourcesContent":["import { TSchema } from '@sinclair/typebox';\nimport { Value } from '@sinclair/typebox/value';\n\n// works like zod parse\nexport const Parse = <T extends TSchema>(T: T, value: unknown) =>\n // run transform, get T\n Value.Decode(\n T,\n // remove additional\n Value.Clean(\n T,\n // add missing\n Value.Default(\n T,\n // '1' -> 1\n Value.Convert(T, value),\n ),\n ),\n );\n\nexport const SafeParse = <T extends TSchema>(T: T, value: unknown) => {\n let out = Value.Clean(T, Value.Default(T, Value.Convert(T, value)));\n if (Value.Check(T, out)) {\n // decode 也会 check\n return {\n data: Value.Decode(T, out),\n success: true,\n };\n }\n return {\n errors: Array.from(Value.Errors(T, [], value)),\n success: false,\n };\n};\n"],"names":["T","value","Value","out"],"mappings":"2KAIqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoBA,EAAMC,CAE7CC,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CACJF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAEAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJF,EAEAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJF,CAEAE,CAAAA,CAAAA,CAAM,CAAQF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAGC,CAAK,CACxB,CACF,CACF,YAEuB,CAAoBD,CAAAA,CAAMC,IAAmB,CACpE,CAAA,CAAA,CAAA,CAAIE,CAAMD,CAAAA,CAAAA,CAAM,CAAMF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAGE,EAAM,CAAQF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAGE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQF,CAAGC,CAAAA,CAAK,CAAC,CAAC,CAAA,CAClE,CAAIC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAMF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAGG,CAAG,CAAA,CAEb,CACL,CAAA,CAAA,CAAA,CAAA,CAAMD,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOF,CAAGG,CAAAA,CAAG,EACzB,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACX,CAEK,CAAA,CACL,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAKD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAOF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAG,CAAA,CAAA,CAAIC,CAAK,CAAC,EAC7C,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACX,CACF;"}
|
package/dist/system/server.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./getGlobalThis-
|
|
1
|
+
System.register(["./getGlobalThis-X5ifUXDI.js","./createFetchWith-TjUle-dI.js","node:crypto","node:fs","node:path","node:url"],function(y,s){"use strict";var u,l,d,p,o,g;return{setters:[function(e){u=e.g},function(e){l=e.c},function(e){d=e.createHash},function(e){p=e.default},function(e){o=e.default},function(e){g=e.fileURLToPath}],execute:function(){y({createFetchWithProxyByUndici:m,getPackageDir:W,md5:w,polyfillCrypto:e});async function e(){const t=u();return"crypto"in t?!1:(t.crypto=(await s.import("node:crypto")).webcrypto,!0)}function m({proxy:t,token:j,fetch:i,undici:x}={}){if(!t)return i||globalThis.fetch;if(u().Bun)return l({fetch:i,onRequest:({url:a,req:c,next:n})=>n(a,{...c,proxy:t})});let f;return async(...a)=>{const c=a[1]||={};{const n=c.body;typeof n=="object"&&n&&(n instanceof ReadableStream||Symbol.asyncIterator in n)&&(c.duplex||="half")}if(!f){let n=t,h=j;{let r;try{r=new URL(t)}catch{}!h&&r&&(r.username||r.password)&&(h=`Basic ${btoa(`${r.username||""}:${r.password}`)}`,r.username="",r.password="",n=r.toString())}x||=s.import("undici");const b=await x,k=b.ProxyAgent;i||=b.fetch,f=new k({uri:n,token:h})}return c.dispatcher=f,await i(...a)}}const R=y("createFetchWithProxy",m);function w(t){return d("md5").update(t).digest("hex")}const P=g(s.meta.url),F=o.dirname(P);function W(t=F){for(;!p.existsSync(o.join(t,"package.json"));)if(t=o.resolve(t,".."),t==="/")return;return t}}}});
|
|
2
2
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sources":["../../src/servers/polyfill/polyfillCrypto.ts","../../src/servers/fetch/createFetchWithProxyByUndici.ts","../../src/servers/fetch/createFetchWithProxy.ts","../../src/servers/crypto/md5.ts","../../src/servers/getPackageDir.ts"],"sourcesContent":["import { getGlobalThis } from '../../isomorphics/getGlobalThis';\n\nexport async function polyfillCrypto() {\n const globalThis = getGlobalThis();\n if ('crypto' in globalThis) {\n return false;\n }\n (globalThis as any).crypto = (await import('node:crypto')).webcrypto as Crypto;\n return true;\n}\n","import { MaybePromise } from '../../asyncs/MaybePromise';\nimport { FetchLike } from '../../fetch';\n\nexport function createFetchWithProxyByUndici({\n proxy,\n token: _token,\n fetch,\n undici,\n}: {\n proxy?: string;\n token?: string;\n fetch?: FetchLike;\n undici?: MaybePromise<{ fetch: any; ProxyAgent: any }>;\n} = {}): FetchLike {\n if (!proxy) {\n return fetch || globalThis.fetch;\n }\n let agent: any;\n // https://github.com/nodejs/undici/blob/main/docs/best-practices/proxy.md\n return async (...args) => {\n const init = (args[1] ||= {}) as RequestInit & {\n duplex?: string;\n dispatcher?: any;\n };\n {\n const body = init.body;\n if (typeof body === 'object' && body && (body instanceof ReadableStream || Symbol.asyncIterator in body)) {\n // request.duplex must be set if request.body is ReadableStream or Async Iterables\n init.duplex ||= 'half';\n }\n }\n if (!agent) {\n let uri = proxy;\n let token = _token;\n {\n let u: URL | undefined;\n try {\n u = new URL(proxy);\n } catch (e) {}\n if (!token && u && (u.username || u.password)) {\n token = `Basic ${btoa(`${u.username || ''}:${u.password}`)}`;\n u.username = '';\n u.password = '';\n uri = u.toString();\n }\n }\n // if in next use 'next/dist/compiled/undici'\n undici ||= import('undici');\n const mod = await undici;\n const ProxyAgent = mod.ProxyAgent as new (_: any) => any;\n fetch ||= mod.fetch as FetchLike;\n // https://github.com/nodejs/undici/blob/main/docs/api/ProxyAgent.md\n agent = new ProxyAgent({\n uri,\n token,\n });\n // https://github.com/nodejs/node/issues/43187#issuecomment-1134634174\n // (global as any)[Symbol.for('undici.globalDispatcher.1')] = agent;\n // fixme should unwrap error https://github.com/nodejs/undici/issues/1248\n }\n init.dispatcher = agent;\n return await fetch!(...args);\n };\n}\n","import { createFetchWithProxyByUndici } from './createFetchWithProxyByUndici';\n\nexport const createFetchWithProxy = createFetchWithProxyByUndici;\n","import { createHash } from 'node:crypto';\n\nexport function md5(input: Buffer | string) {\n return createHash('md5').update(input).digest('hex') as string;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nexport function getPackageDir(currentDir: string = __dirname) {\n while (!fs.existsSync(path.join(currentDir, 'package.json'))) {\n currentDir = path.resolve(currentDir, '..');\n if (currentDir === '/') {\n return undefined;\n }\n }\n return currentDir;\n}\n"],"names":["polyfillCrypto","globalThis","getGlobalThis","module","createFetchWithProxyByUndici","proxy","_token","fetch","undici","agent","args","init","body","uri","token","u","mod","ProxyAgent","createFetchWithProxy","md5","input","createHash","__filename","fileURLToPath","__dirname","path","getPackageDir","currentDir","fs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.js","sources":["../../src/servers/polyfill/polyfillCrypto.ts","../../src/servers/fetch/createFetchWithProxyByUndici.ts","../../src/servers/fetch/createFetchWithProxy.ts","../../src/servers/crypto/md5.ts","../../src/servers/getPackageDir.ts"],"sourcesContent":["import { getGlobalThis } from '../../isomorphics/getGlobalThis';\n\nexport async function polyfillCrypto() {\n const globalThis = getGlobalThis();\n if ('crypto' in globalThis) {\n return false;\n }\n (globalThis as any).crypto = (await import('node:crypto')).webcrypto as Crypto;\n return true;\n}\n","import { MaybePromise } from '../../asyncs/MaybePromise';\nimport { createFetchWith, FetchLike } from '../../fetch';\nimport { getGlobalThis } from '../../isomorphics/getGlobalThis';\n\nexport function createFetchWithProxyByUndici({\n proxy,\n token: _token,\n fetch,\n undici,\n}: {\n proxy?: string;\n token?: string;\n fetch?: FetchLike;\n undici?: MaybePromise<{ fetch: any; ProxyAgent: any }>;\n} = {}): FetchLike {\n if (!proxy) {\n return fetch || globalThis.fetch;\n }\n\n if ((getGlobalThis() as any).Bun) {\n return createFetchWith({\n fetch,\n onRequest: ({ url, req, next }) => {\n return next(url, {\n ...req,\n // https://github.com/oven-sh/bun/issues/1829\n proxy,\n } as RequestInit);\n },\n });\n }\n\n let agent: any;\n // https://github.com/nodejs/undici/blob/main/docs/best-practices/proxy.md\n return async (...args) => {\n const init = (args[1] ||= {}) as RequestInit & {\n duplex?: string;\n dispatcher?: any;\n };\n {\n const body = init.body;\n if (typeof body === 'object' && body && (body instanceof ReadableStream || Symbol.asyncIterator in body)) {\n // request.duplex must be set if request.body is ReadableStream or Async Iterables\n init.duplex ||= 'half';\n }\n }\n if (!agent) {\n let uri = proxy;\n let token = _token;\n {\n let u: URL | undefined;\n try {\n u = new URL(proxy);\n } catch (e) {}\n if (!token && u && (u.username || u.password)) {\n token = `Basic ${btoa(`${u.username || ''}:${u.password}`)}`;\n u.username = '';\n u.password = '';\n uri = u.toString();\n }\n }\n // if in next use 'next/dist/compiled/undici'\n undici ||= import('undici');\n const mod = await undici;\n const ProxyAgent = mod.ProxyAgent as new (_: any) => any;\n fetch ||= mod.fetch as FetchLike;\n // https://github.com/nodejs/undici/blob/main/docs/api/ProxyAgent.md\n agent = new ProxyAgent({\n uri,\n token,\n });\n // https://github.com/nodejs/node/issues/43187#issuecomment-1134634174\n // (global as any)[Symbol.for('undici.globalDispatcher.1')] = agent;\n // fixme should unwrap error https://github.com/nodejs/undici/issues/1248\n }\n init.dispatcher = agent;\n return await fetch!(...args);\n };\n}\n","import { createFetchWithProxyByUndici } from './createFetchWithProxyByUndici';\n\nexport const createFetchWithProxy = createFetchWithProxyByUndici;\n","import { createHash } from 'node:crypto';\n\nexport function md5(input: Buffer | string) {\n return createHash('md5').update(input).digest('hex') as string;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nexport function getPackageDir(currentDir: string = __dirname) {\n while (!fs.existsSync(path.join(currentDir, 'package.json'))) {\n currentDir = path.resolve(currentDir, '..');\n if (currentDir === '/') {\n return undefined;\n }\n }\n return currentDir;\n}\n"],"names":["polyfillCrypto","globalThis","getGlobalThis","module","createFetchWithProxyByUndici","proxy","_token","fetch","undici","createFetchWith","url","req","next","agent","args","init","body","uri","token","u","mod","ProxyAgent","createFetchWithProxy","md5","input","createHash","__filename","fileURLToPath","__dirname","path","getPackageDir","currentDir","fs"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["../getGlobalThis-
|
|
1
|
+
System.register(["../getGlobalThis-X5ifUXDI.js"],function(f,a){"use strict";var i;return{setters:[function(s){i=s.g}],execute:function(){f("polyfillJsDom",s);async function s(){if(typeof window<"u")return!1;const c=i(),{ResourceLoader:y,JSDOM:g}=await a.import("jsdom");class u{constructor(n={}){const{proxy:o,strictSSL:r,userAgent:e,...d}=n,O=new y({proxy:o,strictSSL:r,userAgent:e});return new g("",Object.assign(d,{resources:O})).window}}const l={},p=Object.getOwnPropertyNames(new u(l)).filter(t=>typeof c[t]<"u");function w(...t){const n=t.filter(e=>Array.isArray(e))[0],o=t.filter(e=>!Array.isArray(e))[0],r=new u(Object.assign({},o,l));return Object.getOwnPropertyNames(r).filter(e=>!p.includes(e)).filter(e=>!(n&&n.indexOf(e)===-1)).filter(e=>{switch(e){case"undefined":return!1}return!0}).forEach(e=>{Object.defineProperty(c,e,{configurable:!0,get:()=>r[e]})}),r}return w({url:"http://localhost"}),!0}}}});
|
|
2
2
|
//# sourceMappingURL=jsdom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsdom.js","sources":["../../../src/servers/polyfill/polyfillJsDom.ts"],"sourcesContent":["import type { ConstructorOptions, ResourceLoaderConstructorOptions } from 'jsdom';\nimport { getGlobalThis } from '../../isomorphics/getGlobalThis';\n\nexport async function polyfillJsDom() {\n if (typeof window !== 'undefined') {\n return false;\n }\n\n const globalThis = getGlobalThis();\n\n const { ResourceLoader, JSDOM } = await import('jsdom');\n\n // https://github.com/lukechilds/window/blob/master/src/index.js\n // eslint-disable-next-line @typescript-eslint/no-extraneous-class\n class Window {\n constructor(opts: ResourceLoaderConstructorOptions & ConstructorOptions = {}) {\n const { proxy, strictSSL, userAgent, ...jsdomOpts } = opts;\n const resources = new ResourceLoader({\n proxy,\n strictSSL,\n userAgent,\n });\n return new JSDOM(\n '',\n Object.assign(jsdomOpts, {\n resources,\n }),\n ).window;\n }\n }\n\n // https://github.com/lukechilds/browser-env/blob/master/src/index.js\n // Default jsdom config.\n // These settings must override any custom settings to make sure we can iterate\n // over the window object.\n const defaultJsdomConfig = {\n // features: {\n // FetchExternalResources: false,\n // ProcessExternalResources: false,\n // },\n };\n // IIFE executed on import to return an array of global Node.js properties that\n // conflict with global browser properties.\n const protectedProperties = (() =>\n Object.getOwnPropertyNames(new Window(defaultJsdomConfig)).filter(\n (prop) => typeof globalThis[prop as keyof typeof globalThis] !== 'undefined',\n ))();\n\n function installEnv(...args: any[]) {\n // Sets up global browser environment\n // Extract options from args\n const properties = args.filter((arg: any) => Array.isArray(arg))[0];\n const userJsdomConfig = args.filter((arg: any) => !Array.isArray(arg))[0];\n\n // Create window object\n const window = new Window(Object.assign({}, userJsdomConfig, defaultJsdomConfig));\n\n // Get all global browser properties\n Object.getOwnPropertyNames(window)\n\n // Remove protected properties\n .filter((prop) => !protectedProperties.includes(prop))\n\n // If we're only applying specific required properties remove everything else\n .filter((prop) => !(properties && properties.indexOf(prop) === -1))\n .filter((prop) => {\n switch (prop) {\n case 'undefined':\n return false;\n }\n return true;\n })\n\n // Copy what's left to the Node.js global scope\n .forEach((prop) => {\n // console.debug(`define globalThis.${prop}`);\n Object.defineProperty(globalThis, prop, {\n configurable: true,\n get: () => window[prop as keyof Window] as any,\n });\n });\n\n return window;\n }\n\n installEnv({ url: 'http://localhost' });\n return true;\n}\n"],"names":["polyfillJsDom","globalThis","getGlobalThis","ResourceLoader","JSDOM","Window","opts","proxy","strictSSL","userAgent","jsdomOpts","resources","defaultJsdomConfig","protectedProperties","prop","installEnv","args","properties","arg","userJsdomConfig","window"],"mappings":"8JAGA,CAAsBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgB,CACpC,CAAA,CAAA,CAAI,
|
|
1
|
+
{"version":3,"file":"jsdom.js","sources":["../../../src/servers/polyfill/polyfillJsDom.ts"],"sourcesContent":["import type { ConstructorOptions, ResourceLoaderConstructorOptions } from 'jsdom';\nimport { getGlobalThis } from '../../isomorphics/getGlobalThis';\n\nexport async function polyfillJsDom() {\n if (typeof window !== 'undefined') {\n return false;\n }\n\n const globalThis = getGlobalThis();\n\n const { ResourceLoader, JSDOM } = await import('jsdom');\n\n // https://github.com/lukechilds/window/blob/master/src/index.js\n // eslint-disable-next-line @typescript-eslint/no-extraneous-class\n class Window {\n constructor(opts: ResourceLoaderConstructorOptions & ConstructorOptions = {}) {\n const { proxy, strictSSL, userAgent, ...jsdomOpts } = opts;\n const resources = new ResourceLoader({\n proxy,\n strictSSL,\n userAgent,\n });\n return new JSDOM(\n '',\n Object.assign(jsdomOpts, {\n resources,\n }),\n ).window;\n }\n }\n\n // https://github.com/lukechilds/browser-env/blob/master/src/index.js\n // Default jsdom config.\n // These settings must override any custom settings to make sure we can iterate\n // over the window object.\n const defaultJsdomConfig = {\n // features: {\n // FetchExternalResources: false,\n // ProcessExternalResources: false,\n // },\n };\n // IIFE executed on import to return an array of global Node.js properties that\n // conflict with global browser properties.\n const protectedProperties = (() =>\n Object.getOwnPropertyNames(new Window(defaultJsdomConfig)).filter(\n (prop) => typeof globalThis[prop as keyof typeof globalThis] !== 'undefined',\n ))();\n\n function installEnv(...args: any[]) {\n // Sets up global browser environment\n // Extract options from args\n const properties = args.filter((arg: any) => Array.isArray(arg))[0];\n const userJsdomConfig = args.filter((arg: any) => !Array.isArray(arg))[0];\n\n // Create window object\n const window = new Window(Object.assign({}, userJsdomConfig, defaultJsdomConfig));\n\n // Get all global browser properties\n Object.getOwnPropertyNames(window)\n\n // Remove protected properties\n .filter((prop) => !protectedProperties.includes(prop))\n\n // If we're only applying specific required properties remove everything else\n .filter((prop) => !(properties && properties.indexOf(prop) === -1))\n .filter((prop) => {\n switch (prop) {\n case 'undefined':\n return false;\n }\n return true;\n })\n\n // Copy what's left to the Node.js global scope\n .forEach((prop) => {\n // console.debug(`define globalThis.${prop}`);\n Object.defineProperty(globalThis, prop, {\n configurable: true,\n get: () => window[prop as keyof Window] as any,\n });\n });\n\n return window;\n }\n\n installEnv({ url: 'http://localhost' });\n return true;\n}\n"],"names":["polyfillJsDom","globalThis","getGlobalThis","ResourceLoader","JSDOM","Window","opts","proxy","strictSSL","userAgent","jsdomOpts","resources","defaultJsdomConfig","protectedProperties","prop","installEnv","args","properties","arg","userJsdomConfig","window"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["../getGlobalThis-
|
|
1
|
+
System.register(["../getGlobalThis-X5ifUXDI.js"],function(F,f){"use strict";var u;return{setters:[function(c){u=c.g}],execute:function(){F({createFetchWithProxyByNodeFetch:g,polyfillFetch:c});function c(o){if("fetch"in globalThis)return!1;if(o){const{default:t,Response:i,Headers:e,Request:s,AbortError:n,FetchError:a,FormData:r,Blob:h,File:l}=o;return Object.assign(globalThis,{fetch:t,Response:i,Headers:e,Request:s,AbortError:n,FetchError:a,FormData:r,Blob:h,File:l}),!0}return f.import("node-fetch").then(t=>c(t))}function g({proxy:o,fetch:t}={}){const i=u();if(!o)return t||i.fetch;let e;const s=i.Request;let n,a;return async(r,h)=>{if(!e){const{default:l}=await f.import("https-proxy-agent");e=l(o)}return n||({Request:n,default:a}=await f.import("node-fetch")),t||=a,r instanceof s?t(new s(r,{agent:e})):r instanceof n?t(new n(r,{agent:e})):t(r,{...h,agent:e})}}}}});
|
|
2
2
|
//# sourceMappingURL=node-fetch.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["../getGlobalThis-
|
|
1
|
+
System.register(["../getGlobalThis-X5ifUXDI.js"],function(c,s){"use strict";var o;return{setters:[function(t){o=t.g}],execute:function(){c("polyfillWebSocket",t);function t(n){const i=o();if("WebSocket"in i)return!1;if(n){const{WebSocket:e}=n;Object.assign(i,{WebSocket:e})}return s.import("ws").then(e=>t(e))}}}});
|
|
2
2
|
//# sourceMappingURL=ws.js.map
|
package/lib/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export { TimeoutError, timeout } from './asyncs/timeout.js';
|
|
|
15
15
|
export { isPromise } from './asyncs/isPromise.js';
|
|
16
16
|
export { shallowEqual } from './langs/shallowEqual.js';
|
|
17
17
|
export { deepEqual } from './langs/deepEqual.js';
|
|
18
|
+
export { deepFreeze } from './langs/deepFreeze.js';
|
|
18
19
|
export { classOf } from './langs/classOf.js';
|
|
19
20
|
export { shallowClone } from './langs/shallowClone.js';
|
|
20
21
|
export { isClass } from './langs/isClass.js';
|
|
@@ -53,6 +54,7 @@ export { hex } from './crypto/base.js';
|
|
|
53
54
|
export { createULID, isULID, parseULID, ulid } from './crypto/ulid.js';
|
|
54
55
|
export { PEM } from './crypto/pem/pem.js';
|
|
55
56
|
export { createRandom } from './maths/random.js';
|
|
57
|
+
export { clamp } from './maths/clamp.js';
|
|
56
58
|
export { createFetchWith } from './fetch/createFetchWith.js';
|
|
57
59
|
export { createFetchWithLogging } from './fetch/createFetchWithLogging.js';
|
|
58
60
|
export { dumpRequest } from './fetch/dumpRequest.js';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function deepFreeze(obj) {
|
|
2
|
+
if (obj === null || typeof obj !== "object") {
|
|
3
|
+
return obj;
|
|
4
|
+
}
|
|
5
|
+
const props = Object.getOwnPropertyNames(obj);
|
|
6
|
+
for (const prop of props) {
|
|
7
|
+
const value = obj[prop];
|
|
8
|
+
if (value && typeof value === "object") {
|
|
9
|
+
deepFreeze(value);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return Object.freeze(obj);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { deepFreeze };
|
|
16
|
+
//# sourceMappingURL=deepFreeze.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepFreeze.js","sources":["../../src/langs/deepFreeze.ts"],"sourcesContent":["/**\n * Freezes the given object and all its nested objects recursively.\n *\n * @param {T} obj - The object to freeze.\n * @returns {T} - The frozen object.\n */\nexport function deepFreeze<T>(obj: T): T {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n const props = Object.getOwnPropertyNames(obj);\n for (const prop of props) {\n const value = (obj as any)[prop];\n if (value && typeof value === 'object') {\n deepFreeze(value);\n }\n }\n return Object.freeze(obj);\n}\n"],"names":[],"mappings":"AAMO,SAAS,WAAc,GAAW,EAAA;AACvC,EAAA,IAAI,GAAQ,KAAA,IAAA,IAAQ,OAAO,GAAA,KAAQ,QAAU,EAAA;AAC3C,IAAO,OAAA,GAAA,CAAA;AAAA,GACT;AACA,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,mBAAA,CAAoB,GAAG,CAAA,CAAA;AAC5C,EAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACxB,IAAM,MAAA,KAAA,GAAS,IAAY,IAAI,CAAA,CAAA;AAC/B,IAAI,IAAA,KAAA,IAAS,OAAO,KAAA,KAAU,QAAU,EAAA;AACtC,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KAClB;AAAA,GACF;AACA,EAAO,OAAA,MAAA,CAAO,OAAO,GAAG,CAAA,CAAA;AAC1B;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
function clamp(value, ...o) {
|
|
2
|
+
let min, max, def;
|
|
3
|
+
if (o.length === 1) {
|
|
4
|
+
({ min, max, default: def = min } = o[0]);
|
|
5
|
+
} else {
|
|
6
|
+
[min, max, def = min] = o;
|
|
7
|
+
}
|
|
8
|
+
if (value === null || value === void 0) {
|
|
9
|
+
return def;
|
|
10
|
+
}
|
|
11
|
+
if (value < min) {
|
|
12
|
+
return min;
|
|
13
|
+
}
|
|
14
|
+
if (value > max) {
|
|
15
|
+
return max;
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { clamp };
|
|
21
|
+
//# sourceMappingURL=clamp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clamp.js","sources":["../../src/maths/clamp.ts"],"sourcesContent":["// export function clamp<T>(value: T | null | undefined, o: { min: T; max: T; default?: T }): T;\n\nexport function clamp<T>(value: T | null | undefined, min: T, max: T, def?: T): T;\nexport function clamp<T>(value: T | null | undefined, ...o: any[]): T {\n let min: T, max: T, def: T;\n if (o.length === 1) {\n ({ min, max, default: def = min! } = o[0]);\n } else {\n [min, max, def = min!] = o;\n }\n if (value === null || value === undefined) {\n return def;\n }\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n}\n\n// type Comparable = number | string | Date | BigInt;\n"],"names":[],"mappings":"AAGgB,SAAA,KAAA,CAAS,UAAgC,CAAa,EAAA;AACpE,EAAA,IAAI,KAAQ,GAAQ,EAAA,GAAA,CAAA;AACpB,EAAI,IAAA,CAAA,CAAE,WAAW,CAAG,EAAA;AAClB,IAAC,CAAA,EAAE,KAAK,GAAK,EAAA,OAAA,EAAS,MAAM,GAAK,EAAA,GAAI,EAAE,CAAC,CAAA,EAAA;AAAA,GACnC,MAAA;AACL,IAAA,CAAC,GAAK,EAAA,GAAA,EAAK,GAAM,GAAA,GAAI,CAAI,GAAA,CAAA,CAAA;AAAA,GAC3B;AACA,EAAI,IAAA,KAAA,KAAU,IAAQ,IAAA,KAAA,KAAU,KAAW,CAAA,EAAA;AACzC,IAAO,OAAA,GAAA,CAAA;AAAA,GACT;AACA,EAAA,IAAI,QAAQ,GAAK,EAAA;AACf,IAAO,OAAA,GAAA,CAAA;AAAA,GACT;AACA,EAAA,IAAI,QAAQ,GAAK,EAAA;AACf,IAAO,OAAA,GAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
|
package/lib/objects/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sources":["../../src/objects/get.ts"],"sourcesContent":["import type { ObjectKey } from './parseObjectPath';\nimport { parseObjectPath } from './parseObjectPath';\n\n/**\n * get by path\n *\n * {@link https://github.com/developit/dlv dlv}\n */\nexport function get<O extends object, P extends ObjectKey, OrElse extends unknown>(\n obj: O,\n key: P | P[],\n def?: OrElse,\n): ResolveObjectPathType<O, P, OrElse> {\n const undef = undefined;\n const path = parseObjectPath(key);\n let out: any = obj;\n for (const i of path) {\n out = out ? out[i] : undef;\n }\n return out === undef ? def : out;\n}\n\n/**\n * It tries to resolve the path of the given object, otherwise it will return OrElse\n *\n * {@link https://github.com/Pouja/typescript-deep-path-safe typescript-deep-path-safe}\n */\nexport type ResolveObjectPathType<\n ObjectType,\n Path extends string | symbol | number,\n OrElse,\n> = Path extends keyof ObjectType\n ? ObjectType[Path]\n : Path extends `${infer LeftSide}.${infer RightSide}`\n
|
|
1
|
+
{"version":3,"file":"get.js","sources":["../../src/objects/get.ts"],"sourcesContent":["import type { ObjectKey } from './parseObjectPath';\nimport { parseObjectPath } from './parseObjectPath';\n\n/**\n * get by path\n *\n * {@link https://github.com/developit/dlv dlv}\n */\nexport function get<O extends object, P extends ObjectKey, OrElse extends unknown>(\n obj: O,\n key: P | P[],\n def?: OrElse,\n): ResolveObjectPathType<O, P, OrElse> {\n const undef = undefined;\n const path = parseObjectPath(key);\n let out: any = obj;\n for (const i of path) {\n out = out ? out[i] : undef;\n }\n return out === undef ? def : out;\n}\n\n/**\n * It tries to resolve the path of the given object, otherwise it will return OrElse\n *\n * {@link https://github.com/Pouja/typescript-deep-path-safe typescript-deep-path-safe}\n */\nexport type ResolveObjectPathType<\n ObjectType,\n Path extends string | symbol | number,\n OrElse,\n> = Path extends keyof ObjectType\n ? ObjectType[Path]\n : Path extends `${infer LeftSide}.${infer RightSide}`\n ? LeftSide extends keyof ObjectType\n ? ResolveObjectPathType<ObjectType[LeftSide], RightSide, OrElse>\n : Path extends `${infer LeftSide}[${number}].${infer RightSide}`\n ? LeftSide extends keyof ObjectType\n ? ObjectType[LeftSide] extends Array<infer U>\n ? ResolveObjectPathType<U, RightSide, OrElse>\n : OrElse\n : OrElse\n : OrElse\n : Path extends `${infer LeftSide}[${number}]`\n ? LeftSide extends keyof ObjectType\n ? ObjectType[LeftSide] extends Array<infer U>\n ? U\n : OrElse\n : OrElse\n : OrElse;\n"],"names":[],"mappings":";;AAQgB,SAAA,GAAA,CACd,GACA,EAAA,GAAA,EACA,GACqC,EAAA;AACrC,EAAA,MAAM,KAAQ,GAAA,KAAA,CAAA,CAAA;AACd,EAAM,MAAA,IAAA,GAAO,gBAAgB,GAAG,CAAA,CAAA;AAChC,EAAA,IAAI,GAAW,GAAA,GAAA,CAAA;AACf,EAAA,KAAA,MAAW,KAAK,IAAM,EAAA;AACpB,IAAM,GAAA,GAAA,GAAA,GAAM,GAAI,CAAA,CAAC,CAAI,GAAA,KAAA,CAAA;AAAA,GACvB;AACA,EAAO,OAAA,GAAA,KAAQ,QAAQ,GAAM,GAAA,GAAA,CAAA;AAC/B;;;;"}
|
package/lib/objects/set.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sources":["../../src/objects/set.ts"],"sourcesContent":["import type { ObjectKey, ObjectPath } from './parseObjectPath';\nimport { parseObjectPath } from './parseObjectPath';\n\n/**\n * Deep set\n *\n * {@link https://github.com/lukeed/dset dset}\n */\nexport function set<T extends object, V>(obj: T, key: ObjectKey | ObjectPath, val: V, merging = true) {\n const path = parseObjectPath(key);\n let i = 0;\n const len = path.length;\n let current: any = obj;\n let x, k;\n while (i < len) {\n k = path[i++];\n if (k === '__proto__' || k === 'constructor' || k === 'prototype') break;\n // noinspection PointlessArithmeticExpressionJS\n current = current[k] =\n i === len\n ? merging\n ? merge(current[k], val)\n : val\n : typeof (x = current[k]) === typeof path\n
|
|
1
|
+
{"version":3,"file":"set.js","sources":["../../src/objects/set.ts"],"sourcesContent":["import type { ObjectKey, ObjectPath } from './parseObjectPath';\nimport { parseObjectPath } from './parseObjectPath';\n\n/**\n * Deep set\n *\n * {@link https://github.com/lukeed/dset dset}\n */\nexport function set<T extends object, V>(obj: T, key: ObjectKey | ObjectPath, val: V, merging = true) {\n const path = parseObjectPath(key);\n let i = 0;\n const len = path.length;\n let current: any = obj;\n let x, k;\n while (i < len) {\n k = path[i++];\n if (k === '__proto__' || k === 'constructor' || k === 'prototype') break;\n // noinspection PointlessArithmeticExpressionJS\n current = current[k] =\n i === len\n ? merging\n ? merge(current[k], val)\n : val\n : typeof (x = current[k]) === typeof path\n ? x\n : // @ts-expect-error hacky type check\n path[i] * 0 !== 0 || !!~('' + path[i]).indexOf('.') // eslint-disable-line\n ? {}\n : [];\n }\n}\n\nexport function merge(a: any, b: any) {\n let k;\n if (typeof a === 'object' && typeof b === 'object') {\n if (Array.isArray(a) && Array.isArray(b)) {\n for (k = 0; k < b.length; k++) {\n a[k] = merge(a[k], b[k]);\n }\n } else {\n for (k in b) {\n if (k === '__proto__' || k === 'constructor' || k === 'prototype') break;\n a[k] = merge(a[k], b[k]);\n }\n }\n return a;\n }\n return b;\n}\n"],"names":[],"mappings":";;AAQO,SAAS,GAAyB,CAAA,GAAA,EAAQ,GAA6B,EAAA,GAAA,EAAQ,UAAU,IAAM,EAAA;AACpG,EAAM,MAAA,IAAA,GAAO,gBAAgB,GAAG,CAAA,CAAA;AAChC,EAAA,IAAI,CAAI,GAAA,CAAA,CAAA;AACR,EAAA,MAAM,MAAM,IAAK,CAAA,MAAA,CAAA;AACjB,EAAA,IAAI,OAAe,GAAA,GAAA,CAAA;AACnB,EAAA,IAAI,CAAG,EAAA,CAAA,CAAA;AACP,EAAA,OAAO,IAAI,GAAK,EAAA;AACd,IAAA,CAAA,GAAI,KAAK,CAAG,EAAA,CAAA,CAAA;AACZ,IAAA,IAAI,CAAM,KAAA,WAAA,IAAe,CAAM,KAAA,aAAA,IAAiB,CAAM,KAAA,WAAA;AAAa,MAAA,MAAA;AAEnE,IAAA,OAAA,GAAU,QAAQ,CAAC,CAAA,GACjB,MAAM,GACF,GAAA,OAAA,GACE,MAAM,OAAQ,CAAA,CAAC,GAAG,GAAG,CAAA,GACrB,MACF,QAAQ,CAAA,GAAI,QAAQ,CAAC,CAAA,CAAA,KAAO,OAAO,IACjC,GAAA,CAAA;AAAA;AAAA,MAEA,KAAK,CAAC,CAAA,GAAI,CAAM,KAAA,CAAA,IAAK,CAAC,CAAC,CAAA,CAAE,EAAK,GAAA,IAAA,CAAK,CAAC,CAAG,EAAA,OAAA,CAAQ,GAAG,CAChD,GAAA,KACA,EAAC;AAAA,KAAA,CAAA;AAAA,GACb;AACF,CAAA;AAEgB,SAAA,KAAA,CAAM,GAAQ,CAAQ,EAAA;AACpC,EAAI,IAAA,CAAA,CAAA;AACJ,EAAA,IAAI,OAAO,CAAA,KAAM,QAAY,IAAA,OAAO,MAAM,QAAU,EAAA;AAClD,IAAA,IAAI,MAAM,OAAQ,CAAA,CAAC,KAAK,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAG,EAAA;AACxC,MAAA,KAAK,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,CAAE,QAAQ,CAAK,EAAA,EAAA;AAC7B,QAAE,CAAA,CAAA,CAAC,IAAI,KAAM,CAAA,CAAA,CAAE,CAAC,CAAG,EAAA,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA;AAAA,OACzB;AAAA,KACK,MAAA;AACL,MAAA,KAAK,KAAK,CAAG,EAAA;AACX,QAAA,IAAI,CAAM,KAAA,WAAA,IAAe,CAAM,KAAA,aAAA,IAAiB,CAAM,KAAA,WAAA;AAAa,UAAA,MAAA;AACnE,QAAE,CAAA,CAAA,CAAC,IAAI,KAAM,CAAA,CAAA,CAAE,CAAC,CAAG,EAAA,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA;AAAA,OACzB;AAAA,KACF;AACA,IAAO,OAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,CAAA,CAAA;AACT;;;;"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var Character;
|
|
2
|
+
((Character2) => {
|
|
3
|
+
function DollarSign(code) {
|
|
4
|
+
return code === 36;
|
|
5
|
+
}
|
|
6
|
+
Character2.DollarSign = DollarSign;
|
|
7
|
+
function IsUnderscore(code) {
|
|
8
|
+
return code === 95;
|
|
9
|
+
}
|
|
10
|
+
Character2.IsUnderscore = IsUnderscore;
|
|
11
|
+
function IsAlpha(code) {
|
|
12
|
+
return code >= 64 && code <= 90 || code >= 97 && code <= 122;
|
|
13
|
+
}
|
|
14
|
+
Character2.IsAlpha = IsAlpha;
|
|
15
|
+
function IsNumeric(code) {
|
|
16
|
+
return code >= 48 && code <= 57;
|
|
17
|
+
}
|
|
18
|
+
Character2.IsNumeric = IsNumeric;
|
|
19
|
+
})(Character || (Character = {}));
|
|
20
|
+
var MemberExpressionEncoder;
|
|
21
|
+
((MemberExpressionEncoder2) => {
|
|
22
|
+
function IsFirstCharacterNumeric(value) {
|
|
23
|
+
if (value.length === 0)
|
|
24
|
+
return false;
|
|
25
|
+
return Character.IsNumeric(value.charCodeAt(0));
|
|
26
|
+
}
|
|
27
|
+
function IsAccessor(value) {
|
|
28
|
+
if (IsFirstCharacterNumeric(value))
|
|
29
|
+
return false;
|
|
30
|
+
for (let i = 0; i < value.length; i++) {
|
|
31
|
+
const code = value.charCodeAt(i);
|
|
32
|
+
const check = Character.IsAlpha(code) || Character.IsNumeric(code) || Character.DollarSign(code) || Character.IsUnderscore(code);
|
|
33
|
+
if (!check)
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
function EscapeHyphen(key) {
|
|
39
|
+
return key.replace(/'/g, "\\'");
|
|
40
|
+
}
|
|
41
|
+
function Encode(object, key) {
|
|
42
|
+
return IsAccessor(key) ? `${object}.${key}` : `${object}['${EscapeHyphen(key)}']`;
|
|
43
|
+
}
|
|
44
|
+
MemberExpressionEncoder2.Encode = Encode;
|
|
45
|
+
})(MemberExpressionEncoder || (MemberExpressionEncoder = {}));
|
|
46
|
+
var PropertyEncoder;
|
|
47
|
+
((PropertyEncoder2) => {
|
|
48
|
+
function IsFirstCharacterNumeric(value) {
|
|
49
|
+
if (value.length === 0)
|
|
50
|
+
return false;
|
|
51
|
+
return Character.IsNumeric(value.charCodeAt(0));
|
|
52
|
+
}
|
|
53
|
+
function IsSafeProperty(value) {
|
|
54
|
+
if (IsFirstCharacterNumeric(value))
|
|
55
|
+
return false;
|
|
56
|
+
for (let i = 0; i < value.length; i++) {
|
|
57
|
+
const code = value.charCodeAt(i);
|
|
58
|
+
const check = Character.IsAlpha(code) || Character.IsNumeric(code) || Character.DollarSign(code) || Character.IsUnderscore(code);
|
|
59
|
+
if (!check)
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
function Quoted(value) {
|
|
65
|
+
return `'${value}'`;
|
|
66
|
+
}
|
|
67
|
+
function Encode(value) {
|
|
68
|
+
return IsSafeProperty(value) ? value : Quoted(value);
|
|
69
|
+
}
|
|
70
|
+
PropertyEncoder2.Encode = Encode;
|
|
71
|
+
})(PropertyEncoder || (PropertyEncoder = {}));
|
|
72
|
+
|
|
73
|
+
export { MemberExpressionEncoder, PropertyEncoder };
|
|
74
|
+
//# sourceMappingURL=encoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoder.js","sources":["../../../../../../src/schema/typebox/gen/codegen/common/encoder.ts"],"sourcesContent":["/*--------------------------------------------------------------------------\n\n@sinclair/typebox-codegen\n\nThe MIT License (MIT)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\n\n// --------------------------------------------------------------------------\n// Character\n// --------------------------------------------------------------------------\nnamespace Character {\n export function DollarSign(code: number) {\n return code === 36;\n }\n export function IsUnderscore(code: number) {\n return code === 95;\n }\n export function IsAlpha(code: number) {\n return (code >= 64 && code <= 90) || (code >= 97 && code <= 122);\n }\n export function IsNumeric(code: number) {\n return code >= 48 && code <= 57;\n }\n}\n// --------------------------------------------------------------------------\n// MemberExpressionEncoder\n// --------------------------------------------------------------------------\nexport namespace MemberExpressionEncoder {\n function IsFirstCharacterNumeric(value: string) {\n if (value.length === 0) return false;\n return Character.IsNumeric(value.charCodeAt(0));\n }\n function IsAccessor(value: string) {\n if (IsFirstCharacterNumeric(value)) return false;\n for (let i = 0; i < value.length; i++) {\n const code = value.charCodeAt(i);\n const check =\n Character.IsAlpha(code) ||\n Character.IsNumeric(code) ||\n Character.DollarSign(code) ||\n Character.IsUnderscore(code);\n if (!check) return false;\n }\n return true;\n }\n function EscapeHyphen(key: string) {\n return key.replace(/'/g, \"\\\\'\");\n }\n export function Encode(object: string, key: string) {\n return IsAccessor(key) ? `${object}.${key}` : `${object}['${EscapeHyphen(key)}']`;\n }\n}\n// --------------------------------------------------------------------------\n// PropertyEncoder\n// --------------------------------------------------------------------------\nexport namespace PropertyEncoder {\n function IsFirstCharacterNumeric(value: string) {\n if (value.length === 0) return false;\n return Character.IsNumeric(value.charCodeAt(0));\n }\n function IsSafeProperty(value: string) {\n if (IsFirstCharacterNumeric(value)) return false;\n for (let i = 0; i < value.length; i++) {\n const code = value.charCodeAt(i);\n const check =\n Character.IsAlpha(code) ||\n Character.IsNumeric(code) ||\n Character.DollarSign(code) ||\n Character.IsUnderscore(code);\n if (!check) return false;\n }\n return true;\n }\n function Quoted(value: string) {\n return `'${value}'`;\n }\n export function Encode(value: string) {\n return IsSafeProperty(value) ? value : Quoted(value);\n }\n}\n"],"names":["Character","MemberExpressionEncoder","PropertyEncoder"],"mappings":"AA6BA,IAAU,SAAA,CAAA;AAAA,CAAV,CAAUA,UAAV,KAAA;AACS,EAAA,SAAS,WAAW,IAAc,EAAA;AACvC,IAAA,OAAO,IAAS,KAAA,EAAA,CAAA;AAAA,GAClB;AAFO,EAAAA,UAAS,CAAA,UAAA,GAAA,UAAA,CAAA;AAGT,EAAA,SAAS,aAAa,IAAc,EAAA;AACzC,IAAA,OAAO,IAAS,KAAA,EAAA,CAAA;AAAA,GAClB;AAFO,EAAAA,UAAS,CAAA,YAAA,GAAA,YAAA,CAAA;AAGT,EAAA,SAAS,QAAQ,IAAc,EAAA;AACpC,IAAA,OAAQ,QAAQ,EAAM,IAAA,IAAA,IAAQ,EAAQ,IAAA,IAAA,IAAQ,MAAM,IAAQ,IAAA,GAAA,CAAA;AAAA,GAC9D;AAFO,EAAAA,UAAS,CAAA,OAAA,GAAA,OAAA,CAAA;AAGT,EAAA,SAAS,UAAU,IAAc,EAAA;AACtC,IAAO,OAAA,IAAA,IAAQ,MAAM,IAAQ,IAAA,EAAA,CAAA;AAAA,GAC/B;AAFO,EAAAA,UAAS,CAAA,SAAA,GAAA,SAAA,CAAA;AAAA,CAVR,EAAA,SAAA,KAAA,SAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAiBO,IAAA,wBAAA;AAAA,CAAV,CAAUC,wBAAV,KAAA;AACL,EAAA,SAAS,wBAAwB,KAAe,EAAA;AAC9C,IAAA,IAAI,MAAM,MAAW,KAAA,CAAA;AAAG,MAAO,OAAA,KAAA,CAAA;AAC/B,IAAA,OAAO,SAAU,CAAA,SAAA,CAAU,KAAM,CAAA,UAAA,CAAW,CAAC,CAAC,CAAA,CAAA;AAAA,GAChD;AACA,EAAA,SAAS,WAAW,KAAe,EAAA;AACjC,IAAA,IAAI,wBAAwB,KAAK,CAAA;AAAG,MAAO,OAAA,KAAA,CAAA;AAC3C,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACrC,MAAM,MAAA,IAAA,GAAO,KAAM,CAAA,UAAA,CAAW,CAAC,CAAA,CAAA;AAC/B,MAAA,MAAM,KACJ,GAAA,SAAA,CAAU,OAAQ,CAAA,IAAI,KACtB,SAAU,CAAA,SAAA,CAAU,IAAI,CAAA,IACxB,UAAU,UAAW,CAAA,IAAI,CACzB,IAAA,SAAA,CAAU,aAAa,IAAI,CAAA,CAAA;AAC7B,MAAA,IAAI,CAAC,KAAA;AAAO,QAAO,OAAA,KAAA,CAAA;AAAA,KACrB;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACA,EAAA,SAAS,aAAa,GAAa,EAAA;AACjC,IAAO,OAAA,GAAA,CAAI,OAAQ,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,GAChC;AACO,EAAS,SAAA,MAAA,CAAO,QAAgB,GAAa,EAAA;AAClD,IAAA,OAAO,UAAW,CAAA,GAAG,CAAI,GAAA,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,GAAK,CAAG,EAAA,MAAM,CAAK,EAAA,EAAA,YAAA,CAAa,GAAG,CAAC,CAAA,EAAA,CAAA,CAAA;AAAA,GAC/E;AAFO,EAAAA,wBAAS,CAAA,MAAA,GAAA,MAAA,CAAA;AAAA,CArBD,EAAA,uBAAA,KAAA,uBAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AA4BA,IAAA,gBAAA;AAAA,CAAV,CAAUC,gBAAV,KAAA;AACL,EAAA,SAAS,wBAAwB,KAAe,EAAA;AAC9C,IAAA,IAAI,MAAM,MAAW,KAAA,CAAA;AAAG,MAAO,OAAA,KAAA,CAAA;AAC/B,IAAA,OAAO,SAAU,CAAA,SAAA,CAAU,KAAM,CAAA,UAAA,CAAW,CAAC,CAAC,CAAA,CAAA;AAAA,GAChD;AACA,EAAA,SAAS,eAAe,KAAe,EAAA;AACrC,IAAA,IAAI,wBAAwB,KAAK,CAAA;AAAG,MAAO,OAAA,KAAA,CAAA;AAC3C,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACrC,MAAM,MAAA,IAAA,GAAO,KAAM,CAAA,UAAA,CAAW,CAAC,CAAA,CAAA;AAC/B,MAAA,MAAM,KACJ,GAAA,SAAA,CAAU,OAAQ,CAAA,IAAI,KACtB,SAAU,CAAA,SAAA,CAAU,IAAI,CAAA,IACxB,UAAU,UAAW,CAAA,IAAI,CACzB,IAAA,SAAA,CAAU,aAAa,IAAI,CAAA,CAAA;AAC7B,MAAA,IAAI,CAAC,KAAA;AAAO,QAAO,OAAA,KAAA,CAAA;AAAA,KACrB;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACA,EAAA,SAAS,OAAO,KAAe,EAAA;AAC7B,IAAA,OAAO,IAAI,KAAK,CAAA,CAAA,CAAA,CAAA;AAAA,GAClB;AACO,EAAA,SAAS,OAAO,KAAe,EAAA;AACpC,IAAA,OAAO,cAAe,CAAA,KAAK,CAAI,GAAA,KAAA,GAAQ,OAAO,KAAK,CAAA,CAAA;AAAA,GACrD;AAFO,EAAAA,gBAAS,CAAA,MAAA,GAAA,MAAA,CAAA;AAAA,CArBD,EAAA,eAAA,KAAA,eAAA,GAAA,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.js","sources":["../../../../../../src/schema/typebox/gen/codegen/common/formatter.ts"],"sourcesContent":["/*--------------------------------------------------------------------------\n\n@sinclair/typebox-codegen\n\nThe MIT License (MIT)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\n\nexport namespace Formatter {\n export function Format(code: string): string {\n return code;\n }\n}\n"],"names":["Formatter"],"mappings":"AA0BiB,IAAA,UAAA;AAAA,CAAV,CAAUA,UAAV,KAAA;AACE,EAAA,SAAS,OAAO,IAAsB,EAAA;AAC3C,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAFO,EAAAA,UAAS,CAAA,MAAA,GAAA,MAAA,CAAA;AAAA,CADD,EAAA,SAAA,KAAA,SAAA,GAAA,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
var JsDoc;
|
|
2
|
+
((JsDoc2) => {
|
|
3
|
+
function ConsumeQuote(content) {
|
|
4
|
+
if (!IsQuote(content))
|
|
5
|
+
return ["", content];
|
|
6
|
+
const quote = content[0];
|
|
7
|
+
for (let i = 1; i < content.length; i++) {
|
|
8
|
+
if (content[i] === quote)
|
|
9
|
+
return [content.slice(1, i), content.slice(i)];
|
|
10
|
+
if (content[i] === "\n")
|
|
11
|
+
return [content.slice(1, i), content.slice(i)];
|
|
12
|
+
}
|
|
13
|
+
return [content.slice(1), ""];
|
|
14
|
+
}
|
|
15
|
+
function IsQuote(content) {
|
|
16
|
+
return content[0] === '"' || content[0] === "'";
|
|
17
|
+
}
|
|
18
|
+
function DecodeWithNonQuotedProperties(content) {
|
|
19
|
+
const parseFunction = new Function(`return (${content});`);
|
|
20
|
+
return parseFunction();
|
|
21
|
+
}
|
|
22
|
+
function Decode(content) {
|
|
23
|
+
try {
|
|
24
|
+
return DecodeWithNonQuotedProperties(content);
|
|
25
|
+
} catch {
|
|
26
|
+
return content;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function* ParseValue(key, content) {
|
|
30
|
+
if (IsQuote(content)) {
|
|
31
|
+
const [consumed, rest] = ConsumeQuote(content);
|
|
32
|
+
yield [key, Decode(consumed)];
|
|
33
|
+
return yield* ParseContent(rest);
|
|
34
|
+
}
|
|
35
|
+
for (let i = 0; i < content.length; i++) {
|
|
36
|
+
if (content[i] === "\n" || content[i] === "-") {
|
|
37
|
+
const value = content.slice(0, i).trim();
|
|
38
|
+
const rest = content.slice(i);
|
|
39
|
+
yield [key, Decode(value)];
|
|
40
|
+
return yield* ParseContent(rest);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function* ParseKey(content) {
|
|
45
|
+
for (let i = 1; i < content.length; i++) {
|
|
46
|
+
if (content[i] === " ") {
|
|
47
|
+
const key = content.slice(1, i);
|
|
48
|
+
const rest = content.slice(i).trimStart();
|
|
49
|
+
return yield* ParseValue(key, rest);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function* ParseContent(content) {
|
|
54
|
+
for (let i = 0; i < content.length; i++) {
|
|
55
|
+
if (content[i] === "@") {
|
|
56
|
+
return yield* ParseKey(content.slice(i));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function Parse(content) {
|
|
61
|
+
const properties = [...ParseContent(content)];
|
|
62
|
+
return properties.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});
|
|
63
|
+
}
|
|
64
|
+
JsDoc2.Parse = Parse;
|
|
65
|
+
})(JsDoc || (JsDoc = {}));
|
|
66
|
+
|
|
67
|
+
export { JsDoc };
|
|
68
|
+
//# sourceMappingURL=jsdoc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsdoc.js","sources":["../../../../../../src/schema/typebox/gen/codegen/common/jsdoc.ts"],"sourcesContent":["/*--------------------------------------------------------------------------\n\n@sinclair/typebox-codegen\n\nThe MIT License (MIT)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n---------------------------------------------------------------------------*/\n\n/** JSDoc Property Parser */\nexport namespace JsDoc {\n // ----------------------------------------------------------------\n // Quotes\n // ----------------------------------------------------------------\n function ConsumeQuote(content: string): [consumed: string, rest: string] {\n if (!IsQuote(content)) return ['', content];\n const quote = content[0];\n for (let i = 1; i < content.length; i++) {\n if (content[i] === quote) return [content.slice(1, i), content.slice(i)];\n if (content[i] === '\\n') return [content.slice(1, i), content.slice(i)];\n }\n return [content.slice(1), ''];\n }\n function IsQuote(content: string) {\n return content[0] === '\"' || content[0] === \"'\";\n }\n // ----------------------------------------------------------------\n // Decode\n // ----------------------------------------------------------------\n function DecodeWithNonQuotedProperties(content: string): any {\n const parseFunction = new Function(`return (${content});`);\n return parseFunction();\n }\n function Decode(content: string) {\n try {\n return DecodeWithNonQuotedProperties(content);\n } catch {\n return content;\n }\n }\n function* ParseValue(key: string, content: string): IterableIterator<[string, any]> {\n if (IsQuote(content)) {\n const [consumed, rest] = ConsumeQuote(content);\n yield [key, Decode(consumed)];\n return yield* ParseContent(rest);\n }\n for (let i = 0; i < content.length; i++) {\n if (content[i] === '\\n' || content[i] === '-') {\n const value = content.slice(0, i).trim();\n const rest = content.slice(i);\n yield [key, Decode(value)];\n return yield* ParseContent(rest);\n }\n }\n }\n function* ParseKey(content: string): IterableIterator<[string, any]> {\n for (let i = 1; i < content.length; i++) {\n if (content[i] === ' ') {\n const key = content.slice(1, i);\n const rest = content.slice(i).trimStart();\n return yield* ParseValue(key, rest);\n }\n }\n }\n function* ParseContent(content: string): IterableIterator<[string, any]> {\n for (let i = 0; i < content.length; i++) {\n if (content[i] === '@') {\n return yield* ParseKey(content.slice(i));\n }\n }\n }\n export function Parse(content: string): Record<string, any> {\n const properties = [...ParseContent(content)];\n return properties.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});\n }\n}\n"],"names":["JsDoc"],"mappings":"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"}
|