@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/cjs/u8a/index.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aWrapBytes = exports.u8aUnwrapBytes = exports.u8aIsWrapped = exports.U8A_WRAP_PREFIX = exports.U8A_WRAP_POSTFIX = exports.U8A_WRAP_ETHEREUM = exports.u8aToU8a = exports.u8aToString = exports.u8aToNumber = exports.u8aToHex = exports.u8aToFloat = exports.u8aToBuffer = exports.u8aToBn = exports.u8aToBigInt = exports.u8aSorted = exports.u8aFixLength = exports.u8aEq = exports.u8aEmpty = exports.u8aConcatStrict = exports.u8aConcat = exports.u8aCmp = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @summary Utility methods to convert to and from `Uint8Array` objects
|
|
6
|
+
*/
|
|
7
|
+
var cmp_js_1 = require("./cmp.js");
|
|
8
|
+
Object.defineProperty(exports, "u8aCmp", { enumerable: true, get: function () { return cmp_js_1.u8aCmp; } });
|
|
9
|
+
var concat_js_1 = require("./concat.js");
|
|
10
|
+
Object.defineProperty(exports, "u8aConcat", { enumerable: true, get: function () { return concat_js_1.u8aConcat; } });
|
|
11
|
+
Object.defineProperty(exports, "u8aConcatStrict", { enumerable: true, get: function () { return concat_js_1.u8aConcatStrict; } });
|
|
12
|
+
var empty_js_1 = require("./empty.js");
|
|
13
|
+
Object.defineProperty(exports, "u8aEmpty", { enumerable: true, get: function () { return empty_js_1.u8aEmpty; } });
|
|
14
|
+
var eq_js_1 = require("./eq.js");
|
|
15
|
+
Object.defineProperty(exports, "u8aEq", { enumerable: true, get: function () { return eq_js_1.u8aEq; } });
|
|
16
|
+
var fixLength_js_1 = require("./fixLength.js");
|
|
17
|
+
Object.defineProperty(exports, "u8aFixLength", { enumerable: true, get: function () { return fixLength_js_1.u8aFixLength; } });
|
|
18
|
+
var sorted_js_1 = require("./sorted.js");
|
|
19
|
+
Object.defineProperty(exports, "u8aSorted", { enumerable: true, get: function () { return sorted_js_1.u8aSorted; } });
|
|
20
|
+
var toBigInt_js_1 = require("./toBigInt.js");
|
|
21
|
+
Object.defineProperty(exports, "u8aToBigInt", { enumerable: true, get: function () { return toBigInt_js_1.u8aToBigInt; } });
|
|
22
|
+
var toBn_js_1 = require("./toBn.js");
|
|
23
|
+
Object.defineProperty(exports, "u8aToBn", { enumerable: true, get: function () { return toBn_js_1.u8aToBn; } });
|
|
24
|
+
var toBuffer_js_1 = require("./toBuffer.js");
|
|
25
|
+
Object.defineProperty(exports, "u8aToBuffer", { enumerable: true, get: function () { return toBuffer_js_1.u8aToBuffer; } });
|
|
26
|
+
var toFloat_js_1 = require("./toFloat.js");
|
|
27
|
+
Object.defineProperty(exports, "u8aToFloat", { enumerable: true, get: function () { return toFloat_js_1.u8aToFloat; } });
|
|
28
|
+
var toHex_js_1 = require("./toHex.js");
|
|
29
|
+
Object.defineProperty(exports, "u8aToHex", { enumerable: true, get: function () { return toHex_js_1.u8aToHex; } });
|
|
30
|
+
var toNumber_js_1 = require("./toNumber.js");
|
|
31
|
+
Object.defineProperty(exports, "u8aToNumber", { enumerable: true, get: function () { return toNumber_js_1.u8aToNumber; } });
|
|
32
|
+
var toString_js_1 = require("./toString.js");
|
|
33
|
+
Object.defineProperty(exports, "u8aToString", { enumerable: true, get: function () { return toString_js_1.u8aToString; } });
|
|
34
|
+
var toU8a_js_1 = require("./toU8a.js");
|
|
35
|
+
Object.defineProperty(exports, "u8aToU8a", { enumerable: true, get: function () { return toU8a_js_1.u8aToU8a; } });
|
|
36
|
+
var wrap_js_1 = require("./wrap.js");
|
|
37
|
+
Object.defineProperty(exports, "U8A_WRAP_ETHEREUM", { enumerable: true, get: function () { return wrap_js_1.U8A_WRAP_ETHEREUM; } });
|
|
38
|
+
Object.defineProperty(exports, "U8A_WRAP_POSTFIX", { enumerable: true, get: function () { return wrap_js_1.U8A_WRAP_POSTFIX; } });
|
|
39
|
+
Object.defineProperty(exports, "U8A_WRAP_PREFIX", { enumerable: true, get: function () { return wrap_js_1.U8A_WRAP_PREFIX; } });
|
|
40
|
+
Object.defineProperty(exports, "u8aIsWrapped", { enumerable: true, get: function () { return wrap_js_1.u8aIsWrapped; } });
|
|
41
|
+
Object.defineProperty(exports, "u8aUnwrapBytes", { enumerable: true, get: function () { return wrap_js_1.u8aUnwrapBytes; } });
|
|
42
|
+
Object.defineProperty(exports, "u8aWrapBytes", { enumerable: true, get: function () { return wrap_js_1.u8aWrapBytes; } });
|
|
@@ -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[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aSorted = u8aSorted;
|
|
4
|
+
const cmp_js_1 = require("./cmp.js");
|
|
5
|
+
/**
|
|
6
|
+
* @name u8aSorted
|
|
7
|
+
* @summary Sorts an array of Uint8Arrays
|
|
8
|
+
* @description
|
|
9
|
+
* For input `UInt8Array[]` return the sorted result
|
|
10
|
+
* @example
|
|
11
|
+
* <BR>
|
|
12
|
+
*
|
|
13
|
+
* ```javascript
|
|
14
|
+
* import { u8aSorted} from '@pezkuwi/util';
|
|
15
|
+
*
|
|
16
|
+
* u8aSorted([new Uint8Array([0x69]), new Uint8Array([0x68])]); // [0x68, 0x69]
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
function u8aSorted(u8as) {
|
|
20
|
+
return u8as.sort(cmp_js_1.u8aCmp);
|
|
21
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToBigInt = u8aToBigInt;
|
|
4
|
+
const x_bigint_1 = require("@pezkuwi/x-bigint");
|
|
5
|
+
const consts_js_1 = require("../bi/consts.js");
|
|
6
|
+
const U8_MAX = (0, x_bigint_1.BigInt)(256);
|
|
7
|
+
const U16_MAX = (0, x_bigint_1.BigInt)(256 * 256);
|
|
8
|
+
const U64_MAX = (0, x_bigint_1.BigInt)('0x10000000000000000');
|
|
9
|
+
/**
|
|
10
|
+
* @name u8aToBigInt
|
|
11
|
+
* @summary Creates a BigInt from a Uint8Array object.
|
|
12
|
+
*/
|
|
13
|
+
function u8aToBigInt(value, { isLe = true, isNegative = false } = {}) {
|
|
14
|
+
// slice + reverse is expensive, however SCALE is LE by default so this is the path
|
|
15
|
+
// we are most interested in (the BE is added for the sake of being comprehensive)
|
|
16
|
+
if (!isLe) {
|
|
17
|
+
value = value.slice().reverse();
|
|
18
|
+
}
|
|
19
|
+
const count = value.length;
|
|
20
|
+
if (isNegative && count && (value[count - 1] & 0x80)) {
|
|
21
|
+
switch (count) {
|
|
22
|
+
case 0:
|
|
23
|
+
return (0, x_bigint_1.BigInt)(0);
|
|
24
|
+
case 1:
|
|
25
|
+
return (0, x_bigint_1.BigInt)(((value[0] ^ 0x0000_00ff) * -1) - 1);
|
|
26
|
+
case 2:
|
|
27
|
+
return (0, x_bigint_1.BigInt)((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
|
|
28
|
+
case 4:
|
|
29
|
+
return (0, x_bigint_1.BigInt)((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
|
|
30
|
+
}
|
|
31
|
+
const dvI = new DataView(value.buffer, value.byteOffset);
|
|
32
|
+
if (count === 8) {
|
|
33
|
+
return dvI.getBigInt64(0, true);
|
|
34
|
+
}
|
|
35
|
+
let result = (0, x_bigint_1.BigInt)(0);
|
|
36
|
+
const mod = count % 2;
|
|
37
|
+
for (let i = count - 2; i >= mod; i -= 2) {
|
|
38
|
+
result = (result * U16_MAX) + (0, x_bigint_1.BigInt)(dvI.getUint16(i, true) ^ 0xffff);
|
|
39
|
+
}
|
|
40
|
+
if (mod) {
|
|
41
|
+
result = (result * U8_MAX) + (0, x_bigint_1.BigInt)(value[0] ^ 0xff);
|
|
42
|
+
}
|
|
43
|
+
return (result * -consts_js_1._1n) - consts_js_1._1n;
|
|
44
|
+
}
|
|
45
|
+
switch (count) {
|
|
46
|
+
case 0:
|
|
47
|
+
return (0, x_bigint_1.BigInt)(0);
|
|
48
|
+
case 1:
|
|
49
|
+
return (0, x_bigint_1.BigInt)(value[0]);
|
|
50
|
+
case 2:
|
|
51
|
+
return (0, x_bigint_1.BigInt)(value[0] + (value[1] << 8));
|
|
52
|
+
case 4:
|
|
53
|
+
return (0, x_bigint_1.BigInt)(value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00));
|
|
54
|
+
}
|
|
55
|
+
const dvI = new DataView(value.buffer, value.byteOffset);
|
|
56
|
+
switch (count) {
|
|
57
|
+
case 8:
|
|
58
|
+
return dvI.getBigUint64(0, true);
|
|
59
|
+
case 16:
|
|
60
|
+
return (dvI.getBigUint64(8, true) * U64_MAX) + dvI.getBigUint64(0, true);
|
|
61
|
+
default: {
|
|
62
|
+
let result = (0, x_bigint_1.BigInt)(0);
|
|
63
|
+
const mod = count % 2;
|
|
64
|
+
for (let i = count - 2; i >= mod; i -= 2) {
|
|
65
|
+
result = (result * U16_MAX) + (0, x_bigint_1.BigInt)(dvI.getUint16(i, true));
|
|
66
|
+
}
|
|
67
|
+
if (mod) {
|
|
68
|
+
result = (result * U8_MAX) + (0, x_bigint_1.BigInt)(value[0]);
|
|
69
|
+
}
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -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/cjs/u8a/toBn.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToBn = u8aToBn;
|
|
4
|
+
const bn_js_1 = require("../bn/bn.js");
|
|
5
|
+
/**
|
|
6
|
+
* @name u8aToBn
|
|
7
|
+
* @summary Creates a BN from a Uint8Array object.
|
|
8
|
+
* @description
|
|
9
|
+
* `UInt8Array` input values return the actual BN. `null` or `undefined` values returns an `0x0` value.
|
|
10
|
+
* @param value The value to convert
|
|
11
|
+
* @param options Options to pass while converting
|
|
12
|
+
* @param options.isLe Convert using Little Endian (default)
|
|
13
|
+
* @param options.isNegative Convert using two's complement
|
|
14
|
+
* @example
|
|
15
|
+
* <BR>
|
|
16
|
+
*
|
|
17
|
+
* ```javascript
|
|
18
|
+
* import { u8aToBn } from '@pezkuwi/util';
|
|
19
|
+
*
|
|
20
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
function u8aToBn(value, { isLe = true, isNegative = false } = {}) {
|
|
24
|
+
// slice + reverse is expensive, however SCALE is LE by default so this is the path
|
|
25
|
+
// we are most interested in (the BE is added for the sake of being comprehensive)
|
|
26
|
+
if (!isLe) {
|
|
27
|
+
value = value.slice().reverse();
|
|
28
|
+
}
|
|
29
|
+
const count = value.length;
|
|
30
|
+
// shortcut for <= u48 values - in this case the manual conversion
|
|
31
|
+
// here seems to be more efficient than passing the full array
|
|
32
|
+
if (isNegative && count && (value[count - 1] & 0x80)) {
|
|
33
|
+
// Most common case i{8, 16, 32} default LE SCALE-encoded
|
|
34
|
+
// For <= 32, we also optimize the xor to a single op
|
|
35
|
+
switch (count) {
|
|
36
|
+
case 0:
|
|
37
|
+
return new bn_js_1.BN(0);
|
|
38
|
+
case 1:
|
|
39
|
+
return new bn_js_1.BN(((value[0] ^ 0x0000_00ff) * -1) - 1);
|
|
40
|
+
case 2:
|
|
41
|
+
return new bn_js_1.BN((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
|
|
42
|
+
case 3:
|
|
43
|
+
return new bn_js_1.BN((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
|
|
44
|
+
case 4:
|
|
45
|
+
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
46
|
+
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
47
|
+
return new bn_js_1.BN((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
|
|
48
|
+
case 5:
|
|
49
|
+
return new bn_js_1.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);
|
|
50
|
+
case 6:
|
|
51
|
+
return new bn_js_1.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);
|
|
52
|
+
default:
|
|
53
|
+
return new bn_js_1.BN(value, 'le').fromTwos(count * 8);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Most common case - u{8, 16, 32} default LE SCALE-encoded
|
|
57
|
+
//
|
|
58
|
+
// There are some slight benefits in unrolling this specific loop,
|
|
59
|
+
// however it comes with diminishing returns since here the actual
|
|
60
|
+
// `new BN` does seem to take up the bulk of the time
|
|
61
|
+
switch (count) {
|
|
62
|
+
case 0:
|
|
63
|
+
return new bn_js_1.BN(0);
|
|
64
|
+
case 1:
|
|
65
|
+
return new bn_js_1.BN(value[0]);
|
|
66
|
+
case 2:
|
|
67
|
+
return new bn_js_1.BN(value[0] + (value[1] << 8));
|
|
68
|
+
case 3:
|
|
69
|
+
return new bn_js_1.BN(value[0] + (value[1] << 8) + (value[2] << 16));
|
|
70
|
+
case 4:
|
|
71
|
+
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
72
|
+
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
73
|
+
return new bn_js_1.BN(value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00));
|
|
74
|
+
case 5:
|
|
75
|
+
return new bn_js_1.BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00));
|
|
76
|
+
case 6:
|
|
77
|
+
return new bn_js_1.BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00));
|
|
78
|
+
default:
|
|
79
|
+
return new bn_js_1.BN(value, 'le');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -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;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToBuffer = u8aToBuffer;
|
|
4
|
+
const x_global_1 = require("@pezkuwi/x-global");
|
|
5
|
+
const has_js_1 = require("../has.js");
|
|
6
|
+
/**
|
|
7
|
+
* @name u8aToBuffer
|
|
8
|
+
* @summary Creates a Buffer object from a hex string.
|
|
9
|
+
* @description
|
|
10
|
+
* `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.
|
|
11
|
+
* @example
|
|
12
|
+
* <BR>
|
|
13
|
+
*
|
|
14
|
+
* ```javascript
|
|
15
|
+
* import { u8aToBuffer } from '@pezkuwi/util';
|
|
16
|
+
*
|
|
17
|
+
* console.log('Buffer', u8aToBuffer(new Uint8Array([1, 2, 3])));
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
function u8aToBuffer(value) {
|
|
21
|
+
return has_js_1.hasBuffer
|
|
22
|
+
? x_global_1.xglobal.Buffer.from(value || [])
|
|
23
|
+
: new Uint8Array(value || []);
|
|
24
|
+
}
|
|
@@ -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 {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToFloat = u8aToFloat;
|
|
4
|
+
/**
|
|
5
|
+
* @name u8aToFloat
|
|
6
|
+
* @description Converts a Uint8Array value into the float (either 32 or 64-bit)
|
|
7
|
+
* representation.
|
|
8
|
+
*/
|
|
9
|
+
function u8aToFloat(value, { bitLength = 32, isLe = true } = {}) {
|
|
10
|
+
if (bitLength !== 32 && bitLength !== 64) {
|
|
11
|
+
throw new Error('Invalid bitLength provided, expected 32 or 64');
|
|
12
|
+
}
|
|
13
|
+
else if (value.length < (bitLength / 8)) {
|
|
14
|
+
throw new Error(`Invalid input buffer provided, expected at least ${bitLength / 8} bytes, found ${value.length}`);
|
|
15
|
+
}
|
|
16
|
+
const dv = new DataView(value.buffer, value.byteOffset);
|
|
17
|
+
return bitLength === 32
|
|
18
|
+
? dv.getFloat32(0, isLe)
|
|
19
|
+
: dv.getFloat64(0, isLe);
|
|
20
|
+
}
|
|
@@ -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/cjs/u8a/toHex.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToHex = u8aToHex;
|
|
4
|
+
const U8 = new Array(256);
|
|
5
|
+
const U16 = new Array(256 * 256);
|
|
6
|
+
for (let n = 0; n < 256; n++) {
|
|
7
|
+
U8[n] = n.toString(16).padStart(2, '0');
|
|
8
|
+
}
|
|
9
|
+
for (let i = 0; i < 256; i++) {
|
|
10
|
+
const s = i << 8;
|
|
11
|
+
for (let j = 0; j < 256; j++) {
|
|
12
|
+
U16[s | j] = U8[i] + U8[j];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** @internal */
|
|
16
|
+
function hex(value, result) {
|
|
17
|
+
const mod = (value.length % 2) | 0;
|
|
18
|
+
const length = (value.length - mod) | 0;
|
|
19
|
+
for (let i = 0; i < length; i += 2) {
|
|
20
|
+
result += U16[(value[i] << 8) | value[i + 1]];
|
|
21
|
+
}
|
|
22
|
+
if (mod) {
|
|
23
|
+
result += U8[value[length] | 0];
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @name u8aToHex
|
|
29
|
+
* @summary Creates a hex string from a Uint8Array object.
|
|
30
|
+
* @description
|
|
31
|
+
* `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
|
|
32
|
+
* @example
|
|
33
|
+
* <BR>
|
|
34
|
+
*
|
|
35
|
+
* ```javascript
|
|
36
|
+
* import { u8aToHex } from '@pezkuwi/util';
|
|
37
|
+
*
|
|
38
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
function u8aToHex(value, bitLength = -1, isPrefixed = true) {
|
|
42
|
+
// this is not 100% correct sinmce we support isPrefixed = false....
|
|
43
|
+
const empty = isPrefixed
|
|
44
|
+
? '0x'
|
|
45
|
+
: '';
|
|
46
|
+
if (!value?.length) {
|
|
47
|
+
return empty;
|
|
48
|
+
}
|
|
49
|
+
else if (bitLength > 0) {
|
|
50
|
+
const length = Math.ceil(bitLength / 8);
|
|
51
|
+
if (value.length > length) {
|
|
52
|
+
return `${hex(value.subarray(0, length / 2), empty)}…${hex(value.subarray(value.length - length / 2), '')}`;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return hex(value, empty);
|
|
56
|
+
}
|
|
@@ -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,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToHex = u8aToHex;
|
|
4
|
+
/**
|
|
5
|
+
* @name u8aToHex
|
|
6
|
+
* @summary Creates a hex string from a Uint8Array object.
|
|
7
|
+
* @description
|
|
8
|
+
* `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
|
|
9
|
+
* @example
|
|
10
|
+
* <BR>
|
|
11
|
+
*
|
|
12
|
+
* ```javascript
|
|
13
|
+
* import { u8aToHex } from '@pezkuwi/util';
|
|
14
|
+
*
|
|
15
|
+
* u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
function u8aToHex(value, bitLength = -1, isPrefixed = true) {
|
|
19
|
+
const length = Math.ceil(bitLength / 8);
|
|
20
|
+
return `${isPrefixed ? '0x' : ''}${!value?.length
|
|
21
|
+
? ''
|
|
22
|
+
: (bitLength > 0 && value.length > length)
|
|
23
|
+
? `${Buffer.from(value.subarray(0, length / 2)).toString('hex')}…${Buffer.from(value.subarray(value.length - length / 2)).toString('hex')}`
|
|
24
|
+
: Buffer.from(value).toString('hex')}`;
|
|
25
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToNumber = u8aToNumber;
|
|
4
|
+
/**
|
|
5
|
+
* @name u8aToNumber
|
|
6
|
+
* @summary Creates a number from a Uint8Array object.
|
|
7
|
+
*/
|
|
8
|
+
function u8aToNumber(value, { isLe = true, isNegative = false } = {}) {
|
|
9
|
+
// slice + reverse is expensive, however SCALE is LE by default so this is the path
|
|
10
|
+
// we are most interested in (the BE is added for the sake of being comprehensive)
|
|
11
|
+
if (!isLe) {
|
|
12
|
+
value = value.slice().reverse();
|
|
13
|
+
}
|
|
14
|
+
const count = value.length;
|
|
15
|
+
// When the value is a i{8, 16, 24, 32, 40, 40} values and the top-most bit
|
|
16
|
+
// indicates a signed value, we use a two's complement conversion. If one of these
|
|
17
|
+
// flags are not set, we just do a normal unsigned conversion (the same shortcut
|
|
18
|
+
// applies in both the u8aTo{BigInt, Bn} conversions as well)
|
|
19
|
+
if (isNegative && count && (value[count - 1] & 0x80)) {
|
|
20
|
+
switch (count) {
|
|
21
|
+
case 0:
|
|
22
|
+
return 0;
|
|
23
|
+
case 1:
|
|
24
|
+
return (((value[0] ^ 0x0000_00ff) * -1) - 1);
|
|
25
|
+
case 2:
|
|
26
|
+
return ((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
|
|
27
|
+
case 3:
|
|
28
|
+
return ((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
|
|
29
|
+
case 4:
|
|
30
|
+
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
31
|
+
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
32
|
+
return ((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
|
|
33
|
+
case 5:
|
|
34
|
+
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);
|
|
35
|
+
case 6:
|
|
36
|
+
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);
|
|
37
|
+
default:
|
|
38
|
+
throw new Error('Value more than 48-bits cannot be reliably converted');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
switch (count) {
|
|
42
|
+
case 0:
|
|
43
|
+
return 0;
|
|
44
|
+
case 1:
|
|
45
|
+
return value[0];
|
|
46
|
+
case 2:
|
|
47
|
+
return value[0] + (value[1] << 8);
|
|
48
|
+
case 3:
|
|
49
|
+
return value[0] + (value[1] << 8) + (value[2] << 16);
|
|
50
|
+
case 4:
|
|
51
|
+
// for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
|
|
52
|
+
// 32-bit, in the case where the top-most bit is set this yields a negative value
|
|
53
|
+
return value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00);
|
|
54
|
+
case 5:
|
|
55
|
+
return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00);
|
|
56
|
+
case 6:
|
|
57
|
+
return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00);
|
|
58
|
+
default:
|
|
59
|
+
throw new Error('Value more than 48-bits cannot be reliably converted');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -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;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToString = u8aToString;
|
|
4
|
+
const x_textdecoder_1 = require("@pezkuwi/x-textdecoder");
|
|
5
|
+
const decoder = new x_textdecoder_1.TextDecoder('utf-8');
|
|
6
|
+
/**
|
|
7
|
+
* @name u8aToString
|
|
8
|
+
* @summary Creates a utf-8 string from a Uint8Array object.
|
|
9
|
+
* @description
|
|
10
|
+
* `UInt8Array` input values return the actual decoded utf-8 string. `null` or `undefined` values returns an empty string.
|
|
11
|
+
* @example
|
|
12
|
+
* <BR>
|
|
13
|
+
*
|
|
14
|
+
* ```javascript
|
|
15
|
+
* import { u8aToString } from '@pezkuwi/util';
|
|
16
|
+
*
|
|
17
|
+
* u8aToString(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f])); // hello
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
function u8aToString(value) {
|
|
21
|
+
return value
|
|
22
|
+
? decoder.decode(value)
|
|
23
|
+
: '';
|
|
24
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { U8aLike } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* @name u8aToU8a
|
|
4
|
+
* @summary Creates a Uint8Array value from a Uint8Array, Buffer, string or hex input.
|
|
5
|
+
* @description
|
|
6
|
+
* `null` or `undefined` inputs returns a `[]` result, Uint8Array values returns the value, hex strings returns a Uint8Array representation.
|
|
7
|
+
* If `strict` is true, `null` or `undefined` will throw an error instead of returning an empty array.
|
|
8
|
+
* Supports input types: Uint8Array, Buffer, hex string, string, or number array.
|
|
9
|
+
* @example
|
|
10
|
+
* <BR>
|
|
11
|
+
*
|
|
12
|
+
* ```javascript
|
|
13
|
+
* import { u8aToU8a } from '@polkadot/util';
|
|
14
|
+
*
|
|
15
|
+
* u8aToU8a(new Uint8Array([0x12, 0x34]); // => Uint8Array([0x12, 0x34])
|
|
16
|
+
* u8aToU8a(0x1234); // => Uint8Array([0x12, 0x34])
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function u8aToU8a(value?: U8aLike | null, strict?: boolean): Uint8Array;
|
package/cjs/u8a/toU8a.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aToU8a = u8aToU8a;
|
|
4
|
+
const toU8a_js_1 = require("../hex/toU8a.js");
|
|
5
|
+
const buffer_js_1 = require("../is/buffer.js");
|
|
6
|
+
const hex_js_1 = require("../is/hex.js");
|
|
7
|
+
const u8a_js_1 = require("../is/u8a.js");
|
|
8
|
+
const toU8a_js_2 = require("../string/toU8a.js");
|
|
9
|
+
/**
|
|
10
|
+
* @name u8aToU8a
|
|
11
|
+
* @summary Creates a Uint8Array value from a Uint8Array, Buffer, string or hex input.
|
|
12
|
+
* @description
|
|
13
|
+
* `null` or `undefined` inputs returns a `[]` result, Uint8Array values returns the value, hex strings returns a Uint8Array representation.
|
|
14
|
+
* If `strict` is true, `null` or `undefined` will throw an error instead of returning an empty array.
|
|
15
|
+
* Supports input types: Uint8Array, Buffer, hex string, string, or number array.
|
|
16
|
+
* @example
|
|
17
|
+
* <BR>
|
|
18
|
+
*
|
|
19
|
+
* ```javascript
|
|
20
|
+
* import { u8aToU8a } from '@pezkuwi/util';
|
|
21
|
+
*
|
|
22
|
+
* u8aToU8a(new Uint8Array([0x12, 0x34]); // => Uint8Array([0x12, 0x34])
|
|
23
|
+
* u8aToU8a(0x1234); // => Uint8Array([0x12, 0x34])
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
function u8aToU8a(value, strict = false) {
|
|
27
|
+
if (strict && (value === null || value === undefined)) {
|
|
28
|
+
throw new Error('u8aToU8a: Expected non-null, non-undefined value');
|
|
29
|
+
}
|
|
30
|
+
return (0, u8a_js_1.isU8a)(value)
|
|
31
|
+
// NOTE isBuffer needs to go here since it actually extends
|
|
32
|
+
// Uint8Array on Node.js environments, so all Buffer are Uint8Array,
|
|
33
|
+
// but Uint8Array is not Buffer
|
|
34
|
+
? (0, buffer_js_1.isBuffer)(value)
|
|
35
|
+
? new Uint8Array(value)
|
|
36
|
+
: value
|
|
37
|
+
: (0, hex_js_1.isHex)(value)
|
|
38
|
+
? (0, toU8a_js_1.hexToU8a)(value)
|
|
39
|
+
: Array.isArray(value)
|
|
40
|
+
? new Uint8Array(value)
|
|
41
|
+
: (0, toU8a_js_2.stringToU8a)(value);
|
|
42
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { U8aLike } from '../types.js';
|
|
2
|
+
/** @internal */
|
|
3
|
+
export declare const U8A_WRAP_ETHEREUM: Uint8Array;
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare const U8A_WRAP_PREFIX: Uint8Array;
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare const U8A_WRAP_POSTFIX: Uint8Array;
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare function u8aIsWrapped(u8a: Uint8Array, withEthereum: boolean): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* @name u8aUnwrapBytes
|
|
12
|
+
* @description Removes all <Bytes>...</Bytes> wrappers from the supplied value
|
|
13
|
+
*/
|
|
14
|
+
export declare function u8aUnwrapBytes(bytes: U8aLike): Uint8Array;
|
|
15
|
+
/**
|
|
16
|
+
* @name u8aWrapBytes
|
|
17
|
+
* @description
|
|
18
|
+
* Adds a <Bytes>...</Bytes> wrapper to the supplied value, if
|
|
19
|
+
* - We don't already have a Bytes wrapper
|
|
20
|
+
* - The message is not an Ethereum-style message
|
|
21
|
+
*/
|
|
22
|
+
export declare function u8aWrapBytes(bytes: U8aLike): Uint8Array;
|