wasm-ast-types 0.11.0 → 0.11.1
Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _accountNft = _interopRequireDefault(require("../../../../../__fixtures__/idl-version/accounts-nft/account-nft.json"));
|
6
|
+
|
7
|
+
var _client = require("../client");
|
8
|
+
|
9
|
+
var _testUtils = require("../../../test-utils");
|
10
|
+
|
11
|
+
var message = _accountNft["default"].query;
|
12
|
+
var ctx = (0, _testUtils.makeContext)(message);
|
13
|
+
it('execute_msg_for__empty', function () {
|
14
|
+
(0, _testUtils.expectCode)((0, _client.createTypeInterface)(ctx, message));
|
15
|
+
});
|
16
|
+
it('query classes', function () {
|
17
|
+
(0, _testUtils.expectCode)((0, _client.createQueryClass)(ctx, 'SG721QueryClient', 'SG721ReadOnlyInstance', message));
|
18
|
+
});
|
19
|
+
it('execute classes array types', function () {
|
20
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', null, message));
|
21
|
+
});
|
22
|
+
it('execute interfaces no extends', function () {
|
23
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteInterface)(ctx, 'SG721Instance', null, message));
|
24
|
+
});
|
package/main/utils/types.js
CHANGED
@@ -70,6 +70,12 @@ var getTypeOrRef = function getTypeOrRef(obj) {
|
|
70
70
|
};
|
71
71
|
|
72
72
|
var getArrayTypeFromItems = function getArrayTypeFromItems(items) {
|
73
|
+
// passing in [{"type":"string"}]
|
74
|
+
if (Array.isArray(items)) {
|
75
|
+
return t.tsArrayType(t.tsArrayType(getTypeOrRef(items[0])));
|
76
|
+
} // passing in {"items": [{"type":"string"}]}
|
77
|
+
|
78
|
+
|
73
79
|
var detect = detectType(items.type);
|
74
80
|
|
75
81
|
if (detect.type === 'array') {
|
@@ -193,7 +199,15 @@ var getTypeInfo = function getTypeInfo(info) {
|
|
193
199
|
|
194
200
|
optional = _detect.optional;
|
195
201
|
} else {
|
196
|
-
|
202
|
+
var _detect2 = detectType(_nullableType);
|
203
|
+
|
204
|
+
optional = _detect2.optional;
|
205
|
+
|
206
|
+
if (_detect2.type === 'array') {
|
207
|
+
type = getArrayTypeFromItems(info.items);
|
208
|
+
} else {
|
209
|
+
type = getType(_detect2.type);
|
210
|
+
}
|
197
211
|
}
|
198
212
|
|
199
213
|
optional = true;
|
@@ -322,7 +336,7 @@ function getPropertySignatureFromProp(context, jsonschema, prop, camelize) {
|
|
322
336
|
getPropertyType(context, jsonschema, prop);
|
323
337
|
} catch (e) {
|
324
338
|
console.log(e);
|
325
|
-
console.log(jsonschema, prop);
|
339
|
+
console.log(JSON.stringify(jsonschema, null, 2), prop);
|
326
340
|
}
|
327
341
|
|
328
342
|
var _getPropertyType = getPropertyType(context, jsonschema, prop),
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import contract from '../../../../../__fixtures__/idl-version/accounts-nft/account-nft.json';
|
2
|
+
import { createQueryClass, createExecuteClass, createExecuteInterface, createTypeInterface } from '../client';
|
3
|
+
import { expectCode, makeContext } from '../../../test-utils';
|
4
|
+
const message = contract.query;
|
5
|
+
const ctx = makeContext(message);
|
6
|
+
it('execute_msg_for__empty', () => {
|
7
|
+
expectCode(createTypeInterface(ctx, message));
|
8
|
+
});
|
9
|
+
it('query classes', () => {
|
10
|
+
expectCode(createQueryClass(ctx, 'SG721QueryClient', 'SG721ReadOnlyInstance', message));
|
11
|
+
});
|
12
|
+
it('execute classes array types', () => {
|
13
|
+
expectCode(createExecuteClass(ctx, 'SG721Client', 'SG721Instance', null, message));
|
14
|
+
});
|
15
|
+
it('execute interfaces no extends', () => {
|
16
|
+
expectCode(createExecuteInterface(ctx, 'SG721Instance', null, message));
|
17
|
+
});
|
package/module/utils/types.js
CHANGED
@@ -37,6 +37,12 @@ const getTypeOrRef = obj => {
|
|
37
37
|
};
|
38
38
|
|
39
39
|
const getArrayTypeFromItems = items => {
|
40
|
+
// passing in [{"type":"string"}]
|
41
|
+
if (Array.isArray(items)) {
|
42
|
+
return t.tsArrayType(t.tsArrayType(getTypeOrRef(items[0])));
|
43
|
+
} // passing in {"items": [{"type":"string"}]}
|
44
|
+
|
45
|
+
|
40
46
|
const detect = detectType(items.type);
|
41
47
|
|
42
48
|
if (detect.type === 'array') {
|
@@ -151,7 +157,14 @@ export const getTypeInfo = info => {
|
|
151
157
|
|
152
158
|
optional = detect.optional;
|
153
159
|
} else {
|
154
|
-
|
160
|
+
const detect = detectType(nullableType);
|
161
|
+
optional = detect.optional;
|
162
|
+
|
163
|
+
if (detect.type === 'array') {
|
164
|
+
type = getArrayTypeFromItems(info.items);
|
165
|
+
} else {
|
166
|
+
type = getType(detect.type);
|
167
|
+
}
|
155
168
|
}
|
156
169
|
|
157
170
|
optional = true;
|
@@ -259,7 +272,7 @@ export function getPropertySignatureFromProp(context, jsonschema, prop, camelize
|
|
259
272
|
getPropertyType(context, jsonschema, prop);
|
260
273
|
} catch (e) {
|
261
274
|
console.log(e);
|
262
|
-
console.log(jsonschema, prop);
|
275
|
+
console.log(JSON.stringify(jsonschema, null, 2), prop);
|
263
276
|
}
|
264
277
|
|
265
278
|
const {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "wasm-ast-types",
|
3
|
-
"version": "0.11.
|
3
|
+
"version": "0.11.1",
|
4
4
|
"description": "CosmWasm TypeScript AST generation",
|
5
5
|
"author": "Dan Lynch <pyramation@gmail.com>",
|
6
6
|
"homepage": "https://github.com/pyramation/cosmwasm-typescript-gen/tree/master/packages/wasm-ast-types#readme",
|
@@ -86,5 +86,5 @@
|
|
86
86
|
"case": "1.6.3",
|
87
87
|
"deepmerge": "4.2.2"
|
88
88
|
},
|
89
|
-
"gitHead": "
|
89
|
+
"gitHead": "4d6287ab9d17ea8cef91b183c00e9bae6e8529e1"
|
90
90
|
}
|