@polkadot/types-create 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/bundle.js +4 -7
- package/cjs/bundle.js +9 -46
- package/cjs/create/class.js +129 -172
- package/cjs/create/index.js +4 -26
- package/cjs/create/type.js +60 -75
- package/cjs/detectOther.js +3 -10
- package/cjs/detectPackage.js +6 -11
- package/cjs/index.js +3 -15
- package/cjs/packageInfo.js +2 -16
- package/cjs/types/augmentRegistry.js +1 -1
- package/cjs/types/index.js +4 -26
- package/cjs/types/lookup.js +2 -1
- package/cjs/types/types.js +26 -32
- package/cjs/util/encodeTypes.js +116 -199
- package/cjs/util/getTypeDef.js +166 -190
- package/cjs/util/index.js +6 -48
- package/cjs/util/typeSplit.js +57 -72
- package/cjs/util/xcm.js +7 -16
- package/create/class.js +121 -153
- package/create/index.js +2 -5
- package/create/type.js +52 -61
- package/detectOther.js +0 -3
- package/detectPackage.js +2 -7
- package/index.js +2 -5
- package/package.json +8 -5
- package/packageInfo.js +1 -11
- package/types/augmentRegistry.js +0 -5
- package/types/index.js +3 -6
- package/types/types.js +24 -27
- package/util/encodeTypes.js +108 -152
- package/util/getTypeDef.js +159 -165
- package/util/index.js +4 -7
- package/util/typeSplit.js +53 -66
- package/util/xcm.js +1 -6
package/util/typeSplit.js
CHANGED
|
@@ -1,70 +1,57 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-create authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
// safely split a string on ', ' while taking care of any nested occurences
|
|
5
1
|
export function typeSplit(type) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
2
|
+
const result = [];
|
|
3
|
+
// these are the depths of the various tokens: <, [, {, (
|
|
4
|
+
let c = 0;
|
|
5
|
+
let f = 0;
|
|
6
|
+
let s = 0;
|
|
7
|
+
let t = 0;
|
|
8
|
+
// current start position
|
|
9
|
+
let start = 0;
|
|
10
|
+
for (let i = 0; i < type.length; i++) {
|
|
11
|
+
switch (type[i]) {
|
|
12
|
+
// if we are not nested, add the type
|
|
13
|
+
case ',': {
|
|
14
|
+
if (!(c || f || s || t)) {
|
|
15
|
+
result.push(type.substring(start, i).trim());
|
|
16
|
+
start = i + 1;
|
|
17
|
+
}
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
// adjust compact/vec (and friends) depth
|
|
21
|
+
case '<':
|
|
22
|
+
c++;
|
|
23
|
+
break;
|
|
24
|
+
case '>':
|
|
25
|
+
c--;
|
|
26
|
+
break;
|
|
27
|
+
// adjust fixed vec depths
|
|
28
|
+
case '[':
|
|
29
|
+
f++;
|
|
30
|
+
break;
|
|
31
|
+
case ']':
|
|
32
|
+
f--;
|
|
33
|
+
break;
|
|
34
|
+
// adjust struct depth
|
|
35
|
+
case '{':
|
|
36
|
+
s++;
|
|
37
|
+
break;
|
|
38
|
+
case '}':
|
|
39
|
+
s--;
|
|
40
|
+
break;
|
|
41
|
+
// adjust tuple depth
|
|
42
|
+
case '(':
|
|
43
|
+
t++;
|
|
44
|
+
break;
|
|
45
|
+
case ')':
|
|
46
|
+
t--;
|
|
47
|
+
break;
|
|
26
48
|
}
|
|
27
|
-
|
|
28
|
-
// adjust compact/vec (and friends) depth
|
|
29
|
-
case '<':
|
|
30
|
-
c++;
|
|
31
|
-
break;
|
|
32
|
-
case '>':
|
|
33
|
-
c--;
|
|
34
|
-
break;
|
|
35
|
-
|
|
36
|
-
// adjust fixed vec depths
|
|
37
|
-
case '[':
|
|
38
|
-
f++;
|
|
39
|
-
break;
|
|
40
|
-
case ']':
|
|
41
|
-
f--;
|
|
42
|
-
break;
|
|
43
|
-
|
|
44
|
-
// adjust struct depth
|
|
45
|
-
case '{':
|
|
46
|
-
s++;
|
|
47
|
-
break;
|
|
48
|
-
case '}':
|
|
49
|
-
s--;
|
|
50
|
-
break;
|
|
51
|
-
|
|
52
|
-
// adjust tuple depth
|
|
53
|
-
case '(':
|
|
54
|
-
t++;
|
|
55
|
-
break;
|
|
56
|
-
case ')':
|
|
57
|
-
t--;
|
|
58
|
-
break;
|
|
59
49
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// the final leg of the journey
|
|
68
|
-
result.push(type.substring(start, type.length).trim());
|
|
69
|
-
return result;
|
|
50
|
+
// ensure we have all the terminators taken care of
|
|
51
|
+
if (c || f || s || t) {
|
|
52
|
+
throw new Error(`Invalid definition (missing terminators) found in ${type}`);
|
|
53
|
+
}
|
|
54
|
+
// the final leg of the journey
|
|
55
|
+
result.push(type.substring(start, type.length).trim());
|
|
56
|
+
return result;
|
|
70
57
|
}
|
package/util/xcm.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-create authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { objectSpread } from '@polkadot/util';
|
|
5
2
|
export const XCM_MAPPINGS = ['AssetInstance', 'Fungibility', 'Junction', 'Junctions', 'MultiAsset', 'MultiAssetFilter', 'MultiLocation', 'Response', 'WildFungibility', 'WildMultiAsset', 'Xcm', 'XcmError', 'XcmOrder'];
|
|
6
3
|
export function mapXcmTypes(version) {
|
|
7
|
-
|
|
8
|
-
[key]: `${key}${version}`
|
|
9
|
-
}), {});
|
|
4
|
+
return XCM_MAPPINGS.reduce((all, key) => objectSpread(all, { [key]: `${key}${version}` }), {});
|
|
10
5
|
}
|