wasm-ast-types 0.4.3 → 0.6.0
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/README.md +129 -0
- package/main/{wasm.js → client/client.js} +56 -40
- package/main/client/index.js +18 -0
- package/main/client/test/ts-client.arrays.spec.js +25 -0
- package/main/client/test/ts-client.cw-named-groups.test.js +25 -0
- package/main/client/test/ts-client.cw-proposal-single.test.js +30 -0
- package/main/client/test/ts-client.empty-enums.spec.js +19 -0
- package/main/client/test/ts-client.sg721.spec.js +25 -0
- package/main/client/test/ts-client.spec.js +106 -0
- package/main/client/test/ts-client.vectis.spec.js +56 -0
- package/main/context/context.js +48 -0
- package/main/context/index.js +18 -0
- package/main/{messages.js → from-partial/from-partial.js} +17 -60
- package/main/from-partial/from-partial.spec.js +20 -0
- package/main/from-partial/index.js +18 -0
- package/main/index.js +34 -8
- package/main/react-query/index.js +18 -0
- package/main/react-query/react-query.js +267 -0
- package/main/{react-query.spec.js → react-query/react-query.spec.js} +36 -39
- package/main/recoil/index.js +18 -0
- package/main/{recoil.js → recoil/recoil.js} +7 -26
- package/main/{recoil.spec.js → recoil/recoil.spec.js} +9 -14
- package/main/utils/babel.js +28 -2
- package/main/utils/babel.spec.js +7 -15
- package/main/utils/index.js +13 -0
- package/main/utils/types.js +100 -78
- package/module/{wasm.js → client/client.js} +45 -35
- package/module/client/index.js +1 -0
- package/module/client/test/ts-client.arrays.spec.js +17 -0
- package/module/client/test/ts-client.cw-named-groups.test.js +17 -0
- package/module/client/test/ts-client.cw-proposal-single.test.js +21 -0
- package/module/client/test/ts-client.empty-enums.spec.js +11 -0
- package/module/client/test/ts-client.sg721.spec.js +17 -0
- package/module/client/test/ts-client.spec.js +85 -0
- package/module/client/test/ts-client.vectis.spec.js +44 -0
- package/module/context/context.js +25 -0
- package/module/context/index.js +1 -0
- package/module/{messages.js → from-partial/from-partial.js} +16 -57
- package/module/from-partial/from-partial.spec.js +12 -0
- package/module/from-partial/index.js +1 -0
- package/module/index.js +5 -3
- package/module/react-query/index.js +1 -0
- package/module/react-query/react-query.js +222 -0
- package/module/react-query/react-query.spec.js +53 -0
- package/module/recoil/index.js +1 -0
- package/module/{recoil.js → recoil/recoil.js} +6 -20
- package/module/recoil/recoil.spec.js +15 -0
- package/module/utils/babel.js +15 -0
- package/module/utils/babel.spec.js +1 -10
- package/module/utils/index.js +2 -1
- package/module/utils/types.js +83 -74
- package/package.json +26 -24
- package/types/src/client/client.d.ts +17 -0
- package/types/src/client/index.d.ts +1 -0
- package/types/src/client/test/ts-client.cw-named-groups.test.d.ts +1 -0
- package/types/src/client/test/ts-client.cw-proposal-single.test.d.ts +1 -0
- package/types/src/context/context.d.ts +20 -0
- package/types/src/context/index.d.ts +1 -0
- package/types/src/from-partial/from-partial.d.ts +4 -0
- package/types/src/from-partial/index.d.ts +1 -0
- package/types/src/index.d.ts +7 -0
- package/types/src/react-query/index.d.ts +1 -0
- package/types/src/react-query/react-query.d.ts +81 -0
- package/types/src/recoil/index.d.ts +1 -0
- package/types/{recoil.d.ts → src/recoil/recoil.d.ts} +5 -5
- package/types/{types.d.ts → src/types.d.ts} +17 -0
- package/types/{utils.d.ts → src/utils/babel.d.ts} +21 -1
- package/types/src/utils/index.d.ts +2 -0
- package/types/src/utils/types.d.ts +18 -0
- package/types/test-utils/index.d.ts +2 -0
- package/main/messages.spec.js +0 -24
- package/main/react-query.js +0 -155
- package/main/wasm.arrays.spec.js +0 -30
- package/main/wasm.cw-named-groups.test.js +0 -30
- package/main/wasm.cw-proposal-single.test.js +0 -32
- package/main/wasm.empty-enums.spec.js +0 -24
- package/main/wasm.sg721.spec.js +0 -30
- package/main/wasm.spec.js +0 -95
- package/main/wasm.vectis.spec.js +0 -53
- package/module/messages.spec.js +0 -18
- package/module/react-query.js +0 -120
- package/module/react-query.spec.js +0 -59
- package/module/recoil.spec.js +0 -22
- package/module/wasm.arrays.spec.js +0 -24
- package/module/wasm.cw-named-groups.test.js +0 -24
- package/module/wasm.cw-proposal-single.test.js +0 -25
- package/module/wasm.empty-enums.spec.js +0 -18
- package/module/wasm.sg721.spec.js +0 -24
- package/module/wasm.spec.js +0 -76
- package/module/wasm.vectis.spec.js +0 -43
- package/types/amino/amino-interfaces.d.ts +0 -6
- package/types/amino/from-amino.d.ts +0 -13
- package/types/amino/index.d.ts +0 -3
- package/types/amino/to-amino.d.ts +0 -11
- package/types/index.d.ts +0 -5
- package/types/messages.d.ts +0 -4
- package/types/react-query.d.ts +0 -32
- package/types/wasm.d.ts +0 -24
package/README.md
CHANGED
|
@@ -1 +1,130 @@
|
|
|
1
1
|
# wasm-ast-types
|
|
2
|
+
|
|
3
|
+
## working with ASTs
|
|
4
|
+
|
|
5
|
+
### 1 edit the fixture
|
|
6
|
+
|
|
7
|
+
edit `./scripts/fixture.ts`, for example:
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
// ./scripts/fixture.ts
|
|
11
|
+
export interface InstantiateMsg {
|
|
12
|
+
admin?: string | null;
|
|
13
|
+
members: Member[];
|
|
14
|
+
}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 2 run AST generator
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
yarn test:ast
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 3 look at the JSON produced
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
code ./scripts/test-output.json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
We use the npm module `ast-stringify` to strip out unneccesary props, and generate a JSON for reference.
|
|
30
|
+
|
|
31
|
+
You will see a `File` and `Program`... only concern yourself with the `body[]`:
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"type": "File",
|
|
36
|
+
"errors": [],
|
|
37
|
+
"program": {
|
|
38
|
+
"type": "Program",
|
|
39
|
+
"sourceType": "module",
|
|
40
|
+
"interpreter": null,
|
|
41
|
+
"body": [
|
|
42
|
+
{
|
|
43
|
+
"type": "ExportNamedDeclaration",
|
|
44
|
+
"exportKind": "type",
|
|
45
|
+
"specifiers": [],
|
|
46
|
+
"source": null,
|
|
47
|
+
"declaration": {
|
|
48
|
+
"type": "TSInterfaceDeclaration",
|
|
49
|
+
"id": {
|
|
50
|
+
"type": "Identifier",
|
|
51
|
+
"name": "InstantiateMsg"
|
|
52
|
+
},
|
|
53
|
+
"body": {
|
|
54
|
+
"type": "TSInterfaceBody",
|
|
55
|
+
"body": [
|
|
56
|
+
{
|
|
57
|
+
"type": "TSPropertySignature",
|
|
58
|
+
"key": {
|
|
59
|
+
"type": "Identifier",
|
|
60
|
+
"name": "admin"
|
|
61
|
+
},
|
|
62
|
+
"computed": false,
|
|
63
|
+
"optional": true,
|
|
64
|
+
"typeAnnotation": {
|
|
65
|
+
"type": "TSTypeAnnotation",
|
|
66
|
+
"typeAnnotation": {
|
|
67
|
+
"type": "TSUnionType",
|
|
68
|
+
"types": [
|
|
69
|
+
{
|
|
70
|
+
"type": "TSStringKeyword"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"type": "TSNullKeyword"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "TSPropertySignature",
|
|
81
|
+
"key": {
|
|
82
|
+
"type": "Identifier",
|
|
83
|
+
"name": "members"
|
|
84
|
+
},
|
|
85
|
+
"computed": false,
|
|
86
|
+
"typeAnnotation": {
|
|
87
|
+
"type": "TSTypeAnnotation",
|
|
88
|
+
"typeAnnotation": {
|
|
89
|
+
"type": "TSArrayType",
|
|
90
|
+
"elementType": {
|
|
91
|
+
"type": "TSTypeReference",
|
|
92
|
+
"typeName": {
|
|
93
|
+
"type": "Identifier",
|
|
94
|
+
"name": "Member"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"directives": []
|
|
106
|
+
},
|
|
107
|
+
"comments": []
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 4 code with `@babel/types` using the JSON as a reference
|
|
112
|
+
|
|
113
|
+
NOTE: 4 continued ideally you should be writing a test with your generator!
|
|
114
|
+
|
|
115
|
+
```js
|
|
116
|
+
import * as t from '@babel/types';
|
|
117
|
+
|
|
118
|
+
export const createNewGenerator = () => {
|
|
119
|
+
return t.exportNamedDeclaration(
|
|
120
|
+
t.tsInterfaceDeclaration(
|
|
121
|
+
t.identifier('InstantiateMsg'),
|
|
122
|
+
null,
|
|
123
|
+
[],
|
|
124
|
+
t.tsInterfaceBody([
|
|
125
|
+
// ... more code ...
|
|
126
|
+
])
|
|
127
|
+
)
|
|
128
|
+
);
|
|
129
|
+
};
|
|
130
|
+
```
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.createWasmQueryMethod = exports.createWasmExecMethod = exports.createTypeOrInterface = exports.createTypeInterface = exports.createQueryInterface = exports.createQueryClass = exports.createPropertyFunctionWithObjectParamsForExec = exports.createPropertyFunctionWithObjectParams = exports.createExecuteInterface = exports.createExecuteClass = void 0;
|
|
10
|
+
exports.getWasmMethodArgs = exports.createWasmQueryMethod = exports.createWasmExecMethod = exports.createTypeOrInterface = exports.createTypeInterface = exports.createQueryInterface = exports.createQueryClass = exports.createPropertyFunctionWithObjectParamsForExec = exports.createPropertyFunctionWithObjectParams = exports.createExecuteInterface = exports.createExecuteClass = exports.FIXED_EXECUTE_PARAMS = exports.CONSTANT_EXEC_PARAMS = void 0;
|
|
11
11
|
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
13
|
|
|
@@ -15,34 +15,34 @@ var t = _interopRequireWildcard(require("@babel/types"));
|
|
|
15
15
|
|
|
16
16
|
var _case = require("case");
|
|
17
17
|
|
|
18
|
-
var _utils = require("
|
|
18
|
+
var _utils = require("../utils");
|
|
19
19
|
|
|
20
|
-
var _types2 = require("
|
|
20
|
+
var _types2 = require("../utils/types");
|
|
21
21
|
|
|
22
|
-
var _babel = require("
|
|
22
|
+
var _babel = require("../utils/babel");
|
|
23
23
|
|
|
24
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
25
|
|
|
26
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
27
|
|
|
28
|
-
var
|
|
29
|
-
|
|
28
|
+
var CONSTANT_EXEC_PARAMS = [t.assignmentPattern((0, _babel.identifier)('fee', t.tsTypeAnnotation(t.tsUnionType([t.tSNumberKeyword(), t.tsTypeReference(t.identifier('StdFee')), t.tsLiteralType(t.stringLiteral('auto'))])), false), t.stringLiteral('auto')), (0, _babel.identifier)('memo', t.tsTypeAnnotation(t.tsStringKeyword()), true), (0, _babel.identifier)('funds', t.tsTypeAnnotation(t.tsArrayType(t.tsTypeReference(t.identifier('Coin')))), true)];
|
|
29
|
+
exports.CONSTANT_EXEC_PARAMS = CONSTANT_EXEC_PARAMS;
|
|
30
|
+
var FIXED_EXECUTE_PARAMS = [(0, _babel.identifier)('fee', t.tsTypeAnnotation(t.tsUnionType([t.tsNumberKeyword(), t.tsTypeReference(t.identifier('StdFee')), t.tsLiteralType(t.stringLiteral('auto'))])), true), (0, _babel.identifier)('memo', t.tsTypeAnnotation(t.tsStringKeyword()), true), (0, _babel.identifier)('funds', t.tsTypeAnnotation(t.tsArrayType(t.tsTypeReference(t.identifier('Coin')))), true)];
|
|
31
|
+
exports.FIXED_EXECUTE_PARAMS = FIXED_EXECUTE_PARAMS;
|
|
30
32
|
|
|
33
|
+
var createWasmQueryMethod = function createWasmQueryMethod(context, jsonschema) {
|
|
31
34
|
var underscoreName = Object.keys(jsonschema.properties)[0];
|
|
32
35
|
var methodName = (0, _case.camel)(underscoreName);
|
|
33
36
|
var responseType = (0, _case.pascal)("".concat(methodName, "Response"));
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
var args = Object.keys(properties).map(function (prop) {
|
|
37
|
-
return t.objectProperty(t.identifier(prop), t.identifier((0, _case.camel)(prop)), false, true);
|
|
38
|
-
});
|
|
37
|
+
var obj = (0, _types2.createTypedObjectParams)(context, jsonschema.properties[underscoreName]);
|
|
38
|
+
var args = getWasmMethodArgs(context, jsonschema.properties[underscoreName]);
|
|
39
39
|
var actionArg = t.objectProperty(t.identifier(underscoreName), t.objectExpression(args));
|
|
40
40
|
return t.classProperty(t.identifier(methodName), (0, _utils.arrowFunctionExpression)(obj ? [obj] : [], t.blockStatement([t.returnStatement(t.callExpression(t.memberExpression(t.memberExpression(t.thisExpression(), t.identifier('client')), t.identifier('queryContractSmart')), [t.memberExpression(t.thisExpression(), t.identifier('contractAddress')), t.objectExpression([actionArg])]))]), t.tsTypeAnnotation(t.tsTypeReference(t.identifier('Promise'), t.tsTypeParameterInstantiation([t.tSTypeReference(t.identifier(responseType))]))), true));
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
exports.createWasmQueryMethod = createWasmQueryMethod;
|
|
44
44
|
|
|
45
|
-
var createQueryClass = function createQueryClass(className, implementsClassName, queryMsg) {
|
|
45
|
+
var createQueryClass = function createQueryClass(context, className, implementsClassName, queryMsg) {
|
|
46
46
|
var propertyNames = (0, _utils.getMessageProperties)(queryMsg).map(function (method) {
|
|
47
47
|
var _Object$keys;
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ var createQueryClass = function createQueryClass(className, implementsClassName,
|
|
|
50
50
|
}).filter(Boolean);
|
|
51
51
|
var bindings = propertyNames.map(_case.camel).map(_utils.bindMethod);
|
|
52
52
|
var methods = (0, _utils.getMessageProperties)(queryMsg).map(function (schema) {
|
|
53
|
-
return createWasmQueryMethod(schema);
|
|
53
|
+
return createWasmQueryMethod(context, schema);
|
|
54
54
|
});
|
|
55
55
|
return t.exportNamedDeclaration((0, _utils.classDeclaration)(className, [// client
|
|
56
56
|
(0, _utils.classProperty)('client', t.tsTypeAnnotation(t.tsTypeReference(t.identifier('CosmWasmClient')))), // contractAddress
|
|
@@ -61,25 +61,42 @@ var createQueryClass = function createQueryClass(className, implementsClassName,
|
|
|
61
61
|
|
|
62
62
|
exports.createQueryClass = createQueryClass;
|
|
63
63
|
|
|
64
|
-
var
|
|
65
|
-
var _jsonschema$
|
|
64
|
+
var getWasmMethodArgs = function getWasmMethodArgs(context, jsonschema) {
|
|
65
|
+
var _jsonschema$propertie;
|
|
66
66
|
|
|
67
|
-
var
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
var keys = Object.keys((_jsonschema$propertie = jsonschema.properties) !== null && _jsonschema$propertie !== void 0 ? _jsonschema$propertie : {}); // only 1 degree $ref-lookup
|
|
68
|
+
|
|
69
|
+
if (!keys.length && jsonschema.$ref) {
|
|
70
|
+
var obj = context.refLookup(jsonschema.$ref);
|
|
71
|
+
|
|
72
|
+
if (obj) {
|
|
73
|
+
var _obj$properties;
|
|
74
|
+
|
|
75
|
+
keys = Object.keys((_obj$properties = obj.properties) !== null && _obj$properties !== void 0 ? _obj$properties : {});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
var args = keys.map(function (prop) {
|
|
72
80
|
return t.objectProperty(t.identifier(prop), t.identifier((0, _case.camel)(prop)), false, prop === (0, _case.camel)(prop));
|
|
73
81
|
});
|
|
74
|
-
|
|
82
|
+
return args;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
exports.getWasmMethodArgs = getWasmMethodArgs;
|
|
86
|
+
|
|
87
|
+
var createWasmExecMethod = function createWasmExecMethod(context, jsonschema) {
|
|
88
|
+
var underscoreName = Object.keys(jsonschema.properties)[0];
|
|
89
|
+
var methodName = (0, _case.camel)(underscoreName);
|
|
90
|
+
var obj = (0, _types2.createTypedObjectParams)(context, jsonschema.properties[underscoreName]);
|
|
91
|
+
var args = getWasmMethodArgs(context, jsonschema.properties[underscoreName]);
|
|
75
92
|
return t.classProperty(t.identifier(methodName), (0, _utils.arrowFunctionExpression)(obj ? [// props
|
|
76
|
-
obj].concat(
|
|
93
|
+
obj].concat(CONSTANT_EXEC_PARAMS) : CONSTANT_EXEC_PARAMS, t.blockStatement([t.returnStatement(t.awaitExpression(t.callExpression(t.memberExpression(t.memberExpression(t.thisExpression(), t.identifier('client')), t.identifier('execute')), [t.memberExpression(t.thisExpression(), t.identifier('sender')), t.memberExpression(t.thisExpression(), t.identifier('contractAddress')), t.objectExpression([t.objectProperty(t.identifier(underscoreName), t.objectExpression((0, _toConsumableArray2["default"])(args)))]), t.identifier('fee'), t.identifier('memo'), t.identifier('funds')])))]), // return type
|
|
77
94
|
t.tsTypeAnnotation(t.tsTypeReference(t.identifier('Promise'), t.tsTypeParameterInstantiation([t.tSTypeReference(t.identifier('ExecuteResult'))]))), true));
|
|
78
95
|
};
|
|
79
96
|
|
|
80
97
|
exports.createWasmExecMethod = createWasmExecMethod;
|
|
81
98
|
|
|
82
|
-
var createExecuteClass = function createExecuteClass(className, implementsClassName, extendsClassName, execMsg) {
|
|
99
|
+
var createExecuteClass = function createExecuteClass(context, className, implementsClassName, extendsClassName, execMsg) {
|
|
83
100
|
var propertyNames = (0, _utils.getMessageProperties)(execMsg).map(function (method) {
|
|
84
101
|
var _Object$keys2;
|
|
85
102
|
|
|
@@ -87,7 +104,7 @@ var createExecuteClass = function createExecuteClass(className, implementsClassN
|
|
|
87
104
|
}).filter(Boolean);
|
|
88
105
|
var bindings = propertyNames.map(_case.camel).map(_utils.bindMethod);
|
|
89
106
|
var methods = (0, _utils.getMessageProperties)(execMsg).map(function (schema) {
|
|
90
|
-
return createWasmExecMethod(schema);
|
|
107
|
+
return createWasmExecMethod(context, schema);
|
|
91
108
|
});
|
|
92
109
|
var blockStmt = [];
|
|
93
110
|
|
|
@@ -107,11 +124,11 @@ var createExecuteClass = function createExecuteClass(className, implementsClassN
|
|
|
107
124
|
|
|
108
125
|
exports.createExecuteClass = createExecuteClass;
|
|
109
126
|
|
|
110
|
-
var createExecuteInterface = function createExecuteInterface(className, extendsClassName, execMsg) {
|
|
127
|
+
var createExecuteInterface = function createExecuteInterface(context, className, extendsClassName, execMsg) {
|
|
111
128
|
var methods = (0, _utils.getMessageProperties)(execMsg).map(function (jsonschema) {
|
|
112
129
|
var underscoreName = Object.keys(jsonschema.properties)[0];
|
|
113
130
|
var methodName = (0, _case.camel)(underscoreName);
|
|
114
|
-
return createPropertyFunctionWithObjectParamsForExec(methodName, 'ExecuteResult', jsonschema.properties[underscoreName]);
|
|
131
|
+
return createPropertyFunctionWithObjectParamsForExec(context, methodName, 'ExecuteResult', jsonschema.properties[underscoreName]);
|
|
115
132
|
});
|
|
116
133
|
var extendsAst = extendsClassName ? [t.tSExpressionWithTypeArguments(t.identifier(extendsClassName))] : [];
|
|
117
134
|
return t.exportNamedDeclaration(t.tsInterfaceDeclaration(t.identifier(className), null, extendsAst, t.tSInterfaceBody([// contract address
|
|
@@ -121,8 +138,8 @@ var createExecuteInterface = function createExecuteInterface(className, extendsC
|
|
|
121
138
|
|
|
122
139
|
exports.createExecuteInterface = createExecuteInterface;
|
|
123
140
|
|
|
124
|
-
var createPropertyFunctionWithObjectParams = function createPropertyFunctionWithObjectParams(methodName, responseType, jsonschema) {
|
|
125
|
-
var obj = (0, _types2.createTypedObjectParams)(jsonschema);
|
|
141
|
+
var createPropertyFunctionWithObjectParams = function createPropertyFunctionWithObjectParams(context, methodName, responseType, jsonschema) {
|
|
142
|
+
var obj = (0, _types2.createTypedObjectParams)(context, jsonschema);
|
|
126
143
|
var func = {
|
|
127
144
|
type: 'TSFunctionType',
|
|
128
145
|
typeAnnotation: (0, _utils.promiseTypeAnnotation)(responseType),
|
|
@@ -133,33 +150,32 @@ var createPropertyFunctionWithObjectParams = function createPropertyFunctionWith
|
|
|
133
150
|
|
|
134
151
|
exports.createPropertyFunctionWithObjectParams = createPropertyFunctionWithObjectParams;
|
|
135
152
|
|
|
136
|
-
var createPropertyFunctionWithObjectParamsForExec = function createPropertyFunctionWithObjectParamsForExec(methodName, responseType, jsonschema) {
|
|
137
|
-
var obj = (0, _types2.createTypedObjectParams)(jsonschema);
|
|
138
|
-
var fixedParams = [(0, _babel.identifier)('fee', t.tsTypeAnnotation(t.tsUnionType([t.tsNumberKeyword(), t.tsTypeReference(t.identifier('StdFee')), t.tsLiteralType(t.stringLiteral('auto'))])), true), (0, _babel.identifier)('memo', t.tsTypeAnnotation(t.tsStringKeyword()), true), (0, _babel.identifier)('funds', t.tsTypeAnnotation((0, _babel.tsTypeOperator)(t.tsArrayType(t.tsTypeReference(t.identifier('Coin'))), 'readonly')), true)];
|
|
153
|
+
var createPropertyFunctionWithObjectParamsForExec = function createPropertyFunctionWithObjectParamsForExec(context, methodName, responseType, jsonschema) {
|
|
154
|
+
var obj = (0, _types2.createTypedObjectParams)(context, jsonschema);
|
|
139
155
|
var func = {
|
|
140
156
|
type: 'TSFunctionType',
|
|
141
157
|
typeAnnotation: (0, _utils.promiseTypeAnnotation)(responseType),
|
|
142
|
-
parameters: obj ? [obj].concat(
|
|
158
|
+
parameters: obj ? [obj].concat(FIXED_EXECUTE_PARAMS) : FIXED_EXECUTE_PARAMS
|
|
143
159
|
};
|
|
144
160
|
return t.tSPropertySignature(t.identifier(methodName), t.tsTypeAnnotation(func));
|
|
145
161
|
};
|
|
146
162
|
|
|
147
163
|
exports.createPropertyFunctionWithObjectParamsForExec = createPropertyFunctionWithObjectParamsForExec;
|
|
148
164
|
|
|
149
|
-
var createQueryInterface = function createQueryInterface(className, queryMsg) {
|
|
165
|
+
var createQueryInterface = function createQueryInterface(context, className, queryMsg) {
|
|
150
166
|
var methods = (0, _utils.getMessageProperties)(queryMsg).map(function (jsonschema) {
|
|
151
167
|
var underscoreName = Object.keys(jsonschema.properties)[0];
|
|
152
168
|
var methodName = (0, _case.camel)(underscoreName);
|
|
153
169
|
var responseType = (0, _case.pascal)("".concat(methodName, "Response"));
|
|
154
|
-
return createPropertyFunctionWithObjectParams(methodName, responseType, jsonschema.properties[underscoreName]);
|
|
170
|
+
return createPropertyFunctionWithObjectParams(context, methodName, responseType, jsonschema.properties[underscoreName]);
|
|
155
171
|
});
|
|
156
172
|
return t.exportNamedDeclaration(t.tsInterfaceDeclaration(t.identifier(className), null, [], t.tSInterfaceBody([t.tSPropertySignature(t.identifier('contractAddress'), t.tsTypeAnnotation(t.tsStringKeyword()))].concat((0, _toConsumableArray2["default"])(methods)))));
|
|
157
173
|
};
|
|
158
174
|
|
|
159
175
|
exports.createQueryInterface = createQueryInterface;
|
|
160
176
|
|
|
161
|
-
var createTypeOrInterface = function createTypeOrInterface(Type, jsonschema) {
|
|
162
|
-
var _jsonschema$
|
|
177
|
+
var createTypeOrInterface = function createTypeOrInterface(context, Type, jsonschema) {
|
|
178
|
+
var _jsonschema$propertie2;
|
|
163
179
|
|
|
164
180
|
if (jsonschema.type !== 'object') {
|
|
165
181
|
if (!jsonschema.type) {
|
|
@@ -169,8 +185,8 @@ var createTypeOrInterface = function createTypeOrInterface(Type, jsonschema) {
|
|
|
169
185
|
return t.exportNamedDeclaration(t.tsTypeAliasDeclaration(t.identifier(Type), null, (0, _types2.getType)(jsonschema.type)));
|
|
170
186
|
}
|
|
171
187
|
|
|
172
|
-
var props = Object.keys((_jsonschema$
|
|
173
|
-
var _getPropertyType = (0, _types2.getPropertyType)(jsonschema, prop),
|
|
188
|
+
var props = Object.keys((_jsonschema$propertie2 = jsonschema.properties) !== null && _jsonschema$propertie2 !== void 0 ? _jsonschema$propertie2 : {}).map(function (prop) {
|
|
189
|
+
var _getPropertyType = (0, _types2.getPropertyType)(context, jsonschema, prop),
|
|
174
190
|
type = _getPropertyType.type,
|
|
175
191
|
optional = _getPropertyType.optional;
|
|
176
192
|
|
|
@@ -181,9 +197,9 @@ var createTypeOrInterface = function createTypeOrInterface(Type, jsonschema) {
|
|
|
181
197
|
|
|
182
198
|
exports.createTypeOrInterface = createTypeOrInterface;
|
|
183
199
|
|
|
184
|
-
var createTypeInterface = function createTypeInterface(jsonschema) {
|
|
200
|
+
var createTypeInterface = function createTypeInterface(context, jsonschema) {
|
|
185
201
|
var Type = jsonschema.title;
|
|
186
|
-
return createTypeOrInterface(Type, jsonschema);
|
|
202
|
+
return createTypeOrInterface(context, Type, jsonschema);
|
|
187
203
|
};
|
|
188
204
|
|
|
189
205
|
exports.createTypeInterface = createTypeInterface;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _client = require("./client");
|
|
8
|
+
|
|
9
|
+
Object.keys(_client).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _client[key]) return;
|
|
12
|
+
Object.defineProperty(exports, key, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _client[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _arrays = _interopRequireDefault(require("../../../../../__fixtures__/misc/schema/arrays.json"));
|
|
6
|
+
|
|
7
|
+
var _client = require("../client");
|
|
8
|
+
|
|
9
|
+
var _context = require("../../context");
|
|
10
|
+
|
|
11
|
+
var _testUtils = require("../../../test-utils");
|
|
12
|
+
|
|
13
|
+
var ctx = new _context.RenderContext(_arrays["default"]);
|
|
14
|
+
it('execute_msg_for__empty', function () {
|
|
15
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _arrays["default"]));
|
|
16
|
+
});
|
|
17
|
+
it('query classes', function () {
|
|
18
|
+
(0, _testUtils.expectCode)((0, _client.createQueryClass)(ctx, 'SG721QueryClient', 'SG721ReadOnlyInstance', _arrays["default"]));
|
|
19
|
+
});
|
|
20
|
+
it('execute classes array types', function () {
|
|
21
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', null, _arrays["default"]));
|
|
22
|
+
});
|
|
23
|
+
it('execute interfaces no extends', function () {
|
|
24
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteInterface)(ctx, 'SG721Instance', null, _arrays["default"]));
|
|
25
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _execute_msg = _interopRequireDefault(require("../../../../../__fixtures__/daodao/cw-named-groups/execute_msg.json"));
|
|
6
|
+
|
|
7
|
+
var _client = require("../client");
|
|
8
|
+
|
|
9
|
+
var _context = require("../../context");
|
|
10
|
+
|
|
11
|
+
var _testUtils = require("../../../test-utils");
|
|
12
|
+
|
|
13
|
+
var ctx = new _context.RenderContext(_execute_msg["default"]);
|
|
14
|
+
it('execute_msg', function () {
|
|
15
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _execute_msg["default"]));
|
|
16
|
+
});
|
|
17
|
+
it('query classes', function () {
|
|
18
|
+
(0, _testUtils.expectCode)((0, _client.createQueryClass)(ctx, 'SG721QueryClient', 'SG721ReadOnlyInstance', _execute_msg["default"]));
|
|
19
|
+
});
|
|
20
|
+
it('execute classes array types', function () {
|
|
21
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', null, _execute_msg["default"]));
|
|
22
|
+
});
|
|
23
|
+
it('execute interfaces no extends', function () {
|
|
24
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteInterface)(ctx, 'SG721Instance', null, _execute_msg["default"]));
|
|
25
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _execute_msg = _interopRequireDefault(require("../../../../../__fixtures__/daodao/cw-proposal-single/execute_msg.json"));
|
|
6
|
+
|
|
7
|
+
var _query_msg = _interopRequireDefault(require("../../../../../__fixtures__/daodao/cw-proposal-single/query_msg.json"));
|
|
8
|
+
|
|
9
|
+
var _client = require("../client");
|
|
10
|
+
|
|
11
|
+
var _context = require("../../context");
|
|
12
|
+
|
|
13
|
+
var _testUtils = require("../../../test-utils");
|
|
14
|
+
|
|
15
|
+
it('execute_msg_for', function () {
|
|
16
|
+
var ctx = new _context.RenderContext(_execute_msg["default"]);
|
|
17
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _execute_msg["default"]));
|
|
18
|
+
});
|
|
19
|
+
it('query classes', function () {
|
|
20
|
+
var ctx = new _context.RenderContext(_query_msg["default"]);
|
|
21
|
+
(0, _testUtils.expectCode)((0, _client.createQueryClass)(ctx, 'SG721QueryClient', 'SG721ReadOnlyInstance', _query_msg["default"]));
|
|
22
|
+
});
|
|
23
|
+
it('execute classes array types', function () {
|
|
24
|
+
var ctx = new _context.RenderContext(_execute_msg["default"]);
|
|
25
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', null, _execute_msg["default"]));
|
|
26
|
+
});
|
|
27
|
+
it('execute interfaces no extends', function () {
|
|
28
|
+
var ctx = new _context.RenderContext(_execute_msg["default"]);
|
|
29
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteInterface)(ctx, 'SG721Instance', null, _execute_msg["default"]));
|
|
30
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _query_msg = _interopRequireDefault(require("../../../../../__fixtures__/daodao/cw-admin-factory/query_msg.json"));
|
|
6
|
+
|
|
7
|
+
var _client = require("../client");
|
|
8
|
+
|
|
9
|
+
var _context = require("../../context");
|
|
10
|
+
|
|
11
|
+
var _testUtils = require("../../../test-utils");
|
|
12
|
+
|
|
13
|
+
var ctx = new _context.RenderContext(_query_msg["default"]);
|
|
14
|
+
it('query classes', function () {
|
|
15
|
+
(0, _testUtils.expectCode)((0, _client.createQueryClass)(ctx, 'SG721QueryClient', 'SG721ReadOnlyInstance', _query_msg["default"]));
|
|
16
|
+
});
|
|
17
|
+
it('query interface', function () {
|
|
18
|
+
(0, _testUtils.expectCode)((0, _client.createQueryInterface)(ctx, 'ReadOnlyInstance', _query_msg["default"]));
|
|
19
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _execute_msg_for__empty = _interopRequireDefault(require("../../../../../__fixtures__/sg721/execute_msg_for__empty.json"));
|
|
6
|
+
|
|
7
|
+
var _client = require("../client");
|
|
8
|
+
|
|
9
|
+
var _context = require("../../context");
|
|
10
|
+
|
|
11
|
+
var _testUtils = require("../../../test-utils");
|
|
12
|
+
|
|
13
|
+
var ctx = new _context.RenderContext(_execute_msg_for__empty["default"]);
|
|
14
|
+
it('execute_msg_for__empty', function () {
|
|
15
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _execute_msg_for__empty["default"]));
|
|
16
|
+
});
|
|
17
|
+
it('query classes', function () {
|
|
18
|
+
(0, _testUtils.expectCode)((0, _client.createQueryClass)(ctx, 'SG721QueryClient', 'SG721ReadOnlyInstance', _execute_msg_for__empty["default"]));
|
|
19
|
+
});
|
|
20
|
+
it('execute classes array types', function () {
|
|
21
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', null, _execute_msg_for__empty["default"]));
|
|
22
|
+
});
|
|
23
|
+
it('execute interfaces no extends', function () {
|
|
24
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteInterface)(ctx, 'SG721Instance', null, _execute_msg_for__empty["default"]));
|
|
25
|
+
});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _execute_msg = _interopRequireDefault(require("../../../../../__fixtures__/daodao/cw-named-groups/execute_msg.json"));
|
|
6
|
+
|
|
7
|
+
var _query_msg = _interopRequireDefault(require("../../../../../__fixtures__/basic/query_msg.json"));
|
|
8
|
+
|
|
9
|
+
var _execute_msg_for__empty = _interopRequireDefault(require("../../../../../__fixtures__/basic/execute_msg_for__empty.json"));
|
|
10
|
+
|
|
11
|
+
var _approval_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/approval_response.json"));
|
|
12
|
+
|
|
13
|
+
var _all_nft_info_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/all_nft_info_response.json"));
|
|
14
|
+
|
|
15
|
+
var _approvals_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/approvals_response.json"));
|
|
16
|
+
|
|
17
|
+
var _collection_info_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/collection_info_response.json"));
|
|
18
|
+
|
|
19
|
+
var _contract_info_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/contract_info_response.json"));
|
|
20
|
+
|
|
21
|
+
var _instantiate_msg = _interopRequireDefault(require("../../../../../__fixtures__/basic/instantiate_msg.json"));
|
|
22
|
+
|
|
23
|
+
var _nft_info_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/nft_info_response.json"));
|
|
24
|
+
|
|
25
|
+
var _num_tokens_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/num_tokens_response.json"));
|
|
26
|
+
|
|
27
|
+
var _operators_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/operators_response.json"));
|
|
28
|
+
|
|
29
|
+
var _owner_of_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/owner_of_response.json"));
|
|
30
|
+
|
|
31
|
+
var _tokens_response = _interopRequireDefault(require("../../../../../__fixtures__/basic/tokens_response.json"));
|
|
32
|
+
|
|
33
|
+
var _client = require("../client");
|
|
34
|
+
|
|
35
|
+
var _context = require("../../context");
|
|
36
|
+
|
|
37
|
+
var _testUtils = require("../../../test-utils");
|
|
38
|
+
|
|
39
|
+
it('approval_response', function () {
|
|
40
|
+
var ctx = new _context.RenderContext(_approval_response["default"]);
|
|
41
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _approval_response["default"]));
|
|
42
|
+
});
|
|
43
|
+
it('all_nft_info_response', function () {
|
|
44
|
+
var ctx = new _context.RenderContext(_all_nft_info_response["default"]);
|
|
45
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _all_nft_info_response["default"]));
|
|
46
|
+
});
|
|
47
|
+
it('approvals_response', function () {
|
|
48
|
+
var ctx = new _context.RenderContext(_approvals_response["default"]);
|
|
49
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _approvals_response["default"]));
|
|
50
|
+
});
|
|
51
|
+
it('collection_info_response', function () {
|
|
52
|
+
var ctx = new _context.RenderContext(_collection_info_response["default"]);
|
|
53
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _collection_info_response["default"]));
|
|
54
|
+
});
|
|
55
|
+
it('contract_info_response', function () {
|
|
56
|
+
var ctx = new _context.RenderContext(_contract_info_response["default"]);
|
|
57
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _contract_info_response["default"]));
|
|
58
|
+
});
|
|
59
|
+
it('instantiate_msg', function () {
|
|
60
|
+
var ctx = new _context.RenderContext(_instantiate_msg["default"]);
|
|
61
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _instantiate_msg["default"]));
|
|
62
|
+
});
|
|
63
|
+
it('nft_info_response', function () {
|
|
64
|
+
var ctx = new _context.RenderContext(_nft_info_response["default"]);
|
|
65
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _nft_info_response["default"]));
|
|
66
|
+
});
|
|
67
|
+
it('num_tokens_response', function () {
|
|
68
|
+
var ctx = new _context.RenderContext(_num_tokens_response["default"]);
|
|
69
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _num_tokens_response["default"]));
|
|
70
|
+
});
|
|
71
|
+
it('operators_response', function () {
|
|
72
|
+
var ctx = new _context.RenderContext(_operators_response["default"]);
|
|
73
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _operators_response["default"]));
|
|
74
|
+
});
|
|
75
|
+
it('owner_of_response', function () {
|
|
76
|
+
var ctx = new _context.RenderContext(_owner_of_response["default"]);
|
|
77
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _owner_of_response["default"]));
|
|
78
|
+
});
|
|
79
|
+
it('tokens_response', function () {
|
|
80
|
+
var ctx = new _context.RenderContext(_tokens_response["default"]);
|
|
81
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, _tokens_response["default"]));
|
|
82
|
+
});
|
|
83
|
+
it('query classes', function () {
|
|
84
|
+
var ctx = new _context.RenderContext(_query_msg["default"]);
|
|
85
|
+
(0, _testUtils.expectCode)((0, _client.createQueryClass)(ctx, 'SG721QueryClient', 'SG721ReadOnlyInstance', _query_msg["default"]));
|
|
86
|
+
});
|
|
87
|
+
it('execute classes', function () {
|
|
88
|
+
var ctx = new _context.RenderContext(_execute_msg_for__empty["default"]);
|
|
89
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', 'SG721QueryClient', _execute_msg_for__empty["default"]));
|
|
90
|
+
});
|
|
91
|
+
it('execute classes no extends', function () {
|
|
92
|
+
var ctx = new _context.RenderContext(_execute_msg_for__empty["default"]);
|
|
93
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', null, _execute_msg_for__empty["default"]));
|
|
94
|
+
});
|
|
95
|
+
it('execute classes array types', function () {
|
|
96
|
+
var ctx = new _context.RenderContext(_execute_msg["default"]);
|
|
97
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', null, _execute_msg["default"]));
|
|
98
|
+
});
|
|
99
|
+
it('execute interfaces no extends', function () {
|
|
100
|
+
var ctx = new _context.RenderContext(_execute_msg_for__empty["default"]);
|
|
101
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteInterface)(ctx, 'SG721Instance', null, _execute_msg_for__empty["default"]));
|
|
102
|
+
});
|
|
103
|
+
it('query interfaces', function () {
|
|
104
|
+
var ctx = new _context.RenderContext(_query_msg["default"]);
|
|
105
|
+
(0, _testUtils.expectCode)((0, _client.createQueryInterface)(ctx, 'SG721ReadOnlyInstance', _query_msg["default"]));
|
|
106
|
+
});
|