1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.extractStorageArgs = extractStorageArgs;
|
7 |
|
8 | var _util = require("@polkadot/util");
|
9 |
|
10 |
|
11 |
|
12 | function sig(_ref, _ref2, args) {
|
13 | let {
|
14 | lookup
|
15 | } = _ref;
|
16 | let {
|
17 | method,
|
18 | section
|
19 | } = _ref2;
|
20 | return `${section}.${method}(${args.map(a => lookup.getTypeDef(a).type).join(', ')})`;
|
21 | }
|
22 |
|
23 |
|
24 |
|
25 | function extractStorageArgs(registry, creator, _args) {
|
26 | const args = _args.filter(a => !(0, _util.isUndefined)(a));
|
27 |
|
28 | if (creator.meta.type.isPlain) {
|
29 | (0, _util.assert)(args.length === 0, () => `${sig(registry, creator, [])} does not take any arguments, ${args.length} found`);
|
30 | } else {
|
31 | const {
|
32 | hashers,
|
33 | key
|
34 | } = creator.meta.type.asMap;
|
35 | const keys = hashers.length === 1 ? [key] : registry.lookup.getSiType(key).def.asTuple.map(t => t);
|
36 | (0, _util.assert)(args.length === keys.length, () => `${sig(registry, creator, keys)} is a map, requiring ${keys.length} arguments, ${args.length} found`);
|
37 | }
|
38 |
|
39 |
|
40 | return [creator, args];
|
41 | } |
\ | No newline at end of file |