@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/Bytes.js
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { compactAddLength, compactFromU8aLim, compactToU8a, isString, isU8a, u8aToU8a } from '@polkadot/util';
|
|
5
|
-
import { Raw } from
|
|
6
|
-
|
|
7
|
-
// Bytes are used for things like on-chain code, so it has a healthy limit
|
|
2
|
+
import { Raw } from '../native/Raw.js';
|
|
8
3
|
const MAX_LENGTH = 10 * 1024 * 1024;
|
|
9
|
-
|
|
10
4
|
/** @internal */
|
|
11
5
|
function decodeBytesU8a(value) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
6
|
+
if (!value.length) {
|
|
7
|
+
return [new Uint8Array(), 0];
|
|
8
|
+
}
|
|
9
|
+
// handle all other Uint8Array inputs, these do have a length prefix
|
|
10
|
+
const [offset, length] = compactFromU8aLim(value);
|
|
11
|
+
const total = offset + length;
|
|
12
|
+
if (length > MAX_LENGTH) {
|
|
13
|
+
throw new Error(`Bytes length ${length.toString()} exceeds ${MAX_LENGTH}`);
|
|
14
|
+
}
|
|
15
|
+
else if (total > value.length) {
|
|
16
|
+
throw new Error(`Bytes: required length less than remainder, expected at least ${total}, found ${value.length}`);
|
|
17
|
+
}
|
|
18
|
+
return [value.subarray(offset, total), total];
|
|
25
19
|
}
|
|
26
|
-
|
|
27
20
|
/**
|
|
28
21
|
* @name Bytes
|
|
29
22
|
* @description
|
|
@@ -32,40 +25,46 @@ function decodeBytesU8a(value) {
|
|
|
32
25
|
* as what is found in [[Text]] and [[Vec]])
|
|
33
26
|
*/
|
|
34
27
|
export class Bytes extends Raw {
|
|
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
|
-
|
|
28
|
+
constructor(registry, value) {
|
|
29
|
+
const [u8a, decodedLength] = isU8a(value) && !(value instanceof Raw)
|
|
30
|
+
? decodeBytesU8a(value)
|
|
31
|
+
: Array.isArray(value) || isString(value)
|
|
32
|
+
? [u8aToU8a(value), 0]
|
|
33
|
+
: [value, 0];
|
|
34
|
+
super(registry, u8a, decodedLength);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
38
|
+
*/
|
|
39
|
+
get encodedLength() {
|
|
40
|
+
return this.length + compactToU8a(this.length).length;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @description Returns a breakdown of the hex encoding for this Codec
|
|
44
|
+
*/
|
|
45
|
+
inspect(isBare) {
|
|
46
|
+
const clength = compactToU8a(this.length);
|
|
47
|
+
return {
|
|
48
|
+
outer: isBare
|
|
49
|
+
? [super.toU8a()]
|
|
50
|
+
: this.length
|
|
51
|
+
? [clength, super.toU8a()]
|
|
52
|
+
: [clength]
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* @description Returns the base runtime type name for this instance
|
|
57
|
+
*/
|
|
58
|
+
toRawType() {
|
|
59
|
+
return 'Bytes';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
|
63
|
+
* @param isBare true when the value has none of the type-specific prefixes (internal)
|
|
64
|
+
*/
|
|
65
|
+
toU8a(isBare) {
|
|
66
|
+
return isBare
|
|
67
|
+
? super.toU8a(isBare)
|
|
68
|
+
: compactAddLength(this);
|
|
69
|
+
}
|
|
71
70
|
}
|
package/extended/HashMap.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Codec, CodecClass } from '../types';
|
|
2
|
-
import { CodecMap } from './Map';
|
|
1
|
+
import type { Codec, CodecClass } from '../types/index.js';
|
|
2
|
+
import { CodecMap } from './Map.js';
|
|
3
3
|
export declare class HashMap<K extends Codec = Codec, V extends Codec = Codec> extends CodecMap<K, V> {
|
|
4
4
|
static with<K extends Codec, V extends Codec>(keyType: CodecClass<K> | string, valType: CodecClass<V> | string): CodecClass<CodecMap<K, V>>;
|
|
5
5
|
}
|
package/extended/HashMap.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { CodecMap } from "./Map.js";
|
|
1
|
+
import { CodecMap } from './Map.js';
|
|
5
2
|
export class HashMap extends CodecMap {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
static with(keyType, valType) {
|
|
4
|
+
return class extends HashMap {
|
|
5
|
+
constructor(registry, value) {
|
|
6
|
+
super(registry, keyType, valType, value);
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
}
|
|
13
10
|
}
|
package/extended/Linkage.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Codec, CodecClass, Registry } from '../types';
|
|
2
|
-
import { Option } from '../base/Option';
|
|
3
|
-
import { Tuple } from '../base/Tuple';
|
|
4
|
-
import { Struct } from '../native/Struct';
|
|
1
|
+
import type { Codec, CodecClass, Registry } from '../types/index.js';
|
|
2
|
+
import { Option } from '../base/Option.js';
|
|
3
|
+
import { Tuple } from '../base/Tuple.js';
|
|
4
|
+
import { Struct } from '../native/Struct.js';
|
|
5
5
|
type TypeWithValues = [CodecClass, any[]];
|
|
6
6
|
/**
|
|
7
7
|
* @name Linkage
|
package/extended/Linkage.js
CHANGED
|
@@ -1,64 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import { Tuple } from "../base/Tuple.js";
|
|
6
|
-
import { Vec } from "../base/Vec.js";
|
|
7
|
-
import { Struct } from "../native/Struct.js";
|
|
1
|
+
import { Option } from '../base/Option.js';
|
|
2
|
+
import { Tuple } from '../base/Tuple.js';
|
|
3
|
+
import { Vec } from '../base/Vec.js';
|
|
4
|
+
import { Struct } from '../native/Struct.js';
|
|
8
5
|
const EMPTY = new Uint8Array();
|
|
9
|
-
|
|
10
6
|
/**
|
|
11
7
|
* @name Linkage
|
|
12
8
|
* @description The wrapper for the result from a LinkedMap
|
|
13
9
|
*/
|
|
14
10
|
export class Linkage extends Struct {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
11
|
+
constructor(registry, Type, value) {
|
|
12
|
+
super(registry, {
|
|
13
|
+
previous: Option.with(Type),
|
|
14
|
+
// eslint-disable-next-line sort-keys
|
|
15
|
+
next: Option.with(Type)
|
|
16
|
+
}, value);
|
|
17
|
+
}
|
|
18
|
+
static withKey(Type) {
|
|
19
|
+
return class extends Linkage {
|
|
20
|
+
constructor(registry, value) {
|
|
21
|
+
super(registry, Type, value);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
get previous() {
|
|
26
|
+
return this.get('previous');
|
|
27
|
+
}
|
|
28
|
+
get next() {
|
|
29
|
+
return this.get('next');
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @description Returns the base runtime type name for this instance
|
|
33
|
+
*/
|
|
34
|
+
toRawType() {
|
|
35
|
+
return `Linkage<${this.next.toRawType(true)}>`;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @description Custom toU8a which with bare mode does not return the linkage if empty
|
|
39
|
+
*/
|
|
40
|
+
toU8a() {
|
|
41
|
+
// As part of a storage query (where these appear), in the case of empty, the values
|
|
42
|
+
// are NOT populated by the node - follow the same logic, leaving it empty
|
|
43
|
+
return this.isEmpty
|
|
44
|
+
? EMPTY
|
|
45
|
+
: super.toU8a();
|
|
46
|
+
}
|
|
51
47
|
}
|
|
52
|
-
|
|
53
48
|
/**
|
|
54
49
|
* @name LinkageResult
|
|
55
50
|
* @description A Linkage keys/Values tuple
|
|
56
51
|
*/
|
|
57
52
|
export class LinkageResult extends Tuple {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
53
|
+
constructor(registry, [TypeKey, keys], [TypeValue, values]) {
|
|
54
|
+
super(registry, {
|
|
55
|
+
Keys: Vec.with(TypeKey),
|
|
56
|
+
Values: Vec.with(TypeValue)
|
|
57
|
+
}, [keys, values]);
|
|
58
|
+
}
|
|
64
59
|
}
|
package/extended/Map.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HexString } from '@polkadot/util/types';
|
|
2
|
-
import type { AnyJson, Codec, CodecClass, IMap, Inspect, IU8a, Registry } from '../types';
|
|
2
|
+
import type { AnyJson, Codec, CodecClass, IMap, Inspect, IU8a, Registry } from '../types/index.js';
|
|
3
3
|
export declare class CodecMap<K extends Codec = Codec, V extends Codec = Codec> extends Map<K, V> implements IMap<K, V> {
|
|
4
4
|
#private;
|
|
5
5
|
readonly registry: Registry;
|