@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
package/native/Date.js ADDED
@@ -0,0 +1,158 @@
1
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { BN, bnToBn, bnToHex, bnToU8a, isString, isU8a, u8aToBn } from '@polkadot/util';
4
+ const BITLENGTH = 64;
5
+
6
+ function decodeDate(value) {
7
+ if (isU8a(value)) {
8
+ value = u8aToBn(value.subarray(0, BITLENGTH / 8), true);
9
+ } else if (value instanceof Date) {
10
+ return value;
11
+ } else if (isString(value)) {
12
+ value = new BN(value.toString(), 10, 'le');
13
+ }
14
+
15
+ return new Date(bnToBn(value).toNumber() * 1000);
16
+ }
17
+ /**
18
+ * @name Date
19
+ * @description
20
+ * A wrapper around seconds/timestamps. Internally the representation only has
21
+ * second precicion (aligning with Rust), so any numbers passed an/out are always
22
+ * per-second. For any encoding/decoding the 1000 multiplier would be applied to
23
+ * get it in line with JavaScript formats. It extends the base JS `Date` object
24
+ * and has all the methods available that are applicable to any `Date`
25
+ * @noInheritDoc
26
+ */
27
+
28
+
29
+ export class CodecDate extends Date {
30
+ constructor(registry, value = 0) {
31
+ super(decodeDate(value));
32
+ this.registry = void 0;
33
+ this.createdAtHash = void 0;
34
+ this.registry = registry;
35
+ }
36
+ /**
37
+ * @description The length of the value when encoded as a Uint8Array
38
+ */
39
+
40
+
41
+ get encodedLength() {
42
+ return BITLENGTH / 8;
43
+ }
44
+ /**
45
+ * @description returns a hash of the contents
46
+ */
47
+
48
+
49
+ get hash() {
50
+ return this.registry.hash(this.toU8a());
51
+ }
52
+ /**
53
+ * @description Checks if the value is an empty value
54
+ */
55
+
56
+
57
+ get isEmpty() {
58
+ return this.getTime() === 0;
59
+ }
60
+ /**
61
+ * @description Compares the value of the input to see if there is a match
62
+ */
63
+
64
+
65
+ eq(other) {
66
+ return decodeDate(other).getTime() === this.getTime();
67
+ }
68
+ /**
69
+ * @description Returns the number of bits in the value
70
+ */
71
+
72
+
73
+ bitLength() {
74
+ return BITLENGTH;
75
+ }
76
+ /**
77
+ * @description Returns a BigInt representation of the number
78
+ */
79
+
80
+
81
+ toBigInt() {
82
+ return BigInt(this.toNumber());
83
+ }
84
+ /**
85
+ * @description Returns the BN representation of the timestamp
86
+ */
87
+
88
+
89
+ toBn() {
90
+ return new BN(this.toNumber());
91
+ }
92
+ /**
93
+ * @description Returns a hex string representation of the value
94
+ */
95
+
96
+
97
+ toHex(isLe = false) {
98
+ return bnToHex(this.toBn(), {
99
+ bitLength: BITLENGTH,
100
+ isLe,
101
+ isNegative: false
102
+ });
103
+ }
104
+ /**
105
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
106
+ */
107
+
108
+
109
+ toHuman() {
110
+ return this.toISOString();
111
+ }
112
+ /**
113
+ * @description Converts the Object to JSON, typically used for RPC transfers
114
+ */
115
+
116
+
117
+ toJSON() {
118
+ // FIXME Return type should be number, but conflicts with Date.toJSON()
119
+ // which returns string
120
+ return this.toNumber();
121
+ }
122
+ /**
123
+ * @description Returns the number representation for the timestamp
124
+ */
125
+
126
+
127
+ toNumber() {
128
+ return Math.ceil(this.getTime() / 1000);
129
+ }
130
+ /**
131
+ * @description Returns the base runtime type name for this instance
132
+ */
133
+
134
+
135
+ toRawType() {
136
+ return 'Moment';
137
+ }
138
+ /**
139
+ * @description Returns the string representation of the value
140
+ */
141
+
142
+
143
+ toString() {
144
+ // only included here since we do not inherit docs
145
+ return super.toString();
146
+ }
147
+ /**
148
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
149
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
150
+ */
151
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
152
+
153
+
154
+ toU8a(isBare) {
155
+ return bnToU8a(this.toNumber(), BITLENGTH, true);
156
+ }
157
+
158
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Json = void 0;
7
+
8
+ var _util = require("@polkadot/util");
9
+
10
+ var _index = require("../utils/index.cjs");
11
+
12
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
13
+ // SPDX-License-Identifier: Apache-2.0
14
+
15
+ /** @internal */
16
+ function decodeJson(value) {
17
+ return Object.entries(value || {});
18
+ }
19
+ /**
20
+ * @name Json
21
+ * @description
22
+ * Wraps the a JSON structure retrieve via RPC. It extends the standard JS Map with. While it
23
+ * implements a Codec, it is limited in that it can only be used with input objects via RPC,
24
+ * i.e. no hex decoding. Unlike a struct, this waps a JSON object with unknown keys
25
+ * @noInheritDoc
26
+ */
27
+
28
+
29
+ class Json extends Map {
30
+ constructor(registry, value) {
31
+ const decoded = decodeJson(value);
32
+ super(decoded);
33
+ this.registry = void 0;
34
+ this.createdAtHash = void 0;
35
+ this.registry = registry;
36
+ (0, _util.objectProperties)(this, decoded.map(_ref => {
37
+ let [k] = _ref;
38
+ return k;
39
+ }), k => this.get(k));
40
+ }
41
+ /**
42
+ * @description Always 0, never encodes as a Uint8Array
43
+ */
44
+
45
+
46
+ get encodedLength() {
47
+ return 0;
48
+ }
49
+ /**
50
+ * @description returns a hash of the contents
51
+ */
52
+
53
+
54
+ get hash() {
55
+ return this.registry.hash(this.toU8a());
56
+ }
57
+ /**
58
+ * @description Checks if the value is an empty value
59
+ */
60
+
61
+
62
+ get isEmpty() {
63
+ return [...this.keys()].length === 0;
64
+ }
65
+ /**
66
+ * @description Compares the value of the input to see if there is a match
67
+ */
68
+
69
+
70
+ eq(other) {
71
+ return (0, _index.compareMap)(this, other);
72
+ }
73
+
74
+ getT(key) {
75
+ return this.get(key);
76
+ }
77
+ /**
78
+ * @description Unimplemented, will throw
79
+ */
80
+
81
+
82
+ toHex() {
83
+ throw new Error('Unimplemented');
84
+ }
85
+ /**
86
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
87
+ */
88
+
89
+
90
+ toHuman() {
91
+ return [...this.entries()].reduce((json, _ref2) => {
92
+ let [key, value] = _ref2;
93
+ json[key] = (0, _util.isFunction)(value.toHuman) ? value.toHuman() : value;
94
+ return json;
95
+ }, {});
96
+ }
97
+ /**
98
+ * @description Converts the Object to JSON, typically used for RPC transfers
99
+ */
100
+
101
+
102
+ toJSON() {
103
+ return [...this.entries()].reduce((json, _ref3) => {
104
+ let [key, value] = _ref3;
105
+ json[key] = value;
106
+ return json;
107
+ }, {});
108
+ }
109
+ /**
110
+ * @description Returns the base runtime type name for this instance
111
+ */
112
+
113
+
114
+ toRawType() {
115
+ return 'Json';
116
+ }
117
+ /**
118
+ * @description Returns the string representation of the value
119
+ */
120
+
121
+
122
+ toString() {
123
+ return (0, _util.stringify)(this.toJSON());
124
+ }
125
+ /**
126
+ * @description Unimplemented, will throw
127
+ */
128
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
129
+
130
+
131
+ toU8a(isBare) {
132
+ throw new Error('Unimplemented');
133
+ }
134
+
135
+ }
136
+
137
+ exports.Json = Json;
@@ -0,0 +1,56 @@
1
+ import type { HexString } from '@polkadot/util/types';
2
+ import type { AnyJson, Codec, CodecRegistry, IU8a } from '../types';
3
+ /**
4
+ * @name Json
5
+ * @description
6
+ * Wraps the a JSON structure retrieve via RPC. It extends the standard JS Map with. While it
7
+ * implements a Codec, it is limited in that it can only be used with input objects via RPC,
8
+ * i.e. no hex decoding. Unlike a struct, this waps a JSON object with unknown keys
9
+ * @noInheritDoc
10
+ */
11
+ export declare class Json extends Map<string, any> implements Codec {
12
+ readonly registry: CodecRegistry;
13
+ createdAtHash?: IU8a;
14
+ constructor(registry: CodecRegistry, value?: Record<string, unknown> | null);
15
+ /**
16
+ * @description Always 0, never encodes as a Uint8Array
17
+ */
18
+ get encodedLength(): number;
19
+ /**
20
+ * @description returns a hash of the contents
21
+ */
22
+ get hash(): IU8a;
23
+ /**
24
+ * @description Checks if the value is an empty value
25
+ */
26
+ get isEmpty(): boolean;
27
+ /**
28
+ * @description Compares the value of the input to see if there is a match
29
+ */
30
+ eq(other?: unknown): boolean;
31
+ getT<T>(key: string): T;
32
+ /**
33
+ * @description Unimplemented, will throw
34
+ */
35
+ toHex(): HexString;
36
+ /**
37
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
38
+ */
39
+ toHuman(): Record<string, AnyJson>;
40
+ /**
41
+ * @description Converts the Object to JSON, typically used for RPC transfers
42
+ */
43
+ toJSON(): Record<string, AnyJson>;
44
+ /**
45
+ * @description Returns the base runtime type name for this instance
46
+ */
47
+ toRawType(): string;
48
+ /**
49
+ * @description Returns the string representation of the value
50
+ */
51
+ toString(): string;
52
+ /**
53
+ * @description Unimplemented, will throw
54
+ */
55
+ toU8a(isBare?: boolean): Uint8Array;
56
+ }
package/native/Json.js ADDED
@@ -0,0 +1,121 @@
1
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { isFunction, objectProperties, stringify } from '@polkadot/util';
4
+ import { compareMap } from "../utils/index.js";
5
+ /** @internal */
6
+
7
+ function decodeJson(value) {
8
+ return Object.entries(value || {});
9
+ }
10
+ /**
11
+ * @name Json
12
+ * @description
13
+ * Wraps the a JSON structure retrieve via RPC. It extends the standard JS Map with. While it
14
+ * implements a Codec, it is limited in that it can only be used with input objects via RPC,
15
+ * i.e. no hex decoding. Unlike a struct, this waps a JSON object with unknown keys
16
+ * @noInheritDoc
17
+ */
18
+
19
+
20
+ export class Json extends Map {
21
+ constructor(registry, value) {
22
+ const decoded = decodeJson(value);
23
+ super(decoded);
24
+ this.registry = void 0;
25
+ this.createdAtHash = void 0;
26
+ this.registry = registry;
27
+ objectProperties(this, decoded.map(([k]) => k), k => this.get(k));
28
+ }
29
+ /**
30
+ * @description Always 0, never encodes as a Uint8Array
31
+ */
32
+
33
+
34
+ get encodedLength() {
35
+ return 0;
36
+ }
37
+ /**
38
+ * @description returns a hash of the contents
39
+ */
40
+
41
+
42
+ get hash() {
43
+ return this.registry.hash(this.toU8a());
44
+ }
45
+ /**
46
+ * @description Checks if the value is an empty value
47
+ */
48
+
49
+
50
+ get isEmpty() {
51
+ return [...this.keys()].length === 0;
52
+ }
53
+ /**
54
+ * @description Compares the value of the input to see if there is a match
55
+ */
56
+
57
+
58
+ eq(other) {
59
+ return compareMap(this, other);
60
+ }
61
+
62
+ getT(key) {
63
+ return this.get(key);
64
+ }
65
+ /**
66
+ * @description Unimplemented, will throw
67
+ */
68
+
69
+
70
+ toHex() {
71
+ throw new Error('Unimplemented');
72
+ }
73
+ /**
74
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
75
+ */
76
+
77
+
78
+ toHuman() {
79
+ return [...this.entries()].reduce((json, [key, value]) => {
80
+ json[key] = isFunction(value.toHuman) ? value.toHuman() : value;
81
+ return json;
82
+ }, {});
83
+ }
84
+ /**
85
+ * @description Converts the Object to JSON, typically used for RPC transfers
86
+ */
87
+
88
+
89
+ toJSON() {
90
+ return [...this.entries()].reduce((json, [key, value]) => {
91
+ json[key] = value;
92
+ return json;
93
+ }, {});
94
+ }
95
+ /**
96
+ * @description Returns the base runtime type name for this instance
97
+ */
98
+
99
+
100
+ toRawType() {
101
+ return 'Json';
102
+ }
103
+ /**
104
+ * @description Returns the string representation of the value
105
+ */
106
+
107
+
108
+ toString() {
109
+ return stringify(this.toJSON());
110
+ }
111
+ /**
112
+ * @description Unimplemented, will throw
113
+ */
114
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
115
+
116
+
117
+ toU8a(isBare) {
118
+ throw new Error('Unimplemented');
119
+ }
120
+
121
+ }
package/native/Raw.cjs ADDED
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Raw = void 0;
7
+
8
+ var _util = require("@polkadot/util");
9
+
10
+ // Copyright 2017-2021 @polkadot/types-codec authors & contributors
11
+ // SPDX-License-Identifier: Apache-2.0
12
+
13
+ /**
14
+ * @name Raw
15
+ * @description
16
+ * A basic wrapper around Uint8Array, with no frills and no fuss. It does differ
17
+ * from other implementations where it will consume the full Uint8Array as passed to it.
18
+ * As such it is meant to be subclassed where the wrapper takes care of the
19
+ * actual lengths instead of used directly.
20
+ * @noInheritDoc
21
+ */
22
+ class Raw extends Uint8Array {
23
+ constructor(registry, value, initialU8aLength) {
24
+ super((0, _util.u8aToU8a)(value));
25
+ this.registry = void 0;
26
+ this.createdAtHash = void 0;
27
+ this.initialU8aLength = void 0;
28
+ this.registry = registry;
29
+ this.initialU8aLength = initialU8aLength;
30
+ }
31
+ /**
32
+ * @description The length of the value when encoded as a Uint8Array
33
+ */
34
+
35
+
36
+ get encodedLength() {
37
+ return this.length;
38
+ }
39
+ /**
40
+ * @description returns a hash of the contents
41
+ */
42
+
43
+
44
+ get hash() {
45
+ return this.registry.hash(this.toU8a());
46
+ }
47
+ /**
48
+ * @description Returns true if the wrapped value contains only ASCII printable characters
49
+ */
50
+
51
+
52
+ get isAscii() {
53
+ return (0, _util.isAscii)(this);
54
+ }
55
+ /**
56
+ * @description Returns true if the type wraps an empty/default all-0 value
57
+ */
58
+
59
+
60
+ get isEmpty() {
61
+ return !this.length || (0, _util.isUndefined)(this.find(b => !!b));
62
+ }
63
+ /**
64
+ * @description Returns true if the wrapped value contains only utf8 characters
65
+ */
66
+
67
+
68
+ get isUtf8() {
69
+ return (0, _util.isUtf8)(this);
70
+ }
71
+ /**
72
+ * @description The length of the value
73
+ */
74
+
75
+
76
+ get length() {
77
+ // only included here since we ignore inherited docs
78
+ return super.length;
79
+ }
80
+ /**
81
+ * @description Returns the number of bits in the value
82
+ */
83
+
84
+
85
+ bitLength() {
86
+ return this.length * 8;
87
+ }
88
+ /**
89
+ * @description Compares the value of the input to see if there is a match
90
+ */
91
+
92
+
93
+ eq(other) {
94
+ if (other instanceof Uint8Array) {
95
+ return this.length === other.length && !this.some((b, index) => b !== other[index]);
96
+ }
97
+
98
+ return this.eq((0, _util.u8aToU8a)(other));
99
+ }
100
+ /**
101
+ * @description Create a new slice from the actual buffer. (compat)
102
+ * @param start The position to start at
103
+ * @param end The position to end at
104
+ */
105
+
106
+
107
+ slice(start, end) {
108
+ // Like subarray below, we have to follow this approach since we are extending the TypeArray.
109
+ // This happens especially when it comes to further extensions, the length may be an override
110
+ return Uint8Array.from(this).slice(start, end);
111
+ }
112
+ /**
113
+ * @description Create a new subarray from the actual buffer. (compat)
114
+ * @param begin The position to start at
115
+ * @param end The position to end at
116
+ */
117
+
118
+
119
+ subarray(begin, end) {
120
+ return Uint8Array.from(this).subarray(begin, end);
121
+ }
122
+ /**
123
+ * @description Returns a hex string representation of the value
124
+ */
125
+
126
+
127
+ toHex() {
128
+ return (0, _util.u8aToHex)(this);
129
+ }
130
+ /**
131
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
132
+ */
133
+
134
+
135
+ toHuman() {
136
+ if (this.isAscii) {
137
+ const text = this.toUtf8(); // ensure we didn't end up with multibyte codepoints
138
+
139
+ if ((0, _util.isAscii)(text)) {
140
+ return text;
141
+ }
142
+ }
143
+
144
+ return this.toJSON();
145
+ }
146
+ /**
147
+ * @description Converts the Object to JSON, typically used for RPC transfers
148
+ */
149
+
150
+
151
+ toJSON() {
152
+ return this.toHex();
153
+ }
154
+ /**
155
+ * @description Returns the base runtime type name for this instance
156
+ */
157
+
158
+
159
+ toRawType() {
160
+ return 'Raw';
161
+ }
162
+ /**
163
+ * @description Returns the string representation of the value
164
+ */
165
+
166
+
167
+ toString() {
168
+ return this.toHex();
169
+ }
170
+ /**
171
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
172
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
173
+ */
174
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
175
+
176
+
177
+ toU8a(isBare) {
178
+ return Uint8Array.from(this);
179
+ }
180
+ /**
181
+ * @description Returns the wrapped data as a UTF-8 string
182
+ */
183
+
184
+
185
+ toUtf8() {
186
+ (0, _util.assert)(this.isUtf8, 'The character sequence is not a valid Utf8 string');
187
+ return (0, _util.u8aToString)(this);
188
+ }
189
+
190
+ }
191
+
192
+ exports.Raw = Raw;