@polkadot/types-codec 6.12.2-10

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.
Files changed (214) hide show
  1. package/abstract/AbstractArray.cjs +208 -0
  2. package/abstract/AbstractArray.d.ts +84 -0
  3. package/abstract/AbstractArray.js +197 -0
  4. package/abstract/AbstractInt.cjs +254 -0
  5. package/abstract/AbstractInt.d.ts +75 -0
  6. package/abstract/AbstractInt.js +231 -0
  7. package/abstract/index.cjs +21 -0
  8. package/abstract/index.d.ts +2 -0
  9. package/abstract/index.js +4 -0
  10. package/base/Base.cjs +137 -0
  11. package/base/Base.d.ts +56 -0
  12. package/base/Base.js +125 -0
  13. package/base/Compact.cjs +201 -0
  14. package/base/Compact.d.ts +83 -0
  15. package/base/Compact.js +186 -0
  16. package/base/DoNotConstruct.cjs +101 -0
  17. package/base/DoNotConstruct.d.ts +33 -0
  18. package/base/DoNotConstruct.js +88 -0
  19. package/base/Enum.cjs +445 -0
  20. package/base/Enum.d.ts +105 -0
  21. package/base/Enum.js +421 -0
  22. package/base/Int.cjs +45 -0
  23. package/base/Int.d.ts +16 -0
  24. package/base/Int.js +33 -0
  25. package/base/Null.cjs +111 -0
  26. package/base/Null.d.ts +54 -0
  27. package/base/Null.js +101 -0
  28. package/base/Option.cjs +256 -0
  29. package/base/Option.d.ts +88 -0
  30. package/base/Option.js +240 -0
  31. package/base/Result.cjs +109 -0
  32. package/base/Result.d.ts +46 -0
  33. package/base/Result.js +98 -0
  34. package/base/Tuple.cjs +132 -0
  35. package/base/Tuple.d.ts +39 -0
  36. package/base/Tuple.js +116 -0
  37. package/base/UInt.cjs +39 -0
  38. package/base/UInt.d.ts +15 -0
  39. package/base/UInt.js +29 -0
  40. package/base/Vec.cjs +126 -0
  41. package/base/Vec.d.ts +28 -0
  42. package/base/Vec.js +104 -0
  43. package/base/VecAny.cjs +31 -0
  44. package/base/VecAny.d.ts +15 -0
  45. package/base/VecAny.js +21 -0
  46. package/base/VecFixed.cjs +111 -0
  47. package/base/VecFixed.d.ts +26 -0
  48. package/base/VecFixed.js +93 -0
  49. package/base/index.cjs +109 -0
  50. package/base/index.d.ts +13 -0
  51. package/base/index.js +15 -0
  52. package/bundle.cjs +100 -0
  53. package/bundle.d.ts +7 -0
  54. package/bundle.js +9 -0
  55. package/detectPackage.cjs +9 -0
  56. package/detectPackage.d.ts +1 -0
  57. package/detectPackage.js +5 -0
  58. package/extended/BTreeMap.cjs +24 -0
  59. package/extended/BTreeMap.d.ts +5 -0
  60. package/extended/BTreeMap.js +14 -0
  61. package/extended/BTreeSet.cjs +227 -0
  62. package/extended/BTreeSet.d.ts +55 -0
  63. package/extended/BTreeSet.js +212 -0
  64. package/extended/BitVec.cjs +97 -0
  65. package/extended/BitVec.d.ts +26 -0
  66. package/extended/BitVec.js +82 -0
  67. package/extended/Bytes.cjs +86 -0
  68. package/extended/Bytes.d.ts +25 -0
  69. package/extended/Bytes.js +75 -0
  70. package/extended/HashMap.cjs +24 -0
  71. package/extended/HashMap.d.ts +5 -0
  72. package/extended/HashMap.js +14 -0
  73. package/extended/Linkage.cjs +89 -0
  74. package/extended/Linkage.d.ts +31 -0
  75. package/extended/Linkage.js +71 -0
  76. package/extended/Map.cjs +244 -0
  77. package/extended/Map.d.ts +50 -0
  78. package/extended/Map.js +225 -0
  79. package/extended/Range.cjs +92 -0
  80. package/extended/Range.d.ts +30 -0
  81. package/extended/Range.js +75 -0
  82. package/extended/Type.cjs +39 -0
  83. package/extended/Type.d.ts +16 -0
  84. package/extended/Type.js +27 -0
  85. package/extended/U8aFixed.cjs +66 -0
  86. package/extended/U8aFixed.d.ts +16 -0
  87. package/extended/U8aFixed.js +53 -0
  88. package/extended/WrapperOpaque.cjs +60 -0
  89. package/extended/WrapperOpaque.d.ts +14 -0
  90. package/extended/WrapperOpaque.js +49 -0
  91. package/extended/index.cjs +105 -0
  92. package/extended/index.d.ts +11 -0
  93. package/extended/index.js +13 -0
  94. package/index.cjs +20 -0
  95. package/index.d.ts +2 -0
  96. package/index.js +4 -0
  97. package/native/Bool.cjs +141 -0
  98. package/native/Bool.d.ts +62 -0
  99. package/native/Bool.js +130 -0
  100. package/native/Date.cjs +170 -0
  101. package/native/Date.d.ts +76 -0
  102. package/native/Date.js +158 -0
  103. package/native/Json.cjs +137 -0
  104. package/native/Json.d.ts +56 -0
  105. package/native/Json.js +121 -0
  106. package/native/Raw.cjs +192 -0
  107. package/native/Raw.d.ts +90 -0
  108. package/native/Raw.js +182 -0
  109. package/native/Set.cjs +268 -0
  110. package/native/Set.d.ts +76 -0
  111. package/native/Set.js +251 -0
  112. package/native/Struct.cjs +302 -0
  113. package/native/Struct.d.ts +93 -0
  114. package/native/Struct.js +286 -0
  115. package/native/Text.cjs +193 -0
  116. package/native/Text.d.ts +71 -0
  117. package/native/Text.js +178 -0
  118. package/native/index.cjs +79 -0
  119. package/native/index.d.ts +7 -0
  120. package/native/index.js +9 -0
  121. package/package.json +387 -0
  122. package/packageInfo.cjs +14 -0
  123. package/packageInfo.d.ts +4 -0
  124. package/packageInfo.js +7 -0
  125. package/primitive/I128.cjs +26 -0
  126. package/primitive/I128.d.ts +11 -0
  127. package/primitive/I128.js +16 -0
  128. package/primitive/I16.cjs +26 -0
  129. package/primitive/I16.d.ts +11 -0
  130. package/primitive/I16.js +16 -0
  131. package/primitive/I256.cjs +26 -0
  132. package/primitive/I256.d.ts +11 -0
  133. package/primitive/I256.js +16 -0
  134. package/primitive/I32.cjs +26 -0
  135. package/primitive/I32.d.ts +11 -0
  136. package/primitive/I32.js +16 -0
  137. package/primitive/I64.cjs +26 -0
  138. package/primitive/I64.d.ts +11 -0
  139. package/primitive/I64.js +16 -0
  140. package/primitive/I8.cjs +26 -0
  141. package/primitive/I8.d.ts +11 -0
  142. package/primitive/I8.js +16 -0
  143. package/primitive/U128.cjs +26 -0
  144. package/primitive/U128.d.ts +11 -0
  145. package/primitive/U128.js +16 -0
  146. package/primitive/U16.cjs +26 -0
  147. package/primitive/U16.d.ts +11 -0
  148. package/primitive/U16.js +16 -0
  149. package/primitive/U256.cjs +26 -0
  150. package/primitive/U256.d.ts +11 -0
  151. package/primitive/U256.js +16 -0
  152. package/primitive/U32.cjs +26 -0
  153. package/primitive/U32.d.ts +11 -0
  154. package/primitive/U32.js +16 -0
  155. package/primitive/U64.cjs +26 -0
  156. package/primitive/U64.d.ts +11 -0
  157. package/primitive/U64.js +16 -0
  158. package/primitive/U8.cjs +26 -0
  159. package/primitive/U8.d.ts +11 -0
  160. package/primitive/U8.js +16 -0
  161. package/primitive/USize.cjs +28 -0
  162. package/primitive/USize.d.ts +12 -0
  163. package/primitive/USize.js +18 -0
  164. package/primitive/index.cjs +187 -0
  165. package/primitive/index.d.ts +13 -0
  166. package/primitive/index.js +15 -0
  167. package/types/codec.cjs +1 -0
  168. package/types/codec.d.ts +77 -0
  169. package/types/codec.js +1 -0
  170. package/types/helpers.cjs +1 -0
  171. package/types/helpers.d.ts +14 -0
  172. package/types/helpers.js +1 -0
  173. package/types/index.cjs +57 -0
  174. package/types/index.d.ts +4 -0
  175. package/types/index.js +6 -0
  176. package/types/interfaces.cjs +1 -0
  177. package/types/interfaces.d.ts +69 -0
  178. package/types/interfaces.js +1 -0
  179. package/types/registry.cjs +1 -0
  180. package/types/registry.d.ts +61 -0
  181. package/types/registry.js +1 -0
  182. package/utils/compareArray.cjs +22 -0
  183. package/utils/compareArray.d.ts +1 -0
  184. package/utils/compareArray.js +13 -0
  185. package/utils/compareMap.cjs +39 -0
  186. package/utils/compareMap.d.ts +1 -0
  187. package/utils/compareMap.js +31 -0
  188. package/utils/compareSet.cjs +29 -0
  189. package/utils/compareSet.d.ts +1 -0
  190. package/utils/compareSet.js +22 -0
  191. package/utils/decodeU8a.cjs +69 -0
  192. package/utils/decodeU8a.d.ts +13 -0
  193. package/utils/decodeU8a.js +60 -0
  194. package/utils/index.cjs +95 -0
  195. package/utils/index.d.ts +9 -0
  196. package/utils/index.js +11 -0
  197. package/utils/mapToTypeMap.cjs +25 -0
  198. package/utils/mapToTypeMap.d.ts +5 -0
  199. package/utils/mapToTypeMap.js +17 -0
  200. package/utils/sanitize.cjs +242 -0
  201. package/utils/sanitize.d.ts +16 -0
  202. package/utils/sanitize.js +215 -0
  203. package/utils/sortValues.cjs +89 -0
  204. package/utils/sortValues.d.ts +13 -0
  205. package/utils/sortValues.js +73 -0
  206. package/utils/typeToConstructor.cjs +14 -0
  207. package/utils/typeToConstructor.d.ts +2 -0
  208. package/utils/typeToConstructor.js +6 -0
  209. package/utils/typesToMap.cjs +20 -0
  210. package/utils/typesToMap.d.ts +2 -0
  211. package/utils/typesToMap.js +13 -0
  212. package/utils/util.cjs +15 -0
  213. package/utils/util.d.ts +3 -0
  214. package/utils/util.js +7 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Result = void 0;
