@polkadot/types-codec 9.14.1 → 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.
Files changed (157) hide show
  1. package/abstract/Array.js +140 -155
  2. package/abstract/Base.js +95 -112
  3. package/abstract/Int.js +212 -220
  4. package/abstract/Object.js +34 -45
  5. package/abstract/index.js +3 -6
  6. package/base/Compact.js +149 -165
  7. package/base/DoNotConstruct.js +61 -64
  8. package/base/Enum.js +345 -382
  9. package/base/Int.js +14 -18
  10. package/base/Null.js +71 -82
  11. package/base/Option.js +217 -226
  12. package/base/Result.js +54 -67
  13. package/base/Tuple.js +96 -101
  14. package/base/UInt.js +11 -15
  15. package/base/Vec.js +84 -89
  16. package/base/VecAny.js +8 -12
  17. package/base/VecFixed.js +59 -70
  18. package/base/index.js +12 -15
  19. package/bundle.js +7 -10
  20. package/cjs/abstract/Array.js +138 -159
  21. package/cjs/abstract/Base.js +96 -117
  22. package/cjs/abstract/Int.js +215 -238
  23. package/cjs/abstract/Object.js +30 -49
  24. package/cjs/abstract/index.js +8 -25
  25. package/cjs/base/Compact.js +151 -173
  26. package/cjs/base/DoNotConstruct.js +63 -70
  27. package/cjs/base/Enum.js +350 -396
  28. package/cjs/base/Int.js +16 -24
  29. package/cjs/base/Null.js +70 -86
  30. package/cjs/base/Option.js +220 -234
  31. package/cjs/base/Result.js +56 -71
  32. package/cjs/base/Tuple.js +103 -109
  33. package/cjs/base/UInt.js +13 -19
  34. package/cjs/base/Vec.js +94 -101
  35. package/cjs/base/VecAny.js +10 -16
  36. package/cjs/base/VecFixed.js +66 -79
  37. package/cjs/base/index.js +26 -88
  38. package/cjs/bundle.js +11 -86
  39. package/cjs/detectOther.js +2 -10
  40. package/cjs/detectPackage.js +6 -11
  41. package/cjs/extended/BTreeMap.js +10 -16
  42. package/cjs/extended/BTreeSet.js +162 -178
  43. package/cjs/extended/BitVec.js +70 -77
  44. package/cjs/extended/Bytes.js +59 -62
  45. package/cjs/extended/HashMap.js +10 -16
  46. package/cjs/extended/Linkage.js +50 -60
  47. package/cjs/extended/Map.js +176 -181
  48. package/cjs/extended/OptionBool.js +65 -68
  49. package/cjs/extended/Range.js +37 -46
  50. package/cjs/extended/RangeInclusive.js +13 -21
  51. package/cjs/extended/Type.js +14 -22
  52. package/cjs/extended/U8aFixed.js +33 -43
  53. package/cjs/extended/WrapperKeepOpaque.js +99 -99
  54. package/cjs/extended/WrapperOpaque.js +19 -28
  55. package/cjs/extended/index.js +31 -108
  56. package/cjs/index.js +3 -15
  57. package/cjs/native/Bool.js +101 -116
  58. package/cjs/native/Date.js +125 -151
  59. package/cjs/native/Float.js +95 -114
  60. package/cjs/native/Json.js +102 -124
  61. package/cjs/native/Raw.js +128 -150
  62. package/cjs/native/Set.js +200 -220
  63. package/cjs/native/Struct.data.js +2 -9
  64. package/cjs/native/Struct.js +238 -251
  65. package/cjs/native/Text.js +137 -149
  66. package/cjs/native/index.js +21 -78
  67. package/cjs/packageInfo.js +2 -16
  68. package/cjs/primitive/F32.js +8 -11
  69. package/cjs/primitive/F64.js +8 -11
  70. package/cjs/primitive/I128.js +8 -11
  71. package/cjs/primitive/I16.js +8 -11
  72. package/cjs/primitive/I256.js +8 -11
  73. package/cjs/primitive/I32.js +8 -11
  74. package/cjs/primitive/I64.js +8 -11
  75. package/cjs/primitive/I8.js +8 -11
  76. package/cjs/primitive/U128.js +8 -11
  77. package/cjs/primitive/U16.js +8 -11
  78. package/cjs/primitive/U256.js +8 -11
  79. package/cjs/primitive/U32.js +8 -11
  80. package/cjs/primitive/U64.js +8 -11
  81. package/cjs/primitive/U8.js +8 -11
  82. package/cjs/primitive/USize.js +7 -13
  83. package/cjs/primitive/index.js +47 -199
  84. package/cjs/types/codec.js +2 -1
  85. package/cjs/types/helpers.js +2 -1
  86. package/cjs/types/index.js +6 -48
  87. package/cjs/types/interfaces.js +2 -1
  88. package/cjs/types/registry.js +2 -1
  89. package/cjs/utils/compareArray.js +12 -17
  90. package/cjs/utils/compareMap.js +23 -26
  91. package/cjs/utils/compareSet.js +17 -23
  92. package/cjs/utils/decodeU8a.js +63 -74
  93. package/cjs/utils/index.js +24 -91
  94. package/cjs/utils/mapToTypeMap.js +13 -18
  95. package/cjs/utils/sanitize.js +198 -204
  96. package/cjs/utils/sortValues.js +39 -49
  97. package/cjs/utils/typeToConstructor.js +8 -11
  98. package/cjs/utils/typesToMap.js +10 -16
  99. package/cjs/utils/util.js +6 -11
  100. package/detectOther.js +0 -5
  101. package/detectPackage.js +2 -7
  102. package/extended/BTreeMap.js +8 -11
  103. package/extended/BTreeSet.js +159 -171
  104. package/extended/BitVec.js +63 -70
  105. package/extended/Bytes.js +56 -57
  106. package/extended/HashMap.js +8 -11
  107. package/extended/Linkage.js +46 -51
  108. package/extended/Map.js +173 -173
  109. package/extended/OptionBool.js +62 -62
  110. package/extended/Range.js +31 -39
  111. package/extended/RangeInclusive.js +11 -16
  112. package/extended/Type.js +12 -17
  113. package/extended/U8aFixed.js +30 -36
  114. package/extended/WrapperKeepOpaque.js +92 -91
  115. package/extended/WrapperOpaque.js +17 -23
  116. package/extended/index.js +14 -17
  117. package/index.js +2 -5
  118. package/native/Bool.js +102 -111
  119. package/native/Date.js +126 -144
  120. package/native/Float.js +94 -107
  121. package/native/Json.js +104 -114
  122. package/native/Raw.js +130 -146
  123. package/native/Set.js +194 -209
  124. package/native/Struct.data.js +0 -3
  125. package/native/Struct.js +233 -241
  126. package/native/Text.js +135 -143
  127. package/native/index.js +8 -11
  128. package/package.json +8 -5
  129. package/packageInfo.js +1 -11
  130. package/primitive/F32.js +3 -7
  131. package/primitive/F64.js +3 -7
  132. package/primitive/I128.js +3 -7
  133. package/primitive/I16.js +3 -7
  134. package/primitive/I256.js +3 -7
  135. package/primitive/I32.js +3 -7
  136. package/primitive/I64.js +3 -7
  137. package/primitive/I8.js +3 -7
  138. package/primitive/U128.js +3 -7
  139. package/primitive/U16.js +3 -7
  140. package/primitive/U256.js +3 -7
  141. package/primitive/U32.js +3 -7
  142. package/primitive/U64.js +3 -7
  143. package/primitive/U8.js +3 -7
  144. package/primitive/USize.js +5 -9
  145. package/primitive/index.js +15 -18
  146. package/types/index.js +4 -7
  147. package/utils/compareArray.js +7 -11
  148. package/utils/compareMap.js +18 -19
  149. package/utils/compareSet.js +12 -16
  150. package/utils/decodeU8a.js +54 -61
  151. package/utils/index.js +9 -12
  152. package/utils/mapToTypeMap.js +9 -13
  153. package/utils/sanitize.js +182 -185
  154. package/utils/sortValues.js +32 -36
  155. package/utils/typeToConstructor.js +3 -4
  156. package/utils/typesToMap.js +5 -8
  157. package/utils/util.js +1 -4
