@polkadot/types-codec 9.14.2 → 10.0.1
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/abstract/Array.js +140 -155
- package/abstract/Base.js +95 -112
- package/abstract/Int.js +212 -220
- package/abstract/Object.js +34 -45
- package/abstract/index.js +3 -6
- package/base/Compact.js +149 -165
- package/base/DoNotConstruct.js +61 -64
- package/base/Enum.js +345 -382
- package/base/Int.js +14 -18
- package/base/Null.js +71 -82
- package/base/Option.js +217 -226
- package/base/Result.js +54 -67
- package/base/Tuple.js +96 -101
- package/base/UInt.js +11 -15
- package/base/Vec.js +84 -89
- package/base/VecAny.js +8 -12
- package/base/VecFixed.js +59 -70
- package/base/index.js +12 -15
- package/bundle.js +7 -10
- package/cjs/abstract/Array.js +138 -159
- package/cjs/abstract/Base.js +96 -117
- package/cjs/abstract/Int.js +215 -238
- package/cjs/abstract/Object.js +30 -49
- package/cjs/abstract/index.js +8 -25
- package/cjs/base/Compact.js +151 -173
- package/cjs/base/DoNotConstruct.js +63 -70
- package/cjs/base/Enum.js +350 -396
- package/cjs/base/Int.js +16 -24
- package/cjs/base/Null.js +70 -86
- package/cjs/base/Option.js +220 -234
- package/cjs/base/Result.js +56 -71
- package/cjs/base/Tuple.js +103 -109
- package/cjs/base/UInt.js +13 -19
- package/cjs/base/Vec.js +94 -101
- package/cjs/base/VecAny.js +10 -16
- package/cjs/base/VecFixed.js +66 -79
- package/cjs/base/index.js +26 -88
- package/cjs/bundle.js +11 -86
- package/cjs/detectOther.js +2 -10
- package/cjs/detectPackage.js +6 -11
- package/cjs/extended/BTreeMap.js +10 -16
- package/cjs/extended/BTreeSet.js +162 -178
- package/cjs/extended/BitVec.js +70 -77
- package/cjs/extended/Bytes.js +59 -62
- package/cjs/extended/HashMap.js +10 -16
- package/cjs/extended/Linkage.js +50 -60
- package/cjs/extended/Map.js +176 -181
- package/cjs/extended/OptionBool.js +65 -68
- package/cjs/extended/Range.js +37 -46
- package/cjs/extended/RangeInclusive.js +13 -21
- package/cjs/extended/Type.js +14 -22
- package/cjs/extended/U8aFixed.js +33 -43
- package/cjs/extended/WrapperKeepOpaque.js +99 -99
- package/cjs/extended/WrapperOpaque.js +19 -28
- package/cjs/extended/index.js +31 -108
- package/cjs/index.js +3 -15
- package/cjs/native/Bool.js +101 -116
- package/cjs/native/Date.js +125 -151
- package/cjs/native/Float.js +95 -114
- package/cjs/native/Json.js +102 -124
- package/cjs/native/Raw.js +128 -150
- package/cjs/native/Set.js +200 -220
- package/cjs/native/Struct.data.js +2 -9
- package/cjs/native/Struct.js +238 -251
- package/cjs/native/Text.js +137 -149
- package/cjs/native/index.js +21 -78
- package/cjs/packageInfo.js +2 -16
- package/cjs/primitive/F32.js +8 -11
- package/cjs/primitive/F64.js +8 -11
- package/cjs/primitive/I128.js +8 -11
- package/cjs/primitive/I16.js +8 -11
- package/cjs/primitive/I256.js +8 -11
- package/cjs/primitive/I32.js +8 -11
- package/cjs/primitive/I64.js +8 -11
- package/cjs/primitive/I8.js +8 -11
- package/cjs/primitive/U128.js +8 -11
- package/cjs/primitive/U16.js +8 -11
- package/cjs/primitive/U256.js +8 -11
- package/cjs/primitive/U32.js +8 -11
- package/cjs/primitive/U64.js +8 -11
- package/cjs/primitive/U8.js +8 -11
- package/cjs/primitive/USize.js +7 -13
- package/cjs/primitive/index.js +47 -199
- package/cjs/types/codec.js +2 -1
- package/cjs/types/helpers.js +2 -1
- package/cjs/types/index.js +6 -48
- package/cjs/types/interfaces.js +2 -1
- package/cjs/types/registry.js +2 -1
- package/cjs/utils/compareArray.js +12 -17
- package/cjs/utils/compareMap.js +23 -26
- package/cjs/utils/compareSet.js +17 -23
- package/cjs/utils/decodeU8a.js +63 -74
- package/cjs/utils/index.js +24 -91
- package/cjs/utils/mapToTypeMap.js +13 -18
- package/cjs/utils/sanitize.js +198 -204
- package/cjs/utils/sortValues.js +39 -49
- package/cjs/utils/typeToConstructor.js +8 -11
- package/cjs/utils/typesToMap.js +10 -16
- package/cjs/utils/util.js +6 -11
- package/detectOther.js +0 -5
- package/detectPackage.js +2 -7
- package/extended/BTreeMap.js +8 -11
- package/extended/BTreeSet.js +159 -171
- package/extended/BitVec.js +63 -70
- package/extended/Bytes.js +56 -57
- package/extended/HashMap.js +8 -11
- package/extended/Linkage.js +46 -51
- package/extended/Map.js +173 -173
- package/extended/OptionBool.js +62 -62
- package/extended/Range.js +31 -39
- package/extended/RangeInclusive.js +11 -16
- package/extended/Type.js +12 -17
- package/extended/U8aFixed.js +30 -36
- package/extended/WrapperKeepOpaque.js +92 -91
- package/extended/WrapperOpaque.js +17 -23
- package/extended/index.js +14 -17
- package/index.js +2 -5
- package/native/Bool.js +102 -111
- package/native/Date.js +126 -144
- package/native/Float.js +94 -107
- package/native/Json.js +104 -114
- package/native/Raw.js +130 -146
- package/native/Set.js +194 -209
- package/native/Struct.data.js +0 -3
- package/native/Struct.js +233 -241
- package/native/Text.js +135 -143
- package/native/index.js +8 -11
- package/package.json +8 -5
- package/packageInfo.js +1 -11
- package/primitive/F32.js +3 -7
- package/primitive/F64.js +3 -7
- package/primitive/I128.js +3 -7
- package/primitive/I16.js +3 -7
- package/primitive/I256.js +3 -7
- package/primitive/I32.js +3 -7
- package/primitive/I64.js +3 -7
- package/primitive/I8.js +3 -7
- package/primitive/U128.js +3 -7
- package/primitive/U16.js +3 -7
- package/primitive/U256.js +3 -7
- package/primitive/U32.js +3 -7
- package/primitive/U64.js +3 -7
- package/primitive/U8.js +3 -7
- package/primitive/USize.js +5 -9
- package/primitive/index.js +15 -18
- package/types/index.js +4 -7
- package/utils/compareArray.js +7 -11
- package/utils/compareMap.js +18 -19
- package/utils/compareSet.js +12 -16
- package/utils/decodeU8a.js +54 -61
- package/utils/index.js +9 -12
- package/utils/mapToTypeMap.js +9 -13
- package/utils/sanitize.js +182 -185
- package/utils/sortValues.js +32 -36
- package/utils/typeToConstructor.js +3 -4
- package/utils/typesToMap.js +5 -8
- package/utils/util.js +1 -4
package/base/VecFixed.js
CHANGED
|
@@ -1,81 +1,70 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { isU8a, u8aConcatStrict } from '@polkadot/util';
|
|
5
|
-
import { AbstractArray } from
|
|
6
|
-
import { decodeU8aVec, typeToConstructor } from
|
|
7
|
-
import { decodeVec } from
|
|
2
|
+
import { AbstractArray } from '../abstract/Array.js';
|
|
3
|
+
import { decodeU8aVec, typeToConstructor } from '../utils/index.js';
|
|
4
|
+
import { decodeVec } from './Vec.js';
|
|
8
5
|
function noopSetDefinition(d) {
|
|
9
|
-
|
|
6
|
+
return d;
|
|
10
7
|
}
|
|
11
|
-
|
|
12
8
|
/**
|
|
13
9
|
* @name VecFixed
|
|
14
10
|
* @description
|
|
15
11
|
* This manages codec arrays of a fixed length
|
|
16
12
|
*/
|
|
17
13
|
export class VecFixed extends AbstractArray {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
14
|
+
#Type;
|
|
15
|
+
constructor(registry, Type, length, value = [], { definition, setDefinition = noopSetDefinition } = {}) {
|
|
16
|
+
super(registry, length);
|
|
17
|
+
this.#Type = definition || setDefinition(typeToConstructor(registry, Type));
|
|
18
|
+
this.initialU8aLength = (isU8a(value)
|
|
19
|
+
? decodeU8aVec(registry, this, value, 0, this.#Type)
|
|
20
|
+
: decodeVec(registry, this, value, 0, this.#Type))[1];
|
|
21
|
+
}
|
|
22
|
+
static with(Type, length) {
|
|
23
|
+
let definition;
|
|
24
|
+
// eslint-disable-next-line no-return-assign
|
|
25
|
+
const setDefinition = (d) => (definition = d);
|
|
26
|
+
return class extends VecFixed {
|
|
27
|
+
constructor(registry, value) {
|
|
28
|
+
super(registry, Type, length, value, { definition, setDefinition });
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @description The type for the items
|
|
34
|
+
*/
|
|
35
|
+
get Type() {
|
|
36
|
+
return new this.#Type(this.registry).toRawType();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
40
|
+
*/
|
|
41
|
+
get encodedLength() {
|
|
42
|
+
let total = 0;
|
|
43
|
+
for (let i = 0; i < this.length; i++) {
|
|
44
|
+
total += this[i].encodedLength;
|
|
45
|
+
}
|
|
46
|
+
return total;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @description Returns a breakdown of the hex encoding for this Codec
|
|
50
|
+
*/
|
|
51
|
+
inspect() {
|
|
52
|
+
return {
|
|
53
|
+
inner: this.inspectInner()
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
toU8a() {
|
|
57
|
+
// we override, we don't add the length prefix for ourselves, and at the same time we
|
|
58
|
+
// ignore isBare on entries, since they should be properly encoded at all times
|
|
59
|
+
const encoded = this.toU8aInner();
|
|
60
|
+
return encoded.length
|
|
61
|
+
? u8aConcatStrict(encoded)
|
|
62
|
+
: new Uint8Array([]);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @description Returns the base runtime type name for this instance
|
|
66
|
+
*/
|
|
67
|
+
toRawType() {
|
|
68
|
+
return `[${this.Type};${this.length}]`;
|
|
56
69
|
}
|
|
57
|
-
return total;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* @description Returns a breakdown of the hex encoding for this Codec
|
|
62
|
-
*/
|
|
63
|
-
inspect() {
|
|
64
|
-
return {
|
|
65
|
-
inner: this.inspectInner()
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
toU8a() {
|
|
69
|
-
// we override, we don't add the length prefix for ourselves, and at the same time we
|
|
70
|
-
// ignore isBare on entries, since they should be properly encoded at all times
|
|
71
|
-
const encoded = this.toU8aInner();
|
|
72
|
-
return encoded.length ? u8aConcatStrict(encoded) : new Uint8Array([]);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* @description Returns the base runtime type name for this instance
|
|
77
|
-
*/
|
|
78
|
-
toRawType() {
|
|
79
|
-
return `[${this.Type};${this.length}]`;
|
|
80
|
-
}
|
|
81
70
|
}
|
package/base/index.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export { Vec } from "./Vec.js";
|
|
14
|
-
export { VecAny } from "./VecAny.js";
|
|
15
|
-
export { VecFixed } from "./VecFixed.js";
|
|
1
|
+
export { Compact } from './Compact.js';
|
|
2
|
+
export { DoNotConstruct } from './DoNotConstruct.js';
|
|
3
|
+
export { Enum } from './Enum.js';
|
|
4
|
+
export { Int } from './Int.js';
|
|
5
|
+
export { Null } from './Null.js';
|
|
6
|
+
export { Option } from './Option.js';
|
|
7
|
+
export { Result } from './Result.js';
|
|
8
|
+
export { Tuple } from './Tuple.js';
|
|
9
|
+
export { UInt } from './UInt.js';
|
|
10
|
+
export { Vec } from './Vec.js';
|
|
11
|
+
export { VecAny } from './VecAny.js';
|
|
12
|
+
export { VecFixed } from './VecFixed.js';
|
package/bundle.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from "./native/index.js";
|
|
9
|
-
export * from "./primitive/index.js";
|
|
10
|
-
export * from "./utils/index.js";
|
|
1
|
+
export { packageInfo } from './packageInfo.js';
|
|
2
|
+
export * from './abstract/index.js';
|
|
3
|
+
export * from './base/index.js';
|
|
4
|
+
export * from './extended/index.js';
|
|
5
|
+
export * from './native/index.js';
|
|
6
|
+
export * from './primitive/index.js';
|
|
7
|
+
export * from './utils/index.js';
|
package/cjs/abstract/Array.js
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.AbstractArray = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
10
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
11
|
-
|
|
4
|
+
const util_1 = require("@polkadot/util");
|
|
5
|
+
const compareArray_1 = require("../utils/compareArray");
|
|
12
6
|
/**
|
|
13
7
|
* @name AbstractArray
|
|
14
8
|
* @description
|
|
@@ -17,155 +11,140 @@ var _compareArray = require("../utils/compareArray");
|
|
|
17
11
|
* @noInheritDoc
|
|
18
12
|
*/
|
|
19
13
|
class AbstractArray extends Array {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
|
157
|
-
* @param isBare true when the value has none of the type-specific prefixes (internal)
|
|
158
|
-
*/
|
|
159
|
-
toU8a(isBare) {
|
|
160
|
-
const encoded = this.toU8aInner();
|
|
161
|
-
return isBare ? (0, _util.u8aConcatStrict)(encoded) : (0, _util.u8aConcatStrict)([(0, _util.compactToU8a)(this.length), ...encoded]);
|
|
162
|
-
}
|
|
163
|
-
toU8aInner(isBare) {
|
|
164
|
-
const encoded = new Array(this.length);
|
|
165
|
-
for (let i = 0; i < this.length; i++) {
|
|
166
|
-
encoded[i] = this[i].toU8a(isBare);
|
|
167
|
-
}
|
|
168
|
-
return encoded;
|
|
169
|
-
}
|
|
14
|
+
/**
|
|
15
|
+
* @description This ensures that operators such as clice, filter, map, etc. return
|
|
16
|
+
* new Array instances (without this we need to apply overrides)
|
|
17
|
+
*/
|
|
18
|
+
static get [Symbol.species]() {
|
|
19
|
+
return Array;
|
|
20
|
+
}
|
|
21
|
+
constructor(registry, length) {
|
|
22
|
+
super(length);
|
|
23
|
+
this.registry = registry;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
27
|
+
*/
|
|
28
|
+
get encodedLength() {
|
|
29
|
+
// We need to loop through all entries since they may have a variable length themselves,
|
|
30
|
+
// e.g. when a Vec or Compact is contained withing, it has a variable length based on data
|
|
31
|
+
let total = (0, util_1.compactToU8a)(this.length).length;
|
|
32
|
+
for (let i = 0; i < this.length; i++) {
|
|
33
|
+
total += this[i].encodedLength;
|
|
34
|
+
}
|
|
35
|
+
return total;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @description returns a hash of the contents
|
|
39
|
+
*/
|
|
40
|
+
get hash() {
|
|
41
|
+
return this.registry.hash(this.toU8a());
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @description Checks if the value is an empty value
|
|
45
|
+
*/
|
|
46
|
+
get isEmpty() {
|
|
47
|
+
return this.length === 0;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @description The length of the value
|
|
51
|
+
*/
|
|
52
|
+
get length() {
|
|
53
|
+
// only included here since we ignore inherited docs
|
|
54
|
+
return super.length;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* @description Compares the value of the input to see if there is a match
|
|
58
|
+
*/
|
|
59
|
+
eq(other) {
|
|
60
|
+
return (0, compareArray_1.compareArray)(this, other);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @description Returns a breakdown of the hex encoding for this Codec
|
|
64
|
+
*/
|
|
65
|
+
inspect() {
|
|
66
|
+
return {
|
|
67
|
+
inner: this.inspectInner(),
|
|
68
|
+
outer: [(0, util_1.compactToU8a)(this.length)]
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
inspectInner() {
|
|
72
|
+
const inner = new Array(this.length);
|
|
73
|
+
for (let i = 0; i < this.length; i++) {
|
|
74
|
+
inner[i] = this[i].inspect();
|
|
75
|
+
}
|
|
76
|
+
return inner;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @description Converts the Object to an standard JavaScript Array
|
|
80
|
+
*/
|
|
81
|
+
toArray() {
|
|
82
|
+
return Array.from(this);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @description Returns a hex string representation of the value
|
|
86
|
+
*/
|
|
87
|
+
toHex() {
|
|
88
|
+
return (0, util_1.u8aToHex)(this.toU8a());
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
|
92
|
+
*/
|
|
93
|
+
toHuman(isExtended) {
|
|
94
|
+
const result = new Array(this.length);
|
|
95
|
+
for (let i = 0; i < this.length; i++) {
|
|
96
|
+
result[i] = this[i] && this[i].toHuman(isExtended);
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @description Converts the Object to JSON, typically used for RPC transfers
|
|
102
|
+
*/
|
|
103
|
+
toJSON() {
|
|
104
|
+
const result = new Array(this.length);
|
|
105
|
+
for (let i = 0; i < this.length; i++) {
|
|
106
|
+
// We actually log inside the U8a decoding and use JSON.stringify(...), which
|
|
107
|
+
// means that the Vec may be partially populated (same applies to toHuman, same check)
|
|
108
|
+
result[i] = this[i] && this[i].toJSON();
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @description Converts the value in a best-fit primitive form
|
|
114
|
+
*/
|
|
115
|
+
toPrimitive() {
|
|
116
|
+
const result = new Array(this.length);
|
|
117
|
+
for (let i = 0; i < this.length; i++) {
|
|
118
|
+
result[i] = this[i] && this[i].toPrimitive();
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* @description Returns the string representation of the value
|
|
124
|
+
*/
|
|
125
|
+
toString() {
|
|
126
|
+
const result = new Array(this.length);
|
|
127
|
+
for (let i = 0; i < this.length; i++) {
|
|
128
|
+
result[i] = this[i].toString();
|
|
129
|
+
}
|
|
130
|
+
return `[${result.join(', ')}]`;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
|
134
|
+
* @param isBare true when the value has none of the type-specific prefixes (internal)
|
|
135
|
+
*/
|
|
136
|
+
toU8a(isBare) {
|
|
137
|
+
const encoded = this.toU8aInner();
|
|
138
|
+
return isBare
|
|
139
|
+
? (0, util_1.u8aConcatStrict)(encoded)
|
|
140
|
+
: (0, util_1.u8aConcatStrict)([(0, util_1.compactToU8a)(this.length), ...encoded]);
|
|
141
|
+
}
|
|
142
|
+
toU8aInner(isBare) {
|
|
143
|
+
const encoded = new Array(this.length);
|
|
144
|
+
for (let i = 0; i < this.length; i++) {
|
|
145
|
+
encoded[i] = this[i].toU8a(isBare);
|
|
146
|
+
}
|
|
147
|
+
return encoded;
|
|
148
|
+
}
|
|
170
149
|
}
|
|
171
150
|
exports.AbstractArray = AbstractArray;
|