7
+
8
+ var _util = require("@polkadot/util");
9
+
10
+ var _Enum = require("./Enum.cjs");
11
+
12
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
13
+ // SPDX-License-Identifier: Apache-2.0
14
+
15
+ /**
16
+ * @name Result
17
+ * @description
18
+ * A Result maps to the Rust Result type, that can either wrap a success or error value
19
+ */
20
+ class Result extends _Enum.Enum {
21
+ constructor(registry, Ok, Err, value) {
22
+ // NOTE This is order-dependent, Ok (with index 0) needs to be first
23
+ // eslint-disable-next-line sort-keys
24
+ super(registry, {
25
+ Ok,
26
+ Err
27
+ }, value);
28
+ }
29
+
30
+ static with(Types) {
31
+ return class extends Result {
32
+ constructor(registry, value) {
33
+ super(registry, Types.Ok, Types.Err, value);
34
+ }
35
+
36
+ };
37
+ }
38
+ /**
39
+ * @description Returns the wrapper Err value (if isErr)
40
+ */
41
+
42
+
43
+ get asErr() {
44
+ (0, _util.assert)(this.isErr, 'Cannot extract Err value from Ok result, check isErr first');
45
+ return this.value;
46
+ }
47
+ /**
48
+ * @deprecated Use asErr
49
+ */
50
+
51
+
52
+ get asError() {
53
+ return this.asErr;
54
+ }
55
+ /**
56
+ * @description Returns the wrapper Ok value (if isOk)
57
+ */
58
+
59
+
60
+ get asOk() {
61
+ (0, _util.assert)(this.isOk, 'Cannot extract Ok value from Err result, check isOk first');
62
+ return this.value;
63
+ }
64
+ /**
65
+ * @description Checks if the Result has no value
66
+ */
67
+
68
+
69
+ get isEmpty() {
70
+ return this.isOk && this.value.isEmpty;
71
+ }
72
+ /**
73
+ * @description Checks if the Result wraps an Err value
74
+ */
75
+
76
+
77
+ get isErr() {
78
+ return !this.isOk;
79
+ }
80
+ /**
81
+ * @deprecated Use isErr
82
+ */
83
+
84
+
85
+ get isError() {
86
+ return this.isErr;
87
+ }
88
+ /**
89
+ * @description Checks if the Result wraps an Ok value
90
+ */
91
+
92
+
93
+ get isOk() {
94
+ return this.index === 0;
95
+ }
96
+ /**
97
+ * @description Returns the base runtime type name for this instance
98
+ */
99
+
100
+
101
+ toRawType() {
102
+ const Types = this._toRawStruct();
103
+
104
+ return `Result<${Types.Ok},${Types.Err}>`;
105
+ }
106
+
107
+ }
108
+
109
+ exports.Result = Result;
@@ -0,0 +1,46 @@
1
+ import type { Codec, CodecClass, CodecRegistry, IResult } from '../types';
2
+ import { Enum } from './Enum';
3
+ /**
4
+ * @name Result
5
+ * @description
6
+ * A Result maps to the Rust Result type, that can either wrap a success or error value
7
+ */
8
+ export declare class Result<O extends Codec, E extends Codec> extends Enum implements IResult<O, E> {
9
+ constructor(registry: CodecRegistry, Ok: CodecClass<O> | string, Err: CodecClass<E> | string, value?: unknown);
10
+ static with<O extends Codec, E extends Codec>(Types: {
11
+ Ok: CodecClass<O> | string;
12
+ Err: CodecClass<E> | string;
13
+ }): CodecClass<Result<O, E>>;
14
+ /**
15
+ * @description Returns the wrapper Err value (if isErr)
16
+ */
17
+ get asErr(): E;
18
+ /**
19
+ * @deprecated Use asErr
20
+ */
21
+ get asError(): E;
22
+ /**
23
+ * @description Returns the wrapper Ok value (if isOk)
24
+ */
25
+ get asOk(): O;
26
+ /**
27
+ * @description Checks if the Result has no value
28
+ */
29
+ get isEmpty(): boolean;
30
+ /**
31
+ * @description Checks if the Result wraps an Err value
32
+ */
33
+ get isErr(): boolean;
34
+ /**
35
+ * @deprecated Use isErr
36
+ */
37
+ get isError(): boolean;
38
+ /**
39
+ * @description Checks if the Result wraps an Ok value
40
+ */
41
+ get isOk(): boolean;
42
+ /**
43
+ * @description Returns the base runtime type name for this instance
44
+ */
45
+ toRawType(): string;
46
+ }
package/base/Result.js ADDED
@@ -0,0 +1,98 @@
1
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { assert } from '@polkadot/util';
4
+ import { Enum } from "./Enum.js";
5
+ /**
6
+ * @name Result
7
+ * @description
8
+ * A Result maps to the Rust Result type, that can either wrap a success or error value
9
+ */
10
+
11
+ export class Result extends Enum {
12
+ constructor(registry, Ok, Err, value) {
13
+ // NOTE This is order-dependent, Ok (with index 0) needs to be first
14
+ // eslint-disable-next-line sort-keys
15
+ super(registry, {
16
+ Ok,
17
+ Err
18
+ }, value);
19
+ }
20
+
21
+ static with(Types) {
22
+ return class extends Result {
23
+ constructor(registry, value) {
24
+ super(registry, Types.Ok, Types.Err, value);
25
+ }
26
+
27
+ };
28
+ }
29
+ /**
30
+ * @description Returns the wrapper Err value (if isErr)
31
+ */
32
+
33
+
34
+ get asErr() {
35
+ assert(this.isErr, 'Cannot extract Err value from Ok result, check isErr first');
36
+ return this.value;
37
+ }
38
+ /**
39
+ * @deprecated Use asErr
40
+ */
41
+
42
+
43
+ get asError() {
44
+ return this.asErr;
45
+ }
46
+ /**
47
+ * @description Returns the wrapper Ok value (if isOk)
48
+ */
49
+
50
+
51
+ get asOk() {
52
+ assert(this.isOk, 'Cannot extract Ok value from Err result, check isOk first');
53
+ return this.value;
54
+ }
55
+ /**
56
+ * @description Checks if the Result has no value
57
+ */
58
+
59
+
60
+ get isEmpty() {
61
+ return this.isOk && this.value.isEmpty;
62
+ }
63
+ /**
64
+ * @description Checks if the Result wraps an Err value
65
+ */
66
+
67
+
68
+ get isErr() {
69
+ return !this.isOk;
70
+ }
71
+ /**
72
+ * @deprecated Use isErr
73
+ */
74
+
75
+
76
+ get isError() {
77
+ return this.isErr;
78
+ }
79
+ /**
80
+ * @description Checks if the Result wraps an Ok value
81
+ */
82
+
83
+
84
+ get isOk() {
85
+ return this.index === 0;
86
+ }
87
+ /**
88
+ * @description Returns the base runtime type name for this instance
89
+ */
90
+
91
+
92
+ toRawType() {
93
+ const Types = this._toRawStruct();
94
+
95
+ return `Result<${Types.Ok},${Types.Err}>`;
96
+ }
97
+
98
+ }
package/base/Tuple.cjs ADDED
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Tuple = void 0;
9
+
10
+ var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase"));
11
+
12
+ var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey"));
13
+
14
+ var _util = require("@polkadot/util");
15
+
16
+ var _AbstractArray = require("../abstract/AbstractArray.cjs");
17
+
18
+ var _index = require("../utils/index.cjs");
19
+
20
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
21
+ // SPDX-License-Identifier: Apache-2.0
22
+
23
+ /** @internal */
24
+ function decodeTuple(registry, Classes, value) {
25
+ if ((0, _util.isU8a)(value) || (0, _util.isHex)(value)) {
26
+ return (0, _index.decodeU8a)(registry, (0, _util.u8aToU8a)(value), Classes);
27
+ }
28
+
29
+ const Types = Array.isArray(Classes) ? Classes : Object.values(Classes);
30
+ return [Types.map((Type, index) => {
31
+ try {
32
+ const entry = value === null || value === void 0 ? void 0 : value[index];
33
+
34
+ if (entry instanceof Type) {
35
+ return entry;
36
+ }
37
+
38
+ return new Type(registry, entry);
39
+ } catch (error) {
40
+ throw new Error(`Tuple: failed on ${index}:: ${error.message}`);
41
+ }
42
+ }), 0];
43
+ }
44
+ /**
45
+ * @name Tuple
46
+ * @description
47
+ * A Tuple defines an anonymous fixed-length array, where each element has its
48
+ * own type. It extends the base JS `Array` object.
49
+ */
50
+
51
+
52
+ var _Types = /*#__PURE__*/(0, _classPrivateFieldLooseKey2.default)("Types");
53
+
54
+ class Tuple extends _AbstractArray.AbstractArray {
55
+ constructor(registry, Types, value) {
56
+ const Classes = Array.isArray(Types) ? Types.map(t => (0, _index.typeToConstructor)(registry, t)) : (0, _util.isFunction)(Types) || (0, _util.isString)(Types) ? [(0, _index.typeToConstructor)(registry, Types)] : (0, _index.mapToTypeMap)(registry, Types);
57
+ const [values, decodedLength] = (0, _util.isU8a)(value) ? (0, _index.decodeU8a)(registry, value, Classes) : decodeTuple(registry, Classes, value);
58
+ super(registry, values, decodedLength);
59
+ Object.defineProperty(this, _Types, {
60
+ writable: true,
61
+ value: void 0
62
+ });
63
+ (0, _classPrivateFieldLooseBase2.default)(this, _Types)[_Types] = Classes;
64
+ }
65
+
66
+ static with(Types) {
67
+ return class extends Tuple {
68
+ constructor(registry, value) {
69
+ super(registry, Types, value);
70
+ }
71
+
72
+ };
73
+ }
74
+ /**
75
+ * @description The length of the value when encoded as a Uint8Array
76
+ */
77
+
78
+
79
+ get encodedLength() {
80
+ let total = 0;
81
+
82
+ for (let i = 0; i < this.length; i++) {
83
+ total += this[i].encodedLength;
84
+ }
85
+
86
+ return total;
87
+ }
88
+ /**
89
+ * @description The types definition of the tuple
90
+ */
91
+
92
+
93
+ get Types() {
94
+ return Array.isArray((0, _classPrivateFieldLooseBase2.default)(this, _Types)[_Types]) ? (0, _classPrivateFieldLooseBase2.default)(this, _Types)[_Types].map(T => new T(this.registry).toRawType()) : Object.keys((0, _classPrivateFieldLooseBase2.default)(this, _Types)[_Types]);
95
+ }
96
+ /**
97
+ * @description Returns the base runtime type name for this instance
98
+ */
99
+
100
+
101
+ toRawType() {
102
+ const types = (Array.isArray((0, _classPrivateFieldLooseBase2.default)(this, _Types)[_Types]) ? (0, _classPrivateFieldLooseBase2.default)(this, _Types)[_Types] : Object.values((0, _classPrivateFieldLooseBase2.default)(this, _Types)[_Types])).map(T => this.registry.getClassName(T) || new T(this.registry).toRawType());
103
+ return `(${types.join(',')})`;
104
+ }
105
+ /**
106
+ * @description Returns the string representation of the value
107
+ */
108
+
109
+
110
+ toString() {
111
+ // Overwrite the default toString representation of Array.
112
+ return (0, _util.stringify)(this.toJSON());
113
+ }
114
+ /**
115
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
116
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
117
+ */
118
+
119
+
120
+ toU8a(isBare) {
121
+ const encoded = new Array(this.length);
122
+
123
+ for (let i = 0; i < this.length; i++) {
124
+ encoded[i] = this[i].toU8a(isBare);
125
+ }
126
+
127
+ return (0, _util.u8aConcat)(...encoded);
128
+ }
129
+
130
+ }
131
+
132
+ exports.Tuple = Tuple;
@@ -0,0 +1,39 @@
1
+ import type { AnyTupleValue, Codec, CodecClass, CodecRegistry, ITuple } from '../types';
2
+ import { AbstractArray } from '../abstract/AbstractArray';
3
+ declare type TupleType = (CodecClass | string);
4
+ declare type TupleTypes = TupleType[] | {
5
+ [index: string]: CodecClass | string;
6
+ };
7
+ /**
8
+ * @name Tuple
9
+ * @description
10
+ * A Tuple defines an anonymous fixed-length array, where each element has its
11
+ * own type. It extends the base JS `Array` object.
12
+ */
13
+ export declare class Tuple extends AbstractArray<Codec> implements ITuple<Codec[]> {
14
+ #private;
15
+ constructor(registry: CodecRegistry, Types: TupleTypes | TupleType, value?: AnyTupleValue);
16
+ static with(Types: TupleTypes | TupleType): CodecClass<Tuple>;
17
+ /**
18
+ * @description The length of the value when encoded as a Uint8Array
19
+ */
20
+ get encodedLength(): number;
21
+ /**
22
+ * @description The types definition of the tuple
23
+ */
24
+ get Types(): string[];
25
+ /**
26
+ * @description Returns the base runtime type name for this instance
27
+ */
28
+ toRawType(): string;
29
+ /**
30
+ * @description Returns the string representation of the value
31
+ */
32
+ toString(): string;
33
+ /**
34
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
35
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
36
+ */
37
+ toU8a(isBare?: boolean): Uint8Array;
38
+ }
39
+ export {};
package/base/Tuple.js ADDED
@@ -0,0 +1,116 @@
1
+ import _classPrivateFieldLooseBase from "@babel/runtime/helpers/esm/classPrivateFieldLooseBase";
2
+ import _classPrivateFieldLooseKey from "@babel/runtime/helpers/esm/classPrivateFieldLooseKey";
3
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ import { isFunction, isHex, isString, isU8a, stringify, u8aConcat, u8aToU8a } from '@polkadot/util';
6
+ import { AbstractArray } from "../abstract/AbstractArray.js";
7
+ import { decodeU8a, mapToTypeMap, typeToConstructor } from "../utils/index.js";
8
+
9
+ /** @internal */
10
+ function decodeTuple(registry, Classes, value) {
11
+ if (isU8a(value) || isHex(value)) {
12
+ return decodeU8a(registry, u8aToU8a(value), Classes);
13
+ }
14
+
15
+ const Types = Array.isArray(Classes) ? Classes : Object.values(Classes);
16
+ return [Types.map((Type, index) => {
17
+ try {
18
+ const entry = value === null || value === void 0 ? void 0 : value[index];
19
+
20
+ if (entry instanceof Type) {
21
+ return entry;
22
+ }
23
+
24
+ return new Type(registry, entry);
25
+ } catch (error) {
26
+ throw new Error(`Tuple: failed on ${index}:: ${error.message}`);
27
+ }
28
+ }), 0];
29
+ }
30
+ /**
31
+ * @name Tuple
32
+ * @description
33
+ * A Tuple defines an anonymous fixed-length array, where each element has its
34
+ * own type. It extends the base JS `Array` object.
35
+ */
36
+
37
+
38
+ var _Types = /*#__PURE__*/_classPrivateFieldLooseKey("Types");
39
+
40
+ export class Tuple extends AbstractArray {
41
+ constructor(registry, Types, value) {
42
+ const Classes = Array.isArray(Types) ? Types.map(t => typeToConstructor(registry, t)) : isFunction(Types) || isString(Types) ? [typeToConstructor(registry, Types)] : mapToTypeMap(registry, Types);
43
+ const [values, decodedLength] = isU8a(value) ? decodeU8a(registry, value, Classes) : decodeTuple(registry, Classes, value);
44
+ super(registry, values, decodedLength);
45
+ Object.defineProperty(this, _Types, {
46
+ writable: true,
47
+ value: void 0
48
+ });
49
+ _classPrivateFieldLooseBase(this, _Types)[_Types] = Classes;
50
+ }
51
+
52
+ static with(Types) {
53
+ return class extends Tuple {
54
+ constructor(registry, value) {
55
+ super(registry, Types, value);
56
+ }
57
+
58
+ };
59
+ }
60
+ /**
61
+ * @description The length of the value when encoded as a Uint8Array
62
+ */
63
+
64
+
65
+ get encodedLength() {
66
+ let total = 0;
67
+
68
+ for (let i = 0; i < this.length; i++) {
69
+ total += this[i].encodedLength;
70
+ }
71
+
72
+ return total;
73
+ }
74
+ /**
75
+ * @description The types definition of the tuple
76
+ */
77
+
78
+
79
+ get Types() {
80
+ return Array.isArray(_classPrivateFieldLooseBase(this, _Types)[_Types]) ? _classPrivateFieldLooseBase(this, _Types)[_Types].map(T => new T(this.registry).toRawType()) : Object.keys(_classPrivateFieldLooseBase(this, _Types)[_Types]);
81
+ }
82
+ /**
83
+ * @description Returns the base runtime type name for this instance
84
+ */
85
+
86
+
87
+ toRawType() {
88
+ const types = (Array.isArray(_classPrivateFieldLooseBase(this, _Types)[_Types]) ? _classPrivateFieldLooseBase(this, _Types)[_Types] : Object.values(_classPrivateFieldLooseBase(this, _Types)[_Types])).map(T => this.registry.getClassName(T) || new T(this.registry).toRawType());
89
+ return `(${types.join(',')})`;
90
+ }
91
+ /**
92
+ * @description Returns the string representation of the value
93
+ */
94
+
95
+
96
+ toString() {
97
+ // Overwrite the default toString representation of Array.
98
+ return stringify(this.toJSON());
99
+ }
100
+ /**
101
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
102
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
103
+ */
104
+
105
+
106
+ toU8a(isBare) {
107
+ const encoded = new Array(this.length);
108
+
109
+ for (let i = 0; i < this.length; i++) {
110
+ encoded[i] = this[i].toU8a(isBare);
111
+ }
112
+
113
+ return u8aConcat(...encoded);
114
+ }
115
+
116
+ }
package/base/UInt.cjs ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UInt = void 0;
7
+
8
+ var _AbstractInt = require("../abstract/AbstractInt.cjs");
9
+
10
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
11
+ // SPDX-License-Identifier: Apache-2.0
12
+
13
+ /**
14
+ * @name UInt
15
+ * @description
16
+ * A generic unsigned integer codec. For Substrate all numbers are Little Endian encoded,
17
+ * this handles the encoding and decoding of those numbers. Upon construction
18
+ * the bitLength is provided and any additional use keeps the number to this
19
+ * length. This extends `BN`, so all methods available on a normal `BN` object
20
+ * is available here.
21
+ * @noInheritDoc
22
+ */
23
+ class UInt extends _AbstractInt.AbstractInt {
24
+ static with(bitLength, typeName) {
25
+ return class extends UInt {
26
+ constructor(registry, value) {
27
+ super(registry, value, bitLength);
28
+ }
29
+
30
+ toRawType() {
31
+ return typeName || super.toRawType();
32
+ }
33
+
34
+ };
35
+ }
36
+
37
+ }
38
+
39
+ exports.UInt = UInt;
package/base/UInt.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import type { CodecClass, UIntBitLength } from '../types';
2
+ import { AbstractInt } from '../abstract/AbstractInt';
3
+ /**
4
+ * @name UInt
5
+ * @description
6
+ * A generic unsigned integer codec. For Substrate all numbers are Little Endian encoded,
7
+ * this handles the encoding and decoding of those numbers. Upon construction
8
+ * the bitLength is provided and any additional use keeps the number to this
9
+ * length. This extends `BN`, so all methods available on a normal `BN` object
10
+ * is available here.
11
+ * @noInheritDoc
12
+ */
13
+ export declare class UInt extends AbstractInt {
14
+ static with(bitLength: UIntBitLength, typeName?: string): CodecClass<UInt>;
15
+ }
package/base/UInt.js ADDED
@@ -0,0 +1,29 @@
1
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { AbstractInt } from "../abstract/AbstractInt.js";
4
+ /**
5
+ * @name UInt
6
+ * @description
7
+ * A generic unsigned integer codec. For Substrate all numbers are Little Endian encoded,
8
+ * this handles the encoding and decoding of those numbers. Upon construction
9
+ * the bitLength is provided and any additional use keeps the number to this
10
+ * length. This extends `BN`, so all methods available on a normal `BN` object
11
+ * is available here.
12
+ * @noInheritDoc
13
+ */
14
+
15
+ export class UInt extends AbstractInt {
16
+ static with(bitLength, typeName) {
17
+ return class extends UInt {
18
+ constructor(registry, value) {
19
+ super(registry, value, bitLength);
20
+ }
21
+
22
+ toRawType() {
23
+ return typeName || super.toRawType();
24
+ }
25
+
26
+ };
27
+ }
28
+
29
+ }