wasm-ast-types 0.4.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -4,69 +4,66 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
|
5
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
6
6
|
|
7
|
-
var _generator = _interopRequireDefault(require("@babel/generator"));
|
8
|
-
|
9
7
|
var t = _interopRequireWildcard(require("@babel/types"));
|
10
8
|
|
11
|
-
var _query_msg = _interopRequireDefault(require("
|
9
|
+
var _query_msg = _interopRequireDefault(require("../../../../__fixtures__/basic/query_msg.json"));
|
12
10
|
|
13
|
-
var
|
11
|
+
var _execute_msg_for__empty = _interopRequireDefault(require("../../../../__fixtures__/basic/execute_msg_for__empty.json"));
|
14
12
|
|
15
|
-
|
13
|
+
var _context = require("../context");
|
16
14
|
|
17
|
-
|
15
|
+
var _reactQuery = require("./react-query");
|
18
16
|
|
19
|
-
var
|
20
|
-
expect((0, _generator["default"])(ast).code).toMatchSnapshot();
|
21
|
-
};
|
17
|
+
var _testUtils = require("../../test-utils");
|
22
18
|
|
23
|
-
var
|
24
|
-
console.log((0, _generator["default"])(ast).code);
|
25
|
-
}; // it('createReactQueryHook', () => {
|
26
|
-
// printCode(createReactQueryHook({
|
27
|
-
// methodName: 'allNftInfo',
|
28
|
-
// hookName: 'useSg721AllNftInfoQuery',
|
29
|
-
// hookParamsTypeName: 'Sg721CollectionInfoQuery',
|
30
|
-
// responseType: 'AllNftInfoResponse',
|
31
|
-
// hookKeyName: 'Sg721AllNftInfo'
|
32
|
-
// }))
|
33
|
-
// });
|
19
|
+
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); }
|
34
20
|
|
21
|
+
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; }
|
35
22
|
|
23
|
+
var execCtx = new _context.RenderContext(_execute_msg_for__empty["default"]);
|
24
|
+
var queryCtx = new _context.RenderContext(_query_msg["default"]);
|
36
25
|
it('createReactQueryHooks', function () {
|
37
|
-
expectCode(t.program((0, _reactQuery.createReactQueryHooks)({
|
26
|
+
(0, _testUtils.expectCode)(t.program((0, _reactQuery.createReactQueryHooks)({
|
27
|
+
context: queryCtx,
|
38
28
|
queryMsg: _query_msg["default"],
|
39
29
|
contractName: 'Sg721',
|
40
30
|
QueryClient: 'Sg721QueryClient'
|
41
31
|
})));
|
42
|
-
expectCode(t.program((0, _reactQuery.createReactQueryHooks)({
|
32
|
+
(0, _testUtils.expectCode)(t.program((0, _reactQuery.createReactQueryHooks)({
|
33
|
+
context: new _context.RenderContext(_query_msg["default"], {
|
34
|
+
reactQuery: {
|
35
|
+
optionalClient: true
|
36
|
+
}
|
37
|
+
}),
|
43
38
|
queryMsg: _query_msg["default"],
|
44
39
|
contractName: 'Sg721',
|
45
40
|
QueryClient: 'Sg721QueryClient'
|
46
41
|
})));
|
47
|
-
expectCode(t.program((0, _reactQuery.createReactQueryHooks)({
|
42
|
+
(0, _testUtils.expectCode)(t.program((0, _reactQuery.createReactQueryHooks)({
|
43
|
+
context: new _context.RenderContext(_query_msg["default"], {
|
44
|
+
reactQuery: {
|
45
|
+
v4: true
|
46
|
+
}
|
47
|
+
}),
|
48
48
|
queryMsg: _query_msg["default"],
|
49
49
|
contractName: 'Sg721',
|
50
|
-
QueryClient: 'Sg721QueryClient'
|
51
|
-
options: {
|
52
|
-
optionalClient: true
|
53
|
-
}
|
50
|
+
QueryClient: 'Sg721QueryClient'
|
54
51
|
})));
|
55
|
-
expectCode(t.program((0, _reactQuery.createReactQueryHooks)({
|
52
|
+
(0, _testUtils.expectCode)(t.program((0, _reactQuery.createReactQueryHooks)({
|
53
|
+
context: new _context.RenderContext(_query_msg["default"], {
|
54
|
+
reactQuery: {
|
55
|
+
optionalClient: true,
|
56
|
+
v4: true
|
57
|
+
}
|
58
|
+
}),
|
56
59
|
queryMsg: _query_msg["default"],
|
57
60
|
contractName: 'Sg721',
|
58
|
-
QueryClient: 'Sg721QueryClient'
|
59
|
-
options: {
|
60
|
-
v4: true
|
61
|
-
}
|
61
|
+
QueryClient: 'Sg721QueryClient'
|
62
62
|
})));
|
63
|
-
expectCode(t.program((0, _reactQuery.
|
64
|
-
|
63
|
+
(0, _testUtils.expectCode)(t.program((0, _reactQuery.createReactQueryMutationHooks)({
|
64
|
+
context: execCtx,
|
65
|
+
execMsg: _execute_msg_for__empty["default"],
|
65
66
|
contractName: 'Sg721',
|
66
|
-
|
67
|
-
options: {
|
68
|
-
optionalClient: true,
|
69
|
-
v4: true
|
70
|
-
}
|
67
|
+
ExecuteClient: 'Sg721Client'
|
71
68
|
})));
|
72
69
|
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _recoil = require("./recoil");
|
8
|
+
|
9
|
+
Object.keys(_recoil).forEach(function (key) {
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
11
|
+
if (key in exports && exports[key] === _recoil[key]) return;
|
12
|
+
Object.defineProperty(exports, key, {
|
13
|
+
enumerable: true,
|
14
|
+
get: function get() {
|
15
|
+
return _recoil[key];
|
16
|
+
}
|
17
|
+
});
|
18
|
+
});
|
@@ -5,51 +5,32 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
6
6
|
value: true
|
7
7
|
});
|
8
|
-
exports.
|
8
|
+
exports.createRecoilSelectors = exports.createRecoilSelector = exports.createRecoilQueryClientType = exports.createRecoilQueryClient = void 0;
|
9
9
|
|
10
10
|
var t = _interopRequireWildcard(require("@babel/types"));
|
11
11
|
|
12
12
|
var _case = require("case");
|
13
13
|
|
14
|
-
var _utils = require("
|
14
|
+
var _utils = require("../utils");
|
15
15
|
|
16
16
|
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); }
|
17
17
|
|
18
18
|
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; }
|
19
19
|
|
20
|
-
var
|
21
|
-
var _jsonschema$propertie;
|
22
|
-
|
23
|
-
var underscoreName = Object.keys(jsonschema.properties)[0];
|
24
|
-
var methodName = (0, _case.camel)(underscoreName);
|
25
|
-
var responseType = (0, _case.pascal)("".concat(methodName, "Response"));
|
26
|
-
var properties = (_jsonschema$propertie = jsonschema.properties[underscoreName].properties) !== null && _jsonschema$propertie !== void 0 ? _jsonschema$propertie : {};
|
27
|
-
|
28
|
-
if (Object.keys(properties).length > 0) {} else {}
|
29
|
-
};
|
30
|
-
|
31
|
-
exports.createWasmRecoilMethod = createWasmRecoilMethod;
|
32
|
-
|
33
|
-
var createRecoilSelector = function createRecoilSelector(keyPrefix, QueryClient, methodName) {
|
34
|
-
// const propertyNames = getMessageProperties(queryMsg)
|
35
|
-
// .map(method => Object.keys(method.properties)?.[0])
|
36
|
-
// .filter(Boolean);
|
37
|
-
// const methods = getMessageProperties(queryMsg)
|
38
|
-
// .map(schema => createWasmRecoilMethod(schema))
|
20
|
+
var createRecoilSelector = function createRecoilSelector(context, keyPrefix, QueryClient, methodName) {
|
39
21
|
var selectorName = (0, _case.camel)("".concat(methodName, "Selector"));
|
40
22
|
var responseType = (0, _case.pascal)("".concat(methodName, "Response"));
|
41
23
|
var getterKey = (0, _case.camel)("".concat(keyPrefix).concat((0, _case.pascal)(methodName)));
|
42
|
-
return t.exportNamedDeclaration(t.variableDeclaration('const', [t.variableDeclarator(t.identifier(selectorName), (0, _utils.callExpression)(t.identifier('selectorFamily'), [t.objectExpression([t.objectProperty(t.identifier('key'), t.stringLiteral(getterKey)), t.objectProperty(t.identifier('get'), t.arrowFunctionExpression([t.objectPattern([t.objectProperty(t.identifier('params'), t.identifier('params'), false, true), t.restElement(t.identifier('queryClientParams'))])], t.arrowFunctionExpression([t.objectPattern([t.objectProperty(t.identifier('get'), t.identifier('get'), false, true)])], t.blockStatement([t.variableDeclaration('const', [t.variableDeclarator(t.identifier('client'), t.callExpression(t.identifier('get'), [t.callExpression(t.identifier('queryClient'), [t.identifier('queryClientParams')])]))]), t.returnStatement(t.awaitExpression(t.callExpression(t.memberExpression(t.identifier('client'), t.identifier(methodName)), [
|
43
|
-
t.spreadElement(t.identifier('params'))])))]), true)))])], t.tsTypeParameterInstantiation([t.tsTypeReference(t.identifier(responseType)), t.tsIntersectionType([t.tsTypeReference(t.identifier('QueryClientParams')), t.tsTypeLiteral([t.tsPropertySignature(t.identifier('params'), t.tsTypeAnnotation(t.tsTypeReference(t.identifier('Parameters'), t.tsTypeParameterInstantiation([t.tsIndexedAccessType(t.tsTypeReference(t.identifier(QueryClient)), t.tsLiteralType(t.stringLiteral(methodName)))]))))])])])))]));
|
24
|
+
return t.exportNamedDeclaration(t.variableDeclaration('const', [t.variableDeclarator(t.identifier(selectorName), (0, _utils.callExpression)(t.identifier('selectorFamily'), [t.objectExpression([t.objectProperty(t.identifier('key'), t.stringLiteral(getterKey)), t.objectProperty(t.identifier('get'), t.arrowFunctionExpression([t.objectPattern([t.objectProperty(t.identifier('params'), t.identifier('params'), false, true), t.restElement(t.identifier('queryClientParams'))])], t.arrowFunctionExpression([t.objectPattern([t.objectProperty(t.identifier('get'), t.identifier('get'), false, true)])], t.blockStatement([t.variableDeclaration('const', [t.variableDeclarator(t.identifier('client'), t.callExpression(t.identifier('get'), [t.callExpression(t.identifier('queryClient'), [t.identifier('queryClientParams')])]))]), t.returnStatement(t.awaitExpression(t.callExpression(t.memberExpression(t.identifier('client'), t.identifier(methodName)), [t.spreadElement(t.identifier('params'))])))]), true)))])], t.tsTypeParameterInstantiation([t.tsTypeReference(t.identifier(responseType)), t.tsIntersectionType([t.tsTypeReference(t.identifier('QueryClientParams')), t.tsTypeLiteral([t.tsPropertySignature(t.identifier('params'), t.tsTypeAnnotation(t.tsTypeReference(t.identifier('Parameters'), t.tsTypeParameterInstantiation([t.tsIndexedAccessType(t.tsTypeReference(t.identifier(QueryClient)), t.tsLiteralType(t.stringLiteral(methodName)))]))))])])])))]));
|
44
25
|
};
|
45
26
|
|
46
27
|
exports.createRecoilSelector = createRecoilSelector;
|
47
28
|
|
48
|
-
var createRecoilSelectors = function createRecoilSelectors(keyPrefix, QueryClient, queryMsg) {
|
29
|
+
var createRecoilSelectors = function createRecoilSelectors(context, keyPrefix, QueryClient, queryMsg) {
|
49
30
|
return (0, _utils.getMessageProperties)(queryMsg).map(function (schema) {
|
50
31
|
var underscoreName = Object.keys(schema.properties)[0];
|
51
32
|
var methodName = (0, _case.camel)(underscoreName);
|
52
|
-
return createRecoilSelector(keyPrefix, QueryClient, methodName);
|
33
|
+
return createRecoilSelector(context, keyPrefix, QueryClient, methodName);
|
53
34
|
});
|
54
35
|
};
|
55
36
|
|
@@ -84,7 +65,7 @@ var createRecoilQueryClientType = function createRecoilQueryClientType() {
|
|
84
65
|
|
85
66
|
exports.createRecoilQueryClientType = createRecoilQueryClientType;
|
86
67
|
|
87
|
-
var createRecoilQueryClient = function createRecoilQueryClient(keyPrefix, QueryClient) {
|
68
|
+
var createRecoilQueryClient = function createRecoilQueryClient(context, keyPrefix, QueryClient) {
|
88
69
|
var getterKey = (0, _case.camel)("".concat(keyPrefix, 'QueryClient'));
|
89
70
|
return t.exportNamedDeclaration(t.variableDeclaration('const', [t.variableDeclarator(t.identifier('queryClient'), (0, _utils.callExpression)(t.identifier('selectorFamily'), [t.objectExpression([t.objectProperty(t.identifier('key'), t.stringLiteral(getterKey)), t.objectProperty(t.identifier('get'), t.arrowFunctionExpression([t.objectPattern([t.objectProperty(t.identifier('contractAddress'), t.identifier('contractAddress'), false, true)])], t.arrowFunctionExpression([t.objectPattern([t.objectProperty(t.identifier('get'), t.identifier('get'), false, true)])], t.blockStatement([t.variableDeclaration('const', [t.variableDeclarator(t.identifier('client'), t.callExpression(t.identifier('get'), [t.identifier('cosmWasmClient')]))]), t.returnStatement(t.newExpression(t.identifier(QueryClient), [t.identifier('client'), t.identifier('contractAddress')]))]), false)))])], t.tsTypeParameterInstantiation([t.tsTypeReference(t.identifier(QueryClient)), t.tsTypeReference(t.identifier('QueryClientParams'))])))]));
|
90
71
|
};
|
@@ -4,32 +4,27 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
|
5
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
6
6
|
|
7
|
-
var _generator = _interopRequireDefault(require("@babel/generator"));
|
8
|
-
|
9
7
|
var t = _interopRequireWildcard(require("@babel/types"));
|
10
8
|
|
11
|
-
var _query_msg = _interopRequireDefault(require("
|
9
|
+
var _query_msg = _interopRequireDefault(require("../../../../__fixtures__/basic/query_msg.json"));
|
12
10
|
|
13
11
|
var _recoil = require("./recoil");
|
14
12
|
|
15
|
-
|
13
|
+
var _context = require("../context");
|
16
14
|
|
17
|
-
|
15
|
+
var _testUtils = require("../../test-utils");
|
18
16
|
|
19
|
-
var
|
20
|
-
expect((0, _generator["default"])(ast).code).toMatchSnapshot();
|
21
|
-
};
|
17
|
+
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); }
|
22
18
|
|
23
|
-
var
|
24
|
-
console.log((0, _generator["default"])(ast).code);
|
25
|
-
};
|
19
|
+
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; }
|
26
20
|
|
21
|
+
var ctx = new _context.RenderContext(_query_msg["default"]);
|
27
22
|
it('selector', function () {
|
28
|
-
expectCode((0, _recoil.createRecoilSelector)('SG721', 'SG721QueryClient', 'governanceModules'));
|
23
|
+
(0, _testUtils.expectCode)((0, _recoil.createRecoilSelector)(ctx, 'SG721', 'SG721QueryClient', 'governanceModules'));
|
29
24
|
});
|
30
25
|
it('selectors', function () {
|
31
|
-
expectCode(t.program((0, _recoil.createRecoilSelectors)('SG721', 'SG721QueryClient', _query_msg["default"])));
|
26
|
+
(0, _testUtils.expectCode)(t.program((0, _recoil.createRecoilSelectors)(ctx, 'SG721', 'SG721QueryClient', _query_msg["default"])));
|
32
27
|
});
|
33
28
|
it('client', function () {
|
34
|
-
expectCode((0, _recoil.createRecoilQueryClient)('SG721', 'SG721QueryClient'));
|
29
|
+
(0, _testUtils.expectCode)((0, _recoil.createRecoilQueryClient)(ctx, 'SG721', 'SG721QueryClient'));
|
35
30
|
});
|
package/main/utils/babel.js
CHANGED
@@ -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.typedIdentifier = exports.typeRefOrOptionalUnion = exports.tsTypeOperator = exports.tsPropertySignature = exports.tsObjectPattern = exports.shorthandProperty = exports.recursiveNamespace = exports.propertySignature = exports.promiseTypeAnnotation = exports.optionalConditionalExpression = exports.memberExpressionOrIdentifierSnake = exports.memberExpressionOrIdentifier = exports.importStmt = exports.importAminoMsg = exports.identifier = exports.getMessageProperties = exports.getFieldDimensionality = exports.classProperty = exports.classDeclaration = exports.callExpression = exports.bindMethod = exports.arrowFunctionExpression = exports.arrayTypeNDimensions = exports.FieldTypeAsts = void 0;
|
10
|
+
exports.typedIdentifier = exports.typeRefOrOptionalUnion = exports.tsTypeOperator = exports.tsPropertySignature = exports.tsObjectPattern = exports.shorthandProperty = exports.recursiveNamespace = exports.propertySignature = exports.promiseTypeAnnotation = exports.pickTypeReference = exports.parameterizedTypeReference = exports.optionalConditionalExpression = exports.omitTypeReference = exports.memberExpressionOrIdentifierSnake = exports.memberExpressionOrIdentifier = exports.importStmt = exports.importAminoMsg = exports.identifier = exports.getMessageProperties = exports.getFieldDimensionality = exports.classProperty = exports.classDeclaration = exports.callExpression = exports.bindMethod = exports.arrowFunctionExpression = exports.arrayTypeNDimensions = exports.FieldTypeAsts = void 0;
|
11
11
|
|
12
12
|
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
|
13
13
|
|
@@ -21,6 +21,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
21
21
|
|
22
22
|
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; }
|
23
23
|
|
24
|
+
// t.TSPropertySignature - kind?
|
24
25
|
var propertySignature = function propertySignature(name, typeAnnotation) {
|
25
26
|
var optional = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
26
27
|
return {
|
@@ -279,4 +280,29 @@ var typeRefOrOptionalUnion = function typeRefOrOptionalUnion(identifier) {
|
|
279
280
|
return optional ? t.tsUnionType([typeReference, t.tsUndefinedKeyword()]) : typeReference;
|
280
281
|
};
|
281
282
|
|
282
|
-
exports.typeRefOrOptionalUnion = typeRefOrOptionalUnion;
|
283
|
+
exports.typeRefOrOptionalUnion = typeRefOrOptionalUnion;
|
284
|
+
|
285
|
+
var parameterizedTypeReference = function parameterizedTypeReference(identifier, from, omit) {
|
286
|
+
return t.tsTypeReference(t.identifier(identifier), t.tsTypeParameterInstantiation([from, typeof omit === 'string' ? t.tsLiteralType(t.stringLiteral(omit)) : t.tsUnionType(omit.map(function (o) {
|
287
|
+
return t.tsLiteralType(t.stringLiteral(o));
|
288
|
+
}))]));
|
289
|
+
};
|
290
|
+
/**
|
291
|
+
* omitTypeReference(t.tsTypeReference(t.identifier('Cw4UpdateMembersMutation'),),'args').....
|
292
|
+
* Omit<Cw4UpdateMembersMutation, 'args'>
|
293
|
+
*/
|
294
|
+
|
295
|
+
|
296
|
+
exports.parameterizedTypeReference = parameterizedTypeReference;
|
297
|
+
|
298
|
+
var omitTypeReference = function omitTypeReference(from, omit) {
|
299
|
+
return parameterizedTypeReference('Omit', from, omit);
|
300
|
+
};
|
301
|
+
|
302
|
+
exports.omitTypeReference = omitTypeReference;
|
303
|
+
|
304
|
+
var pickTypeReference = function pickTypeReference(from, pick) {
|
305
|
+
return parameterizedTypeReference('Pick', from, pick);
|
306
|
+
};
|
307
|
+
|
308
|
+
exports.pickTypeReference = pickTypeReference;
|
package/main/utils/babel.spec.js
CHANGED
@@ -10,28 +10,20 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
10
10
|
|
11
11
|
var _babel = require("./babel");
|
12
12
|
|
13
|
-
var _generator = _interopRequireDefault(require("@babel/generator"));
|
14
|
-
|
15
13
|
var t = _interopRequireWildcard(require("@babel/types"));
|
16
14
|
|
15
|
+
var _testUtils = require("../../test-utils");
|
16
|
+
|
17
17
|
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); }
|
18
18
|
|
19
19
|
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; }
|
20
20
|
|
21
|
-
var expectCode = function expectCode(ast) {
|
22
|
-
expect((0, _generator["default"])(ast).code).toMatchSnapshot();
|
23
|
-
};
|
24
|
-
|
25
|
-
var printCode = function printCode(ast) {
|
26
|
-
console.log((0, _generator["default"])(ast).code);
|
27
|
-
};
|
28
|
-
|
29
21
|
it('top import', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
30
22
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
31
23
|
while (1) {
|
32
24
|
switch (_context.prev = _context.next) {
|
33
25
|
case 0:
|
34
|
-
expectCode((0, _babel.importStmt)(['CosmWasmClient', 'ExecuteResult', 'SigningCosmWasmClient'], '@cosmjs/cosmwasm-stargate'));
|
26
|
+
(0, _testUtils.expectCode)((0, _babel.importStmt)(['CosmWasmClient', 'ExecuteResult', 'SigningCosmWasmClient'], '@cosmjs/cosmwasm-stargate'));
|
35
27
|
|
36
28
|
case 1:
|
37
29
|
case "end":
|
@@ -45,7 +37,7 @@ it('interfaces', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_
|
|
45
37
|
while (1) {
|
46
38
|
switch (_context2.prev = _context2.next) {
|
47
39
|
case 0:
|
48
|
-
expectCode(t.program([t.exportNamedDeclaration(t.tsInterfaceDeclaration(t.identifier('SG721ReadOnlyInstance'), null, [], t.tSInterfaceBody([t.tSPropertySignature(t.identifier('contractAddress'), t.tsTypeAnnotation(t.tsStringKeyword())), // methods
|
40
|
+
(0, _testUtils.expectCode)(t.program([t.exportNamedDeclaration(t.tsInterfaceDeclaration(t.identifier('SG721ReadOnlyInstance'), null, [], t.tSInterfaceBody([t.tSPropertySignature(t.identifier('contractAddress'), t.tsTypeAnnotation(t.tsStringKeyword())), // methods
|
49
41
|
t.tSPropertySignature(t.identifier('tokens'), t.tsTypeAnnotation(t.tsFunctionType(null, [(0, _babel.typedIdentifier)('owner', t.tsTypeAnnotation(t.tsStringKeyword())), (0, _babel.typedIdentifier)('startAfter', t.tsTypeAnnotation(t.tsStringKeyword()), true), (0, _babel.typedIdentifier)('limit', t.tsTypeAnnotation(t.tsStringKeyword()), true)], (0, _babel.promiseTypeAnnotation)('TokensResponse'))))]))), // extends
|
50
42
|
t.exportNamedDeclaration(t.tsInterfaceDeclaration(t.identifier('SG721Instance'), null, [t.tSExpressionWithTypeArguments(t.identifier('SG721ReadOnlyInstance'))], t.tSInterfaceBody([// contract address
|
51
43
|
t.tSPropertySignature(t.identifier('contractAddress'), t.tsTypeAnnotation(t.tsStringKeyword())), // METHOD
|
@@ -63,7 +55,7 @@ it('readonly classes', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PUR
|
|
63
55
|
while (1) {
|
64
56
|
switch (_context3.prev = _context3.next) {
|
65
57
|
case 0:
|
66
|
-
expectCode(t.program([t.exportNamedDeclaration((0, _babel.classDeclaration)('SG721QueryClient', [// client
|
58
|
+
(0, _testUtils.expectCode)(t.program([t.exportNamedDeclaration((0, _babel.classDeclaration)('SG721QueryClient', [// client
|
67
59
|
(0, _babel.classProperty)('client', t.tsTypeAnnotation(t.tsTypeReference(t.identifier('CosmWasmClient')))), // contractAddress
|
68
60
|
(0, _babel.classProperty)('contractAddress', t.tsTypeAnnotation(t.tsStringKeyword())), // constructor
|
69
61
|
t.classMethod('constructor', t.identifier('constructor'), [(0, _babel.typedIdentifier)('client', t.tsTypeAnnotation(t.tsTypeReference(t.identifier('CosmWasmClient')))), (0, _babel.typedIdentifier)('contractAddress', t.tsTypeAnnotation(t.tsStringKeyword()))], t.blockStatement([// client/contract set
|
@@ -86,7 +78,7 @@ it('mutation classes', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PUR
|
|
86
78
|
while (1) {
|
87
79
|
switch (_context4.prev = _context4.next) {
|
88
80
|
case 0:
|
89
|
-
expectCode(t.program([t.exportNamedDeclaration((0, _babel.classDeclaration)('SG721Client', [// client
|
81
|
+
(0, _testUtils.expectCode)(t.program([t.exportNamedDeclaration((0, _babel.classDeclaration)('SG721Client', [// client
|
90
82
|
(0, _babel.classProperty)('client', t.tsTypeAnnotation(t.tsTypeReference(t.identifier('SigningCosmWasmClient')))), // contractAddress
|
91
83
|
(0, _babel.classProperty)('contractAddress', t.tsTypeAnnotation(t.tsStringKeyword())), // constructor
|
92
84
|
t.classMethod('constructor', t.identifier('constructor'), [(0, _babel.typedIdentifier)('client', t.tsTypeAnnotation(t.tsTypeReference(t.identifier('SigningCosmWasmClient')))), (0, _babel.typedIdentifier)('contractAddress', t.tsTypeAnnotation(t.tsStringKeyword()))], t.blockStatement([// super()
|
@@ -107,6 +99,6 @@ it('mutation classes', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PUR
|
|
107
99
|
it('object parms', function () {
|
108
100
|
var obj = t.objectPattern([t.objectProperty(t.identifier('includeExpired'), t.identifier('includeExpired'), false, true), t.objectProperty(t.identifier('tokenId'), t.identifier('tokenId'), false, true)]);
|
109
101
|
obj.typeAnnotation = t.tsTypeAnnotation(t.tsTypeLiteral([t.tsPropertySignature(t.identifier('includeExpired'), t.tsTypeAnnotation(t.tsBooleanKeyword())), t.tsPropertySignature(t.identifier('tokenId'), t.tsTypeAnnotation(t.tsStringKeyword()))]));
|
110
|
-
expectCode(t.program([t.expressionStatement(t.assignmentExpression('=', t.identifier('ownerOf'), (0, _babel.arrowFunctionExpression)([obj], t.blockStatement([// body
|
102
|
+
(0, _testUtils.expectCode)(t.program([t.expressionStatement(t.assignmentExpression('=', t.identifier('ownerOf'), (0, _babel.arrowFunctionExpression)([obj], t.blockStatement([// body
|
111
103
|
], []), t.tsTypeAnnotation(t.tsTypeReference(t.identifier('Promise'), t.tsTypeParameterInstantiation([t.tsTypeReference(t.identifier('OwnerOfResponse'))]))))))]));
|
112
104
|
});
|
package/main/utils/index.js
CHANGED
@@ -15,4 +15,17 @@ Object.keys(_babel).forEach(function (key) {
|
|
15
15
|
return _babel[key];
|
16
16
|
}
|
17
17
|
});
|
18
|
+
});
|
19
|
+
|
20
|
+
var _types = require("./types");
|
21
|
+
|
22
|
+
Object.keys(_types).forEach(function (key) {
|
23
|
+
if (key === "default" || key === "__esModule") return;
|
24
|
+
if (key in exports && exports[key] === _types[key]) return;
|
25
|
+
Object.defineProperty(exports, key, {
|
26
|
+
enumerable: true,
|
27
|
+
get: function get() {
|
28
|
+
return _types[key];
|
29
|
+
}
|
30
|
+
});
|
18
31
|
});
|
package/main/utils/types.js
CHANGED
@@ -7,7 +7,9 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
8
8
|
value: true
|
9
9
|
});
|
10
|
-
exports.
|
10
|
+
exports.getParamsTypeAnnotation = exports.createTypedObjectParams = void 0;
|
11
|
+
exports.getPropertySignatureFromProp = getPropertySignatureFromProp;
|
12
|
+
exports.getTypeFromRef = exports.getType = exports.getPropertyType = void 0;
|
11
13
|
|
12
14
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
13
15
|
|
@@ -24,33 +26,19 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
24
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; }
|
25
27
|
|
26
28
|
var getTypeStrFromRef = function getTypeStrFromRef($ref) {
|
27
|
-
|
28
|
-
|
29
|
-
return 'Binary';
|
30
|
-
|
31
|
-
default:
|
32
|
-
if ($ref !== null && $ref !== void 0 && $ref.startsWith('#/definitions/')) {
|
33
|
-
return $ref.replace('#/definitions/', '');
|
34
|
-
}
|
35
|
-
|
36
|
-
throw new Error('what is $ref: ' + $ref);
|
29
|
+
if ($ref !== null && $ref !== void 0 && $ref.startsWith('#/definitions/')) {
|
30
|
+
return $ref.replace('#/definitions/', '');
|
37
31
|
}
|
32
|
+
|
33
|
+
throw new Error('what is $ref: ' + $ref);
|
38
34
|
};
|
39
35
|
|
40
36
|
var getTypeFromRef = function getTypeFromRef($ref) {
|
41
|
-
|
42
|
-
case '#/definitions/Binary':
|
43
|
-
return t.tsTypeReference(t.identifier('Binary'));
|
44
|
-
|
45
|
-
default:
|
46
|
-
if ($ref !== null && $ref !== void 0 && $ref.startsWith('#/definitions/')) {
|
47
|
-
return t.tsTypeReference(t.identifier($ref.replace('#/definitions/', '')));
|
48
|
-
}
|
49
|
-
|
50
|
-
throw new Error('what is $ref: ' + $ref);
|
51
|
-
}
|
37
|
+
return t.tsTypeReference(t.identifier(getTypeStrFromRef($ref)));
|
52
38
|
};
|
53
39
|
|
40
|
+
exports.getTypeFromRef = getTypeFromRef;
|
41
|
+
|
54
42
|
var getArrayTypeFromRef = function getArrayTypeFromRef($ref) {
|
55
43
|
return t.tsArrayType(getTypeFromRef($ref));
|
56
44
|
};
|
@@ -85,7 +73,7 @@ var getType = function getType(type) {
|
|
85
73
|
|
86
74
|
exports.getType = getType;
|
87
75
|
|
88
|
-
var getPropertyType = function getPropertyType(schema, prop) {
|
76
|
+
var getPropertyType = function getPropertyType(context, schema, prop) {
|
89
77
|
var _schema$properties, _schema$required, _schema$required2;
|
90
78
|
|
91
79
|
var props = (_schema$properties = schema.properties) !== null && _schema$properties !== void 0 ? _schema$properties : {};
|
@@ -183,79 +171,113 @@ var getPropertyType = function getPropertyType(schema, prop) {
|
|
183
171
|
|
184
172
|
exports.getPropertyType = getPropertyType;
|
185
173
|
|
186
|
-
|
174
|
+
function getPropertySignatureFromProp(context, jsonschema, prop, camelize) {
|
175
|
+
if (jsonschema.properties[prop].type === 'object') {
|
176
|
+
if (jsonschema.properties[prop].title) {
|
177
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsTypeReference(t.identifier(jsonschema.properties[prop].title))));
|
178
|
+
} else {
|
179
|
+
throw new Error('createTypedObjectParams() contact maintainer');
|
180
|
+
}
|
181
|
+
}
|
182
|
+
|
183
|
+
if (Array.isArray(jsonschema.properties[prop].allOf)) {
|
184
|
+
var _jsonschema$required;
|
185
|
+
|
186
|
+
var isOptional = !((_jsonschema$required = jsonschema.required) !== null && _jsonschema$required !== void 0 && _jsonschema$required.includes(prop));
|
187
|
+
var unionTypes = jsonschema.properties[prop].allOf.map(function (el) {
|
188
|
+
if (el.title) return el.title;
|
189
|
+
if (el.$ref) return getTypeStrFromRef(el.$ref);
|
190
|
+
return el.type;
|
191
|
+
});
|
192
|
+
var uniqUnionTypes = (0, _toConsumableArray2["default"])(new Set(unionTypes));
|
193
|
+
|
194
|
+
if (uniqUnionTypes.length === 1) {
|
195
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsTypeReference(t.identifier(uniqUnionTypes[0]))), isOptional);
|
196
|
+
} else {
|
197
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsUnionType(uniqUnionTypes.map(function (typ) {
|
198
|
+
return t.tsTypeReference(t.identifier(typ));
|
199
|
+
}))), isOptional);
|
200
|
+
}
|
201
|
+
} else if (Array.isArray(jsonschema.properties[prop].oneOf)) {
|
202
|
+
var _jsonschema$required2;
|
203
|
+
|
204
|
+
var _isOptional = !((_jsonschema$required2 = jsonschema.required) !== null && _jsonschema$required2 !== void 0 && _jsonschema$required2.includes(prop));
|
205
|
+
|
206
|
+
var _unionTypes = jsonschema.properties[prop].oneOf.map(function (el) {
|
207
|
+
if (el.title) return el.title;
|
208
|
+
if (el.$ref) return getTypeStrFromRef(el.$ref);
|
209
|
+
return el.type;
|
210
|
+
});
|
211
|
+
|
212
|
+
var _uniqUnionTypes = (0, _toConsumableArray2["default"])(new Set(_unionTypes));
|
213
|
+
|
214
|
+
if (_uniqUnionTypes.length === 1) {
|
215
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsTypeReference(t.identifier(_uniqUnionTypes[0]))), _isOptional);
|
216
|
+
} else {
|
217
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsUnionType(_uniqUnionTypes.map(function (typ) {
|
218
|
+
return t.tsTypeReference(t.identifier(typ));
|
219
|
+
}))), _isOptional);
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
223
|
+
try {
|
224
|
+
getPropertyType(context, jsonschema, prop);
|
225
|
+
} catch (e) {
|
226
|
+
console.log(e);
|
227
|
+
console.log(jsonschema, prop);
|
228
|
+
}
|
229
|
+
|
230
|
+
var _getPropertyType = getPropertyType(context, jsonschema, prop),
|
231
|
+
type = _getPropertyType.type,
|
232
|
+
optional = _getPropertyType.optional;
|
233
|
+
|
234
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(type), optional);
|
235
|
+
}
|
236
|
+
|
237
|
+
var getParamsTypeAnnotation = function getParamsTypeAnnotation(context, jsonschema) {
|
187
238
|
var _jsonschema$propertie;
|
188
239
|
|
189
|
-
var camelize = arguments.length >
|
240
|
+
var camelize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
190
241
|
var keys = Object.keys((_jsonschema$propertie = jsonschema.properties) !== null && _jsonschema$propertie !== void 0 ? _jsonschema$propertie : {});
|
191
|
-
if (!keys.length) return;
|
192
|
-
var typedParams = keys.map(function (prop) {
|
193
|
-
if (jsonschema.properties[prop].type === 'object') {
|
194
|
-
if (jsonschema.properties[prop].title) {
|
195
|
-
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsTypeReference(t.identifier(jsonschema.properties[prop].title))));
|
196
|
-
} else {
|
197
|
-
throw new Error('createTypedObjectParams() contact maintainer');
|
198
|
-
}
|
199
|
-
}
|
200
242
|
|
201
|
-
|
202
|
-
|
243
|
+
if (!keys.length && jsonschema.$ref) {
|
244
|
+
return t.tsTypeAnnotation(getTypeFromRef(jsonschema.$ref));
|
245
|
+
}
|
203
246
|
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
var uniqUnionTypes = (0, _toConsumableArray2["default"])(new Set(unionTypes));
|
247
|
+
if (!keys.length) return undefined;
|
248
|
+
var typedParams = keys.map(function (prop) {
|
249
|
+
return getPropertySignatureFromProp(context, jsonschema, prop, camelize);
|
250
|
+
});
|
251
|
+
return t.tsTypeAnnotation(t.tsTypeLiteral((0, _toConsumableArray2["default"])(typedParams)));
|
252
|
+
};
|
211
253
|
|
212
|
-
|
213
|
-
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsTypeReference(t.identifier(uniqUnionTypes[0]))), isOptional);
|
214
|
-
} else {
|
215
|
-
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsUnionType(uniqUnionTypes.map(function (typ) {
|
216
|
-
return t.tsTypeReference(t.identifier(typ));
|
217
|
-
}))), isOptional);
|
218
|
-
}
|
219
|
-
} else if (Array.isArray(jsonschema.properties[prop].oneOf)) {
|
220
|
-
var _jsonschema$required2;
|
254
|
+
exports.getParamsTypeAnnotation = getParamsTypeAnnotation;
|
221
255
|
|
222
|
-
|
256
|
+
var createTypedObjectParams = function createTypedObjectParams(context, jsonschema) {
|
257
|
+
var _jsonschema$propertie2;
|
223
258
|
|
224
|
-
|
225
|
-
|
226
|
-
if (el.$ref) return getTypeStrFromRef(el.$ref);
|
227
|
-
return el.type;
|
228
|
-
});
|
259
|
+
var camelize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
260
|
+
var keys = Object.keys((_jsonschema$propertie2 = jsonschema.properties) !== null && _jsonschema$propertie2 !== void 0 ? _jsonschema$propertie2 : {});
|
229
261
|
|
230
|
-
|
262
|
+
if (!keys.length) {
|
263
|
+
// is there a ref?
|
264
|
+
if (jsonschema.$ref) {
|
265
|
+
var _obj = context.refLookup(jsonschema.$ref);
|
231
266
|
|
232
|
-
if (
|
233
|
-
return (
|
234
|
-
} else {
|
235
|
-
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsUnionType(_uniqUnionTypes.map(function (typ) {
|
236
|
-
return t.tsTypeReference(t.identifier(typ));
|
237
|
-
}))), _isOptional);
|
267
|
+
if (_obj) {
|
268
|
+
return createTypedObjectParams(context, _obj, camelize);
|
238
269
|
}
|
239
|
-
}
|
270
|
+
} // no results...
|
240
271
|
|
241
|
-
try {
|
242
|
-
getPropertyType(jsonschema, prop);
|
243
|
-
} catch (e) {
|
244
|
-
console.log(e);
|
245
|
-
console.log(jsonschema, prop);
|
246
|
-
}
|
247
272
|
|
248
|
-
|
249
|
-
|
250
|
-
optional = _getPropertyType.optional;
|
273
|
+
return;
|
274
|
+
}
|
251
275
|
|
252
|
-
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(type), optional);
|
253
|
-
});
|
254
276
|
var params = keys.map(function (prop) {
|
255
277
|
return t.objectProperty(camelize ? t.identifier((0, _case.camel)(prop)) : t.identifier(prop), camelize ? t.identifier((0, _case.camel)(prop)) : t.identifier(prop), false, true);
|
256
278
|
});
|
257
279
|
var obj = t.objectPattern((0, _toConsumableArray2["default"])(params));
|
258
|
-
obj.typeAnnotation =
|
280
|
+
obj.typeAnnotation = getParamsTypeAnnotation(context, jsonschema, camelize);
|
259
281
|
return obj;
|
260
282
|
};
|
261
283
|
|