@@ -1,240 +1,234 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.alias = alias;
7
- exports.cleanupCompact = cleanupCompact;
8
- exports.findClosing = findClosing;
9
- exports.flattenSingleTuple = flattenSingleTuple;
10
- exports.removeColons = removeColons;
11
- exports.removeExtensions = removeExtensions;
12
- exports.removeGenerics = removeGenerics;
13
- exports.removePairOf = removePairOf;
14
- exports.removeTraits = removeTraits;
15
- exports.removeWrap = removeWrap;
16
- exports.sanitize = sanitize;
17
- exports.trim = trim;
18
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
19
- // SPDX-License-Identifier: Apache-2.0
20
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitize = exports.removeWrap = exports.removeTraits = exports.removePairOf = exports.removeGenerics = exports.removeColons = exports.removeExtensions = exports.flattenSingleTuple = exports.cleanupCompact = exports.alias = exports.findClosing = exports.trim = void 0;
21
4
  const BOUNDED = ['BTreeMap', 'BTreeSet', 'HashMap', 'Vec'];
22
5
  const ALLOWED_BOXES = BOUNDED.concat(['Compact', 'DoNotConstruct', 'Int', 'Linkage', 'Range', 'RangeInclusive', 'Result', 'Opaque', 'Option', 'UInt', 'WrapperKeepOpaque', 'WrapperOpaque']);
