@wener/utils 1.1.42 → 1.1.45
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/lib/arrays/MaybeArray.js.map +1 -1
- package/lib/arrays/arrayFromAsync.js.map +1 -1
- package/lib/asyncs/AsyncInterval.js.map +1 -1
- package/lib/asyncs/MaybePromise.js.map +1 -1
- package/lib/asyncs/createAsyncIterator.js.map +1 -1
- package/lib/asyncs/createLazyPromise.js.map +1 -1
- package/lib/asyncs/firstOfAsyncIterator.js.map +1 -1
- package/lib/asyncs/generatorOfStream.js.map +1 -1
- package/lib/asyncs/isIterator.js.map +1 -1
- package/lib/asyncs/isPromise.js.map +1 -1
- package/lib/asyncs/isThenable.js.map +1 -1
- package/lib/asyncs/nextOfAsyncIterator.js.map +1 -1
- package/lib/asyncs/promiseOfCallback.js.map +1 -1
- package/lib/asyncs/sleep.js.map +1 -1
- package/lib/asyncs/timeout.js.map +1 -1
- package/lib/browsers/copy.js.map +1 -1
- package/lib/browsers/download.js.map +1 -1
- package/lib/browsers/getFileFromDataTransfer.js.map +1 -1
- package/lib/browsers/loaders.js.map +1 -1
- package/lib/cn/division/DivisionCode.js.map +1 -1
- package/lib/cn/division/binarySearch.js.map +1 -1
- package/lib/cn/id/Mod11Checksum.js.map +1 -1
- package/lib/cn/id/ResidentIdNumber.js.map +1 -1
- package/lib/cn/id/types.js.map +1 -1
- package/lib/cn/index.js.map +1 -1
- package/lib/cn/parseChineseNumber.js.map +1 -1
- package/lib/cn/pinyin/cartesianProduct.js.map +1 -1
- package/lib/cn/pinyin/loader.js.map +1 -1
- package/lib/cn/pinyin/preload.js.map +1 -1
- package/lib/cn/pinyin/toPinyinPure.js.map +1 -1
- package/lib/cn/pinyin/transform.js.map +1 -1
- package/lib/cn/uscc/Mod31Checksum.js.map +1 -1
- package/lib/cn/uscc/USCC.js.map +1 -1
- package/lib/cn/uscc/isUSCC.js.map +1 -1
- package/lib/crypto/base.js.map +1 -1
- package/lib/crypto/getNodeCrypto.js.map +1 -1
- package/lib/crypto/getRandomValues.js.map +1 -1
- package/lib/crypto/hashing.js.map +1 -1
- package/lib/crypto/md5.bench.js.map +1 -1
- package/lib/crypto/md5.d.js.map +1 -1
- package/lib/crypto/md5.js.map +1 -1
- package/lib/crypto/pem/pem.js.map +1 -1
- package/lib/crypto/randomUUID.js.map +1 -1
- package/lib/crypto/randomUUIDv7.js.map +1 -1
- package/lib/crypto/ulid.js.map +1 -1
- package/lib/errors/Errors.js.map +1 -1
- package/lib/fetch/HttpStatus.js.map +1 -1
- package/lib/fetch/createFetchWith.js.map +1 -1
- package/lib/fetch/createFetchWithLogging.js.map +1 -1
- package/lib/fetch/createFetchWithRetry.js.map +1 -1
- package/lib/fetch/dumpRequest.js.map +1 -1
- package/lib/fetch/dumpResponse.js.map +1 -1
- package/lib/fetch/index.js.map +1 -1
- package/lib/fetch/types.js.map +1 -1
- package/lib/i18n/createTranslate.js.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/io/AbstractEncoding.js.map +1 -1
- package/lib/io/ArrayBuffer.test-d.js.map +1 -1
- package/lib/io/ArrayBuffers.js +20 -1
- package/lib/io/ArrayBuffers.js.map +1 -1
- package/lib/io/Buffer.js.map +1 -1
- package/lib/io/ByteBuffer.js +327 -0
- package/lib/io/ByteBuffer.js.map +1 -0
- package/lib/io/base64.js.map +1 -1
- package/lib/io/isBuffer.js.map +1 -1
- package/lib/io/isTransferable.js.map +1 -1
- package/lib/io/parseDataUri.js.map +1 -1
- package/lib/langs/MaybeFunction.js.map +1 -1
- package/lib/langs/classOf.js.map +1 -1
- package/lib/langs/deepEqual.js.map +1 -1
- package/lib/langs/deepFreeze.js.map +1 -1
- package/lib/langs/isClass.js.map +1 -1
- package/lib/langs/isDefined.js.map +1 -1
- package/lib/langs/isEmptyObject.js.map +1 -1
- package/lib/langs/isFunction.js.map +1 -1
- package/lib/langs/isPlainObject.js.map +1 -1
- package/lib/langs/memoize.js.map +1 -1
- package/lib/langs/mixin.js.map +1 -1
- package/lib/langs/parseBoolean.js.map +1 -1
- package/lib/langs/shallowClone.js.map +1 -1
- package/lib/langs/shallowEqual.js.map +1 -1
- package/lib/libs/ms.js.map +1 -1
- package/lib/logging/Logger.js.map +1 -1
- package/lib/logging/createChildLogger.js.map +1 -1
- package/lib/logging/createLogger.js.map +1 -1
- package/lib/logging/createNoopLogger.js.map +1 -1
- package/lib/logging/slog.js.map +1 -1
- package/lib/maths/clamp.js.map +1 -1
- package/lib/maths/random.js.map +1 -1
- package/lib/modules/isModule.js.map +1 -1
- package/lib/modules/parseModuleId.js.map +1 -1
- package/lib/objects/computeIfAbsent.js.map +1 -1
- package/lib/objects/get.js.map +1 -1
- package/lib/objects/get.test-d.js.map +1 -1
- package/lib/objects/merge/index.js.map +1 -1
- package/lib/objects/merge/isMergeableObject.js.map +1 -1
- package/lib/objects/merge/merge.js.map +1 -1
- package/lib/objects/parseObjectPath.js.map +1 -1
- package/lib/objects/set.js.map +1 -1
- package/lib/runtime/AsyncCloser.js.map +1 -1
- package/lib/runtime/Closer.js.map +1 -1
- package/lib/runtime/getGlobalThis.js.map +1 -1
- package/lib/runtime/structuredClone.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/common/encoder.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/common/formatter.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/common/index.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/common/jsdoc.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/compiler.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/errors.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/evaluator.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/expression.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/expression/index.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/index.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/index.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-expression.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-value.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-yup.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model-to-zod.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/model/model.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/typescript/index.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js.map +1 -1
- package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js.map +1 -1
- package/lib/schema/typebox/gen/index.js.map +1 -1
- package/lib/schema/typebox/index.js.map +1 -1
- package/lib/schema/typebox/typebox.js.map +1 -1
- package/lib/scripts/getGenerateContext.js.map +1 -1
- package/lib/server/crypto/md5.js.map +1 -1
- package/lib/server/fetch/createFetchWithProxy.js.map +1 -1
- package/lib/server/fetch/createFetchWithProxyByNodeFetch.js.map +1 -1
- package/lib/server/fetch/createFetchWithProxyByUndici.js.map +1 -1
- package/lib/server/getPackageDir.js.map +1 -1
- package/lib/server/index.js.map +1 -1
- package/lib/server/jsdom.js.map +1 -1
- package/lib/server/node-fetch.js.map +1 -1
- package/lib/server/polyfill/polyfillBrowser.js.map +1 -1
- package/lib/server/polyfill/polyfillCrypto.js.map +1 -1
- package/lib/server/polyfill/polyfillFetch.js.map +1 -1
- package/lib/server/polyfill/polyfillJsDom.js.map +1 -1
- package/lib/server/polyfill/polyfillWebSocket.js.map +1 -1
- package/lib/server/ws.js.map +1 -1
- package/lib/strings/camelCase.js.map +1 -1
- package/lib/strings/formatBytes.js.map +1 -1
- package/lib/strings/renderTemplate.js.map +1 -1
- package/lib/typedoc.js.map +1 -1
- package/lib/types.d.js.map +1 -1
- package/lib/validations/asserts.js.map +1 -1
- package/lib/validations/isUUID.js.map +1 -1
- package/lib/validations/parseTimestamp.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +1 -0
- package/src/io/ArrayBuffers.ts +32 -3
- package/src/io/ByteBuffer.ts +403 -0
package/lib/crypto/md5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/crypto/md5.js"],"sourcesContent":["// prettier-ignore\nexport function md5(inputString) {\n // https://stackoverflow.com/a/60467595/1870054\n var hc=\"0123456789abcdef\";\n function rh(n) {var j,s=\"\";for(j=0;j<=3;j++) s+=hc.charAt((n>>(j*8+4))&0x0F)+hc.charAt((n>>(j*8))&0x0F);return s;}\n function ad(x,y) {var l=(x&0xFFFF)+(y&0xFFFF);var m=(x>>16)+(y>>16)+(l>>16);return (m<<16)|(l&0xFFFF);}\n function rl(n,c) {return (n<<c)|(n>>>(32-c));}\n function cm(q,a,b,x,s,t) {return ad(rl(ad(ad(a,q),ad(x,t)),s),b);}\n function ff(a,b,c,d,x,s,t) {return cm((b&c)|((~b)&d),a,b,x,s,t);}\n function gg(a,b,c,d,x,s,t) {return cm((b&d)|(c&(~d)),a,b,x,s,t);}\n function hh(a,b,c,d,x,s,t) {return cm(b^c^d,a,b,x,s,t);}\n function ii(a,b,c,d,x,s,t) {return cm(c^(b|(~d)),a,b,x,s,t);}\n function sb(x) {\n var i;var nblk=((x.length+8)>>6)+1;var blks=new Array(nblk*16);for(i=0;i<nblk*16;i++) blks[i]=0;\n for(i=0;i<x.length;i++) blks[i>>2]|=x.charCodeAt(i)<<((i%4)*8);\n blks[i>>2]|=0x80<<((i%4)*8);blks[nblk*16-2]=x.length*8;return blks;\n }\n var i,x=sb(\"\"+inputString),a=1732584193,b=-271733879,c=-1732584194,d=271733878,olda,oldb,oldc,oldd;\n for(i=0;i<x.length;i+=16) {olda=a;oldb=b;oldc=c;oldd=d;\n a=ff(a,b,c,d,x[i+ 0], 7, -680876936);d=ff(d,a,b,c,x[i+ 1],12, -389564586);c=ff(c,d,a,b,x[i+ 2],17, 606105819);\n b=ff(b,c,d,a,x[i+ 3],22,-1044525330);a=ff(a,b,c,d,x[i+ 4], 7, -176418897);d=ff(d,a,b,c,x[i+ 5],12, 1200080426);\n c=ff(c,d,a,b,x[i+ 6],17,-1473231341);b=ff(b,c,d,a,x[i+ 7],22, -45705983);a=ff(a,b,c,d,x[i+ 8], 7, 1770035416);\n d=ff(d,a,b,c,x[i+ 9],12,-1958414417);c=ff(c,d,a,b,x[i+10],17, -42063);b=ff(b,c,d,a,x[i+11],22,-1990404162);\n a=ff(a,b,c,d,x[i+12], 7, 1804603682);d=ff(d,a,b,c,x[i+13],12, -40341101);c=ff(c,d,a,b,x[i+14],17,-1502002290);\n b=ff(b,c,d,a,x[i+15],22, 1236535329);a=gg(a,b,c,d,x[i+ 1], 5, -165796510);d=gg(d,a,b,c,x[i+ 6], 9,-1069501632);\n c=gg(c,d,a,b,x[i+11],14, 643717713);b=gg(b,c,d,a,x[i+ 0],20, -373897302);a=gg(a,b,c,d,x[i+ 5], 5, -701558691);\n d=gg(d,a,b,c,x[i+10], 9, 38016083);c=gg(c,d,a,b,x[i+15],14, -660478335);b=gg(b,c,d,a,x[i+ 4],20, -405537848);\n a=gg(a,b,c,d,x[i+ 9], 5, 568446438);d=gg(d,a,b,c,x[i+14], 9,-1019803690);c=gg(c,d,a,b,x[i+ 3],14, -187363961);\n b=gg(b,c,d,a,x[i+ 8],20, 1163531501);a=gg(a,b,c,d,x[i+13], 5,-1444681467);d=gg(d,a,b,c,x[i+ 2], 9, -51403784);\n c=gg(c,d,a,b,x[i+ 7],14, 1735328473);b=gg(b,c,d,a,x[i+12],20,-1926607734);a=hh(a,b,c,d,x[i+ 5], 4, -378558);\n d=hh(d,a,b,c,x[i+ 8],11,-2022574463);c=hh(c,d,a,b,x[i+11],16, 1839030562);b=hh(b,c,d,a,x[i+14],23, -35309556);\n a=hh(a,b,c,d,x[i+ 1], 4,-1530992060);d=hh(d,a,b,c,x[i+ 4],11, 1272893353);c=hh(c,d,a,b,x[i+ 7],16, -155497632);\n b=hh(b,c,d,a,x[i+10],23,-1094730640);a=hh(a,b,c,d,x[i+13], 4, 681279174);d=hh(d,a,b,c,x[i+ 0],11, -358537222);\n c=hh(c,d,a,b,x[i+ 3],16, -722521979);b=hh(b,c,d,a,x[i+ 6],23, 76029189);a=hh(a,b,c,d,x[i+ 9], 4, -640364487);\n d=hh(d,a,b,c,x[i+12],11, -421815835);c=hh(c,d,a,b,x[i+15],16, 530742520);b=hh(b,c,d,a,x[i+ 2],23, -995338651);\n a=ii(a,b,c,d,x[i+ 0], 6, -198630844);d=ii(d,a,b,c,x[i+ 7],10, 1126891415);c=ii(c,d,a,b,x[i+14],15,-1416354905);\n b=ii(b,c,d,a,x[i+ 5],21, -57434055);a=ii(a,b,c,d,x[i+12], 6, 1700485571);d=ii(d,a,b,c,x[i+ 3],10,-1894986606);\n c=ii(c,d,a,b,x[i+10],15, -1051523);b=ii(b,c,d,a,x[i+ 1],21,-2054922799);a=ii(a,b,c,d,x[i+ 8], 6, 1873313359);\n d=ii(d,a,b,c,x[i+15],10, -30611744);c=ii(c,d,a,b,x[i+ 6],15,-1560198380);b=ii(b,c,d,a,x[i+13],21, 1309151649);\n a=ii(a,b,c,d,x[i+ 4], 6, -145523070);d=ii(d,a,b,c,x[i+11],10,-1120210379);c=ii(c,d,a,b,x[i+ 2],15, 718787259);\n b=ii(b,c,d,a,x[i+ 9],21, -343485551);a=ad(a,olda);b=ad(b,oldb);c=ad(c,oldc);d=ad(d,oldd);\n }\n return rh(a)+rh(b)+rh(c)+rh(d);\n}\n"],"names":["md5","inputString","hc","rh","n","j","s","charAt","ad","x","y","l","m","rl","c","cm","q","a","b","t","ff","d","gg","hh","ii","sb","i","nblk","length","blks","Array","charCodeAt","olda","oldb","oldc","oldd"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/crypto/md5.js"],"sourcesContent":["// prettier-ignore\nexport function md5(inputString) {\n // https://stackoverflow.com/a/60467595/1870054\n var hc=\"0123456789abcdef\";\n function rh(n) {var j,s=\"\";for(j=0;j<=3;j++) s+=hc.charAt((n>>(j*8+4))&0x0F)+hc.charAt((n>>(j*8))&0x0F);return s;}\n function ad(x,y) {var l=(x&0xFFFF)+(y&0xFFFF);var m=(x>>16)+(y>>16)+(l>>16);return (m<<16)|(l&0xFFFF);}\n function rl(n,c) {return (n<<c)|(n>>>(32-c));}\n function cm(q,a,b,x,s,t) {return ad(rl(ad(ad(a,q),ad(x,t)),s),b);}\n function ff(a,b,c,d,x,s,t) {return cm((b&c)|((~b)&d),a,b,x,s,t);}\n function gg(a,b,c,d,x,s,t) {return cm((b&d)|(c&(~d)),a,b,x,s,t);}\n function hh(a,b,c,d,x,s,t) {return cm(b^c^d,a,b,x,s,t);}\n function ii(a,b,c,d,x,s,t) {return cm(c^(b|(~d)),a,b,x,s,t);}\n function sb(x) {\n var i;var nblk=((x.length+8)>>6)+1;var blks=new Array(nblk*16);for(i=0;i<nblk*16;i++) blks[i]=0;\n for(i=0;i<x.length;i++) blks[i>>2]|=x.charCodeAt(i)<<((i%4)*8);\n blks[i>>2]|=0x80<<((i%4)*8);blks[nblk*16-2]=x.length*8;return blks;\n }\n var i,x=sb(\"\"+inputString),a=1732584193,b=-271733879,c=-1732584194,d=271733878,olda,oldb,oldc,oldd;\n for(i=0;i<x.length;i+=16) {olda=a;oldb=b;oldc=c;oldd=d;\n a=ff(a,b,c,d,x[i+ 0], 7, -680876936);d=ff(d,a,b,c,x[i+ 1],12, -389564586);c=ff(c,d,a,b,x[i+ 2],17, 606105819);\n b=ff(b,c,d,a,x[i+ 3],22,-1044525330);a=ff(a,b,c,d,x[i+ 4], 7, -176418897);d=ff(d,a,b,c,x[i+ 5],12, 1200080426);\n c=ff(c,d,a,b,x[i+ 6],17,-1473231341);b=ff(b,c,d,a,x[i+ 7],22, -45705983);a=ff(a,b,c,d,x[i+ 8], 7, 1770035416);\n d=ff(d,a,b,c,x[i+ 9],12,-1958414417);c=ff(c,d,a,b,x[i+10],17, -42063);b=ff(b,c,d,a,x[i+11],22,-1990404162);\n a=ff(a,b,c,d,x[i+12], 7, 1804603682);d=ff(d,a,b,c,x[i+13],12, -40341101);c=ff(c,d,a,b,x[i+14],17,-1502002290);\n b=ff(b,c,d,a,x[i+15],22, 1236535329);a=gg(a,b,c,d,x[i+ 1], 5, -165796510);d=gg(d,a,b,c,x[i+ 6], 9,-1069501632);\n c=gg(c,d,a,b,x[i+11],14, 643717713);b=gg(b,c,d,a,x[i+ 0],20, -373897302);a=gg(a,b,c,d,x[i+ 5], 5, -701558691);\n d=gg(d,a,b,c,x[i+10], 9, 38016083);c=gg(c,d,a,b,x[i+15],14, -660478335);b=gg(b,c,d,a,x[i+ 4],20, -405537848);\n a=gg(a,b,c,d,x[i+ 9], 5, 568446438);d=gg(d,a,b,c,x[i+14], 9,-1019803690);c=gg(c,d,a,b,x[i+ 3],14, -187363961);\n b=gg(b,c,d,a,x[i+ 8],20, 1163531501);a=gg(a,b,c,d,x[i+13], 5,-1444681467);d=gg(d,a,b,c,x[i+ 2], 9, -51403784);\n c=gg(c,d,a,b,x[i+ 7],14, 1735328473);b=gg(b,c,d,a,x[i+12],20,-1926607734);a=hh(a,b,c,d,x[i+ 5], 4, -378558);\n d=hh(d,a,b,c,x[i+ 8],11,-2022574463);c=hh(c,d,a,b,x[i+11],16, 1839030562);b=hh(b,c,d,a,x[i+14],23, -35309556);\n a=hh(a,b,c,d,x[i+ 1], 4,-1530992060);d=hh(d,a,b,c,x[i+ 4],11, 1272893353);c=hh(c,d,a,b,x[i+ 7],16, -155497632);\n b=hh(b,c,d,a,x[i+10],23,-1094730640);a=hh(a,b,c,d,x[i+13], 4, 681279174);d=hh(d,a,b,c,x[i+ 0],11, -358537222);\n c=hh(c,d,a,b,x[i+ 3],16, -722521979);b=hh(b,c,d,a,x[i+ 6],23, 76029189);a=hh(a,b,c,d,x[i+ 9], 4, -640364487);\n d=hh(d,a,b,c,x[i+12],11, -421815835);c=hh(c,d,a,b,x[i+15],16, 530742520);b=hh(b,c,d,a,x[i+ 2],23, -995338651);\n a=ii(a,b,c,d,x[i+ 0], 6, -198630844);d=ii(d,a,b,c,x[i+ 7],10, 1126891415);c=ii(c,d,a,b,x[i+14],15,-1416354905);\n b=ii(b,c,d,a,x[i+ 5],21, -57434055);a=ii(a,b,c,d,x[i+12], 6, 1700485571);d=ii(d,a,b,c,x[i+ 3],10,-1894986606);\n c=ii(c,d,a,b,x[i+10],15, -1051523);b=ii(b,c,d,a,x[i+ 1],21,-2054922799);a=ii(a,b,c,d,x[i+ 8], 6, 1873313359);\n d=ii(d,a,b,c,x[i+15],10, -30611744);c=ii(c,d,a,b,x[i+ 6],15,-1560198380);b=ii(b,c,d,a,x[i+13],21, 1309151649);\n a=ii(a,b,c,d,x[i+ 4], 6, -145523070);d=ii(d,a,b,c,x[i+11],10,-1120210379);c=ii(c,d,a,b,x[i+ 2],15, 718787259);\n b=ii(b,c,d,a,x[i+ 9],21, -343485551);a=ad(a,olda);b=ad(b,oldb);c=ad(c,oldc);d=ad(d,oldd);\n }\n return rh(a)+rh(b)+rh(c)+rh(d);\n}\n"],"names":["md5","inputString","hc","rh","n","j","s","charAt","ad","x","y","l","m","rl","c","cm","q","a","b","t","ff","d","gg","hh","ii","sb","i","nblk","length","blks","Array","charCodeAt","olda","oldb","oldc","oldd"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/crypto/pem/pem.ts"],"sourcesContent":["import { ArrayBuffers } from '../../io/ArrayBuffers';\n\nexport interface Block {\n /**\n * @see https://github.com/openssl/openssl/blob/master/include/openssl/pem.h#L35-L60 openssl/pem.h\n */\n type:\n | string\n | `${'RSA' | 'DSA'} ${'PRIVATE' | 'PUBLIC'} KEY`\n | `${'X509' | 'TRUSTED'} CERTIFICATE`\n | 'CERTIFICATE'\n | 'X509 CRL'\n | 'CERTIFICATE REQUEST'\n | 'NEW CERTIFICATE REQUEST'\n | 'ANY PRIVATE KEY'\n | 'PUBLIC KEY'\n | 'PKCS7'\n | 'PKCS #7 SIGNED DATA'\n | 'ENCRYPTED PRIVATE KEY'\n | 'PRIVATE KEY'\n | 'DH PARAMETERS'\n | 'X9.42 DH PARAMETERS'\n | 'SSL SESSION PARAMETERS'\n | 'DSA PARAMETERS'\n | 'ECDSA PUBLIC KEY'\n | 'EC PARAMETERS'\n | 'EC PRIVATE KEY'\n | 'PARAMETERS'\n | 'CMS'\n | 'SM2 PARAMETERS';\n\n header: Record<string, string>;\n bytes: BufferSource;\n}\n\nexport class PEM {\n static decode(data: string): { block: Block; tail: string; head: string } {\n const match = data.match(\n /^-----BEGIN (?<type>[^\\r\\n-]+)-----$\\r?\\n(?<headers>(^[^:\\r\\n]+:[^\\n\\r]+\\r?\\n)+\\r?\\n)?(?<data>[a-zA-Z0-9/_=\\n\\r+]+?)^-----END \\1-----$\\r?\\n?/ms,\n );\n if (!match?.groups) throw new Error('Invalid PEM data');\n const { type, headers = '', data: b64 } = match.groups;\n const header = headers\n .split('\\n')\n .filter((v) => v.trim())\n .map((h) => {\n const [k, ...v] = h.split(':');\n return [k.trim(), v.join(':').trim()];\n })\n .reduce((a, [k, v]) => ({ ...a, [k]: v }), {});\n return {\n block: {\n type,\n header,\n // avoid replaceAll\n bytes: ArrayBuffers.from(b64.replace(/[\\r\\n]/g, ''), 'base64'),\n },\n head: data.slice(0, match.index || 0),\n tail: data.slice((match.index || 0) + match[0].length),\n };\n }\n\n static encode(block: { type: string; bytes: string | BufferSource; header?: Record<string, string> }): string {\n const { type, header, bytes } = block;\n const headers = Object.entries(header || {})\n .map(([k, v]) => `${k}: ${v}`)\n .join('\\n');\n return `-----BEGIN ${type}-----\\n${headers}${headers.length ? '\\n\\n' : ''}${\n ArrayBuffers.toString(bytes, 'base64')\n .match(/.{1,64}/g)\n ?.join('\\n') || ''\n }\\n-----END ${type}-----\\n`;\n }\n}\n"],"names":["ArrayBuffers","PEM","decode","data","match","groups","Error","type","headers","b64","header","split","filter","v","trim","map","h","k","join","reduce","a","block","bytes","from","replace","head","slice","index","tail","length","encode","Object","entries","toString"],"mappings":"AAAA,SAASA,YAAY,QAAQ,wBAAwB;AAmCrD,OAAO,MAAMC;IACX,OAAOC,OAAOC,IAAY,EAAgD;QACxE,MAAMC,QAAQD,KAAKC,KAAK,CACtB;QAEF,IAAI,CAACA,OAAOC,QAAQ,MAAM,IAAIC,MAAM;QACpC,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAE,EAAEL,MAAMM,GAAG,EAAE,GAAGL,MAAMC,MAAM;QACtD,MAAMK,SAASF,QACZG,KAAK,CAAC,MACNC,MAAM,CAAC,CAACC,IAAMA,EAAEC,IAAI,IACpBC,GAAG,CAAC,CAACC;YACJ,MAAM,CAACC,GAAG,GAAGJ,EAAE,GAAGG,EAAEL,KAAK,CAAC;YAC1B,OAAO;gBAACM,EAAEH,IAAI;gBAAID,EAAEK,IAAI,CAAC,KAAKJ,IAAI;aAAG;QACvC,GACCK,MAAM,CAAC,CAACC,GAAG,CAACH,GAAGJ,EAAE,GAAM,CAAA;gBAAE,GAAGO,CAAC;gBAAE,CAACH,EAAE,EAAEJ;YAAE,CAAA,GAAI,CAAC;QAC9C,OAAO;YACLQ,OAAO;gBACLd;gBACAG;gBACA,oBAAoB;gBACpBY,OAAOtB,aAAauB,IAAI,CAACd,IAAIe,OAAO,CAAC,WAAW,KAAK;YACvD;YACAC,MAAMtB,KAAKuB,KAAK,CAAC,GAAGtB,MAAMuB,KAAK,IAAI;YACnCC,MAAMzB,KAAKuB,KAAK,CAAC,AAACtB,CAAAA,MAAMuB,KAAK,IAAI,CAAA,IAAKvB,KAAK,CAAC,EAAE,CAACyB,MAAM;QACvD;IACF;IAEA,OAAOC,OAAOT,KAAsF,EAAU;QAC5G,MAAM,EAAEd,IAAI,EAAEG,MAAM,EAAEY,KAAK,EAAE,GAAGD;QAChC,MAAMb,UAAUuB,OAAOC,OAAO,CAACtB,UAAU,CAAC,GACvCK,GAAG,CAAC,CAAC,CAACE,GAAGJ,EAAE,GAAK,CAAC,EAAEI,EAAE,EAAE,EAAEJ,EAAE,CAAC,EAC5BK,IAAI,CAAC;QACR,OAAO,CAAC,WAAW,EAAEX,KAAK,OAAO,EAAEC,QAAQ,EAAEA,QAAQqB,MAAM,GAAG,SAAS,GAAG,EACxE7B,aAAaiC,QAAQ,CAACX,OAAO,UAC1BlB,KAAK,CAAC,aACLc,KAAK,SAAS,GACnB,WAAW,EAAEX,KAAK,OAAO,CAAC;IAC7B;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../../src/crypto/pem/pem.ts"],"sourcesContent":["import { ArrayBuffers } from '../../io/ArrayBuffers';\n\nexport interface Block {\n /**\n * @see https://github.com/openssl/openssl/blob/master/include/openssl/pem.h#L35-L60 openssl/pem.h\n */\n type:\n | string\n | `${'RSA' | 'DSA'} ${'PRIVATE' | 'PUBLIC'} KEY`\n | `${'X509' | 'TRUSTED'} CERTIFICATE`\n | 'CERTIFICATE'\n | 'X509 CRL'\n | 'CERTIFICATE REQUEST'\n | 'NEW CERTIFICATE REQUEST'\n | 'ANY PRIVATE KEY'\n | 'PUBLIC KEY'\n | 'PKCS7'\n | 'PKCS #7 SIGNED DATA'\n | 'ENCRYPTED PRIVATE KEY'\n | 'PRIVATE KEY'\n | 'DH PARAMETERS'\n | 'X9.42 DH PARAMETERS'\n | 'SSL SESSION PARAMETERS'\n | 'DSA PARAMETERS'\n | 'ECDSA PUBLIC KEY'\n | 'EC PARAMETERS'\n | 'EC PRIVATE KEY'\n | 'PARAMETERS'\n | 'CMS'\n | 'SM2 PARAMETERS';\n\n header: Record<string, string>;\n bytes: BufferSource;\n}\n\nexport class PEM {\n static decode(data: string): { block: Block; tail: string; head: string } {\n const match = data.match(\n /^-----BEGIN (?<type>[^\\r\\n-]+)-----$\\r?\\n(?<headers>(^[^:\\r\\n]+:[^\\n\\r]+\\r?\\n)+\\r?\\n)?(?<data>[a-zA-Z0-9/_=\\n\\r+]+?)^-----END \\1-----$\\r?\\n?/ms,\n );\n if (!match?.groups) throw new Error('Invalid PEM data');\n const { type, headers = '', data: b64 } = match.groups;\n const header = headers\n .split('\\n')\n .filter((v) => v.trim())\n .map((h) => {\n const [k, ...v] = h.split(':');\n return [k.trim(), v.join(':').trim()];\n })\n .reduce((a, [k, v]) => ({ ...a, [k]: v }), {});\n return {\n block: {\n type,\n header,\n // avoid replaceAll\n bytes: ArrayBuffers.from(b64.replace(/[\\r\\n]/g, ''), 'base64'),\n },\n head: data.slice(0, match.index || 0),\n tail: data.slice((match.index || 0) + match[0].length),\n };\n }\n\n static encode(block: { type: string; bytes: string | BufferSource; header?: Record<string, string> }): string {\n const { type, header, bytes } = block;\n const headers = Object.entries(header || {})\n .map(([k, v]) => `${k}: ${v}`)\n .join('\\n');\n return `-----BEGIN ${type}-----\\n${headers}${headers.length ? '\\n\\n' : ''}${\n ArrayBuffers.toString(bytes, 'base64')\n .match(/.{1,64}/g)\n ?.join('\\n') || ''\n }\\n-----END ${type}-----\\n`;\n }\n}\n"],"names":["ArrayBuffers","PEM","decode","data","match","groups","Error","type","headers","b64","header","split","filter","v","trim","map","h","k","join","reduce","a","block","bytes","from","replace","head","slice","index","tail","length","encode","Object","entries","toString"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,QAAQ,wBAAwB;AAmCrD,OAAO,MAAMC;IACX,OAAOC,OAAOC,IAAY,EAAgD;QACxE,MAAMC,QAAQD,KAAKC,KAAK,CACtB;QAEF,IAAI,CAACA,OAAOC,QAAQ,MAAM,IAAIC,MAAM;QACpC,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAE,EAAEL,MAAMM,GAAG,EAAE,GAAGL,MAAMC,MAAM;QACtD,MAAMK,SAASF,QACZG,KAAK,CAAC,MACNC,MAAM,CAAC,CAACC,IAAMA,EAAEC,IAAI,IACpBC,GAAG,CAAC,CAACC;YACJ,MAAM,CAACC,GAAG,GAAGJ,EAAE,GAAGG,EAAEL,KAAK,CAAC;YAC1B,OAAO;gBAACM,EAAEH,IAAI;gBAAID,EAAEK,IAAI,CAAC,KAAKJ,IAAI;aAAG;QACvC,GACCK,MAAM,CAAC,CAACC,GAAG,CAACH,GAAGJ,EAAE,GAAM,CAAA;gBAAE,GAAGO,CAAC;gBAAE,CAACH,EAAE,EAAEJ;YAAE,CAAA,GAAI,CAAC;QAC9C,OAAO;YACLQ,OAAO;gBACLd;gBACAG;gBACA,oBAAoB;gBACpBY,OAAOtB,aAAauB,IAAI,CAACd,IAAIe,OAAO,CAAC,WAAW,KAAK;YACvD;YACAC,MAAMtB,KAAKuB,KAAK,CAAC,GAAGtB,MAAMuB,KAAK,IAAI;YACnCC,MAAMzB,KAAKuB,KAAK,CAAC,AAACtB,CAAAA,MAAMuB,KAAK,IAAI,CAAA,IAAKvB,KAAK,CAAC,EAAE,CAACyB,MAAM;QACvD;IACF;IAEA,OAAOC,OAAOT,KAAsF,EAAU;QAC5G,MAAM,EAAEd,IAAI,EAAEG,MAAM,EAAEY,KAAK,EAAE,GAAGD;QAChC,MAAMb,UAAUuB,OAAOC,OAAO,CAACtB,UAAU,CAAC,GACvCK,GAAG,CAAC,CAAC,CAACE,GAAGJ,EAAE,GAAK,CAAC,EAAEI,EAAE,EAAE,EAAEJ,EAAE,CAAC,EAC5BK,IAAI,CAAC;QACR,OAAO,CAAC,WAAW,EAAEX,KAAK,OAAO,EAAEC,QAAQ,EAAEA,QAAQqB,MAAM,GAAG,SAAS,GAAG,EACxE7B,aAAaiC,QAAQ,CAACX,OAAO,UAC1BlB,KAAK,CAAC,aACLc,KAAK,SAAS,GACnB,WAAW,EAAEX,KAAK,OAAO,CAAC;IAC7B;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/crypto/randomUUID.ts"],"sourcesContent":["import { getGlobalThis } from '../runtime/getGlobalThis';\n\nconst globalThis = getGlobalThis();\n\n/**\n * generate random UUIDv4\n */\nexport const randomUUID: () => string = globalThis.crypto?.randomUUID?.bind(globalThis.crypto) || _randomUUID;\n\n/**\n * @internal\n */\nexport function _randomUUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n"],"names":["getGlobalThis","globalThis","randomUUID","crypto","bind","_randomUUID","replace","c","r","Math","random","v","toString"],"mappings":"AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAEzD,MAAMC,aAAaD;AAEnB;;CAEC,GACD,OAAO,MAAME,aAA2BD,WAAWE,MAAM,EAAED,YAAYE,KAAKH,WAAWE,MAAM,KAAKE,YAAY;AAE9G;;CAEC,GACD,OAAO,SAASA;IACd,OAAO,uCAAuCC,OAAO,CAAC,SAAS,CAACC;QAC9D,MAAMC,IAAI,AAACC,KAAKC,MAAM,KAAK,KAAM;QACjC,MAAMC,IAAIJ,MAAM,MAAMC,IAAI,AAACA,IAAI,MAAO;QACtC,OAAOG,EAAEC,QAAQ,CAAC;IACpB;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/crypto/randomUUID.ts"],"sourcesContent":["import { getGlobalThis } from '../runtime/getGlobalThis';\n\nconst globalThis = getGlobalThis();\n\n/**\n * generate random UUIDv4\n */\nexport const randomUUID: () => string = globalThis.crypto?.randomUUID?.bind(globalThis.crypto) || _randomUUID;\n\n/**\n * @internal\n */\nexport function _randomUUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n"],"names":["getGlobalThis","globalThis","randomUUID","crypto","bind","_randomUUID","replace","c","r","Math","random","v","toString"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAEzD,MAAMC,aAAaD;AAEnB;;CAEC,GACD,OAAO,MAAME,aAA2BD,WAAWE,MAAM,EAAED,YAAYE,KAAKH,WAAWE,MAAM,KAAKE,YAAY;AAE9G;;CAEC,GACD,OAAO,SAASA;IACd,OAAO,uCAAuCC,OAAO,CAAC,SAAS,CAACC;QAC9D,MAAMC,IAAI,AAACC,KAAKC,MAAM,KAAK,KAAM;QACjC,MAAMC,IAAIJ,MAAM,MAAMC,IAAI,AAACA,IAAI,MAAO;QACtC,OAAOG,EAAEC,QAAQ,CAAC;IACpB;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/crypto/randomUUIDv7.ts"],"sourcesContent":["// https://github.com/LiosK/uuidv7/blob/main/src/index.ts\n"],"names":[],"mappings":"AAAA,yDAAyD"}
|
|
1
|
+
{"version":3,"sources":["../../src/crypto/randomUUIDv7.ts"],"sourcesContent":["// https://github.com/LiosK/uuidv7/blob/main/src/index.ts\n"],"names":[],"rangeMappings":"","mappings":"AAAA,yDAAyD"}
|
package/lib/crypto/ulid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/crypto/ulid.ts"],"sourcesContent":["import { getRandomValues } from './getRandomValues';\n\ntype PRNG = () => number;\n\n/**\n * Universally Unique Lexicographically Sortable Identifier\n *\n * @see https://github.com/ulid/spec ulid/spec\n */\nexport type ULID = (seedTime?: number) => string;\n\nexport interface ULIDError extends Error {\n source: string;\n}\n\nfunction createError(message: string): ULIDError {\n const err = new Error(message) as ULIDError;\n err.source = 'ulid';\n return err;\n}\n\n// These values should NEVER change. If\n// they do, we're no longer making ulids!\nconst ENCODING = '0123456789ABCDEFGHJKMNPQRSTVWXYZ'; // Crockford's Base32\nconst ENCODING_LEN = ENCODING.length;\nconst TIME_MAX = Math.pow(2, 48) - 1;\nconst TIME_LEN = 10;\nconst RANDOM_LEN = 16;\n\n/**\n * check give {@link str} is a valid ulid\n */\nexport function isULID(str: string | undefined | null): boolean {\n if (!str) {\n return false;\n }\n // ttttttttttrrrrrrrrrrrrrrrr\n return str.length === 26 && /^[0-9A-HJKMNP-TV-Z]{26}$/i.test(str);\n}\n\nfunction replaceCharAt(str: string, index: number, char: string) {\n if (index > str.length - 1) {\n return str;\n }\n return str.substr(0, index) + char + str.substr(index + 1);\n}\n\nfunction incrementBase32(str: string): string {\n let done;\n let index = str.length;\n let char;\n let charIndex;\n const maxCharIndex = ENCODING_LEN - 1;\n while (!done && index-- >= 0) {\n char = str[index];\n charIndex = ENCODING.indexOf(char);\n if (charIndex === -1) {\n throw createError('incorrectly encoded string');\n }\n if (charIndex === maxCharIndex) {\n str = replaceCharAt(str, index, ENCODING[0]);\n continue;\n }\n done = replaceCharAt(str, index, ENCODING[charIndex + 1]);\n }\n if (typeof done === 'string') {\n return done;\n }\n throw createError('cannot increment this string');\n}\n\nfunction randomChar(prng: PRNG): string {\n let rand = Math.floor(prng() * ENCODING_LEN);\n if (rand === ENCODING_LEN) {\n rand = ENCODING_LEN - 1;\n }\n return ENCODING.charAt(rand);\n}\n\nfunction encodeTime(now: number, len: number): string {\n if (isNaN(now)) {\n throw new Error(`${now} must be a number`);\n }\n if (now > TIME_MAX) {\n throw createError(`cannot encode time greater than ${TIME_MAX}`);\n }\n if (now < 0) {\n throw createError('time must be positive');\n }\n if (!Number.isInteger(now)) {\n throw createError('time must be an integer');\n }\n let mod;\n let str = '';\n for (; len > 0; len--) {\n mod = now % ENCODING_LEN;\n str = ENCODING.charAt(mod) + str;\n now = (now - mod) / ENCODING_LEN;\n }\n return str;\n}\n\nfunction encodeRandom(len: number, prng: PRNG): string {\n let str = '';\n for (; len > 0; len--) {\n str = randomChar(prng) + str;\n }\n return str;\n}\n\n/**\n * extract time & random from ulid\n *\n * @throws ULIDError\n */\nexport function parseULID(id: string): { timestamp: number; random: string } {\n if (id.length !== TIME_LEN + RANDOM_LEN) {\n throw createError('malformed ulid');\n }\n const time = id\n .substr(0, TIME_LEN)\n .split('')\n .reverse()\n .reduce((carry, char, index) => {\n const encodingIndex = ENCODING.indexOf(char);\n if (encodingIndex === -1) {\n throw createError('invalid character found: ' + char);\n }\n return (carry += encodingIndex * Math.pow(ENCODING_LEN, index));\n }, 0);\n if (time > TIME_MAX) {\n throw createError('malformed ulid, timestamp too large');\n }\n return { timestamp: time, random: id.substring(TIME_LEN) };\n}\n\nfunction createPrng(): PRNG {\n return () => {\n const buffer = new Uint8Array(1);\n getRandomValues(buffer);\n return buffer[0] / 0xff;\n };\n}\n\n/**\n * create a ulid generator\n */\nexport function createULID({\n monotonic = true,\n random = createPrng(),\n now = Date.now,\n}: { monotonic?: boolean; now?: () => number; random?: () => number } = {}) {\n if (!monotonic) {\n return function ulid(seedTime?: number): string {\n seedTime ||= now();\n return encodeTime(seedTime, TIME_LEN) + encodeRandom(RANDOM_LEN, random);\n };\n }\n\n let lastTime: number = 0;\n let lastRandom: string;\n return function ulid(seedTime?: number): string {\n seedTime ||= now();\n if (seedTime <= lastTime && lastRandom) {\n const incrementedRandom = (lastRandom = incrementBase32(lastRandom));\n return encodeTime(lastTime, TIME_LEN) + incrementedRandom;\n }\n lastTime = seedTime;\n const newRandom = (lastRandom = encodeRandom(RANDOM_LEN, random));\n return encodeTime(seedTime, TIME_LEN) + newRandom;\n };\n}\n\n/**\n * default monotonic ulid generator\n */\nexport let ulid: ULID = (...args) => {\n if (_real) {\n return _real(...args);\n }\n // delay initialize crypto\n _real = createULID();\n ulid = _real;\n return _real(...args);\n};\nlet _real: ULID;\n"],"names":["getRandomValues","createError","message","err","Error","source","ENCODING","ENCODING_LEN","length","TIME_MAX","Math","pow","TIME_LEN","RANDOM_LEN","isULID","str","test","replaceCharAt","index","char","substr","incrementBase32","done","charIndex","maxCharIndex","indexOf","randomChar","prng","rand","floor","charAt","encodeTime","now","len","isNaN","Number","isInteger","mod","encodeRandom","parseULID","id","time","split","reverse","reduce","carry","encodingIndex","timestamp","random","substring","createPrng","buffer","Uint8Array","createULID","monotonic","Date","ulid","seedTime","lastTime","lastRandom","incrementedRandom","newRandom","args","_real"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/crypto/ulid.ts"],"sourcesContent":["import { getRandomValues } from './getRandomValues';\n\ntype PRNG = () => number;\n\n/**\n * Universally Unique Lexicographically Sortable Identifier\n *\n * @see https://github.com/ulid/spec ulid/spec\n */\nexport type ULID = (seedTime?: number) => string;\n\nexport interface ULIDError extends Error {\n source: string;\n}\n\nfunction createError(message: string): ULIDError {\n const err = new Error(message) as ULIDError;\n err.source = 'ulid';\n return err;\n}\n\n// These values should NEVER change. If\n// they do, we're no longer making ulids!\nconst ENCODING = '0123456789ABCDEFGHJKMNPQRSTVWXYZ'; // Crockford's Base32\nconst ENCODING_LEN = ENCODING.length;\nconst TIME_MAX = Math.pow(2, 48) - 1;\nconst TIME_LEN = 10;\nconst RANDOM_LEN = 16;\n\n/**\n * check give {@link str} is a valid ulid\n */\nexport function isULID(str: string | undefined | null): boolean {\n if (!str) {\n return false;\n }\n // ttttttttttrrrrrrrrrrrrrrrr\n return str.length === 26 && /^[0-9A-HJKMNP-TV-Z]{26}$/i.test(str);\n}\n\nfunction replaceCharAt(str: string, index: number, char: string) {\n if (index > str.length - 1) {\n return str;\n }\n return str.substr(0, index) + char + str.substr(index + 1);\n}\n\nfunction incrementBase32(str: string): string {\n let done;\n let index = str.length;\n let char;\n let charIndex;\n const maxCharIndex = ENCODING_LEN - 1;\n while (!done && index-- >= 0) {\n char = str[index];\n charIndex = ENCODING.indexOf(char);\n if (charIndex === -1) {\n throw createError('incorrectly encoded string');\n }\n if (charIndex === maxCharIndex) {\n str = replaceCharAt(str, index, ENCODING[0]);\n continue;\n }\n done = replaceCharAt(str, index, ENCODING[charIndex + 1]);\n }\n if (typeof done === 'string') {\n return done;\n }\n throw createError('cannot increment this string');\n}\n\nfunction randomChar(prng: PRNG): string {\n let rand = Math.floor(prng() * ENCODING_LEN);\n if (rand === ENCODING_LEN) {\n rand = ENCODING_LEN - 1;\n }\n return ENCODING.charAt(rand);\n}\n\nfunction encodeTime(now: number, len: number): string {\n if (isNaN(now)) {\n throw new Error(`${now} must be a number`);\n }\n if (now > TIME_MAX) {\n throw createError(`cannot encode time greater than ${TIME_MAX}`);\n }\n if (now < 0) {\n throw createError('time must be positive');\n }\n if (!Number.isInteger(now)) {\n throw createError('time must be an integer');\n }\n let mod;\n let str = '';\n for (; len > 0; len--) {\n mod = now % ENCODING_LEN;\n str = ENCODING.charAt(mod) + str;\n now = (now - mod) / ENCODING_LEN;\n }\n return str;\n}\n\nfunction encodeRandom(len: number, prng: PRNG): string {\n let str = '';\n for (; len > 0; len--) {\n str = randomChar(prng) + str;\n }\n return str;\n}\n\n/**\n * extract time & random from ulid\n *\n * @throws ULIDError\n */\nexport function parseULID(id: string): { timestamp: number; random: string } {\n if (id.length !== TIME_LEN + RANDOM_LEN) {\n throw createError('malformed ulid');\n }\n const time = id\n .substr(0, TIME_LEN)\n .split('')\n .reverse()\n .reduce((carry, char, index) => {\n const encodingIndex = ENCODING.indexOf(char);\n if (encodingIndex === -1) {\n throw createError('invalid character found: ' + char);\n }\n return (carry += encodingIndex * Math.pow(ENCODING_LEN, index));\n }, 0);\n if (time > TIME_MAX) {\n throw createError('malformed ulid, timestamp too large');\n }\n return { timestamp: time, random: id.substring(TIME_LEN) };\n}\n\nfunction createPrng(): PRNG {\n return () => {\n const buffer = new Uint8Array(1);\n getRandomValues(buffer);\n return buffer[0] / 0xff;\n };\n}\n\n/**\n * create a ulid generator\n */\nexport function createULID({\n monotonic = true,\n random = createPrng(),\n now = Date.now,\n}: { monotonic?: boolean; now?: () => number; random?: () => number } = {}) {\n if (!monotonic) {\n return function ulid(seedTime?: number): string {\n seedTime ||= now();\n return encodeTime(seedTime, TIME_LEN) + encodeRandom(RANDOM_LEN, random);\n };\n }\n\n let lastTime: number = 0;\n let lastRandom: string;\n return function ulid(seedTime?: number): string {\n seedTime ||= now();\n if (seedTime <= lastTime && lastRandom) {\n const incrementedRandom = (lastRandom = incrementBase32(lastRandom));\n return encodeTime(lastTime, TIME_LEN) + incrementedRandom;\n }\n lastTime = seedTime;\n const newRandom = (lastRandom = encodeRandom(RANDOM_LEN, random));\n return encodeTime(seedTime, TIME_LEN) + newRandom;\n };\n}\n\n/**\n * default monotonic ulid generator\n */\nexport let ulid: ULID = (...args) => {\n if (_real) {\n return _real(...args);\n }\n // delay initialize crypto\n _real = createULID();\n ulid = _real;\n return _real(...args);\n};\nlet _real: ULID;\n"],"names":["getRandomValues","createError","message","err","Error","source","ENCODING","ENCODING_LEN","length","TIME_MAX","Math","pow","TIME_LEN","RANDOM_LEN","isULID","str","test","replaceCharAt","index","char","substr","incrementBase32","done","charIndex","maxCharIndex","indexOf","randomChar","prng","rand","floor","charAt","encodeTime","now","len","isNaN","Number","isInteger","mod","encodeRandom","parseULID","id","time","split","reverse","reduce","carry","encodingIndex","timestamp","random","substring","createPrng","buffer","Uint8Array","createULID","monotonic","Date","ulid","seedTime","lastTime","lastRandom","incrementedRandom","newRandom","args","_real"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/lib/errors/Errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/errors/Errors.ts"],"sourcesContent":["import { getHttpStatusText } from '../fetch/HttpStatus';\n\nexport interface ErrorDetailInit {\n message?: string;\n status: number;\n description?: string;\n code?: number | string;\n metadata?: Record<string, any>;\n cause?: any;\n}\n\nexport class DetailError extends Error {\n readonly status: number;\n readonly description?: string;\n\n constructor(readonly detail: ErrorDetail) {\n super(detail.message, {\n cause: detail.cause,\n });\n this.status = detail.status;\n this.description = detail.description;\n }\n\n toJSON() {\n return {\n code: this.detail.code,\n message: this.message,\n status: this.status,\n description: this.description,\n cause: this.cause,\n };\n }\n}\n\nclass DetailHolder implements ErrorDetail {\n readonly message: string;\n readonly status: number;\n readonly code: number | string;\n readonly metadata?: Record<string, any>;\n readonly description?: string;\n readonly cause?: any;\n\n constructor({\n status,\n message = getHttpStatusText(status),\n code = status,\n metadata,\n description,\n cause,\n }: ErrorDetailInit) {\n this.message = message ?? String(status);\n this.status = status;\n this.code = code;\n this.description = description;\n this.metadata = metadata;\n this.cause = cause;\n }\n\n with(o?: Partial<ErrorDetailInit> | string): DetailHolder {\n if (typeof o === 'string') {\n o = { message: o };\n }\n\n if (o === undefined) {\n return new DetailHolder(this);\n }\n\n return new DetailHolder({\n status: this.status,\n code: this.code,\n message: this.message,\n metadata: this.metadata,\n cause: this.cause,\n ...o,\n });\n }\n\n asError(o?: Partial<ErrorDetailInit> | string): Error {\n if (typeof o === 'string') {\n o = { message: o };\n }\n\n return new DetailError(this.with(o));\n }\n\n require(v: any, o?: Partial<ErrorDetailInit> | string): any {\n if (v === undefined || v === null) {\n throw this.asError(o);\n }\n\n return v;\n }\n\n check(cond: any, o?: Partial<ErrorDetailInit> | string) {\n switch (cond) {\n case false:\n case undefined:\n case null: {\n throw this.asError(o);\n }\n }\n }\n\n throw(o?: string | Partial<ErrorDetailInit>): never {\n throw this.asError(o);\n }\n\n toJSON() {\n return {\n code: this.code,\n message: this.message,\n status: this.status,\n description: this.description,\n cause: this.cause,\n metadata: this.metadata,\n };\n }\n\n asResponse(): Response {\n return new Response(JSON.stringify(this.toJSON()), {\n status: this.status,\n statusText: this.description,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n}\n\nexport interface ErrorDetail {\n readonly message: string;\n readonly status: number;\n readonly code?: number | string;\n readonly metadata?: Record<string, any>;\n readonly description?: string;\n readonly cause?: any;\n\n with(message: string): ErrorDetail;\n\n with(o?: Partial<ErrorDetailInit>): ErrorDetail;\n\n asError(o?: string | Partial<ErrorDetailInit>): Error;\n\n asResponse(): Response;\n\n throw(o?: string | Partial<ErrorDetailInit>): never;\n\n require<T>(v: T | undefined, o?: Partial<ErrorDetailInit> | string): NonNullable<T>;\n\n check(condition: boolean, o?: Partial<ErrorDetailInit> | string): asserts condition;\n\n check<T>(v: T | undefined | null, o?: Partial<ErrorDetailInit> | string): asserts v is NonNullable<T>;\n}\n\nexport class Errors {\n static BadRequest: ErrorDetail = this.with({ status: 400 });\n static Unauthorized: ErrorDetail = this.with({ status: 403 });\n static Forbidden: ErrorDetail = this.with({ status: 403 });\n static NotFound: ErrorDetail = this.with({ status: 404 });\n static InternalServerError: ErrorDetail = this.with({ status: 500 });\n static NotImplemented: ErrorDetail = this.with({ status: 501 });\n static ServiceUnavailable: ErrorDetail = this.with({ status: 503 });\n\n static resolvers: ((e: any) => ErrorDetail | void)[] = [];\n\n static with(init: ErrorDetailInit): ErrorDetail {\n return new DetailHolder(init);\n }\n\n static ok(res: Response, o?: Partial<ErrorDetailInit>) {\n if (res.ok) {\n return res;\n }\n throw this.with({\n description: res.statusText,\n status: res.status,\n ...o,\n metadata: {\n ...o?.metadata,\n response: res,\n },\n }).asError();\n }\n\n static resolve(e: any): ErrorDetail {\n if (e instanceof DetailHolder) {\n return e;\n }\n\n if (e instanceof DetailError) {\n return e.detail;\n }\n\n for (const resolver of this.resolvers) {\n const r = resolver(e);\n if (r) {\n return r;\n }\n }\n\n if (e instanceof Error) {\n const { message, code, status } = e as any;\n // can get status from NestJS HttpException\n return new DetailHolder({\n message,\n status: parseInt(status) || 500,\n code,\n cause: e,\n });\n }\n\n return new DetailHolder({\n message: e.message,\n status: 500,\n cause: e,\n });\n }\n}\n\n// interface ZodError {\n// path: Array<string | number>;\n// message: string;\n// code: string;\n// expected?: any;\n// received?: any;\n// }\n"],"names":["getHttpStatusText","DetailError","Error","status","description","constructor","detail","message","cause","toJSON","code","DetailHolder","metadata","String","with","o","undefined","asError","require","v","check","cond","throw","asResponse","Response","JSON","stringify","statusText","headers","Errors","BadRequest","Unauthorized","Forbidden","NotFound","InternalServerError","NotImplemented","ServiceUnavailable","resolvers","init","ok","res","response","resolve","e","resolver","r","parseInt"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/errors/Errors.ts"],"sourcesContent":["import { getHttpStatusText } from '../fetch/HttpStatus';\n\nexport interface ErrorDetailInit {\n message?: string;\n status: number;\n description?: string;\n code?: number | string;\n metadata?: Record<string, any>;\n cause?: any;\n}\n\nexport class DetailError extends Error {\n readonly status: number;\n readonly description?: string;\n\n constructor(readonly detail: ErrorDetail) {\n super(detail.message, {\n cause: detail.cause,\n });\n this.status = detail.status;\n this.description = detail.description;\n }\n\n toJSON() {\n return {\n code: this.detail.code,\n message: this.message,\n status: this.status,\n description: this.description,\n cause: this.cause,\n };\n }\n}\n\nclass DetailHolder implements ErrorDetail {\n readonly message: string;\n readonly status: number;\n readonly code: number | string;\n readonly metadata?: Record<string, any>;\n readonly description?: string;\n readonly cause?: any;\n\n constructor({\n status,\n message = getHttpStatusText(status),\n code = status,\n metadata,\n description,\n cause,\n }: ErrorDetailInit) {\n this.message = message ?? String(status);\n this.status = status;\n this.code = code;\n this.description = description;\n this.metadata = metadata;\n this.cause = cause;\n }\n\n with(o?: Partial<ErrorDetailInit> | string): DetailHolder {\n if (typeof o === 'string') {\n o = { message: o };\n }\n\n if (o === undefined) {\n return new DetailHolder(this);\n }\n\n return new DetailHolder({\n status: this.status,\n code: this.code,\n message: this.message,\n metadata: this.metadata,\n cause: this.cause,\n ...o,\n });\n }\n\n asError(o?: Partial<ErrorDetailInit> | string): Error {\n if (typeof o === 'string') {\n o = { message: o };\n }\n\n return new DetailError(this.with(o));\n }\n\n require(v: any, o?: Partial<ErrorDetailInit> | string): any {\n if (v === undefined || v === null) {\n throw this.asError(o);\n }\n\n return v;\n }\n\n check(cond: any, o?: Partial<ErrorDetailInit> | string) {\n switch (cond) {\n case false:\n case undefined:\n case null: {\n throw this.asError(o);\n }\n }\n }\n\n throw(o?: string | Partial<ErrorDetailInit>): never {\n throw this.asError(o);\n }\n\n toJSON() {\n return {\n code: this.code,\n message: this.message,\n status: this.status,\n description: this.description,\n cause: this.cause,\n metadata: this.metadata,\n };\n }\n\n asResponse(): Response {\n return new Response(JSON.stringify(this.toJSON()), {\n status: this.status,\n statusText: this.description,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n }\n}\n\nexport interface ErrorDetail {\n readonly message: string;\n readonly status: number;\n readonly code?: number | string;\n readonly metadata?: Record<string, any>;\n readonly description?: string;\n readonly cause?: any;\n\n with(message: string): ErrorDetail;\n\n with(o?: Partial<ErrorDetailInit>): ErrorDetail;\n\n asError(o?: string | Partial<ErrorDetailInit>): Error;\n\n asResponse(): Response;\n\n throw(o?: string | Partial<ErrorDetailInit>): never;\n\n require<T>(v: T | undefined, o?: Partial<ErrorDetailInit> | string): NonNullable<T>;\n\n check(condition: boolean, o?: Partial<ErrorDetailInit> | string): asserts condition;\n\n check<T>(v: T | undefined | null, o?: Partial<ErrorDetailInit> | string): asserts v is NonNullable<T>;\n}\n\nexport class Errors {\n static BadRequest: ErrorDetail = this.with({ status: 400 });\n static Unauthorized: ErrorDetail = this.with({ status: 403 });\n static Forbidden: ErrorDetail = this.with({ status: 403 });\n static NotFound: ErrorDetail = this.with({ status: 404 });\n static InternalServerError: ErrorDetail = this.with({ status: 500 });\n static NotImplemented: ErrorDetail = this.with({ status: 501 });\n static ServiceUnavailable: ErrorDetail = this.with({ status: 503 });\n\n static resolvers: ((e: any) => ErrorDetail | void)[] = [];\n\n static with(init: ErrorDetailInit): ErrorDetail {\n return new DetailHolder(init);\n }\n\n static ok(res: Response, o?: Partial<ErrorDetailInit>) {\n if (res.ok) {\n return res;\n }\n throw this.with({\n description: res.statusText,\n status: res.status,\n ...o,\n metadata: {\n ...o?.metadata,\n response: res,\n },\n }).asError();\n }\n\n static resolve(e: any): ErrorDetail {\n if (e instanceof DetailHolder) {\n return e;\n }\n\n if (e instanceof DetailError) {\n return e.detail;\n }\n\n for (const resolver of this.resolvers) {\n const r = resolver(e);\n if (r) {\n return r;\n }\n }\n\n if (e instanceof Error) {\n const { message, code, status } = e as any;\n // can get status from NestJS HttpException\n return new DetailHolder({\n message,\n status: parseInt(status) || 500,\n code,\n cause: e,\n });\n }\n\n return new DetailHolder({\n message: e.message,\n status: 500,\n cause: e,\n });\n }\n}\n\n// interface ZodError {\n// path: Array<string | number>;\n// message: string;\n// code: string;\n// expected?: any;\n// received?: any;\n// }\n"],"names":["getHttpStatusText","DetailError","Error","status","description","constructor","detail","message","cause","toJSON","code","DetailHolder","metadata","String","with","o","undefined","asError","require","v","check","cond","throw","asResponse","Response","JSON","stringify","statusText","headers","Errors","BadRequest","Unauthorized","Forbidden","NotFound","InternalServerError","NotImplemented","ServiceUnavailable","resolvers","init","ok","res","response","resolve","e","resolver","r","parseInt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetch/HttpStatus.ts"],"sourcesContent":["// http://httpstat.us/\n// https://en.wikipedia.org/wiki/List_of_HTTP_status_codes\nconst HttpStatus: Record<string, string> = {\n 100: 'Continue',\n 101: 'Switching Protocols',\n 102: 'Processing',\n 103: 'Early Hints',\n 200: 'OK',\n 201: 'Created',\n 202: 'Accepted',\n 203: 'Non-Authoritative Information',\n 204: 'No Content',\n 205: 'Reset Content',\n 206: 'Partial Content',\n 207: 'Multi-Status',\n 208: 'Already Reported',\n 226: 'IM Used',\n 300: 'Multiple Choices',\n 301: 'Moved Permanently',\n 302: 'Found',\n 303: 'See Other',\n 304: 'Not Modified',\n 305: 'Use Proxy',\n 306: 'Unused',\n 307: 'Temporary Redirect',\n 308: 'Permanent Redirect',\n\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 402: 'Payment Required',\n 403: 'Forbidden',\n 404: 'Not Found',\n 405: 'Method Not Allowed',\n 406: 'Not Acceptable',\n 407: 'Proxy Authentication Required',\n 408: 'Request Timeout',\n 409: 'Conflict',\n 410: 'Gone',\n 411: 'Length Required',\n 412: 'Precondition Required',\n 413: 'Request Entry Too Large',\n 414: 'Request-URI Too Long',\n 415: 'Unsupported Media Type',\n 416: 'Requested Range Not Satisfiable',\n 417: 'Expectation Failed',\n 418: \"I'm a teapot\",\n 421: 'Misdirected Request',\n 422: 'Unprocessable Entity',\n 423: 'Locked',\n 424: 'Failed Dependency',\n 425: 'Too Early',\n 426: 'Upgrade Required',\n 428: 'Precondition Required',\n 429: 'Too Many Requests',\n 431: 'Request Header Fields Too Large',\n 451: 'Unavailable For Legal Reasons',\n 500: 'Internal Server Error',\n 501: 'Not Implemented',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n 504: 'Gateway Timeout',\n 505: 'HTTP Version Not Supported',\n 506: 'Variant Also Negotiates',\n 507: 'Insufficient Storage',\n 508: 'Loop Detected',\n 509: 'Bandwidth Limit Exceeded',\n 510: 'Not Extended',\n 511: 'Network Authentication Required',\n};\n\nexport function getHttpStatusText(status: number | string): string | undefined {\n return HttpStatus[status];\n}\n\nexport function isRetryableHttpStatus(status: number) {\n switch (status) {\n /*\n408 Request Timeout\n425 Too Early\n429 Too Many Requests\n500 Internal Server Error\n502 Bad Gateway\n503 Service Unavailable\n504 Gateway Timeout\n */\n case 408:\n case 425:\n case 429:\n case 502:\n case 503:\n case 504:\n return true;\n default:\n return false;\n }\n}\n"],"names":["HttpStatus","getHttpStatusText","status","isRetryableHttpStatus"],"mappings":"AAAA,sBAAsB;AACtB,0DAA0D;AAC1D,MAAMA,aAAqC;IACzC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IAEL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;AACP;AAEA,OAAO,SAASC,kBAAkBC,MAAuB;IACvD,OAAOF,UAAU,CAACE,OAAO;AAC3B;AAEA,OAAO,SAASC,sBAAsBD,MAAc;IAClD,OAAQA;QACN;;;;;;;;KAQC,GACD,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/fetch/HttpStatus.ts"],"sourcesContent":["// http://httpstat.us/\n// https://en.wikipedia.org/wiki/List_of_HTTP_status_codes\nconst HttpStatus: Record<string, string> = {\n 100: 'Continue',\n 101: 'Switching Protocols',\n 102: 'Processing',\n 103: 'Early Hints',\n 200: 'OK',\n 201: 'Created',\n 202: 'Accepted',\n 203: 'Non-Authoritative Information',\n 204: 'No Content',\n 205: 'Reset Content',\n 206: 'Partial Content',\n 207: 'Multi-Status',\n 208: 'Already Reported',\n 226: 'IM Used',\n 300: 'Multiple Choices',\n 301: 'Moved Permanently',\n 302: 'Found',\n 303: 'See Other',\n 304: 'Not Modified',\n 305: 'Use Proxy',\n 306: 'Unused',\n 307: 'Temporary Redirect',\n 308: 'Permanent Redirect',\n\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 402: 'Payment Required',\n 403: 'Forbidden',\n 404: 'Not Found',\n 405: 'Method Not Allowed',\n 406: 'Not Acceptable',\n 407: 'Proxy Authentication Required',\n 408: 'Request Timeout',\n 409: 'Conflict',\n 410: 'Gone',\n 411: 'Length Required',\n 412: 'Precondition Required',\n 413: 'Request Entry Too Large',\n 414: 'Request-URI Too Long',\n 415: 'Unsupported Media Type',\n 416: 'Requested Range Not Satisfiable',\n 417: 'Expectation Failed',\n 418: \"I'm a teapot\",\n 421: 'Misdirected Request',\n 422: 'Unprocessable Entity',\n 423: 'Locked',\n 424: 'Failed Dependency',\n 425: 'Too Early',\n 426: 'Upgrade Required',\n 428: 'Precondition Required',\n 429: 'Too Many Requests',\n 431: 'Request Header Fields Too Large',\n 451: 'Unavailable For Legal Reasons',\n 500: 'Internal Server Error',\n 501: 'Not Implemented',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n 504: 'Gateway Timeout',\n 505: 'HTTP Version Not Supported',\n 506: 'Variant Also Negotiates',\n 507: 'Insufficient Storage',\n 508: 'Loop Detected',\n 509: 'Bandwidth Limit Exceeded',\n 510: 'Not Extended',\n 511: 'Network Authentication Required',\n};\n\nexport function getHttpStatusText(status: number | string): string | undefined {\n return HttpStatus[status];\n}\n\nexport function isRetryableHttpStatus(status: number) {\n switch (status) {\n /*\n408 Request Timeout\n425 Too Early\n429 Too Many Requests\n500 Internal Server Error\n502 Bad Gateway\n503 Service Unavailable\n504 Gateway Timeout\n */\n case 408:\n case 425:\n case 429:\n case 502:\n case 503:\n case 504:\n return true;\n default:\n return false;\n }\n}\n"],"names":["HttpStatus","getHttpStatusText","status","isRetryableHttpStatus"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,sBAAsB;AACtB,0DAA0D;AAC1D,MAAMA,aAAqC;IACzC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IAEL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;AACP;AAEA,OAAO,SAASC,kBAAkBC,MAAuB;IACvD,OAAOF,UAAU,CAACE,OAAO;AAC3B;AAEA,OAAO,SAASC,sBAAsBD,MAAc;IAClD,OAAQA;QACN;;;;;;;;KAQC,GACD,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetch/createFetchWith.ts"],"sourcesContent":["import { MaybePromise } from '../asyncs/MaybePromise';\nimport { getGlobalThis } from '../runtime/getGlobalThis';\nimport { type FetchLike } from './types';\n\nexport function createFetchWith({\n fetch = getGlobalThis().fetch,\n onRequest = (ctx) => ctx.next(ctx.url, ctx.req),\n onResponse = (ctx) => ctx.res,\n}: {\n fetch?: FetchLike;\n onRequest?: (ctx: {\n url: string;\n req: RequestInit;\n next: (url: string, req: RequestInit) => Promise<Response>;\n }) => MaybePromise<Response | void>;\n onResponse?: (ctx: { url: string; req: RequestInit; res: Response }) => MaybePromise<Response>;\n}) {\n return async (urlOrRequest: string | URL | Request, init?: RequestInit & { fetch?: FetchLike }) => {\n const url = String(urlOrRequest);\n let req = init || {};\n const nextFetch = req.fetch || fetch;\n const res =\n (await onRequest({\n url,\n req,\n next: (url, init) => {\n req = init;\n return nextFetch(url, init);\n },\n })) ?? (await nextFetch(url, init));\n return onResponse({ url, req, res });\n };\n}\n"],"names":["getGlobalThis","createFetchWith","fetch","onRequest","ctx","next","url","req","onResponse","res","urlOrRequest","init","String","nextFetch"],"mappings":"AACA,SAASA,aAAa,QAAQ,2BAA2B;AAGzD,OAAO,SAASC,gBAAgB,EAC9BC,QAAQF,gBAAgBE,KAAK,EAC7BC,YAAY,CAACC,MAAQA,IAAIC,IAAI,CAACD,IAAIE,GAAG,EAAEF,IAAIG,GAAG,CAAC,EAC/CC,aAAa,CAACJ,MAAQA,IAAIK,GAAG,EAS9B;IACC,OAAO,OAAOC,cAAsCC;QAClD,MAAML,MAAMM,OAAOF;QACnB,IAAIH,MAAMI,QAAQ,CAAC;QACnB,MAAME,YAAYN,IAAIL,KAAK,IAAIA;QAC/B,MAAMO,MACJ,AAAC,MAAMN,UAAU;YACfG;YACAC;YACAF,MAAM,CAACC,KAAKK;gBACVJ,MAAMI;gBACN,OAAOE,UAAUP,KAAKK;YACxB;QACF,MAAQ,MAAME,UAAUP,KAAKK;QAC/B,OAAOH,WAAW;YAAEF;YAAKC;YAAKE;QAAI;IACpC;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/fetch/createFetchWith.ts"],"sourcesContent":["import { MaybePromise } from '../asyncs/MaybePromise';\nimport { getGlobalThis } from '../runtime/getGlobalThis';\nimport { type FetchLike } from './types';\n\nexport function createFetchWith({\n fetch = getGlobalThis().fetch,\n onRequest = (ctx) => ctx.next(ctx.url, ctx.req),\n onResponse = (ctx) => ctx.res,\n}: {\n fetch?: FetchLike;\n onRequest?: (ctx: {\n url: string;\n req: RequestInit;\n next: (url: string, req: RequestInit) => Promise<Response>;\n }) => MaybePromise<Response | void>;\n onResponse?: (ctx: { url: string; req: RequestInit; res: Response }) => MaybePromise<Response>;\n}) {\n return async (urlOrRequest: string | URL | Request, init?: RequestInit & { fetch?: FetchLike }) => {\n const url = String(urlOrRequest);\n let req = init || {};\n const nextFetch = req.fetch || fetch;\n const res =\n (await onRequest({\n url,\n req,\n next: (url, init) => {\n req = init;\n return nextFetch(url, init);\n },\n })) ?? (await nextFetch(url, init));\n return onResponse({ url, req, res });\n };\n}\n"],"names":["getGlobalThis","createFetchWith","fetch","onRequest","ctx","next","url","req","onResponse","res","urlOrRequest","init","String","nextFetch"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,aAAa,QAAQ,2BAA2B;AAGzD,OAAO,SAASC,gBAAgB,EAC9BC,QAAQF,gBAAgBE,KAAK,EAC7BC,YAAY,CAACC,MAAQA,IAAIC,IAAI,CAACD,IAAIE,GAAG,EAAEF,IAAIG,GAAG,CAAC,EAC/CC,aAAa,CAACJ,MAAQA,IAAIK,GAAG,EAS9B;IACC,OAAO,OAAOC,cAAsCC;QAClD,MAAML,MAAMM,OAAOF;QACnB,IAAIH,MAAMI,QAAQ,CAAC;QACnB,MAAME,YAAYN,IAAIL,KAAK,IAAIA;QAC/B,MAAMO,MACJ,AAAC,MAAMN,UAAU;YACfG;YACAC;YACAF,MAAM,CAACC,KAAKK;gBACVJ,MAAMI;gBACN,OAAOE,UAAUP,KAAKK;YACxB;QACF,MAAQ,MAAME,UAAUP,KAAKK;QAC/B,OAAOH,WAAW;YAAEF;YAAKC;YAAKE;QAAI;IACpC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetch/createFetchWithLogging.ts"],"sourcesContent":["import { createFetchWith } from './createFetchWith';\nimport { dumpRequest } from './dumpRequest';\nimport { dumpResponse } from './dumpResponse';\nimport { type FetchLike } from './types';\n\nexport function createFetchWithLogging({\n fetch,\n log = console.log,\n}: {\n fetch?: FetchLike;\n log?: (s: string) => void;\n} = {}): FetchLike {\n return createFetchWith({\n fetch,\n onRequest: ({ url, req }) => {\n void dumpRequest({ url, req, log });\n },\n onResponse: ({ url, req, res }) => {\n return dumpResponse({ url, req, res, log });\n },\n });\n}\n"],"names":["createFetchWith","dumpRequest","dumpResponse","createFetchWithLogging","fetch","log","console","onRequest","url","req","onResponse","res"],"mappings":"AAAA,SAASA,eAAe,QAAQ,oBAAoB;AACpD,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAG9C,OAAO,SAASC,uBAAuB,EACrCC,KAAK,EACLC,MAAMC,QAAQD,GAAG,EAIlB,GAAG,CAAC,CAAC;IACJ,OAAOL,gBAAgB;QACrBI;QACAG,WAAW,CAAC,EAAEC,GAAG,EAAEC,GAAG,EAAE;YACtB,KAAKR,YAAY;gBAAEO;gBAAKC;gBAAKJ;YAAI;QACnC;QACAK,YAAY,CAAC,EAAEF,GAAG,EAAEC,GAAG,EAAEE,GAAG,EAAE;YAC5B,OAAOT,aAAa;gBAAEM;gBAAKC;gBAAKE;gBAAKN;YAAI;QAC3C;IACF;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/fetch/createFetchWithLogging.ts"],"sourcesContent":["import { createFetchWith } from './createFetchWith';\nimport { dumpRequest } from './dumpRequest';\nimport { dumpResponse } from './dumpResponse';\nimport { type FetchLike } from './types';\n\nexport function createFetchWithLogging({\n fetch,\n log = console.log,\n}: {\n fetch?: FetchLike;\n log?: (s: string) => void;\n} = {}): FetchLike {\n return createFetchWith({\n fetch,\n onRequest: ({ url, req }) => {\n void dumpRequest({ url, req, log });\n },\n onResponse: ({ url, req, res }) => {\n return dumpResponse({ url, req, res, log });\n },\n });\n}\n"],"names":["createFetchWith","dumpRequest","dumpResponse","createFetchWithLogging","fetch","log","console","onRequest","url","req","onResponse","res"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,eAAe,QAAQ,oBAAoB;AACpD,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAG9C,OAAO,SAASC,uBAAuB,EACrCC,KAAK,EACLC,MAAMC,QAAQD,GAAG,EAIlB,GAAG,CAAC,CAAC;IACJ,OAAOL,gBAAgB;QACrBI;QACAG,WAAW,CAAC,EAAEC,GAAG,EAAEC,GAAG,EAAE;YACtB,KAAKR,YAAY;gBAAEO;gBAAKC;gBAAKJ;YAAI;QACnC;QACAK,YAAY,CAAC,EAAEF,GAAG,EAAEC,GAAG,EAAEE,GAAG,EAAE;YAC5B,OAAOT,aAAa;gBAAEM;gBAAKC;gBAAKE;gBAAKN;YAAI;QAC3C;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetch/createFetchWithRetry.ts"],"sourcesContent":["import { getGlobalThis } from '../runtime/getGlobalThis';\nimport { FetchLike } from './types';\n\ntype RequestDelayFunction = (attempt: number, error: Error | null, response: Response | null) => number;\ntype RequestRetryOnFunction = (\n attempt: number,\n error: Error | null,\n response: Response | null,\n) => boolean | Promise<boolean>;\n\nexport interface FetchWithRetryOptions {\n fetch?: FetchLike;\n retries?: number;\n retryDelay?: number | RequestDelayFunction;\n retryOn?: number[] | RequestRetryOnFunction;\n}\n\nexport function createFetchWithRetry({\n fetch = getGlobalThis().fetch,\n retries = 3,\n retryDelay = 1000,\n retryOn = [],\n}: FetchWithRetryOptions = {}): FetchLike {\n // https://github.com/jonbern/fetch-retry/blob/master/index.js\n\n return function fetchRetry(input: string | URL | Request, init?: RequestInit) {\n return new Promise(function (resolve, reject) {\n var wrappedFetch = function (attempt: number) {\n // As of node 18, this is no longer needed since node comes with native support for fetch:\n /* istanbul ignore next */\n var _input = typeof Request !== 'undefined' && input instanceof Request ? input.clone() : input;\n fetch(_input, init)\n .then(function (response) {\n if (Array.isArray(retryOn) && retryOn.indexOf(response.status) === -1) {\n resolve(response);\n } else if (typeof retryOn === 'function') {\n try {\n return Promise.resolve(retryOn(attempt, null, response))\n .then(function (retryOnResponse) {\n if (retryOnResponse) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n })\n .catch(reject);\n } catch (error) {\n reject(error);\n }\n } else {\n if (attempt < retries) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n }\n return;\n })\n .catch(function (error) {\n if (typeof retryOn === 'function') {\n try {\n // eslint-disable-next-line no-undef\n Promise.resolve(retryOn(attempt, error, null))\n .then(function (retryOnResponse) {\n if (retryOnResponse) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n })\n .catch(function (error) {\n reject(error);\n });\n } catch (error) {\n reject(error);\n }\n } else if (attempt < retries) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n });\n };\n\n function retry(attempt: number, error: any, response: Response | null) {\n let delay = typeof retryDelay === 'function' ? retryDelay(attempt, error, response) : retryDelay;\n setTimeout(function () {\n wrappedFetch(++attempt);\n }, delay);\n }\n\n wrappedFetch(0);\n });\n };\n}\n"],"names":["getGlobalThis","createFetchWithRetry","fetch","retries","retryDelay","retryOn","fetchRetry","input","init","Promise","resolve","reject","wrappedFetch","attempt","_input","Request","clone","then","response","Array","isArray","indexOf","status","retryOnResponse","retry","catch","error","delay","setTimeout"],"mappings":"AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAiBzD,OAAO,SAASC,qBAAqB,EACnCC,QAAQF,gBAAgBE,KAAK,EAC7BC,UAAU,CAAC,EACXC,aAAa,IAAI,EACjBC,UAAU,EAAE,EACU,GAAG,CAAC,CAAC;IAC3B,8DAA8D;IAE9D,OAAO,SAASC,WAAWC,KAA6B,EAAEC,IAAkB;QAC1E,OAAO,IAAIC,QAAQ,SAAUC,OAAO,EAAEC,MAAM;YAC1C,IAAIC,eAAe,SAAUC,OAAe;gBAC1C,0FAA0F;gBAC1F,wBAAwB,GACxB,IAAIC,SAAS,OAAOC,YAAY,eAAeR,iBAAiBQ,UAAUR,MAAMS,KAAK,KAAKT;gBAC1FL,MAAMY,QAAQN,MACXS,IAAI,CAAC,SAAUC,QAAQ;oBACtB,IAAIC,MAAMC,OAAO,CAACf,YAAYA,QAAQgB,OAAO,CAACH,SAASI,MAAM,MAAM,CAAC,GAAG;wBACrEZ,QAAQQ;oBACV,OAAO,IAAI,OAAOb,YAAY,YAAY;wBACxC,IAAI;4BACF,OAAOI,QAAQC,OAAO,CAACL,QAAQQ,SAAS,MAAMK,WAC3CD,IAAI,CAAC,SAAUM,eAAe;gCAC7B,IAAIA,iBAAiB;oCACnBC,MAAMX,SAAS,MAAMK;gCACvB,OAAO;oCACLR,QAAQQ;gCACV;4BACF,GACCO,KAAK,CAACd;wBACX,EAAE,OAAOe,OAAO;4BACdf,OAAOe;wBACT;oBACF,OAAO;wBACL,IAAIb,UAAUV,SAAS;4BACrBqB,MAAMX,SAAS,MAAMK;wBACvB,OAAO;4BACLR,QAAQQ;wBACV;oBACF;oBACA;gBACF,GACCO,KAAK,CAAC,SAAUC,KAAK;oBACpB,IAAI,OAAOrB,YAAY,YAAY;wBACjC,IAAI;4BACF,oCAAoC;4BACpCI,QAAQC,OAAO,CAACL,QAAQQ,SAASa,OAAO,OACrCT,IAAI,CAAC,SAAUM,eAAe;gCAC7B,IAAIA,iBAAiB;oCACnBC,MAAMX,SAASa,OAAO;gCACxB,OAAO;oCACLf,OAAOe;gCACT;4BACF,GACCD,KAAK,CAAC,SAAUC,KAAK;gCACpBf,OAAOe;4BACT;wBACJ,EAAE,OAAOA,OAAO;4BACdf,OAAOe;wBACT;oBACF,OAAO,IAAIb,UAAUV,SAAS;wBAC5BqB,MAAMX,SAASa,OAAO;oBACxB,OAAO;wBACLf,OAAOe;oBACT;gBACF;YACJ;YAEA,SAASF,MAAMX,OAAe,EAAEa,KAAU,EAAER,QAAyB;gBACnE,IAAIS,QAAQ,OAAOvB,eAAe,aAAaA,WAAWS,SAASa,OAAOR,YAAYd;gBACtFwB,WAAW;oBACThB,aAAa,EAAEC;gBACjB,GAAGc;YACL;YAEAf,aAAa;QACf;IACF;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/fetch/createFetchWithRetry.ts"],"sourcesContent":["import { getGlobalThis } from '../runtime/getGlobalThis';\nimport { FetchLike } from './types';\n\ntype RequestDelayFunction = (attempt: number, error: Error | null, response: Response | null) => number;\ntype RequestRetryOnFunction = (\n attempt: number,\n error: Error | null,\n response: Response | null,\n) => boolean | Promise<boolean>;\n\nexport interface FetchWithRetryOptions {\n fetch?: FetchLike;\n retries?: number;\n retryDelay?: number | RequestDelayFunction;\n retryOn?: number[] | RequestRetryOnFunction;\n}\n\nexport function createFetchWithRetry({\n fetch = getGlobalThis().fetch,\n retries = 3,\n retryDelay = 1000,\n retryOn = [],\n}: FetchWithRetryOptions = {}): FetchLike {\n // https://github.com/jonbern/fetch-retry/blob/master/index.js\n\n return function fetchRetry(input: string | URL | Request, init?: RequestInit) {\n return new Promise(function (resolve, reject) {\n var wrappedFetch = function (attempt: number) {\n // As of node 18, this is no longer needed since node comes with native support for fetch:\n /* istanbul ignore next */\n var _input = typeof Request !== 'undefined' && input instanceof Request ? input.clone() : input;\n fetch(_input, init)\n .then(function (response) {\n if (Array.isArray(retryOn) && retryOn.indexOf(response.status) === -1) {\n resolve(response);\n } else if (typeof retryOn === 'function') {\n try {\n return Promise.resolve(retryOn(attempt, null, response))\n .then(function (retryOnResponse) {\n if (retryOnResponse) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n })\n .catch(reject);\n } catch (error) {\n reject(error);\n }\n } else {\n if (attempt < retries) {\n retry(attempt, null, response);\n } else {\n resolve(response);\n }\n }\n return;\n })\n .catch(function (error) {\n if (typeof retryOn === 'function') {\n try {\n // eslint-disable-next-line no-undef\n Promise.resolve(retryOn(attempt, error, null))\n .then(function (retryOnResponse) {\n if (retryOnResponse) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n })\n .catch(function (error) {\n reject(error);\n });\n } catch (error) {\n reject(error);\n }\n } else if (attempt < retries) {\n retry(attempt, error, null);\n } else {\n reject(error);\n }\n });\n };\n\n function retry(attempt: number, error: any, response: Response | null) {\n let delay = typeof retryDelay === 'function' ? retryDelay(attempt, error, response) : retryDelay;\n setTimeout(function () {\n wrappedFetch(++attempt);\n }, delay);\n }\n\n wrappedFetch(0);\n });\n };\n}\n"],"names":["getGlobalThis","createFetchWithRetry","fetch","retries","retryDelay","retryOn","fetchRetry","input","init","Promise","resolve","reject","wrappedFetch","attempt","_input","Request","clone","then","response","Array","isArray","indexOf","status","retryOnResponse","retry","catch","error","delay","setTimeout"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAiBzD,OAAO,SAASC,qBAAqB,EACnCC,QAAQF,gBAAgBE,KAAK,EAC7BC,UAAU,CAAC,EACXC,aAAa,IAAI,EACjBC,UAAU,EAAE,EACU,GAAG,CAAC,CAAC;IAC3B,8DAA8D;IAE9D,OAAO,SAASC,WAAWC,KAA6B,EAAEC,IAAkB;QAC1E,OAAO,IAAIC,QAAQ,SAAUC,OAAO,EAAEC,MAAM;YAC1C,IAAIC,eAAe,SAAUC,OAAe;gBAC1C,0FAA0F;gBAC1F,wBAAwB,GACxB,IAAIC,SAAS,OAAOC,YAAY,eAAeR,iBAAiBQ,UAAUR,MAAMS,KAAK,KAAKT;gBAC1FL,MAAMY,QAAQN,MACXS,IAAI,CAAC,SAAUC,QAAQ;oBACtB,IAAIC,MAAMC,OAAO,CAACf,YAAYA,QAAQgB,OAAO,CAACH,SAASI,MAAM,MAAM,CAAC,GAAG;wBACrEZ,QAAQQ;oBACV,OAAO,IAAI,OAAOb,YAAY,YAAY;wBACxC,IAAI;4BACF,OAAOI,QAAQC,OAAO,CAACL,QAAQQ,SAAS,MAAMK,WAC3CD,IAAI,CAAC,SAAUM,eAAe;gCAC7B,IAAIA,iBAAiB;oCACnBC,MAAMX,SAAS,MAAMK;gCACvB,OAAO;oCACLR,QAAQQ;gCACV;4BACF,GACCO,KAAK,CAACd;wBACX,EAAE,OAAOe,OAAO;4BACdf,OAAOe;wBACT;oBACF,OAAO;wBACL,IAAIb,UAAUV,SAAS;4BACrBqB,MAAMX,SAAS,MAAMK;wBACvB,OAAO;4BACLR,QAAQQ;wBACV;oBACF;oBACA;gBACF,GACCO,KAAK,CAAC,SAAUC,KAAK;oBACpB,IAAI,OAAOrB,YAAY,YAAY;wBACjC,IAAI;4BACF,oCAAoC;4BACpCI,QAAQC,OAAO,CAACL,QAAQQ,SAASa,OAAO,OACrCT,IAAI,CAAC,SAAUM,eAAe;gCAC7B,IAAIA,iBAAiB;oCACnBC,MAAMX,SAASa,OAAO;gCACxB,OAAO;oCACLf,OAAOe;gCACT;4BACF,GACCD,KAAK,CAAC,SAAUC,KAAK;gCACpBf,OAAOe;4BACT;wBACJ,EAAE,OAAOA,OAAO;4BACdf,OAAOe;wBACT;oBACF,OAAO,IAAIb,UAAUV,SAAS;wBAC5BqB,MAAMX,SAASa,OAAO;oBACxB,OAAO;wBACLf,OAAOe;oBACT;gBACF;YACJ;YAEA,SAASF,MAAMX,OAAe,EAAEa,KAAU,EAAER,QAAyB;gBACnE,IAAIS,QAAQ,OAAOvB,eAAe,aAAaA,WAAWS,SAASa,OAAOR,YAAYd;gBACtFwB,WAAW;oBACThB,aAAa,EAAEC;gBACjB,GAAGc;YACL;YAEAf,aAAa;QACf;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetch/dumpRequest.ts"],"sourcesContent":["export function dumpRequest({\n url,\n req = {},\n log = console.log,\n}: {\n url: string;\n req?: RequestInit;\n log?: (s: string) => void;\n}) {\n const { method = 'GET' } = req;\n let out = `-> ${method} ${url}\n${Array.from(new Headers(req.headers).entries())\n .map(([k, v]) => `${k}: ${v}`)\n .join('\\n')}\n`;\n\n let done: Promise<string> | undefined;\n if (req.body) {\n let hdr = new Headers(req.headers);\n let ct = hdr.get('content-type');\n if (ct === 'application/octet-stream') {\n // skip\n } else if (req.body instanceof ReadableStream) {\n const [a, b] = req.body.tee();\n req.body = a;\n const signal = req.signal;\n done = Promise.resolve().then(async () => {\n const reader = b.getReader();\n log(out);\n while (true) {\n if (signal?.aborted) {\n break;\n }\n\n let { done, value } = await reader.read();\n value instanceof Uint8Array && (value = new TextDecoder().decode(value));\n out += value;\n log(value);\n if (!done) {\n break;\n }\n }\n // maybe for archive\n out += `\\n`;\n return out;\n });\n } else {\n out += `\n${req.body}\n`;\n }\n log(out);\n }\n return done || Promise.resolve(out);\n}\n"],"names":["dumpRequest","url","req","log","console","method","out","Array","from","Headers","headers","entries","map","k","v","join","done","body","hdr","ct","get","ReadableStream","a","b","tee","signal","Promise","resolve","then","reader","getReader","aborted","value","read","Uint8Array","TextDecoder","decode"],"mappings":"AAAA,OAAO,SAASA,YAAY,EAC1BC,GAAG,EACHC,MAAM,CAAC,CAAC,EACRC,MAAMC,QAAQD,GAAG,EAKlB;IACC,MAAM,EAAEE,SAAS,KAAK,EAAE,GAAGH;IAC3B,IAAII,MAAM,CAAC,GAAG,EAAED,OAAO,CAAC,EAAEJ,IAAI;AAChC,EAAEM,MAAMC,IAAI,CAAC,IAAIC,QAAQP,IAAIQ,OAAO,EAAEC,OAAO,IAC1CC,GAAG,CAAC,CAAC,CAACC,GAAGC,EAAE,GAAK,CAAC,EAAED,EAAE,EAAE,EAAEC,EAAE,CAAC,EAC5BC,IAAI,CAAC,MAAM;AACd,CAAC;IAEC,IAAIC;IACJ,IAAId,IAAIe,IAAI,EAAE;QACZ,IAAIC,MAAM,IAAIT,QAAQP,IAAIQ,OAAO;QACjC,IAAIS,KAAKD,IAAIE,GAAG,CAAC;QACjB,IAAID,OAAO,4BAA4B;QACrC,OAAO;QACT,OAAO,IAAIjB,IAAIe,IAAI,YAAYI,gBAAgB;YAC7C,MAAM,CAACC,GAAGC,EAAE,GAAGrB,IAAIe,IAAI,CAACO,GAAG;YAC3BtB,IAAIe,IAAI,GAAGK;YACX,MAAMG,SAASvB,IAAIuB,MAAM;YACzBT,OAAOU,QAAQC,OAAO,GAAGC,IAAI,CAAC;gBAC5B,MAAMC,SAASN,EAAEO,SAAS;gBAC1B3B,IAAIG;gBACJ,MAAO,KAAM;oBACX,IAAImB,QAAQM,SAAS;wBACnB;oBACF;oBAEA,IAAI,EAAEf,IAAI,EAAEgB,KAAK,EAAE,GAAG,MAAMH,OAAOI,IAAI;oBACvCD,iBAAiBE,cAAeF,CAAAA,QAAQ,IAAIG,cAAcC,MAAM,CAACJ,MAAK;oBACtE1B,OAAO0B;oBACP7B,IAAI6B;oBACJ,IAAI,CAAChB,MAAM;wBACT;oBACF;gBACF;gBACA,oBAAoB;gBACpBV,OAAO,CAAC,EAAE,CAAC;gBACX,OAAOA;YACT;QACF,OAAO;YACLA,OAAO,CAAC;AACd,EAAEJ,IAAIe,IAAI,CAAC;AACX,CAAC;QACG;QACAd,IAAIG;IACN;IACA,OAAOU,QAAQU,QAAQC,OAAO,CAACrB;AACjC"}
|
|
1
|
+
{"version":3,"sources":["../../src/fetch/dumpRequest.ts"],"sourcesContent":["export function dumpRequest({\n url,\n req = {},\n log = console.log,\n}: {\n url: string;\n req?: RequestInit;\n log?: (s: string) => void;\n}) {\n const { method = 'GET' } = req;\n let out = `-> ${method} ${url}\n${Array.from(new Headers(req.headers).entries())\n .map(([k, v]) => `${k}: ${v}`)\n .join('\\n')}\n`;\n\n let done: Promise<string> | undefined;\n if (req.body) {\n let hdr = new Headers(req.headers);\n let ct = hdr.get('content-type');\n if (ct === 'application/octet-stream') {\n // skip\n } else if (req.body instanceof ReadableStream) {\n const [a, b] = req.body.tee();\n req.body = a;\n const signal = req.signal;\n done = Promise.resolve().then(async () => {\n const reader = b.getReader();\n log(out);\n while (true) {\n if (signal?.aborted) {\n break;\n }\n\n let { done, value } = await reader.read();\n value instanceof Uint8Array && (value = new TextDecoder().decode(value));\n out += value;\n log(value);\n if (!done) {\n break;\n }\n }\n // maybe for archive\n out += `\\n`;\n return out;\n });\n } else {\n out += `\n${req.body}\n`;\n }\n log(out);\n }\n return done || Promise.resolve(out);\n}\n"],"names":["dumpRequest","url","req","log","console","method","out","Array","from","Headers","headers","entries","map","k","v","join","done","body","hdr","ct","get","ReadableStream","a","b","tee","signal","Promise","resolve","then","reader","getReader","aborted","value","read","Uint8Array","TextDecoder","decode"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAO,SAASA,YAAY,EAC1BC,GAAG,EACHC,MAAM,CAAC,CAAC,EACRC,MAAMC,QAAQD,GAAG,EAKlB;IACC,MAAM,EAAEE,SAAS,KAAK,EAAE,GAAGH;IAC3B,IAAII,MAAM,CAAC,GAAG,EAAED,OAAO,CAAC,EAAEJ,IAAI;AAChC,EAAEM,MAAMC,IAAI,CAAC,IAAIC,QAAQP,IAAIQ,OAAO,EAAEC,OAAO,IAC1CC,GAAG,CAAC,CAAC,CAACC,GAAGC,EAAE,GAAK,CAAC,EAAED,EAAE,EAAE,EAAEC,EAAE,CAAC,EAC5BC,IAAI,CAAC,MAAM;AACd,CAAC;IAEC,IAAIC;IACJ,IAAId,IAAIe,IAAI,EAAE;QACZ,IAAIC,MAAM,IAAIT,QAAQP,IAAIQ,OAAO;QACjC,IAAIS,KAAKD,IAAIE,GAAG,CAAC;QACjB,IAAID,OAAO,4BAA4B;QACrC,OAAO;QACT,OAAO,IAAIjB,IAAIe,IAAI,YAAYI,gBAAgB;YAC7C,MAAM,CAACC,GAAGC,EAAE,GAAGrB,IAAIe,IAAI,CAACO,GAAG;YAC3BtB,IAAIe,IAAI,GAAGK;YACX,MAAMG,SAASvB,IAAIuB,MAAM;YACzBT,OAAOU,QAAQC,OAAO,GAAGC,IAAI,CAAC;gBAC5B,MAAMC,SAASN,EAAEO,SAAS;gBAC1B3B,IAAIG;gBACJ,MAAO,KAAM;oBACX,IAAImB,QAAQM,SAAS;wBACnB;oBACF;oBAEA,IAAI,EAAEf,IAAI,EAAEgB,KAAK,EAAE,GAAG,MAAMH,OAAOI,IAAI;oBACvCD,iBAAiBE,cAAeF,CAAAA,QAAQ,IAAIG,cAAcC,MAAM,CAACJ,MAAK;oBACtE1B,OAAO0B;oBACP7B,IAAI6B;oBACJ,IAAI,CAAChB,MAAM;wBACT;oBACF;gBACF;gBACA,oBAAoB;gBACpBV,OAAO,CAAC,EAAE,CAAC;gBACX,OAAOA;YACT;QACF,OAAO;YACLA,OAAO,CAAC;AACd,EAAEJ,IAAIe,IAAI,CAAC;AACX,CAAC;QACG;QACAd,IAAIG;IACN;IACA,OAAOU,QAAQU,QAAQC,OAAO,CAACrB;AACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetch/dumpResponse.ts"],"sourcesContent":["export async function dumpResponse({\n res,\n url,\n req,\n log = console.log,\n}: {\n res: Response;\n url: string;\n req: RequestInit;\n log?: (s: string) => void;\n}) {\n let out = `<- ${res.status} ${res.statusText} ${req.method} ${url}\n${Array.from(res.headers.entries())\n .map(([k, v]) => `${k}: ${v}`)\n .join('\\n')}\n `;\n let contentType = res.headers.get('content-type');\n // TODO text/event-stream\n if (contentType?.includes('application/json') || contentType?.includes('text/plain')) {\n const body = await res.text();\n out += `\\n${body}\\n`;\n res = new Response(body, res);\n }\n\n log(out);\n\n return res;\n}\n"],"names":["dumpResponse","res","url","req","log","console","out","status","statusText","method","Array","from","headers","entries","map","k","v","join","contentType","get","includes","body","text","Response"],"mappings":"AAAA,OAAO,eAAeA,aAAa,EACjCC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,MAAMC,QAAQD,GAAG,EAMlB;IACC,IAAIE,MAAM,CAAC,GAAG,EAAEL,IAAIM,MAAM,CAAC,CAAC,EAAEN,IAAIO,UAAU,CAAC,CAAC,EAAEL,IAAIM,MAAM,CAAC,CAAC,EAAEP,IAAI;AACpE,EAAEQ,MAAMC,IAAI,CAACV,IAAIW,OAAO,CAACC,OAAO,IAC7BC,GAAG,CAAC,CAAC,CAACC,GAAGC,EAAE,GAAK,CAAC,EAAED,EAAE,EAAE,EAAEC,EAAE,CAAC,EAC5BC,IAAI,CAAC,MAAM;GACX,CAAC;IACF,IAAIC,cAAcjB,IAAIW,OAAO,CAACO,GAAG,CAAC;IAClC,yBAAyB;IACzB,IAAID,aAAaE,SAAS,uBAAuBF,aAAaE,SAAS,eAAe;QACpF,MAAMC,OAAO,MAAMpB,IAAIqB,IAAI;QAC3BhB,OAAO,CAAC,EAAE,EAAEe,KAAK,EAAE,CAAC;QACpBpB,MAAM,IAAIsB,SAASF,MAAMpB;IAC3B;IAEAG,IAAIE;IAEJ,OAAOL;AACT"}
|
|
1
|
+
{"version":3,"sources":["../../src/fetch/dumpResponse.ts"],"sourcesContent":["export async function dumpResponse({\n res,\n url,\n req,\n log = console.log,\n}: {\n res: Response;\n url: string;\n req: RequestInit;\n log?: (s: string) => void;\n}) {\n let out = `<- ${res.status} ${res.statusText} ${req.method} ${url}\n${Array.from(res.headers.entries())\n .map(([k, v]) => `${k}: ${v}`)\n .join('\\n')}\n `;\n let contentType = res.headers.get('content-type');\n // TODO text/event-stream\n if (contentType?.includes('application/json') || contentType?.includes('text/plain')) {\n const body = await res.text();\n out += `\\n${body}\\n`;\n res = new Response(body, res);\n }\n\n log(out);\n\n return res;\n}\n"],"names":["dumpResponse","res","url","req","log","console","out","status","statusText","method","Array","from","headers","entries","map","k","v","join","contentType","get","includes","body","text","Response"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAAA,OAAO,eAAeA,aAAa,EACjCC,GAAG,EACHC,GAAG,EACHC,GAAG,EACHC,MAAMC,QAAQD,GAAG,EAMlB;IACC,IAAIE,MAAM,CAAC,GAAG,EAAEL,IAAIM,MAAM,CAAC,CAAC,EAAEN,IAAIO,UAAU,CAAC,CAAC,EAAEL,IAAIM,MAAM,CAAC,CAAC,EAAEP,IAAI;AACpE,EAAEQ,MAAMC,IAAI,CAACV,IAAIW,OAAO,CAACC,OAAO,IAC7BC,GAAG,CAAC,CAAC,CAACC,GAAGC,EAAE,GAAK,CAAC,EAAED,EAAE,EAAE,EAAEC,EAAE,CAAC,EAC5BC,IAAI,CAAC,MAAM;GACX,CAAC;IACF,IAAIC,cAAcjB,IAAIW,OAAO,CAACO,GAAG,CAAC;IAClC,yBAAyB;IACzB,IAAID,aAAaE,SAAS,uBAAuBF,aAAaE,SAAS,eAAe;QACpF,MAAMC,OAAO,MAAMpB,IAAIqB,IAAI;QAC3BhB,OAAO,CAAC,EAAE,EAAEe,KAAK,EAAE,CAAC;QACpBpB,MAAM,IAAIsB,SAASF,MAAMpB;IAC3B;IAEAG,IAAIE;IAEJ,OAAOL;AACT"}
|
package/lib/fetch/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetch/index.ts"],"sourcesContent":["export type * from './types';\nexport { createFetchWith } from './createFetchWith';\nexport { createFetchWithLogging } from './createFetchWithLogging';\nexport { dumpRequest } from './dumpRequest';\nexport { dumpResponse } from './dumpResponse';\nexport { createFetchWithRetry, type FetchWithRetryOptions } from './createFetchWithRetry';\n"],"names":["createFetchWith","createFetchWithLogging","dumpRequest","dumpResponse","createFetchWithRetry"],"mappings":"AACA,SAASA,eAAe,QAAQ,oBAAoB;AACpD,SAASC,sBAAsB,QAAQ,2BAA2B;AAClE,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,oBAAoB,QAAoC,yBAAyB"}
|
|
1
|
+
{"version":3,"sources":["../../src/fetch/index.ts"],"sourcesContent":["export type * from './types';\nexport { createFetchWith } from './createFetchWith';\nexport { createFetchWithLogging } from './createFetchWithLogging';\nexport { dumpRequest } from './dumpRequest';\nexport { dumpResponse } from './dumpResponse';\nexport { createFetchWithRetry, type FetchWithRetryOptions } from './createFetchWithRetry';\n"],"names":["createFetchWith","createFetchWithLogging","dumpRequest","dumpResponse","createFetchWithRetry"],"rangeMappings":";;;;","mappings":"AACA,SAASA,eAAe,QAAQ,oBAAoB;AACpD,SAASC,sBAAsB,QAAQ,2BAA2B;AAClE,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,oBAAoB,QAAoC,yBAAyB"}
|
package/lib/fetch/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fetch/types.ts"],"sourcesContent":["export type FetchLike<R extends RequestInit = RequestInit> = (\n url: string | URL | Request,\n init?: R,\n) => Promise<Response>;\n"],"names":[],"mappings":"AAAA,WAGuB"}
|
|
1
|
+
{"version":3,"sources":["../../src/fetch/types.ts"],"sourcesContent":["export type FetchLike<R extends RequestInit = RequestInit> = (\n url: string | URL | Request,\n init?: R,\n) => Promise<Response>;\n"],"names":[],"rangeMappings":"","mappings":"AAAA,WAGuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/i18n/createTranslate.ts"],"sourcesContent":["import { get } from '../objects/get';\nimport type { ObjectPathLike } from '../objects/parseObjectPath';\nimport { renderTemplate } from '../strings/renderTemplate';\n\nexport interface Translate<T extends object> {\n /** Get/Set the language key */\n locale(lang?: string): string;\n\n /** Define the dict of translations for a language */\n dict(lang: string, dict: T): void;\n\n /** Get the dict of translations for a language */\n dict(lang: string): T;\n\n /** Retrieve a translation segment for the current language */\n t<X extends Record<string, any> | any[]>(key: ObjectPathLike, params?: X, lang?: string): string;\n}\n\nexport function createTranslate<T extends object>(obj?: Record<string, T>): Translate<T> {\n let locale = '';\n const tree = obj || {};\n // en-US -> en-US,en\n const keyOfDict = (s: string | string[]) => {\n if (Array.isArray(s)) {\n return s;\n }\n const sp = s.split(/[_-]/);\n if (sp.length > 1) {\n return [s, sp[0]];\n }\n return [s];\n };\n return {\n locale(lang) {\n return (locale = lang || locale);\n },\n\n dict: ((lang, dict?) => {\n if (dict) {\n tree[lang] = Object.assign(tree[lang] || {}, dict);\n return;\n }\n return tree[lang];\n }) as Translate<T>['dict'],\n\n t(key, params, lang) {\n let val: any;\n for (const k of keyOfDict(lang || locale)) {\n val = get(tree[k], key, '');\n if (val) {\n break;\n }\n }\n if (process.env.NODE_ENV === 'development') {\n if (val == null) {\n console.error(\n `[Translate] Missing the \"${[].concat(key as any).join('.')}\" key within the \"${\n lang || locale\n }\" dictionary`,\n );\n return;\n }\n }\n if (typeof val === 'function') return val(params);\n if (typeof val === 'string') return renderTemplate(val, params, 'common');\n return val;\n },\n };\n}\n"],"names":["get","renderTemplate","createTranslate","obj","locale","tree","keyOfDict","s","Array","isArray","sp","split","length","lang","dict","Object","assign","t","key","params","val","k","process","env","NODE_ENV","console","error","concat","join"],"mappings":"AAAA,SAASA,GAAG,QAAQ,iBAAiB;AAErC,SAASC,cAAc,QAAQ,4BAA4B;AAgB3D,OAAO,SAASC,gBAAkCC,GAAuB;IACvE,IAAIC,SAAS;IACb,MAAMC,OAAOF,OAAO,CAAC;IACrB,oBAAoB;IACpB,MAAMG,YAAY,CAACC;QACjB,IAAIC,MAAMC,OAAO,CAACF,IAAI;YACpB,OAAOA;QACT;QACA,MAAMG,KAAKH,EAAEI,KAAK,CAAC;QACnB,IAAID,GAAGE,MAAM,GAAG,GAAG;YACjB,OAAO;gBAACL;gBAAGG,EAAE,CAAC,EAAE;aAAC;QACnB;QACA,OAAO;YAACH;SAAE;IACZ;IACA,OAAO;QACLH,QAAOS,IAAI;YACT,OAAQT,SAASS,QAAQT;QAC3B;QAEAU,MAAO,CAACD,MAAMC;YACZ,IAAIA,MAAM;gBACRT,IAAI,CAACQ,KAAK,GAAGE,OAAOC,MAAM,CAACX,IAAI,CAACQ,KAAK,IAAI,CAAC,GAAGC;gBAC7C;YACF;YACA,OAAOT,IAAI,CAACQ,KAAK;QACnB;QAEAI,GAAEC,GAAG,EAAEC,MAAM,EAAEN,IAAI;YACjB,IAAIO;YACJ,KAAK,MAAMC,KAAKf,UAAUO,QAAQT,QAAS;gBACzCgB,MAAMpB,IAAIK,IAAI,CAACgB,EAAE,EAAEH,KAAK;gBACxB,IAAIE,KAAK;oBACP;gBACF;YACF;YACA,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;gBAC1C,IAAIJ,OAAO,MAAM;oBACfK,QAAQC,KAAK,CACX,CAAC,yBAAyB,EAAE,EAAE,CAACC,MAAM,CAACT,KAAYU,IAAI,CAAC,KAAK,kBAAkB,EAC5Ef,QAAQT,OACT,YAAY,CAAC;oBAEhB;gBACF;YACF;YACA,IAAI,OAAOgB,QAAQ,YAAY,OAAOA,IAAID;YAC1C,IAAI,OAAOC,QAAQ,UAAU,OAAOnB,eAAemB,KAAKD,QAAQ;YAChE,OAAOC;QACT;IACF;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/i18n/createTranslate.ts"],"sourcesContent":["import { get } from '../objects/get';\nimport type { ObjectPathLike } from '../objects/parseObjectPath';\nimport { renderTemplate } from '../strings/renderTemplate';\n\nexport interface Translate<T extends object> {\n /** Get/Set the language key */\n locale(lang?: string): string;\n\n /** Define the dict of translations for a language */\n dict(lang: string, dict: T): void;\n\n /** Get the dict of translations for a language */\n dict(lang: string): T;\n\n /** Retrieve a translation segment for the current language */\n t<X extends Record<string, any> | any[]>(key: ObjectPathLike, params?: X, lang?: string): string;\n}\n\nexport function createTranslate<T extends object>(obj?: Record<string, T>): Translate<T> {\n let locale = '';\n const tree = obj || {};\n // en-US -> en-US,en\n const keyOfDict = (s: string | string[]) => {\n if (Array.isArray(s)) {\n return s;\n }\n const sp = s.split(/[_-]/);\n if (sp.length > 1) {\n return [s, sp[0]];\n }\n return [s];\n };\n return {\n locale(lang) {\n return (locale = lang || locale);\n },\n\n dict: ((lang, dict?) => {\n if (dict) {\n tree[lang] = Object.assign(tree[lang] || {}, dict);\n return;\n }\n return tree[lang];\n }) as Translate<T>['dict'],\n\n t(key, params, lang) {\n let val: any;\n for (const k of keyOfDict(lang || locale)) {\n val = get(tree[k], key, '');\n if (val) {\n break;\n }\n }\n if (process.env.NODE_ENV === 'development') {\n if (val == null) {\n console.error(\n `[Translate] Missing the \"${[].concat(key as any).join('.')}\" key within the \"${\n lang || locale\n }\" dictionary`,\n );\n return;\n }\n }\n if (typeof val === 'function') return val(params);\n if (typeof val === 'string') return renderTemplate(val, params, 'common');\n return val;\n },\n };\n}\n"],"names":["get","renderTemplate","createTranslate","obj","locale","tree","keyOfDict","s","Array","isArray","sp","split","length","lang","dict","Object","assign","t","key","params","val","k","process","env","NODE_ENV","console","error","concat","join"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,GAAG,QAAQ,iBAAiB;AAErC,SAASC,cAAc,QAAQ,4BAA4B;AAgB3D,OAAO,SAASC,gBAAkCC,GAAuB;IACvE,IAAIC,SAAS;IACb,MAAMC,OAAOF,OAAO,CAAC;IACrB,oBAAoB;IACpB,MAAMG,YAAY,CAACC;QACjB,IAAIC,MAAMC,OAAO,CAACF,IAAI;YACpB,OAAOA;QACT;QACA,MAAMG,KAAKH,EAAEI,KAAK,CAAC;QACnB,IAAID,GAAGE,MAAM,GAAG,GAAG;YACjB,OAAO;gBAACL;gBAAGG,EAAE,CAAC,EAAE;aAAC;QACnB;QACA,OAAO;YAACH;SAAE;IACZ;IACA,OAAO;QACLH,QAAOS,IAAI;YACT,OAAQT,SAASS,QAAQT;QAC3B;QAEAU,MAAO,CAACD,MAAMC;YACZ,IAAIA,MAAM;gBACRT,IAAI,CAACQ,KAAK,GAAGE,OAAOC,MAAM,CAACX,IAAI,CAACQ,KAAK,IAAI,CAAC,GAAGC;gBAC7C;YACF;YACA,OAAOT,IAAI,CAACQ,KAAK;QACnB;QAEAI,GAAEC,GAAG,EAAEC,MAAM,EAAEN,IAAI;YACjB,IAAIO;YACJ,KAAK,MAAMC,KAAKf,UAAUO,QAAQT,QAAS;gBACzCgB,MAAMpB,IAAIK,IAAI,CAACgB,EAAE,EAAEH,KAAK;gBACxB,IAAIE,KAAK;oBACP;gBACF;YACF;YACA,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;gBAC1C,IAAIJ,OAAO,MAAM;oBACfK,QAAQC,KAAK,CACX,CAAC,yBAAyB,EAAE,EAAE,CAACC,MAAM,CAACT,KAAYU,IAAI,CAAC,KAAK,kBAAkB,EAC5Ef,QAAQT,OACT,YAAY,CAAC;oBAEhB;gBACF;YACF;YACA,IAAI,OAAOgB,QAAQ,YAAY,OAAOA,IAAID;YAC1C,IAAI,OAAOC,QAAQ,UAAU,OAAOnB,eAAemB,KAAKD,QAAQ;YAChE,OAAOC;QACT;IACF;AACF"}
|
package/lib/index.js
CHANGED
|
@@ -53,6 +53,7 @@ export { createTranslate } from './i18n/createTranslate.js';
|
|
|
53
53
|
export { isBuffer } from './io/isBuffer.js';
|
|
54
54
|
export { isTransferable } from './io/isTransferable.js';
|
|
55
55
|
export { ArrayBuffers } from './io/ArrayBuffers.js';
|
|
56
|
+
export { ByteBuffer } from './io/ByteBuffer.js';
|
|
56
57
|
export { Buffer } from './io/Buffer.js';
|
|
57
58
|
export { parseDataUri } from './io/parseDataUri.js';
|
|
58
59
|
// browser
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// arrays\nexport {\n firstOfMaybeArray,\n lastOfMaybeArray,\n arrayOfMaybeArray,\n objectOfMaybeArray,\n type MaybeArray,\n} from './arrays/MaybeArray';\nexport { arrayFromAsync } from './arrays/arrayFromAsync';\n\n// object\nexport { get } from './objects/get';\nexport { set } from './objects/set';\nexport { parseObjectPath } from './objects/parseObjectPath';\nexport { computeIfAbsent } from './objects/computeIfAbsent';\nexport { merge, type MergeOptions } from './objects/merge';\n\n// async\nexport { createLazyPromise, type LazyPromise } from './asyncs/createLazyPromise';\nexport { setAsyncInterval, clearAsyncInterval } from './asyncs/AsyncInterval';\nexport { type MaybePromise } from './asyncs/MaybePromise';\n// async - iterator\nexport { createAsyncIterator } from './asyncs/createAsyncIterator';\nexport { firstOfAsyncIterator } from './asyncs/firstOfAsyncIterator';\nexport { nextOfAsyncIterator } from './asyncs/nextOfAsyncIterator';\nexport { isIterator } from './asyncs/isIterator';\n\nexport { sleep } from './asyncs/sleep';\nexport { timeout, TimeoutError } from './asyncs/timeout';\nexport { isPromise } from './asyncs/isPromise';\n// export * from './async/promiseOfCallback';\n\n// langs\nexport { shallowEqual } from './langs/shallowEqual';\nexport { deepEqual } from './langs/deepEqual';\nexport { deepFreeze } from './langs/deepFreeze';\nexport { classOf } from './langs/classOf';\nexport { shallowClone } from './langs/shallowClone';\nexport { isClass } from './langs/isClass';\nexport { isDefined } from './langs/isDefined';\nexport { isEmptyObject } from './langs/isEmptyObject';\nexport { isPlainObject } from './langs/isPlainObject';\nexport { parseBoolean } from './langs/parseBoolean';\nexport { maybeFunction, type MaybeFunction } from './langs/MaybeFunction';\nexport { memoize } from './langs/memoize';\nexport { mixin } from './langs/mixin';\nexport type { MixinFunction, MixinInstance, MixinReturnValue } from './langs/mixin';\n\nexport { AsyncCloser } from './runtime/AsyncCloser';\nexport { Closer } from './runtime/Closer';\n\nexport { isUUID } from './validations/isUUID';\nexport { parseTimestamp } from './validations/parseTimestamp';\n\n// modules\nexport { parseModuleId, type ParsedModuleId } from './modules/parseModuleId';\nexport { isModule, type Module } from './modules/isModule';\n\n// logging\nexport { type Logger, type LogLevel } from './logging/Logger';\nexport { createLogger } from './logging/createLogger';\nexport { createNoopLogger } from './logging/createNoopLogger';\nexport { createChildLogger } from './logging/createChildLogger';\n\n// strings\nexport { pascalCase, camelCase } from './strings/camelCase';\nexport { renderTemplate } from './strings/renderTemplate';\nexport { formatBytes } from './strings/formatBytes';\n\n// i18n\nexport { createTranslate } from './i18n/createTranslate';\n\n// io\nexport { isBuffer } from './io/isBuffer';\nexport { isTransferable } from './io/isTransferable';\nexport { ArrayBuffers } from './io/ArrayBuffers';\nexport { Buffer } from './io/Buffer';\nexport { parseDataUri, type ParsedDataUri } from './io/parseDataUri';\nexport type { AbstractEncoding } from './io/AbstractEncoding';\n\n// browser\nexport { copy } from './browsers/copy';\nexport { download } from './browsers/download';\nexport { loadScripts, loadStyles } from './browsers/loaders';\nexport { getFileFromDataTransfer } from './browsers/getFileFromDataTransfer';\n\n// polyfills\nexport { getGlobalThis } from './runtime/getGlobalThis';\nexport { structuredClone } from './runtime/structuredClone';\n\n// crypto\nexport { randomUUID } from './crypto/randomUUID';\nexport { getRandomValues } from './crypto/getRandomValues';\nexport { sha1, sha256, sha384, sha512, hmac, type DigestOptions } from './crypto/hashing';\nexport { md5 } from './crypto/md5';\nexport { hex } from './crypto/base';\nexport { isULID, createULID, ulid, parseULID } from './crypto/ulid';\nexport { PEM } from './crypto/pem/pem';\n\n// math\nexport { createRandom } from './maths/random';\nexport { clamp } from './maths/clamp';\n\n// network\nexport {\n type FetchLike,\n createFetchWith,\n createFetchWithLogging,\n dumpResponse,\n dumpRequest,\n createFetchWithRetry,\n type FetchWithRetryOptions,\n} from './fetch';\n\n// bundled\nexport { default as ms } from './libs/ms';\n\n// error\nexport { Errors, DetailError, type ErrorDetail, type ErrorDetailInit } from './errors/Errors';\n// http\nexport { getHttpStatusText, isRetryableHttpStatus } from './fetch/HttpStatus';\n\nexport type * from './types';\n"],"names":["firstOfMaybeArray","lastOfMaybeArray","arrayOfMaybeArray","objectOfMaybeArray","arrayFromAsync","get","set","parseObjectPath","computeIfAbsent","merge","createLazyPromise","setAsyncInterval","clearAsyncInterval","createAsyncIterator","firstOfAsyncIterator","nextOfAsyncIterator","isIterator","sleep","timeout","TimeoutError","isPromise","shallowEqual","deepEqual","deepFreeze","classOf","shallowClone","isClass","isDefined","isEmptyObject","isPlainObject","parseBoolean","maybeFunction","memoize","mixin","AsyncCloser","Closer","isUUID","parseTimestamp","parseModuleId","isModule","createLogger","createNoopLogger","createChildLogger","pascalCase","camelCase","renderTemplate","formatBytes","createTranslate","isBuffer","isTransferable","ArrayBuffers","Buffer","parseDataUri","copy","download","loadScripts","loadStyles","getFileFromDataTransfer","getGlobalThis","structuredClone","randomUUID","getRandomValues","sha1","sha256","sha384","sha512","hmac","md5","hex","isULID","createULID","ulid","parseULID","PEM","createRandom","clamp","createFetchWith","createFetchWithLogging","dumpResponse","dumpRequest","createFetchWithRetry","default","ms","Errors","DetailError","getHttpStatusText","isRetryableHttpStatus"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// arrays\nexport {\n firstOfMaybeArray,\n lastOfMaybeArray,\n arrayOfMaybeArray,\n objectOfMaybeArray,\n type MaybeArray,\n} from './arrays/MaybeArray';\nexport { arrayFromAsync } from './arrays/arrayFromAsync';\n\n// object\nexport { get } from './objects/get';\nexport { set } from './objects/set';\nexport { parseObjectPath } from './objects/parseObjectPath';\nexport { computeIfAbsent } from './objects/computeIfAbsent';\nexport { merge, type MergeOptions } from './objects/merge';\n\n// async\nexport { createLazyPromise, type LazyPromise } from './asyncs/createLazyPromise';\nexport { setAsyncInterval, clearAsyncInterval } from './asyncs/AsyncInterval';\nexport { type MaybePromise } from './asyncs/MaybePromise';\n// async - iterator\nexport { createAsyncIterator } from './asyncs/createAsyncIterator';\nexport { firstOfAsyncIterator } from './asyncs/firstOfAsyncIterator';\nexport { nextOfAsyncIterator } from './asyncs/nextOfAsyncIterator';\nexport { isIterator } from './asyncs/isIterator';\n\nexport { sleep } from './asyncs/sleep';\nexport { timeout, TimeoutError } from './asyncs/timeout';\nexport { isPromise } from './asyncs/isPromise';\n// export * from './async/promiseOfCallback';\n\n// langs\nexport { shallowEqual } from './langs/shallowEqual';\nexport { deepEqual } from './langs/deepEqual';\nexport { deepFreeze } from './langs/deepFreeze';\nexport { classOf } from './langs/classOf';\nexport { shallowClone } from './langs/shallowClone';\nexport { isClass } from './langs/isClass';\nexport { isDefined } from './langs/isDefined';\nexport { isEmptyObject } from './langs/isEmptyObject';\nexport { isPlainObject } from './langs/isPlainObject';\nexport { parseBoolean } from './langs/parseBoolean';\nexport { maybeFunction, type MaybeFunction } from './langs/MaybeFunction';\nexport { memoize } from './langs/memoize';\nexport { mixin } from './langs/mixin';\nexport type { MixinFunction, MixinInstance, MixinReturnValue } from './langs/mixin';\n\nexport { AsyncCloser } from './runtime/AsyncCloser';\nexport { Closer } from './runtime/Closer';\n\nexport { isUUID } from './validations/isUUID';\nexport { parseTimestamp } from './validations/parseTimestamp';\n\n// modules\nexport { parseModuleId, type ParsedModuleId } from './modules/parseModuleId';\nexport { isModule, type Module } from './modules/isModule';\n\n// logging\nexport { type Logger, type LogLevel } from './logging/Logger';\nexport { createLogger } from './logging/createLogger';\nexport { createNoopLogger } from './logging/createNoopLogger';\nexport { createChildLogger } from './logging/createChildLogger';\n\n// strings\nexport { pascalCase, camelCase } from './strings/camelCase';\nexport { renderTemplate } from './strings/renderTemplate';\nexport { formatBytes } from './strings/formatBytes';\n\n// i18n\nexport { createTranslate } from './i18n/createTranslate';\n\n// io\nexport { isBuffer } from './io/isBuffer';\nexport { isTransferable } from './io/isTransferable';\nexport { ArrayBuffers } from './io/ArrayBuffers';\nexport { ByteBuffer } from './io/ByteBuffer';\nexport { Buffer } from './io/Buffer';\nexport { parseDataUri, type ParsedDataUri } from './io/parseDataUri';\nexport type { AbstractEncoding } from './io/AbstractEncoding';\n\n// browser\nexport { copy } from './browsers/copy';\nexport { download } from './browsers/download';\nexport { loadScripts, loadStyles } from './browsers/loaders';\nexport { getFileFromDataTransfer } from './browsers/getFileFromDataTransfer';\n\n// polyfills\nexport { getGlobalThis } from './runtime/getGlobalThis';\nexport { structuredClone } from './runtime/structuredClone';\n\n// crypto\nexport { randomUUID } from './crypto/randomUUID';\nexport { getRandomValues } from './crypto/getRandomValues';\nexport { sha1, sha256, sha384, sha512, hmac, type DigestOptions } from './crypto/hashing';\nexport { md5 } from './crypto/md5';\nexport { hex } from './crypto/base';\nexport { isULID, createULID, ulid, parseULID } from './crypto/ulid';\nexport { PEM } from './crypto/pem/pem';\n\n// math\nexport { createRandom } from './maths/random';\nexport { clamp } from './maths/clamp';\n\n// network\nexport {\n type FetchLike,\n createFetchWith,\n createFetchWithLogging,\n dumpResponse,\n dumpRequest,\n createFetchWithRetry,\n type FetchWithRetryOptions,\n} from './fetch';\n\n// bundled\nexport { default as ms } from './libs/ms';\n\n// error\nexport { Errors, DetailError, type ErrorDetail, type ErrorDetailInit } from './errors/Errors';\n// http\nexport { getHttpStatusText, isRetryableHttpStatus } from './fetch/HttpStatus';\n\nexport type * from './types';\n"],"names":["firstOfMaybeArray","lastOfMaybeArray","arrayOfMaybeArray","objectOfMaybeArray","arrayFromAsync","get","set","parseObjectPath","computeIfAbsent","merge","createLazyPromise","setAsyncInterval","clearAsyncInterval","createAsyncIterator","firstOfAsyncIterator","nextOfAsyncIterator","isIterator","sleep","timeout","TimeoutError","isPromise","shallowEqual","deepEqual","deepFreeze","classOf","shallowClone","isClass","isDefined","isEmptyObject","isPlainObject","parseBoolean","maybeFunction","memoize","mixin","AsyncCloser","Closer","isUUID","parseTimestamp","parseModuleId","isModule","createLogger","createNoopLogger","createChildLogger","pascalCase","camelCase","renderTemplate","formatBytes","createTranslate","isBuffer","isTransferable","ArrayBuffers","ByteBuffer","Buffer","parseDataUri","copy","download","loadScripts","loadStyles","getFileFromDataTransfer","getGlobalThis","structuredClone","randomUUID","getRandomValues","sha1","sha256","sha384","sha512","hmac","md5","hex","isULID","createULID","ulid","parseULID","PEM","createRandom","clamp","createFetchWith","createFetchWithLogging","dumpResponse","dumpRequest","createFetchWithRetry","default","ms","Errors","DetailError","getHttpStatusText","isRetryableHttpStatus"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAAS;AACT,SACEA,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,QAEb,sBAAsB;AAC7B,SAASC,cAAc,QAAQ,0BAA0B;AAEzD,SAAS;AACT,SAASC,GAAG,QAAQ,gBAAgB;AACpC,SAASC,GAAG,QAAQ,gBAAgB;AACpC,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SAASC,KAAK,QAA2B,kBAAkB;AAE3D,QAAQ;AACR,SAASC,iBAAiB,QAA0B,6BAA6B;AACjF,SAASC,gBAAgB,EAAEC,kBAAkB,QAAQ,yBAAyB;AAE9E,mBAAmB;AACnB,SAASC,mBAAmB,QAAQ,+BAA+B;AACnE,SAASC,oBAAoB,QAAQ,gCAAgC;AACrE,SAASC,mBAAmB,QAAQ,+BAA+B;AACnE,SAASC,UAAU,QAAQ,sBAAsB;AAEjD,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,OAAO,EAAEC,YAAY,QAAQ,mBAAmB;AACzD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,6CAA6C;AAE7C,QAAQ;AACR,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,UAAU,QAAQ,qBAAqB;AAChD,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,aAAa,QAA4B,wBAAwB;AAC1E,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,KAAK,QAAQ,gBAAgB;AAGtC,SAASC,WAAW,QAAQ,wBAAwB;AACpD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,cAAc,QAAQ,+BAA+B;AAE9D,UAAU;AACV,SAASC,aAAa,QAA6B,0BAA0B;AAC7E,SAASC,QAAQ,QAAqB,qBAAqB;AAI3D,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,iBAAiB,QAAQ,8BAA8B;AAEhE,UAAU;AACV,SAASC,UAAU,EAAEC,SAAS,QAAQ,sBAAsB;AAC5D,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,SAASC,WAAW,QAAQ,wBAAwB;AAEpD,OAAO;AACP,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,KAAK;AACL,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,MAAM,QAAQ,cAAc;AACrC,SAASC,YAAY,QAA4B,oBAAoB;AAGrE,UAAU;AACV,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,WAAW,EAAEC,UAAU,QAAQ,qBAAqB;AAC7D,SAASC,uBAAuB,QAAQ,qCAAqC;AAE7E,YAAY;AACZ,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,eAAe,QAAQ,4BAA4B;AAE5D,SAAS;AACT,SAASC,UAAU,QAAQ,sBAAsB;AACjD,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,IAAI,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,QAA4B,mBAAmB;AAC1F,SAASC,GAAG,QAAQ,eAAe;AACnC,SAASC,GAAG,QAAQ,gBAAgB;AACpC,SAASC,MAAM,EAAEC,UAAU,EAAEC,IAAI,EAAEC,SAAS,QAAQ,gBAAgB;AACpE,SAASC,GAAG,QAAQ,mBAAmB;AAEvC,OAAO;AACP,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,KAAK,QAAQ,gBAAgB;AAEtC,UAAU;AACV,SAEEC,eAAe,EACfC,sBAAsB,EACtBC,YAAY,EACZC,WAAW,EACXC,oBAAoB,QAEf,UAAU;AAEjB,UAAU;AACV,SAASC,WAAWC,EAAE,QAAQ,YAAY;AAE1C,QAAQ;AACR,SAASC,MAAM,EAAEC,WAAW,QAAgD,kBAAkB;AAC9F,OAAO;AACP,SAASC,iBAAiB,EAAEC,qBAAqB,QAAQ,qBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/AbstractEncoding.ts"],"sourcesContent":["/**\n * AbstractEncoding contract\n *\n * @see https://github.com/mafintosh/abstract-encoding\n */\nexport interface AbstractEncoding<T> {\n /**\n * encode a value to a buffer\n */\n encode(data: T, buffer?: ArrayBuffer, offset?: number): BufferSource;\n\n /**\n * decode data from buffer\n */\n decode(buffer: BufferSource, start?: number, end?: number): T;\n\n /**\n * byteLength of data\n */\n byteLength?: (data: T) => number;\n}\n"],"names":[],"mappings":"AAAA;;;;CAIC,GACD,WAeC"}
|
|
1
|
+
{"version":3,"sources":["../../src/io/AbstractEncoding.ts"],"sourcesContent":["/**\n * AbstractEncoding contract\n *\n * @see https://github.com/mafintosh/abstract-encoding\n */\nexport interface AbstractEncoding<T> {\n /**\n * encode a value to a buffer\n */\n encode(data: T, buffer?: ArrayBuffer, offset?: number): BufferSource;\n\n /**\n * decode data from buffer\n */\n decode(buffer: BufferSource, start?: number, end?: number): T;\n\n /**\n * byteLength of data\n */\n byteLength?: (data: T) => number;\n}\n"],"names":[],"rangeMappings":";;;;","mappings":"AAAA;;;;CAIC,GACD,WAeC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/ArrayBuffer.test-d.ts"],"sourcesContent":["import { expectTypeOf, test } from 'vitest';\nimport { ArrayBuffers } from './ArrayBuffers';\n\ntest('my types work properly', () => {\n expectTypeOf(ArrayBuffers.asView(Buffer, new Uint8Array())).toMatchTypeOf<Buffer>();\n});\n"],"names":["expectTypeOf","test","ArrayBuffers","asView","Buffer","Uint8Array","toMatchTypeOf"],"mappings":"AAAA,SAASA,YAAY,EAAEC,IAAI,QAAQ,SAAS;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAE9CD,KAAK,0BAA0B;IAC7BD,aAAaE,aAAaC,MAAM,CAACC,QAAQ,IAAIC,eAAeC,aAAa;AAC3E"}
|
|
1
|
+
{"version":3,"sources":["../../src/io/ArrayBuffer.test-d.ts"],"sourcesContent":["import { expectTypeOf, test } from 'vitest';\nimport { ArrayBuffers } from './ArrayBuffers';\n\ntest('my types work properly', () => {\n expectTypeOf(ArrayBuffers.asView(Buffer, new Uint8Array())).toMatchTypeOf<Buffer>();\n});\n"],"names":["expectTypeOf","test","ArrayBuffers","asView","Buffer","Uint8Array","toMatchTypeOf"],"rangeMappings":";;;;","mappings":"AAAA,SAASA,YAAY,EAAEC,IAAI,QAAQ,SAAS;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAE9CD,KAAK,0BAA0B;IAC7BD,aAAaE,aAAaC,MAAM,CAACC,QAAQ,IAAIC,eAAeC,aAAa;AAC3E"}
|
package/lib/io/ArrayBuffers.js
CHANGED
|
@@ -58,7 +58,10 @@ export class ArrayBuffers {
|
|
|
58
58
|
return this.toUint8Array(ArrayBuffers.from(v, 'hex'));
|
|
59
59
|
};
|
|
60
60
|
static resize = (v, newByteLength)=>{
|
|
61
|
-
if (
|
|
61
|
+
if (newByteLength === undefined || newByteLength === null) {
|
|
62
|
+
return v;
|
|
63
|
+
}
|
|
64
|
+
if ('resize' in v && v.resizable) {
|
|
62
65
|
v.resize(newByteLength);
|
|
63
66
|
return v;
|
|
64
67
|
}
|
|
@@ -229,6 +232,22 @@ export class ArrayBuffers {
|
|
|
229
232
|
return false;
|
|
230
233
|
}
|
|
231
234
|
};
|
|
235
|
+
// static truncate = (a: ArrayBufferLike, len?: number) => {
|
|
236
|
+
// if (len === 0) {
|
|
237
|
+
// return new ArrayBuffer(0);
|
|
238
|
+
// }
|
|
239
|
+
// if (!len) {
|
|
240
|
+
// return a;
|
|
241
|
+
// }
|
|
242
|
+
// if (a.byteLength > len) {
|
|
243
|
+
// return a.slice(0, len);
|
|
244
|
+
// } else if (a.byteLength < len) {
|
|
245
|
+
// let b = new Uint8Array(len);
|
|
246
|
+
// b.set(new Uint8Array(a));
|
|
247
|
+
// return b;
|
|
248
|
+
// }
|
|
249
|
+
// return a;
|
|
250
|
+
// };
|
|
232
251
|
static concat = (buffers, result, offset = 0)=>{
|
|
233
252
|
// https://stackoverflow.com/questions/10786128/appending-arraybuffers
|
|
234
253
|
const length = buffers.reduce((a, b)=>a + b.byteLength, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/ArrayBuffers.ts"],"sourcesContent":["import { classOf } from '../langs/classOf';\nimport { getGlobalThis } from '../runtime/getGlobalThis';\nimport { decodeBase64ToArrayBuffer, encodeArrayBufferToBase64 } from './base64';\nimport { isBuffer } from './isBuffer';\n\n/**\n * Various utils to work with {@link ArrayBuffer}\n *\n * @see https://github.com/tc39/proposal-arraybuffer-base64\n * @see https://github.com/tc39/proposal-resizablearraybuffer\n */\nexport interface ArrayBuffers {\n /**\n * isArrayBuffer check if the given value is an {@link ArrayBuffer}\n */\n isArrayBuffer(v: any): v is ArrayBuffer;\n\n /**\n * slice the given view with the given offset and length, will handle the {@link Buffer} as well\n *\n * @see {@link https://nodejs.org/api/buffer.html#bufslicestart-end Buffer.slice}\n */\n slice<T extends ArrayBufferView>(o: T, start?: number, end?: number): T;\n\n /**\n * asView convert the given value to given {@link TypedArray} view\n *\n * TypedArray can be {@link Buffer}, will avoid copy\n */\n asView<C extends ArrayBufferViewConstructor<unknown>>(\n TypedArray: C,\n v: BufferSource,\n byteOffset?: number,\n byteLength?: number,\n ): InstanceType<C>;\n\n /**\n * toString convert the given {@link BufferSource} to string\n */\n toString(v: BufferSource | string, encoding?: ToStringEncoding): string;\n\n /**\n * Returns true if encoding is the name of a supported character encoding, or false otherwise.\n */\n isEncoding(v?: string): v is ToStringEncoding;\n\n toJSON<T = any>(v: BufferSource | string, reviver?: (this: any, key: string, value: any) => any): T;\n\n /**\n * from convert the given value to {@link ArrayBuffer}\n */\n from(v: string | BufferSource, encoding?: ToStringEncoding): ArrayBuffer;\n\n from<C extends ArrayBufferViewConstructor<unknown>>(\n v: string | BufferSource,\n encoding: ToStringEncoding,\n TypedArray: C,\n ): C;\n\n /**\n * concat the given {@link BufferSource} to a new {@link ArrayBuffer}\n */\n concat(buffers: Array<BufferSource>, result?: ArrayBuffer, offset?: number): ArrayBuffer;\n\n fromBase64(v: string): Uint8Array;\n\n fromHex(v: string): Uint8Array;\n\n toBase64(v: BufferSource): string;\n\n toHex(v: BufferSource): string;\n\n resize(v: ArrayBuffer, newByteLength: number): ArrayBuffer;\n}\n\ntype ToStringEncoding =\n | 'ascii'\n | 'utf16le'\n // | 'utf-16le'\n | 'ucs2'\n | 'ucs-2'\n | 'base64'\n | 'base64url'\n | 'latin1'\n | 'binary'\n | 'utf8'\n | 'utf-8'\n | 'hex';\n\nexport class ArrayBuffers {\n static #nativeBufferAllowed: boolean = true;\n static #isBufferAvailable: undefined | boolean;\n\n static isNativeBufferAvailable() {\n // eslint-disable-next-line no-return-assign\n return (this.#isBufferAvailable ??= !(getGlobalThis().Buffer as any)?.isPollyfill?.());\n }\n\n static isNativeBufferAllowed() {\n return this.#nativeBufferAllowed && this.#isBufferAvailable;\n }\n\n static setNativeBufferAllowed(v: boolean) {\n this.#nativeBufferAllowed = v;\n }\n\n static isArrayBuffer = (v: any): v is ArrayBuffer => {\n return v instanceof ArrayBuffer;\n };\n\n static toArrayBuffer(v: BufferSource): ArrayBuffer {\n return v instanceof ArrayBuffer ? v : (v.buffer as ArrayBuffer);\n }\n\n static toUint8Array(v: BufferSource) {\n return ArrayBuffers.asView(Uint8Array, v);\n }\n\n static toBase64 = (v: BufferSource) => {\n if ('toBase64' in Uint8Array.prototype) {\n return this.toUint8Array(v).toBase64();\n }\n\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(ArrayBuffers.asView(Uint8Array, v)).toString('base64');\n }\n\n return encodeArrayBufferToBase64(this.toArrayBuffer(v));\n };\n\n static toHex = (v: BufferSource) => {\n if ('toHex' in Uint8Array.prototype) {\n return this.toUint8Array(v).toHex();\n }\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(ArrayBuffers.asView(Uint8Array, v)).toString('hex');\n }\n return ArrayBuffers.toString(v, 'hex');\n };\n\n static fromBase64 = (v: string) => {\n if ('fromBase64' in Uint8Array) {\n return Uint8Array.fromBase64(v);\n }\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(v, 'base64');\n }\n return this.toUint8Array(decodeBase64ToArrayBuffer(v));\n };\n\n static fromHex = (v: string) => {\n if ('fromHex' in Uint8Array) {\n return Uint8Array.fromHex(v);\n }\n return this.toUint8Array(ArrayBuffers.from(v, 'hex'));\n };\n\n static resize = (v: ArrayBuffer, newByteLength: number): ArrayBuffer => {\n if ('resize' in v) {\n (v as any).resize(newByteLength);\n return v;\n }\n\n const old = v;\n const newBuf = new ArrayBuffer(newByteLength);\n const oldView = new Uint8Array(old);\n const newView = new Uint8Array(newBuf);\n newView.set(oldView);\n return newBuf;\n };\n\n static slice = (o: TypedArray, start?: number, end?: number) => {\n // NodeJS Buffer slice is not the same as UInt8Array slice\n // https://nodejs.org/api/buffer.html#bufslicestart-end\n if (isBuffer(o)) {\n return Uint8Array.prototype.slice.call(o, start, end);\n }\n return o.slice(start, end);\n };\n\n static asView = <C extends ArrayBufferViewConstructor<unknown>, I extends InstanceType<C>>(\n TypedArray: C,\n v: BufferSource,\n byteOffset?: number,\n byteLength?: number,\n ): I => {\n if (v instanceof TypedArray && (byteOffset ?? 0) === 0 && byteLength === undefined) {\n return v as I;\n }\n if (ArrayBuffer.isView(v) || isBuffer(v)) {\n if (ArrayBuffers.isNativeBufferAllowed() && (TypedArray as any) === Buffer) {\n // new Buffer() is deprecated\n return Buffer.from(v.buffer, byteOffset, byteLength) as I;\n }\n return new TypedArray(v.buffer, v.byteOffset + (byteOffset ?? 0), byteLength ?? v.byteLength) as I;\n }\n return new TypedArray(v, byteOffset, byteLength) as I;\n };\n\n static toString = (buf: BufferSource | string, encoding: ToStringEncoding = 'utf8') => {\n // 'ascii' 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'\n if (typeof buf === 'string') {\n switch (encoding) {\n case 'base64':\n return btoa(buf);\n case 'utf-8':\n case 'utf8':\n return buf;\n default:\n throw new Error(`[ArrayBuffers.toString] Unsupported encoding for string: ${encoding}`);\n }\n }\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(ArrayBuffers.asView(Uint8Array, buf)).toString(encoding);\n }\n // reference\n // https://github.com/feross/buffer/blob/master/index.js\n switch (encoding) {\n case 'hex': {\n const view: Uint8Array = ArrayBuffers.asView(Uint8Array, buf);\n return [...view].map((b) => hexLookupTable[b]).join('');\n }\n case 'base64': {\n return encodeArrayBufferToBase64(ArrayBuffers.asView(Uint8Array, buf));\n }\n case 'utf8':\n // falls through\n case 'utf-8':\n return new TextDecoder().decode(buf as any);\n case 'ascii': {\n const view: Uint8Array = ArrayBuffers.asView(Uint8Array, buf);\n return String.fromCharCode(...view.map((v) => v & 0x7f));\n }\n case 'latin1':\n // falls through\n case 'binary': {\n const view: Uint8Array = ArrayBuffers.asView(Uint8Array, buf);\n return String.fromCharCode(...view);\n }\n case 'ucs2':\n // falls through\n case 'ucs-2':\n // case 'utf-16le':\n // falls through\n case 'utf16le': {\n const view: Uint8Array = ArrayBuffers.asView(Uint8Array, buf);\n let res = '';\n // If length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < view.length - 1; i += 2) {\n res += String.fromCharCode(view[i] + view[i + 1] * 256);\n }\n return res;\n }\n default:\n throw new Error(`[ArrayBuffers.toString] Unknown encoding: ${encoding}`);\n }\n };\n\n static toJSON = (v: BufferSource | string, reviver?: (this: any, key: string, value: any) => any) => {\n return JSON.parse(ArrayBuffers.toString(v), reviver);\n };\n\n static alloc = (size: number, fill?: string | number, encoding?: ToStringEncoding) => {\n if (fill !== undefined) {\n if (typeof fill === 'number') {\n return new Uint8Array(size).fill(fill);\n }\n // as cast\n // https://stackoverflow.com/questions/73994091\n return ArrayBuffers.asView(Uint8Array, ArrayBuffers.from(fill, encoding)).slice(0, size);\n }\n return new ArrayBuffer(size);\n };\n\n static from = (\n v: string | BufferSource | ArrayLike<number> | Iterable<number>,\n encoding: ToStringEncoding = 'utf8',\n view?: any,\n ): any => {\n if (view) {\n return this.asView(view, this.from(v, encoding));\n }\n if (!v) {\n return new ArrayBuffer(0);\n }\n if (typeof v === 'string') {\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(v, encoding);\n }\n\n switch (encoding) {\n case 'utf-8':\n // falls through\n case 'utf8':\n return new TextEncoder().encode(v).buffer;\n case 'base64':\n // replaceAll need higher version of nodejs\n return decodeBase64ToArrayBuffer(v.replace(/[^0-9a-zA-Z=+/_]/g, ''));\n case 'hex':\n return new Uint8Array(v.match(/.{1,2}/g)!.map((byte) => parseInt(byte, 16))).buffer;\n default:\n throw new Error(`[ArrayBuffers.from] Unknown encoding: ${encoding}`);\n }\n }\n if (v instanceof ArrayBuffer) {\n return v;\n }\n // lost length\n if (ArrayBuffer.isView(v) || isBuffer(v)) {\n if (v.byteOffset !== 0) {\n // return v.buffer.slice(v.byteOffset, v.byteOffset + v.byteLength)\n throw new Error('ArrayBuffers.from do not support view with offset');\n }\n return v.buffer;\n }\n if (Array.isArray(v)) {\n return new Uint8Array(v);\n }\n const type = classOf(v);\n throw new TypeError(`ArrayBuffers.from unsupported type ${type}`);\n };\n\n static isEncoding = (encoding?: string) => {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n // case 'utf-16le':\n return true;\n default:\n return false;\n }\n };\n\n static concat = (buffers: Array<BufferSource>, result?: ArrayBuffer, offset = 0) => {\n // https://stackoverflow.com/questions/10786128/appending-arraybuffers\n\n const length = buffers.reduce((a, b) => a + b.byteLength, 0);\n const r = result ? new Uint8Array(result) : new Uint8Array(length);\n for (const buffer of buffers) {\n if (!buffer?.byteLength) continue;\n let n: Uint8Array;\n if (buffer instanceof ArrayBuffer) {\n n = new Uint8Array(buffer);\n } else if (ArrayBuffer.isView(buffer)) {\n n = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n } else {\n throw new Error(`ArrayBuffers.concat unsupported type ${classOf(buffer)}`);\n }\n r.set(n, offset);\n offset += buffer.byteLength;\n }\n return r.buffer;\n };\n}\n\nexport type TypedArray =\n | Uint8Array\n | Uint8ClampedArray\n | Uint16Array\n | Uint32Array\n | Int8Array\n | Int16Array\n | Int32Array\n | BigUint64Array\n | BigInt64Array\n | Float32Array\n | Float64Array;\n\ntype ArrayBufferViewConstructor<T> = new (buffer: ArrayBufferLike, byteOffset?: number, byteLength?: number) => T;\n\nconst hexLookupTable = (function () {\n const alphabet = '0123456789abcdef';\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n})();\n\ndeclare global {\n interface ArrayBuffer {\n // resize(newByteLength: number): void;\n }\n\n interface Uint8Array {\n toBase64(): string;\n\n toHex(): string;\n }\n\n interface Uint8ArrayConstructor {\n fromBase64(v: string): Uint8Array;\n\n fromHex(v: string): Uint8Array;\n }\n}\n"],"names":["classOf","getGlobalThis","decodeBase64ToArrayBuffer","encodeArrayBufferToBase64","isBuffer","ArrayBuffers","nativeBufferAllowed","isBufferAvailable","isNativeBufferAvailable","Buffer","isPollyfill","isNativeBufferAllowed","setNativeBufferAllowed","v","isArrayBuffer","ArrayBuffer","toArrayBuffer","buffer","toUint8Array","asView","Uint8Array","toBase64","prototype","from","toString","toHex","fromBase64","fromHex","resize","newByteLength","old","newBuf","oldView","newView","set","slice","o","start","end","call","TypedArray","byteOffset","byteLength","undefined","isView","buf","encoding","btoa","Error","view","map","b","hexLookupTable","join","TextDecoder","decode","String","fromCharCode","res","i","length","toJSON","reviver","JSON","parse","alloc","size","fill","TextEncoder","encode","replace","match","byte","parseInt","Array","isArray","type","TypeError","isEncoding","toLowerCase","concat","buffers","result","offset","reduce","a","r","n","alphabet","table","i16","j"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/io/ArrayBuffers.ts"],"sourcesContent":["import { classOf } from '../langs/classOf';\nimport { getGlobalThis } from '../runtime/getGlobalThis';\nimport { decodeBase64ToArrayBuffer, encodeArrayBufferToBase64 } from './base64';\nimport { isBuffer } from './isBuffer';\n\n/**\n * Various utils to work with {@link ArrayBuffer}\n *\n * @see https://github.com/tc39/proposal-arraybuffer-base64\n * @see https://github.com/tc39/proposal-resizablearraybuffer\n */\nexport interface ArrayBuffers {\n /**\n * isArrayBuffer check if the given value is an {@link ArrayBuffer}\n */\n isArrayBuffer(v: any): v is ArrayBuffer;\n\n /**\n * slice the given view with the given offset and length, will handle the {@link Buffer} as well\n *\n * @see {@link https://nodejs.org/api/buffer.html#bufslicestart-end Buffer.slice}\n */\n slice<T extends ArrayBufferView>(o: T, start?: number, end?: number): T;\n\n /**\n * asView convert the given value to given {@link TypedArray} view\n *\n * TypedArray can be {@link Buffer}, will avoid copy\n */\n asView<C extends ArrayBufferViewConstructor<unknown>>(\n TypedArray: C,\n v: BufferSource,\n byteOffset?: number,\n byteLength?: number,\n ): InstanceType<C>;\n\n /**\n * toString convert the given {@link BufferSource} to string\n */\n toString(v: BufferSource | string, encoding?: ToStringEncoding): string;\n\n /**\n * Returns true if encoding is the name of a supported character encoding, or false otherwise.\n */\n isEncoding(v?: string): v is ToStringEncoding;\n\n toJSON<T = any>(v: BufferSource | string, reviver?: (this: any, key: string, value: any) => any): T;\n\n /**\n * from convert the given value to {@link ArrayBuffer}\n */\n from(v: string | BufferSource, encoding?: ToStringEncoding): ArrayBuffer;\n\n from<C extends ArrayBufferViewConstructor<unknown>>(\n v: string | BufferSource,\n encoding: ToStringEncoding,\n TypedArray: C,\n ): C;\n\n /**\n * concat the given {@link BufferSource} to a new {@link ArrayBuffer}\n */\n concat(buffers: Array<BufferSource>, result?: ArrayBuffer, offset?: number): ArrayBuffer;\n\n fromBase64(v: string): Uint8Array;\n\n fromHex(v: string): Uint8Array;\n\n toBase64(v: BufferSource): string;\n\n toHex(v: BufferSource): string;\n\n resize(v: ArrayBuffer, newByteLength: number): ArrayBuffer;\n\n // truncate(v: ArrayBufferLike, len?: number): ArrayBufferLike;\n}\n\ntype ToStringEncoding =\n | 'ascii'\n | 'utf16le'\n // | 'utf-16le'\n | 'ucs2'\n | 'ucs-2'\n | 'base64'\n | 'base64url'\n | 'latin1'\n | 'binary'\n | 'utf8'\n | 'utf-8'\n | 'hex';\n\nexport class ArrayBuffers {\n static #nativeBufferAllowed: boolean = true;\n static #isBufferAvailable: undefined | boolean;\n\n static isNativeBufferAvailable() {\n // eslint-disable-next-line no-return-assign\n return (this.#isBufferAvailable ??= !(getGlobalThis().Buffer as any)?.isPollyfill?.());\n }\n\n static isNativeBufferAllowed() {\n return this.#nativeBufferAllowed && this.#isBufferAvailable;\n }\n\n static setNativeBufferAllowed(v: boolean) {\n this.#nativeBufferAllowed = v;\n }\n\n static isArrayBuffer = (v: any): v is ArrayBuffer => {\n return v instanceof ArrayBuffer;\n };\n\n static toArrayBuffer(v: BufferSource): ArrayBuffer {\n return v instanceof ArrayBuffer ? v : (v.buffer as ArrayBuffer);\n }\n\n static toUint8Array(v: BufferSource) {\n return ArrayBuffers.asView(Uint8Array, v);\n }\n\n static toBase64 = (v: BufferSource) => {\n if ('toBase64' in Uint8Array.prototype) {\n return this.toUint8Array(v).toBase64();\n }\n\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(ArrayBuffers.asView(Uint8Array, v)).toString('base64');\n }\n\n return encodeArrayBufferToBase64(this.toArrayBuffer(v));\n };\n\n static toHex = (v: BufferSource) => {\n if ('toHex' in Uint8Array.prototype) {\n return this.toUint8Array(v).toHex();\n }\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(ArrayBuffers.asView(Uint8Array, v)).toString('hex');\n }\n return ArrayBuffers.toString(v, 'hex');\n };\n\n static fromBase64 = (v: string) => {\n if ('fromBase64' in Uint8Array) {\n return Uint8Array.fromBase64(v);\n }\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(v, 'base64');\n }\n return this.toUint8Array(decodeBase64ToArrayBuffer(v));\n };\n\n static fromHex = (v: string) => {\n if ('fromHex' in Uint8Array) {\n return Uint8Array.fromHex(v);\n }\n return this.toUint8Array(ArrayBuffers.from(v, 'hex'));\n };\n\n static resize = (v: ArrayBufferLike, newByteLength?: number) => {\n if (newByteLength === undefined || newByteLength === null) {\n return v;\n }\n\n if ('resize' in v && (v as any).resizable) {\n (v as any).resize(newByteLength);\n return v;\n }\n\n const old = v;\n const newBuf = new ArrayBuffer(newByteLength);\n const oldView = new Uint8Array(old);\n const newView = new Uint8Array(newBuf);\n newView.set(oldView);\n return newBuf;\n };\n\n static slice = (o: TypedArray, start?: number, end?: number) => {\n // NodeJS Buffer slice is not the same as UInt8Array slice\n // https://nodejs.org/api/buffer.html#bufslicestart-end\n if (isBuffer(o)) {\n return Uint8Array.prototype.slice.call(o, start, end);\n }\n return o.slice(start, end);\n };\n\n static asView = <C extends ArrayBufferViewConstructor<unknown>, I extends InstanceType<C>>(\n TypedArray: C,\n v: BufferSource,\n byteOffset?: number,\n byteLength?: number,\n ): I => {\n if (v instanceof TypedArray && (byteOffset ?? 0) === 0 && byteLength === undefined) {\n return v as I;\n }\n if (ArrayBuffer.isView(v) || isBuffer(v)) {\n if (ArrayBuffers.isNativeBufferAllowed() && (TypedArray as any) === Buffer) {\n // new Buffer() is deprecated\n return Buffer.from(v.buffer, byteOffset, byteLength) as I;\n }\n return new TypedArray(v.buffer, v.byteOffset + (byteOffset ?? 0), byteLength ?? v.byteLength) as I;\n }\n return new TypedArray(v, byteOffset, byteLength) as I;\n };\n\n static toString = (buf: BufferSource | string, encoding: ToStringEncoding = 'utf8') => {\n // 'ascii' 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'\n if (typeof buf === 'string') {\n switch (encoding) {\n case 'base64':\n return btoa(buf);\n case 'utf-8':\n case 'utf8':\n return buf;\n default:\n throw new Error(`[ArrayBuffers.toString] Unsupported encoding for string: ${encoding}`);\n }\n }\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(ArrayBuffers.asView(Uint8Array, buf)).toString(encoding);\n }\n // reference\n // https://github.com/feross/buffer/blob/master/index.js\n switch (encoding) {\n case 'hex': {\n const view: Uint8Array = ArrayBuffers.asView(Uint8Array, buf);\n return [...view].map((b) => hexLookupTable[b]).join('');\n }\n case 'base64': {\n return encodeArrayBufferToBase64(ArrayBuffers.asView(Uint8Array, buf));\n }\n case 'utf8':\n // falls through\n case 'utf-8':\n return new TextDecoder().decode(buf as any);\n case 'ascii': {\n const view: Uint8Array = ArrayBuffers.asView(Uint8Array, buf);\n return String.fromCharCode(...view.map((v) => v & 0x7f));\n }\n case 'latin1':\n // falls through\n case 'binary': {\n const view: Uint8Array = ArrayBuffers.asView(Uint8Array, buf);\n return String.fromCharCode(...view);\n }\n case 'ucs2':\n // falls through\n case 'ucs-2':\n // case 'utf-16le':\n // falls through\n case 'utf16le': {\n const view: Uint8Array = ArrayBuffers.asView(Uint8Array, buf);\n let res = '';\n // If length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < view.length - 1; i += 2) {\n res += String.fromCharCode(view[i] + view[i + 1] * 256);\n }\n return res;\n }\n default:\n throw new Error(`[ArrayBuffers.toString] Unknown encoding: ${encoding}`);\n }\n };\n\n static toJSON = (v: BufferSource | string, reviver?: (this: any, key: string, value: any) => any) => {\n return JSON.parse(ArrayBuffers.toString(v), reviver);\n };\n\n static alloc = (size: number, fill?: string | number, encoding?: ToStringEncoding) => {\n if (fill !== undefined) {\n if (typeof fill === 'number') {\n return new Uint8Array(size).fill(fill);\n }\n // as cast\n // https://stackoverflow.com/questions/73994091\n return ArrayBuffers.asView(Uint8Array, ArrayBuffers.from(fill, encoding)).slice(0, size);\n }\n return new ArrayBuffer(size);\n };\n\n static from = (\n v: string | BufferSource | ArrayLike<number> | Iterable<number>,\n encoding: ToStringEncoding = 'utf8',\n view?: any,\n ): any => {\n if (view) {\n return this.asView(view, this.from(v, encoding));\n }\n if (!v) {\n return new ArrayBuffer(0);\n }\n if (typeof v === 'string') {\n if (ArrayBuffers.isNativeBufferAllowed()) {\n return Buffer.from(v, encoding);\n }\n\n switch (encoding) {\n case 'utf-8':\n // falls through\n case 'utf8':\n return new TextEncoder().encode(v).buffer;\n case 'base64':\n // replaceAll need higher version of nodejs\n return decodeBase64ToArrayBuffer(v.replace(/[^0-9a-zA-Z=+/_]/g, ''));\n case 'hex':\n return new Uint8Array(v.match(/.{1,2}/g)!.map((byte) => parseInt(byte, 16))).buffer;\n default:\n throw new Error(`[ArrayBuffers.from] Unknown encoding: ${encoding}`);\n }\n }\n if (v instanceof ArrayBuffer) {\n return v;\n }\n // lost length\n if (ArrayBuffer.isView(v) || isBuffer(v)) {\n if (v.byteOffset !== 0) {\n // return v.buffer.slice(v.byteOffset, v.byteOffset + v.byteLength)\n throw new Error('ArrayBuffers.from do not support view with offset');\n }\n return v.buffer;\n }\n if (Array.isArray(v)) {\n return new Uint8Array(v);\n }\n const type = classOf(v);\n throw new TypeError(`ArrayBuffers.from unsupported type ${type}`);\n };\n\n static isEncoding = (encoding?: string) => {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n // case 'utf-16le':\n return true;\n default:\n return false;\n }\n };\n\n // static truncate = (a: ArrayBufferLike, len?: number) => {\n // if (len === 0) {\n // return new ArrayBuffer(0);\n // }\n // if (!len) {\n // return a;\n // }\n // if (a.byteLength > len) {\n // return a.slice(0, len);\n // } else if (a.byteLength < len) {\n // let b = new Uint8Array(len);\n // b.set(new Uint8Array(a));\n // return b;\n // }\n // return a;\n // };\n\n static concat = (buffers: Array<BufferSource>, result?: ArrayBuffer, offset = 0) => {\n // https://stackoverflow.com/questions/10786128/appending-arraybuffers\n\n const length = buffers.reduce((a, b) => a + b.byteLength, 0);\n const r = result ? new Uint8Array(result) : new Uint8Array(length);\n for (const buffer of buffers) {\n if (!buffer?.byteLength) continue;\n let n: Uint8Array;\n if (buffer instanceof ArrayBuffer) {\n n = new Uint8Array(buffer);\n } else if (ArrayBuffer.isView(buffer)) {\n n = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n } else {\n throw new Error(`ArrayBuffers.concat unsupported type ${classOf(buffer)}`);\n }\n r.set(n, offset);\n offset += buffer.byteLength;\n }\n return r.buffer;\n };\n}\n\nexport type TypedArray =\n | Uint8Array\n | Uint8ClampedArray\n | Uint16Array\n | Uint32Array\n | Int8Array\n | Int16Array\n | Int32Array\n | BigUint64Array\n | BigInt64Array\n | Float32Array\n | Float64Array;\n\ntype ArrayBufferViewConstructor<T> = new (buffer: ArrayBufferLike, byteOffset?: number, byteLength?: number) => T;\n\nconst hexLookupTable = (function () {\n const alphabet = '0123456789abcdef';\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n})();\n\ndeclare global {\n interface ArrayBuffer {\n resize?: (newByteLength: number) => void;\n resizable?: boolean;\n }\n\n interface SharedArrayBuffer {\n resize?: (newByteLength: number) => void;\n resizable?: boolean;\n }\n\n interface Uint8Array {\n toBase64(): string;\n\n toHex(): string;\n }\n\n interface Uint8ArrayConstructor {\n fromBase64(v: string): Uint8Array;\n\n fromHex(v: string): Uint8Array;\n }\n}\n"],"names":["classOf","getGlobalThis","decodeBase64ToArrayBuffer","encodeArrayBufferToBase64","isBuffer","ArrayBuffers","nativeBufferAllowed","isBufferAvailable","isNativeBufferAvailable","Buffer","isPollyfill","isNativeBufferAllowed","setNativeBufferAllowed","v","isArrayBuffer","ArrayBuffer","toArrayBuffer","buffer","toUint8Array","asView","Uint8Array","toBase64","prototype","from","toString","toHex","fromBase64","fromHex","resize","newByteLength","undefined","resizable","old","newBuf","oldView","newView","set","slice","o","start","end","call","TypedArray","byteOffset","byteLength","isView","buf","encoding","btoa","Error","view","map","b","hexLookupTable","join","TextDecoder","decode","String","fromCharCode","res","i","length","toJSON","reviver","JSON","parse","alloc","size","fill","TextEncoder","encode","replace","match","byte","parseInt","Array","isArray","type","TypeError","isEncoding","toLowerCase","concat","buffers","result","offset","reduce","a","r","n","alphabet","table","i16","j"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/lib/io/Buffer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/Buffer.ts"],"sourcesContent":["import { ArrayBuffers } from './ArrayBuffers';\nimport { isBuffer } from './isBuffer';\n\n/**\n * Buffer is a polyfill version of NodeJS Buffer\n */\nexport class Buffer extends Uint8Array {\n // constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number) {\n // super(buffer, byteOffset, length);\n // }\n\n static get isPolyfill() {\n return true;\n }\n\n static isBuffer(v: any): v is Buffer {\n return v instanceof Buffer || isBuffer(v);\n }\n\n static from(array: string | BufferSource | ArrayLike<number> | Iterable<number>, arg2?: any): Buffer {\n // todo mapfn\n return new Buffer(ArrayBuffers.from(array, arg2) as ArrayBuffer);\n }\n\n static isEncoding = ArrayBuffers.isEncoding;\n\n toString(encoding?: string): string {\n return ArrayBuffers.toString(this, encoding as any);\n }\n}\n"],"names":["ArrayBuffers","isBuffer","Buffer","Uint8Array","isPolyfill","v","from","array","arg2","isEncoding","toString","encoding"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,QAAQ,QAAQ,aAAa;AAEtC;;CAEC,GACD,OAAO,MAAMC,eAAeC;IAC1B,+EAA+E;IAC/E,uCAAuC;IACvC,IAAI;IAEJ,WAAWC,aAAa;QACtB,OAAO;IACT;IAEA,OAAOH,SAASI,CAAM,EAAe;QACnC,OAAOA,aAAaH,UAAUD,SAASI;IACzC;IAEA,OAAOC,KAAKC,KAAmE,EAAEC,IAAU,EAAU;QACnG,aAAa;QACb,OAAO,IAAIN,OAAOF,aAAaM,IAAI,CAACC,OAAOC;IAC7C;IAEA,OAAOC,aAAaT,aAAaS,UAAU,CAAC;IAE5CC,SAASC,QAAiB,EAAU;QAClC,OAAOX,aAAaU,QAAQ,CAAC,IAAI,EAAEC;IACrC;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/io/Buffer.ts"],"sourcesContent":["import { ArrayBuffers } from './ArrayBuffers';\nimport { isBuffer } from './isBuffer';\n\n/**\n * Buffer is a polyfill version of NodeJS Buffer\n */\nexport class Buffer extends Uint8Array {\n // constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number) {\n // super(buffer, byteOffset, length);\n // }\n\n static get isPolyfill() {\n return true;\n }\n\n static isBuffer(v: any): v is Buffer {\n return v instanceof Buffer || isBuffer(v);\n }\n\n static from(array: string | BufferSource | ArrayLike<number> | Iterable<number>, arg2?: any): Buffer {\n // todo mapfn\n return new Buffer(ArrayBuffers.from(array, arg2) as ArrayBuffer);\n }\n\n static isEncoding = ArrayBuffers.isEncoding;\n\n toString(encoding?: string): string {\n return ArrayBuffers.toString(this, encoding as any);\n }\n}\n"],"names":["ArrayBuffers","isBuffer","Buffer","Uint8Array","isPolyfill","v","from","array","arg2","isEncoding","toString","encoding"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,QAAQ,QAAQ,aAAa;AAEtC;;CAEC,GACD,OAAO,MAAMC,eAAeC;IAC1B,+EAA+E;IAC/E,uCAAuC;IACvC,IAAI;IAEJ,WAAWC,aAAa;QACtB,OAAO;IACT;IAEA,OAAOH,SAASI,CAAM,EAAe;QACnC,OAAOA,aAAaH,UAAUD,SAASI;IACzC;IAEA,OAAOC,KAAKC,KAAmE,EAAEC,IAAU,EAAU;QACnG,aAAa;QACb,OAAO,IAAIN,OAAOF,aAAaM,IAAI,CAACC,OAAOC;IAC7C;IAEA,OAAOC,aAAaT,aAAaS,UAAU,CAAC;IAE5CC,SAASC,QAAiB,EAAU;QAClC,OAAOX,aAAaU,QAAQ,CAAC,IAAI,EAAEC;IACrC;AACF"}
|