@pezkuwi/util 14.0.1 → 14.0.4
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/LICENSE +201 -0
- package/README.md +4 -4
- package/array/chunk.d.ts +15 -0
- package/array/chunk.js +27 -0
- package/array/filter.d.ts +16 -0
- package/{src/array/filter.ts → array/filter.js} +3 -8
- package/array/flatten.d.ts +15 -0
- package/array/flatten.js +39 -0
- package/{src/array/index.ts → array/index.d.ts} +0 -4
- package/array/index.js +10 -0
- package/array/range.d.ts +16 -0
- package/{src/array/range.ts → array/range.js} +9 -15
- package/array/shuffle.d.ts +5 -0
- package/array/shuffle.js +19 -0
- package/array/unzip.d.ts +5 -0
- package/array/unzip.js +13 -0
- package/array/zip.d.ts +5 -0
- package/array/zip.js +12 -0
- package/assert.d.ts +29 -0
- package/{src/assert.ts → assert.js} +11 -22
- package/bi/consts.d.ts +90 -0
- package/{src/bi/consts.ts → bi/consts.js} +0 -21
- package/bi/helpers.d.ts +2 -0
- package/bi/helpers.js +16 -0
- package/{src/bi/index.ts → bi/index.d.ts} +0 -7
- package/bi/index.js +9 -0
- package/bi/min.d.ts +10 -0
- package/bi/min.js +11 -0
- package/bi/sqrt.d.ts +7 -0
- package/bi/sqrt.js +29 -0
- package/bi/toBigInt.d.ts +7 -0
- package/bi/toBigInt.js +25 -0
- package/bi/toHex.d.ts +7 -0
- package/bi/toHex.js +9 -0
- package/bi/toU8a.d.ts +7 -0
- package/bi/toU8a.js +49 -0
- package/bn/bn.d.ts +2 -0
- package/bn/bn.js +2 -0
- package/bn/consts.d.ts +91 -0
- package/{src/bn/consts.ts → bn/consts.js} +18 -39
- package/bn/fromHex.d.ts +1 -0
- package/bn/fromHex.js +1 -0
- package/{src/bn/index.ts → bn/index.d.ts} +0 -7
- package/bn/index.js +11 -0
- package/bn/min.d.ts +29 -0
- package/{src/bn/min.ts → bn/min.js} +2 -9
- package/bn/sqrt.d.ts +16 -0
- package/bn/sqrt.js +38 -0
- package/bn/toBn.d.ts +19 -0
- package/{src/bn/toBn.ts → bn/toBn.js} +14 -20
- package/bn/toHex.d.ts +18 -0
- package/{src/bn/toHex.ts → bn/toHex.js} +2 -9
- package/bn/toU8a.d.ts +17 -0
- package/bn/toU8a.js +33 -0
- package/{src/buffer/index.ts → buffer/index.d.ts} +0 -4
- package/buffer/index.js +4 -0
- package/buffer/toU8a.d.ts +15 -0
- package/{src/buffer/toU8a.ts → buffer/toU8a.js} +2 -5
- package/bundle-polkadot-util.js +4829 -0
- package/{src/bundle.ts → bundle.d.ts} +0 -7
- package/bundle.js +28 -0
- package/cjs/array/chunk.d.ts +15 -0
- package/cjs/array/chunk.js +30 -0
- package/cjs/array/filter.d.ts +16 -0
- package/cjs/array/filter.js +22 -0
- package/cjs/array/flatten.d.ts +15 -0
- package/cjs/array/flatten.js +42 -0
- package/cjs/array/index.d.ts +10 -0
- package/cjs/array/index.js +20 -0
- package/cjs/array/range.d.ts +16 -0
- package/cjs/array/range.js +28 -0
- package/cjs/array/shuffle.d.ts +5 -0
- package/cjs/array/shuffle.js +22 -0
- package/cjs/array/unzip.d.ts +5 -0
- package/cjs/array/unzip.js +16 -0
- package/cjs/array/zip.d.ts +5 -0
- package/cjs/array/zip.js +15 -0
- package/cjs/assert.d.ts +29 -0
- package/cjs/assert.js +44 -0
- package/cjs/bi/consts.d.ts +90 -0
- package/cjs/bi/consts.js +94 -0
- package/cjs/bi/helpers.d.ts +2 -0
- package/cjs/bi/helpers.js +19 -0
- package/cjs/bi/index.d.ts +9 -0
- package/cjs/bi/index.js +19 -0
- package/cjs/bi/min.d.ts +10 -0
- package/cjs/bi/min.js +14 -0
- package/cjs/bi/sqrt.d.ts +7 -0
- package/cjs/bi/sqrt.js +32 -0
- package/cjs/bi/toBigInt.d.ts +7 -0
- package/cjs/bi/toBigInt.js +28 -0
- package/cjs/bi/toHex.d.ts +7 -0
- package/cjs/bi/toHex.js +12 -0
- package/cjs/bi/toU8a.d.ts +7 -0
- package/cjs/bi/toU8a.js +52 -0
- package/cjs/bn/bn.d.ts +2 -0
- package/cjs/bn/bn.js +6 -0
- package/cjs/bn/consts.d.ts +91 -0
- package/cjs/bn/consts.js +94 -0
- package/cjs/bn/fromHex.d.ts +1 -0
- package/cjs/bn/fromHex.js +5 -0
- package/cjs/bn/index.d.ts +11 -0
- package/cjs/bn/index.js +23 -0
- package/cjs/bn/min.d.ts +29 -0
- package/cjs/bn/min.js +32 -0
- package/cjs/bn/sqrt.d.ts +16 -0
- package/cjs/bn/sqrt.js +41 -0
- package/cjs/bn/toBn.d.ts +19 -0
- package/cjs/bn/toBn.js +40 -0
- package/cjs/bn/toHex.d.ts +18 -0
- package/cjs/bn/toHex.js +23 -0
- package/cjs/bn/toU8a.d.ts +17 -0
- package/cjs/bn/toU8a.js +36 -0
- package/cjs/buffer/index.d.ts +4 -0
- package/cjs/buffer/index.js +8 -0
- package/cjs/buffer/toU8a.d.ts +15 -0
- package/cjs/buffer/toU8a.js +20 -0
- package/cjs/bundle.d.ts +28 -0
- package/cjs/bundle.js +33 -0
- package/cjs/compact/addLength.d.ts +13 -0
- package/cjs/compact/addLength.js +23 -0
- package/cjs/compact/defaults.d.ts +3 -0
- package/cjs/compact/defaults.js +5 -0
- package/cjs/compact/fromU8a.d.ts +22 -0
- package/cjs/compact/fromU8a.js +92 -0
- package/{src/compact/index.ts → cjs/compact/index.d.ts} +0 -4
- package/cjs/compact/index.js +32 -0
- package/cjs/compact/stripLength.d.ts +13 -0
- package/cjs/compact/stripLength.js +24 -0
- package/cjs/compact/toU8a.d.ts +14 -0
- package/cjs/compact/toU8a.js +48 -0
- package/cjs/compact/types.d.ts +1 -0
- package/cjs/compact/types.js +2 -0
- package/cjs/detectPackage.d.ts +17 -0
- package/cjs/detectPackage.js +100 -0
- package/cjs/extractTime.d.ts +14 -0
- package/cjs/extractTime.js +56 -0
- package/cjs/float/index.d.ts +1 -0
- package/cjs/float/index.js +5 -0
- package/cjs/float/toU8a.d.ts +11 -0
- package/cjs/float/toU8a.js +22 -0
- package/cjs/format/formatBalance.d.ts +54 -0
- package/cjs/format/formatBalance.js +88 -0
- package/cjs/format/formatDate.d.ts +5 -0
- package/cjs/format/formatDate.js +20 -0
- package/cjs/format/formatDecimal.d.ts +5 -0
- package/cjs/format/formatDecimal.js +19 -0
- package/cjs/format/formatElapsed.d.ts +7 -0
- package/cjs/format/formatElapsed.js +30 -0
- package/cjs/format/formatNumber.d.ts +14 -0
- package/cjs/format/formatNumber.js +14 -0
- package/cjs/format/getSeparator.d.ts +9 -0
- package/cjs/format/getSeparator.js +14 -0
- package/{src/format/index.ts → cjs/format/index.d.ts} +0 -3
- package/cjs/format/index.js +16 -0
- package/cjs/format/si.d.ts +9 -0
- package/cjs/format/si.js +45 -0
- package/cjs/has.d.ts +14 -0
- package/cjs/has.js +19 -0
- package/cjs/hex/addPrefix.d.ts +16 -0
- package/cjs/hex/addPrefix.js +23 -0
- package/cjs/hex/fixLength.d.ts +18 -0
- package/cjs/hex/fixLength.js +30 -0
- package/cjs/hex/hasPrefix.d.ts +16 -0
- package/cjs/hex/hasPrefix.js +21 -0
- package/{src/hex/index.ts → cjs/hex/index.d.ts} +0 -4
- package/cjs/hex/index.js +24 -0
- package/cjs/hex/stripPrefix.d.ts +15 -0
- package/cjs/hex/stripPrefix.js +30 -0
- package/cjs/hex/toBigInt.d.ts +6 -0
- package/cjs/hex/toBigInt.js +15 -0
- package/cjs/hex/toBn.d.ts +21 -0
- package/cjs/hex/toBn.js +35 -0
- package/cjs/hex/toNumber.d.ts +15 -0
- package/cjs/hex/toNumber.js +23 -0
- package/cjs/hex/toString.d.ts +15 -0
- package/cjs/hex/toString.js +22 -0
- package/cjs/hex/toU8a.d.ts +16 -0
- package/cjs/hex/toU8a.js +57 -0
- package/cjs/hex/toU8aBuffer.d.ts +16 -0
- package/cjs/hex/toU8aBuffer.js +43 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +5 -0
- package/cjs/is/array.d.ts +5 -0
- package/cjs/is/array.js +10 -0
- package/cjs/is/ascii.d.ts +8 -0
- package/cjs/is/ascii.js +43 -0
- package/cjs/is/bigInt.d.ts +15 -0
- package/{src/is/bigInt.ts → cjs/is/bigInt.js} +5 -5
- package/cjs/is/bn.d.ts +17 -0
- package/cjs/is/bn.js +22 -0
- package/cjs/is/boolean.d.ts +15 -0
- package/{src/is/boolean.ts → cjs/is/boolean.js} +5 -5
- package/cjs/is/buffer.d.ts +16 -0
- package/cjs/is/buffer.js +24 -0
- package/cjs/is/childClass.d.ts +17 -0
- package/cjs/is/childClass.js +26 -0
- package/cjs/is/class.d.ts +6 -0
- package/cjs/is/class.js +9 -0
- package/cjs/is/codec.d.ts +12 -0
- package/cjs/is/codec.js +9 -0
- package/cjs/is/compact.d.ts +13 -0
- package/cjs/is/compact.js +9 -0
- package/cjs/is/error.d.ts +15 -0
- package/{src/is/error.ts → cjs/is/error.js} +6 -8
- package/cjs/is/function.d.ts +17 -0
- package/cjs/is/function.js +20 -0
- package/cjs/is/helpers.d.ts +3 -0
- package/cjs/is/helpers.js +19 -0
- package/cjs/is/hex.d.ts +19 -0
- package/cjs/is/hex.js +27 -0
- package/{src/is/index.ts → cjs/is/index.d.ts} +0 -3
- package/cjs/is/index.js +66 -0
- package/cjs/is/instanceOf.d.ts +15 -0
- package/cjs/is/instanceOf.js +21 -0
- package/cjs/is/ip.d.ts +18 -0
- package/{src/is/ip.ts → cjs/is/ip.js} +9 -21
- package/cjs/is/jsonObject.d.ts +27 -0
- package/cjs/is/jsonObject.js +40 -0
- package/cjs/is/null.d.ts +15 -0
- package/{src/is/null.ts → cjs/is/null.js} +5 -5
- package/cjs/is/number.d.ts +15 -0
- package/{src/is/number.ts → cjs/is/number.js} +5 -5
- package/cjs/is/object.d.ts +18 -0
- package/cjs/is/object.js +21 -0
- package/cjs/is/observable.d.ts +16 -0
- package/cjs/is/observable.js +19 -0
- package/cjs/is/promise.d.ts +1 -0
- package/cjs/is/promise.js +5 -0
- package/cjs/is/riscv.d.ts +7 -0
- package/cjs/is/riscv.js +20 -0
- package/cjs/is/string.d.ts +16 -0
- package/{src/is/string.ts → cjs/is/string.js} +5 -7
- package/cjs/is/testChain.d.ts +1 -0
- package/cjs/is/testChain.js +10 -0
- package/cjs/is/toBigInt.d.ts +2 -0
- package/cjs/is/toBigInt.js +5 -0
- package/cjs/is/toBn.d.ts +2 -0
- package/cjs/is/toBn.js +5 -0
- package/cjs/is/u8a.d.ts +15 -0
- package/cjs/is/u8a.js +23 -0
- package/cjs/is/undefined.d.ts +15 -0
- package/{src/is/undefined.ts → cjs/is/undefined.js} +5 -6
- package/cjs/is/utf8.d.ts +7 -0
- package/cjs/is/utf8.js +200 -0
- package/cjs/is/wasm.d.ts +7 -0
- package/cjs/is/wasm.js +15 -0
- package/cjs/lazy.d.ts +14 -0
- package/cjs/lazy.js +55 -0
- package/cjs/logger.d.ts +17 -0
- package/cjs/logger.js +122 -0
- package/cjs/memoize.d.ts +10 -0
- package/cjs/memoize.js +33 -0
- package/cjs/nextTick.d.ts +5 -0
- package/cjs/nextTick.js +27 -0
- package/cjs/noop.d.ts +8 -0
- package/cjs/noop.js +16 -0
- package/{src/number/index.ts → cjs/number/index.d.ts} +0 -4
- package/cjs/number/index.js +10 -0
- package/cjs/number/toHex.d.ts +17 -0
- package/cjs/number/toHex.js +23 -0
- package/cjs/number/toU8a.d.ts +15 -0
- package/cjs/number/toU8a.js +22 -0
- package/cjs/object/clear.d.ts +5 -0
- package/cjs/object/clear.js +14 -0
- package/cjs/object/copy.d.ts +5 -0
- package/cjs/object/copy.js +11 -0
- package/cjs/object/entries.d.ts +9 -0
- package/cjs/object/entries.js +10 -0
- package/{src/object/index.ts → cjs/object/index.d.ts} +0 -3
- package/cjs/object/index.js +18 -0
- package/cjs/object/keys.d.ts +5 -0
- package/cjs/object/keys.js +10 -0
- package/cjs/object/property.d.ts +10 -0
- package/cjs/object/property.js +38 -0
- package/cjs/object/spread.d.ts +6 -0
- package/cjs/object/spread.js +34 -0
- package/cjs/object/values.d.ts +5 -0
- package/cjs/object/values.js +10 -0
- package/cjs/package.json +3 -0
- package/cjs/packageDetect.d.ts +1 -0
- package/cjs/packageDetect.js +7 -0
- package/cjs/packageInfo.d.ts +6 -0
- package/cjs/packageInfo.js +4 -0
- package/cjs/promisify.d.ts +16 -0
- package/{src/promisify.ts → cjs/promisify.js} +14 -14
- package/cjs/string/camelCase.d.ts +13 -0
- package/cjs/string/camelCase.js +62 -0
- package/{src/string/index.ts → cjs/string/index.d.ts} +0 -4
- package/cjs/string/index.js +18 -0
- package/cjs/string/lowerFirst.d.ts +31 -0
- package/cjs/string/lowerFirst.js +40 -0
- package/cjs/string/shorten.d.ts +16 -0
- package/{src/string/shorten.ts → cjs/string/shorten.js} +7 -9
- package/cjs/string/toHex.d.ts +16 -0
- package/cjs/string/toHex.js +22 -0
- package/cjs/string/toU8a.d.ts +16 -0
- package/cjs/string/toU8a.js +24 -0
- package/cjs/stringify.d.ts +6 -0
- package/cjs/stringify.js +18 -0
- package/cjs/types.d.ts +62 -0
- package/cjs/types.js +2 -0
- package/cjs/u8a/cmp.d.ts +17 -0
- package/cjs/u8a/cmp.js +49 -0
- package/cjs/u8a/concat.d.ts +24 -0
- package/cjs/u8a/concat.js +51 -0
- package/cjs/u8a/concatBuffer.d.ts +19 -0
- package/cjs/u8a/concatBuffer.js +29 -0
- package/cjs/u8a/empty.d.ts +7 -0
- package/cjs/u8a/empty.js +20 -0
- package/cjs/u8a/eq.d.ts +15 -0
- package/cjs/u8a/eq.js +40 -0
- package/cjs/u8a/fixLength.d.ts +17 -0
- package/cjs/u8a/fixLength.js +31 -0
- package/{src/u8a/index.ts → cjs/u8a/index.d.ts} +0 -4
- package/cjs/u8a/index.js +42 -0
- package/cjs/u8a/sorted.d.ts +15 -0
- package/cjs/u8a/sorted.js +21 -0
- package/cjs/u8a/toBigInt.d.ts +6 -0
- package/cjs/u8a/toBigInt.js +73 -0
- package/cjs/u8a/toBn.d.ts +21 -0
- package/cjs/u8a/toBn.js +81 -0
- package/cjs/u8a/toBuffer.d.ts +16 -0
- package/cjs/u8a/toBuffer.js +24 -0
- package/cjs/u8a/toFloat.d.ts +11 -0
- package/cjs/u8a/toFloat.js +20 -0
- package/cjs/u8a/toHex.d.ts +16 -0
- package/cjs/u8a/toHex.js +56 -0
- package/cjs/u8a/toHexBuffer.d.ts +16 -0
- package/cjs/u8a/toHexBuffer.js +25 -0
- package/cjs/u8a/toNumber.d.ts +6 -0
- package/cjs/u8a/toNumber.js +61 -0
- package/cjs/u8a/toString.d.ts +15 -0
- package/cjs/u8a/toString.js +24 -0
- package/cjs/u8a/toU8a.d.ts +19 -0
- package/cjs/u8a/toU8a.js +42 -0
- package/cjs/u8a/wrap.d.ts +22 -0
- package/cjs/u8a/wrap.js +49 -0
- package/compact/addLength.d.ts +13 -0
- package/{src/compact/addLength.ts → compact/addLength.js} +5 -9
- package/compact/defaults.d.ts +3 -0
- package/compact/defaults.js +2 -0
- package/compact/fromU8a.d.ts +22 -0
- package/compact/fromU8a.js +88 -0
- package/compact/index.d.ts +24 -0
- package/compact/index.js +24 -0
- package/compact/stripLength.d.ts +13 -0
- package/{src/compact/stripLength.ts → compact/stripLength.js} +7 -12
- package/compact/toU8a.d.ts +14 -0
- package/compact/toU8a.js +45 -0
- package/compact/types.d.ts +1 -0
- package/compact/types.js +1 -0
- package/detectPackage.d.ts +17 -0
- package/detectPackage.js +96 -0
- package/extractTime.d.ts +14 -0
- package/extractTime.js +53 -0
- package/float/index.d.ts +1 -0
- package/float/index.js +1 -0
- package/float/toU8a.d.ts +11 -0
- package/float/toU8a.js +19 -0
- package/format/formatBalance.d.ts +54 -0
- package/format/formatBalance.js +85 -0
- package/format/formatDate.d.ts +5 -0
- package/format/formatDate.js +17 -0
- package/format/formatDecimal.d.ts +5 -0
- package/format/formatDecimal.js +16 -0
- package/format/formatElapsed.d.ts +7 -0
- package/format/formatElapsed.js +27 -0
- package/format/formatNumber.d.ts +14 -0
- package/format/formatNumber.js +11 -0
- package/format/getSeparator.d.ts +9 -0
- package/format/getSeparator.js +11 -0
- package/format/index.d.ts +6 -0
- package/format/index.js +6 -0
- package/format/si.d.ts +9 -0
- package/format/si.js +40 -0
- package/has.d.ts +14 -0
- package/{src/has.ts → has.js} +1 -23
- package/hex/addPrefix.d.ts +16 -0
- package/{src/hex/addPrefix.ts → hex/addPrefix.js} +4 -10
- package/hex/fixLength.d.ts +18 -0
- package/{src/hex/fixLength.ts → hex/fixLength.js} +8 -17
- package/hex/hasPrefix.d.ts +16 -0
- package/{src/hex/hasPrefix.ts → hex/hasPrefix.js} +2 -8
- package/hex/index.d.ts +12 -0
- package/hex/index.js +12 -0
- package/hex/stripPrefix.d.ts +15 -0
- package/{src/hex/stripPrefix.ts → hex/stripPrefix.js} +11 -14
- package/hex/toBigInt.d.ts +6 -0
- package/hex/toBigInt.js +12 -0
- package/hex/toBn.d.ts +21 -0
- package/{src/hex/toBn.ts → hex/toBn.js} +11 -19
- package/hex/toNumber.d.ts +15 -0
- package/{src/hex/toNumber.ts → hex/toNumber.js} +4 -8
- package/hex/toString.d.ts +15 -0
- package/{src/hex/toString.ts → hex/toString.js} +2 -8
- package/hex/toU8a.d.ts +16 -0
- package/hex/toU8a.js +54 -0
- package/hex/toU8aBuffer.d.ts +16 -0
- package/hex/toU8aBuffer.js +40 -0
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/is/array.d.ts +5 -0
- package/is/array.js +7 -0
- package/is/ascii.d.ts +8 -0
- package/is/ascii.js +40 -0
- package/is/bigInt.d.ts +15 -0
- package/is/bigInt.js +17 -0
- package/is/bn.d.ts +17 -0
- package/{src/is/bn.ts → is/bn.js} +2 -6
- package/is/boolean.d.ts +15 -0
- package/is/boolean.js +17 -0
- package/is/buffer.d.ts +16 -0
- package/is/buffer.js +21 -0
- package/is/childClass.d.ts +17 -0
- package/is/childClass.js +23 -0
- package/is/class.d.ts +6 -0
- package/is/class.js +6 -0
- package/is/codec.d.ts +12 -0
- package/is/codec.js +6 -0
- package/is/compact.d.ts +13 -0
- package/is/compact.js +6 -0
- package/is/error.d.ts +15 -0
- package/is/error.js +18 -0
- package/is/function.d.ts +17 -0
- package/is/function.js +17 -0
- package/is/helpers.d.ts +3 -0
- package/is/helpers.js +14 -0
- package/is/hex.d.ts +19 -0
- package/is/hex.js +23 -0
- package/is/index.d.ts +33 -0
- package/is/index.js +33 -0
- package/is/instanceOf.d.ts +15 -0
- package/is/instanceOf.js +18 -0
- package/is/ip.d.ts +18 -0
- package/is/ip.js +41 -0
- package/is/jsonObject.d.ts +27 -0
- package/{src/is/jsonObject.ts → is/jsonObject.js} +11 -19
- package/is/null.d.ts +15 -0
- package/is/null.js +17 -0
- package/is/number.d.ts +15 -0
- package/is/number.js +17 -0
- package/is/object.d.ts +18 -0
- package/is/object.js +18 -0
- package/is/observable.d.ts +16 -0
- package/{src/is/observable.ts → is/observable.js} +1 -7
- package/is/promise.d.ts +1 -0
- package/is/promise.js +2 -0
- package/is/riscv.d.ts +7 -0
- package/{src/is/riscv.ts → is/riscv.js} +6 -16
- package/is/string.d.ts +16 -0
- package/is/string.js +17 -0
- package/is/testChain.d.ts +1 -0
- package/is/testChain.js +7 -0
- package/is/toBigInt.d.ts +2 -0
- package/is/toBigInt.js +2 -0
- package/is/toBn.d.ts +2 -0
- package/is/toBn.js +2 -0
- package/is/u8a.d.ts +15 -0
- package/is/u8a.js +20 -0
- package/is/undefined.d.ts +15 -0
- package/is/undefined.js +17 -0
- package/is/utf8.d.ts +7 -0
- package/is/utf8.js +197 -0
- package/is/wasm.d.ts +7 -0
- package/{src/is/wasm.ts → is/wasm.js} +2 -7
- package/lazy.d.ts +14 -0
- package/lazy.js +51 -0
- package/logger.d.ts +17 -0
- package/logger.js +118 -0
- package/memoize.d.ts +10 -0
- package/memoize.js +30 -0
- package/nextTick.d.ts +5 -0
- package/nextTick.js +24 -0
- package/noop.d.ts +8 -0
- package/noop.js +12 -0
- package/number/index.d.ts +5 -0
- package/number/index.js +5 -0
- package/number/toHex.d.ts +17 -0
- package/{src/number/toHex.ts → number/toHex.js} +3 -10
- package/number/toU8a.d.ts +15 -0
- package/{src/number/toU8a.ts → number/toU8a.js} +2 -8
- package/object/clear.d.ts +5 -0
- package/object/clear.js +11 -0
- package/object/copy.d.ts +5 -0
- package/object/copy.js +8 -0
- package/object/entries.d.ts +9 -0
- package/object/entries.js +7 -0
- package/object/index.d.ts +7 -0
- package/object/index.js +7 -0
- package/object/keys.d.ts +5 -0
- package/object/keys.js +7 -0
- package/object/property.d.ts +10 -0
- package/object/property.js +34 -0
- package/object/spread.d.ts +6 -0
- package/object/spread.js +31 -0
- package/object/values.d.ts +5 -0
- package/object/values.js +7 -0
- package/package.json +1957 -10
- package/packageDetect.d.ts +1 -0
- package/{src/packageDetect.ts → packageDetect.js} +0 -8
- package/packageInfo.d.ts +6 -0
- package/packageInfo.js +1 -0
- package/promisify.d.ts +16 -0
- package/promisify.js +27 -0
- package/string/camelCase.d.ts +13 -0
- package/string/camelCase.js +59 -0
- package/string/index.d.ts +8 -0
- package/string/index.js +8 -0
- package/string/lowerFirst.d.ts +31 -0
- package/{src/string/lowerFirst.ts → string/lowerFirst.js} +4 -13
- package/string/shorten.d.ts +16 -0
- package/string/shorten.js +19 -0
- package/string/toHex.d.ts +16 -0
- package/{src/string/toHex.ts → string/toHex.js} +2 -10
- package/string/toU8a.d.ts +16 -0
- package/{src/string/toU8a.ts → string/toU8a.js} +4 -11
- package/stringify.d.ts +6 -0
- package/stringify.js +15 -0
- package/types.d.ts +62 -0
- package/types.js +1 -0
- package/u8a/cmp.d.ts +17 -0
- package/u8a/cmp.js +46 -0
- package/u8a/concat.d.ts +24 -0
- package/u8a/concat.js +47 -0
- package/u8a/concatBuffer.d.ts +19 -0
- package/u8a/concatBuffer.js +26 -0
- package/u8a/empty.d.ts +7 -0
- package/u8a/empty.js +17 -0
- package/u8a/eq.d.ts +15 -0
- package/u8a/eq.js +37 -0
- package/u8a/fixLength.d.ts +17 -0
- package/u8a/fixLength.js +28 -0
- package/u8a/index.d.ts +18 -0
- package/u8a/index.js +18 -0
- package/u8a/sorted.d.ts +15 -0
- package/{src/u8a/sorted.ts → u8a/sorted.js} +2 -6
- package/u8a/toBigInt.d.ts +6 -0
- package/u8a/toBigInt.js +70 -0
- package/u8a/toBn.d.ts +21 -0
- package/u8a/toBn.js +78 -0
- package/u8a/toBuffer.d.ts +16 -0
- package/{src/u8a/toBuffer.ts → u8a/toBuffer.js} +4 -11
- package/u8a/toFloat.d.ts +11 -0
- package/u8a/toFloat.js +17 -0
- package/u8a/toHex.d.ts +16 -0
- package/u8a/toHex.js +53 -0
- package/u8a/toHexBuffer.d.ts +16 -0
- package/u8a/toHexBuffer.js +22 -0
- package/u8a/toNumber.d.ts +6 -0
- package/u8a/toNumber.js +58 -0
- package/u8a/toString.d.ts +15 -0
- package/{src/u8a/toString.ts → u8a/toString.js} +4 -9
- package/u8a/toU8a.d.ts +19 -0
- package/{src/u8a/toU8a.ts → u8a/toU8a.js} +16 -23
- package/u8a/wrap.d.ts +22 -0
- package/u8a/wrap.js +43 -0
- package/src/array/chunk.spec.ts +0 -29
- package/src/array/chunk.ts +0 -35
- package/src/array/filter.spec.ts +0 -20
- package/src/array/flatten.spec.ts +0 -33
- package/src/array/flatten.ts +0 -51
- package/src/array/range.spec.ts +0 -29
- package/src/array/shuffle.spec.ts +0 -39
- package/src/array/shuffle.ts +0 -27
- package/src/array/unzip.spec.ts +0 -14
- package/src/array/unzip.ts +0 -18
- package/src/array/zip.spec.ts +0 -26
- package/src/array/zip.ts +0 -17
- package/src/assert.spec.ts +0 -40
- package/src/bi/helpers.ts +0 -23
- package/src/bi/max.spec.ts +0 -32
- package/src/bi/min.spec.ts +0 -26
- package/src/bi/min.ts +0 -16
- package/src/bi/sqrt.spec.ts +0 -59
- package/src/bi/sqrt.ts +0 -43
- package/src/bi/toBigInt.spec.ts +0 -69
- package/src/bi/toBigInt.ts +0 -33
- package/src/bi/toHex.spec.ts +0 -56
- package/src/bi/toHex.ts +0 -16
- package/src/bi/toU8a.spec.ts +0 -99
- package/src/bi/toU8a.ts +0 -72
- package/src/bn/bn.ts +0 -6
- package/src/bn/consts.spec.ts +0 -38
- package/src/bn/fromHex.spec.ts +0 -15
- package/src/bn/fromHex.ts +0 -4
- package/src/bn/max.spec.ts +0 -32
- package/src/bn/min.spec.ts +0 -26
- package/src/bn/sqrt.spec.ts +0 -37
- package/src/bn/sqrt.ts +0 -50
- package/src/bn/toBn.spec.ts +0 -53
- package/src/bn/toHex.spec.ts +0 -50
- package/src/bn/toU8a.spec.ts +0 -60
- package/src/bn/toU8a.ts +0 -45
- package/src/buffer/toU8a.spec.ts +0 -20
- package/src/compact/addLength.spec.ts +0 -14
- package/src/compact/defaults.ts +0 -7
- package/src/compact/fromU8a.spec.ts +0 -84
- package/src/compact/fromU8a.ts +0 -109
- package/src/compact/stripLength.spec.ts +0 -17
- package/src/compact/toU8a.spec.ts +0 -59
- package/src/compact/toU8a.ts +0 -53
- package/src/compact/types.ts +0 -4
- package/src/detectPackage.spec.ts +0 -110
- package/src/detectPackage.ts +0 -138
- package/src/extractTime.spec.ts +0 -21
- package/src/extractTime.ts +0 -71
- package/src/float/index.ts +0 -4
- package/src/float/toU8a.spec.ts +0 -52
- package/src/float/toU8a.ts +0 -30
- package/src/format/formatBalance.spec.ts +0 -296
- package/src/format/formatBalance.ts +0 -177
- package/src/format/formatDate.spec.ts +0 -17
- package/src/format/formatDate.ts +0 -22
- package/src/format/formatDecimal.spec.ts +0 -28
- package/src/format/formatDecimal.ts +0 -22
- package/src/format/formatElapsed.spec.ts +0 -44
- package/src/format/formatElapsed.ts +0 -35
- package/src/format/formatNumber.spec.ts +0 -60
- package/src/format/formatNumber.ts +0 -29
- package/src/format/getSeparator.spec.ts +0 -53
- package/src/format/getSeparator.ts +0 -15
- package/src/format/si.ts +0 -52
- package/src/has.spec.ts +0 -12
- package/src/hex/addPrefix.spec.ts +0 -32
- package/src/hex/fixLength.spec.ts +0 -38
- package/src/hex/hasPrefix.spec.ts +0 -32
- package/src/hex/stripPrefix.spec.ts +0 -44
- package/src/hex/toBigInt.spec.ts +0 -74
- package/src/hex/toBigInt.ts +0 -19
- package/src/hex/toBn.spec.ts +0 -74
- package/src/hex/toNumber.spec.ts +0 -20
- package/src/hex/toString.spec.ts +0 -20
- package/src/hex/toU8a.spec.ts +0 -76
- package/src/hex/toU8a.ts +0 -68
- package/src/hex/toU8aBuffer.spec.ts +0 -38
- package/src/hex/toU8aBuffer.ts +0 -52
- package/src/index.spec.ts +0 -12
- package/src/index.ts +0 -6
- package/src/is/array.spec.ts +0 -20
- package/src/is/array.ts +0 -10
- package/src/is/ascii.spec.ts +0 -49
- package/src/is/ascii.ts +0 -52
- package/src/is/bigInt.spec.ts +0 -26
- package/src/is/bn.spec.ts +0 -21
- package/src/is/boolean.spec.ts +0 -26
- package/src/is/buffer.spec.ts +0 -26
- package/src/is/buffer.ts +0 -28
- package/src/is/childClass.spec.ts +0 -36
- package/src/is/childClass.ts +0 -29
- package/src/is/class.spec.ts +0 -37
- package/src/is/class.ts +0 -12
- package/src/is/codec.spec.ts +0 -52
- package/src/is/codec.ts +0 -26
- package/src/is/compact.spec.ts +0 -27
- package/src/is/compact.ts +0 -19
- package/src/is/error.spec.ts +0 -20
- package/src/is/function.spec.ts +0 -20
- package/src/is/function.ts +0 -23
- package/src/is/helpers.ts +0 -23
- package/src/is/hex.spec.ts +0 -77
- package/src/is/hex.ts +0 -36
- package/src/is/instanceOf.spec.ts +0 -48
- package/src/is/instanceOf.ts +0 -24
- package/src/is/ip.spec.ts +0 -50
- package/src/is/jsonObject.spec.ts +0 -51
- package/src/is/null.spec.ts +0 -20
- package/src/is/number.spec.ts +0 -20
- package/src/is/object.spec.ts +0 -32
- package/src/is/object.ts +0 -24
- package/src/is/observable.spec.ts +0 -26
- package/src/is/promise.spec.ts +0 -32
- package/src/is/promise.ts +0 -6
- package/src/is/riscv.spec.ts +0 -36
- package/src/is/string.spec.ts +0 -32
- package/src/is/testChain.spec.ts +0 -25
- package/src/is/testChain.ts +0 -12
- package/src/is/toBigInt.spec.ts +0 -22
- package/src/is/toBigInt.ts +0 -8
- package/src/is/toBn.spec.ts +0 -25
- package/src/is/toBn.ts +0 -8
- package/src/is/u8a.spec.ts +0 -42
- package/src/is/u8a.ts +0 -25
- package/src/is/undefined.spec.ts +0 -23
- package/src/is/utf8.spec.ts +0 -42
- package/src/is/utf8.ts +0 -207
- package/src/is/wasm.spec.ts +0 -20
- package/src/lazy.spec.ts +0 -71
- package/src/lazy.ts +0 -63
- package/src/logger.spec.ts +0 -188
- package/src/logger.ts +0 -160
- package/src/memoize.spec.ts +0 -79
- package/src/memoize.ts +0 -49
- package/src/mod.ts +0 -4
- package/src/nextTick.ts +0 -26
- package/src/noop.ts +0 -16
- package/src/number/toHex.spec.ts +0 -44
- package/src/number/toU8a.spec.ts +0 -50
- package/src/object/clear.spec.ts +0 -14
- package/src/object/clear.ts +0 -16
- package/src/object/copy.spec.ts +0 -17
- package/src/object/copy.ts +0 -12
- package/src/object/entries.spec.ts +0 -20
- package/src/object/entries.ts +0 -12
- package/src/object/keys.spec.ts +0 -19
- package/src/object/keys.ts +0 -10
- package/src/object/property.spec.ts +0 -149
- package/src/object/property.ts +0 -39
- package/src/object/spread.spec.ts +0 -36
- package/src/object/spread.ts +0 -38
- package/src/object/values.spec.ts +0 -19
- package/src/object/values.ts +0 -10
- package/src/packageInfo.ts +0 -6
- package/src/promisify.spec.ts +0 -50
- package/src/string/camelCase.spec.ts +0 -119
- package/src/string/camelCase.ts +0 -79
- package/src/string/lowerFirst.spec.ts +0 -41
- package/src/string/pascalCase.spec.ts +0 -26
- package/src/string/shorten.spec.ts +0 -38
- package/src/string/toHex.spec.ts +0 -26
- package/src/string/toU8a.spec.ts +0 -31
- package/src/string/upperFirst.spec.ts +0 -41
- package/src/stringify.spec.ts +0 -33
- package/src/stringify.ts +0 -20
- package/src/test/index.ts +0 -4
- package/src/test/performance.ts +0 -92
- package/src/types.ts +0 -100
- package/src/u8a/cmp.spec.ts +0 -62
- package/src/u8a/cmp.ts +0 -50
- package/src/u8a/concat.spec.ts +0 -42
- package/src/u8a/concat.ts +0 -60
- package/src/u8a/concatBuffer.ts +0 -34
- package/src/u8a/empty.spec.ts +0 -46
- package/src/u8a/empty.ts +0 -22
- package/src/u8a/eq.spec.ts +0 -113
- package/src/u8a/eq.ts +0 -46
- package/src/u8a/fixLength.spec.ts +0 -34
- package/src/u8a/fixLength.ts +0 -34
- package/src/u8a/sorted.spec.ts +0 -20
- package/src/u8a/toBigInt.spec.ts +0 -106
- package/src/u8a/toBigInt.ts +0 -100
- package/src/u8a/toBn.spec.ts +0 -106
- package/src/u8a/toBn.ts +0 -101
- package/src/u8a/toBuffer.spec.ts +0 -20
- package/src/u8a/toFloat.spec.ts +0 -86
- package/src/u8a/toFloat.ts +0 -26
- package/src/u8a/toHex.spec.ts +0 -94
- package/src/u8a/toHex.ts +0 -68
- package/src/u8a/toHexBuffer.spec.ts +0 -63
- package/src/u8a/toHexBuffer.ts +0 -30
- package/src/u8a/toNumber.spec.ts +0 -47
- package/src/u8a/toNumber.ts +0 -80
- package/src/u8a/toString.spec.ts +0 -36
- package/src/u8a/toU8a.spec.ts +0 -63
- package/src/u8a/wrap.spec.ts +0 -139
- package/src/u8a/wrap.ts +0 -65
- package/tsconfig.build.json +0 -19
- package/tsconfig.spec.json +0 -17
package/is/utf8.js
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { u8aToU8a } from '../u8a/toU8a.js';
|
|
2
|
+
import { isString } from './string.js';
|
|
3
|
+
/**
|
|
4
|
+
* @name isUtf8
|
|
5
|
+
* @summary Tests if the input is valid Utf8
|
|
6
|
+
* @description
|
|
7
|
+
* Checks to see if the input string or Uint8Array is valid Utf8
|
|
8
|
+
*/
|
|
9
|
+
export function isUtf8(value) {
|
|
10
|
+
if (!value) {
|
|
11
|
+
return isString(value);
|
|
12
|
+
}
|
|
13
|
+
const u8a = u8aToU8a(value);
|
|
14
|
+
const len = u8a.length;
|
|
15
|
+
let i = 0;
|
|
16
|
+
while (i < len) {
|
|
17
|
+
if (u8a[i] <= 0x7F) /* 00..7F */ {
|
|
18
|
+
i += 1;
|
|
19
|
+
}
|
|
20
|
+
else if (u8a[i] >= 0xC2 && u8a[i] <= 0xDF) /* C2..DF 80..BF */ {
|
|
21
|
+
if (i + 1 < len) /* Expect a 2nd byte */ {
|
|
22
|
+
if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0xBF) {
|
|
23
|
+
// *message = "After a first byte between C2 and DF, expecting a 2nd byte between 80 and BF";
|
|
24
|
+
// *faulty_bytes = 2;
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
// *message = "After a first byte between C2 and DF, expecting a 2nd byte.";
|
|
30
|
+
// *faulty_bytes = 1;
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
i += 2;
|
|
34
|
+
}
|
|
35
|
+
else if (u8a[i] === 0xE0) /* E0 A0..BF 80..BF */ {
|
|
36
|
+
if (i + 2 < len) /* Expect a 2nd and 3rd byte */ {
|
|
37
|
+
if (u8a[i + 1] < 0xA0 || u8a[i + 1] > 0xBF) {
|
|
38
|
+
// *message = "After a first byte of E0, expecting a 2nd byte between A0 and BF.";
|
|
39
|
+
// *faulty_bytes = 2;
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
|
|
43
|
+
// *message = "After a first byte of E0, expecting a 3nd byte between 80 and BF.";
|
|
44
|
+
// *faulty_bytes = 3;
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// *message = "After a first byte of E0, expecting two following bytes.";
|
|
50
|
+
// *faulty_bytes = 1;
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
i += 3;
|
|
54
|
+
}
|
|
55
|
+
else if (u8a[i] >= 0xE1 && u8a[i] <= 0xEC) /* E1..EC 80..BF 80..BF */ {
|
|
56
|
+
if (i + 2 < len) /* Expect a 2nd and 3rd byte */ {
|
|
57
|
+
if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0xBF) {
|
|
58
|
+
// *message = "After a first byte between E1 and EC, expecting the 2nd byte between 80 and BF.";
|
|
59
|
+
// *faulty_bytes = 2;
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
|
|
63
|
+
// *message = "After a first byte between E1 and EC, expecting the 3rd byte between 80 and BF.";
|
|
64
|
+
// *faulty_bytes = 3;
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// *message = "After a first byte between E1 and EC, expecting two following bytes.";
|
|
70
|
+
// *faulty_bytes = 1;
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
i += 3;
|
|
74
|
+
}
|
|
75
|
+
else if (u8a[i] === 0xED) /* ED 80..9F 80..BF */ {
|
|
76
|
+
if (i + 2 < len) /* Expect a 2nd and 3rd byte */ {
|
|
77
|
+
if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0x9F) {
|
|
78
|
+
// *message = "After a first byte of ED, expecting 2nd byte between 80 and 9F.";
|
|
79
|
+
// *faulty_bytes = 2;
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
|
|
83
|
+
// *message = "After a first byte of ED, expecting 3rd byte between 80 and BF.";
|
|
84
|
+
// *faulty_bytes = 3;
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
// *message = "After a first byte of ED, expecting two following bytes.";
|
|
90
|
+
// *faulty_bytes = 1;
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
i += 3;
|
|
94
|
+
}
|
|
95
|
+
else if (u8a[i] >= 0xEE && u8a[i] <= 0xEF) /* EE..EF 80..BF 80..BF */ {
|
|
96
|
+
if (i + 2 < len) /* Expect a 2nd and 3rd byte */ {
|
|
97
|
+
if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0xBF) {
|
|
98
|
+
// *message = "After a first byte between EE and EF, expecting 2nd byte between 80 and BF.";
|
|
99
|
+
// *faulty_bytes = 2;
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
|
|
103
|
+
// *message = "After a first byte between EE and EF, expecting 3rd byte between 80 and BF.";
|
|
104
|
+
// *faulty_bytes = 3;
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// *message = "After a first byte between EE and EF, two following bytes.";
|
|
110
|
+
// *faulty_bytes = 1;
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
i += 3;
|
|
114
|
+
}
|
|
115
|
+
else if (u8a[i] === 0xF0) /* F0 90..BF 80..BF 80..BF */ {
|
|
116
|
+
if (i + 3 < len) /* Expect a 2nd, 3rd 3th byte */ {
|
|
117
|
+
if (u8a[i + 1] < 0x90 || u8a[i + 1] > 0xBF) {
|
|
118
|
+
// *message = "After a first byte of F0, expecting 2nd byte between 90 and BF.";
|
|
119
|
+
// *faulty_bytes = 2;
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
|
|
123
|
+
// *message = "After a first byte of F0, expecting 3rd byte between 80 and BF.";
|
|
124
|
+
// *faulty_bytes = 3;
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
if (u8a[i + 3] < 0x80 || u8a[i + 3] > 0xBF) {
|
|
128
|
+
// *message = "After a first byte of F0, expecting 4th byte between 80 and BF.";
|
|
129
|
+
// *faulty_bytes = 4;
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// *message = "After a first byte of F0, expecting three following bytes.";
|
|
135
|
+
// *faulty_bytes = 1;
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
i += 4;
|
|
139
|
+
}
|
|
140
|
+
else if (u8a[i] >= 0xF1 && u8a[i] <= 0xF3) /* F1..F3 80..BF 80..BF 80..BF */ {
|
|
141
|
+
if (i + 3 < len) /* Expect a 2nd, 3rd 3th byte */ {
|
|
142
|
+
if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0xBF) {
|
|
143
|
+
// *message = "After a first byte of F1, F2, or F3, expecting a 2nd byte between 80 and BF.";
|
|
144
|
+
// *faulty_bytes = 2;
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
|
|
148
|
+
// *message = "After a first byte of F1, F2, or F3, expecting a 3rd byte between 80 and BF.";
|
|
149
|
+
// *faulty_bytes = 3;
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
if (u8a[i + 3] < 0x80 || u8a[i + 3] > 0xBF) {
|
|
153
|
+
// *message = "After a first byte of F1, F2, or F3, expecting a 4th byte between 80 and BF.";
|
|
154
|
+
// *faulty_bytes = 4;
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
// *message = "After a first byte of F1, F2, or F3, expecting three following bytes.";
|
|
160
|
+
// *faulty_bytes = 1;
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
i += 4;
|
|
164
|
+
}
|
|
165
|
+
else if (u8a[i] === 0xF4) /* F4 80..8F 80..BF 80..BF */ {
|
|
166
|
+
if (i + 3 < len) /* Expect a 2nd, 3rd 3th byte */ {
|
|
167
|
+
if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0x8F) {
|
|
168
|
+
// *message = "After a first byte of F4, expecting 2nd byte between 80 and 8F.";
|
|
169
|
+
// *faulty_bytes = 2;
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
|
|
173
|
+
// *message = "After a first byte of F4, expecting 3rd byte between 80 and BF.";
|
|
174
|
+
// *faulty_bytes = 3;
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
if (u8a[i + 3] < 0x80 || u8a[i + 3] > 0xBF) {
|
|
178
|
+
// *message = "After a first byte of F4, expecting 4th byte between 80 and BF.";
|
|
179
|
+
// *faulty_bytes = 4;
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
// *message = "After a first byte of F4, expecting three following bytes.";
|
|
185
|
+
// *faulty_bytes = 1;
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
i += 4;
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
// *message = "Expecting bytes in the following ranges: 00..7F C2..F4.";
|
|
192
|
+
// *faulty_bytes = 1;
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return true;
|
|
197
|
+
}
|
package/is/wasm.d.ts
ADDED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { u8aEq } from '../u8a/eq.js';
|
|
5
2
|
import { isU8a } from './u8a.js';
|
|
6
|
-
|
|
7
3
|
const WASM_MAGIC = new Uint8Array([0, 97, 115, 109]); // \0asm
|
|
8
|
-
|
|
9
4
|
/**
|
|
10
5
|
* @name isWasm
|
|
11
6
|
* @summary Tests if the input has a WASM header
|
|
12
7
|
* @description
|
|
13
8
|
* Checks to see if the input Uint8Array contains a valid WASM header
|
|
14
9
|
*/
|
|
15
|
-
export function isWasm
|
|
16
|
-
|
|
10
|
+
export function isWasm(value) {
|
|
11
|
+
return isU8a(value) && u8aEq(value.subarray(0, 4), WASM_MAGIC);
|
|
17
12
|
}
|
package/lazy.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type AnyFn = (...args: unknown[]) => unknown;
|
|
2
|
+
/**
|
|
3
|
+
* @name lazyMethod
|
|
4
|
+
* @description
|
|
5
|
+
* Creates a lazy, on-demand getter for the specific value. Upon get the value will be evaluated.
|
|
6
|
+
*/
|
|
7
|
+
export declare function lazyMethod<T, K, S>(result: Record<string, T> | AnyFn, item: K, creator: (item: K, index: number, self: S) => T, getName?: (item: K, index: number) => string, index?: number): void;
|
|
8
|
+
/**
|
|
9
|
+
* @name lazyMethods
|
|
10
|
+
* @description
|
|
11
|
+
* Creates lazy, on-demand getters for the specific values.
|
|
12
|
+
*/
|
|
13
|
+
export declare function lazyMethods<T, K, S>(result: Record<string, T>, items: readonly K[], creator: (item: K, index: number, self: S) => T, getName?: (item: K, index: number) => string): Record<string, T>;
|
|
14
|
+
export {};
|
package/lazy.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name lazyMethod
|
|
3
|
+
* @description
|
|
4
|
+
* Creates a lazy, on-demand getter for the specific value. Upon get the value will be evaluated.
|
|
5
|
+
*/
|
|
6
|
+
export function lazyMethod(result, item, creator, getName, index = 0) {
|
|
7
|
+
const name = getName
|
|
8
|
+
? getName(item, index)
|
|
9
|
+
: item.toString();
|
|
10
|
+
let value;
|
|
11
|
+
Object.defineProperty(result, name, {
|
|
12
|
+
// This allows for re-configuration with the embedded defineProperty below
|
|
13
|
+
// and ensures that on tested browsers and Node, it _will_ be redefined
|
|
14
|
+
// and thus short-circuited for future access
|
|
15
|
+
configurable: true,
|
|
16
|
+
enumerable: true,
|
|
17
|
+
// Use a function here, we don't want to capture the outer this, i.e.
|
|
18
|
+
// don't use arrow functions in this context since we have a this inside
|
|
19
|
+
get: function () {
|
|
20
|
+
// This check should _always_ be false and unneeded, since we override
|
|
21
|
+
// with a value below ... however we ensure we are quire vigilant against
|
|
22
|
+
// all environment failures, so we are rather be safe than sorry
|
|
23
|
+
if (value === undefined) {
|
|
24
|
+
value = creator(item, index, this);
|
|
25
|
+
try {
|
|
26
|
+
// re-define the property as a value, next time around this
|
|
27
|
+
// getter will only return the computed value
|
|
28
|
+
Object.defineProperty(this, name, { value });
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// ignore any errors, since this _should_ not happen due to
|
|
32
|
+
// the "configurable" property above. But if it ever does
|
|
33
|
+
// from here-on we will be the cached value the next time
|
|
34
|
+
// around (with a very slight dip in performance)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @name lazyMethods
|
|
43
|
+
* @description
|
|
44
|
+
* Creates lazy, on-demand getters for the specific values.
|
|
45
|
+
*/
|
|
46
|
+
export function lazyMethods(result, items, creator, getName) {
|
|
47
|
+
for (let i = 0, count = items.length; i < count; i++) {
|
|
48
|
+
lazyMethod(result, items[i], creator, getName, i);
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
package/logger.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Logger } from './types.js';
|
|
2
|
+
export declare function loggerFormat(value: unknown): unknown;
|
|
3
|
+
/**
|
|
4
|
+
* @name Logger
|
|
5
|
+
* @summary Creates a consistent log interface for messages
|
|
6
|
+
* @description
|
|
7
|
+
* Returns a `Logger` that has `.log`, `.error`, `.warn` and `.debug` (controlled with environment `DEBUG=typeA,typeB`) methods. Logging is done with a consistent prefix (type of logger, date) followed by the actual message using the underlying console.
|
|
8
|
+
* @example
|
|
9
|
+
* <BR>
|
|
10
|
+
*
|
|
11
|
+
* ```javascript
|
|
12
|
+
* import { logger } from '@polkadot/util';
|
|
13
|
+
*
|
|
14
|
+
* const l = logger('test');
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function logger(origin: string): Logger;
|
package/logger.js
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { xglobal } from '@pezkuwi/x-global';
|
|
2
|
+
import { formatDate } from './format/formatDate.js';
|
|
3
|
+
import { isBn } from './is/bn.js';
|
|
4
|
+
import { isBuffer } from './is/buffer.js';
|
|
5
|
+
import { isFunction } from './is/function.js';
|
|
6
|
+
import { isObject } from './is/object.js';
|
|
7
|
+
import { isU8a } from './is/u8a.js';
|
|
8
|
+
import { u8aToHex } from './u8a/toHex.js';
|
|
9
|
+
import { u8aToU8a } from './u8a/toU8a.js';
|
|
10
|
+
import { noop } from './noop.js';
|
|
11
|
+
const logTo = {
|
|
12
|
+
debug: 'log',
|
|
13
|
+
error: 'error',
|
|
14
|
+
log: 'log',
|
|
15
|
+
warn: 'warn'
|
|
16
|
+
};
|
|
17
|
+
function formatOther(value) {
|
|
18
|
+
if (value && isObject(value) && value.constructor === Object) {
|
|
19
|
+
const result = {};
|
|
20
|
+
for (const [k, v] of Object.entries(value)) {
|
|
21
|
+
result[k] = loggerFormat(v);
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
export function loggerFormat(value) {
|
|
28
|
+
if (Array.isArray(value)) {
|
|
29
|
+
return value.map(loggerFormat);
|
|
30
|
+
}
|
|
31
|
+
else if (isBn(value)) {
|
|
32
|
+
return value.toString();
|
|
33
|
+
}
|
|
34
|
+
else if (isU8a(value) || isBuffer(value)) {
|
|
35
|
+
return u8aToHex(u8aToU8a(value));
|
|
36
|
+
}
|
|
37
|
+
return formatOther(value);
|
|
38
|
+
}
|
|
39
|
+
function formatWithLength(maxLength) {
|
|
40
|
+
return (v) => {
|
|
41
|
+
if (maxLength <= 0) {
|
|
42
|
+
return v;
|
|
43
|
+
}
|
|
44
|
+
const r = `${v}`;
|
|
45
|
+
return r.length < maxLength
|
|
46
|
+
? v
|
|
47
|
+
: `${r.substring(0, maxLength)} ...`;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function apply(log, type, values, maxSize = -1) {
|
|
51
|
+
if (values.length === 1 && isFunction(values[0])) {
|
|
52
|
+
const fnResult = values[0]();
|
|
53
|
+
return apply(log, type, Array.isArray(fnResult) ? fnResult : [fnResult], maxSize);
|
|
54
|
+
}
|
|
55
|
+
console[logTo[log]](formatDate(new Date()), type, ...values
|
|
56
|
+
.map(loggerFormat)
|
|
57
|
+
.map(formatWithLength(maxSize)));
|
|
58
|
+
}
|
|
59
|
+
function isDebugOn(e, type) {
|
|
60
|
+
return !!e && (e === '*' ||
|
|
61
|
+
type === e ||
|
|
62
|
+
(e.endsWith('*') &&
|
|
63
|
+
type.startsWith(e.slice(0, -1))));
|
|
64
|
+
}
|
|
65
|
+
function isDebugOff(e, type) {
|
|
66
|
+
return !!e && (e.startsWith('-') &&
|
|
67
|
+
(type === e.slice(1) ||
|
|
68
|
+
(e.endsWith('*') &&
|
|
69
|
+
type.startsWith(e.slice(1, -1)))));
|
|
70
|
+
}
|
|
71
|
+
function getDebugFlag(env, type) {
|
|
72
|
+
let flag = false;
|
|
73
|
+
for (const e of env) {
|
|
74
|
+
if (isDebugOn(e, type)) {
|
|
75
|
+
flag = true;
|
|
76
|
+
}
|
|
77
|
+
else if (isDebugOff(e, type)) {
|
|
78
|
+
flag = false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return flag;
|
|
82
|
+
}
|
|
83
|
+
function parseEnv(type) {
|
|
84
|
+
const maxSize = parseInt(xglobal.process?.env?.['DEBUG_MAX'] || '-1', 10);
|
|
85
|
+
return [
|
|
86
|
+
getDebugFlag((xglobal.process?.env?.['DEBUG'] || '').toLowerCase().split(','), type),
|
|
87
|
+
isNaN(maxSize)
|
|
88
|
+
? -1
|
|
89
|
+
: maxSize
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @name Logger
|
|
94
|
+
* @summary Creates a consistent log interface for messages
|
|
95
|
+
* @description
|
|
96
|
+
* Returns a `Logger` that has `.log`, `.error`, `.warn` and `.debug` (controlled with environment `DEBUG=typeA,typeB`) methods. Logging is done with a consistent prefix (type of logger, date) followed by the actual message using the underlying console.
|
|
97
|
+
* @example
|
|
98
|
+
* <BR>
|
|
99
|
+
*
|
|
100
|
+
* ```javascript
|
|
101
|
+
* import { logger } from '@pezkuwi/util';
|
|
102
|
+
*
|
|
103
|
+
* const l = logger('test');
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export function logger(origin) {
|
|
107
|
+
const type = `${origin.toUpperCase()}:`.padStart(16);
|
|
108
|
+
const [isDebug, maxSize] = parseEnv(origin.toLowerCase());
|
|
109
|
+
return {
|
|
110
|
+
debug: isDebug
|
|
111
|
+
? (...values) => apply('debug', type, values, maxSize)
|
|
112
|
+
: noop,
|
|
113
|
+
error: (...values) => apply('error', type, values),
|
|
114
|
+
log: (...values) => apply('log', type, values),
|
|
115
|
+
noop,
|
|
116
|
+
warn: (...values) => apply('warn', type, values)
|
|
117
|
+
};
|
|
118
|
+
}
|
package/memoize.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Memoized } from './types.js';
|
|
2
|
+
interface Options {
|
|
3
|
+
getInstanceId?: () => string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* @name memoize
|
|
7
|
+
* @description Memomize the function with a specific instanceId
|
|
8
|
+
*/
|
|
9
|
+
export declare function memoize<T, F extends (...args: any[]) => T>(fn: F, { getInstanceId }?: Options): Memoized<F>;
|
|
10
|
+
export {};
|
package/memoize.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { stringify } from './stringify.js';
|
|
2
|
+
function defaultGetId() {
|
|
3
|
+
return 'none';
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* @name memoize
|
|
7
|
+
* @description Memomize the function with a specific instanceId
|
|
8
|
+
*/
|
|
9
|
+
export function memoize(fn, { getInstanceId = defaultGetId } = {}) {
|
|
10
|
+
const cache = {};
|
|
11
|
+
const memoized = (...args) => {
|
|
12
|
+
const stringParams = stringify(args);
|
|
13
|
+
const instanceId = getInstanceId();
|
|
14
|
+
if (!cache[instanceId]) {
|
|
15
|
+
cache[instanceId] = {};
|
|
16
|
+
}
|
|
17
|
+
if (cache[instanceId][stringParams] === undefined) {
|
|
18
|
+
cache[instanceId][stringParams] = fn(...args);
|
|
19
|
+
}
|
|
20
|
+
return cache[instanceId][stringParams];
|
|
21
|
+
};
|
|
22
|
+
memoized.unmemoize = (...args) => {
|
|
23
|
+
const stringParams = stringify(args);
|
|
24
|
+
const instanceId = getInstanceId();
|
|
25
|
+
if (cache[instanceId]?.[stringParams] !== undefined) {
|
|
26
|
+
delete cache[instanceId][stringParams];
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
return memoized;
|
|
30
|
+
}
|
package/nextTick.d.ts
ADDED
package/nextTick.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name nextTick
|
|
3
|
+
* @description Defer the operation to the queue for evaluation on the next tick
|
|
4
|
+
*/
|
|
5
|
+
export function nextTick(onExec, onError) {
|
|
6
|
+
// While Promise.resolve().then(...) would defer to the nextTick, this
|
|
7
|
+
// actually does not play as nicely in browsers like the setTimeout(...)
|
|
8
|
+
// approach. So the safer, though less optimal approach is the one taken here
|
|
9
|
+
setTimeout(() => {
|
|
10
|
+
Promise
|
|
11
|
+
.resolve()
|
|
12
|
+
.then(() => {
|
|
13
|
+
onExec();
|
|
14
|
+
})
|
|
15
|
+
.catch((error) => {
|
|
16
|
+
if (onError) {
|
|
17
|
+
onError(error);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
console.error(error);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}, 0);
|
|
24
|
+
}
|
package/noop.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A sharable identity function. Returns the input as-is with no transformation applied.
|
|
3
|
+
*/
|
|
4
|
+
export declare function identity<T>(value: T): T;
|
|
5
|
+
/**
|
|
6
|
+
* A sharable noop function. As the name suggests, does nothing
|
|
7
|
+
*/
|
|
8
|
+
export declare function noop(): void;
|
package/noop.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A sharable identity function. Returns the input as-is with no transformation applied.
|
|
3
|
+
*/
|
|
4
|
+
export function identity(value) {
|
|
5
|
+
return value;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A sharable noop function. As the name suggests, does nothing
|
|
9
|
+
*/
|
|
10
|
+
export function noop() {
|
|
11
|
+
// noop
|
|
12
|
+
}
|
package/number/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HexString } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* @name numberToHex
|
|
4
|
+
* @summary Creates a hex value from a number.
|
|
5
|
+
* @description
|
|
6
|
+
* `null`/`undefined`/`NaN` inputs returns an empty `0x` result. `number` input values return the actual bytes value converted to a `hex`. With `bitLength` set, it converts the number to the equivalent size.
|
|
7
|
+
* @example
|
|
8
|
+
* <BR>
|
|
9
|
+
*
|
|
10
|
+
* ```javascript
|
|
11
|
+
* import { numberToHex } from '@polkadot/util';
|
|
12
|
+
*
|
|
13
|
+
* numberToHex(0x1234); // => '0x1234'
|
|
14
|
+
* numberToHex(0x1234, 32); // => 0x00001234
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function numberToHex(value?: number | null, bitLength?: number): HexString;
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import type { HexString } from '../types.js';
|
|
5
|
-
|
|
6
1
|
import { hexFixLength } from '../hex/fixLength.js';
|
|
7
|
-
|
|
8
2
|
/**
|
|
9
3
|
* @name numberToHex
|
|
10
4
|
* @summary Creates a hex value from a number.
|
|
@@ -20,8 +14,7 @@ import { hexFixLength } from '../hex/fixLength.js';
|
|
|
20
14
|
* numberToHex(0x1234, 32); // => 0x00001234
|
|
21
15
|
* ```
|
|
22
16
|
*/
|
|
23
|
-
export function numberToHex
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return hexFixLength(hex.length % 2 ? `0${hex}` : hex, bitLength, true);
|
|
17
|
+
export function numberToHex(value, bitLength = -1) {
|
|
18
|
+
const hex = (!value || Number.isNaN(value) ? 0 : value).toString(16);
|
|
19
|
+
return hexFixLength(hex.length % 2 ? `0${hex}` : hex, bitLength, true);
|
|
27
20
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name numberToU8a
|
|
3
|
+
* @summary Creates a Uint8Array object from a number.
|
|
4
|
+
* @description
|
|
5
|
+
* `null`/`undefined`/`NaN` inputs returns an empty `Uint8Array` result. `number` input values return the actual bytes value converted to a `Uint8Array`. With `bitLength`, it converts the value to the equivalent size.
|
|
6
|
+
* @example
|
|
7
|
+
* <BR>
|
|
8
|
+
*
|
|
9
|
+
* ```javascript
|
|
10
|
+
* import { numberToU8a } from '@polkadot/util';
|
|
11
|
+
*
|
|
12
|
+
* numberToU8a(0x1234); // => [0x12, 0x34]
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function numberToU8a(value?: number | null, bitLength?: number): Uint8Array;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { hexToU8a } from '../hex/toU8a.js';
|
|
5
2
|
import { numberToHex } from './toHex.js';
|
|
6
|
-
|
|
7
3
|
/**
|
|
8
4
|
* @name numberToU8a
|
|
9
5
|
* @summary Creates a Uint8Array object from a number.
|
|
@@ -18,8 +14,6 @@ import { numberToHex } from './toHex.js';
|
|
|
18
14
|
* numberToU8a(0x1234); // => [0x12, 0x34]
|
|
19
15
|
* ```
|
|
20
16
|
*/
|
|
21
|
-
export function numberToU8a
|
|
22
|
-
|
|
23
|
-
numberToHex(value, bitLength)
|
|
24
|
-
);
|
|
17
|
+
export function numberToU8a(value, bitLength = -1) {
|
|
18
|
+
return hexToU8a(numberToHex(value, bitLength));
|
|
25
19
|
}
|
package/object/clear.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name objectClear
|
|
3
|
+
* @summary Removes all the keys from the input object
|
|
4
|
+
*/
|
|
5
|
+
export function objectClear(value) {
|
|
6
|
+
const keys = Object.keys(value);
|
|
7
|
+
for (let i = 0, count = keys.length; i < count; i++) {
|
|
8
|
+
delete value[keys[i]];
|
|
9
|
+
}
|
|
10
|
+
return value;
|
|
11
|
+
}
|
package/object/copy.d.ts
ADDED
package/object/copy.js
ADDED