@pezkuwi/util 14.0.10 → 14.0.12
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/array/chunk.d.ts +15 -0
- package/array/chunk.js +27 -0
- package/array/filter.d.ts +16 -0
- package/array/filter.js +19 -0
- package/array/flatten.d.ts +15 -0
- package/array/flatten.js +39 -0
- package/array/index.d.ts +10 -0
- package/array/index.js +10 -0
- package/array/range.d.ts +16 -0
- package/array/range.js +25 -0
- 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/assert.js +39 -0
- package/bi/consts.d.ts +90 -0
- package/bi/consts.js +91 -0
- package/bi/helpers.d.ts +2 -0
- package/bi/helpers.js +16 -0
- package/bi/index.d.ts +9 -0
- 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/bn/consts.js +91 -0
- package/bn/fromHex.d.ts +1 -0
- package/bn/fromHex.js +1 -0
- package/bn/index.d.ts +11 -0
- package/bn/index.js +11 -0
- package/bn/min.d.ts +29 -0
- package/bn/min.js +29 -0
- package/bn/sqrt.d.ts +16 -0
- package/bn/sqrt.js +38 -0
- package/bn/toBn.d.ts +19 -0
- package/bn/toBn.js +37 -0
- package/bn/toHex.d.ts +18 -0
- package/bn/toHex.js +20 -0
- package/bn/toU8a.d.ts +17 -0
- package/bn/toU8a.js +33 -0
- package/buffer/index.d.ts +4 -0
- package/buffer/index.js +4 -0
- package/buffer/toU8a.d.ts +15 -0
- package/buffer/toU8a.js +17 -0
- package/build/bundle-pezkuwi-util.js +148 -127
- package/build/cjs/packageInfo.js +1 -1
- package/build/cjs/u8a/wrap.d.ts +3 -3
- package/build/package.json +8 -8
- package/build/packageInfo.js +1 -1
- package/build/u8a/wrap.d.ts +3 -3
- package/build-deno/packageInfo.ts +1 -1
- package/build-tsc/u8a/wrap.d.ts +3 -3
- package/build-tsc-cjs/packageInfo.js +1 -1
- package/build-tsc-esm/packageInfo.js +1 -1
- package/bundle-pezkuwi-util.js +4830 -0
- package/bundle.d.ts +28 -0
- 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/cjs/compact/index.d.ts +24 -0
- 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/cjs/format/index.d.ts +6 -0
- 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/cjs/hex/index.d.ts +12 -0
- 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/cjs/is/bigInt.js +20 -0
- package/cjs/is/bn.d.ts +17 -0
- package/cjs/is/bn.js +22 -0
- package/cjs/is/boolean.d.ts +15 -0
- package/cjs/is/boolean.js +20 -0
- 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/cjs/is/error.js +21 -0
- 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/cjs/is/index.d.ts +33 -0
- 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/cjs/is/ip.js +44 -0
- package/cjs/is/jsonObject.d.ts +27 -0
- package/cjs/is/jsonObject.js +40 -0
- package/cjs/is/null.d.ts +15 -0
- package/cjs/is/null.js +20 -0
- package/cjs/is/number.d.ts +15 -0
- package/cjs/is/number.js +20 -0
- 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/cjs/is/string.js +20 -0
- 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/cjs/is/undefined.js +20 -0
- 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/cjs/number/index.d.ts +5 -0
- 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/cjs/object/index.d.ts +7 -0
- 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/cjs/promisify.js +30 -0
- package/cjs/string/camelCase.d.ts +13 -0
- package/cjs/string/camelCase.js +62 -0
- package/cjs/string/index.d.ts +8 -0
- 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/cjs/string/shorten.js +22 -0
- 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/cjs/u8a/index.d.ts +18 -0
- 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/compact/addLength.js +20 -0
- 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/compact/stripLength.js +21 -0
- 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/has.js +16 -0
- package/hex/addPrefix.d.ts +16 -0
- package/hex/addPrefix.js +20 -0
- package/hex/fixLength.d.ts +18 -0
- package/hex/fixLength.js +27 -0
- package/hex/hasPrefix.d.ts +16 -0
- package/hex/hasPrefix.js +18 -0
- package/hex/index.d.ts +12 -0
- package/hex/index.js +12 -0
- package/hex/stripPrefix.d.ts +15 -0
- package/hex/stripPrefix.js +27 -0
- package/hex/toBigInt.d.ts +6 -0
- package/hex/toBigInt.js +12 -0
- package/hex/toBn.d.ts +21 -0
- package/hex/toBn.js +32 -0
- package/hex/toNumber.d.ts +15 -0
- package/hex/toNumber.js +20 -0
- package/hex/toString.d.ts +15 -0
- package/hex/toString.js +19 -0
- 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/is/bn.js +19 -0
- 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/is/jsonObject.js +37 -0
- 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/is/observable.js +16 -0
- package/is/promise.d.ts +1 -0
- package/is/promise.js +2 -0
- package/is/riscv.d.ts +7 -0
- package/is/riscv.js +17 -0
- 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/is/wasm.js +12 -0
- 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/number/toHex.js +20 -0
- package/number/toU8a.d.ts +15 -0
- package/number/toU8a.js +19 -0
- 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 +1958 -11
- package/packageDetect.d.ts +1 -0
- package/packageDetect.js +5 -0
- package/packageInfo.d.ts +6 -0
- package/packageInfo.js +1 -0
- package/promisify.d.ts +16 -0
- package/promisify.js +27 -0
- package/src/packageInfo.ts +1 -1
- package/src/u8a/toHex.spec.ts +1 -1
- package/src/u8a/toHexBuffer.spec.ts +1 -1
- 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/string/lowerFirst.js +37 -0
- package/string/shorten.d.ts +16 -0
- package/string/shorten.js +19 -0
- package/string/toHex.d.ts +16 -0
- package/string/toHex.js +19 -0
- package/string/toU8a.d.ts +16 -0
- package/string/toU8a.js +21 -0
- package/stringify.d.ts +6 -0
- package/stringify.js +15 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.spec.tsbuildinfo +1 -1
- 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/u8a/sorted.js +18 -0
- 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/u8a/toBuffer.js +21 -0
- 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/u8a/toString.js +21 -0
- package/u8a/toU8a.d.ts +19 -0
- package/u8a/toU8a.js +39 -0
- package/u8a/wrap.d.ts +22 -0
- package/u8a/wrap.js +43 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name u8aFixLength
|
|
3
|
+
* @summary Shifts a Uint8Array to a specific bitLength
|
|
4
|
+
* @description
|
|
5
|
+
* Returns a uint8Array with the specified number of bits contained in the return value. (If bitLength is -1, length checking is not done). Values with more bits are trimmed to the specified length.
|
|
6
|
+
* @example
|
|
7
|
+
* <BR>
|
|
8
|
+
*
|
|
9
|
+
* ```javascript
|
|
10
|
+
* import { u8aFixLength } from '@pezkuwi/util';
|
|
11
|
+
*
|
|
12
|
+
* u8aFixLength('0x12') // => 0x12
|
|
13
|
+
* u8aFixLength('0x12', 16) // => 0x0012
|
|
14
|
+
* u8aFixLength('0x1234', 8) // => 0x12
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function u8aFixLength(value: Uint8Array, bitLength?: number, atStart?: boolean): Uint8Array;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.u8aFixLength = u8aFixLength;
|
|
4
|
+
/**
|
|
5
|
+
* @name u8aFixLength
|
|
6
|
+
* @summary Shifts a Uint8Array to a specific bitLength
|
|
7
|
+
* @description
|
|
8
|
+
* Returns a uint8Array with the specified number of bits contained in the return value. (If bitLength is -1, length checking is not done). Values with more bits are trimmed to the specified length.
|
|
9
|
+
* @example
|
|
10
|
+
* <BR>
|
|
11
|
+
*
|
|
12
|
+
* ```javascript
|
|
13
|
+
* import { u8aFixLength } from '@pezkuwi/util';
|
|
14
|
+
*
|
|
15
|
+
* u8aFixLength('0x12') // => 0x12
|
|
16
|
+
* u8aFixLength('0x12', 16) // => 0x0012
|
|
17
|
+
* u8aFixLength('0x1234', 8) // => 0x12
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
function u8aFixLength(value, bitLength = -1, atStart = false) {
|
|
21
|
+
const byteLength = Math.ceil(bitLength / 8);
|
|
22
|
+
if (bitLength === -1 || value.length === byteLength) {
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
else if (value.length > byteLength) {
|
|
26
|
+
return value.subarray(0, byteLength);
|
|
27
|
+
}
|
|
28
|
+
const result = new Uint8Array(byteLength);
|
|
29
|
+
result.set(value, atStart ? 0 : (byteLength - value.length));
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @summary Utility methods to convert to and from `Uint8Array` objects
|
|
3
|
+
*/
|
|
4
|
+
export { u8aCmp } from './cmp.js';
|
|
5
|
+
export { u8aConcat, u8aConcatStrict } from './concat.js';
|
|
6
|
+
export { u8aEmpty } from './empty.js';
|
|
7
|
+
export { u8aEq } from './eq.js';
|
|
8
|
+
export { u8aFixLength } from './fixLength.js';
|
|
9
|
+
export { u8aSorted } from './sorted.js';
|
|
10
|
+
export { u8aToBigInt } from './toBigInt.js';
|
|
11
|
+
export { u8aToBn } from './toBn.js';
|
|
12
|
+
export { u8aToBuffer } from './toBuffer.js';
|
|
13
|
+
export { u8aToFloat } from './toFloat.js';
|
|
14
|
+
export { u8aToHex } from './toHex.js';
|
|
15
|
+
export { u8aToNumber } from './toNumber.js';
|
|
16
|
+
export { u8aToString } from './toString.js';
|
|
17
|
+
export { u8aToU8a } from './toU8a.js';
|
|
18
|
+
export { U8A_WRAP_ETHEREUM, U8A_WRAP_POSTFIX, U8A_WRAP_PREFIX, u8aIsWrapped, u8aUnwrapBytes, u8aWrapBytes } from './wrap.js';
|
package/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 '@pezkuwi/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 '@pezkuwi/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 '@pezkuwi/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 '@pezkuwi/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 '@pezkuwi/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 '@pezkuwi/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
|
+
}
|