@polkadot/types-codec 9.14.2 → 10.1.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.d.ts +1 -1
- package/abstract/Array.js +136 -155
- package/abstract/Base.d.ts +1 -1
- package/abstract/Base.js +95 -113
- package/abstract/Int.d.ts +1 -1
- package/abstract/Int.js +209 -220
- package/abstract/Object.d.ts +1 -1
- package/abstract/Object.js +29 -45
- package/abstract/index.d.ts +3 -3
- package/abstract/index.js +3 -6
- package/base/Compact.d.ts +1 -1
- package/base/Compact.js +149 -166
- package/base/DoNotConstruct.d.ts +1 -1
- package/base/DoNotConstruct.js +62 -65
- package/base/Enum.d.ts +1 -1
- package/base/Enum.js +347 -383
- package/base/Int.d.ts +2 -2
- package/base/Int.js +14 -18
- package/base/Null.d.ts +1 -1
- package/base/Null.js +68 -82
- package/base/Option.d.ts +1 -1
- package/base/Option.js +217 -227
- package/base/Result.d.ts +2 -2
- package/base/Result.js +54 -67
- package/base/Tuple.d.ts +2 -2
- package/base/Tuple.js +100 -102
- package/base/UInt.d.ts +2 -2
- package/base/UInt.js +11 -15
- package/base/Vec.d.ts +2 -2
- package/base/Vec.js +88 -90
- package/base/VecAny.d.ts +2 -2
- package/base/VecAny.js +8 -12
- package/base/VecFixed.d.ts +2 -2
- package/base/VecFixed.js +63 -71
- package/base/index.d.ts +12 -12
- package/base/index.js +12 -15
- package/bundle.d.ts +7 -7
- 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 +4 -16
- 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.d.ts +2 -2
- package/extended/BTreeMap.js +8 -11
- package/extended/BTreeSet.d.ts +1 -1
- package/extended/BTreeSet.js +159 -172
- package/extended/BitVec.d.ts +2 -2
- package/extended/BitVec.js +67 -71
- package/extended/Bytes.d.ts +2 -2
- package/extended/Bytes.js +56 -57
- package/extended/HashMap.d.ts +2 -2
- package/extended/HashMap.js +8 -11
- package/extended/Linkage.d.ts +4 -4
- package/extended/Linkage.js +46 -51
- package/extended/Map.d.ts +1 -1
- package/extended/Map.js +173 -174
- package/extended/OptionBool.d.ts +3 -3
- package/extended/OptionBool.js +62 -62
- package/extended/Range.d.ts +2 -2
- package/extended/Range.js +35 -40
- package/extended/RangeInclusive.d.ts +2 -2
- package/extended/RangeInclusive.js +11 -16
- package/extended/Type.d.ts +2 -2
- package/extended/Type.js +12 -17
- package/extended/U8aFixed.d.ts +2 -2
- package/extended/U8aFixed.js +30 -36
- package/extended/WrapperKeepOpaque.d.ts +2 -2
- package/extended/WrapperKeepOpaque.js +96 -92
- package/extended/WrapperOpaque.d.ts +2 -2
- package/extended/WrapperOpaque.js +17 -23
- package/extended/index.d.ts +14 -14
- package/extended/index.js +14 -17
- package/index.d.ts +2 -2
- package/index.js +2 -5
- package/native/Bool.d.ts +1 -1
- package/native/Bool.js +99 -111
- package/native/Date.d.ts +1 -1
- package/native/Date.js +123 -144
- package/native/Float.d.ts +1 -1
- package/native/Float.js +93 -108
- package/native/Json.d.ts +1 -1
- package/native/Json.js +100 -114
- package/native/Raw.d.ts +1 -1
- package/native/Raw.js +126 -146
- package/native/Set.d.ts +1 -1
- package/native/Set.js +197 -211
- package/native/Struct.d.ts +1 -1
- package/native/Struct.data.js +0 -3
- package/native/Struct.js +235 -242
- package/native/Text.d.ts +1 -1
- package/native/Text.js +135 -144
- package/native/index.d.ts +8 -8
- package/native/index.js +8 -11
- package/package.json +8 -5
- package/packageInfo.js +1 -11
- package/primitive/F32.d.ts +2 -2
- package/primitive/F32.js +6 -7
- package/primitive/F64.d.ts +2 -2
- package/primitive/F64.js +6 -7
- package/primitive/I128.d.ts +2 -2
- package/primitive/I128.js +6 -7
- package/primitive/I16.d.ts +2 -2
- package/primitive/I16.js +6 -7
- package/primitive/I256.d.ts +2 -2
- package/primitive/I256.js +6 -7
- package/primitive/I32.d.ts +2 -2
- package/primitive/I32.js +6 -7
- package/primitive/I64.d.ts +2 -2
- package/primitive/I64.js +6 -7
- package/primitive/I8.d.ts +2 -2
- package/primitive/I8.js +6 -7
- package/primitive/U128.d.ts +2 -2
- package/primitive/U128.js +6 -7
- package/primitive/U16.d.ts +2 -2
- package/primitive/U16.js +6 -7
- package/primitive/U256.d.ts +2 -2
- package/primitive/U256.js +6 -7
- package/primitive/U32.d.ts +2 -2
- package/primitive/U32.js +6 -7
- package/primitive/U64.d.ts +2 -2
- package/primitive/U64.js +6 -7
- package/primitive/U8.d.ts +2 -2
- package/primitive/U8.js +6 -7
- package/primitive/USize.d.ts +2 -2
- package/primitive/USize.js +5 -9
- package/primitive/index.d.ts +15 -15
- package/primitive/index.js +15 -18
- package/types/codec.d.ts +3 -3
- package/types/helpers.d.ts +1 -1
- package/types/index.d.ts +4 -4
- package/types/index.js +4 -7
- package/types/interfaces.d.ts +2 -2
- package/types/registry.d.ts +3 -3
- package/utils/compareArray.js +7 -11
- package/utils/compareMap.js +18 -19
- package/utils/compareSet.js +12 -16
- package/utils/decodeU8a.d.ts +1 -1
- package/utils/decodeU8a.js +54 -61
- package/utils/index.d.ts +9 -9
- package/utils/index.js +9 -12
- package/utils/mapToTypeMap.d.ts +1 -1
- package/utils/mapToTypeMap.js +9 -13
- package/utils/sanitize.d.ts +1 -1
- package/utils/sanitize.js +182 -185
- package/utils/sortValues.d.ts +1 -1
- package/utils/sortValues.js +32 -36
- package/utils/typeToConstructor.d.ts +1 -1
- package/utils/typeToConstructor.js +3 -4
- package/utils/typesToMap.d.ts +1 -1
- package/utils/typesToMap.js +5 -8
- package/utils/util.js +1 -4
package/extended/Type.d.ts
CHANGED
package/extended/Type.js
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { Text } from "../native/Text.js";
|
|
5
|
-
import { sanitize } from "../utils/index.js";
|
|
6
|
-
|
|
1
|
+
import { Text } from '../native/Text.js';
|
|
2
|
+
import { sanitize } from '../utils/index.js';
|
|
7
3
|
/**
|
|
8
4
|
* @name Type
|
|
9
5
|
* @description
|
|
@@ -12,15 +8,14 @@ import { sanitize } from "../utils/index.js";
|
|
|
12
8
|
* i.e. we remove the `T::` prefixes found in some types for consistency across implementation.
|
|
13
9
|
*/
|
|
14
10
|
export class Type extends Text {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
11
|
+
constructor(registry, value = '') {
|
|
12
|
+
super(registry, value);
|
|
13
|
+
this.setOverride(sanitize(this.toString()));
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @description Returns the base runtime type name for this instance
|
|
17
|
+
*/
|
|
18
|
+
toRawType() {
|
|
19
|
+
return 'Type';
|
|
20
|
+
}
|
|
26
21
|
}
|
package/extended/U8aFixed.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AnyU8a, CodecClass, Registry, U8aBitLength } from '../types';
|
|
2
|
-
import { Raw } from '../native/Raw';
|
|
1
|
+
import type { AnyU8a, CodecClass, Registry, U8aBitLength } from '../types/index.js';
|
|
2
|
+
import { Raw } from '../native/Raw.js';
|
|
3
3
|
/**
|
|
4
4
|
* @name U8aFixed
|
|
5
5
|
* @description
|
package/extended/U8aFixed.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { isU8a, u8aToU8a } from '@polkadot/util';
|
|
5
|
-
import { Raw } from
|
|
6
|
-
|
|
2
|
+
import { Raw } from '../native/Raw.js';
|
|
7
3
|
/** @internal */
|
|
8
4
|
function decodeU8aFixed(value, bitLength) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
5
|
+
const u8a = u8aToU8a(value);
|
|
6
|
+
const byteLength = bitLength / 8;
|
|
7
|
+
if (!u8a.length) {
|
|
8
|
+
return [new Uint8Array(byteLength), 0];
|
|
9
|
+
}
|
|
10
|
+
if (isU8a(value) ? u8a.length < byteLength : u8a.length !== byteLength) {
|
|
11
|
+
throw new Error(`Expected input with ${byteLength} bytes (${bitLength} bits), found ${u8a.length} bytes`);
|
|
12
|
+
}
|
|
13
|
+
return [u8a.subarray(0, byteLength), byteLength];
|
|
18
14
|
}
|
|
19
|
-
|
|
20
15
|
/**
|
|
21
16
|
* @name U8aFixed
|
|
22
17
|
* @description
|
|
@@ -24,25 +19,24 @@ function decodeU8aFixed(value, bitLength) {
|
|
|
24
19
|
* to be used directly, rather is should be subclassed with the specific lengths.
|
|
25
20
|
*/
|
|
26
21
|
export class U8aFixed extends Raw {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
22
|
+
constructor(registry, value = new Uint8Array(), bitLength = 256) {
|
|
23
|
+
const [u8a, decodedLength] = decodeU8aFixed(value, bitLength);
|
|
24
|
+
super(registry, u8a, decodedLength);
|
|
25
|
+
}
|
|
26
|
+
static with(bitLength, typeName) {
|
|
27
|
+
return class extends U8aFixed {
|
|
28
|
+
constructor(registry, value) {
|
|
29
|
+
super(registry, value, bitLength);
|
|
30
|
+
}
|
|
31
|
+
toRawType() {
|
|
32
|
+
return typeName || super.toRawType();
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @description Returns the base runtime type name for this instance
|
|
38
|
+
*/
|
|
39
|
+
toRawType() {
|
|
40
|
+
return `[u8;${this.length}]`;
|
|
41
|
+
}
|
|
48
42
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AnyJson, Codec, CodecClass, Inspect, Registry } from '../types';
|
|
2
|
-
import { Bytes } from './Bytes';
|
|
1
|
+
import type { AnyJson, Codec, CodecClass, Inspect, Registry } from '../types/index.js';
|
|
2
|
+
import { Bytes } from './Bytes.js';
|
|
3
3
|
type OpaqueName = 'WrapperKeepOpaque' | 'WrapperOpaque';
|
|
4
4
|
interface Options {
|
|
5
5
|
opaqueName?: OpaqueName;
|
|
@@ -1,98 +1,102 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
var _WrapperKeepOpaque_Type, _WrapperKeepOpaque_decoded, _WrapperKeepOpaque_opaqueName;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
4
3
|
import { compactAddLength, compactStripLength, compactToU8a, isHex, isU8a, u8aToU8a } from '@polkadot/util';
|
|
5
|
-
import { Raw } from
|
|
6
|
-
import { typeToConstructor } from
|
|
7
|
-
import { Bytes } from
|
|
4
|
+
import { Raw } from '../native/Raw.js';
|
|
5
|
+
import { typeToConstructor } from '../utils/index.js';
|
|
6
|
+
import { Bytes } from './Bytes.js';
|
|
8
7
|
function decodeRaw(registry, typeName, value) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
const Type = typeToConstructor(registry, typeName);
|
|
9
|
+
if (isU8a(value) || isHex(value)) {
|
|
10
|
+
try {
|
|
11
|
+
const [, u8a] = isHex(value)
|
|
12
|
+
? [0, u8aToU8a(value)]
|
|
13
|
+
: (value instanceof Raw)
|
|
14
|
+
? [0, value.subarray()]
|
|
15
|
+
: compactStripLength(value);
|
|
16
|
+
return [Type, new Type(registry, u8a), value];
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return [Type, null, value];
|
|
20
|
+
}
|
|
16
21
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return [Type, instance, compactAddLength(instance.toU8a())];
|
|
22
|
+
const instance = new Type(registry, value);
|
|
23
|
+
return [Type, instance, compactAddLength(instance.toU8a())];
|
|
20
24
|
}
|
|
21
25
|
export class WrapperKeepOpaque extends Bytes {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.#decoded = decoded;
|
|
32
|
-
this.#opaqueName = opaqueName;
|
|
33
|
-
}
|
|
34
|
-
static with(Type) {
|
|
35
|
-
return class extends WrapperKeepOpaque {
|
|
36
|
-
constructor(registry, value) {
|
|
37
|
-
super(registry, Type, value);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* @description Checks if the wrapper is decodable
|
|
44
|
-
*/
|
|
45
|
-
get isDecoded() {
|
|
46
|
-
return !!this.#decoded;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* @description Returns a breakdown of the hex encoding for this Codec
|
|
51
|
-
*/
|
|
52
|
-
inspect() {
|
|
53
|
-
return this.#decoded ? {
|
|
54
|
-
inner: [this.#decoded.inspect()],
|
|
55
|
-
outer: [compactToU8a(this.length)]
|
|
56
|
-
} : {
|
|
57
|
-
outer: [compactToU8a(this.length), this.toU8a(true)]
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
|
63
|
-
*/
|
|
64
|
-
toHuman(isExtended) {
|
|
65
|
-
return this.#decoded ? this.#decoded.toHuman(isExtended) : super.toHuman();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* @description Converts the value in a best-fit primitive form
|
|
70
|
-
*/
|
|
71
|
-
toPrimitive() {
|
|
72
|
-
return this.#decoded ? this.#decoded.toPrimitive() : super.toPrimitive();
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* @description Returns the base runtime type name for this instance
|
|
77
|
-
*/
|
|
78
|
-
toRawType() {
|
|
79
|
-
return `${this.#opaqueName}<${this.registry.getClassName(this.#Type) || (this.#decoded ? this.#decoded.toRawType() : new this.#Type(this.registry).toRawType())}>`;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* @description Converts the Object to to a string (either decoded or bytes)
|
|
84
|
-
*/
|
|
85
|
-
toString() {
|
|
86
|
-
return this.#decoded ? this.#decoded.toString() : super.toString();
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* @description Returns the decoded that the WrapperKeepOpaque represents (if available), throws if non-decodable
|
|
91
|
-
*/
|
|
92
|
-
unwrap() {
|
|
93
|
-
if (!this.#decoded) {
|
|
94
|
-
throw new Error(`${this.#opaqueName}: unwrapping an undecodable value`);
|
|
26
|
+
constructor(registry, typeName, value, { opaqueName = 'WrapperKeepOpaque' } = {}) {
|
|
27
|
+
const [Type, decoded, u8a] = decodeRaw(registry, typeName, value);
|
|
28
|
+
super(registry, u8a);
|
|
29
|
+
_WrapperKeepOpaque_Type.set(this, void 0);
|
|
30
|
+
_WrapperKeepOpaque_decoded.set(this, void 0);
|
|
31
|
+
_WrapperKeepOpaque_opaqueName.set(this, void 0);
|
|
32
|
+
__classPrivateFieldSet(this, _WrapperKeepOpaque_Type, Type, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _WrapperKeepOpaque_decoded, decoded, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _WrapperKeepOpaque_opaqueName, opaqueName, "f");
|
|
95
35
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
36
|
+
static with(Type) {
|
|
37
|
+
return class extends WrapperKeepOpaque {
|
|
38
|
+
constructor(registry, value) {
|
|
39
|
+
super(registry, Type, value);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @description Checks if the wrapper is decodable
|
|
45
|
+
*/
|
|
46
|
+
get isDecoded() {
|
|
47
|
+
return !!__classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f");
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @description Returns a breakdown of the hex encoding for this Codec
|
|
51
|
+
*/
|
|
52
|
+
inspect() {
|
|
53
|
+
return __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f")
|
|
54
|
+
? {
|
|
55
|
+
inner: [__classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f").inspect()],
|
|
56
|
+
outer: [compactToU8a(this.length)]
|
|
57
|
+
}
|
|
58
|
+
: {
|
|
59
|
+
outer: [compactToU8a(this.length), this.toU8a(true)]
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
|
64
|
+
*/
|
|
65
|
+
toHuman(isExtended) {
|
|
66
|
+
return __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f")
|
|
67
|
+
? __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f").toHuman(isExtended)
|
|
68
|
+
: super.toHuman();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @description Converts the value in a best-fit primitive form
|
|
72
|
+
*/
|
|
73
|
+
toPrimitive() {
|
|
74
|
+
return __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f")
|
|
75
|
+
? __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f").toPrimitive()
|
|
76
|
+
: super.toPrimitive();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @description Returns the base runtime type name for this instance
|
|
80
|
+
*/
|
|
81
|
+
toRawType() {
|
|
82
|
+
return `${__classPrivateFieldGet(this, _WrapperKeepOpaque_opaqueName, "f")}<${this.registry.getClassName(__classPrivateFieldGet(this, _WrapperKeepOpaque_Type, "f")) || (__classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f") ? __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f").toRawType() : new (__classPrivateFieldGet(this, _WrapperKeepOpaque_Type, "f"))(this.registry).toRawType())}>`;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @description Converts the Object to to a string (either decoded or bytes)
|
|
86
|
+
*/
|
|
87
|
+
toString() {
|
|
88
|
+
return __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f")
|
|
89
|
+
? __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f").toString()
|
|
90
|
+
: super.toString();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @description Returns the decoded that the WrapperKeepOpaque represents (if available), throws if non-decodable
|
|
94
|
+
*/
|
|
95
|
+
unwrap() {
|
|
96
|
+
if (!__classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f")) {
|
|
97
|
+
throw new Error(`${__classPrivateFieldGet(this, _WrapperKeepOpaque_opaqueName, "f")}: unwrapping an undecodable value`);
|
|
98
|
+
}
|
|
99
|
+
return __classPrivateFieldGet(this, _WrapperKeepOpaque_decoded, "f");
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
_WrapperKeepOpaque_Type = new WeakMap(), _WrapperKeepOpaque_decoded = new WeakMap(), _WrapperKeepOpaque_opaqueName = new WeakMap();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Codec, CodecClass, Registry } from '../types';
|
|
2
|
-
import { WrapperKeepOpaque } from './WrapperKeepOpaque';
|
|
1
|
+
import type { Codec, CodecClass, Registry } from '../types/index.js';
|
|
2
|
+
import { WrapperKeepOpaque } from './WrapperKeepOpaque.js';
|
|
3
3
|
export declare class WrapperOpaque<T extends Codec> extends WrapperKeepOpaque<T> {
|
|
4
4
|
constructor(registry: Registry, typeName: CodecClass<T> | string, value?: unknown);
|
|
5
5
|
static with<T extends Codec>(Type: CodecClass<T> | string): CodecClass<WrapperKeepOpaque<T>>;
|
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { WrapperKeepOpaque } from "./WrapperKeepOpaque.js";
|
|
1
|
+
import { WrapperKeepOpaque } from './WrapperKeepOpaque.js';
|
|
5
2
|
export class WrapperOpaque extends WrapperKeepOpaque {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
get inner() {
|
|
23
|
-
return this.unwrap();
|
|
24
|
-
}
|
|
3
|
+
constructor(registry, typeName, value) {
|
|
4
|
+
super(registry, typeName, value, { opaqueName: 'WrapperOpaque' });
|
|
5
|
+
}
|
|
6
|
+
static with(Type) {
|
|
7
|
+
return class extends WrapperOpaque {
|
|
8
|
+
constructor(registry, value) {
|
|
9
|
+
super(registry, Type, value);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @description The inner value for this wrapper, in all cases it _should_ be decodable (unlike KeepOpaque)
|
|
15
|
+
*/
|
|
16
|
+
get inner() {
|
|
17
|
+
return this.unwrap();
|
|
18
|
+
}
|
|
25
19
|
}
|
package/extended/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { BitVec } from './BitVec';
|
|
2
|
-
export { BTreeMap } from './BTreeMap';
|
|
3
|
-
export { BTreeSet } from './BTreeSet';
|
|
4
|
-
export { Bytes } from './Bytes';
|
|
5
|
-
export { HashMap } from './HashMap';
|
|
6
|
-
export { Linkage } from './Linkage';
|
|
7
|
-
export { CodecMap, CodecMap as Map } from './Map';
|
|
8
|
-
export { OptionBool } from './OptionBool';
|
|
9
|
-
export { Range } from './Range';
|
|
10
|
-
export { RangeInclusive } from './RangeInclusive';
|
|
11
|
-
export { Type } from './Type';
|
|
12
|
-
export { U8aFixed } from './U8aFixed';
|
|
13
|
-
export { WrapperKeepOpaque } from './WrapperKeepOpaque';
|
|
14
|
-
export { WrapperOpaque } from './WrapperOpaque';
|
|
1
|
+
export { BitVec } from './BitVec.js';
|
|
2
|
+
export { BTreeMap } from './BTreeMap.js';
|
|
3
|
+
export { BTreeSet } from './BTreeSet.js';
|
|
4
|
+
export { Bytes } from './Bytes.js';
|
|
5
|
+
export { HashMap } from './HashMap.js';
|
|
6
|
+
export { Linkage } from './Linkage.js';
|
|
7
|
+
export { CodecMap, CodecMap as Map } from './Map.js';
|
|
8
|
+
export { OptionBool } from './OptionBool.js';
|
|
9
|
+
export { Range } from './Range.js';
|
|
10
|
+
export { RangeInclusive } from './RangeInclusive.js';
|
|
11
|
+
export { Type } from './Type.js';
|
|
12
|
+
export { U8aFixed } from './U8aFixed.js';
|
|
13
|
+
export { WrapperKeepOpaque } from './WrapperKeepOpaque.js';
|
|
14
|
+
export { WrapperOpaque } from './WrapperOpaque.js';
|
package/extended/index.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export { U8aFixed } from "./U8aFixed.js";
|
|
16
|
-
export { WrapperKeepOpaque } from "./WrapperKeepOpaque.js";
|
|
17
|
-
export { WrapperOpaque } from "./WrapperOpaque.js";
|
|
1
|
+
export { BitVec } from './BitVec.js';
|
|
2
|
+
export { BTreeMap } from './BTreeMap.js';
|
|
3
|
+
export { BTreeSet } from './BTreeSet.js';
|
|
4
|
+
export { Bytes } from './Bytes.js';
|
|
5
|
+
export { HashMap } from './HashMap.js';
|
|
6
|
+
export { Linkage } from './Linkage.js';
|
|
7
|
+
export { CodecMap, CodecMap as Map } from './Map.js';
|
|
8
|
+
export { OptionBool } from './OptionBool.js';
|
|
9
|
+
export { Range } from './Range.js';
|
|
10
|
+
export { RangeInclusive } from './RangeInclusive.js';
|
|
11
|
+
export { Type } from './Type.js';
|
|
12
|
+
export { U8aFixed } from './U8aFixed.js';
|
|
13
|
+
export { WrapperKeepOpaque } from './WrapperKeepOpaque.js';
|
|
14
|
+
export { WrapperOpaque } from './WrapperOpaque.js';
|
package/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import './detectPackage';
|
|
2
|
-
export * from './bundle';
|
|
1
|
+
import './detectPackage.js';
|
|
2
|
+
export * from './bundle.js';
|
package/index.js
CHANGED
package/native/Bool.d.ts
CHANGED