@wener/utils 1.1.50 → 1.1.53
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 +58 -8
- package/lib/arrays/arrayFromAsync.js +254 -6
- package/lib/asyncs/AsyncInterval.js +145 -9
- package/lib/asyncs/MaybePromise.js +0 -2
- package/lib/asyncs/Promises.js +95 -48
- package/lib/asyncs/createAsyncIterator.js +313 -23
- package/lib/asyncs/createLazyPromise.js +72 -31
- package/lib/asyncs/createLazyPromise.test.js +367 -0
- package/lib/asyncs/firstOfAsyncIterator.js +6 -6
- package/lib/asyncs/generatorOfStream.js +125 -14
- package/lib/asyncs/isIterator.js +1 -3
- package/lib/asyncs/isPromise.js +2 -4
- package/lib/asyncs/isThenable.js +0 -2
- package/lib/asyncs/nextOfAsyncIterator.js +15 -9
- package/lib/asyncs/promiseOfCallback.js +2 -4
- package/lib/asyncs/timeout.js +122 -13
- package/lib/browsers/copy.js +7 -8
- package/lib/browsers/download.js +215 -40
- package/lib/browsers/getFileFromDataTransfer.js +17 -14
- package/lib/browsers/loaders.js +251 -18
- package/lib/crypto/base.js +3 -3
- package/lib/crypto/getNodeCrypto.js +3 -5
- package/lib/crypto/hashing.js +236 -30
- package/lib/crypto/hashing.test.js +323 -0
- package/lib/crypto/md5.bench.js +11 -11
- package/lib/crypto/md5.d.js +0 -2
- package/lib/crypto/md5.js +0 -2
- package/lib/crypto/md5.test.js +7 -0
- package/lib/crypto/pem/pem.js +197 -35
- package/lib/crypto/pem/pem.test.js +104 -0
- package/lib/crypto/randomUUIDv7.js +0 -2
- package/lib/crypto/ulid.js +84 -48
- package/lib/crypto/ulid.test.js +115 -0
- package/lib/emitter/types.js +0 -2
- package/lib/errors/DetailError.js +297 -0
- package/lib/errors/Errors.js +2 -202
- package/lib/errors/Errors.mod.js +206 -0
- package/lib/errors/Errors.test.js +24 -0
- package/lib/fetch/HttpStatus.js +1 -3
- package/lib/fetch/createFetchWith.js +188 -19
- package/lib/fetch/createFetchWithLogging.js +17 -16
- package/lib/fetch/createFetchWithRetry.js +40 -24
- package/lib/fetch/dumpRequest.js +467 -41
- package/lib/fetch/dumpRequest.test.js +384 -0
- package/lib/fetch/dumpResponse.js +271 -16
- package/lib/fetch/dumpResponse.test.js +393 -0
- package/lib/fetch/http.types.js +0 -2
- package/lib/fetch/index.js +5 -7
- package/lib/fetch/isTextContentType.js +5 -0
- package/lib/fetch/resolveRequest.js +7 -0
- package/lib/fetch/types.js +0 -2
- package/lib/i18n/createTranslate.js +40 -20
- package/lib/i18n/createTranslate.test.js +177 -0
- package/lib/index.js +75 -75
- package/lib/io/AbstractEncoding.js +0 -2
- package/lib/io/ArrayBuffer.test-d.js +4 -6
- package/lib/io/ArrayBuffers.base64.test.js +60 -0
- package/lib/io/ArrayBuffers.js +2 -334
- package/lib/io/ArrayBuffers.mod.js +531 -0
- package/lib/io/ArrayBuffers.test.js +77 -0
- package/lib/io/Buffer.js +190 -20
- package/lib/io/Buffer.test.js +22 -0
- package/lib/io/ByteBuffer.js +752 -441
- package/lib/io/ByteBuffer.test.js +184 -0
- package/lib/io/base64.js +17 -19
- package/lib/io/dump.js +16 -16
- package/lib/io/isBuffer.js +2 -3
- package/lib/io/isBuffer.test.js +8 -0
- package/lib/io/isTransferable.js +16 -8
- package/lib/io/isTransferable.test.js +17 -0
- package/lib/io/parseDataUri.js +288 -40
- package/lib/io/parseDataUri.test.js +286 -0
- package/lib/io/types.js +1 -0
- package/lib/langs/AsyncCloser.js +276 -0
- package/lib/langs/Closer.js +100 -0
- package/lib/langs/MaybeFunction.js +38 -5
- package/lib/langs/classOf.js +0 -2
- package/lib/langs/deepEqual.js +82 -22
- package/lib/langs/deepEqual.test.js +11 -0
- package/lib/langs/deepFreeze.js +28 -9
- package/lib/langs/getGlobalStates.js +19 -7
- package/lib/langs/getObjectId.js +4 -6
- package/lib/langs/ifPresent.js +3 -0
- package/lib/langs/isClass.js +0 -2
- package/lib/langs/isDefined.js +0 -2
- package/lib/langs/isEmptyObject.js +1 -3
- package/lib/langs/isFunction.js +0 -2
- package/lib/langs/isNil.js +3 -0
- package/lib/langs/isPlainObject.js +2 -4
- package/lib/langs/langs.test.js +126 -0
- package/lib/langs/memoize.js +11 -7
- package/lib/langs/mixin.js +7 -4
- package/lib/langs/mixin.test.js +135 -0
- package/lib/langs/parseBoolean.js +11 -8
- package/lib/langs/shallowClone.js +5 -3
- package/lib/langs/shallowEqual.js +8 -6
- package/lib/libs/ms.js +28 -26
- package/lib/libs/ms.test.js +301 -0
- package/lib/logger/const.js +15 -0
- package/lib/logger/index.js +1 -0
- package/lib/logger/types.js +1 -0
- package/lib/maths/clamp.js +81 -12
- package/lib/maths/clamp.test.js +186 -0
- package/lib/maths/createRandom.test.js +36 -0
- package/lib/maths/random.js +162 -13
- package/lib/modules/isModule.js +0 -2
- package/lib/modules/parseModuleId.js +14 -15
- package/lib/modules/parseModuleId.test.js +153 -0
- package/lib/objects/computeIfAbsent.js +8 -3
- package/lib/objects/get.js +26 -8
- package/lib/objects/get.test-d.js +23 -25
- package/lib/objects/merge/index.js +1 -3
- package/lib/objects/merge/isMergeableObject.js +5 -3
- package/lib/objects/merge/merge.js +82 -26
- package/lib/objects/merge/merge.test.js +1397 -0
- package/lib/objects/parseObjectPath.js +47 -15
- package/lib/objects/parseObjectPath.test.js +138 -0
- package/lib/objects/set.js +25 -19
- package/lib/objects/set.test.js +522 -0
- package/lib/schema/typebox/index.js +2 -3
- package/lib/schema/typebox/typebox.js +6 -6
- package/lib/scripts/getGenerateContext.js +386 -76
- package/lib/server/crypto/md5.js +0 -2
- package/lib/server/fetch/createFetchWithProxy.js +2 -4
- package/lib/server/fetch/createFetchWithProxyByNodeFetch.js +258 -31
- package/lib/server/fetch/createFetchWithProxyByUndici.js +307 -49
- package/lib/server/getPackageDir.js +2 -3
- package/lib/server/index.js +5 -7
- package/lib/server/jsdom.js +1 -3
- package/lib/server/node-fetch.js +2 -4
- package/lib/server/polyfill/polyfillBrowser.js +163 -9
- package/lib/server/polyfill/polyfillBrowser.test.js +164 -0
- package/lib/server/polyfill/polyfillCrypto.js +157 -9
- package/lib/server/polyfill/polyfillFetch.js +13 -13
- package/lib/server/polyfill/polyfillJsDom.js +264 -58
- package/lib/server/polyfill/polyfillWebSocket.js +11 -11
- package/lib/server/ws.js +1 -3
- package/lib/strings/bytes.test.js +327 -0
- package/lib/strings/camelCase.js +23 -14
- package/lib/strings/formatBytes.js +29 -20
- package/lib/strings/parseBytes.js +54 -0
- package/lib/strings/renderTemplate.js +17 -12
- package/lib/strings/renderTemplate.test.js +104 -0
- package/lib/typedoc.js +2 -4
- package/lib/types.d.js +0 -2
- package/lib/validations/asserts.js +0 -2
- package/lib/validations/isUUID.js +0 -2
- package/lib/validations/isUUID.test.js +87 -0
- package/lib/validations/parseTimestamp.js +12 -7
- package/lib/validations/parseTimestamp.test.js +6 -0
- package/lib/{runtime → web}/getGlobalThis.js +3 -4
- package/lib/web/getRandomValues.js +44 -0
- package/lib/web/randomUUID.js +15 -0
- package/lib/web/requestIdleCallback.js +17 -0
- package/lib/{runtime → web}/structuredClone.js +35 -28
- package/lib/web/structuredClone.test.js +81 -0
- package/package.json +10 -18
- package/src/arrays/MaybeArray.ts +22 -22
- package/src/arrays/arrayFromAsync.ts +3 -3
- package/src/asyncs/AsyncInterval.ts +8 -8
- package/src/asyncs/Promises.ts +51 -51
- package/src/asyncs/createAsyncIterator.ts +34 -34
- package/src/asyncs/createLazyPromise.test.ts +73 -73
- package/src/asyncs/createLazyPromise.ts +68 -73
- package/src/asyncs/firstOfAsyncIterator.ts +5 -5
- package/src/asyncs/generatorOfStream.ts +12 -12
- package/src/asyncs/isIterator.ts +1 -1
- package/src/asyncs/isThenable.ts +2 -2
- package/src/asyncs/nextOfAsyncIterator.ts +20 -20
- package/src/asyncs/promiseOfCallback.ts +13 -13
- package/src/asyncs/timeout.ts +23 -23
- package/src/browsers/copy.ts +48 -48
- package/src/browsers/download.ts +38 -36
- package/src/browsers/getFileFromDataTransfer.ts +35 -35
- package/src/browsers/loaders.ts +49 -49
- package/src/crypto/base.ts +3 -3
- package/src/crypto/getNodeCrypto.ts +3 -3
- package/src/crypto/hashing.test.ts +34 -48
- package/src/crypto/hashing.ts +67 -67
- package/src/crypto/md5.bench.ts +20 -24
- package/src/crypto/md5.test.ts +3 -3
- package/src/crypto/pem/pem.test.ts +26 -42
- package/src/crypto/pem/pem.ts +65 -65
- package/src/crypto/ulid.test.ts +32 -32
- package/src/crypto/ulid.ts +117 -117
- package/src/emitter/types.ts +6 -6
- package/src/errors/DetailError.ts +151 -0
- package/src/errors/Errors.mod.ts +104 -0
- package/src/errors/Errors.test.ts +15 -15
- package/src/errors/Errors.ts +1 -247
- package/src/fetch/HttpStatus.ts +77 -77
- package/src/fetch/createFetchWith.ts +27 -27
- package/src/fetch/createFetchWithLogging.ts +13 -16
- package/src/fetch/createFetchWithRetry.ts +80 -80
- package/src/fetch/dumpRequest.test.ts +176 -0
- package/src/fetch/dumpRequest.ts +149 -52
- package/src/fetch/dumpResponse.test.ts +160 -0
- package/src/fetch/dumpResponse.ts +48 -20
- package/src/fetch/http.types.ts +35 -35
- package/src/fetch/isTextContentType.ts +12 -0
- package/src/fetch/resolveRequest.ts +1 -0
- package/src/fetch/types.ts +2 -2
- package/src/i18n/createTranslate.test.ts +90 -113
- package/src/i18n/createTranslate.ts +55 -55
- package/src/index.ts +26 -27
- package/src/io/AbstractEncoding.ts +12 -12
- package/src/io/ArrayBuffer.test-d.ts +1 -1
- package/src/io/ArrayBuffers.base64.test.ts +52 -52
- package/src/io/ArrayBuffers.mod.ts +670 -0
- package/src/io/ArrayBuffers.test.ts +14 -14
- package/src/io/ArrayBuffers.ts +1 -446
- package/src/io/Buffer.test.ts +17 -17
- package/src/io/Buffer.ts +17 -17
- package/src/io/ByteBuffer.test.ts +37 -37
- package/src/io/ByteBuffer.ts +574 -566
- package/src/io/base64.ts +46 -44
- package/src/io/dump.ts +22 -22
- package/src/io/isBuffer.test.ts +2 -2
- package/src/io/isBuffer.ts +1 -1
- package/src/io/isTransferable.test.ts +4 -4
- package/src/io/isTransferable.ts +30 -30
- package/src/io/parseDataUri.test.ts +22 -27
- package/src/io/parseDataUri.ts +57 -57
- package/src/io/types.ts +13 -0
- package/src/langs/AsyncCloser.ts +45 -0
- package/src/langs/Closer.ts +39 -0
- package/src/langs/MaybeFunction.ts +5 -5
- package/src/langs/classOf.ts +1 -1
- package/src/langs/deepEqual.test.ts +1 -12
- package/src/langs/deepEqual.ts +82 -82
- package/src/langs/deepFreeze.ts +11 -11
- package/src/langs/getGlobalStates.ts +21 -11
- package/src/langs/getObjectId.ts +10 -13
- package/src/langs/ifPresent.ts +3 -0
- package/src/langs/isClass.ts +1 -1
- package/src/langs/isDefined.ts +1 -1
- package/src/langs/isEmptyObject.ts +1 -1
- package/src/langs/isFunction.ts +1 -1
- package/src/langs/isNil.ts +3 -0
- package/src/langs/isPlainObject.ts +4 -4
- package/src/langs/langs.test.ts +18 -18
- package/src/langs/memoize.ts +21 -21
- package/src/langs/mixin.test.ts +22 -26
- package/src/langs/mixin.ts +6 -9
- package/src/langs/parseBoolean.ts +30 -26
- package/src/langs/shallowClone.ts +11 -11
- package/src/langs/shallowEqual.ts +19 -19
- package/src/libs/ms.test.ts +274 -274
- package/src/libs/ms.ts +137 -137
- package/src/logger/const.ts +18 -0
- package/src/logger/index.ts +2 -0
- package/src/logger/types.ts +10 -0
- package/src/maths/clamp.test.ts +18 -18
- package/src/maths/clamp.ts +17 -17
- package/src/maths/createRandom.test.ts +12 -0
- package/src/maths/random.ts +50 -14
- package/src/modules/isModule.ts +4 -4
- package/src/modules/parseModuleId.test.ts +61 -68
- package/src/modules/parseModuleId.ts +29 -43
- package/src/objects/computeIfAbsent.ts +10 -10
- package/src/objects/get.test-d.ts +33 -51
- package/src/objects/get.ts +31 -31
- package/src/objects/merge/isMergeableObject.ts +5 -5
- package/src/objects/merge/merge.test.ts +658 -880
- package/src/objects/merge/merge.ts +84 -84
- package/src/objects/parseObjectPath.test.ts +13 -13
- package/src/objects/parseObjectPath.ts +25 -25
- package/src/objects/set.test.ts +271 -366
- package/src/objects/set.ts +36 -36
- package/src/schema/typebox/typebox.ts +20 -26
- package/src/scripts/getGenerateContext.ts +82 -80
- package/src/server/crypto/md5.ts +1 -1
- package/src/server/fetch/createFetchWithProxyByNodeFetch.ts +30 -33
- package/src/server/fetch/createFetchWithProxyByUndici.ts +64 -70
- package/src/server/getPackageDir.ts +7 -7
- package/src/server/polyfill/polyfillBrowser.test.ts +10 -10
- package/src/server/polyfill/polyfillBrowser.ts +3 -3
- package/src/server/polyfill/polyfillCrypto.ts +7 -7
- package/src/server/polyfill/polyfillFetch.ts +11 -21
- package/src/server/polyfill/polyfillJsDom.ts +60 -72
- package/src/server/polyfill/polyfillWebSocket.ts +15 -15
- package/src/strings/bytes.test.ts +69 -0
- package/src/strings/camelCase.ts +58 -63
- package/src/strings/formatBytes.ts +50 -29
- package/src/strings/parseBytes.ts +66 -0
- package/src/strings/renderTemplate.test.ts +10 -17
- package/src/strings/renderTemplate.ts +19 -22
- package/src/types.d.ts +9 -9
- package/src/validations/asserts.ts +8 -8
- package/src/validations/isUUID.test.ts +9 -9
- package/src/validations/isUUID.ts +1 -1
- package/src/validations/parseTimestamp.test.ts +2 -2
- package/src/validations/parseTimestamp.ts +21 -21
- package/src/{runtime → web}/getGlobalThis.ts +6 -6
- package/src/web/getRandomValues.ts +41 -0
- package/src/web/randomUUID.ts +19 -0
- package/src/web/requestIdleCallback.ts +11 -0
- package/src/{runtime → web}/structuredClone.test.ts +8 -8
- package/src/web/structuredClone.ts +88 -0
- package/tsconfig.json +35 -34
- package/lib/arrays/MaybeArray.js.map +0 -1
- package/lib/arrays/arrayFromAsync.js.map +0 -1
- package/lib/asyncs/AsyncInterval.js.map +0 -1
- package/lib/asyncs/MaybePromise.js.map +0 -1
- package/lib/asyncs/Promises.js.map +0 -1
- package/lib/asyncs/createAsyncIterator.js.map +0 -1
- package/lib/asyncs/createLazyPromise.js.map +0 -1
- package/lib/asyncs/firstOfAsyncIterator.js.map +0 -1
- package/lib/asyncs/generatorOfStream.js.map +0 -1
- package/lib/asyncs/isIterator.js.map +0 -1
- package/lib/asyncs/isPromise.js.map +0 -1
- package/lib/asyncs/isThenable.js.map +0 -1
- package/lib/asyncs/nextOfAsyncIterator.js.map +0 -1
- package/lib/asyncs/promiseOfCallback.js.map +0 -1
- package/lib/asyncs/timeout.js.map +0 -1
- package/lib/browsers/copy.js.map +0 -1
- package/lib/browsers/download.js.map +0 -1
- package/lib/browsers/getFileFromDataTransfer.js.map +0 -1
- package/lib/browsers/loaders.js.map +0 -1
- package/lib/cn/division/DivisionCode.js +0 -209
- package/lib/cn/division/DivisionCode.js.map +0 -1
- package/lib/cn/division/binarySearch.js +0 -27
- package/lib/cn/division/binarySearch.js.map +0 -1
- package/lib/cn/formatChineseAmount.js +0 -77
- package/lib/cn/formatChineseAmount.js.map +0 -1
- package/lib/cn/id/Mod11.js +0 -43
- package/lib/cn/id/Mod11.js.map +0 -1
- package/lib/cn/id/ResidentIdNumber.js +0 -98
- package/lib/cn/id/ResidentIdNumber.js.map +0 -1
- package/lib/cn/id/types.js +0 -8
- package/lib/cn/id/types.js.map +0 -1
- package/lib/cn/index.js +0 -14
- package/lib/cn/index.js.map +0 -1
- package/lib/cn/parseChineseNumber.js +0 -94
- package/lib/cn/parseChineseNumber.js.map +0 -1
- package/lib/cn/pinyin/cartesianProduct.js +0 -22
- package/lib/cn/pinyin/cartesianProduct.js.map +0 -1
- package/lib/cn/pinyin/data.json +0 -413
- package/lib/cn/pinyin/loader.js +0 -15
- package/lib/cn/pinyin/loader.js.map +0 -1
- package/lib/cn/pinyin/preload.js +0 -4
- package/lib/cn/pinyin/preload.js.map +0 -1
- package/lib/cn/pinyin/toPinyinPure.js +0 -32
- package/lib/cn/pinyin/toPinyinPure.js.map +0 -1
- package/lib/cn/pinyin/transform.js +0 -14
- package/lib/cn/pinyin/transform.js.map +0 -1
- package/lib/cn/types.js +0 -3
- package/lib/cn/types.js.map +0 -1
- package/lib/cn/uscc/Mod31.js +0 -49
- package/lib/cn/uscc/Mod31.js.map +0 -1
- package/lib/cn/uscc/USCC.js +0 -94
- package/lib/cn/uscc/USCC.js.map +0 -1
- package/lib/cn/uscc/isUSCC.js +0 -8
- package/lib/cn/uscc/isUSCC.js.map +0 -1
- package/lib/crypto/base.js.map +0 -1
- package/lib/crypto/getNodeCrypto.js.map +0 -1
- package/lib/crypto/getRandomValues.js +0 -36
- package/lib/crypto/getRandomValues.js.map +0 -1
- package/lib/crypto/hashing.js.map +0 -1
- package/lib/crypto/md5.bench.js.map +0 -1
- package/lib/crypto/md5.d.js.map +0 -1
- package/lib/crypto/md5.js.map +0 -1
- package/lib/crypto/pem/pem.js.map +0 -1
- package/lib/crypto/randomUUID.js +0 -16
- package/lib/crypto/randomUUID.js.map +0 -1
- package/lib/crypto/randomUUIDv7.js.map +0 -1
- package/lib/crypto/ulid.js.map +0 -1
- package/lib/emitter/types.js.map +0 -1
- package/lib/errors/Errors.js.map +0 -1
- package/lib/fetch/HttpStatus.js.map +0 -1
- package/lib/fetch/createFetchWith.js.map +0 -1
- package/lib/fetch/createFetchWithLogging.js.map +0 -1
- package/lib/fetch/createFetchWithRetry.js.map +0 -1
- package/lib/fetch/dumpRequest.js.map +0 -1
- package/lib/fetch/dumpResponse.js.map +0 -1
- package/lib/fetch/http.types.js.map +0 -1
- package/lib/fetch/index.js.map +0 -1
- package/lib/fetch/types.js.map +0 -1
- package/lib/i18n/createTranslate.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/io/AbstractEncoding.js.map +0 -1
- package/lib/io/ArrayBuffer.test-d.js.map +0 -1
- package/lib/io/ArrayBuffers.js.map +0 -1
- package/lib/io/Buffer.js.map +0 -1
- package/lib/io/ByteBuffer.js.map +0 -1
- package/lib/io/base64.js.map +0 -1
- package/lib/io/dump.js.map +0 -1
- package/lib/io/isBuffer.js.map +0 -1
- package/lib/io/isTransferable.js.map +0 -1
- package/lib/io/parseDataUri.js.map +0 -1
- package/lib/langs/MaybeFunction.js.map +0 -1
- package/lib/langs/classOf.js.map +0 -1
- package/lib/langs/deepEqual.js.map +0 -1
- package/lib/langs/deepFreeze.js.map +0 -1
- package/lib/langs/getGlobalStates.js.map +0 -1
- package/lib/langs/getObjectId.js.map +0 -1
- package/lib/langs/isClass.js.map +0 -1
- package/lib/langs/isDefined.js.map +0 -1
- package/lib/langs/isEmptyObject.js.map +0 -1
- package/lib/langs/isFunction.js.map +0 -1
- package/lib/langs/isNullish.js +0 -5
- package/lib/langs/isNullish.js.map +0 -1
- package/lib/langs/isPlainObject.js.map +0 -1
- package/lib/langs/memoize.js.map +0 -1
- package/lib/langs/mixin.js.map +0 -1
- package/lib/langs/parseBoolean.js.map +0 -1
- package/lib/langs/shallowClone.js.map +0 -1
- package/lib/langs/shallowEqual.js.map +0 -1
- package/lib/libs/ms.js.map +0 -1
- package/lib/logging/Logger.js +0 -5
- package/lib/logging/Logger.js.map +0 -1
- package/lib/logging/createChildLogger.js +0 -16
- package/lib/logging/createChildLogger.js.map +0 -1
- package/lib/logging/createLogger.js +0 -63
- package/lib/logging/createLogger.js.map +0 -1
- package/lib/logging/createNoopLogger.js +0 -13
- package/lib/logging/createNoopLogger.js.map +0 -1
- package/lib/logging/slog.js +0 -143
- package/lib/logging/slog.js.map +0 -1
- package/lib/maths/clamp.js.map +0 -1
- package/lib/maths/random.js.map +0 -1
- package/lib/mitt/index.js +0 -77
- package/lib/mitt/index.js.map +0 -1
- package/lib/modules/isModule.js.map +0 -1
- package/lib/modules/parseModuleId.js.map +0 -1
- package/lib/objects/computeIfAbsent.js.map +0 -1
- package/lib/objects/get.js.map +0 -1
- package/lib/objects/get.test-d.js.map +0 -1
- package/lib/objects/merge/index.js.map +0 -1
- package/lib/objects/merge/isMergeableObject.js.map +0 -1
- package/lib/objects/merge/merge.js.map +0 -1
- package/lib/objects/parseObjectPath.js.map +0 -1
- package/lib/objects/set.js.map +0 -1
- package/lib/runtime/AsyncCloser.js +0 -40
- package/lib/runtime/AsyncCloser.js.map +0 -1
- package/lib/runtime/Closer.js +0 -34
- package/lib/runtime/Closer.js.map +0 -1
- package/lib/runtime/getGlobalThis.js.map +0 -1
- package/lib/runtime/structuredClone.js.map +0 -1
- package/lib/schema/typebox/index.js.map +0 -1
- package/lib/schema/typebox/typebox.js.map +0 -1
- package/lib/scripts/getGenerateContext.js.map +0 -1
- package/lib/server/crypto/md5.js.map +0 -1
- package/lib/server/fetch/createFetchWithProxy.js.map +0 -1
- package/lib/server/fetch/createFetchWithProxyByNodeFetch.js.map +0 -1
- package/lib/server/fetch/createFetchWithProxyByUndici.js.map +0 -1
- package/lib/server/getPackageDir.js.map +0 -1
- package/lib/server/index.js.map +0 -1
- package/lib/server/jsdom.js.map +0 -1
- package/lib/server/node-fetch.js.map +0 -1
- package/lib/server/polyfill/polyfillBrowser.js.map +0 -1
- package/lib/server/polyfill/polyfillCrypto.js.map +0 -1
- package/lib/server/polyfill/polyfillFetch.js.map +0 -1
- package/lib/server/polyfill/polyfillJsDom.js.map +0 -1
- package/lib/server/polyfill/polyfillWebSocket.js.map +0 -1
- package/lib/server/ws.js.map +0 -1
- package/lib/strings/camelCase.js.map +0 -1
- package/lib/strings/formatBytes.js.map +0 -1
- package/lib/strings/renderTemplate.js.map +0 -1
- package/lib/typedoc.js.map +0 -1
- package/lib/types.d.js.map +0 -1
- package/lib/validations/asserts.js.map +0 -1
- package/lib/validations/isUUID.js.map +0 -1
- package/lib/validations/parseTimestamp.js.map +0 -1
- package/src/cn/README.md +0 -3
- package/src/cn/division/DivisionCode.ts +0 -155
- package/src/cn/division/binarySearch.test.ts +0 -64
- package/src/cn/division/binarySearch.ts +0 -25
- package/src/cn/division/division.test.ts +0 -6
- package/src/cn/formatChineseAmount.ts +0 -61
- package/src/cn/id/Mod11.ts +0 -26
- package/src/cn/id/ResidentIdNumber.ts +0 -126
- package/src/cn/id/id.test.ts +0 -20
- package/src/cn/id/types.ts +0 -26
- package/src/cn/index.ts +0 -17
- package/src/cn/parseChineseNumber.test.ts +0 -159
- package/src/cn/parseChineseNumber.ts +0 -97
- package/src/cn/pinyin/cartesianProduct.test.ts +0 -64
- package/src/cn/pinyin/cartesianProduct.ts +0 -24
- package/src/cn/pinyin/data.json +0 -413
- package/src/cn/pinyin/loader.ts +0 -12
- package/src/cn/pinyin/preload.ts +0 -3
- package/src/cn/pinyin/toPinyin.test.ts +0 -12
- package/src/cn/pinyin/toPinyinPure.ts +0 -43
- package/src/cn/pinyin/transform.ts +0 -12
- package/src/cn/scripts/gen.test.ts +0 -131
- package/src/cn/types.ts +0 -11
- package/src/cn/uscc/Mod31.ts +0 -38
- package/src/cn/uscc/USCC.ts +0 -94
- package/src/cn/uscc/isUSCC.ts +0 -8
- package/src/cn/uscc/uscc.test.ts +0 -16
- package/src/crypto/getRandomValues.ts +0 -41
- package/src/crypto/randomUUID.ts +0 -19
- package/src/langs/isNullish.ts +0 -3
- package/src/logging/Logger.ts +0 -25
- package/src/logging/createChildLogger.ts +0 -16
- package/src/logging/createLogger.ts +0 -50
- package/src/logging/createNoopLogger.ts +0 -13
- package/src/logging/logger.test.ts +0 -36
- package/src/logging/slog.test.ts +0 -8
- package/src/logging/slog.ts +0 -221
- package/src/mitt/README.md +0 -1
- package/src/mitt/index.ts +0 -114
- package/src/runtime/AsyncCloser.ts +0 -45
- package/src/runtime/Closer.ts +0 -39
- package/src/runtime/structuredClone.ts +0 -88
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/ArrayBuffers.ts"],"sourcesContent":["import { classOf } from '../langs/classOf';\nimport { getGlobalThis } from '../runtime/getGlobalThis';\nimport { decodeBase64ToUint8Array, 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-resizablearraybuffer\n */\nexport namespace ArrayBuffers {\n /*\nUint8Array to/from base64 and hex\nStage 3\nUint8Array.fromBase64, Uint8Array.prototype.toBase64\nUint8Array.fromHex, Uint8Array.prototype.toHex\nhttps://github.com/tc39/proposal-arraybuffer-base64\n */\n\n /*\nIn-Place Resizable and Growable ArrayBuffers\nStage 4\nChrome 111, Nodejs 20, Safari 16.4\n\nSharedArrayBuffer & ArrayBuffer\nconstructor(byteLength, {maxByteLength})\nprototype.resize(newByteLength)\nprototype.slice(start, end)\nprototype.{resizable,maxByteLength}\nhttps://github.com/tc39/proposal-resizablearraybuffer\n */\n\n export type BinaryStringEncoding =\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\n let nativeBufferAllowed: boolean = true;\n let isBufferAvailable: undefined | boolean;\n\n /**\n * isNativeBufferAvailable check if the native {@link Buffer} is available\n */\n export function isNativeBufferAvailable(): boolean {\n // eslint-disable-next-line no-return-assign\n return (isBufferAvailable ??= !(getGlobalThis().Buffer as any)?.isPollyfill?.());\n }\n\n export function isNativeBufferAllowed(): boolean {\n return Boolean(nativeBufferAllowed && isBufferAvailable);\n }\n\n export function setNativeBufferAllowed(v: boolean): void {\n nativeBufferAllowed = v;\n }\n\n /**\n * isArrayBuffer check if the given value is an {@link ArrayBuffer}\n */\n export function isArrayBuffer(v: any): v is ArrayBuffer {\n return v instanceof ArrayBuffer;\n }\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 export function slice<T extends TypedArray>(o: T, start?: number, end?: number): T {\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) as T;\n }\n return o.slice(start, end) as T;\n }\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 export function asView<C extends ArrayBufferViewConstructor<unknown>>(\n TypedArray: C,\n v: BufferSource,\n byteOffset?: number,\n byteLength?: number,\n ): InstanceType<C> {\n if (v instanceof TypedArray && (byteOffset ?? 0) === 0 && byteLength === undefined) {\n return v as InstanceType<C>;\n }\n if (ArrayBuffer.isView(v) || isBuffer(v)) {\n if (isNativeBufferAllowed() && (TypedArray as any) === Buffer) {\n // new Buffer() is deprecated\n return Buffer.from(v.buffer, byteOffset, byteLength) as InstanceType<C>;\n }\n return new TypedArray(v.buffer, v.byteOffset + (byteOffset ?? 0), byteLength ?? v.byteLength) as InstanceType<C>;\n }\n return new TypedArray(v, byteOffset, byteLength) as InstanceType<C>;\n }\n\n /**\n * toString convert the given {@link BufferSource} to string\n */\n export function toString(source: BufferSource | string, encoding: BinaryStringEncoding = 'utf8'): string {\n // 'ascii' 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'\n if (typeof source === 'string') {\n switch (encoding) {\n case 'base64':\n return btoa(source);\n case 'utf-8':\n case 'utf8':\n return source;\n default:\n throw new Error(`[ArrayBuffers.toString] Unsupported encoding for string: ${encoding}`);\n }\n }\n let u8 = asView(Uint8Array, source);\n if (isNativeBufferAllowed()) {\n return Buffer.from(u8).toString(encoding);\n }\n // reference\n // https://github.com/feross/buffer/blob/master/index.js\n switch (encoding) {\n case 'hex': {\n return [...u8].map((b) => hexLookupTable[b]).join('');\n }\n case 'base64': {\n return encodeArrayBufferToBase64(u8);\n }\n case 'utf8':\n // falls through\n case 'utf-8':\n return new TextDecoder().decode(source);\n case 'ascii': {\n return String.fromCharCode(...u8.map((v) => v & 0x7f));\n }\n case 'latin1':\n // falls through\n case 'binary': {\n return String.fromCharCode(...u8);\n }\n case 'ucs2':\n // falls through\n case 'ucs-2':\n // case 'utf-16le':\n // falls through\n case 'utf16le': {\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 < u8.length - 1; i += 2) {\n res += String.fromCharCode(u8[i] + u8[i + 1] * 256);\n }\n return res;\n }\n default:\n throw new Error(`[ArrayBuffers.toString] Unknown encoding: ${encoding}`);\n }\n }\n\n function normalizeEncoding(encoding: string | undefined) {\n switch (encoding?.toLowerCase()) {\n case 'utf-8':\n case 'utf8':\n return 'utf8';\n case 'utf-16le':\n case 'ucs2':\n case 'ucs-2':\n return 'utf16le';\n case 'hex':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'utf16le':\n return encoding;\n default:\n return undefined;\n }\n }\n\n /**\n * Returns true if encoding is the name of a supported character encoding, or false otherwise.\n */\n export function isEncoding(v?: string): v is BinaryStringEncoding {\n return normalizeEncoding(v) !== undefined;\n }\n\n export function toJSON<T = any>(v: BufferSource | string, reviver?: (this: any, key: string, value: any) => any): T {\n return JSON.parse(toString(v), reviver);\n }\n\n /**\n * from convert the given value to {@link ArrayBuffer} like\n */\n export function from(\n src: string | BufferSource | Array<number> | Iterable<number>,\n encoding?: BinaryStringEncoding,\n ): ArrayBuffer | TypedArray;\n /**\n * from convert the given value to {@link TypedArray}\n */\n export function from<C extends ArrayBufferViewConstructor<unknown>>(\n src: string | BufferSource | Array<number> | Iterable<number>,\n encoding: BinaryStringEncoding,\n TypedArray: C,\n ): InstanceType<C>;\n export function from(\n src: string | BufferSource | Array<number> | Iterable<number>,\n encoding: BinaryStringEncoding = 'utf8',\n view?: any,\n ): any {\n if (!src) {\n return new (view || ArrayBuffer)(0);\n }\n if (isBufferSource(src)) {\n return view ? asView(view, src) : src;\n }\n // Array<number> | Iterable<number>\n if ((typeof src !== 'string' && isIterable(src)) || Array.isArray(src)) {\n return (view || Uint8Array).from(src);\n }\n if (view) {\n return asView(view, from(src, encoding));\n }\n if (typeof src === 'string') {\n // is string\n if (isNativeBufferAllowed()) {\n return Buffer.from(src, encoding);\n }\n switch (encoding) {\n case 'utf-8':\n // falls through\n case 'utf8':\n return new TextEncoder().encode(src).buffer;\n case 'base64':\n // replaceAll need higher version of nodejs\n // return decodeBase64ToArrayBuffer(v.replace(/[^0-9a-zA-Z=+/_]/g, ''));\n return fromBase64(src);\n case 'hex':\n // return new Uint8Array(v.match(/.{1,2}/g)!.map((byte) => parseInt(byte, 16))).buffer;\n return fromHex(src);\n default:\n throw new Error(`ArrayBuffers.from unsupported encoding: ${encoding}`);\n }\n }\n\n const type = classOf(src);\n throw new TypeError(`ArrayBuffers.from unsupported type ${type}`);\n }\n\n /**\n * concat the given {@link BufferSource} to a new {@link ArrayBuffer}\n */\n export function concat(buffers: Array<BufferSource>, result?: ArrayBuffer, offset = 0): ArrayBuffer {\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 export function fromBase64(v: string): Uint8Array {\n if ('fromBase64' in Uint8Array) {\n return Uint8Array.fromBase64(v);\n }\n if (isNativeBufferAllowed()) {\n return Buffer.from(v, 'base64');\n }\n return decodeBase64ToUint8Array(v.replace(/[^0-9a-zA-Z=+/_]/g, ''));\n }\n\n export function fromHex(v: string): Uint8Array {\n if ('fromHex' in Uint8Array) {\n return Uint8Array.fromHex(v);\n }\n if (isNativeBufferAllowed()) {\n return Buffer.from(v, 'hex');\n }\n return new Uint8Array(v.match(/.{1,2}/g)!.map((byte) => parseInt(byte, 16)));\n }\n\n /**\n * toBase64 convert the given {@link BufferSource} to base64 string\n * @param source if string, will be encoded as utf8\n */\n export function toBase64(source: BufferSource | string): string {\n if (typeof source === 'string') {\n source = new TextEncoder().encode(source);\n }\n if ('toBase64' in Uint8Array.prototype) {\n return toUint8Array(source).toBase64();\n }\n if (isNativeBufferAllowed()) {\n return Buffer.from(asView(Uint8Array, source)).toString('base64');\n }\n return encodeArrayBufferToBase64(toArrayBuffer(source));\n }\n\n export function toHex(v: BufferSource): string {\n if ('toHex' in Uint8Array.prototype) {\n return toUint8Array(v).toHex();\n }\n if (isNativeBufferAllowed()) {\n return Buffer.from(asView(Uint8Array, v)).toString('hex');\n }\n return toString(v, 'hex');\n }\n\n export function resize(v: ArrayBuffer, newByteLength?: number, maxByteLength?: number): ArrayBuffer {\n if (newByteLength === undefined || newByteLength === null) {\n return v;\n }\n\n // Chrome 111, Nodejs 20\n if ('resize' in v && typeof v.resize === 'function') {\n if ('resizable' in v && v.resizable) {\n if ('maxByteLength' in v && typeof v.maxByteLength === 'number' && v.maxByteLength >= newByteLength) {\n v.resize(newByteLength);\n return v as ArrayBuffer;\n }\n }\n }\n\n const old = v;\n const newBuf = new ArrayBuffer(newByteLength, { maxByteLength: maxByteLength });\n const oldView = new Uint8Array(old);\n const newView = new Uint8Array(newBuf);\n newView.set(oldView);\n return newBuf;\n }\n\n export function toArrayBuffer(v: BufferSource): ArrayBuffer {\n if (v instanceof ArrayBuffer) {\n return v;\n }\n if (ArrayBuffer.isView(v)) {\n if (v.byteOffset > 0) {\n throw new Error('ArrayBuffers.toArrayBuffer do not support view with offset');\n }\n return v.buffer;\n }\n throw new Error(`ArrayBuffers.toArrayBuffer unsupported type ${classOf(v)}`);\n }\n\n export function toUint8Array(v: BufferSource): Uint8Array {\n return asView(Uint8Array, v);\n }\n\n export function alloc(size: number, fill?: string | number, encoding?: BinaryStringEncoding): ArrayBuffer {\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 asView(Uint8Array, from(fill, encoding)).slice(0, size);\n }\n return new ArrayBuffer(size);\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 ArrayBufferConstructor {\n new (byteLength: number, opts?: { maxByteLength?: number }): ArrayBuffer;\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\nfunction isIterable(obj: any): obj is Iterable<any> {\n return typeof obj?.[Symbol.iterator] === 'function';\n}\n\nfunction isBufferSource(v: any): v is BufferSource {\n return ArrayBuffer.isView(v) || v instanceof ArrayBuffer;\n}\n"],"names":["classOf","getGlobalThis","decodeBase64ToUint8Array","encodeArrayBufferToBase64","isBuffer","ArrayBuffers","nativeBufferAllowed","isBufferAvailable","isNativeBufferAvailable","Buffer","isPollyfill","isNativeBufferAllowed","Boolean","setNativeBufferAllowed","v","isArrayBuffer","ArrayBuffer","slice","o","start","end","Uint8Array","prototype","call","asView","TypedArray","byteOffset","byteLength","undefined","isView","from","buffer","toString","source","encoding","btoa","Error","u8","map","b","hexLookupTable","join","TextDecoder","decode","String","fromCharCode","res","i","length","normalizeEncoding","toLowerCase","isEncoding","toJSON","reviver","JSON","parse","src","view","isBufferSource","isIterable","Array","isArray","TextEncoder","encode","fromBase64","fromHex","type","TypeError","concat","buffers","result","offset","reduce","a","r","n","set","replace","match","byte","parseInt","toBase64","toUint8Array","toArrayBuffer","toHex","resize","newByteLength","maxByteLength","resizable","old","newBuf","oldView","newView","alloc","size","fill","alphabet","table","i16","j","obj","Symbol","iterator"],"mappings":"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"}
|
package/lib/io/Buffer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/lib/io/ByteBuffer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/ByteBuffer.ts"],"sourcesContent":["import { ArrayBuffers } from './ArrayBuffers';\n\ntype AnyBuffer = BufferSource | ArrayBufferLike;\n\nfunction asBuffer(o: AnyBuffer) {\n if (o instanceof ArrayBuffer) {\n return o;\n }\n if (ArrayBuffer.isView(o)) {\n // 保留 offset&length\n if (o.byteLength !== o.buffer.byteLength) {\n // ArrayBuffer 没有 subarray\n // if ('subarray' in o.buffer) {\n // return (o.buffer as any).subarray(o.byteOffset, o.byteOffset + o.byteLength);\n // }\n return o.buffer.slice(o.byteOffset, o.byteOffset + o.byteLength);\n }\n return o.buffer;\n }\n return o;\n}\n\n// function asView(o: AnyBuffer) {\n// if (o instanceof DataView) {\n// return o;\n// }\n// if (ArrayBuffer.isView(o)) {\n// // 不 clone 也能保留 offset&length\n// return new DataView(o.buffer, o.byteOffset, o.byteLength);\n// }\n// return new DataView(o);\n// }\n\n/**\n * @see {@link https://www.egret.uk/docs/egretengine/engine/egret.ByteArray egret.ByteArray}\n * @see {@link https://github.com/protobufjs/bytebuffer.js protobufjs/bytebuffer.js}\n * @see {@link https://netty.io/4.1/api/io/netty/buffer/ByteBuf.html io.netty.buffer.ByteBuf}\n * @see {@link https://nodejs.org/api/buffer.html node:buffer}\n * @see {@link https://www.postgresql.org/docs/current/datatype.html PostgreSQL Data Types}\n */\nexport class ByteBuffer {\n position = 0;\n\n #buffer: ArrayBufferLike;\n #view: DataView;\n #bytes: Uint8Array;\n // #endian: 'big' | 'little' = 'big';\n #bigEndian = true;\n\n constructor(buffer: AnyBuffer = new ArrayBuffer(0, { maxByteLength: 1024 })) {\n this.#buffer = asBuffer(buffer);\n // NOTE prefer view over buffer, avoid the slice overhead ?\n this.#view = new DataView(this.#buffer);\n this.#bytes = new Uint8Array(this.#buffer);\n }\n\n get littleEndian() {\n return !this.#bigEndian;\n }\n\n set littleEndian(v: boolean) {\n this.#bigEndian = !v;\n }\n\n get bigEndian() {\n return this.#bigEndian;\n }\n\n set bigEndian(v: boolean) {\n this.#bigEndian = v;\n }\n\n get view() {\n return this.#view;\n }\n\n get buffer(): ArrayBufferLike {\n return this.#buffer;\n }\n\n set buffer(buffer: AnyBuffer) {\n this.#buffer = asBuffer(buffer);\n this.#view = new DataView(this.#buffer);\n this.#bytes = new Uint8Array(this.#buffer);\n }\n\n get bytes(): Uint8Array {\n return this.#bytes;\n }\n\n get length() {\n return this.view.byteLength;\n }\n\n set length(length: number) {\n this.resize(length);\n }\n\n resize(newLength: number) {\n // 1.2 for buffer growth\n this.buffer = ArrayBuffers.resize(this.buffer, newLength, Math.ceil(newLength * 1.2));\n }\n\n writeByte(value: number) {\n this.willWrite(1);\n this.view.setUint8(this.position++, value);\n }\n\n writeBytes(bytes: ArrayBufferLike, len: number = bytes.byteLength) {\n this.willWrite(len);\n // ensure len first\n this.bytes.set(new Uint8Array(bytes).subarray(0, len), this.position);\n if (len > bytes.byteLength) {\n // fill zero\n this.bytes.fill(0, this.position + bytes.byteLength, this.position + len);\n }\n\n this.position += len;\n }\n\n writeInt8(value: number) {\n this.willWrite(1);\n this.view.setInt8(this.position, value);\n this.position += 1;\n }\n\n writeUint8(value: number) {\n this.willWrite(1);\n this.view.setUint8(this.position, value);\n this.position += 1;\n }\n\n writeInt16(value: number) {\n this.willWrite(2);\n this.view.setInt16(this.position, value, this.littleEndian);\n this.position += 2;\n }\n\n writeUint16(value: number) {\n this.willWrite(2);\n this.view.setUint16(this.position, value, this.littleEndian);\n this.position += 2;\n }\n\n writeUint24(value: number) {\n this.willWrite(3);\n this.view.setUint8(this.position, value & 0xff);\n this.view.setUint16(this.position + 1, value >> 8, this.littleEndian);\n this.position += 3;\n }\n\n writeInt32(value: number) {\n this.willWrite(4);\n this.view.setInt32(this.position, value, this.littleEndian);\n this.position += 4;\n }\n\n writeUint32(value: number) {\n this.willWrite(4);\n this.view.setUint32(this.position, value, this.littleEndian);\n this.position += 4;\n }\n\n writeInt64(value: bigint | number) {\n this.willWrite(8);\n this.view.setBigInt64(this.position, bigintOf(value), this.littleEndian);\n this.position += 8;\n }\n\n writeUint64(value: bigint | number) {\n this.willWrite(8);\n this.view.setBigUint64(this.position, bigintOf(value), this.littleEndian);\n this.position += 8;\n }\n\n writeFloat32(value: number) {\n this.willWrite(4);\n this.view.setFloat32(this.position, value, this.littleEndian);\n this.position += 4;\n }\n\n writeFloat64(value: number) {\n this.willWrite(8);\n this.view.setFloat64(this.position, value, this.littleEndian);\n this.position += 8;\n }\n\n writeBoolean(value: boolean) {\n this.writeByte(value ? 1 : 0);\n }\n\n writeString(value: string): void;\n\n writeString(value: string, len?: number): void;\n\n writeString(value: string, len?: number) {\n let bytes = this.encodeText(value);\n this.writeBytes(bytes, len);\n }\n\n readSizeString(n?: number) {\n return this.readString(requireNumber(this.readUint(n)));\n }\n\n writeSizeString(value: string, n?: number) {\n let out = this.encodeText(value);\n this.writeUint(out.length, n);\n this.writeBytes(out);\n }\n\n encodeText(value: string) {\n return new TextEncoder().encode(value);\n }\n\n decodeText(bytes: ArrayBufferLike) {\n return new TextDecoder().decode(bytes);\n }\n\n readByte() {\n return this.view.getUint8(this.position++);\n }\n\n readBytes(length: number) {\n let bytes = this.buffer.slice(this.position, this.position + length);\n this.position += length;\n return bytes;\n }\n\n readInt8() {\n let value = this.view.getInt8(this.position);\n this.position += 1;\n return value;\n }\n\n readUint8() {\n let value = this.view.getUint8(this.position);\n this.position += 1;\n return value;\n }\n\n readUnsignedByte() {\n return this.readUint8();\n }\n\n readThrough(end: number) {\n // readUntil 不包含 end\n let idx = this.bytes.indexOf(end, this.position);\n if (idx === -1) {\n throw new Error(`Byte ${end} not found starting from position ${this.position}`);\n }\n let bytes = this.buffer.slice(this.position, idx + 1);\n this.position = idx + 1;\n return bytes;\n }\n\n readInt16() {\n let value = this.view.getInt16(this.position, this.littleEndian);\n this.position += 2;\n return value;\n }\n\n readUint16() {\n let value = this.view.getUint16(this.position, this.littleEndian);\n this.position += 2;\n return value;\n }\n\n readInt32() {\n let value = this.view.getInt32(this.position, this.littleEndian);\n this.position += 4;\n return value;\n }\n\n readUint32() {\n let value = this.view.getUint32(this.position, this.littleEndian);\n this.position += 4;\n return value;\n }\n\n readInt64() {\n let value = this.view.getBigInt64(this.position, this.littleEndian);\n this.position += 8;\n return safeNumber(value);\n }\n\n readUint64() {\n let value = this.view.getBigUint64(this.position, this.littleEndian);\n this.position += 8;\n return safeNumber(value);\n }\n\n readFloat32() {\n let value = this.view.getFloat32(this.position, this.littleEndian);\n this.position += 4;\n return value;\n }\n\n readFloat64() {\n let value = this.view.getFloat64(this.position, this.littleEndian);\n this.position += 8;\n return value;\n }\n\n readBoolean() {\n // or !== 0?\n return this.readByte() === 1;\n }\n\n readString(length: number): string {\n let bytes = this.readBytes(length);\n let a = new Uint8Array(bytes);\n let idx = a.indexOf(0);\n if (idx !== -1) {\n bytes = bytes.slice(0, idx);\n }\n return this.decodeText(bytes);\n }\n\n readHexString(length: number) {\n let bytes = this.readBytes(length);\n return ArrayBuffers.toHex(bytes);\n }\n\n writeHexString(value: string, len?: number) {\n this.writeBytes(ArrayBuffers.fromHex(value), len);\n }\n\n writeInt24(value: number) {\n // fixme byte order\n this.writeUint8(value & 0xff);\n this.writeUint16(value >> 8);\n }\n\n readInt24() {\n // fixme recheck\n let value = this.readUint24();\n if (value & 0x800000) {\n // If the sign bit is set, extend the sign\n value |= 0xff000000;\n }\n return value;\n }\n\n readUint24() {\n // fixme recheck\n return this.readUint8() | (this.readUint8() << 8) | (this.readUint8() << 16);\n }\n\n writeZero(length: number) {\n this.willWrite(length);\n this.bytes.fill(0, this.position, this.position + length);\n this.position += length;\n }\n\n writeValue(typ: TypedValue['type'], val: TypedValue['value']): void;\n writeValue(tv: TypedValue): void;\n writeValue(a: any, b?: any) {\n const tv: TypedValue = typeof a === 'string' ? { type: a, value: b } : a;\n const { type, value, length } = tv;\n switch (type) {\n case 'uint8':\n this.writeUint8(value);\n break;\n case 'byte':\n case 'int8':\n this.writeInt8(value);\n break;\n case 'uint16':\n this.writeUint16(value);\n break;\n case 'int16':\n this.writeInt16(value);\n break;\n case 'uint24':\n this.writeUint24(value);\n break;\n case 'int24':\n this.writeInt24(value);\n break;\n case 'uint32':\n case 'uint':\n this.writeUint32(value);\n break;\n case 'int32':\n case 'int':\n this.writeInt32(value);\n break;\n case 'float32':\n case 'float':\n this.writeFloat32(value);\n break;\n case 'float64':\n case 'double':\n this.writeFloat64(value);\n break;\n case 'string':\n this.writeString(value, length);\n break;\n case 'boolean':\n this.writeBoolean(value);\n break;\n case 'bytes':\n this.writeBytes(value);\n break;\n default:\n throw new Error(`Unknown type ${type}`);\n }\n }\n\n readUnsignedShort() {\n return this.readUint16();\n }\n\n readShort() {\n return this.readInt16();\n }\n\n readInt(bytesOrBits: number = 32) {\n switch (bytesOrBits) {\n case 1:\n case 8:\n return this.readInt8();\n case 2:\n case 16:\n return this.readInt16();\n case 3:\n case 24:\n return this.readInt24();\n case 4:\n case 32:\n return this.readInt32();\n // skip 8 byte for bits\n case 64:\n return this.readInt64();\n default:\n throw new Error(`Unknown int${bytesOrBits}`);\n }\n }\n\n readUint(bytesOrBits: number = 32) {\n switch (bytesOrBits) {\n case 1:\n case 8:\n return this.readUint8();\n case 2:\n case 16:\n return this.readUint16();\n case 3:\n case 24:\n return this.readUint24();\n case 4:\n case 32:\n return this.readUint32();\n // skip 8 byte for bits\n case 64:\n return this.readUint64();\n default:\n throw new Error(`Unexpected int size: ${bytesOrBits}`);\n }\n }\n\n writeUint(value: number, bytesOrBits: number = 32) {\n switch (bytesOrBits) {\n case 1:\n case 8:\n this.writeUint8(value);\n break;\n case 2:\n case 16:\n this.writeUint16(value);\n break;\n case 3:\n case 24:\n this.writeUint24(value);\n break;\n case 4:\n case 32:\n this.writeUint32(value);\n break;\n case 64:\n this.writeUint64(value);\n break;\n default:\n throw new Error(`Unexpected uint size: ${bytesOrBits}`);\n }\n }\n\n readFloat(n: number = 32) {\n switch (n) {\n case 4:\n case 32:\n return this.readFloat32();\n case 8:\n case 64:\n return this.readFloat64();\n default:\n throw new Error(`Unexpected float size: ${n}`);\n }\n }\n\n writeFloat(value: number, n: number = 32) {\n switch (n) {\n case 4:\n case 32:\n this.writeFloat32(value);\n break;\n case 8:\n case 64:\n this.writeFloat64(value);\n break;\n default:\n throw new Error(`Unexpected float size: ${n}`);\n }\n }\n\n readDouble() {\n return this.readFloat64();\n }\n\n writeDouble(value: number) {\n this.writeFloat64(value);\n }\n\n remaining() {\n return this.length - this.position;\n }\n\n hasRemaining() {\n return this.remaining() > 0;\n }\n\n readRemaining() {\n return this.readBytes(this.remaining());\n }\n\n toUint8Array() {\n return new Uint8Array(this.buffer);\n }\n\n toHex() {\n return ArrayBuffers.toHex(this.buffer);\n }\n\n toBase64() {\n return ArrayBuffers.toBase64(this.buffer);\n }\n\n private willWrite(length: number) {\n if (this.remaining() < length) {\n this.resize(this.position + length);\n }\n }\n}\n\nexport interface TypedValue {\n type:\n | 'byte'\n | 'bytes'\n | 'uint8'\n | 'int8'\n | 'uint16'\n | 'int16'\n | 'uint24'\n | 'int24'\n | 'int'\n | 'uint'\n | 'uint32'\n | 'int32'\n | 'float'\n | 'float32'\n | 'double'\n | 'float64'\n | 'string'\n | 'boolean';\n value: any;\n length?: number;\n}\n\nfunction safeNumber(n: bigint) {\n if (n > Number.MAX_SAFE_INTEGER) {\n return n;\n }\n return Number(n);\n}\n\nfunction bigintOf(n: number | bigint) {\n if (typeof n === 'bigint') {\n return n;\n }\n return BigInt(n);\n}\n\nfunction requireNumber(n: number | bigint) {\n if (typeof n !== 'number') {\n throw new Error(`Expected number, got ${n}`);\n }\n return n;\n}\n"],"names":["ArrayBuffers","asBuffer","o","ArrayBuffer","isView","byteLength","buffer","slice","byteOffset","ByteBuffer","position","constructor","maxByteLength","DataView","Uint8Array","littleEndian","v","bigEndian","view","bytes","length","resize","newLength","Math","ceil","writeByte","value","willWrite","setUint8","writeBytes","len","set","subarray","fill","writeInt8","setInt8","writeUint8","writeInt16","setInt16","writeUint16","setUint16","writeUint24","writeInt32","setInt32","writeUint32","setUint32","writeInt64","setBigInt64","bigintOf","writeUint64","setBigUint64","writeFloat32","setFloat32","writeFloat64","setFloat64","writeBoolean","writeString","encodeText","readSizeString","n","readString","requireNumber","readUint","writeSizeString","out","writeUint","TextEncoder","encode","decodeText","TextDecoder","decode","readByte","getUint8","readBytes","readInt8","getInt8","readUint8","readUnsignedByte","readThrough","end","idx","indexOf","Error","readInt16","getInt16","readUint16","getUint16","readInt32","getInt32","readUint32","getUint32","readInt64","getBigInt64","safeNumber","readUint64","getBigUint64","readFloat32","getFloat32","readFloat64","getFloat64","readBoolean","a","readHexString","toHex","writeHexString","fromHex","writeInt24","readInt24","readUint24","writeZero","writeValue","b","tv","type","readUnsignedShort","readShort","readInt","bytesOrBits","readFloat","writeFloat","readDouble","writeDouble","remaining","hasRemaining","readRemaining","toUint8Array","toBase64","Number","MAX_SAFE_INTEGER","BigInt"],"mappings":"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"}
|
package/lib/io/base64.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/base64.ts"],"sourcesContent":["// https://github.com/niklasvh/base64-arraybuffer/blob/master/src/index.ts\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport function encodeArrayBufferToBase64(arraybuffer: ArrayBuffer): string {\n const bytes = new Uint8Array(arraybuffer);\n const len = bytes.length;\n let base64 = '';\n\n for (let i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n}\n\nexport function decodeBase64ToUint8Array(base64: string): Uint8Array {\n const len = base64.length;\n let bufferLength = base64.length * 0.75;\n let i;\n let p = 0;\n let encoded1;\n let encoded2;\n let encoded3;\n let encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength);\n const bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return bytes;\n}\n"],"names":["chars","lookup","Uint8Array","i","length","charCodeAt","encodeArrayBufferToBase64","arraybuffer","bytes","len","base64","substring","decodeBase64ToUint8Array","bufferLength","p","encoded1","encoded2","encoded3","encoded4","ArrayBuffer"],"mappings":"AAAA,0EAA0E;AAE1E,MAAMA,QAAQ;AAEd,wCAAwC;AACxC,MAAMC,SAAS,OAAOC,eAAe,cAAc,EAAE,GAAG,IAAIA,WAAW;AACvE,IAAK,IAAIC,IAAI,GAAGA,IAAIH,MAAMI,MAAM,EAAED,IAAK;IACrCF,MAAM,CAACD,MAAMK,UAAU,CAACF,GAAG,GAAGA;AAChC;AAEA,OAAO,SAASG,0BAA0BC,WAAwB;IAChE,MAAMC,QAAQ,IAAIN,WAAWK;IAC7B,MAAME,MAAMD,MAAMJ,MAAM;IACxB,IAAIM,SAAS;IAEb,IAAK,IAAIP,IAAI,GAAGA,IAAIM,KAAKN,KAAK,EAAG;QAC/BO,UAAUV,KAAK,CAACQ,KAAK,CAACL,EAAE,IAAI,EAAE;QAC9BO,UAAUV,KAAK,CAAC,AAAEQ,CAAAA,KAAK,CAACL,EAAE,GAAG,CAAA,KAAM,IAAMK,KAAK,CAACL,IAAI,EAAE,IAAI,EAAG;QAC5DO,UAAUV,KAAK,CAAC,AAAEQ,CAAAA,KAAK,CAACL,IAAI,EAAE,GAAG,EAAC,KAAM,IAAMK,KAAK,CAACL,IAAI,EAAE,IAAI,EAAG;QACjEO,UAAUV,KAAK,CAACQ,KAAK,CAACL,IAAI,EAAE,GAAG,GAAG;IACpC;IAEA,IAAIM,MAAM,MAAM,GAAG;QACjBC,SAASA,OAAOC,SAAS,CAAC,GAAGD,OAAON,MAAM,GAAG,KAAK;IACpD,OAAO,IAAIK,MAAM,MAAM,GAAG;QACxBC,SAASA,OAAOC,SAAS,CAAC,GAAGD,OAAON,MAAM,GAAG,KAAK;IACpD;IAEA,OAAOM;AACT;AAEA,OAAO,SAASE,yBAAyBF,MAAc;IACrD,MAAMD,MAAMC,OAAON,MAAM;IACzB,IAAIS,eAAeH,OAAON,MAAM,GAAG;IACnC,IAAID;IACJ,IAAIW,IAAI;IACR,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIR,MAAM,CAACA,OAAON,MAAM,GAAG,EAAE,KAAK,KAAK;QACrCS;QACA,IAAIH,MAAM,CAACA,OAAON,MAAM,GAAG,EAAE,KAAK,KAAK;YACrCS;QACF;IACF;IAEA,MAAMN,cAAc,IAAIY,YAAYN;IACpC,MAAML,QAAQ,IAAIN,WAAWK;IAE7B,IAAKJ,IAAI,GAAGA,IAAIM,KAAKN,KAAK,EAAG;QAC3BY,WAAWd,MAAM,CAACS,OAAOL,UAAU,CAACF,GAAG;QACvCa,WAAWf,MAAM,CAACS,OAAOL,UAAU,CAACF,IAAI,GAAG;QAC3Cc,WAAWhB,MAAM,CAACS,OAAOL,UAAU,CAACF,IAAI,GAAG;QAC3Ce,WAAWjB,MAAM,CAACS,OAAOL,UAAU,CAACF,IAAI,GAAG;QAE3CK,KAAK,CAACM,IAAI,GAAG,AAACC,YAAY,IAAMC,YAAY;QAC5CR,KAAK,CAACM,IAAI,GAAG,AAAEE,CAAAA,WAAW,EAAC,KAAM,IAAMC,YAAY;QACnDT,KAAK,CAACM,IAAI,GAAG,AAAEG,CAAAA,WAAW,CAAA,KAAM,IAAMC,WAAW;IACnD;IAEA,OAAOV;AACT"}
|
package/lib/io/dump.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/dump.ts"],"sourcesContent":["import { ArrayBuffers } from './ArrayBuffers';\n\nexport function toHexDump(data: BufferSource) {\n return Array.from(ArrayBuffers.toHex(data).match(/.{1,32}/g) ?? [])\n .map((v, i) => {\n let idxPrefix = `${i.toString(16).padStart(8, '0')}:`;\n let content = Array.from(v.match(/.{4}/g) ?? []).join(' ');\n let chars = Array.from(new Uint8Array(ArrayBuffers.fromHex(v).buffer)).map((v) => {\n let c = String.fromCharCode(v);\n if (v < 32 || v > 126) {\n c = '.';\n }\n return c;\n });\n return [idxPrefix, content.padEnd(40, ' '), chars.join('')].join(' ');\n })\n .join('\\n');\n}\n\n/**\n * Chrome Websocket Binary format\n * ```\n * 00000000: 0000 0000 0000 0000 0000 0000 0000 0000 ................\n * ```\n */\nexport function fromHexDump(dump: string) {\n return ArrayBuffers.fromHex(\n dump\n .split('\\n')\n .map((v) => {\n return v.substring(10, 10 + 41).replaceAll(' ', '');\n })\n .join(''),\n );\n}\n"],"names":["ArrayBuffers","toHexDump","data","Array","from","toHex","match","map","v","i","idxPrefix","toString","padStart","content","join","chars","Uint8Array","fromHex","buffer","c","String","fromCharCode","padEnd","fromHexDump","dump","split","substring","replaceAll"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAE9C,OAAO,SAASC,UAAUC,IAAkB;IAC1C,OAAOC,MAAMC,IAAI,CAACJ,aAAaK,KAAK,CAACH,MAAMI,KAAK,CAAC,eAAe,EAAE,EAC/DC,GAAG,CAAC,CAACC,GAAGC;QACP,IAAIC,YAAY,GAAGD,EAAEE,QAAQ,CAAC,IAAIC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC;QACrD,IAAIC,UAAUV,MAAMC,IAAI,CAACI,EAAEF,KAAK,CAAC,YAAY,EAAE,EAAEQ,IAAI,CAAC;QACtD,IAAIC,QAAQZ,MAAMC,IAAI,CAAC,IAAIY,WAAWhB,aAAaiB,OAAO,CAACT,GAAGU,MAAM,GAAGX,GAAG,CAAC,CAACC;YAC1E,IAAIW,IAAIC,OAAOC,YAAY,CAACb;YAC5B,IAAIA,IAAI,MAAMA,IAAI,KAAK;gBACrBW,IAAI;YACN;YACA,OAAOA;QACT;QACA,OAAO;YAACT;YAAWG,QAAQS,MAAM,CAAC,IAAI;YAAMP,MAAMD,IAAI,CAAC;SAAI,CAACA,IAAI,CAAC;IACnE,GACCA,IAAI,CAAC;AACV;AAEA;;;;;CAKC,GACD,OAAO,SAASS,YAAYC,IAAY;IACtC,OAAOxB,aAAaiB,OAAO,CACzBO,KACGC,KAAK,CAAC,MACNlB,GAAG,CAAC,CAACC;QACJ,OAAOA,EAAEkB,SAAS,CAAC,IAAI,KAAK,IAAIC,UAAU,CAAC,KAAK;IAClD,GACCb,IAAI,CAAC;AAEZ"}
|
package/lib/io/isBuffer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/isBuffer.ts"],"sourcesContent":["/**\n * check {@link obj} is Buffer\n *\n * @see {@link https://github.com/feross/is-buffer feross/is-buffer}\n */\nexport function isBuffer(obj: any): obj is Buffer {\n return obj?.constructor?.isBuffer?.(obj);\n}\n"],"names":["isBuffer","obj","constructor"],"mappings":"AAAA;;;;CAIC,GACD,OAAO,SAASA,SAASC,GAAQ;IAC/B,OAAOA,KAAKC,aAAaF,WAAWC;AACtC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/isTransferable.ts"],"sourcesContent":["import { getGlobalThis } from '../runtime/getGlobalThis';\n\nconst globalThis = getGlobalThis();\n\n/**\n * transferable object pass between workers, can work with structuredClone\n *\n * - Chrome 87, FF 103, Safari X, NodeJS X\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Transferable_objects | Transferable objects}\n */\nexport function isTransferable(v: any): v is TransferableObject {\n _ctors ||= ctors();\n return _ctors.some((ctor) => v instanceof ctor);\n}\n\nlet _ctors: any[];\n\nfunction ctors() {\n const o: any = globalThis.window || globalThis || global;\n return [\n o.ArrayBuffer,\n o.MessagePort,\n o.ReadableStream,\n o.WritableStream,\n o.TransformStream,\n o.AudioData,\n o.ImageBitmap,\n o.VideoFrame,\n o.OffscreenCanvas,\n o.RTCDataChannel,\n ].filter(Boolean);\n}\n\nexport type TransferableObject =\n | Transferable\n | ArrayBuffer\n | MessagePort\n | ReadableStream\n | WritableStream\n | TransformStream\n | AudioData\n | ImageBitmap\n | VideoFrame\n | OffscreenCanvas\n | RTCDataChannel;\n\ndeclare global {\n interface OffscreenCanvas {}\n\n interface VideoFrame {}\n\n interface AudioData {}\n}\n"],"names":["getGlobalThis","globalThis","isTransferable","v","_ctors","ctors","some","ctor","o","window","global","ArrayBuffer","MessagePort","ReadableStream","WritableStream","TransformStream","AudioData","ImageBitmap","VideoFrame","OffscreenCanvas","RTCDataChannel","filter","Boolean"],"mappings":"AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAEzD,MAAMC,aAAaD;AAEnB;;;;;;CAMC,GACD,OAAO,SAASE,eAAeC,CAAM;IACnCC,WAAWC;IACX,OAAOD,OAAOE,IAAI,CAAC,CAACC,OAASJ,aAAaI;AAC5C;AAEA,IAAIH;AAEJ,SAASC;IACP,MAAMG,IAASP,WAAWQ,MAAM,IAAIR,cAAcS;IAClD,OAAO;QACLF,EAAEG,WAAW;QACbH,EAAEI,WAAW;QACbJ,EAAEK,cAAc;QAChBL,EAAEM,cAAc;QAChBN,EAAEO,eAAe;QACjBP,EAAEQ,SAAS;QACXR,EAAES,WAAW;QACbT,EAAEU,UAAU;QACZV,EAAEW,eAAe;QACjBX,EAAEY,cAAc;KACjB,CAACC,MAAM,CAACC;AACX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/io/parseDataUri.ts"],"sourcesContent":["import { ArrayBuffers } from './ArrayBuffers';\n\nexport interface ParsedDataUri {\n type: string;\n params: Record<string, string | boolean>;\n content: string;\n base64: boolean;\n\n getData(enc: 'utf-8' | 'base64'): Promise<string>;\n\n getData(): Promise<ArrayBuffer>;\n}\n\nexport function parseDataUri(data: string): undefined | ParsedDataUri {\n if (!data || !data.startsWith('data:')) {\n return;\n }\n // https://en.wikipedia.org/wiki/Data_URI_scheme\n // data:content/type;base64,\n // data:content/type;a=b,content\n const [header, body] = data.split(',');\n const [type, ...paramsStr] = header.slice('data:'.length).split(';');\n const content = body;\n const params: Record<string, string | boolean> = Object.fromEntries(\n paramsStr.map((s) => {\n const [k, v] = s.trim().split('=');\n return [k, v ?? true];\n }),\n );\n // params charset=utf-8\n // params base64\n // params a=b\n let base64 = Boolean(params['base64']);\n return {\n type,\n params,\n content,\n base64,\n getData: async (enc?: 'utf-8' | 'base64') => {\n if (!enc) {\n return await fetch(data).then((v) => v.arrayBuffer());\n }\n //\n let buf: BufferSource;\n if (base64) {\n if (enc === 'base64') {\n return content;\n }\n buf = await fetch(data).then((v) => v.arrayBuffer());\n } else {\n let raw = decodeURIComponent(content);\n if (enc === 'utf-8') {\n return raw;\n }\n buf = ArrayBuffers.from(raw, 'utf-8');\n }\n if (enc === 'utf-8') {\n return new TextDecoder(enc).decode(buf);\n }\n if (enc === 'base64') {\n return ArrayBuffers.toString(buf, 'base64');\n }\n return buf;\n },\n } as ParsedDataUri;\n}\n"],"names":["ArrayBuffers","parseDataUri","data","startsWith","header","body","split","type","paramsStr","slice","length","content","params","Object","fromEntries","map","s","k","v","trim","base64","Boolean","getData","enc","fetch","then","arrayBuffer","buf","raw","decodeURIComponent","from","TextDecoder","decode","toString"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAa9C,OAAO,SAASC,aAAaC,IAAY;IACvC,IAAI,CAACA,QAAQ,CAACA,KAAKC,UAAU,CAAC,UAAU;QACtC;IACF;IACA,gDAAgD;IAChD,4BAA4B;IAC5B,gCAAgC;IAChC,MAAM,CAACC,QAAQC,KAAK,GAAGH,KAAKI,KAAK,CAAC;IAClC,MAAM,CAACC,MAAM,GAAGC,UAAU,GAAGJ,OAAOK,KAAK,CAAC,QAAQC,MAAM,EAAEJ,KAAK,CAAC;IAChE,MAAMK,UAAUN;IAChB,MAAMO,SAA2CC,OAAOC,WAAW,CACjEN,UAAUO,GAAG,CAAC,CAACC;QACb,MAAM,CAACC,GAAGC,EAAE,GAAGF,EAAEG,IAAI,GAAGb,KAAK,CAAC;QAC9B,OAAO;YAACW;YAAGC,KAAK;SAAK;IACvB;IAEF,uBAAuB;IACvB,gBAAgB;IAChB,aAAa;IACb,IAAIE,SAASC,QAAQT,MAAM,CAAC,SAAS;IACrC,OAAO;QACLL;QACAK;QACAD;QACAS;QACAE,SAAS,OAAOC;YACd,IAAI,CAACA,KAAK;gBACR,OAAO,MAAMC,MAAMtB,MAAMuB,IAAI,CAAC,CAACP,IAAMA,EAAEQ,WAAW;YACpD;YACA,EAAE;YACF,IAAIC;YACJ,IAAIP,QAAQ;gBACV,IAAIG,QAAQ,UAAU;oBACpB,OAAOZ;gBACT;gBACAgB,MAAM,MAAMH,MAAMtB,MAAMuB,IAAI,CAAC,CAACP,IAAMA,EAAEQ,WAAW;YACnD,OAAO;gBACL,IAAIE,MAAMC,mBAAmBlB;gBAC7B,IAAIY,QAAQ,SAAS;oBACnB,OAAOK;gBACT;gBACAD,MAAM3B,aAAa8B,IAAI,CAACF,KAAK;YAC/B;YACA,IAAIL,QAAQ,SAAS;gBACnB,OAAO,IAAIQ,YAAYR,KAAKS,MAAM,CAACL;YACrC;YACA,IAAIJ,QAAQ,UAAU;gBACpB,OAAOvB,aAAaiC,QAAQ,CAACN,KAAK;YACpC;YACA,OAAOA;QACT;IACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/MaybeFunction.ts"],"sourcesContent":["export type MaybeFunction<T, P extends any[] = any[]> = T | ((...args: P) => T);\n\nexport function maybeFunction<T, P extends any[] = any[]>(v: MaybeFunction<T, P>, ...args: P): T {\n // https://github.com/microsoft/TypeScript/issues/37663#issuecomment-759728342\n if (v instanceof Function) {\n return v(...args);\n }\n return v;\n}\n"],"names":["maybeFunction","v","args","Function"],"mappings":"AAEA,OAAO,SAASA,cAA0CC,CAAsB,EAAE,GAAGC,IAAO;IAC1F,8EAA8E;IAC9E,IAAID,aAAaE,UAAU;QACzB,OAAOF,KAAKC;IACd;IACA,OAAOD;AACT"}
|
package/lib/langs/classOf.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/classOf.ts"],"sourcesContent":["export function classOf(o: any) {\n return Object.prototype.toString.call(o).slice(8, -1);\n}\n"],"names":["classOf","o","Object","prototype","toString","call","slice"],"mappings":"AAAA,OAAO,SAASA,QAAQC,CAAM;IAC5B,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,GAAGK,KAAK,CAAC,GAAG,CAAC;AACrD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/deepEqual.ts"],"sourcesContent":["const has = Object.prototype.hasOwnProperty;\nconst hasElementType = typeof Element !== 'undefined';\n\nfunction find(iter: any, tar: any, key?: any) {\n for (key of iter.keys()) {\n if (deepEqual(key, tar)) return key;\n }\n}\n\n/**\n * deep equal - support react, dom, Date, RegExp, Array, ArrayBuffer, Set, Map, Object\n * @see {@link https://github.com/lukeed/dequal/blob/master/src/lite.js dequal/src/lite.js}\n * @see {@link https://github.com/FormidableLabs/react-fast-compare/blob/master/index.js react-fast-compare/index.js}\n */\nexport function deepEqual(foo: any, bar: any) {\n let ctor, len, tmp;\n if (foo === bar) return true;\n\n if (foo && bar && (ctor = foo.constructor) === bar.constructor) {\n if (ctor === Date) return foo.getTime() === bar.getTime();\n if (ctor === RegExp) return foo.toString() === bar.toString();\n\n if (ctor === Array) {\n if ((len = foo.length) === bar.length) {\n while (len-- && deepEqual(foo[len], bar[len]));\n }\n return len === -1;\n }\n\n if (ctor === Set) {\n if (foo.size !== bar.size) {\n return false;\n }\n for (len of foo) {\n tmp = len;\n if (tmp && typeof tmp === 'object') {\n tmp = find(bar, tmp);\n if (!tmp) return false;\n }\n if (!bar.has(tmp)) return false;\n }\n return true;\n }\n\n if (ctor === Map) {\n if (foo.size !== bar.size) {\n return false;\n }\n for (len of foo) {\n tmp = len[0];\n if (tmp && typeof tmp === 'object') {\n tmp = find(bar, tmp);\n if (!tmp) return false;\n }\n if (!deepEqual(len[1], bar.get(tmp))) {\n return false;\n }\n }\n return true;\n }\n\n if (ctor === ArrayBuffer) {\n foo = new Uint8Array(foo);\n bar = new Uint8Array(bar);\n } else if (ctor === DataView) {\n if ((len = foo.byteLength) === bar.byteLength) {\n while (len-- && foo.getInt8(len) === bar.getInt8(len));\n }\n return len === -1;\n }\n\n if (ArrayBuffer.isView(foo)) {\n if ((len = foo.byteLength) === bar.byteLength) {\n while (len-- && (foo as any)[len] === bar[len]);\n }\n return len === -1;\n }\n\n // react & dom\n if (hasElementType && foo instanceof Element) return false;\n\n if (!ctor || typeof foo === 'object') {\n len = 0;\n for (ctor in foo) {\n if ((ctor === '_owner' || ctor === '__v' || ctor === '__o') && foo.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n if (!(ctor in bar) || !deepEqual(foo[ctor], bar[ctor])) return false;\n }\n return Object.keys(bar).length === len;\n }\n }\n\n // eslint-disable-next-line no-self-compare\n return foo !== foo && bar !== bar;\n}\n"],"names":["has","Object","prototype","hasOwnProperty","hasElementType","Element","find","iter","tar","key","keys","deepEqual","foo","bar","ctor","len","tmp","constructor","Date","getTime","RegExp","toString","Array","length","Set","size","Map","get","ArrayBuffer","Uint8Array","DataView","byteLength","getInt8","isView","$$typeof","call"],"mappings":"AAAA,MAAMA,MAAMC,OAAOC,SAAS,CAACC,cAAc;AAC3C,MAAMC,iBAAiB,OAAOC,YAAY;AAE1C,SAASC,KAAKC,IAAS,EAAEC,GAAQ,EAAEC,GAAS;IAC1C,KAAKA,OAAOF,KAAKG,IAAI,GAAI;QACvB,IAAIC,UAAUF,KAAKD,MAAM,OAAOC;IAClC;AACF;AAEA;;;;CAIC,GACD,OAAO,SAASE,UAAUC,GAAQ,EAAEC,GAAQ;IAC1C,IAAIC,MAAMC,KAAKC;IACf,IAAIJ,QAAQC,KAAK,OAAO;IAExB,IAAID,OAAOC,OAAO,AAACC,CAAAA,OAAOF,IAAIK,WAAW,AAAD,MAAOJ,IAAII,WAAW,EAAE;QAC9D,IAAIH,SAASI,MAAM,OAAON,IAAIO,OAAO,OAAON,IAAIM,OAAO;QACvD,IAAIL,SAASM,QAAQ,OAAOR,IAAIS,QAAQ,OAAOR,IAAIQ,QAAQ;QAE3D,IAAIP,SAASQ,OAAO;YAClB,IAAI,AAACP,CAAAA,MAAMH,IAAIW,MAAM,AAAD,MAAOV,IAAIU,MAAM,EAAE;gBACrC,MAAOR,SAASJ,UAAUC,GAAG,CAACG,IAAI,EAAEF,GAAG,CAACE,IAAI;YAC9C;YACA,OAAOA,QAAQ,CAAC;QAClB;QAEA,IAAID,SAASU,KAAK;YAChB,IAAIZ,IAAIa,IAAI,KAAKZ,IAAIY,IAAI,EAAE;gBACzB,OAAO;YACT;YACA,KAAKV,OAAOH,IAAK;gBACfI,MAAMD;gBACN,IAAIC,OAAO,OAAOA,QAAQ,UAAU;oBAClCA,MAAMV,KAAKO,KAAKG;oBAChB,IAAI,CAACA,KAAK,OAAO;gBACnB;gBACA,IAAI,CAACH,IAAIb,GAAG,CAACgB,MAAM,OAAO;YAC5B;YACA,OAAO;QACT;QAEA,IAAIF,SAASY,KAAK;YAChB,IAAId,IAAIa,IAAI,KAAKZ,IAAIY,IAAI,EAAE;gBACzB,OAAO;YACT;YACA,KAAKV,OAAOH,IAAK;gBACfI,MAAMD,GAAG,CAAC,EAAE;gBACZ,IAAIC,OAAO,OAAOA,QAAQ,UAAU;oBAClCA,MAAMV,KAAKO,KAAKG;oBAChB,IAAI,CAACA,KAAK,OAAO;gBACnB;gBACA,IAAI,CAACL,UAAUI,GAAG,CAAC,EAAE,EAAEF,IAAIc,GAAG,CAACX,OAAO;oBACpC,OAAO;gBACT;YACF;YACA,OAAO;QACT;QAEA,IAAIF,SAASc,aAAa;YACxBhB,MAAM,IAAIiB,WAAWjB;YACrBC,MAAM,IAAIgB,WAAWhB;QACvB,OAAO,IAAIC,SAASgB,UAAU;YAC5B,IAAI,AAACf,CAAAA,MAAMH,IAAImB,UAAU,AAAD,MAAOlB,IAAIkB,UAAU,EAAE;gBAC7C,MAAOhB,SAASH,IAAIoB,OAAO,CAACjB,SAASF,IAAImB,OAAO,CAACjB;YACnD;YACA,OAAOA,QAAQ,CAAC;QAClB;QAEA,IAAIa,YAAYK,MAAM,CAACrB,MAAM;YAC3B,IAAI,AAACG,CAAAA,MAAMH,IAAImB,UAAU,AAAD,MAAOlB,IAAIkB,UAAU,EAAE;gBAC7C,MAAOhB,SAAS,AAACH,GAAW,CAACG,IAAI,KAAKF,GAAG,CAACE,IAAI;YAChD;YACA,OAAOA,QAAQ,CAAC;QAClB;QAEA,cAAc;QACd,IAAIX,kBAAkBQ,eAAeP,SAAS,OAAO;QAErD,IAAI,CAACS,QAAQ,OAAOF,QAAQ,UAAU;YACpCG,MAAM;YACN,IAAKD,QAAQF,IAAK;gBAChB,IAAI,AAACE,CAAAA,SAAS,YAAYA,SAAS,SAASA,SAAS,KAAI,KAAMF,IAAIsB,QAAQ,EAAE;oBAS3E;gBACF;gBAEA,IAAIlC,IAAImC,IAAI,CAACvB,KAAKE,SAAS,EAAEC,OAAO,CAACf,IAAImC,IAAI,CAACtB,KAAKC,OAAO,OAAO;gBACjE,IAAI,CAAEA,CAAAA,QAAQD,GAAE,KAAM,CAACF,UAAUC,GAAG,CAACE,KAAK,EAAED,GAAG,CAACC,KAAK,GAAG,OAAO;YACjE;YACA,OAAOb,OAAOS,IAAI,CAACG,KAAKU,MAAM,KAAKR;QACrC;IACF;IAEA,2CAA2C;IAC3C,OAAOH,QAAQA,OAAOC,QAAQA;AAChC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/deepFreeze.ts"],"sourcesContent":["/**\n * Freezes the given object and all its nested objects recursively.\n *\n * @param {T} obj - The object to freeze.\n * @returns {T} - The frozen object.\n */\nexport function deepFreeze<T>(obj: T): T {\n if (obj === null || typeof obj !== 'object') {\n return obj;\n }\n const props = Object.getOwnPropertyNames(obj);\n for (const prop of props) {\n const value = (obj as any)[prop];\n if (value && typeof value === 'object') {\n deepFreeze(value);\n }\n }\n return Object.freeze(obj);\n}\n"],"names":["deepFreeze","obj","props","Object","getOwnPropertyNames","prop","value","freeze"],"mappings":"AAAA;;;;;CAKC,GACD,OAAO,SAASA,WAAcC,GAAM;IAClC,IAAIA,QAAQ,QAAQ,OAAOA,QAAQ,UAAU;QAC3C,OAAOA;IACT;IACA,MAAMC,QAAQC,OAAOC,mBAAmB,CAACH;IACzC,KAAK,MAAMI,QAAQH,MAAO;QACxB,MAAMI,QAAQ,AAACL,GAAW,CAACI,KAAK;QAChC,IAAIC,SAAS,OAAOA,UAAU,UAAU;YACtCN,WAAWM;QACb;IACF;IACA,OAAOH,OAAOI,MAAM,CAACN;AACvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/getGlobalStates.ts"],"sourcesContent":["import { computeIfAbsent, getGlobalThis } from '@wener/utils';\n\nlet _holder: any;\n\nexport function setGlobalStates(states: Record<string, any>) {\n _holder = states;\n}\n\nexport function getGlobalStates(): Record<string, any>;\nexport function getGlobalStates<T>(key: string, create: () => T): T;\nexport function getGlobalStates<T>(key: string): T | undefined;\nexport function getGlobalStates(key?: string, create?: () => any): any {\n _holder ||= (getGlobalThis() as any).__GLOBAL_STATES__ ||= {};\n if (key) {\n if (!create) {\n return _holder[key];\n }\n return computeIfAbsent(_holder, key, create);\n }\n return _holder;\n}\n"],"names":["computeIfAbsent","getGlobalThis","_holder","setGlobalStates","states","getGlobalStates","key","create","__GLOBAL_STATES__"],"mappings":"AAAA,SAASA,eAAe,EAAEC,aAAa,QAAQ,eAAe;AAE9D,IAAIC;AAEJ,OAAO,SAASC,gBAAgBC,MAA2B;IACzDF,UAAUE;AACZ;AAKA,OAAO,SAASC,gBAAgBC,GAAY,EAAEC,MAAkB;IAC9DL,YAAY,AAACD,gBAAwBO,iBAAiB,KAAK,CAAC;IAC5D,IAAIF,KAAK;QACP,IAAI,CAACC,QAAQ;YACX,OAAOL,OAAO,CAACI,IAAI;QACrB;QACA,OAAON,gBAAgBE,SAASI,KAAKC;IACvC;IACA,OAAOL;AACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/getObjectId.ts"],"sourcesContent":["import { getGlobalStates } from './getGlobalStates';\n\nexport function getObjectId(k: any): number {\n const state = getGlobalStates('ObjectId', () => {\n return {\n id: 1,\n map: new WeakMap(),\n };\n });\n\n const { map } = state;\n\n if (map.has(k)) {\n return map.get(k);\n }\n\n const id = state.id++;\n map.set(k, id);\n return id;\n}\n"],"names":["getGlobalStates","getObjectId","k","state","id","map","WeakMap","has","get","set"],"mappings":"AAAA,SAASA,eAAe,QAAQ,oBAAoB;AAEpD,OAAO,SAASC,YAAYC,CAAM;IAChC,MAAMC,QAAQH,gBAAgB,YAAY;QACxC,OAAO;YACLI,IAAI;YACJC,KAAK,IAAIC;QACX;IACF;IAEA,MAAM,EAAED,GAAG,EAAE,GAAGF;IAEhB,IAAIE,IAAIE,GAAG,CAACL,IAAI;QACd,OAAOG,IAAIG,GAAG,CAACN;IACjB;IAEA,MAAME,KAAKD,MAAMC,EAAE;IACnBC,IAAII,GAAG,CAACP,GAAGE;IACX,OAAOA;AACT"}
|
package/lib/langs/isClass.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/isClass.ts"],"sourcesContent":["export function isClass(func: any) {\n return typeof func === 'function' && /^class\\s/.test(Function.prototype.toString.call(func));\n}\n"],"names":["isClass","func","test","Function","prototype","toString","call"],"mappings":"AAAA,OAAO,SAASA,QAAQC,IAAS;IAC/B,OAAO,OAAOA,SAAS,cAAc,WAAWC,IAAI,CAACC,SAASC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACL;AACxF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/isDefined.ts"],"sourcesContent":["export function isDefined<T = any>(v: T): v is NonNullable<T> {\n return v !== null && v !== undefined;\n}\n"],"names":["isDefined","v","undefined"],"mappings":"AAAA,OAAO,SAASA,UAAmBC,CAAI;IACrC,OAAOA,MAAM,QAAQA,MAAMC;AAC7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/isEmptyObject.ts"],"sourcesContent":["import { isPlainObject } from './isPlainObject';\n\nexport function isEmptyObject(o: any) {\n return isPlainObject(o) && Object.keys(o).length === 0;\n}\n"],"names":["isPlainObject","isEmptyObject","o","Object","keys","length"],"mappings":"AAAA,SAASA,aAAa,QAAQ,kBAAkB;AAEhD,OAAO,SAASC,cAAcC,CAAM;IAClC,OAAOF,cAAcE,MAAMC,OAAOC,IAAI,CAACF,GAAGG,MAAM,KAAK;AACvD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/isFunction.ts"],"sourcesContent":["export function isFunction(value: any): value is Function {\n return typeof value === 'function';\n}\n"],"names":["isFunction","value"],"mappings":"AAAA,OAAO,SAASA,WAAWC,KAAU;IACnC,OAAO,OAAOA,UAAU;AAC1B"}
|
package/lib/langs/isNullish.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/isNullish.ts"],"sourcesContent":["export function isNullish(value: any): value is null | undefined {\n return value === null || value === undefined;\n}\n"],"names":["isNullish","value","undefined"],"mappings":"AAAA,OAAO,SAASA,UAAUC,KAAU;IAClC,OAAOA,UAAU,QAAQA,UAAUC;AACrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/isPlainObject.ts"],"sourcesContent":["import { classOf } from './classOf';\n\n// see: https://github.com/mesqueeb/is-what/blob/88d6e4ca92fb2baab6003c54e02eedf4e729e5ab/src/index.ts\n\nexport function isPlainObject(value: any): value is Record<string, any> {\n if (classOf(value) !== 'Object') {\n return false;\n }\n return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;\n}\n"],"names":["classOf","isPlainObject","value","constructor","Object","getPrototypeOf","prototype"],"mappings":"AAAA,SAASA,OAAO,QAAQ,YAAY;AAEpC,sGAAsG;AAEtG,OAAO,SAASC,cAAcC,KAAU;IACtC,IAAIF,QAAQE,WAAW,UAAU;QAC/B,OAAO;IACT;IACA,OAAOA,MAAMC,WAAW,KAAKC,UAAUA,OAAOC,cAAc,CAACH,WAAWE,OAAOE,SAAS;AAC1F"}
|
package/lib/langs/memoize.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/memoize.ts"],"sourcesContent":["// https://github.com/angus-c/just/blob/master/packages/function-memoize/index.mjs\ntype func = (...args: any) => any;\n\nexport function memoize<T extends func>(\n callback: T,\n {\n resolver = (...args: Parameters<T>) => JSON.stringify(args),\n }: { resolver?: (...args: Parameters<T>) => string } = {},\n): T {\n if (typeof callback !== 'function') {\n throw new Error('`callback` should be a function');\n }\n\n if (resolver !== undefined && typeof resolver !== 'function') {\n throw new Error('`resolver` should be a function');\n }\n\n const cache: Record<string, any> = {};\n\n const memoized = function (this: any) {\n const args = Array.prototype.slice.call(arguments); // to simplify JSON.stringify\n const key = resolver.apply(this, args as Parameters<T>);\n\n if (!(key in cache)) {\n cache[key] = callback.apply(this, args);\n }\n\n return cache[key];\n };\n memoized.cache = cache;\n return memoized as func as T;\n}\n"],"names":["memoize","callback","resolver","args","JSON","stringify","Error","undefined","cache","memoized","Array","prototype","slice","call","arguments","key","apply"],"mappings":"AAAA,kFAAkF;AAGlF,OAAO,SAASA,QACdC,QAAW,EACX,EACEC,WAAW,CAAC,GAAGC,OAAwBC,KAAKC,SAAS,CAACF,KAAK,EACT,GAAG,CAAC,CAAC;IAEzD,IAAI,OAAOF,aAAa,YAAY;QAClC,MAAM,IAAIK,MAAM;IAClB;IAEA,IAAIJ,aAAaK,aAAa,OAAOL,aAAa,YAAY;QAC5D,MAAM,IAAII,MAAM;IAClB;IAEA,MAAME,QAA6B,CAAC;IAEpC,MAAMC,WAAW;QACf,MAAMN,OAAOO,MAAMC,SAAS,CAACC,KAAK,CAACC,IAAI,CAACC,YAAY,6BAA6B;QACjF,MAAMC,MAAMb,SAASc,KAAK,CAAC,IAAI,EAAEb;QAEjC,IAAI,CAAEY,CAAAA,OAAOP,KAAI,GAAI;YACnBA,KAAK,CAACO,IAAI,GAAGd,SAASe,KAAK,CAAC,IAAI,EAAEb;QACpC;QAEA,OAAOK,KAAK,CAACO,IAAI;IACnB;IACAN,SAASD,KAAK,GAAGA;IACjB,OAAOC;AACT"}
|
package/lib/langs/mixin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/mixin.ts"],"sourcesContent":["/**\n * Helper type to convert a union to an intersection.\n *\n * @internal\n */\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never;\n\n/**\n * Constructor function, that creates a new instance of the given type.\n *\n * @typeParam T The type of the instance to create.\n * @example ```ts\n * function Walkable<TBase extends MixinConstructor<Positionable>>(Base: TBase) {\n * ··return class Walkable extends Base {\n * ····public forward() { this.x++; }\n * ····public backward() { this.x--; }\n * ··};\n * }\n * ```\n * @example ```ts\n * function Loggable(Base: MixinConstructor) {\n * ··return class Loggable extends Base {\n * ····public log(message: string) { throw new Error(404); }\n * ··};\n * }\n * ```\n */\nexport type MixinConstructor<T = {}> = new (...args: any[]) => T;\n\n/**\n * Function that applies a mixin to a given base class.\n *\n * @typeParam T The type of the base class.\n * @typeParam R The type of the returned class.\n */\nexport type MixinFunction<T extends MixinConstructor = MixinConstructor, R extends T = T & MixinConstructor> = (\n Base: T,\n) => R;\n\n/**\n * The return type of the mixin function.\n *\n * @typeParam T The type of the base class.\n * @typeParam M The type of the mixin functions.\n */\nexport type MixinReturnValue<T extends MixinConstructor, M extends MixinFunction<T, any>[]> = UnionToIntersection<\n | T\n | {\n [K in keyof M]: M[K] extends MixinFunction<any, infer U> ? U : never;\n }[number]\n>;\n\n/**\n * The instance created by a mixin function.\n *\n * @typeParam F The type of the mixin function.\n */\nexport type MixinInstance<F extends MixinFunction<any>> =\n F extends MixinFunction<MixinConstructor<any>, infer R> ? InstanceType<R> : never;\n\n/**\n * Applies the given mixins to the a common base class.\n *\n * @param Base The base class to apply the mixins to.\n * @param mixins The mixins to apply. All mixins must extend a common base class or an empty class.\n * @returns A class constructor with all mixins applied.\n *\n * @typeParam T The type of the base class.\n * @typeParam M The type of the mixin functions.\n *\n * @example ```ts\n * class Dog extends mixin(Animal, FourLegged, Carnivore, PackHunting, Barking, Domesticated) {}\n * ```\n */\nexport function mixin<T extends MixinConstructor, M extends MixinFunction<T, any>[]>(\n Base: T,\n ...mixins: M\n): MixinReturnValue<T, M> {\n return mixins.reduce((mix, applyMixin) => applyMixin(mix), Base) as MixinReturnValue<T, M>;\n}\n\n// https://github.com/1nVitr0/lib-ts-mixin-extended\n"],"names":["mixin","Base","mixins","reduce","mix","applyMixin"],"mappings":"AAAA;;;;CAIC,GAwDD;;;;;;;;;;;;;CAaC,GACD,OAAO,SAASA,MACdC,IAAO,EACP,GAAGC,MAAS;IAEZ,OAAOA,OAAOC,MAAM,CAAC,CAACC,KAAKC,aAAeA,WAAWD,MAAMH;AAC7D,EAEA,mDAAmD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/parseBoolean.ts"],"sourcesContent":["export function parseBoolean(s: string | boolean | number | null | undefined, strict: true): boolean | undefined;\nexport function parseBoolean(s: string | boolean | number | null | undefined | any): boolean;\nexport function parseBoolean(s?: string | boolean | number | null, strict = false): boolean | undefined {\n if (typeof s === 'boolean') {\n return s;\n }\n if (typeof s === 'string') {\n switch (s.toLowerCase()) {\n case 'f':\n case 'false':\n case '0':\n return false;\n case '1':\n case 't':\n case 'true':\n return true;\n }\n } else if (typeof s === 'number') {\n switch (s) {\n case 0:\n return false;\n case 1:\n return true;\n }\n }\n if (strict) {\n return undefined;\n }\n return Boolean(s);\n}\n"],"names":["parseBoolean","s","strict","toLowerCase","undefined","Boolean"],"mappings":"AAEA,OAAO,SAASA,aAAaC,CAAoC,EAAEC,SAAS,KAAK;IAC/E,IAAI,OAAOD,MAAM,WAAW;QAC1B,OAAOA;IACT;IACA,IAAI,OAAOA,MAAM,UAAU;QACzB,OAAQA,EAAEE,WAAW;YACnB,KAAK;YACL,KAAK;YACL,KAAK;gBACH,OAAO;YACT,KAAK;YACL,KAAK;YACL,KAAK;gBACH,OAAO;QACX;IACF,OAAO,IAAI,OAAOF,MAAM,UAAU;QAChC,OAAQA;YACN,KAAK;gBACH,OAAO;YACT,KAAK;gBACH,OAAO;QACX;IACF;IACA,IAAIC,QAAQ;QACV,OAAOE;IACT;IACA,OAAOC,QAAQJ;AACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/shallowClone.ts"],"sourcesContent":["export function shallowClone<T>(obj: T): T {\n if (!obj) {\n return obj;\n }\n if (Array.isArray(obj)) {\n return obj.slice() as T;\n }\n if (typeof obj === 'object') {\n return Object.assign({}, obj);\n }\n // skip Map, Set, WeakMap, WeakSet, Date, RegExp, etc.\n return obj;\n}\n"],"names":["shallowClone","obj","Array","isArray","slice","Object","assign"],"mappings":"AAAA,OAAO,SAASA,aAAgBC,GAAM;IACpC,IAAI,CAACA,KAAK;QACR,OAAOA;IACT;IACA,IAAIC,MAAMC,OAAO,CAACF,MAAM;QACtB,OAAOA,IAAIG,KAAK;IAClB;IACA,IAAI,OAAOH,QAAQ,UAAU;QAC3B,OAAOI,OAAOC,MAAM,CAAC,CAAC,GAAGL;IAC3B;IACA,sDAAsD;IACtD,OAAOA;AACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/langs/shallowEqual.ts"],"sourcesContent":["/**\n * shallow compare - support object, array\n *\n * @see {@link https://github.com/pmndrs/zustand/blob/main/src/shallow.ts zustand/src/shallow.ts}\n */\nexport function shallowEqual<T, U>(objA: T, objB: U) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (\n !Object.prototype.hasOwnProperty.call(objB, keysA[i]) ||\n !Object.is(objA[keysA[i] as keyof T], objB[keysA[i] as keyof U])\n ) {\n return false;\n }\n }\n return true;\n}\n"],"names":["shallowEqual","objA","objB","Object","is","keysA","keys","length","i","prototype","hasOwnProperty","call"],"mappings":"AAAA;;;;CAIC,GACD,OAAO,SAASA,aAAmBC,IAAO,EAAEC,IAAO;IACjD,IAAIC,OAAOC,EAAE,CAACH,MAAMC,OAAO;QACzB,OAAO;IACT;IACA,IAAI,OAAOD,SAAS,YAAYA,SAAS,QAAQ,OAAOC,SAAS,YAAYA,SAAS,MAAM;QAC1F,OAAO;IACT;IACA,MAAMG,QAAQF,OAAOG,IAAI,CAACL;IAC1B,IAAII,MAAME,MAAM,KAAKJ,OAAOG,IAAI,CAACJ,MAAMK,MAAM,EAAE;QAC7C,OAAO;IACT;IACA,IAAK,IAAIC,IAAI,GAAGA,IAAIH,MAAME,MAAM,EAAEC,IAAK;QACrC,IACE,CAACL,OAAOM,SAAS,CAACC,cAAc,CAACC,IAAI,CAACT,MAAMG,KAAK,CAACG,EAAE,KACpD,CAACL,OAAOC,EAAE,CAACH,IAAI,CAACI,KAAK,CAACG,EAAE,CAAY,EAAEN,IAAI,CAACG,KAAK,CAACG,EAAE,CAAY,GAC/D;YACA,OAAO;QACT;IACF;IACA,OAAO;AACT"}
|
package/lib/libs/ms.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/libs/ms.ts"],"sourcesContent":["// Helpers.\nconst s = 1000;\nconst m = s * 60;\nconst h = m * 60;\nconst d = h * 24;\nconst w = d * 7;\nconst y = d * 365.25;\n\ntype Unit =\n | 'Years'\n | 'Year'\n | 'Yrs'\n | 'Yr'\n | 'Y'\n | 'Weeks'\n | 'Week'\n | 'W'\n | 'Days'\n | 'Day'\n | 'D'\n | 'Hours'\n | 'Hour'\n | 'Hrs'\n | 'Hr'\n | 'H'\n | 'Minutes'\n | 'Minute'\n | 'Mins'\n | 'Min'\n | 'M'\n | 'Seconds'\n | 'Second'\n | 'Secs'\n | 'Sec'\n | 's'\n | 'Milliseconds'\n | 'Millisecond'\n | 'Msecs'\n | 'Msec'\n | 'Ms';\n\ntype UnitAnyCase = Unit | Uppercase<Unit> | Lowercase<Unit>;\n\nexport type StringValue = `${number}` | `${number}${UnitAnyCase}` | `${number} ${UnitAnyCase}`;\n\ninterface Options {\n /**\n * Set to `true` to use verbose formatting. Defaults to `false`.\n */\n long?: boolean;\n}\n\n/**\n * Parse or format the given value.\n *\n * @param value - The string or number to convert\n * @param options - Options for the conversion\n * @throws Error if `value` is not a non-empty string or a number\n */\nfunction msFn(value: StringValue, options?: Options): number;\nfunction msFn(value: number, options?: Options): string;\nfunction msFn(value: StringValue | number, options?: Options): number | string {\n try {\n if (typeof value === 'string' && value.length > 0) {\n return parse(value);\n } else if (typeof value === 'number' && isFinite(value)) {\n return options?.long ? fmtLong(value) : fmtShort(value);\n }\n throw new Error('Value is not a string or number.');\n } catch (error) {\n const message = isError(error)\n ? `${error.message}. value=${JSON.stringify(value)}`\n : 'An unknown error has occurred.';\n throw new Error(message);\n }\n}\n\n/**\n * Parse the given string and return milliseconds.\n *\n * @param str - A string to parse to milliseconds\n * @returns The parsed value in milliseconds, or `NaN` if the string can't be\n * parsed\n */\nfunction parse(str: string): number {\n if (str.length > 100) {\n throw new Error('Value exceeds the maximum length of 100 characters.');\n }\n const match =\n /^(?<value>-?(?:\\d+)?\\.?\\d+) *(?<type>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str,\n );\n // Named capture groups need to be manually typed today.\n // https://github.com/microsoft/TypeScript/issues/32098\n const groups = match?.groups as { value: string; type?: string } | undefined;\n if (!groups) {\n return NaN;\n }\n const n = parseFloat(groups.value);\n const type = (groups.type || 'ms').toLowerCase() as Lowercase<Unit>;\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n // This should never occur.\n throw new Error(`The unit ${type as string} was matched, but no matching case exists.`);\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default msFn;\n\n/**\n * Short format for `ms`.\n */\nfunction fmtShort(ms: number): StringValue {\n const msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return `${Math.round(ms / d)}d`;\n }\n if (msAbs >= h) {\n return `${Math.round(ms / h)}h`;\n }\n if (msAbs >= m) {\n return `${Math.round(ms / m)}m`;\n }\n if (msAbs >= s) {\n return `${Math.round(ms / s)}s`;\n }\n return `${ms}ms`;\n}\n\n/**\n * Long format for `ms`.\n */\nfunction fmtLong(ms: number): StringValue {\n const msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return `${ms} ms`;\n}\n\n/**\n * Pluralization helper.\n */\nfunction plural(ms: number, msAbs: number, n: number, name: string): StringValue {\n const isPlural = msAbs >= n * 1.5;\n return `${Math.round(ms / n)} ${name}${isPlural ? 's' : ''}` as StringValue;\n}\n\n/**\n * A type guard for errors.\n *\n * @param value - The value to test\n * @returns A boolean `true` if the provided value is an Error-like object\n */\nfunction isError(value: unknown): value is Error {\n return typeof value === 'object' && value !== null && 'message' in value;\n}\n"],"names":["s","m","h","d","w","y","msFn","value","options","length","parse","isFinite","long","fmtLong","fmtShort","Error","error","message","isError","JSON","stringify","str","match","exec","groups","NaN","n","parseFloat","type","toLowerCase","ms","msAbs","Math","abs","round","plural","name","isPlural"],"mappings":"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"}
|
package/lib/logging/Logger.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/Logger.ts"],"sourcesContent":["/**\n * Logger interface satisfies the `console`, `pino` logger interface.\n */\nexport interface Logger {\n trace(...args: any[]): void;\n\n debug(...args: any[]): void;\n\n info(...args: any[]): void;\n\n warn(...args: any[]): void;\n\n error(...args: any[]): void;\n\n /**\n * create child logger with given context\n */\n child?: (o: object) => Logger;\n}\n\nexport interface LoggerWithChild extends Logger {\n child: (o: Record<string, any>) => LoggerWithChild;\n}\n\nexport type LogLevel = 'error' | 'warn' | 'info' | 'debug' | 'trace';\n"],"names":[],"mappings":"AAAA;;CAEC,GAsBD,WAAqE"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { createLogger } from './createLogger.js';
|
|
2
|
-
export function createChildLogger(l, ctx) {
|
|
3
|
-
if (l.child) {
|
|
4
|
-
return l.child(ctx);
|
|
5
|
-
}
|
|
6
|
-
return createLogger((o)=>{
|
|
7
|
-
const { level, values, ...c } = o;
|
|
8
|
-
if (Object.keys(c).length) {
|
|
9
|
-
l[level](c, ...values);
|
|
10
|
-
} else {
|
|
11
|
-
l[level](...values);
|
|
12
|
-
}
|
|
13
|
-
}, ctx);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=createChildLogger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/createChildLogger.ts"],"sourcesContent":["import { createLogger } from './createLogger';\nimport type { Logger, LoggerWithChild } from './Logger';\n\nexport function createChildLogger(l: Logger, ctx: object): LoggerWithChild {\n if (l.child) {\n return l.child(ctx) as LoggerWithChild;\n }\n return createLogger((o) => {\n const { level, values, ...c } = o;\n if (Object.keys(c).length) {\n l[level](c, ...values);\n } else {\n l[level](...values);\n }\n }, ctx);\n}\n"],"names":["createLogger","createChildLogger","l","ctx","child","o","level","values","c","Object","keys","length"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAG9C,OAAO,SAASC,kBAAkBC,CAAS,EAAEC,GAAW;IACtD,IAAID,EAAEE,KAAK,EAAE;QACX,OAAOF,EAAEE,KAAK,CAACD;IACjB;IACA,OAAOH,aAAa,CAACK;QACnB,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAGC,GAAG,GAAGH;QAChC,IAAII,OAAOC,IAAI,CAACF,GAAGG,MAAM,EAAE;YACzBT,CAAC,CAACI,MAAM,CAACE,MAAMD;QACjB,OAAO;YACLL,CAAC,CAACI,MAAM,IAAIC;QACd;IACF,GAAGJ;AACL"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
export function createLogger(write = ({ level, values, ...ctx })=>{
|
|
2
|
-
({ values, ...ctx } = merge(ctx, values));
|
|
3
|
-
console[level]?.(...values, ctx);
|
|
4
|
-
}, context = {}) {
|
|
5
|
-
return {
|
|
6
|
-
trace: (...values)=>{
|
|
7
|
-
write({
|
|
8
|
-
...context,
|
|
9
|
-
level: 'trace',
|
|
10
|
-
values
|
|
11
|
-
});
|
|
12
|
-
},
|
|
13
|
-
debug: (...values)=>{
|
|
14
|
-
write({
|
|
15
|
-
...context,
|
|
16
|
-
level: 'debug',
|
|
17
|
-
values
|
|
18
|
-
});
|
|
19
|
-
},
|
|
20
|
-
info: (...values)=>{
|
|
21
|
-
write({
|
|
22
|
-
...context,
|
|
23
|
-
level: 'info',
|
|
24
|
-
values
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
warn: (...values)=>{
|
|
28
|
-
write({
|
|
29
|
-
...context,
|
|
30
|
-
level: 'warn',
|
|
31
|
-
values
|
|
32
|
-
});
|
|
33
|
-
},
|
|
34
|
-
error: (...values)=>{
|
|
35
|
-
write({
|
|
36
|
-
...context,
|
|
37
|
-
level: 'error',
|
|
38
|
-
values
|
|
39
|
-
});
|
|
40
|
-
},
|
|
41
|
-
child: (ctx)=>createLogger(write, {
|
|
42
|
-
...context,
|
|
43
|
-
...ctx
|
|
44
|
-
})
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
// logger.info({name:'wener'},'message')
|
|
48
|
-
// merge initial context with message object
|
|
49
|
-
function merge(ctx, values) {
|
|
50
|
-
if (values[0] && typeof values[0] === 'object') {
|
|
51
|
-
return {
|
|
52
|
-
...ctx,
|
|
53
|
-
...values[0],
|
|
54
|
-
values: values.slice(1)
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
...ctx,
|
|
59
|
-
values
|
|
60
|
-
};
|
|
61
|
-
} // https://github.com/nestjs/nest/blob/master/packages/common/services/console-logger.service.ts
|
|
62
|
-
|
|
63
|
-
//# sourceMappingURL=createLogger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/createLogger.ts"],"sourcesContent":["import type { LoggerWithChild, LogLevel } from './Logger';\n\nexport interface CreateLoggerOptions {\n name?: string;\n handler?: (o: { level: LogLevel; values: any[] } & Record<string | symbol, any>) => void;\n context?: Record<string, any>;\n levels?: LogLevel[];\n}\n\nexport function createLogger(\n write: (o: { level: LogLevel; values: any[] } & Record<string | symbol, any>) => void = ({\n level,\n values,\n ...ctx\n }) => {\n ({ values, ...ctx } = merge(ctx, values));\n console[level]?.(...values, ctx);\n },\n context: object = {},\n): LoggerWithChild {\n return {\n trace: (...values) => {\n write({ ...context, level: 'trace', values });\n },\n debug: (...values) => {\n write({ ...context, level: 'debug', values });\n },\n info: (...values) => {\n write({ ...context, level: 'info', values });\n },\n warn: (...values) => {\n write({ ...context, level: 'warn', values });\n },\n error: (...values) => {\n write({ ...context, level: 'error', values });\n },\n child: (ctx) => createLogger(write, { ...context, ...ctx }),\n };\n}\n\n// logger.info({name:'wener'},'message')\n// merge initial context with message object\nfunction merge(ctx: any, values: any[]) {\n if (values[0] && typeof values[0] === 'object') {\n return { ...ctx, ...values[0], values: values.slice(1) };\n }\n return { ...ctx, values };\n}\n\n// https://github.com/nestjs/nest/blob/master/packages/common/services/console-logger.service.ts\n"],"names":["createLogger","write","level","values","ctx","merge","console","context","trace","debug","info","warn","error","child","slice"],"mappings":"AASA,OAAO,SAASA,aACdC,QAAwF,CAAC,EACvFC,KAAK,EACLC,MAAM,EACN,GAAGC,KACJ;IACE,CAAA,EAAED,MAAM,EAAE,GAAGC,KAAK,GAAGC,MAAMD,KAAKD,OAAM;IACvCG,OAAO,CAACJ,MAAM,MAAMC,QAAQC;AAC9B,CAAC,EACDG,UAAkB,CAAC,CAAC;IAEpB,OAAO;QACLC,OAAO,CAAC,GAAGL;YACTF,MAAM;gBAAE,GAAGM,OAAO;gBAAEL,OAAO;gBAASC;YAAO;QAC7C;QACAM,OAAO,CAAC,GAAGN;YACTF,MAAM;gBAAE,GAAGM,OAAO;gBAAEL,OAAO;gBAASC;YAAO;QAC7C;QACAO,MAAM,CAAC,GAAGP;YACRF,MAAM;gBAAE,GAAGM,OAAO;gBAAEL,OAAO;gBAAQC;YAAO;QAC5C;QACAQ,MAAM,CAAC,GAAGR;YACRF,MAAM;gBAAE,GAAGM,OAAO;gBAAEL,OAAO;gBAAQC;YAAO;QAC5C;QACAS,OAAO,CAAC,GAAGT;YACTF,MAAM;gBAAE,GAAGM,OAAO;gBAAEL,OAAO;gBAASC;YAAO;QAC7C;QACAU,OAAO,CAACT,MAAQJ,aAAaC,OAAO;gBAAE,GAAGM,OAAO;gBAAE,GAAGH,GAAG;YAAC;IAC3D;AACF;AAEA,wCAAwC;AACxC,4CAA4C;AAC5C,SAASC,MAAMD,GAAQ,EAAED,MAAa;IACpC,IAAIA,MAAM,CAAC,EAAE,IAAI,OAAOA,MAAM,CAAC,EAAE,KAAK,UAAU;QAC9C,OAAO;YAAE,GAAGC,GAAG;YAAE,GAAGD,MAAM,CAAC,EAAE;YAAEA,QAAQA,OAAOW,KAAK,CAAC;QAAG;IACzD;IACA,OAAO;QAAE,GAAGV,GAAG;QAAED;IAAO;AAC1B,EAEA,gGAAgG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/createNoopLogger.ts"],"sourcesContent":["import type { LoggerWithChild } from './Logger';\n\nexport function createNoopLogger(): LoggerWithChild {\n const noop = (..._: any[]) => undefined;\n return {\n trace: noop,\n debug: noop,\n info: noop,\n warn: noop,\n error: noop,\n child: () => createNoopLogger(),\n };\n}\n"],"names":["createNoopLogger","noop","_","undefined","trace","debug","info","warn","error","child"],"mappings":"AAEA,OAAO,SAASA;IACd,MAAMC,OAAO,CAAC,GAAGC,IAAaC;IAC9B,OAAO;QACLC,OAAOH;QACPI,OAAOJ;QACPK,MAAML;QACNM,MAAMN;QACNO,OAAOP;QACPQ,OAAO,IAAMT;IACf;AACF"}
|
package/lib/logging/slog.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
var Level;
|
|
2
|
-
(function(Level) {
|
|
3
|
-
Level[Level["trace"] = -8] = "trace";
|
|
4
|
-
Level[Level["debug"] = -4] = "debug";
|
|
5
|
-
Level[Level["info"] = 0] = "info";
|
|
6
|
-
Level[Level["warn"] = 4] = "warn";
|
|
7
|
-
Level[Level["error"] = 8] = "error";
|
|
8
|
-
})(Level || (Level = {}));
|
|
9
|
-
function createLogFunc(opts) {
|
|
10
|
-
return (msg, ...args)=>{
|
|
11
|
-
const rec = {
|
|
12
|
-
message: String(msg),
|
|
13
|
-
level: opts.level,
|
|
14
|
-
attrs: Object.assign({}, opts.attrs)
|
|
15
|
-
};
|
|
16
|
-
if (args[0] && typeof args[0] === 'object') {
|
|
17
|
-
rec.attrs = Object.assign(rec.attrs, args[0]);
|
|
18
|
-
} else {
|
|
19
|
-
for(let i = 0; i < args.length; i += 2){
|
|
20
|
-
rec.attrs[String(args[i])] = args[i + 1];
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
opts.onRecord(rec);
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
function stringify(rec, opts = {}) {
|
|
27
|
-
const sb = [];
|
|
28
|
-
if (rec.time) {
|
|
29
|
-
sb.push(rec.time.toJSON());
|
|
30
|
-
}
|
|
31
|
-
rec.level && opts.level !== false && sb.push(rec.level.toUpperCase().padStart(5, ' '));
|
|
32
|
-
sb.push(rec.message);
|
|
33
|
-
if (rec.attrs) {
|
|
34
|
-
for (let [key, value] of Object.entries(rec.attrs)){
|
|
35
|
-
sb.push(`${key}=${JSON.stringify(value)}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return sb.join(' ');
|
|
39
|
-
}
|
|
40
|
-
export function createLogger(opts = {}) {
|
|
41
|
-
opts.time ??= typeof window === 'undefined';
|
|
42
|
-
const onRecord = (record)=>{
|
|
43
|
-
// can change options after create
|
|
44
|
-
const { writer = createLogger.writer, level, time } = opts;
|
|
45
|
-
if (level) {
|
|
46
|
-
if (Level[level] < Level[record.level]) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (time) {
|
|
51
|
-
record.time = new Date();
|
|
52
|
-
}
|
|
53
|
-
writer(record);
|
|
54
|
-
};
|
|
55
|
-
return {
|
|
56
|
-
trace: createLogFunc({
|
|
57
|
-
onRecord,
|
|
58
|
-
level: 'trace'
|
|
59
|
-
}),
|
|
60
|
-
debug: createLogFunc({
|
|
61
|
-
onRecord,
|
|
62
|
-
level: 'debug'
|
|
63
|
-
}),
|
|
64
|
-
info: createLogFunc({
|
|
65
|
-
onRecord,
|
|
66
|
-
level: 'info'
|
|
67
|
-
}),
|
|
68
|
-
warn: createLogFunc({
|
|
69
|
-
onRecord,
|
|
70
|
-
level: 'warn'
|
|
71
|
-
}),
|
|
72
|
-
error: createLogFunc({
|
|
73
|
-
onRecord,
|
|
74
|
-
level: 'error'
|
|
75
|
-
})
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
createLogger.writer = (record)=>{
|
|
79
|
-
const { level } = record;
|
|
80
|
-
console[level || 'info'](stringify(record));
|
|
81
|
-
};
|
|
82
|
-
let formatter = (open, close, replace = open)=>(input)=>{
|
|
83
|
-
let string = '' + input;
|
|
84
|
-
let index = string.indexOf(close, open.length);
|
|
85
|
-
return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
|
|
86
|
-
};
|
|
87
|
-
let replaceClose = (string, close, replace, index)=>{
|
|
88
|
-
let start = string.substring(0, index) + replace;
|
|
89
|
-
let end = string.substring(index + close.length);
|
|
90
|
-
let nextIndex = end.indexOf(close);
|
|
91
|
-
return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;
|
|
92
|
-
};
|
|
93
|
-
function getEnv() {
|
|
94
|
-
if (typeof process === 'object') {
|
|
95
|
-
return process.env;
|
|
96
|
-
}
|
|
97
|
-
return {};
|
|
98
|
-
}
|
|
99
|
-
function isColorSupported() {
|
|
100
|
-
if (typeof window === 'object') {
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
const env = getEnv();
|
|
104
|
-
if ('NO_COLOR' in env) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
if ('FORCE_COLOR' in env || 'CI' in env) {
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
export function createConsoleColors(enabled = isColorSupported()) {
|
|
113
|
-
return {
|
|
114
|
-
isColorSupported: enabled,
|
|
115
|
-
reset: enabled ? (s)=>`\x1b[0m${s}\x1b[0m` : String,
|
|
116
|
-
bold: enabled ? formatter('\x1b[1m', '\x1b[22m', '\x1b[22m\x1b[1m') : String,
|
|
117
|
-
dim: enabled ? formatter('\x1b[2m', '\x1b[22m', '\x1b[22m\x1b[2m') : String,
|
|
118
|
-
italic: enabled ? formatter('\x1b[3m', '\x1b[23m') : String,
|
|
119
|
-
underline: enabled ? formatter('\x1b[4m', '\x1b[24m') : String,
|
|
120
|
-
inverse: enabled ? formatter('\x1b[7m', '\x1b[27m') : String,
|
|
121
|
-
hidden: enabled ? formatter('\x1b[8m', '\x1b[28m') : String,
|
|
122
|
-
strikethrough: enabled ? formatter('\x1b[9m', '\x1b[29m') : String,
|
|
123
|
-
black: enabled ? formatter('\x1b[30m', '\x1b[39m') : String,
|
|
124
|
-
red: enabled ? formatter('\x1b[31m', '\x1b[39m') : String,
|
|
125
|
-
green: enabled ? formatter('\x1b[32m', '\x1b[39m') : String,
|
|
126
|
-
yellow: enabled ? formatter('\x1b[33m', '\x1b[39m') : String,
|
|
127
|
-
blue: enabled ? formatter('\x1b[34m', '\x1b[39m') : String,
|
|
128
|
-
magenta: enabled ? formatter('\x1b[35m', '\x1b[39m') : String,
|
|
129
|
-
cyan: enabled ? formatter('\x1b[36m', '\x1b[39m') : String,
|
|
130
|
-
white: enabled ? formatter('\x1b[37m', '\x1b[39m') : String,
|
|
131
|
-
gray: enabled ? formatter('\x1b[90m', '\x1b[39m') : String,
|
|
132
|
-
bgBlack: enabled ? formatter('\x1b[40m', '\x1b[49m') : String,
|
|
133
|
-
bgRed: enabled ? formatter('\x1b[41m', '\x1b[49m') : String,
|
|
134
|
-
bgGreen: enabled ? formatter('\x1b[42m', '\x1b[49m') : String,
|
|
135
|
-
bgYellow: enabled ? formatter('\x1b[43m', '\x1b[49m') : String,
|
|
136
|
-
bgBlue: enabled ? formatter('\x1b[44m', '\x1b[49m') : String,
|
|
137
|
-
bgMagenta: enabled ? formatter('\x1b[45m', '\x1b[49m') : String,
|
|
138
|
-
bgCyan: enabled ? formatter('\x1b[46m', '\x1b[49m') : String,
|
|
139
|
-
bgWhite: enabled ? formatter('\x1b[47m', '\x1b[49m') : String
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
//# sourceMappingURL=slog.js.map
|