@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/u8a/eq.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aEq
|
|
3
|
+
* @summary Compares two Uint8Arrays for equality.
|
|
4
|
+
* @description
|
|
5
|
+
* For `UInt8Array` (or hex string) input values true if there is a match.
|
|
6
|
+
* @example
|
|
7
|
+
* <BR>
|
|
8
|
+
*
|
|
9
|
+
* ```javascript
|
|
10
|
+
* import { u8aEq } from '@polkadot/util';
|
|
11
|
+
*
|
|
12
|
+
* u8aEq(new Uint8Array([0x68, 0x65]), new Uint8Array([0x68, 0x65])); // true
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function u8aEq(a: string | Uint8Array, b: string | Uint8Array): boolean;
|
package/u8a/eq.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { u8aToU8a } from './toU8a.js';
|
|
2
|
+
/**
|
|
3
|
+
* @name u8aEq
|
|
4
|
+
* @summary Compares two Uint8Arrays for equality.
|
|
5
|
+
* @description
|
|
6
|
+
* For `UInt8Array` (or hex string) input values true if there is a match.
|
|
7
|
+
* @example
|
|
8
|
+
* <BR>
|
|
9
|
+
*
|
|
10
|
+
* ```javascript
|
|
11
|
+
* import { u8aEq } from '@pezkuwi/util';
|
|
12
|
+
*
|
|
13
|
+
* u8aEq(new Uint8Array([0x68, 0x65]), new Uint8Array([0x68, 0x65])); // true
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export function u8aEq(a, b) {
|
|
17
|
+
const u8aa = u8aToU8a(a);
|
|
18
|
+
const u8ab = u8aToU8a(b);
|
|
19
|
+
if (u8aa.length === u8ab.length) {
|
|
20
|
+
const dvA = new DataView(u8aa.buffer, u8aa.byteOffset);
|
|
21
|
+
const dvB = new DataView(u8ab.buffer, u8ab.byteOffset);
|
|
22
|
+
const mod = (u8aa.length % 4) | 0;
|
|
23
|
+
const length = (u8aa.length - mod) | 0;
|
|
24
|
+
for (let i = 0; i < length; i += 4) {
|
|
25
|
+
if (dvA.getUint32(i) !== dvB.getUint32(i)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
for (let i = length, count = u8aa.length; i < count; i++) {
|
|
30
|
+
if (u8aa[i] !== u8ab[i]) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aFixLength
|
|
3
|
+
* @summary Shifts a Uint8Array to a specific bitLength
|
|
4
|
+
* @description
|
|
5
|
+
* Returns a uint8Array with the specified number of bits contained in the return value. (If bitLength is -1, length checking is not done). Values with more bits are trimmed to the specified length.
|
|
6
|
+
* @example
|
|
7
|
+
* <BR>
|
|
8
|
+
*
|
|
9
|
+
* ```javascript
|
|
10
|
+
* import { u8aFixLength } from '@polkadot/util';
|
|
11
|
+
*
|
|
12
|
+
* u8aFixLength('0x12') // => 0x12
|
|
13
|
+
* u8aFixLength('0x12', 16) // => 0x0012
|
|
14
|
+
* u8aFixLength('0x1234', 8) // => 0x12
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function u8aFixLength(value: Uint8Array, bitLength?: number, atStart?: boolean): Uint8Array;
|
package/u8a/fixLength.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aFixLength
|
|
3
|
+
* @summary Shifts a Uint8Array to a specific bitLength
|
|
4
|
+
* @description
|
|
5
|
+
* Returns a uint8Array with the specified number of bits contained in the return value. (If bitLength is -1, length checking is not done). Values with more bits are trimmed to the specified length.
|
|
6
|
+
* @example
|
|
7
|
+
* <BR>
|
|
8
|
+
*
|
|
9
|
+
* ```javascript
|
|
10
|
+
* import { u8aFixLength } from '@pezkuwi/util';
|
|
11
|
+
*
|
|
12
|
+
* u8aFixLength('0x12') // => 0x12
|
|
13
|
+
* u8aFixLength('0x12', 16) // => 0x0012
|
|
14
|
+
* u8aFixLength('0x1234', 8) // => 0x12
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export function u8aFixLength(value, bitLength = -1, atStart = false) {
|
|
18
|
+
const byteLength = Math.ceil(bitLength / 8);
|
|
19
|
+
if (bitLength === -1 || value.length === byteLength) {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
else if (value.length > byteLength) {
|
|
23
|
+
return value.subarray(0, byteLength);
|
|
24
|
+
}
|
|
25
|
+
const result = new Uint8Array(byteLength);
|
|
26
|
+
result.set(value, atStart ? 0 : (byteLength - value.length));
|
|
27
|
+
return result;
|
|
28
|
+
}
|
package/u8a/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @summary Utility methods to convert to and from `Uint8Array` objects
|
|
3
|
+
*/
|
|
4
|
+
export { u8aCmp } from './cmp.js';
|
|
5
|
+
export { u8aConcat, u8aConcatStrict } from './concat.js';
|
|
6
|
+
export { u8aEmpty } from './empty.js';
|
|
7
|
+
export { u8aEq } from './eq.js';
|
|
8
|
+
export { u8aFixLength } from './fixLength.js';
|
|
9
|
+
export { u8aSorted } from './sorted.js';
|
|
10
|
+
export { u8aToBigInt } from './toBigInt.js';
|
|
11
|
+
export { u8aToBn } from './toBn.js';
|
|
12
|
+
export { u8aToBuffer } from './toBuffer.js';
|
|
13
|
+
export { u8aToFloat } from './toFloat.js';
|
|
14
|
+
export { u8aToHex } from './toHex.js';
|
|
15
|
+
export { u8aToNumber } from './toNumber.js';
|
|
16
|
+
export { u8aToString } from './toString.js';
|
|
17
|
+
export { u8aToU8a } from './toU8a.js';
|
|
18
|
+
export { U8A_WRAP_ETHEREUM, U8A_WRAP_POSTFIX, U8A_WRAP_PREFIX, u8aIsWrapped, u8aUnwrapBytes, u8aWrapBytes } from './wrap.js';
|
package/u8a/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @summary Utility methods to convert to and from `Uint8Array` objects
|
|
3
|
+
*/
|
|
4
|
+
export { u8aCmp } from './cmp.js';
|
|
5
|
+
export { u8aConcat, u8aConcatStrict } from './concat.js';
|
|
6
|
+
export { u8aEmpty } from './empty.js';
|
|
7
|
+
export { u8aEq } from './eq.js';
|
|
8
|
+
export { u8aFixLength } from './fixLength.js';
|
|
9
|
+
export { u8aSorted } from './sorted.js';
|
|
10
|
+
export { u8aToBigInt } from './toBigInt.js';
|
|
11
|
+
export { u8aToBn } from './toBn.js';
|
|
12
|
+
export { u8aToBuffer } from './toBuffer.js';
|
|
13
|
+
export { u8aToFloat } from './toFloat.js';
|
|
14
|
+
export { u8aToHex } from './toHex.js';
|
|
15
|
+
export { u8aToNumber } from './toNumber.js';
|
|
16
|
+
export { u8aToString } from './toString.js';
|
|
17
|
+
export { u8aToU8a } from './toU8a.js';
|
|
18
|
+
export { U8A_WRAP_ETHEREUM, U8A_WRAP_POSTFIX, U8A_WRAP_PREFIX, u8aIsWrapped, u8aUnwrapBytes, u8aWrapBytes } from './wrap.js';
|
package/u8a/sorted.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aSorted
|
|
3
|
+
* @summary Sorts an array of Uint8Arrays
|
|
4
|
+
* @description
|
|
5
|
+
* For input `UInt8Array[]` return the sorted result
|
|
6
|
+
* @example
|
|
7
|
+
* <BR>
|
|
8
|
+
*
|
|
9
|
+
* ```javascript
|
|
10
|
+
* import { u8aSorted} from '@polkadot/util';
|
|
11
|
+
*
|
|
12
|
+
* u8aSorted([new Uint8Array([0x69]), new Uint8Array([0x68])]); // [0x68, 0x69]
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function u8aSorted(u8as: Uint8Array[]): Uint8Array[];
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { u8aCmp } from './cmp.js';
|
|
5
|
-
|
|
6
2
|
/**
|
|
7
3
|
* @name u8aSorted
|
|
8
4
|
* @summary Sorts an array of Uint8Arrays
|
|
@@ -17,6 +13,6 @@ import { u8aCmp } from './cmp.js';
|
|
|
17
13
|
* u8aSorted([new Uint8Array([0x69]), new Uint8Array([0x68])]); // [0x68, 0x69]
|
|
18
14
|
* ```
|
|
19
15
|
*/
|
|
20
|
-
export function u8aSorted
|
|
21
|
-
|
|
16
|
+
export function u8aSorted(u8as) {
|
|
17
|
+
return u8as.sort(u8aCmp);
|
|
22
18
|
}
|
package/u8a/toBigInt.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { BigInt } from '@pezkuwi/x-bigint';
|
|
2
|
+
import { _1n } from '../bi/consts.js';
|
|
3
|
+
const U8_MAX = BigInt(256);
|
|
4
|
+
const U16_MAX = BigInt(256 * 256);
|
|
5
|
+
const U64_MAX = BigInt('0x10000000000000000');
|
|
6
|
+
/**
|
|
7
|
+
* @name u8aToBigInt
|
|
8
|
+
* @summary Creates a BigInt from a Uint8Array object.
|
|
9
|
+
*/
|
|
10
|
+
export function u8aToBigInt(value, { isLe = true, isNegative = false } = {}) {
|
|
11
|
+
// slice + reverse is expensive, however SCALE is LE by default so this is the path
|
|
12
|
+
// we are most interested in (the BE is added for the sake of being comprehensive)
|
|
13
|
+
if (!isLe) {
|
|
14
|
+
value = value.slice().reverse();
|
|
15
|
+
}
|
|
16
|
+
const count = value.length;
|
|
17
|
+
if (isNegative && count && (value[count - 1] & 0x80)) {
|
|
18
|
+
switch (count) {
|
|
19
|
+
case 0:
|
|
20
|
+
return BigInt(0);
|
|
21
|
+
case 1:
|
|
22
|
+
return BigInt(((value[0] ^ 0x0000_00ff) * -1) - 1);
|
|
23
|
+
case 2:
|
|
24
|
+
return BigInt((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
|
|
25
|
+
case 4:
|
|
26
|
+
return BigInt((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
|
|
27
|
+
}
|
|
28
|
+
const dvI = new DataView(value.buffer, value.byteOffset);
|
|
29
|
+
if (count === 8) {
|
|
30
|
+
return dvI.getBigInt64(0, true);
|
|
31
|
+
}
|
|
32
|
+
let result = BigInt(0);
|
|
33
|
+
const mod = count % 2;
|
|
34
|
+
for (let i = count - 2; i >= mod; i -= 2) {
|
|
35
|
+
result = (result * U16_MAX) + BigInt(dvI.getUint16(i, true) ^ 0xffff);
|
|
36
|
+
}
|
|
37
|
+
if (mod) {
|
|
38
|
+
result = (result * U8_MAX) + BigInt(value[0] ^ 0xff);
|
|
39
|
+
}
|
|
40
|
+
return (result * -_1n) - _1n;
|
|
41
|
+
}
|
|
42
|
+
switch (count) {
|
|
43
|
+
case 0:
|
|
44
|
+
return BigInt(0);
|
|
45
|
+
case 1:
|
|
46
|
+
return BigInt(value[0]);
|
|
47
|
+
case 2:
|
|
48
|
+
return BigInt(value[0] + (value[1] << 8));
|
|
49
|
+
case 4:
|
|
50
|
+
return BigInt(value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00));
|
|
51
|
+
}
|
|
52
|
+
const dvI = new DataView(value.buffer, value.byteOffset);
|
|
53
|
+
switch (count) {
|
|
54
|
+
case 8:
|
|
55
|
+
return dvI.getBigUint64(0, true);
|
|
56
|
+
case 16:
|
|
57
|
+
return (dvI.getBigUint64(8, true) * U64_MAX) + dvI.getBigUint64(0, true);
|
|
58
|
+
default: {
|
|
59
|
+
let result = BigInt(0);
|
|
60
|
+
const mod = count % 2;
|
|
61
|
+
for (let i = count - 2; i >= mod; i -= 2) {
|
|
62
|
+
result = (result * U16_MAX) + BigInt(dvI.getUint16(i, true));
|
|
63
|
+
}
|
|
64
|
+
if (mod) {
|
|
65
|
+
result = (result * U8_MAX) + BigInt(value[0]);
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
package/u8a/toBn.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ToBnOptions } from '../types.js';
|
|
2
|
+
import { BN } from '../bn/bn.js';
|
|
3
|
+
/**
|
|
4
|
+
* @name u8aToBn
|
|
5
|
+
* @summary Creates a BN from a Uint8Array object.
|
|
6
|
+
* @description
|
|
7
|
+
* `UInt8Array` input values return the actual BN. `null` or `undefined` values returns an `0x0` value.
|
|
8
|
+
* @param value The value to convert
|
|
9
|
+
* @param options Options to pass while converting
|
|
10
|
+
* @param options.isLe Convert using Little Endian (default)
|
|
11
|
+
* @param options.isNegative Convert using two's complement
|
|
12
|
+
* @example
|
|
13
|
+
* <BR>
|
|
14
|
+
*
|
|
15
|
+
* ```javascript
|
|
16
|
+
* import { u8aToBn } from '@polkadot/util';
|
|
17
|
+
*
|
|
18
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function u8aToBn(value: Uint8Array, { isLe, isNegative }?: ToBnOptions): BN;
|
package/u8a/toBn.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { BN } from '../bn/bn.js';
|
|
2
|
+
/**
|
|
3
|
+
* @name u8aToBn
|
|
4
|
+
* @summary Creates a BN from a Uint8Array object.
|
|
5
|
+
* @description
|
|
6
|
+
* `UInt8Array` input values return the actual BN. `null` or `undefined` values returns an `0x0` value.
|
|
7
|
+
* @param value The value to convert
|
|
8
|
+
* @param options Options to pass while converting
|
|
9
|
+
* @param options.isLe Convert using Little Endian (default)
|
|
10
|
+
* @param options.isNegative Convert using two's complement
|
|
11
|
+
* @example
|
|
12
|
+
* <BR>
|
|
13
|
+
*
|
|
14
|
+
* ```javascript
|
|
15
|
+
* import { u8aToBn } from '@pezkuwi/util';
|
|
16
|
+
*
|
|
17
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function u8aToBn(value, { isLe = true, isNegative = false } = {}) {
|
|
21
|
+
// slice + reverse is expensive, however SCALE is LE by default so this is the path
|
|
22
|
+
// we are most interested in (the BE is added for the sake of being comprehensive)
|
|
23
|
+
if (!isLe) {
|
|
24
|
+
value = value.slice().reverse();
|
|
25
|
+
}
|
|
26
|
+
const count = value.length;
|
|
27
|
+
// shortcut for <= u48 values - in this case the manual conversion
|
|
28
|
+
// here seems to be more efficient than passing the full array
|
|
29
|
+
if (isNegative && count && (value[count - 1] & 0x80)) {
|
|
30
|
+
// Most common case i{8, 16, 32} default LE SCALE-encoded
|
|
31
|
+
// For <= 32, we also optimize the xor to a single op
|
|
32
|
+
switch (count) {
|
|
33
|
+
case 0:
|
|
34
|
+
return new BN(0);
|
|
35
|
+
case 1:
|
|
36
|
+
return new BN(((value[0] ^ 0x0000_00ff) * -1) - 1);
|
|
37
|
+
case 2:
|
|
38
|
+
return new BN((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
|
|
39
|
+
case 3:
|
|
40
|
+
return new BN((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
|
|
41
|
+
case 4:
|
|
42
|
+
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
43
|
+
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
44
|
+
return new BN((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
|
|
45
|
+
case 5:
|
|
46
|
+
return new BN(((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) + ((value[4] ^ 0xff) * 0x1_00_00_00_00)) * -1) - 1);
|
|
47
|
+
case 6:
|
|
48
|
+
return new BN(((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) + (((value[4] + (value[5] << 8)) ^ 0x0000_ffff) * 0x1_00_00_00_00)) * -1) - 1);
|
|
49
|
+
default:
|
|
50
|
+
return new BN(value, 'le').fromTwos(count * 8);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Most common case - u{8, 16, 32} default LE SCALE-encoded
|
|
54
|
+
//
|
|
55
|
+
// There are some slight benefits in unrolling this specific loop,
|
|
56
|
+
// however it comes with diminishing returns since here the actual
|
|
57
|
+
// `new BN` does seem to take up the bulk of the time
|
|
58
|
+
switch (count) {
|
|
59
|
+
case 0:
|
|
60
|
+
return new BN(0);
|
|
61
|
+
case 1:
|
|
62
|
+
return new BN(value[0]);
|
|
63
|
+
case 2:
|
|
64
|
+
return new BN(value[0] + (value[1] << 8));
|
|
65
|
+
case 3:
|
|
66
|
+
return new BN(value[0] + (value[1] << 8) + (value[2] << 16));
|
|
67
|
+
case 4:
|
|
68
|
+
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
69
|
+
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
70
|
+
return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00));
|
|
71
|
+
case 5:
|
|
72
|
+
return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00));
|
|
73
|
+
case 6:
|
|
74
|
+
return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00));
|
|
75
|
+
default:
|
|
76
|
+
return new BN(value, 'le');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BufferObject } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* @name u8aToBuffer
|
|
4
|
+
* @summary Creates a Buffer object from a hex string.
|
|
5
|
+
* @description
|
|
6
|
+
* `null` inputs returns an empty `Buffer` result. `UInt8Array` input values return the actual bytes value converted to a `Buffer`. Anything that is not a `UInt8Array` throws an error.
|
|
7
|
+
* @example
|
|
8
|
+
* <BR>
|
|
9
|
+
*
|
|
10
|
+
* ```javascript
|
|
11
|
+
* import { u8aToBuffer } from '@polkadot/util';
|
|
12
|
+
*
|
|
13
|
+
* console.log('Buffer', u8aToBuffer(new Uint8Array([1, 2, 3])));
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function u8aToBuffer<T = BufferObject>(value?: Uint8Array | null): T;
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import type { BufferClass, BufferObject } from '../types.js';
|
|
5
|
-
|
|
6
1
|
import { xglobal } from '@pezkuwi/x-global';
|
|
7
|
-
|
|
8
2
|
import { hasBuffer } from '../has.js';
|
|
9
|
-
|
|
10
3
|
/**
|
|
11
4
|
* @name u8aToBuffer
|
|
12
5
|
* @summary Creates a Buffer object from a hex string.
|
|
@@ -21,8 +14,8 @@ import { hasBuffer } from '../has.js';
|
|
|
21
14
|
* console.log('Buffer', u8aToBuffer(new Uint8Array([1, 2, 3])));
|
|
22
15
|
* ```
|
|
23
16
|
*/
|
|
24
|
-
export function u8aToBuffer
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
export function u8aToBuffer(value) {
|
|
18
|
+
return hasBuffer
|
|
19
|
+
? xglobal.Buffer.from(value || [])
|
|
20
|
+
: new Uint8Array(value || []);
|
|
28
21
|
}
|
package/u8a/toFloat.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface Options {
|
|
2
|
+
bitLength?: 32 | 64;
|
|
3
|
+
isLe?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* @name u8aToFloat
|
|
7
|
+
* @description Converts a Uint8Array value into the float (either 32 or 64-bit)
|
|
8
|
+
* representation.
|
|
9
|
+
*/
|
|
10
|
+
export declare function u8aToFloat(value: Uint8Array, { bitLength, isLe }?: Options): number;
|
|
11
|
+
export {};
|
package/u8a/toFloat.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aToFloat
|
|
3
|
+
* @description Converts a Uint8Array value into the float (either 32 or 64-bit)
|
|
4
|
+
* representation.
|
|
5
|
+
*/
|
|
6
|
+
export function u8aToFloat(value, { bitLength = 32, isLe = true } = {}) {
|
|
7
|
+
if (bitLength !== 32 && bitLength !== 64) {
|
|
8
|
+
throw new Error('Invalid bitLength provided, expected 32 or 64');
|
|
9
|
+
}
|
|
10
|
+
else if (value.length < (bitLength / 8)) {
|
|
11
|
+
throw new Error(`Invalid input buffer provided, expected at least ${bitLength / 8} bytes, found ${value.length}`);
|
|
12
|
+
}
|
|
13
|
+
const dv = new DataView(value.buffer, value.byteOffset);
|
|
14
|
+
return bitLength === 32
|
|
15
|
+
? dv.getFloat32(0, isLe)
|
|
16
|
+
: dv.getFloat64(0, isLe);
|
|
17
|
+
}
|
package/u8a/toHex.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { HexString } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* @name u8aToHex
|
|
4
|
+
* @summary Creates a hex string from a Uint8Array object.
|
|
5
|
+
* @description
|
|
6
|
+
* `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
|
|
7
|
+
* @example
|
|
8
|
+
* <BR>
|
|
9
|
+
*
|
|
10
|
+
* ```javascript
|
|
11
|
+
* import { u8aToHex } from '@polkadot/util';
|
|
12
|
+
*
|
|
13
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function u8aToHex(value?: Uint8Array | null, bitLength?: number, isPrefixed?: boolean): HexString;
|
package/u8a/toHex.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const U8 = new Array(256);
|
|
2
|
+
const U16 = new Array(256 * 256);
|
|
3
|
+
for (let n = 0; n < 256; n++) {
|
|
4
|
+
U8[n] = n.toString(16).padStart(2, '0');
|
|
5
|
+
}
|
|
6
|
+
for (let i = 0; i < 256; i++) {
|
|
7
|
+
const s = i << 8;
|
|
8
|
+
for (let j = 0; j < 256; j++) {
|
|
9
|
+
U16[s | j] = U8[i] + U8[j];
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/** @internal */
|
|
13
|
+
function hex(value, result) {
|
|
14
|
+
const mod = (value.length % 2) | 0;
|
|
15
|
+
const length = (value.length - mod) | 0;
|
|
16
|
+
for (let i = 0; i < length; i += 2) {
|
|
17
|
+
result += U16[(value[i] << 8) | value[i + 1]];
|
|
18
|
+
}
|
|
19
|
+
if (mod) {
|
|
20
|
+
result += U8[value[length] | 0];
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @name u8aToHex
|
|
26
|
+
* @summary Creates a hex string from a Uint8Array object.
|
|
27
|
+
* @description
|
|
28
|
+
* `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
|
|
29
|
+
* @example
|
|
30
|
+
* <BR>
|
|
31
|
+
*
|
|
32
|
+
* ```javascript
|
|
33
|
+
* import { u8aToHex } from '@pezkuwi/util';
|
|
34
|
+
*
|
|
35
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function u8aToHex(value, bitLength = -1, isPrefixed = true) {
|
|
39
|
+
// this is not 100% correct sinmce we support isPrefixed = false....
|
|
40
|
+
const empty = isPrefixed
|
|
41
|
+
? '0x'
|
|
42
|
+
: '';
|
|
43
|
+
if (!value?.length) {
|
|
44
|
+
return empty;
|
|
45
|
+
}
|
|
46
|
+
else if (bitLength > 0) {
|
|
47
|
+
const length = Math.ceil(bitLength / 8);
|
|
48
|
+
if (value.length > length) {
|
|
49
|
+
return `${hex(value.subarray(0, length / 2), empty)}…${hex(value.subarray(value.length - length / 2), '')}`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return hex(value, empty);
|
|
53
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { HexString } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* @name u8aToHex
|
|
4
|
+
* @summary Creates a hex string from a Uint8Array object.
|
|
5
|
+
* @description
|
|
6
|
+
* `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
|
|
7
|
+
* @example
|
|
8
|
+
* <BR>
|
|
9
|
+
*
|
|
10
|
+
* ```javascript
|
|
11
|
+
* import { u8aToHex } from '@polkadot/util';
|
|
12
|
+
*
|
|
13
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function u8aToHex(value?: Uint8Array | null, bitLength?: number, isPrefixed?: boolean): HexString;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aToHex
|
|
3
|
+
* @summary Creates a hex string from a Uint8Array object.
|
|
4
|
+
* @description
|
|
5
|
+
* `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
|
|
6
|
+
* @example
|
|
7
|
+
* <BR>
|
|
8
|
+
*
|
|
9
|
+
* ```javascript
|
|
10
|
+
* import { u8aToHex } from '@pezkuwi/util';
|
|
11
|
+
*
|
|
12
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export function u8aToHex(value, bitLength = -1, isPrefixed = true) {
|
|
16
|
+
const length = Math.ceil(bitLength / 8);
|
|
17
|
+
return `${isPrefixed ? '0x' : ''}${!value?.length
|
|
18
|
+
? ''
|
|
19
|
+
: (bitLength > 0 && value.length > length)
|
|
20
|
+
? `${Buffer.from(value.subarray(0, length / 2)).toString('hex')}…${Buffer.from(value.subarray(value.length - length / 2)).toString('hex')}`
|
|
21
|
+
: Buffer.from(value).toString('hex')}`;
|
|
22
|
+
}
|
package/u8a/toNumber.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aToNumber
|
|
3
|
+
* @summary Creates a number from a Uint8Array object.
|
|
4
|
+
*/
|
|
5
|
+
export function u8aToNumber(value, { isLe = true, isNegative = false } = {}) {
|
|
6
|
+
// slice + reverse is expensive, however SCALE is LE by default so this is the path
|
|
7
|
+
// we are most interested in (the BE is added for the sake of being comprehensive)
|
|
8
|
+
if (!isLe) {
|
|
9
|
+
value = value.slice().reverse();
|
|
10
|
+
}
|
|
11
|
+
const count = value.length;
|
|
12
|
+
// When the value is a i{8, 16, 24, 32, 40, 40} values and the top-most bit
|
|
13
|
+
// indicates a signed value, we use a two's complement conversion. If one of these
|
|
14
|
+
// flags are not set, we just do a normal unsigned conversion (the same shortcut
|
|
15
|
+
// applies in both the u8aTo{BigInt, Bn} conversions as well)
|
|
16
|
+
if (isNegative && count && (value[count - 1] & 0x80)) {
|
|
17
|
+
switch (count) {
|
|
18
|
+
case 0:
|
|
19
|
+
return 0;
|
|
20
|
+
case 1:
|
|
21
|
+
return (((value[0] ^ 0x0000_00ff) * -1) - 1);
|
|
22
|
+
case 2:
|
|
23
|
+
return ((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
|
|
24
|
+
case 3:
|
|
25
|
+
return ((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
|
|
26
|
+
case 4:
|
|
27
|
+
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
28
|
+
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
29
|
+
return ((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
|
|
30
|
+
case 5:
|
|
31
|
+
return (((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) + ((value[4] ^ 0xff) * 0x1_00_00_00_00)) * -1) - 1);
|
|
32
|
+
case 6:
|
|
33
|
+
return (((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) + (((value[4] + (value[5] << 8)) ^ 0x0000_ffff) * 0x1_00_00_00_00)) * -1) - 1);
|
|
34
|
+
default:
|
|
35
|
+
throw new Error('Value more than 48-bits cannot be reliably converted');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
switch (count) {
|
|
39
|
+
case 0:
|
|
40
|
+
return 0;
|
|
41
|
+
case 1:
|
|
42
|
+
return value[0];
|
|
43
|
+
case 2:
|
|
44
|
+
return value[0] + (value[1] << 8);
|
|
45
|
+
case 3:
|
|
46
|
+
return value[0] + (value[1] << 8) + (value[2] << 16);
|
|
47
|
+
case 4:
|
|
48
|
+
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
49
|
+
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
50
|
+
return value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00);
|
|
51
|
+
case 5:
|
|
52
|
+
return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00);
|
|
53
|
+
case 6:
|
|
54
|
+
return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00);
|
|
55
|
+
default:
|
|
56
|
+
throw new Error('Value more than 48-bits cannot be reliably converted');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aToString
|
|
3
|
+
* @summary Creates a utf-8 string from a Uint8Array object.
|
|
4
|
+
* @description
|
|
5
|
+
* `UInt8Array` input values return the actual decoded utf-8 string. `null` or `undefined` values returns an empty string.
|
|
6
|
+
* @example
|
|
7
|
+
* <BR>
|
|
8
|
+
*
|
|
9
|
+
* ```javascript
|
|
10
|
+
* import { u8aToString } from '@polkadot/util';
|
|
11
|
+
*
|
|
12
|
+
* u8aToString(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f])); // hello
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function u8aToString(value?: Uint8Array | null): string;
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { TextDecoder } from '@pezkuwi/x-textdecoder';
|
|
5
|
-
|
|
6
2
|
const decoder = new TextDecoder('utf-8');
|
|
7
|
-
|
|
8
3
|
/**
|
|
9
4
|
* @name u8aToString
|
|
10
5
|
* @summary Creates a utf-8 string from a Uint8Array object.
|
|
@@ -19,8 +14,8 @@ const decoder = new TextDecoder('utf-8');
|
|
|
19
14
|
* u8aToString(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f])); // hello
|
|
20
15
|
* ```
|
|
21
16
|
*/
|
|
22
|
-
export function u8aToString
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
export function u8aToString(value) {
|
|
18
|
+
return value
|
|
19
|
+
? decoder.decode(value)
|
|
20
|
+
: '';
|
|
26
21
|
}
|