23
6
  const BOX_PRECEDING = ['<', '(', '[', '"', ',', ' ']; // start of vec, tuple, fixed array, part of struct def or in tuple
24
-
25
7
  const mappings = [
26
- // alias <T::InherentOfflineReport as InherentOfflineReport>::Inherent -> InherentOfflineReport
27
- alias('<T::InherentOfflineReport as InherentOfflineReport>::Inherent', 'InherentOfflineReport', false), alias('VecDeque<', 'Vec<', false),
28
- // <T::Balance as HasCompact>
29
- cleanupCompact(),
30
- // Change BoundedVec<Type, Size> to Vec<Type>
31
- removeExtensions('Bounded', true),
32
- // Change WeakVec<Type> to Vec<Type>
33
- removeExtensions('Weak', false),
34
- // Remove all the trait prefixes
35
- removeTraits(),
36
- // remove PairOf<T> -> (T, T)
37
- removePairOf(),
38
- // remove boxing, `Box<Proposal>` -> `Proposal`
39
- removeWrap('Box<'),
40
- // remove generics, `MisbehaviorReport<Hash, BlockNumber>` -> `MisbehaviorReport`
41
- removeGenerics(),
42
- // alias String -> Text (compat with jsonrpc methods)
43
- alias('String', 'Text'),
44
- // alias Vec<u8> -> Bytes
45
- alias('Vec<u8>', 'Bytes'), alias('&\\[u8\\]', 'Bytes'), alias("&'static\\[u8\\]", 'Bytes'),
46
- // alias RawAddress -> Address
47
- alias('RawAddress', 'Address'),
48
- // lookups, mapped to Address/AccountId as appropriate in runtime
49
- alias('Lookup::Source', 'LookupSource'), alias('Lookup::Target', 'LookupTarget'),
50
- // HACK duplication between contracts & primitives, however contracts prefixed with exec
51
- alias('exec::StorageKey', 'ContractStorageKey'),
52
- // flattens tuples with one value, `(AccountId)` -> `AccountId`
53
- flattenSingleTuple(),
54
- // converts ::Type to Type, <T as Trait<I>>::Proposal -> Proposal
55
- removeColons(),
56
- // remove all trailing spaces - this should always be the last
57
- trim()];
58
-
59
- // given a string, trim it
8
+ // alias <T::InherentOfflineReport as InherentOfflineReport>::Inherent -> InherentOfflineReport
9
+ alias('<T::InherentOfflineReport as InherentOfflineReport>::Inherent', 'InherentOfflineReport', false),
10
+ alias('VecDeque<', 'Vec<', false),
11
+ // <T::Balance as HasCompact>
12
+ cleanupCompact(),
13
+ // Change BoundedVec<Type, Size> to Vec<Type>
14
+ removeExtensions('Bounded', true),
15
+ // Change WeakVec<Type> to Vec<Type>
16
+ removeExtensions('Weak', false),
17
+ // Remove all the trait prefixes
18
+ removeTraits(),
19
+ // remove PairOf<T> -> (T, T)
20
+ removePairOf(),
21
+ // remove boxing, `Box<Proposal>` -> `Proposal`
22
+ removeWrap('Box<'),
23
+ // remove generics, `MisbehaviorReport<Hash, BlockNumber>` -> `MisbehaviorReport`
24
+ removeGenerics(),
25
+ // alias String -> Text (compat with jsonrpc methods)
26
+ alias('String', 'Text'),
27
+ // alias Vec<u8> -> Bytes
28
+ alias('Vec<u8>', 'Bytes'),
29
+ alias('&\\[u8\\]', 'Bytes'),
30
+ alias("&'static\\[u8\\]", 'Bytes'),
31
+ // alias RawAddress -> Address
32
+ alias('RawAddress', 'Address'),
33
+ // lookups, mapped to Address/AccountId as appropriate in runtime
34
+ alias('Lookup::Source', 'LookupSource'),
35
+ alias('Lookup::Target', 'LookupTarget'),
36
+ // HACK duplication between contracts & primitives, however contracts prefixed with exec
37
+ alias('exec::StorageKey', 'ContractStorageKey'),
38
+ // flattens tuples with one value, `(AccountId)` -> `AccountId`
39
+ flattenSingleTuple(),
40
+ // converts ::Type to Type, <T as Trait<I>>::Proposal -> Proposal
41
+ removeColons(),
42
+ // remove all trailing spaces - this should always be the last
43
+ trim()
44
+ ];
60
45
  function trim() {
61
- return value => value.trim();
46
+ return (value) => value.trim();
62
47
  }
