@pezkuwi/types-codec 16.5.6 → 16.5.8
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/build/LICENSE +201 -0
- package/build/README.md +3 -0
- package/build/abstract/Array.d.ts +89 -0
- package/build/abstract/Array.js +166 -0
- package/build/abstract/Base.d.ts +75 -0
- package/build/abstract/Base.js +101 -0
- package/build/abstract/Int.d.ts +80 -0
- package/build/abstract/Int.js +226 -0
- package/build/abstract/Object.d.ts +67 -0
- package/build/abstract/Object.js +40 -0
- package/build/abstract/index.d.ts +3 -0
- package/build/abstract/index.js +3 -0
- package/build/base/Compact.d.ts +88 -0
- package/build/base/Compact.js +159 -0
- package/build/base/DoNotConstruct.d.ts +63 -0
- package/build/base/DoNotConstruct.js +95 -0
- package/build/base/Enum.d.ts +118 -0
- package/build/base/Enum.js +369 -0
- package/build/base/Int.d.ts +16 -0
- package/build/base/Int.js +26 -0
- package/build/base/Null.d.ts +56 -0
- package/build/base/Null.js +77 -0
- package/build/base/Option.d.ts +94 -0
- package/build/base/Option.js +232 -0
- package/build/base/Result.d.ts +38 -0
- package/build/base/Result.js +63 -0
- package/build/base/Tuple.d.ts +42 -0
- package/build/base/Tuple.js +110 -0
- package/build/base/UInt.d.ts +15 -0
- package/build/base/UInt.js +23 -0
- package/build/base/Vec.d.ts +28 -0
- package/build/base/Vec.js +102 -0
- package/build/base/VecAny.d.ts +15 -0
- package/build/base/VecAny.js +17 -0
- package/build/base/VecFixed.d.ts +30 -0
- package/build/base/VecFixed.js +67 -0
- package/build/base/index.d.ts +12 -0
- package/build/base/index.js +12 -0
- package/build/bundle.d.ts +7 -0
- package/build/bundle.js +7 -0
- package/build/cjs/abstract/Array.d.ts +89 -0
- package/build/cjs/abstract/Array.js +170 -0
- package/build/cjs/abstract/Base.d.ts +75 -0
- package/build/cjs/abstract/Base.js +105 -0
- package/build/cjs/abstract/Int.d.ts +80 -0
- package/build/cjs/abstract/Int.js +230 -0
- package/build/cjs/abstract/Object.d.ts +67 -0
- package/build/cjs/abstract/Object.js +44 -0
- package/build/cjs/abstract/index.d.ts +3 -0
- package/build/cjs/abstract/index.js +9 -0
- package/build/cjs/base/Compact.d.ts +88 -0
- package/build/cjs/base/Compact.js +163 -0
- package/build/cjs/base/DoNotConstruct.d.ts +63 -0
- package/build/cjs/base/DoNotConstruct.js +99 -0
- package/build/cjs/base/Enum.d.ts +118 -0
- package/build/cjs/base/Enum.js +373 -0
- package/build/cjs/base/Int.d.ts +16 -0
- package/build/cjs/base/Int.js +30 -0
- package/build/cjs/base/Null.d.ts +56 -0
- package/build/cjs/base/Null.js +81 -0
- package/build/cjs/base/Option.d.ts +94 -0
- package/build/cjs/base/Option.js +236 -0
- package/build/cjs/base/Result.d.ts +38 -0
- package/build/cjs/base/Result.js +67 -0
- package/build/cjs/base/Tuple.d.ts +42 -0
- package/build/cjs/base/Tuple.js +114 -0
- package/build/cjs/base/UInt.d.ts +15 -0
- package/build/cjs/base/UInt.js +27 -0
- package/build/cjs/base/Vec.d.ts +28 -0
- package/build/cjs/base/Vec.js +107 -0
- package/build/cjs/base/VecAny.d.ts +15 -0
- package/build/cjs/base/VecAny.js +21 -0
- package/build/cjs/base/VecFixed.d.ts +30 -0
- package/build/cjs/base/VecFixed.js +71 -0
- package/build/cjs/base/index.d.ts +12 -0
- package/build/cjs/base/index.js +27 -0
- package/build/cjs/bundle.d.ts +7 -0
- package/build/cjs/bundle.js +12 -0
- package/build/cjs/extended/BTreeMap.d.ts +5 -0
- package/build/cjs/extended/BTreeMap.js +14 -0
- package/build/cjs/extended/BTreeSet.d.ts +64 -0
- package/build/cjs/extended/BTreeSet.js +189 -0
- package/build/cjs/extended/BitVec.d.ts +37 -0
- package/build/cjs/extended/BitVec.js +112 -0
- package/build/cjs/extended/Bytes.d.ts +29 -0
- package/build/cjs/extended/Bytes.js +74 -0
- package/build/cjs/extended/HashMap.d.ts +5 -0
- package/build/cjs/extended/HashMap.js +14 -0
- package/build/cjs/extended/Linkage.d.ts +37 -0
- package/build/cjs/extended/Linkage.js +70 -0
- package/build/cjs/extended/Map.d.ts +59 -0
- package/build/cjs/extended/Map.js +204 -0
- package/build/cjs/extended/OptionBool.d.ts +36 -0
- package/build/cjs/extended/OptionBool.js +76 -0
- package/build/cjs/extended/Range.d.ts +29 -0
- package/build/cjs/extended/Range.js +42 -0
- package/build/cjs/extended/RangeInclusive.d.ts +6 -0
- package/build/cjs/extended/RangeInclusive.js +17 -0
- package/build/cjs/extended/Type.d.ts +16 -0
- package/build/cjs/extended/Type.js +25 -0
- package/build/cjs/extended/U8aFixed.d.ts +16 -0
- package/build/cjs/extended/U8aFixed.js +46 -0
- package/build/cjs/extended/WrapperKeepOpaque.d.ts +40 -0
- package/build/cjs/extended/WrapperKeepOpaque.js +103 -0
- package/build/cjs/extended/WrapperOpaque.d.ts +10 -0
- package/build/cjs/extended/WrapperOpaque.js +23 -0
- package/build/cjs/extended/index.d.ts +14 -0
- package/build/cjs/extended/index.js +32 -0
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +5 -0
- package/build/cjs/native/Bool.d.ts +71 -0
- package/build/cjs/native/Bool.js +113 -0
- package/build/cjs/native/Date.d.ts +84 -0
- package/build/cjs/native/Date.js +144 -0
- package/build/cjs/native/Float.d.ts +68 -0
- package/build/cjs/native/Float.js +111 -0
- package/build/cjs/native/Json.d.ts +69 -0
- package/build/cjs/native/Json.js +121 -0
- package/build/cjs/native/Raw.d.ts +87 -0
- package/build/cjs/native/Raw.js +144 -0
- package/build/cjs/native/Set.d.ts +84 -0
- package/build/cjs/native/Set.js +219 -0
- package/build/cjs/native/Struct.d.ts +106 -0
- package/build/cjs/native/Struct.data.js +4 -0
- package/build/cjs/native/Struct.js +264 -0
- package/build/cjs/native/Text.d.ts +77 -0
- package/build/cjs/native/Text.js +154 -0
- package/build/cjs/native/index.d.ts +8 -0
- package/build/cjs/native/index.js +22 -0
- package/build/cjs/package.json +3 -0
- package/build/cjs/packageDetect.d.ts +1 -0
- package/build/cjs/packageDetect.js +5 -0
- package/build/cjs/packageInfo.d.ts +6 -0
- package/build/cjs/packageInfo.js +4 -0
- package/build/cjs/primitive/F32.d.ts +11 -0
- package/build/cjs/primitive/F32.js +14 -0
- package/build/cjs/primitive/F64.d.ts +11 -0
- package/build/cjs/primitive/F64.js +14 -0
- package/build/cjs/primitive/I128.d.ts +11 -0
- package/build/cjs/primitive/I128.js +14 -0
- package/build/cjs/primitive/I16.d.ts +11 -0
- package/build/cjs/primitive/I16.js +14 -0
- package/build/cjs/primitive/I256.d.ts +11 -0
- package/build/cjs/primitive/I256.js +14 -0
- package/build/cjs/primitive/I32.d.ts +11 -0
- package/build/cjs/primitive/I32.js +14 -0
- package/build/cjs/primitive/I64.d.ts +11 -0
- package/build/cjs/primitive/I64.js +14 -0
- package/build/cjs/primitive/I8.d.ts +11 -0
- package/build/cjs/primitive/I8.js +14 -0
- package/build/cjs/primitive/ISize.d.ts +12 -0
- package/build/cjs/primitive/ISize.js +18 -0
- package/build/cjs/primitive/U128.d.ts +11 -0
- package/build/cjs/primitive/U128.js +14 -0
- package/build/cjs/primitive/U16.d.ts +11 -0
- package/build/cjs/primitive/U16.js +14 -0
- package/build/cjs/primitive/U256.d.ts +11 -0
- package/build/cjs/primitive/U256.js +14 -0
- package/build/cjs/primitive/U32.d.ts +11 -0
- package/build/cjs/primitive/U32.js +14 -0
- package/build/cjs/primitive/U64.d.ts +11 -0
- package/build/cjs/primitive/U64.js +14 -0
- package/build/cjs/primitive/U8.d.ts +11 -0
- package/build/cjs/primitive/U8.js +14 -0
- package/build/cjs/primitive/USize.d.ts +12 -0
- package/build/cjs/primitive/USize.js +18 -0
- package/build/cjs/primitive/index.d.ts +16 -0
- package/build/cjs/primitive/index.js +51 -0
- package/build/cjs/types/codec.d.ts +113 -0
- package/build/cjs/types/codec.js +2 -0
- package/build/cjs/types/helpers.d.ts +27 -0
- package/build/cjs/types/helpers.js +2 -0
- package/build/cjs/types/index.d.ts +4 -0
- package/build/cjs/types/index.js +7 -0
- package/build/cjs/types/interfaces.d.ts +74 -0
- package/build/cjs/types/interfaces.js +2 -0
- package/build/cjs/types/registry.d.ts +67 -0
- package/build/cjs/types/registry.js +2 -0
- package/build/cjs/utils/compareArray.d.ts +1 -0
- package/build/cjs/utils/compareArray.js +13 -0
- package/build/cjs/utils/compareMap.d.ts +1 -0
- package/build/cjs/utils/compareMap.js +30 -0
- package/build/cjs/utils/compareSet.d.ts +1 -0
- package/build/cjs/utils/compareSet.js +20 -0
- package/build/cjs/utils/decodeU8a.d.ts +26 -0
- package/build/cjs/utils/decodeU8a.js +105 -0
- package/build/cjs/utils/index.d.ts +8 -0
- package/build/cjs/utils/index.js +25 -0
- package/build/cjs/utils/sanitize.d.ts +15 -0
- package/build/cjs/utils/sanitize.js +233 -0
- package/build/cjs/utils/sortValues.d.ts +12 -0
- package/build/cjs/utils/sortValues.js +84 -0
- package/build/cjs/utils/toConstructors.d.ts +16 -0
- package/build/cjs/utils/toConstructors.js +40 -0
- package/build/cjs/utils/typesToMap.d.ts +2 -0
- package/build/cjs/utils/typesToMap.js +10 -0
- package/build/cjs/utils/util.d.ts +3 -0
- package/build/cjs/utils/util.js +7 -0
- package/build/extended/BTreeMap.d.ts +5 -0
- package/build/extended/BTreeMap.js +10 -0
- package/build/extended/BTreeSet.d.ts +64 -0
- package/build/extended/BTreeSet.js +185 -0
- package/build/extended/BitVec.d.ts +37 -0
- package/build/extended/BitVec.js +108 -0
- package/build/extended/Bytes.d.ts +29 -0
- package/build/extended/Bytes.js +70 -0
- package/build/extended/HashMap.d.ts +5 -0
- package/build/extended/HashMap.js +10 -0
- package/build/extended/Linkage.d.ts +37 -0
- package/build/extended/Linkage.js +65 -0
- package/build/extended/Map.d.ts +59 -0
- package/build/extended/Map.js +200 -0
- package/build/extended/OptionBool.d.ts +36 -0
- package/build/extended/OptionBool.js +72 -0
- package/build/extended/Range.d.ts +29 -0
- package/build/extended/Range.js +38 -0
- package/build/extended/RangeInclusive.d.ts +6 -0
- package/build/extended/RangeInclusive.js +13 -0
- package/build/extended/Type.d.ts +16 -0
- package/build/extended/Type.js +21 -0
- package/build/extended/U8aFixed.d.ts +16 -0
- package/build/extended/U8aFixed.js +42 -0
- package/build/extended/WrapperKeepOpaque.d.ts +40 -0
- package/build/extended/WrapperKeepOpaque.js +99 -0
- package/build/extended/WrapperOpaque.d.ts +10 -0
- package/build/extended/WrapperOpaque.js +19 -0
- package/build/extended/index.d.ts +14 -0
- package/build/extended/index.js +14 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +2 -0
- package/build/native/Bool.d.ts +71 -0
- package/build/native/Bool.js +109 -0
- package/build/native/Date.d.ts +84 -0
- package/build/native/Date.js +140 -0
- package/build/native/Float.d.ts +68 -0
- package/build/native/Float.js +107 -0
- package/build/native/Json.d.ts +69 -0
- package/build/native/Json.js +117 -0
- package/build/native/Raw.d.ts +87 -0
- package/build/native/Raw.js +140 -0
- package/build/native/Set.d.ts +84 -0
- package/build/native/Set.js +215 -0
- package/build/native/Struct.d.ts +106 -0
- package/build/native/Struct.data.js +1 -0
- package/build/native/Struct.js +260 -0
- package/build/native/Text.d.ts +77 -0
- package/build/native/Text.js +150 -0
- package/build/native/index.d.ts +8 -0
- package/build/native/index.js +8 -0
- package/build/package.json +1149 -0
- package/build/packageDetect.d.ts +1 -0
- package/build/packageDetect.js +3 -0
- package/build/packageInfo.d.ts +6 -0
- package/build/packageInfo.js +1 -0
- package/build/primitive/F32.d.ts +11 -0
- package/build/primitive/F32.js +10 -0
- package/build/primitive/F64.d.ts +11 -0
- package/build/primitive/F64.js +10 -0
- package/build/primitive/I128.d.ts +11 -0
- package/build/primitive/I128.js +10 -0
- package/build/primitive/I16.d.ts +11 -0
- package/build/primitive/I16.js +10 -0
- package/build/primitive/I256.d.ts +11 -0
- package/build/primitive/I256.js +10 -0
- package/build/primitive/I32.d.ts +11 -0
- package/build/primitive/I32.js +10 -0
- package/build/primitive/I64.d.ts +11 -0
- package/build/primitive/I64.js +10 -0
- package/build/primitive/I8.d.ts +11 -0
- package/build/primitive/I8.js +10 -0
- package/build/primitive/ISize.d.ts +12 -0
- package/build/primitive/ISize.js +14 -0
- package/build/primitive/U128.d.ts +11 -0
- package/build/primitive/U128.js +10 -0
- package/build/primitive/U16.d.ts +11 -0
- package/build/primitive/U16.js +10 -0
- package/build/primitive/U256.d.ts +11 -0
- package/build/primitive/U256.js +10 -0
- package/build/primitive/U32.d.ts +11 -0
- package/build/primitive/U32.js +10 -0
- package/build/primitive/U64.d.ts +11 -0
- package/build/primitive/U64.js +10 -0
- package/build/primitive/U8.d.ts +11 -0
- package/build/primitive/U8.js +10 -0
- package/build/primitive/USize.d.ts +12 -0
- package/build/primitive/USize.js +14 -0
- package/build/primitive/index.d.ts +16 -0
- package/build/primitive/index.js +16 -0
- package/build/types/codec.d.ts +113 -0
- package/build/types/codec.js +1 -0
- package/build/types/helpers.d.ts +27 -0
- package/build/types/helpers.js +1 -0
- package/build/types/index.d.ts +4 -0
- package/build/types/index.js +4 -0
- package/build/types/interfaces.d.ts +74 -0
- package/build/types/interfaces.js +1 -0
- package/build/types/registry.d.ts +67 -0
- package/build/types/registry.js +1 -0
- package/build/utils/compareArray.d.ts +1 -0
- package/build/utils/compareArray.js +10 -0
- package/build/utils/compareMap.d.ts +1 -0
- package/build/utils/compareMap.js +27 -0
- package/build/utils/compareSet.d.ts +1 -0
- package/build/utils/compareSet.js +17 -0
- package/build/utils/decodeU8a.d.ts +26 -0
- package/build/utils/decodeU8a.js +100 -0
- package/build/utils/index.d.ts +8 -0
- package/build/utils/index.js +8 -0
- package/build/utils/sanitize.d.ts +15 -0
- package/build/utils/sanitize.js +219 -0
- package/build/utils/sortValues.d.ts +12 -0
- package/build/utils/sortValues.js +79 -0
- package/build/utils/toConstructors.d.ts +16 -0
- package/build/utils/toConstructors.js +35 -0
- package/build/utils/typesToMap.d.ts +2 -0
- package/build/utils/typesToMap.js +7 -0
- package/build/utils/util.d.ts +3 -0
- package/build/utils/util.js +4 -0
- package/build-deno/README.md +3 -0
- package/build-deno/abstract/Array.ts +211 -0
- package/build-deno/abstract/Base.ts +127 -0
- package/build-deno/abstract/Int.ts +267 -0
- package/build-deno/abstract/Object.ts +97 -0
- package/build-deno/abstract/index.ts +4 -0
- package/build-deno/base/Compact.ts +196 -0
- package/build-deno/base/DoNotConstruct.ts +116 -0
- package/build-deno/base/Enum.ts +457 -0
- package/build-deno/base/Int.ts +32 -0
- package/build-deno/base/Null.ts +94 -0
- package/build-deno/base/Option.ts +273 -0
- package/build-deno/base/Result.ts +77 -0
- package/build-deno/base/Tuple.ts +147 -0
- package/build-deno/base/UInt.ts +28 -0
- package/build-deno/base/Vec.ts +131 -0
- package/build-deno/base/VecAny.ts +21 -0
- package/build-deno/base/VecFixed.ts +90 -0
- package/build-deno/base/index.ts +13 -0
- package/build-deno/bundle.ts +9 -0
- package/build-deno/checkTypes.manual.ts +10 -0
- package/build-deno/extended/BTreeMap.ts +14 -0
- package/build-deno/extended/BTreeSet.ts +231 -0
- package/build-deno/extended/BitVec.ts +135 -0
- package/build-deno/extended/Bytes.ts +85 -0
- package/build-deno/extended/HashMap.ts +14 -0
- package/build-deno/extended/Linkage.ts +79 -0
- package/build-deno/extended/Map.ts +253 -0
- package/build-deno/extended/OptionBool.ts +91 -0
- package/build-deno/extended/Range.ts +54 -0
- package/build-deno/extended/RangeInclusive.ts +18 -0
- package/build-deno/extended/Type.ts +27 -0
- package/build-deno/extended/U8aFixed.ts +55 -0
- package/build-deno/extended/WrapperKeepOpaque.ts +126 -0
- package/build-deno/extended/WrapperOpaque.ts +25 -0
- package/build-deno/extended/index.ts +15 -0
- package/build-deno/index.ts +4 -0
- package/build-deno/mod.ts +2 -0
- package/build-deno/native/Bool.ts +135 -0
- package/build-deno/native/Date.ts +167 -0
- package/build-deno/native/Float.ts +134 -0
- package/build-deno/native/Json.ts +145 -0
- package/build-deno/native/Raw.ts +169 -0
- package/build-deno/native/Set.ts +267 -0
- package/build-deno/native/Struct.data.ts +2 -0
- package/build-deno/native/Struct.ts +336 -0
- package/build-deno/native/Text.ts +182 -0
- package/build-deno/native/index.ts +9 -0
- package/build-deno/packageDetect.ts +7 -0
- package/build-deno/packageInfo.ts +3 -0
- package/build-deno/primitive/F32.ts +12 -0
- package/build-deno/primitive/F64.ts +12 -0
- package/build-deno/primitive/I128.ts +12 -0
- package/build-deno/primitive/I16.ts +12 -0
- package/build-deno/primitive/I256.ts +12 -0
- package/build-deno/primitive/I32.ts +12 -0
- package/build-deno/primitive/I64.ts +12 -0
- package/build-deno/primitive/I8.ts +12 -0
- package/build-deno/primitive/ISize.ts +19 -0
- package/build-deno/primitive/U128.ts +12 -0
- package/build-deno/primitive/U16.ts +12 -0
- package/build-deno/primitive/U256.ts +12 -0
- package/build-deno/primitive/U32.ts +12 -0
- package/build-deno/primitive/U64.ts +12 -0
- package/build-deno/primitive/U8.ts +12 -0
- package/build-deno/primitive/USize.ts +19 -0
- package/build-deno/primitive/index.ts +17 -0
- package/build-deno/test/performance.ts +57 -0
- package/build-deno/types/codec.ts +138 -0
- package/build-deno/types/helpers.ts +41 -0
- package/build-deno/types/index.ts +5 -0
- package/build-deno/types/interfaces.ts +94 -0
- package/build-deno/types/registry.ts +84 -0
- package/build-deno/utils/compareArray.ts +18 -0
- package/build-deno/utils/compareMap.ts +36 -0
- package/build-deno/utils/compareSet.ts +19 -0
- package/build-deno/utils/decodeU8a.ts +121 -0
- package/build-deno/utils/index.ts +9 -0
- package/build-deno/utils/sanitize.ts +282 -0
- package/build-deno/utils/sortValues.ts +101 -0
- package/build-deno/utils/toConstructors.ts +44 -0
- package/build-deno/utils/typesToMap.ts +12 -0
- package/build-deno/utils/util.ts +6 -0
- package/build-tsc/abstract/Array.d.ts +89 -0
- package/build-tsc/abstract/Base.d.ts +75 -0
- package/build-tsc/abstract/Int.d.ts +80 -0
- package/build-tsc/abstract/Object.d.ts +67 -0
- package/build-tsc/abstract/index.d.ts +3 -0
- package/build-tsc/base/Compact.d.ts +88 -0
- package/build-tsc/base/DoNotConstruct.d.ts +63 -0
- package/build-tsc/base/Enum.d.ts +118 -0
- package/build-tsc/base/Int.d.ts +16 -0
- package/build-tsc/base/Null.d.ts +56 -0
- package/build-tsc/base/Option.d.ts +94 -0
- package/build-tsc/base/Result.d.ts +38 -0
- package/build-tsc/base/Tuple.d.ts +42 -0
- package/build-tsc/base/UInt.d.ts +15 -0
- package/build-tsc/base/Vec.d.ts +28 -0
- package/build-tsc/base/VecAny.d.ts +15 -0
- package/build-tsc/base/VecFixed.d.ts +30 -0
- package/build-tsc/base/index.d.ts +12 -0
- package/build-tsc/bundle.d.ts +7 -0
- package/build-tsc/extended/BTreeMap.d.ts +5 -0
- package/build-tsc/extended/BTreeSet.d.ts +64 -0
- package/build-tsc/extended/BitVec.d.ts +37 -0
- package/build-tsc/extended/Bytes.d.ts +29 -0
- package/build-tsc/extended/HashMap.d.ts +5 -0
- package/build-tsc/extended/Linkage.d.ts +37 -0
- package/build-tsc/extended/Map.d.ts +59 -0
- package/build-tsc/extended/OptionBool.d.ts +36 -0
- package/build-tsc/extended/Range.d.ts +29 -0
- package/build-tsc/extended/RangeInclusive.d.ts +6 -0
- package/build-tsc/extended/Type.d.ts +16 -0
- package/build-tsc/extended/U8aFixed.d.ts +16 -0
- package/build-tsc/extended/WrapperKeepOpaque.d.ts +40 -0
- package/build-tsc/extended/WrapperOpaque.d.ts +10 -0
- package/build-tsc/extended/index.d.ts +14 -0
- package/build-tsc/index.d.ts +2 -0
- package/build-tsc/native/Bool.d.ts +71 -0
- package/build-tsc/native/Date.d.ts +84 -0
- package/build-tsc/native/Float.d.ts +68 -0
- package/build-tsc/native/Json.d.ts +69 -0
- package/build-tsc/native/Raw.d.ts +87 -0
- package/build-tsc/native/Set.d.ts +84 -0
- package/build-tsc/native/Struct.d.ts +106 -0
- package/build-tsc/native/Text.d.ts +77 -0
- package/build-tsc/native/index.d.ts +8 -0
- package/build-tsc/packageDetect.d.ts +1 -0
- package/build-tsc/packageInfo.d.ts +6 -0
- package/build-tsc/primitive/F32.d.ts +11 -0
- package/build-tsc/primitive/F64.d.ts +11 -0
- package/build-tsc/primitive/I128.d.ts +11 -0
- package/build-tsc/primitive/I16.d.ts +11 -0
- package/build-tsc/primitive/I256.d.ts +11 -0
- package/build-tsc/primitive/I32.d.ts +11 -0
- package/build-tsc/primitive/I64.d.ts +11 -0
- package/build-tsc/primitive/I8.d.ts +11 -0
- package/build-tsc/primitive/ISize.d.ts +12 -0
- package/build-tsc/primitive/U128.d.ts +11 -0
- package/build-tsc/primitive/U16.d.ts +11 -0
- package/build-tsc/primitive/U256.d.ts +11 -0
- package/build-tsc/primitive/U32.d.ts +11 -0
- package/build-tsc/primitive/U64.d.ts +11 -0
- package/build-tsc/primitive/U8.d.ts +11 -0
- package/build-tsc/primitive/USize.d.ts +12 -0
- package/build-tsc/primitive/index.d.ts +16 -0
- package/build-tsc/types/codec.d.ts +113 -0
- package/build-tsc/types/helpers.d.ts +27 -0
- package/build-tsc/types/index.d.ts +4 -0
- package/build-tsc/types/interfaces.d.ts +74 -0
- package/build-tsc/types/registry.d.ts +67 -0
- package/build-tsc/utils/compareArray.d.ts +1 -0
- package/build-tsc/utils/compareMap.d.ts +1 -0
- package/build-tsc/utils/compareSet.d.ts +1 -0
- package/build-tsc/utils/decodeU8a.d.ts +26 -0
- package/build-tsc/utils/index.d.ts +8 -0
- package/build-tsc/utils/sanitize.d.ts +15 -0
- package/build-tsc/utils/sortValues.d.ts +12 -0
- package/build-tsc/utils/toConstructors.d.ts +16 -0
- package/build-tsc/utils/typesToMap.d.ts +2 -0
- package/build-tsc/utils/util.d.ts +3 -0
- package/build-tsc-cjs/abstract/Array.js +170 -0
- package/build-tsc-cjs/abstract/Base.js +105 -0
- package/build-tsc-cjs/abstract/Int.js +230 -0
- package/build-tsc-cjs/abstract/Object.js +44 -0
- package/build-tsc-cjs/abstract/index.js +9 -0
- package/build-tsc-cjs/base/Compact.js +163 -0
- package/build-tsc-cjs/base/DoNotConstruct.js +99 -0
- package/build-tsc-cjs/base/Enum.js +373 -0
- package/build-tsc-cjs/base/Int.js +30 -0
- package/build-tsc-cjs/base/Null.js +81 -0
- package/build-tsc-cjs/base/Option.js +236 -0
- package/build-tsc-cjs/base/Result.js +67 -0
- package/build-tsc-cjs/base/Tuple.js +114 -0
- package/build-tsc-cjs/base/UInt.js +27 -0
- package/build-tsc-cjs/base/Vec.js +107 -0
- package/build-tsc-cjs/base/VecAny.js +21 -0
- package/build-tsc-cjs/base/VecFixed.js +71 -0
- package/build-tsc-cjs/base/index.js +27 -0
- package/build-tsc-cjs/bundle.js +12 -0
- package/build-tsc-cjs/extended/BTreeMap.js +14 -0
- package/build-tsc-cjs/extended/BTreeSet.js +189 -0
- package/build-tsc-cjs/extended/BitVec.js +112 -0
- package/build-tsc-cjs/extended/Bytes.js +74 -0
- package/build-tsc-cjs/extended/HashMap.js +14 -0
- package/build-tsc-cjs/extended/Linkage.js +70 -0
- package/build-tsc-cjs/extended/Map.js +204 -0
- package/build-tsc-cjs/extended/OptionBool.js +76 -0
- package/build-tsc-cjs/extended/Range.js +42 -0
- package/build-tsc-cjs/extended/RangeInclusive.js +17 -0
- package/build-tsc-cjs/extended/Type.js +25 -0
- package/build-tsc-cjs/extended/U8aFixed.js +46 -0
- package/build-tsc-cjs/extended/WrapperKeepOpaque.js +103 -0
- package/build-tsc-cjs/extended/WrapperOpaque.js +23 -0
- package/build-tsc-cjs/extended/index.js +32 -0
- package/build-tsc-cjs/index.js +5 -0
- package/build-tsc-cjs/native/Bool.js +113 -0
- package/build-tsc-cjs/native/Date.js +144 -0
- package/build-tsc-cjs/native/Float.js +111 -0
- package/build-tsc-cjs/native/Json.js +121 -0
- package/build-tsc-cjs/native/Raw.js +144 -0
- package/build-tsc-cjs/native/Set.js +219 -0
- package/build-tsc-cjs/native/Struct.data.js +4 -0
- package/build-tsc-cjs/native/Struct.js +264 -0
- package/build-tsc-cjs/native/Text.js +154 -0
- package/build-tsc-cjs/native/index.js +22 -0
- package/build-tsc-cjs/packageDetect.js +5 -0
- package/build-tsc-cjs/packageInfo.js +4 -0
- package/build-tsc-cjs/primitive/F32.js +14 -0
- package/build-tsc-cjs/primitive/F64.js +14 -0
- package/build-tsc-cjs/primitive/I128.js +14 -0
- package/build-tsc-cjs/primitive/I16.js +14 -0
- package/build-tsc-cjs/primitive/I256.js +14 -0
- package/build-tsc-cjs/primitive/I32.js +14 -0
- package/build-tsc-cjs/primitive/I64.js +14 -0
- package/build-tsc-cjs/primitive/I8.js +14 -0
- package/build-tsc-cjs/primitive/ISize.js +18 -0
- package/build-tsc-cjs/primitive/U128.js +14 -0
- package/build-tsc-cjs/primitive/U16.js +14 -0
- package/build-tsc-cjs/primitive/U256.js +14 -0
- package/build-tsc-cjs/primitive/U32.js +14 -0
- package/build-tsc-cjs/primitive/U64.js +14 -0
- package/build-tsc-cjs/primitive/U8.js +14 -0
- package/build-tsc-cjs/primitive/USize.js +18 -0
- package/build-tsc-cjs/primitive/index.js +51 -0
- package/build-tsc-cjs/types/codec.js +2 -0
- package/build-tsc-cjs/types/helpers.js +2 -0
- package/build-tsc-cjs/types/index.js +7 -0
- package/build-tsc-cjs/types/interfaces.js +2 -0
- package/build-tsc-cjs/types/registry.js +2 -0
- package/build-tsc-cjs/utils/compareArray.js +13 -0
- package/build-tsc-cjs/utils/compareMap.js +30 -0
- package/build-tsc-cjs/utils/compareSet.js +20 -0
- package/build-tsc-cjs/utils/decodeU8a.js +105 -0
- package/build-tsc-cjs/utils/index.js +25 -0
- package/build-tsc-cjs/utils/sanitize.js +233 -0
- package/build-tsc-cjs/utils/sortValues.js +84 -0
- package/build-tsc-cjs/utils/toConstructors.js +40 -0
- package/build-tsc-cjs/utils/typesToMap.js +10 -0
- package/build-tsc-cjs/utils/util.js +7 -0
- package/build-tsc-esm/abstract/Array.js +166 -0
- package/build-tsc-esm/abstract/Base.js +101 -0
- package/build-tsc-esm/abstract/Int.js +226 -0
- package/build-tsc-esm/abstract/Object.js +40 -0
- package/build-tsc-esm/abstract/index.js +3 -0
- package/build-tsc-esm/base/Compact.js +159 -0
- package/build-tsc-esm/base/DoNotConstruct.js +95 -0
- package/build-tsc-esm/base/Enum.js +369 -0
- package/build-tsc-esm/base/Int.js +26 -0
- package/build-tsc-esm/base/Null.js +77 -0
- package/build-tsc-esm/base/Option.js +232 -0
- package/build-tsc-esm/base/Result.js +63 -0
- package/build-tsc-esm/base/Tuple.js +110 -0
- package/build-tsc-esm/base/UInt.js +23 -0
- package/build-tsc-esm/base/Vec.js +102 -0
- package/build-tsc-esm/base/VecAny.js +17 -0
- package/build-tsc-esm/base/VecFixed.js +67 -0
- package/build-tsc-esm/base/index.js +12 -0
- package/build-tsc-esm/bundle.js +7 -0
- package/build-tsc-esm/extended/BTreeMap.js +10 -0
- package/build-tsc-esm/extended/BTreeSet.js +185 -0
- package/build-tsc-esm/extended/BitVec.js +108 -0
- package/build-tsc-esm/extended/Bytes.js +70 -0
- package/build-tsc-esm/extended/HashMap.js +10 -0
- package/build-tsc-esm/extended/Linkage.js +65 -0
- package/build-tsc-esm/extended/Map.js +200 -0
- package/build-tsc-esm/extended/OptionBool.js +72 -0
- package/build-tsc-esm/extended/Range.js +38 -0
- package/build-tsc-esm/extended/RangeInclusive.js +13 -0
- package/build-tsc-esm/extended/Type.js +21 -0
- package/build-tsc-esm/extended/U8aFixed.js +42 -0
- package/build-tsc-esm/extended/WrapperKeepOpaque.js +99 -0
- package/build-tsc-esm/extended/WrapperOpaque.js +19 -0
- package/build-tsc-esm/extended/index.js +14 -0
- package/build-tsc-esm/index.js +2 -0
- package/build-tsc-esm/native/Bool.js +109 -0
- package/build-tsc-esm/native/Date.js +140 -0
- package/build-tsc-esm/native/Float.js +107 -0
- package/build-tsc-esm/native/Json.js +117 -0
- package/build-tsc-esm/native/Raw.js +140 -0
- package/build-tsc-esm/native/Set.js +215 -0
- package/build-tsc-esm/native/Struct.data.js +1 -0
- package/build-tsc-esm/native/Struct.js +260 -0
- package/build-tsc-esm/native/Text.js +150 -0
- package/build-tsc-esm/native/index.js +8 -0
- package/build-tsc-esm/packageDetect.js +3 -0
- package/build-tsc-esm/packageInfo.js +1 -0
- package/build-tsc-esm/primitive/F32.js +10 -0
- package/build-tsc-esm/primitive/F64.js +10 -0
- package/build-tsc-esm/primitive/I128.js +10 -0
- package/build-tsc-esm/primitive/I16.js +10 -0
- package/build-tsc-esm/primitive/I256.js +10 -0
- package/build-tsc-esm/primitive/I32.js +10 -0
- package/build-tsc-esm/primitive/I64.js +10 -0
- package/build-tsc-esm/primitive/I8.js +10 -0
- package/build-tsc-esm/primitive/ISize.js +14 -0
- package/build-tsc-esm/primitive/U128.js +10 -0
- package/build-tsc-esm/primitive/U16.js +10 -0
- package/build-tsc-esm/primitive/U256.js +10 -0
- package/build-tsc-esm/primitive/U32.js +10 -0
- package/build-tsc-esm/primitive/U64.js +10 -0
- package/build-tsc-esm/primitive/U8.js +10 -0
- package/build-tsc-esm/primitive/USize.js +14 -0
- package/build-tsc-esm/primitive/index.js +16 -0
- package/build-tsc-esm/types/codec.js +1 -0
- package/build-tsc-esm/types/helpers.js +1 -0
- package/build-tsc-esm/types/index.js +4 -0
- package/build-tsc-esm/types/interfaces.js +1 -0
- package/build-tsc-esm/types/registry.js +1 -0
- package/build-tsc-esm/utils/compareArray.js +10 -0
- package/build-tsc-esm/utils/compareMap.js +27 -0
- package/build-tsc-esm/utils/compareSet.js +17 -0
- package/build-tsc-esm/utils/decodeU8a.js +100 -0
- package/build-tsc-esm/utils/index.js +8 -0
- package/build-tsc-esm/utils/sanitize.js +219 -0
- package/build-tsc-esm/utils/sortValues.js +79 -0
- package/build-tsc-esm/utils/toConstructors.js +35 -0
- package/build-tsc-esm/utils/typesToMap.js +7 -0
- package/build-tsc-esm/utils/util.js +4 -0
- package/cjs/packageInfo.js +1 -1
- package/package.json +1 -1
- package/packageInfo.js +1 -1
- package/src/abstract/Array.ts +213 -0
- package/src/abstract/Base.ts +129 -0
- package/src/abstract/Int.ts +271 -0
- package/src/abstract/Object.ts +99 -0
- package/src/abstract/index.ts +6 -0
- package/src/base/Compact.spec.ts +99 -0
- package/src/base/Compact.ts +198 -0
- package/src/base/DoNotConstruct.spec.ts +23 -0
- package/src/base/DoNotConstruct.ts +118 -0
- package/src/base/Enum.spec.ts +487 -0
- package/src/base/Enum.ts +460 -0
- package/src/base/Int.spec.ts +225 -0
- package/src/base/Int.ts +34 -0
- package/src/base/Null.spec.ts +41 -0
- package/src/base/Null.ts +96 -0
- package/src/base/Option.spec.ts +216 -0
- package/src/base/Option.ts +275 -0
- package/src/base/Result.spec.ts +64 -0
- package/src/base/Result.ts +79 -0
- package/src/base/Tuple.spec.ts +161 -0
- package/src/base/Tuple.ts +149 -0
- package/src/base/UInt.spec.ts +192 -0
- package/src/base/UInt.ts +30 -0
- package/src/base/Vec.spec.ts +224 -0
- package/src/base/Vec.ts +133 -0
- package/src/base/VecAny.ts +23 -0
- package/src/base/VecFixed.spec.ts +78 -0
- package/src/base/VecFixed.ts +92 -0
- package/src/base/index.ts +15 -0
- package/src/bundle.ts +13 -0
- package/src/checkTypes.manual.ts +12 -0
- package/src/extended/BTreeMap.spec.ts +245 -0
- package/src/extended/BTreeMap.ts +16 -0
- package/src/extended/BTreeSet.spec.ts +260 -0
- package/src/extended/BTreeSet.ts +233 -0
- package/src/extended/BitVec.spec.ts +97 -0
- package/src/extended/BitVec.ts +137 -0
- package/src/extended/Bytes.spec.ts +75 -0
- package/src/extended/Bytes.ts +88 -0
- package/src/extended/HashMap.spec.ts +36 -0
- package/src/extended/HashMap.ts +16 -0
- package/src/extended/Linkage.spec.ts +43 -0
- package/src/extended/Linkage.ts +81 -0
- package/src/extended/Map.spec.ts +123 -0
- package/src/extended/Map.ts +255 -0
- package/src/extended/OptionBool.spec.ts +49 -0
- package/src/extended/OptionBool.ts +93 -0
- package/src/extended/Range.spec.ts +37 -0
- package/src/extended/Range.ts +56 -0
- package/src/extended/RangeInclusive.ts +20 -0
- package/src/extended/Type.spec.ts +118 -0
- package/src/extended/Type.ts +29 -0
- package/src/extended/U8aFixed.spec.ts +117 -0
- package/src/extended/U8aFixed.ts +57 -0
- package/src/extended/WrapperKeepOpaque.spec.ts +101 -0
- package/src/extended/WrapperKeepOpaque.ts +128 -0
- package/src/extended/WrapperOpaque.spec.ts +58 -0
- package/src/extended/WrapperOpaque.ts +27 -0
- package/src/extended/index.ts +17 -0
- package/src/index.ts +6 -0
- package/src/mod.ts +4 -0
- package/src/native/Bool.spec.ts +74 -0
- package/src/native/Bool.ts +137 -0
- package/src/native/Date.spec.ts +85 -0
- package/src/native/Date.ts +169 -0
- package/src/native/Float.spec.ts +51 -0
- package/src/native/Float.ts +136 -0
- package/src/native/Json.ts +147 -0
- package/src/native/Raw.spec.ts +113 -0
- package/src/native/Raw.ts +171 -0
- package/src/native/Set.spec.ts +116 -0
- package/src/native/Set.ts +269 -0
- package/src/native/Struct.data.ts +4 -0
- package/src/native/Struct.spec.ts +411 -0
- package/src/native/Struct.ts +338 -0
- package/src/native/Text.spec.ts +85 -0
- package/src/native/Text.ts +184 -0
- package/src/native/index.ts +11 -0
- package/src/packageDetect.ts +11 -0
- package/src/packageInfo.ts +6 -0
- package/src/primitive/F32.ts +14 -0
- package/src/primitive/F64.ts +14 -0
- package/src/primitive/I128.ts +14 -0
- package/src/primitive/I16.ts +14 -0
- package/src/primitive/I256.ts +14 -0
- package/src/primitive/I32.ts +14 -0
- package/src/primitive/I64.ts +14 -0
- package/src/primitive/I8.ts +14 -0
- package/src/primitive/ISize.ts +21 -0
- package/src/primitive/U128.ts +14 -0
- package/src/primitive/U16.ts +14 -0
- package/src/primitive/U256.ts +14 -0
- package/src/primitive/U32.ts +14 -0
- package/src/primitive/U64.ts +14 -0
- package/src/primitive/U8.ts +14 -0
- package/src/primitive/USize.ts +21 -0
- package/src/primitive/index.ts +19 -0
- package/src/test/performance.ts +61 -0
- package/src/types/codec.ts +140 -0
- package/src/types/helpers.ts +50 -0
- package/src/types/index.ts +7 -0
- package/src/types/interfaces.ts +98 -0
- package/src/types/registry.ts +86 -0
- package/src/utils/compareArray.ts +22 -0
- package/src/utils/compareMap.ts +40 -0
- package/src/utils/compareSet.ts +23 -0
- package/src/utils/decodeU8a.ts +123 -0
- package/src/utils/index.ts +11 -0
- package/src/utils/sanitize.spec.ts +89 -0
- package/src/utils/sanitize.ts +290 -0
- package/src/utils/sortValues.ts +103 -0
- package/src/utils/toConstructors.ts +46 -0
- package/src/utils/typesToMap.ts +14 -0
- package/src/utils/util.ts +8 -0
- package/tsconfig.build.json +16 -0
- package/tsconfig.build.tsbuildinfo +1 -0
- package/tsconfig.spec.json +21 -0
- package/tsconfig.spec.tsbuildinfo +1 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { bnToBn, isBigInt, isBn, isBoolean, isCodec, isNumber, stringify } from '@pezkuwi/util';
|
|
2
|
+
/** @internal **/
|
|
3
|
+
function isArrayLike(arg) {
|
|
4
|
+
return arg instanceof Uint8Array || Array.isArray(arg);
|
|
5
|
+
}
|
|
6
|
+
/** @internal **/
|
|
7
|
+
function isEnum(arg) {
|
|
8
|
+
return isCodec(arg) && isNumber(arg.index) && isCodec(arg.value);
|
|
9
|
+
}
|
|
10
|
+
/** @internal **/
|
|
11
|
+
function isOption(arg) {
|
|
12
|
+
return isCodec(arg) && isBoolean(arg.isSome) && isCodec(arg.value);
|
|
13
|
+
}
|
|
14
|
+
/** @internal */
|
|
15
|
+
function isNumberLike(arg) {
|
|
16
|
+
return isNumber(arg) || isBn(arg) || isBigInt(arg);
|
|
17
|
+
}
|
|
18
|
+
/** @internal */
|
|
19
|
+
function sortArray(a, b) {
|
|
20
|
+
// Vec, Tuple, Bytes etc.
|
|
21
|
+
let sortRes = 0;
|
|
22
|
+
const minLen = Math.min(a.length, b.length);
|
|
23
|
+
for (let i = 0; i < minLen; ++i) {
|
|
24
|
+
sortRes = sortAsc(a[i], b[i]);
|
|
25
|
+
if (sortRes !== 0) {
|
|
26
|
+
return sortRes;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return a.length - b.length;
|
|
30
|
+
}
|
|
31
|
+
/** @internal */
|
|
32
|
+
function checkForDuplicates(container, seen, arg) {
|
|
33
|
+
// Convert the value to hex.
|
|
34
|
+
if (isCodec(arg)) {
|
|
35
|
+
const hex = arg.toHex();
|
|
36
|
+
// Check if we have seen the value.
|
|
37
|
+
if (seen.has(hex)) {
|
|
38
|
+
// Duplicates are not allowed.
|
|
39
|
+
throw new Error(`Duplicate value in ${container}: ${stringify(arg)}`);
|
|
40
|
+
}
|
|
41
|
+
seen.add(hex);
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Sort keys/values of BTreeSet/BTreeMap in ascending order for encoding compatibility with Rust's BTreeSet/BTreeMap
|
|
47
|
+
* (https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html)
|
|
48
|
+
* (https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html)
|
|
49
|
+
*/
|
|
50
|
+
export function sortAsc(a, b) {
|
|
51
|
+
if (isNumberLike(a) && isNumberLike(b)) {
|
|
52
|
+
return bnToBn(a).cmp(bnToBn(b));
|
|
53
|
+
}
|
|
54
|
+
else if (a instanceof Map && b instanceof Map) {
|
|
55
|
+
return sortAsc(Array.from(a.values()), Array.from(b.values()));
|
|
56
|
+
}
|
|
57
|
+
else if (isEnum(a) && isEnum(b)) {
|
|
58
|
+
return sortAsc(a.index, b.index) || sortAsc(a.value, b.value);
|
|
59
|
+
}
|
|
60
|
+
else if (isOption(a) && isOption(b)) {
|
|
61
|
+
return sortAsc(a.isNone ? 0 : 1, b.isNone ? 0 : 1) || sortAsc(a.value, b.value);
|
|
62
|
+
}
|
|
63
|
+
else if (isArrayLike(a) && isArrayLike(b)) {
|
|
64
|
+
return sortArray(a, b);
|
|
65
|
+
}
|
|
66
|
+
else if (isCodec(a) && isCodec(b)) {
|
|
67
|
+
// Text, Bool etc.
|
|
68
|
+
return sortAsc(a.toU8a(true), b.toU8a(true));
|
|
69
|
+
}
|
|
70
|
+
throw new Error(`Attempting to sort unrecognized values: ${stringify(a)} (typeof ${typeof a}) <-> ${stringify(b)} (typeof ${typeof b})`);
|
|
71
|
+
}
|
|
72
|
+
export function sortSet(set) {
|
|
73
|
+
const seen = new Set();
|
|
74
|
+
return new Set(Array.from(set).filter((value) => checkForDuplicates('BTreeSet', seen, value)).sort(sortAsc));
|
|
75
|
+
}
|
|
76
|
+
export function sortMap(map) {
|
|
77
|
+
const seen = new Set();
|
|
78
|
+
return new Map(Array.from(map.entries()).filter(([key]) => checkForDuplicates('BTreeMap', seen, key)).sort(([keyA], [keyB]) => sortAsc(keyA, keyB)));
|
|
79
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Codec, CodecClass, Registry } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
* From a type string or class, return the associated type class
|
|
5
|
+
*/
|
|
6
|
+
export declare function typeToConstructor<T extends Codec = Codec>(registry: Registry, type: string | CodecClass<T>): CodecClass<T>;
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
* Takes an input array of types and returns the associated classes for it
|
|
10
|
+
*/
|
|
11
|
+
export declare function typesToConstructors<T extends Codec = Codec>(registry: Registry, types: (string | CodecClass<T>)[]): CodecClass<T>[];
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
* Takes an input map of the form `{ [string]: string | CodecClass }` and returns a map of `{ [string]: CodecClass }`
|
|
15
|
+
*/
|
|
16
|
+
export declare function mapToTypeMap(registry: Registry, input: Record<string, string | CodecClass>): [CodecClass[], string[]];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
* From a type string or class, return the associated type class
|
|
4
|
+
*/
|
|
5
|
+
export function typeToConstructor(registry, type) {
|
|
6
|
+
return typeof type === 'function'
|
|
7
|
+
? type
|
|
8
|
+
: registry.createClassUnsafe(type);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
* Takes an input array of types and returns the associated classes for it
|
|
13
|
+
*/
|
|
14
|
+
export function typesToConstructors(registry, types) {
|
|
15
|
+
const count = types.length;
|
|
16
|
+
const result = new Array(count);
|
|
17
|
+
for (let i = 0; i < count; i++) {
|
|
18
|
+
result[i] = typeToConstructor(registry, types[i]);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @internal
|
|
24
|
+
* Takes an input map of the form `{ [string]: string | CodecClass }` and returns a map of `{ [string]: CodecClass }`
|
|
25
|
+
*/
|
|
26
|
+
export function mapToTypeMap(registry, input) {
|
|
27
|
+
const entries = Object.entries(input);
|
|
28
|
+
const count = entries.length;
|
|
29
|
+
const output = [new Array(count), new Array(count)];
|
|
30
|
+
for (let i = 0; i < count; i++) {
|
|
31
|
+
output[1][i] = entries[i][0];
|
|
32
|
+
output[0][i] = typeToConstructor(registry, entries[i][1]);
|
|
33
|
+
}
|
|
34
|
+
return output;
|
|
35
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
|
|
2
|
+
import type { HexString } from 'https://deno.land/x/pezkuwi/util/types.ts';
|
|
3
|
+
import type { AnyJson, Codec, Inspect, IU8a, IVec, Registry } from '../types/index.ts';
|
|
4
|
+
|
|
5
|
+
import { compactToU8a, u8aConcatStrict, u8aToHex } from 'https://deno.land/x/pezkuwi/util/mod.ts';
|
|
6
|
+
|
|
7
|
+
import { compareArray } from '../utils/compareArray.ts';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @name AbstractArray
|
|
11
|
+
* @description
|
|
12
|
+
* This manages codec arrays. It is an extension to Array, providing
|
|
13
|
+
* specific encoding/decoding on top of the base type.
|
|
14
|
+
* @noInheritDoc
|
|
15
|
+
*/
|
|
16
|
+
export abstract class AbstractArray<T extends Codec> extends Array<T> implements IVec<T> {
|
|
17
|
+
readonly registry: Registry;
|
|
18
|
+
|
|
19
|
+
public createdAtHash?: IU8a;
|
|
20
|
+
public initialU8aLength?: number;
|
|
21
|
+
public isStorageFallback?: boolean;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @description This ensures that operators such as clice, filter, map, etc. return
|
|
25
|
+
* new Array instances (without this we need to apply overrides)
|
|
26
|
+
*/
|
|
27
|
+
static get [Symbol.species] (): typeof Array {
|
|
28
|
+
return Array;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
protected constructor (registry: Registry, length: number) {
|
|
32
|
+
super(length);
|
|
33
|
+
|
|
34
|
+
this.registry = registry;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
39
|
+
*/
|
|
40
|
+
public get encodedLength (): number {
|
|
41
|
+
// We need to loop through all entries since they may have a variable length themselves,
|
|
42
|
+
// e.g. when a Vec or Compact is contained withing, it has a variable length based on data
|
|
43
|
+
const count = this.length;
|
|
44
|
+
let total = compactToU8a(count).length;
|
|
45
|
+
|
|
46
|
+
for (let i = 0; i < count; i++) {
|
|
47
|
+
total += this[i].encodedLength;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return total;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @description returns a hash of the contents
|
|
55
|
+
*/
|
|
56
|
+
public get hash (): IU8a {
|
|
57
|
+
return this.registry.hash(this.toU8a());
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @description Checks if the value is an empty value
|
|
62
|
+
*/
|
|
63
|
+
public get isEmpty (): boolean {
|
|
64
|
+
return this.length === 0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @description The length of the value
|
|
69
|
+
*/
|
|
70
|
+
public override get length (): number {
|
|
71
|
+
// only included here since we ignore inherited docs
|
|
72
|
+
return super.length;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @description Compares the value of the input to see if there is a match
|
|
77
|
+
*/
|
|
78
|
+
public eq (other?: unknown): boolean {
|
|
79
|
+
return compareArray(this, other);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @description Returns a breakdown of the hex encoding for this Codec
|
|
84
|
+
*/
|
|
85
|
+
public inspect (): Inspect {
|
|
86
|
+
return {
|
|
87
|
+
inner: this.inspectInner(),
|
|
88
|
+
outer: [compactToU8a(this.length)]
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* @internal
|
|
94
|
+
* @description Internal per-item inspection of internal values
|
|
95
|
+
*/
|
|
96
|
+
public inspectInner (): Inspect[] {
|
|
97
|
+
const count = this.length;
|
|
98
|
+
const inner = new Array<Inspect>(count);
|
|
99
|
+
|
|
100
|
+
for (let i = 0; i < count; i++) {
|
|
101
|
+
inner[i] = this[i].inspect();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return inner;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @description Converts the Object to an standard JavaScript Array
|
|
109
|
+
*/
|
|
110
|
+
public toArray (): T[] {
|
|
111
|
+
return Array.from(this);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* @description Returns a hex string representation of the value
|
|
116
|
+
*/
|
|
117
|
+
public toHex (): HexString {
|
|
118
|
+
return u8aToHex(this.toU8a());
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
|
123
|
+
*/
|
|
124
|
+
public toHuman (isExtended?: boolean, disableAscii?: boolean): AnyJson {
|
|
125
|
+
const count = this.length;
|
|
126
|
+
const result = new Array<AnyJson>(count);
|
|
127
|
+
|
|
128
|
+
for (let i = 0; i < count; i++) {
|
|
129
|
+
result[i] = this[i] && this[i].toHuman(isExtended, disableAscii);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @description Converts the Object to JSON, typically used for RPC transfers
|
|
137
|
+
*/
|
|
138
|
+
public toJSON (): AnyJson {
|
|
139
|
+
const count = this.length;
|
|
140
|
+
const result = new Array<AnyJson>(count);
|
|
141
|
+
|
|
142
|
+
for (let i = 0; i < count; i++) {
|
|
143
|
+
// We actually log inside the U8a decoding and use JSON.stringify(...), which
|
|
144
|
+
// means that the Vec may be partially populated (same applies to toHuman, same check)
|
|
145
|
+
result[i] = this[i] && this[i].toJSON();
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* @description Converts the value in a best-fit primitive form
|
|
153
|
+
*/
|
|
154
|
+
public toPrimitive (disableAscii?: boolean): AnyJson {
|
|
155
|
+
const count = this.length;
|
|
156
|
+
const result = new Array<AnyJson>(count);
|
|
157
|
+
|
|
158
|
+
for (let i = 0; i < count; i++) {
|
|
159
|
+
result[i] = this[i] && this[i].toPrimitive(disableAscii);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* @description Returns the base runtime type name for this instance
|
|
167
|
+
*/
|
|
168
|
+
abstract toRawType (): string;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @description Returns the string representation of the value
|
|
172
|
+
*/
|
|
173
|
+
public override toString (): string {
|
|
174
|
+
const count = this.length;
|
|
175
|
+
const result = new Array<string>(count);
|
|
176
|
+
|
|
177
|
+
for (let i = 0; i < count; i++) {
|
|
178
|
+
result[i] = this[i].toString();
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return `[${result.join(', ')}]`;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
|
186
|
+
* @param isBare true when the value has none of the type-specific prefixes (internal)
|
|
187
|
+
*/
|
|
188
|
+
public toU8a (isBare?: boolean): Uint8Array {
|
|
189
|
+
const encoded = this.toU8aInner();
|
|
190
|
+
|
|
191
|
+
return isBare
|
|
192
|
+
? u8aConcatStrict(encoded)
|
|
193
|
+
: u8aConcatStrict([compactToU8a(this.length), ...encoded]);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* @internal
|
|
198
|
+
* @description Internal per-item SCALE encoding of contained values
|
|
199
|
+
* @param isBare true when the value has none of the type-specific prefixes (internal)
|
|
200
|
+
*/
|
|
201
|
+
public toU8aInner (isBare?: boolean): Uint8Array[] {
|
|
202
|
+
const count = this.length;
|
|
203
|
+
const encoded = new Array<Uint8Array>(count);
|
|
204
|
+
|
|
205
|
+
for (let i = 0; i < count; i++) {
|
|
206
|
+
encoded[i] = this[i].toU8a(isBare);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return encoded;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
|
|
2
|
+
import type { HexString } from 'https://deno.land/x/pezkuwi/util/types.ts';
|
|
3
|
+
import type { AnyJson, BareOpts, Codec, Inspect, IU8a, Registry } from '../types/index.ts';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @name Base
|
|
7
|
+
* @description A type extends the Base class, when it holds a value
|
|
8
|
+
*/
|
|
9
|
+
export abstract class AbstractBase<T extends Codec> implements Codec {
|
|
10
|
+
readonly registry: Registry;
|
|
11
|
+
|
|
12
|
+
public createdAtHash?: IU8a | undefined;
|
|
13
|
+
public initialU8aLength?: number | undefined;
|
|
14
|
+
public isStorageFallback?: boolean;
|
|
15
|
+
|
|
16
|
+
readonly #raw: T;
|
|
17
|
+
|
|
18
|
+
protected constructor (registry: Registry, value: T, initialU8aLength?: number) {
|
|
19
|
+
this.initialU8aLength = initialU8aLength;
|
|
20
|
+
this.#raw = value;
|
|
21
|
+
this.registry = registry;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
26
|
+
*/
|
|
27
|
+
public get encodedLength (): number {
|
|
28
|
+
return this.toU8a().length;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @description returns a hash of the contents
|
|
33
|
+
*/
|
|
34
|
+
public get hash (): IU8a {
|
|
35
|
+
return this.registry.hash(this.toU8a());
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @description returns the inner (wrapped value)
|
|
40
|
+
*/
|
|
41
|
+
public get inner (): T {
|
|
42
|
+
return this.#raw;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @description Checks if the value is an empty value
|
|
47
|
+
*/
|
|
48
|
+
public get isEmpty (): boolean {
|
|
49
|
+
return this.#raw.isEmpty;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @description Compares the value of the input to see if there is a match
|
|
54
|
+
*/
|
|
55
|
+
public eq (other?: unknown): boolean {
|
|
56
|
+
return this.#raw.eq(other);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @description Returns a breakdown of the hex encoding for this Codec
|
|
61
|
+
*/
|
|
62
|
+
public inspect (): Inspect {
|
|
63
|
+
return this.#raw.inspect();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation
|
|
68
|
+
*/
|
|
69
|
+
public toHex (isLe?: boolean): HexString {
|
|
70
|
+
return this.#raw.toHex(isLe);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
|
75
|
+
*/
|
|
76
|
+
public toHuman (isExtended?: boolean, disableAscii?: boolean): AnyJson {
|
|
77
|
+
return this.#raw.toHuman(isExtended, disableAscii);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* @description Converts the Object to JSON, typically used for RPC transfers
|
|
82
|
+
*/
|
|
83
|
+
public toJSON (): AnyJson {
|
|
84
|
+
return this.#raw.toJSON();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @description Converts the value in a best-fit primitive form
|
|
89
|
+
*/
|
|
90
|
+
public toPrimitive (disableAscii?: boolean): AnyJson {
|
|
91
|
+
return this.#raw.toPrimitive(disableAscii);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* @description Returns the string representation of the value
|
|
96
|
+
*/
|
|
97
|
+
public toString (): string {
|
|
98
|
+
return this.#raw.toString();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
|
103
|
+
* @param isBare true when the value has none of the type-specific prefixes (internal)
|
|
104
|
+
*/
|
|
105
|
+
public toU8a (isBare?: BareOpts): Uint8Array {
|
|
106
|
+
return this.#raw.toU8a(isBare);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* @description Returns the base runtime type name for this instance
|
|
111
|
+
*/
|
|
112
|
+
public abstract toRawType (): string;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* @description Returns the inner wrapped value (equivalent to valueOf)
|
|
116
|
+
*/
|
|
117
|
+
public unwrap (): T {
|
|
118
|
+
return this.#raw;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* @description Returns the inner wrapped value
|
|
123
|
+
*/
|
|
124
|
+
public valueOf (): T {
|
|
125
|
+
return this.#raw;
|
|
126
|
+
}
|
|
127
|
+
}
|