@pezkuwi/util 14.0.1 → 14.0.3
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/src/u8a/toBn.ts
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import type { ToBnOptions } from '../types.js';
|
|
5
|
-
|
|
6
|
-
import { BN } from '../bn/bn.js';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @name u8aToBn
|
|
10
|
-
* @summary Creates a BN from a Uint8Array object.
|
|
11
|
-
* @description
|
|
12
|
-
* `UInt8Array` input values return the actual BN. `null` or `undefined` values returns an `0x0` value.
|
|
13
|
-
* @param value The value to convert
|
|
14
|
-
* @param options Options to pass while converting
|
|
15
|
-
* @param options.isLe Convert using Little Endian (default)
|
|
16
|
-
* @param options.isNegative Convert using two's complement
|
|
17
|
-
* @example
|
|
18
|
-
* <BR>
|
|
19
|
-
*
|
|
20
|
-
* ```javascript
|
|
21
|
-
* import { u8aToBn } from '@pezkuwi/util';
|
|
22
|
-
*
|
|
23
|
-
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export function u8aToBn (value: Uint8Array, { isLe = true, isNegative = false }: ToBnOptions = {}): BN {
|
|
27
|
-
// slice + reverse is expensive, however SCALE is LE by default so this is the path
|
|
28
|
-
// we are most interested in (the BE is added for the sake of being comprehensive)
|
|
29
|
-
if (!isLe) {
|
|
30
|
-
value = value.slice().reverse();
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const count = value.length;
|
|
34
|
-
|
|
35
|
-
// shortcut for <= u48 values - in this case the manual conversion
|
|
36
|
-
// here seems to be more efficient than passing the full array
|
|
37
|
-
if (isNegative && count && (value[count - 1] & 0x80)) {
|
|
38
|
-
// Most common case i{8, 16, 32} default LE SCALE-encoded
|
|
39
|
-
// For <= 32, we also optimize the xor to a single op
|
|
40
|
-
switch (count) {
|
|
41
|
-
case 0:
|
|
42
|
-
return new BN(0);
|
|
43
|
-
|
|
44
|
-
case 1:
|
|
45
|
-
return new BN(((value[0] ^ 0x0000_00ff) * -1) - 1);
|
|
46
|
-
|
|
47
|
-
case 2:
|
|
48
|
-
return new BN((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
|
|
49
|
-
|
|
50
|
-
case 3:
|
|
51
|
-
return new BN((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
|
|
52
|
-
|
|
53
|
-
case 4:
|
|
54
|
-
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
55
|
-
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
56
|
-
return new BN((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
|
|
57
|
-
|
|
58
|
-
case 5:
|
|
59
|
-
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);
|
|
60
|
-
|
|
61
|
-
case 6:
|
|
62
|
-
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);
|
|
63
|
-
|
|
64
|
-
default:
|
|
65
|
-
return new BN(value, 'le').fromTwos(count * 8);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Most common case - u{8, 16, 32} default LE SCALE-encoded
|
|
70
|
-
//
|
|
71
|
-
// There are some slight benefits in unrolling this specific loop,
|
|
72
|
-
// however it comes with diminishing returns since here the actual
|
|
73
|
-
// `new BN` does seem to take up the bulk of the time
|
|
74
|
-
switch (count) {
|
|
75
|
-
case 0:
|
|
76
|
-
return new BN(0);
|
|
77
|
-
|
|
78
|
-
case 1:
|
|
79
|
-
return new BN(value[0]);
|
|
80
|
-
|
|
81
|
-
case 2:
|
|
82
|
-
return new BN(value[0] + (value[1] << 8));
|
|
83
|
-
|
|
84
|
-
case 3:
|
|
85
|
-
return new BN(value[0] + (value[1] << 8) + (value[2] << 16));
|
|
86
|
-
|
|
87
|
-
case 4:
|
|
88
|
-
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
89
|
-
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
90
|
-
return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00));
|
|
91
|
-
|
|
92
|
-
case 5:
|
|
93
|
-
return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00));
|
|
94
|
-
|
|
95
|
-
case 6:
|
|
96
|
-
return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00));
|
|
97
|
-
|
|
98
|
-
default:
|
|
99
|
-
return new BN(value, 'le');
|
|
100
|
-
}
|
|
101
|
-
}
|
package/src/u8a/toBuffer.spec.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { u8aToBuffer } from './index.js';
|
|
7
|
-
|
|
8
|
-
describe('u8aToBuffer', (): void => {
|
|
9
|
-
it('returns [] when the buffer is null', (): void => {
|
|
10
|
-
expect(
|
|
11
|
-
u8aToBuffer(null)
|
|
12
|
-
).toEqual(Buffer.from([]));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('returns the Buffer value for the Uint8Array', (): void => {
|
|
16
|
-
expect(
|
|
17
|
-
u8aToBuffer(new Uint8Array([128, 0, 10]))
|
|
18
|
-
).toEqual(Buffer.from([128, 0, 10]));
|
|
19
|
-
});
|
|
20
|
-
});
|
package/src/u8a/toFloat.spec.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { hexToU8a } from '../hex/index.js';
|
|
7
|
-
import { u8aToFloat } from './index.js';
|
|
8
|
-
|
|
9
|
-
describe('u8aToFloat', (): void => {
|
|
10
|
-
it('throws on invalid bitLength', (): void => {
|
|
11
|
-
expect(
|
|
12
|
-
() => u8aToFloat(hexToU8a('0x00000000'), { bitLength: 48 as 32 })
|
|
13
|
-
).toThrow();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('throws on invalid input length', (): void => {
|
|
17
|
-
expect(
|
|
18
|
-
() => u8aToFloat(new Uint8Array())
|
|
19
|
-
).toThrow();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
describe('32-bit', (): void => {
|
|
23
|
-
it('correctly decodes +0.0', (): void => {
|
|
24
|
-
expect(
|
|
25
|
-
u8aToFloat(hexToU8a('0x00000000'))
|
|
26
|
-
).toEqual(+0.0);
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it('correctly decodes -0.0', (): void => {
|
|
30
|
-
expect(
|
|
31
|
-
u8aToFloat(hexToU8a('0x00000080'))
|
|
32
|
-
).toEqual(-0.0);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it('correctly decodes -0.0 (BE)', (): void => {
|
|
36
|
-
expect(
|
|
37
|
-
u8aToFloat(hexToU8a('0x80000000'), { isLe: false })
|
|
38
|
-
).toEqual(-0.0);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it('decoded NaN', (): void => {
|
|
42
|
-
expect(
|
|
43
|
-
u8aToFloat(hexToU8a('0x0000c07f'))
|
|
44
|
-
).toEqual(Number.NaN);
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
// https://www.h-schmidt.net/FloatConverter/IEEE754.html
|
|
48
|
-
it('decodes a known number', (): void => {
|
|
49
|
-
expect(
|
|
50
|
-
u8aToFloat(hexToU8a('0x79e9f642')).toFixed(3)
|
|
51
|
-
).toEqual('123.456');
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it('decodes a known number (BE)', (): void => {
|
|
55
|
-
expect(
|
|
56
|
-
u8aToFloat(hexToU8a('0x42f6e979'), { isLe: false }).toFixed(3)
|
|
57
|
-
).toEqual('123.456');
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
describe('64-bit', (): void => {
|
|
62
|
-
it('correctly decodes +0.0', (): void => {
|
|
63
|
-
expect(
|
|
64
|
-
u8aToFloat(hexToU8a('0x0000000000000000'), { bitLength: 64 })
|
|
65
|
-
).toEqual(+0.0);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it('correctly decodes -0.0', (): void => {
|
|
69
|
-
expect(
|
|
70
|
-
u8aToFloat(hexToU8a('0x0000000000000080'), { bitLength: 64 })
|
|
71
|
-
).toEqual(-0.0);
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
it('correctly decodes -0.0 (BE)', (): void => {
|
|
75
|
-
expect(
|
|
76
|
-
u8aToFloat(hexToU8a('0x8000000000000000'), { bitLength: 64, isLe: false })
|
|
77
|
-
).toEqual(-0.0);
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
it('correctly decodes NaN', (): void => {
|
|
81
|
-
expect(
|
|
82
|
-
u8aToFloat(hexToU8a('0x000000000000f87f'), { bitLength: 64 })
|
|
83
|
-
).toEqual(Number.NaN);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
});
|
package/src/u8a/toFloat.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
interface Options {
|
|
5
|
-
bitLength?: 32 | 64;
|
|
6
|
-
isLe?: boolean;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @name u8aToFloat
|
|
11
|
-
* @description Converts a Uint8Array value into the float (either 32 or 64-bit)
|
|
12
|
-
* representation.
|
|
13
|
-
*/
|
|
14
|
-
export function u8aToFloat (value: Uint8Array, { bitLength = 32, isLe = true }: Options = {}): number {
|
|
15
|
-
if (bitLength !== 32 && bitLength !== 64) {
|
|
16
|
-
throw new Error('Invalid bitLength provided, expected 32 or 64');
|
|
17
|
-
} else if (value.length < (bitLength / 8)) {
|
|
18
|
-
throw new Error(`Invalid input buffer provided, expected at least ${bitLength / 8} bytes, found ${value.length}`);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const dv = new DataView(value.buffer, value.byteOffset);
|
|
22
|
-
|
|
23
|
-
return bitLength === 32
|
|
24
|
-
? dv.getFloat32(0, isLe)
|
|
25
|
-
: dv.getFloat64(0, isLe);
|
|
26
|
-
}
|
package/src/u8a/toHex.spec.ts
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { perfCmp } from '../test/index.js';
|
|
7
|
-
import { u8aToHex } from './index.js';
|
|
8
|
-
import { u8aToHex as u8aToHexBuffer } from './toHexBuffer.js';
|
|
9
|
-
|
|
10
|
-
const ptest32k = new Uint8Array(32768);
|
|
11
|
-
const ptest256 = new Uint8Array(256);
|
|
12
|
-
|
|
13
|
-
for (let i = 0, count = ptest32k.length; i < count; i++) {
|
|
14
|
-
if (i < ptest256.length) {
|
|
15
|
-
ptest256[1] = i % 256;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
ptest32k[i] = i % 256;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
describe('u8aToHex', (): void => {
|
|
22
|
-
it('returns empty as 0x', (): void => {
|
|
23
|
-
expect(
|
|
24
|
-
u8aToHex()
|
|
25
|
-
).toEqual('0x');
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it('returns empty as "" (unprefixed)', (): void => {
|
|
29
|
-
expect(
|
|
30
|
-
u8aToHex(null, -1, false)
|
|
31
|
-
).toEqual('');
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
it('returns the hex value for the array', (): void => {
|
|
35
|
-
expect(
|
|
36
|
-
u8aToHex(
|
|
37
|
-
new Uint8Array([128, 0, 10])
|
|
38
|
-
)
|
|
39
|
-
).toEqual('0x80000a');
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it('returns the hex value for the array (unprefixed)', (): void => {
|
|
43
|
-
expect(
|
|
44
|
-
u8aToHex(
|
|
45
|
-
new Uint8Array([128, 0, 10]),
|
|
46
|
-
-1,
|
|
47
|
-
false
|
|
48
|
-
)
|
|
49
|
-
).toEqual('80000a');
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it('handles starting zeros correctly', (): void => {
|
|
53
|
-
expect(
|
|
54
|
-
u8aToHex(
|
|
55
|
-
new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0])
|
|
56
|
-
)
|
|
57
|
-
).toEqual('0x0001000000000000');
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it('returns the hex value where allowed < max', (): void => {
|
|
61
|
-
expect(
|
|
62
|
-
u8aToHex(
|
|
63
|
-
new Uint8Array(Uint8Array.from([128, 0, 10, 11]), 64)
|
|
64
|
-
)
|
|
65
|
-
).toEqual('0x80000a0b');
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it('returns the trimmed hex value where allowed >= max', (): void => {
|
|
69
|
-
expect(
|
|
70
|
-
u8aToHex(
|
|
71
|
-
new Uint8Array([128, 0, 10, 11, 12, 13]),
|
|
72
|
-
32
|
|
73
|
-
)
|
|
74
|
-
).toEqual('0x8000…0c0d');
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('converts known bytes to their correct values', (): void => {
|
|
78
|
-
expect(
|
|
79
|
-
// hello world
|
|
80
|
-
u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64]))
|
|
81
|
-
).toEqual('0x68656c6c6f20776f726c64');
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
perfCmp('u8aToHex (32k)', ['u8aToHexBuffer', 'u8aToHex'], 1000, [[ptest32k]], (s: Uint8Array, isSecond) =>
|
|
85
|
-
isSecond
|
|
86
|
-
? u8aToHex(s)
|
|
87
|
-
: u8aToHexBuffer(s)
|
|
88
|
-
);
|
|
89
|
-
perfCmp('u8aToHex (128)', ['u8aToHexBuffer', 'u8aToHex'], 200_000, [[ptest256]], (s: Uint8Array, isSecond) =>
|
|
90
|
-
isSecond
|
|
91
|
-
? u8aToHex(s)
|
|
92
|
-
: u8aToHexBuffer(s)
|
|
93
|
-
);
|
|
94
|
-
});
|
package/src/u8a/toHex.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
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
|
-
const U8 = new Array<string>(256);
|
|
7
|
-
const U16 = new Array<string>(256 * 256);
|
|
8
|
-
|
|
9
|
-
for (let n = 0; n < 256; n++) {
|
|
10
|
-
U8[n] = n.toString(16).padStart(2, '0');
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
for (let i = 0; i < 256; i++) {
|
|
14
|
-
const s = i << 8;
|
|
15
|
-
|
|
16
|
-
for (let j = 0; j < 256; j++) {
|
|
17
|
-
U16[s | j] = U8[i] + U8[j];
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/** @internal */
|
|
22
|
-
function hex (value: Uint8Array, result: HexString): HexString {
|
|
23
|
-
const mod = (value.length % 2) | 0;
|
|
24
|
-
const length = (value.length - mod) | 0;
|
|
25
|
-
|
|
26
|
-
for (let i = 0; i < length; i += 2) {
|
|
27
|
-
result += U16[(value[i] << 8) | value[i + 1]];
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (mod) {
|
|
31
|
-
result += U8[value[length] | 0];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return result;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @name u8aToHex
|
|
39
|
-
* @summary Creates a hex string from a Uint8Array object.
|
|
40
|
-
* @description
|
|
41
|
-
* `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
|
|
42
|
-
* @example
|
|
43
|
-
* <BR>
|
|
44
|
-
*
|
|
45
|
-
* ```javascript
|
|
46
|
-
* import { u8aToHex } from '@pezkuwi/util';
|
|
47
|
-
*
|
|
48
|
-
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
51
|
-
export function u8aToHex (value?: Uint8Array | null, bitLength = -1, isPrefixed = true): HexString {
|
|
52
|
-
// this is not 100% correct sinmce we support isPrefixed = false....
|
|
53
|
-
const empty = isPrefixed
|
|
54
|
-
? '0x'
|
|
55
|
-
: '' as HexString;
|
|
56
|
-
|
|
57
|
-
if (!value?.length) {
|
|
58
|
-
return empty;
|
|
59
|
-
} else if (bitLength > 0) {
|
|
60
|
-
const length = Math.ceil(bitLength / 8);
|
|
61
|
-
|
|
62
|
-
if (value.length > length) {
|
|
63
|
-
return `${hex(value.subarray(0, length / 2), empty)}…${hex(value.subarray(value.length - length / 2), '' as HexString)}`;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return hex(value, empty);
|
|
68
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { u8aToHex } from './toHexBuffer.js';
|
|
7
|
-
|
|
8
|
-
describe('u8aToHex', (): void => {
|
|
9
|
-
it('returns empty as 0x', (): void => {
|
|
10
|
-
expect(
|
|
11
|
-
u8aToHex()
|
|
12
|
-
).toEqual('0x');
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('returns empty as "" (unprefixed)', (): void => {
|
|
16
|
-
expect(
|
|
17
|
-
u8aToHex(null, -1, false)
|
|
18
|
-
).toEqual('');
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns the hex value for the array', (): void => {
|
|
22
|
-
expect(
|
|
23
|
-
u8aToHex(
|
|
24
|
-
new Uint8Array([128, 0, 10])
|
|
25
|
-
)
|
|
26
|
-
).toEqual('0x80000a');
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it('returns the hex value for the array (unprefixed)', (): void => {
|
|
30
|
-
expect(
|
|
31
|
-
u8aToHex(
|
|
32
|
-
new Uint8Array([128, 0, 10]),
|
|
33
|
-
-1,
|
|
34
|
-
false
|
|
35
|
-
)
|
|
36
|
-
).toEqual('80000a');
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it('handles starting zeros correctly', (): void => {
|
|
40
|
-
expect(
|
|
41
|
-
u8aToHex(
|
|
42
|
-
new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0])
|
|
43
|
-
)
|
|
44
|
-
).toEqual('0x0001000000000000');
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
it('returns the hex value where allowed < max', (): void => {
|
|
48
|
-
expect(
|
|
49
|
-
u8aToHex(
|
|
50
|
-
new Uint8Array(Uint8Array.from([128, 0, 10, 11]), 64)
|
|
51
|
-
)
|
|
52
|
-
).toEqual('0x80000a0b');
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
it('returns the trimmed hex value where allowed >= max', (): void => {
|
|
56
|
-
expect(
|
|
57
|
-
u8aToHex(
|
|
58
|
-
new Uint8Array([128, 0, 10, 11, 12, 13]),
|
|
59
|
-
32
|
|
60
|
-
)
|
|
61
|
-
).toEqual('0x8000…0c0d');
|
|
62
|
-
});
|
|
63
|
-
});
|
package/src/u8a/toHexBuffer.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
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
|
-
/**
|
|
7
|
-
* @name u8aToHex
|
|
8
|
-
* @summary Creates a hex string from a Uint8Array object.
|
|
9
|
-
* @description
|
|
10
|
-
* `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
|
|
11
|
-
* @example
|
|
12
|
-
* <BR>
|
|
13
|
-
*
|
|
14
|
-
* ```javascript
|
|
15
|
-
* import { u8aToHex } from '@pezkuwi/util';
|
|
16
|
-
*
|
|
17
|
-
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export function u8aToHex (value?: Uint8Array | null, bitLength = -1, isPrefixed = true): HexString {
|
|
21
|
-
const length = Math.ceil(bitLength / 8);
|
|
22
|
-
|
|
23
|
-
return `${isPrefixed ? '0x' : ''}${
|
|
24
|
-
!value?.length
|
|
25
|
-
? ''
|
|
26
|
-
: (bitLength > 0 && value.length > length)
|
|
27
|
-
? `${Buffer.from(value.subarray(0, length / 2)).toString('hex')}…${Buffer.from(value.subarray(value.length - length / 2)).toString('hex')}`
|
|
28
|
-
: Buffer.from(value).toString('hex')
|
|
29
|
-
}` as HexString;
|
|
30
|
-
}
|
package/src/u8a/toNumber.spec.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { TESTS } from '../bi/toU8a.spec.js';
|
|
7
|
-
import { perf } from '../test/index.js';
|
|
8
|
-
import { u8aToNumber } from './index.js';
|
|
9
|
-
|
|
10
|
-
const TESTS_NUM = TESTS.filter(([,, numarr]) => numarr.length <= 6);
|
|
11
|
-
|
|
12
|
-
describe('u8aToNumber', (): void => {
|
|
13
|
-
describe('empty creation', (): void => {
|
|
14
|
-
it('handles unsigned (le)', (): void => {
|
|
15
|
-
expect(
|
|
16
|
-
u8aToNumber(
|
|
17
|
-
new Uint8Array()
|
|
18
|
-
)
|
|
19
|
-
).toBe(0);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it('handles signed (le)', (): void => {
|
|
23
|
-
expect(
|
|
24
|
-
u8aToNumber(
|
|
25
|
-
new Uint8Array(),
|
|
26
|
-
{ isNegative: true }
|
|
27
|
-
)
|
|
28
|
-
).toBe(0);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
describe('conversion tests', (): void => {
|
|
33
|
-
TESTS_NUM.forEach(([isLe, isNegative, numarr, strval], i): void => {
|
|
34
|
-
it(`#${i}: creates ${strval} (bitLength=${numarr.length * 8}, isLe=${isLe}, isNegative=${isNegative})`, (): void => {
|
|
35
|
-
expect(
|
|
36
|
-
u8aToNumber(
|
|
37
|
-
new Uint8Array(numarr),
|
|
38
|
-
{ isLe, isNegative }
|
|
39
|
-
).toString()
|
|
40
|
-
).toBe(strval);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
perf('u8aToNumber (i32)', 750_000, [[new Uint8Array([0x9c, 0x9c, 0x9c, 0x9c])]], (v: Uint8Array) => u8aToNumber(v, { isNegative: true }));
|
|
46
|
-
perf('u8aToNumber (u32)', 750_000, [[new Uint8Array([0x68, 0x65, 0x6c, 0x6c])]], u8aToNumber);
|
|
47
|
-
});
|
package/src/u8a/toNumber.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import type { ToBnOptions } from '../types.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @name u8aToNumber
|
|
8
|
-
* @summary Creates a number from a Uint8Array object.
|
|
9
|
-
*/
|
|
10
|
-
export function u8aToNumber (value: Uint8Array, { isLe = true, isNegative = false }: ToBnOptions = {}): number {
|
|
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
|
-
|
|
17
|
-
const count = value.length;
|
|
18
|
-
|
|
19
|
-
// When the value is a i{8, 16, 24, 32, 40, 40} values and the top-most bit
|
|
20
|
-
// indicates a signed value, we use a two's complement conversion. If one of these
|
|
21
|
-
// flags are not set, we just do a normal unsigned conversion (the same shortcut
|
|
22
|
-
// applies in both the u8aTo{BigInt, Bn} conversions as well)
|
|
23
|
-
if (isNegative && count && (value[count - 1] & 0x80)) {
|
|
24
|
-
switch (count) {
|
|
25
|
-
case 0:
|
|
26
|
-
return 0;
|
|
27
|
-
|
|
28
|
-
case 1:
|
|
29
|
-
return (((value[0] ^ 0x0000_00ff) * -1) - 1);
|
|
30
|
-
|
|
31
|
-
case 2:
|
|
32
|
-
return ((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
|
|
33
|
-
|
|
34
|
-
case 3:
|
|
35
|
-
return ((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
|
|
36
|
-
|
|
37
|
-
case 4:
|
|
38
|
-
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
39
|
-
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
40
|
-
return ((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
|
|
41
|
-
|
|
42
|
-
case 5:
|
|
43
|
-
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);
|
|
44
|
-
|
|
45
|
-
case 6:
|
|
46
|
-
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);
|
|
47
|
-
|
|
48
|
-
default:
|
|
49
|
-
throw new Error('Value more than 48-bits cannot be reliably converted');
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
switch (count) {
|
|
54
|
-
case 0:
|
|
55
|
-
return 0;
|
|
56
|
-
|
|
57
|
-
case 1:
|
|
58
|
-
return value[0];
|
|
59
|
-
|
|
60
|
-
case 2:
|
|
61
|
-
return value[0] + (value[1] << 8);
|
|
62
|
-
|
|
63
|
-
case 3:
|
|
64
|
-
return value[0] + (value[1] << 8) + (value[2] << 16);
|
|
65
|
-
|
|
66
|
-
case 4:
|
|
67
|
-
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
68
|
-
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
69
|
-
return value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00);
|
|
70
|
-
|
|
71
|
-
case 5:
|
|
72
|
-
return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00);
|
|
73
|
-
|
|
74
|
-
case 6:
|
|
75
|
-
return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00);
|
|
76
|
-
|
|
77
|
-
default:
|
|
78
|
-
throw new Error('Value more than 48-bits cannot be reliably converted');
|
|
79
|
-
}
|
|
80
|
-
}
|
package/src/u8a/toString.spec.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { u8aToString } from './index.js';
|
|
7
|
-
|
|
8
|
-
describe('u8aToString', (): void => {
|
|
9
|
-
it('decodes to an empty string for undefined', (): void => {
|
|
10
|
-
expect(
|
|
11
|
-
u8aToString()
|
|
12
|
-
).toEqual('');
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('decodes to an empty string for empty buffer', (): void => {
|
|
16
|
-
expect(
|
|
17
|
-
u8aToString(new Uint8Array())
|
|
18
|
-
).toEqual('');
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('decodes the Uint8Array correctly (ru)', (): void => {
|
|
22
|
-
expect(
|
|
23
|
-
u8aToString(
|
|
24
|
-
new Uint8Array([208, 159, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130, 44, 32, 208, 188, 208, 184, 209, 128, 33])
|
|
25
|
-
)
|
|
26
|
-
).toEqual('Привет, мир!');
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it('decodes the Uint8Array correctly (en)', (): void => {
|
|
30
|
-
expect(
|
|
31
|
-
u8aToString(
|
|
32
|
-
new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64])
|
|
33
|
-
)
|
|
34
|
-
).toEqual('hello world');
|
|
35
|
-
});
|
|
36
|
-
});
|