63
-
64
- // given a starting index, find the closing >
48
+ exports.trim = trim;
65
49
  function findClosing(value, start) {
66
- let depth = 0;
67
- for (let index = start; index < value.length; index++) {
68
- if (value[index] === '>') {
69
- if (!depth) {
70
- return index;
71
- }
72
- depth--;
73
- } else if (value[index] === '<') {
74
- depth++;
50
+ let depth = 0;
51
+ for (let index = start; index < value.length; index++) {
52
+ if (value[index] === '>') {
53
+ if (!depth) {
54
+ return index;
55
+ }
56
+ depth--;
57
+ }
58
+ else if (value[index] === '<') {
59
+ depth++;
60
+ }
75
61
  }
76
- }
77
- throw new Error(`Unable to find closing matching <> on '${value}' (start ${start})`);
62
+ throw new Error(`Unable to find closing matching <> on '${value}' (start ${start})`);
78
63
  }
79
- function alias(src, dest) {
80
- let withChecks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
81
- const from = new RegExp(`(^${src}|${BOX_PRECEDING.map(box => `\\${box}${src}`).join('|')})`, 'g');
82
- const to = src => {
83
- from.lastIndex = 0;
84
- return withChecks && BOX_PRECEDING.includes(src[0]) ? `${src[0]}${dest}` : dest;
85
- };
86
- return value => value.replace(from, to);
64
+ exports.findClosing = findClosing;
65
+ function alias(src, dest, withChecks = true) {
66
+ const from = new RegExp(`(^${src}|${BOX_PRECEDING.map((box) => `\\${box}${src}`).join('|')})`, 'g');
67
+ const to = (src) => {
68
+ from.lastIndex = 0;
69
+ return withChecks && BOX_PRECEDING.includes(src[0])
70
+ ? `${src[0]}${dest}`
71
+ : dest;
72
+ };
73
+ return (value) => value.replace(from, to);
87
74
  }
75
+ exports.alias = alias;
88
76
  function cleanupCompact() {
89
- return value => {
90
- if (value.includes(' as HasCompact')) {
91
- for (let index = 0; index < value.length; index++) {
92
- if (value[index] === '<') {
93
- const end = findClosing(value, index + 1) - 14;
94
- if (value.substring(end, end + 14) === ' as HasCompact') {
95
- value = `Compact<${value.substring(index + 1, end)}>`;
96
- }
77
+ return (value) => {
78
+ if (value.includes(' as HasCompact')) {
79
+ for (let index = 0; index < value.length; index++) {
80
+ if (value[index] === '<') {
81
+ const end = findClosing(value, index + 1) - 14;
82
+ if (value.substring(end, end + 14) === ' as HasCompact') {
83
+ value = `Compact<${value.substring(index + 1, end)}>`;
84
+ }
85
+ }
86
+ }
97
87
  }
98
- }
99
- }
100
- return value;
101
- };
88
+ return value;
89
+ };
102
90
  }
91
+ exports.cleanupCompact = cleanupCompact;
103
92
  function flattenSingleTuple() {
104
- const from1 = /,\)/g;
105
- const from2 = /\(([^,]+)\)/;
106
- return value => {
107
- from1.lastIndex = 0;
108
- return value
109
- // tuples may have trailing commas, e.g. (u32, BlockNumber, )
110
- .replace(from1, ')')
111
- // change (u32) -> u32
112
- .replace(from2, '$1');
113
- };
93
+ const from1 = /,\)/g;
94
+ const from2 = /\(([^,]+)\)/;
95
+ return (value) => {
96
+ from1.lastIndex = 0;
97
+ return value
98
+ // tuples may have trailing commas, e.g. (u32, BlockNumber, )
99
+ .replace(from1, ')')
100
+ // change (u32) -> u32
101
+ .replace(from2, '$1');
102
+ };
114
103
  }
104
+ exports.flattenSingleTuple = flattenSingleTuple;
115
105
  function replaceTagWith(value, matcher, replacer) {
116
- let index = -1;
117
- while (true) {
118
- index = value.indexOf(matcher, index + 1);
119
- if (index === -1) {
120
- return value;
106
+ let index = -1;
107
+ while (true) {
108
+ index = value.indexOf(matcher, index + 1);
109
+ if (index === -1) {
110
+ return value;
111
+ }
112
+ const start = index + matcher.length;
113
+ const end = findClosing(value, start);
114
+ value = `${value.substring(0, index)}${replacer(value.substring(start, end))}${value.substring(end + 1)}`;
121
115
  }
122
- const start = index + matcher.length;
123
- const end = findClosing(value, start);
124
- value = `${value.substring(0, index)}${replacer(value.substring(start, end))}${value.substring(end + 1)}`;
125
- }
126
116
  }
127
-
128
- // remove the Bounded* or Weak* wrappers
129
117
  function removeExtensions(type, isSized) {
130
- return value => {
131
- for (let i = 0; i < BOUNDED.length; i++) {
132
- const tag = BOUNDED[i];
133
- value = replaceTagWith(value, `${type}${tag}<`, v => {
134
- const parts = v.split(',').map(s => s.trim()).filter(s => s);
135
- if (isSized) {
136
- parts.pop();
118
+ return (value) => {
119
+ for (let i = 0; i < BOUNDED.length; i++) {
120
+ const tag = BOUNDED[i];
121
+ value = replaceTagWith(value, `${type}${tag}<`, (v) => {
122
+ const parts = v
123
+ .split(',')
124
+ .map((s) => s.trim())
125
+ .filter((s) => s);
126
+ if (isSized) {
127
+ parts.pop();
128
+ }
129
+ return `${tag}<${parts.join(',')}>`;
130
+ });
137
131
  }
138
- return `${tag}<${parts.join(',')}>`;
139
- });
140
- }
141
- return value;
142
- };
132
+ return value;
133
+ };
143
134
  }
135
+ exports.removeExtensions = removeExtensions;
144
136
  function removeColons() {
145
- return value => {
146
- let index = 0;
147
- while (index !== -1) {
148
- index = value.indexOf('::');
149
- if (index === 0) {
150
- value = value.substring(2);
151
- } else if (index !== -1) {
152
- let start = index;
153
- while (start !== -1 && !BOX_PRECEDING.includes(value[start])) {
154
- start--;
137
+ return (value) => {
138
+ let index = 0;
139
+ while (index !== -1) {
140
+ index = value.indexOf('::');
141
+ if (index === 0) {
142
+ value = value.substring(2);
143
+ }
144
+ else if (index !== -1) {
145
+ let start = index;
146
+ while (start !== -1 && !BOX_PRECEDING.includes(value[start])) {
147
+ start--;
148
+ }
149
+ value = `${value.substring(0, start + 1)}${value.substring(index + 2)}`;
150
+ }
155
151
  }
156
- value = `${value.substring(0, start + 1)}${value.substring(index + 2)}`;
157
- }
158
- }
159
- return value;
160
- };
152
+ return value;
153
+ };
161
154
  }
155
+ exports.removeColons = removeColons;
162
156
  function removeGenerics() {
163
- return value => {
164
- for (let index = 0; index < value.length; index++) {
165
- if (value[index] === '<') {
166
- // check against the allowed wrappers, be it Vec<..>, Option<...> ...
167
- const box = ALLOWED_BOXES.find(box => {
168
- const start = index - box.length;
169
- return start >= 0 && value.substring(start, index) === box && (
170
- // make sure it is stand-alone, i.e. don't catch ElectionResult<...> as Result<...>
171
- start === 0 || BOX_PRECEDING.includes(value[start - 1]));
172
- });
173
-
174
- // we have not found anything, unwrap generic innards
175
- if (!box) {
176
- const end = findClosing(value, index + 1);
177
- value = `${value.substring(0, index)}${value.substring(end + 1)}`;
157
+ return (value) => {
158
+ for (let index = 0; index < value.length; index++) {
159
+ if (value[index] === '<') {
160
+ // check against the allowed wrappers, be it Vec<..>, Option<...> ...
161
+ const box = ALLOWED_BOXES.find((box) => {
162
+ const start = index - box.length;
163
+ return ((start >= 0 &&
164
+ value.substring(start, index) === box) && (
165
+ // make sure it is stand-alone, i.e. don't catch ElectionResult<...> as Result<...>
166
+ start === 0 ||
167
+ BOX_PRECEDING.includes(value[start - 1])));
168
+ });
169
+ // we have not found anything, unwrap generic innards
170
+ if (!box) {
171
+ const end = findClosing(value, index + 1);
172
+ value = `${value.substring(0, index)}${value.substring(end + 1)}`;
173
+ }
174
+ }
178
175
  }
179
- }
180
- }
181
- return value;
182
- };
176
+ return value;
177
+ };
183
178
  }
184
-
185
- // remove the PairOf wrappers
179
+ exports.removeGenerics = removeGenerics;
186
180
  function removePairOf() {
187
- const replacer = v => `(${v},${v})`;
188
- return value => replaceTagWith(value, 'PairOf<', replacer);
181
+ const replacer = (v) => `(${v},${v})`;
182
+ return (value) => replaceTagWith(value, 'PairOf<', replacer);
189
183
  }
190
-
191
- // remove the type traits
184
+ exports.removePairOf = removePairOf;
192
185
  function removeTraits() {
193
- const from1 = /\s/g;
194
- const from2 = /(T|Self)::/g;
195
- const from3 = /<(T|Self)asTrait>::/g;
196
- const from4 = /<Tas[a-z]+::Trait>::/g;
197
- const from5 = /<LookupasStaticLookup>/g;
198
- const from6 = /::Type/g;
199
- return value => {
200
- from1.lastIndex = 0;
201
- from2.lastIndex = 0;
202
- from3.lastIndex = 0;
203
- from4.lastIndex = 0;
204
- from5.lastIndex = 0;
205
- from6.lastIndex = 0;
206
- return value
207
- // remove all whitespaces
208
- .replace(from1, '')
209
- // anything `T::<type>` to end up as `<type>`
210
- .replace(from2, '')
211
- // replace `<T as Trait>::` (whitespaces were removed above)
212
- .replace(from3, '')
213
- // replace `<T as something::Trait>::` (whitespaces were removed above)
214
- .replace(from4, '')
215
- // replace <Lookup as StaticLookup>
216
- .replace(from5, 'Lookup')
217
- // replace `<...>::Type`
218
- .replace(from6, '');
219
- };
186
+ const from1 = /\s/g;
187
+ const from2 = /(T|Self)::/g;
188
+ const from3 = /<(T|Self)asTrait>::/g;
189
+ const from4 = /<Tas[a-z]+::Trait>::/g;
190
+ const from5 = /<LookupasStaticLookup>/g;
191
+ const from6 = /::Type/g;
192
+ return (value) => {
193
+ from1.lastIndex = 0;
194
+ from2.lastIndex = 0;
195
+ from3.lastIndex = 0;
196
+ from4.lastIndex = 0;
197
+ from5.lastIndex = 0;
198
+ from6.lastIndex = 0;
199
+ return value
200
+ // remove all whitespaces
201
+ .replace(from1, '')
202
+ // anything `T::<type>` to end up as `<type>`
203
+ .replace(from2, '')
204
+ // replace `<T as Trait>::` (whitespaces were removed above)
205
+ .replace(from3, '')
206
+ // replace `<T as something::Trait>::` (whitespaces were removed above)
207
+ .replace(from4, '')
208
+ // replace <Lookup as StaticLookup>
209
+ .replace(from5, 'Lookup')
210
+ // replace `<...>::Type`
211
+ .replace(from6, '');
212
+ };
220
213
  }
221
-
222
- // remove wrapping values, i.e. Box<Proposal> -> Proposal
214
+ exports.removeTraits = removeTraits;
223
215
  function removeWrap(check) {
224
- const replacer = v => v;
225
- return value => replaceTagWith(value, check, replacer);
216
+ const replacer = (v) => v;
217
+ return (value) => replaceTagWith(value, check, replacer);
226
218
  }
219
+ exports.removeWrap = removeWrap;
227
220
  const sanitizeMap = new Map();
228
221
  function sanitize(value) {
229
- const startValue = value.toString();
230
- const memoized = sanitizeMap.get(startValue);
231
- if (memoized) {
232
- return memoized;
233
- }
234
- let result = startValue;
235
- for (let i = 0; i < mappings.length; i++) {
236
- result = mappings[i](result);
237
- }
238
- sanitizeMap.set(startValue, result);
239
- return result;
240
- }
222
+ const startValue = value.toString();
223
+ const memoized = sanitizeMap.get(startValue);
224
+ if (memoized) {
225
+ return memoized;
226
+ }
227
+ let result = startValue;
228
+ for (let i = 0; i < mappings.length; i++) {
229
+ result = mappings[i](result);
230
+ }
231
+ sanitizeMap.set(startValue, result);
232
+ return result;
233
+ }
234
+ exports.sanitize = sanitize;
@@ -1,76 +1,66 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.sortAsc = sortAsc;
7
- exports.sortMap = sortMap;
8
- exports.sortSet = sortSet;
9
- var _util = require("@polkadot/util");
10
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
11
- // SPDX-License-Identifier: Apache-2.0
12
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortMap = exports.sortSet = exports.sortAsc = void 0;
4
+ const util_1 = require("@polkadot/util");
13
5
  /** @internal **/
14
6
  function isArrayLike(arg) {
15
- return arg instanceof Uint8Array || Array.isArray(arg);
7
+ return arg instanceof Uint8Array || Array.isArray(arg);
16
8
  }
17
-
18
9
  /** @internal **/
19
10
  function isCodec(arg) {
20
- return (0, _util.isFunction)(arg && arg.toU8a);
11
+ return (0, util_1.isFunction)(arg && arg.toU8a);
21
12
  }
22
-
23
13
  /** @internal **/
24
14
  function isEnum(arg) {
25
- return isCodec(arg) && (0, _util.isNumber)(arg.index) && isCodec(arg.value);
15
+ return isCodec(arg) && (0, util_1.isNumber)(arg.index) && isCodec(arg.value);
26
16
  }
27
-
28
17
  /** @internal */
29
18
  function isNumberLike(arg) {
30
- return (0, _util.isNumber)(arg) || (0, _util.isBn)(arg) || (0, _util.isBigInt)(arg);
19
+ return (0, util_1.isNumber)(arg) || (0, util_1.isBn)(arg) || (0, util_1.isBigInt)(arg);
31
20
  }
32
-
33
21
  /** @internal */
34
22
  function sortArray(a, b) {
35
- // Vec, Tuple, Bytes etc.
36
- let sortRes = 0;
37
- const minLen = Math.min(a.length, b.length);
38
- for (let i = 0; i < minLen; ++i) {
39
- sortRes = sortAsc(a[i], b[i]);
40
- if (sortRes !== 0) {
41
- return sortRes;
23
+ // Vec, Tuple, Bytes etc.
24
+ let sortRes = 0;
25
+ const minLen = Math.min(a.length, b.length);
26
+ for (let i = 0; i < minLen; ++i) {
27
+ sortRes = sortAsc(a[i], b[i]);
28
+ if (sortRes !== 0) {
29
+ return sortRes;
30
+ }
42
31
  }
43
- }
44
- return a.length - b.length;
32
+ return a.length - b.length;
45
33
  }
46
-
47
34
  /**
48
35
  * Sort keys/values of BTreeSet/BTreeMap in ascending order for encoding compatibility with Rust's BTreeSet/BTreeMap
49
36
  * (https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html)
50
37
  * (https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html)
51
38
  */
52
39
  function sortAsc(a, b) {
53
- if (isNumberLike(a) && isNumberLike(b)) {
54
- return (0, _util.bnToBn)(a).cmp((0, _util.bnToBn)(b));
55
- } else if (a instanceof Map && b instanceof Map) {
56
- return sortAsc(Array.from(a.values()), Array.from(b.values()));
57
- } else if (isEnum(a) && isEnum(b)) {
58
- return sortAsc(a.index, b.index) || sortAsc(a.value, b.value);
59
- } else if (isArrayLike(a) && isArrayLike(b)) {
60
- return sortArray(a, b);
61
- } else if (isCodec(a) && isCodec(b)) {
62
- // Text, Bool etc.
63
- return sortAsc(a.toU8a(true), b.toU8a(true));
64
- }
65
- throw new Error(`Attempting to sort unrecognized values: ${(0, _util.stringify)(a)} (typeof ${typeof a}) <-> ${(0, _util.stringify)(b)} (typeof ${typeof b})`);
40
+ if (isNumberLike(a) && isNumberLike(b)) {
41
+ return (0, util_1.bnToBn)(a).cmp((0, util_1.bnToBn)(b));
42
+ }
43
+ else if (a instanceof Map && b instanceof Map) {
44
+ return sortAsc(Array.from(a.values()), Array.from(b.values()));
45
+ }
46
+ else if (isEnum(a) && isEnum(b)) {
47
+ return sortAsc(a.index, b.index) || sortAsc(a.value, b.value);
48
+ }
49
+ else if (isArrayLike(a) && isArrayLike(b)) {
50
+ return sortArray(a, b);
51
+ }
52
+ else if (isCodec(a) && isCodec(b)) {
53
+ // Text, Bool etc.
54
+ return sortAsc(a.toU8a(true), b.toU8a(true));
55
+ }
56
+ throw new Error(`Attempting to sort unrecognized values: ${(0, util_1.stringify)(a)} (typeof ${typeof a}) <-> ${(0, util_1.stringify)(b)} (typeof ${typeof b})`);
66
57
  }
58
+ exports.sortAsc = sortAsc;
67
59
  function sortSet(set) {
68
- return new Set(Array.from(set).sort(sortAsc));
60
+ return new Set(Array.from(set).sort(sortAsc));
69
61
  }
62
+ exports.sortSet = sortSet;
70
63
  function sortMap(map) {
71
- return new Map(Array.from(map.entries()).sort((_ref, _ref2) => {
72
- let [keyA] = _ref;
73
- let [keyB] = _ref2;
74
- return sortAsc(keyA, keyB);
75
- }));
76
- }
64
+ return new Map(Array.from(map.entries()).sort(([keyA], [keyB]) => sortAsc(keyA, keyB)));
65
+ }
66
+ exports.sortMap = sortMap;
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.typeToConstructor = typeToConstructor;
7
- var _util = require("@polkadot/util");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.typeToConstructor = void 0;
4
+ const util_1 = require("@polkadot/util");
11
5
  function typeToConstructor(registry, type) {
12
- return (0, _util.isString)(type) ? registry.createClassUnsafe(type) : type;
13
- }
6
+ return ((0, util_1.isString)(type)
7
+ ? registry.createClassUnsafe(type)
8
+ : type);
9
+ }
10
+ exports.typeToConstructor = typeToConstructor;
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.typesToMap = typesToMap;
7
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
8
- // SPDX-License-Identifier: Apache-2.0
9
-
10
- function typesToMap(registry, _ref) {
11
- let [Types, keys] = _ref;
12
- const result = {};
13
- for (let i = 0; i < keys.length; i++) {
14
- result[keys[i]] = registry.getClassName(Types[i]) || new Types[i](registry).toRawType();
15
- }
16
- return result;
17
- }
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.typesToMap = void 0;
4
+ function typesToMap(registry, [Types, keys]) {
5
+ const result = {};
6
+ for (let i = 0; i < keys.length; i++) {
7
+ result[keys[i]] = registry.getClassName(Types[i]) || new Types[i](registry).toRawType();
8
+ }
9
+ return result;
10
+ }
11
+ exports.typesToMap = typesToMap;
package/cjs/utils/util.js CHANGED
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.hasEq = hasEq;
7
- var _util = require("@polkadot/util");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasEq = void 0;
4
+ const util_1 = require("@polkadot/util");
11
5
  function hasEq(o) {
12
- return (0, _util.isFunction)(o.eq);
13
- }
6
+ return (0, util_1.isFunction)(o.eq);
7
+ }
8
+ exports.hasEq = hasEq;
package/detectOther.js CHANGED
@@ -1,6 +1 @@
1
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- // Empty template, auto-generated by @polkadot/dev
5
-
6
1
  export default [];
package/detectPackage.js CHANGED
@@ -1,9 +1,4 @@
1
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- // Do not edit, auto-generated by @polkadot/dev
5
-
6
1
  import { detectPackage } from '@polkadot/util';
7
- import others from "./detectOther.js";
8
- import { packageInfo } from "./packageInfo.js";
2
+ import others from './detectOther.js';
3
+ import { packageInfo } from './packageInfo.js';
9
4
  detectPackage(packageInfo, null, others);