wasm-ast-types 0.18.1 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- package/main/client/test/ts-client.issue-98.test.js +30 -0
- package/main/context/context.js +59 -13
- package/main/context/imports.js +37 -15
- package/main/index.js +13 -0
- package/main/msg-builder/index.js +18 -0
- package/main/msg-builder/msg-builder.js +54 -0
- package/main/msg-builder/msg-builder.spec.js +20 -0
- package/main/utils/babel.js +56 -5
- package/main/utils/index.js +13 -0
- package/main/utils/ref.js +15 -0
- package/main/utils/types.js +1 -1
- package/module/client/test/ts-client.issue-98.test.js +23 -0
- package/module/context/context.js +29 -6
- package/module/context/imports.js +33 -14
- package/module/index.js +2 -1
- package/module/msg-builder/index.js +1 -0
- package/module/msg-builder/msg-builder.js +33 -0
- package/module/msg-builder/msg-builder.spec.js +12 -0
- package/module/utils/babel.js +31 -5
- package/module/utils/index.js +2 -1
- package/module/utils/ref.js +4 -0
- package/module/utils/types.js +1 -1
- package/package.json +2 -2
- package/src/client/test/__snapshots__/ts-client.issue-98.test.ts.snap +117 -0
- package/src/client/test/__snapshots__/ts-client.wager.spec.ts.snap +1 -1
- package/src/client/test/ts-client.issue-98.test.ts +55 -0
- package/src/context/context.ts +45 -10
- package/src/context/imports.ts +49 -15
- package/src/index.ts +2 -1
- package/src/msg-builder/__snapshots__/msg-builder.spec.ts.snap +249 -0
- package/src/msg-builder/index.ts +1 -0
- package/src/msg-builder/msg-builder.spec.ts +17 -0
- package/src/msg-builder/msg-builder.ts +107 -0
- package/src/react-query/react-query.ts +1 -1
- package/src/utils/babel.ts +34 -5
- package/src/utils/index.ts +1 -0
- package/src/utils/ref.ts +6 -0
- package/src/utils/types.ts +2 -6
- package/types/context/context.d.ts +30 -5
- package/types/context/imports.d.ts +7 -2
- package/types/index.d.ts +1 -0
- package/types/msg-builder/index.d.ts +1 -0
- package/types/msg-builder/msg-builder.d.ts +4 -0
- package/types/react-query/react-query.d.ts +11 -10
- package/types/recoil/recoil.d.ts +1 -1
- package/types/utils/babel.d.ts +3 -2
- package/types/utils/index.d.ts +1 -0
- package/types/utils/ref.d.ts +2 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _schema = _interopRequireDefault(require("../../../../../__fixtures__/issues/98/schema.json"));
|
6
|
+
|
7
|
+
var _client = require("../client");
|
8
|
+
|
9
|
+
var _testUtils = require("../../../test-utils");
|
10
|
+
|
11
|
+
var message = _schema["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
|
+
}); // it('query classes response', () => {
|
19
|
+
// expectCode(createTypeInterface(
|
20
|
+
// ctx,
|
21
|
+
// contract.responses.all_debt_shares
|
22
|
+
// ))
|
23
|
+
// });
|
24
|
+
|
25
|
+
it('execute classes array types', function () {
|
26
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteClass)(ctx, 'SG721Client', 'SG721Instance', null, message));
|
27
|
+
});
|
28
|
+
it('execute interfaces no extends', function () {
|
29
|
+
(0, _testUtils.expectCode)((0, _client.createExecuteInterface)(ctx, 'SG721Instance', null, message));
|
30
|
+
});
|
package/main/context/context.js
CHANGED
@@ -5,7 +5,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
6
6
|
value: true
|
7
7
|
});
|
8
|
-
exports.getDefinitionSchema = exports.defaultOptions = exports.RenderContext = void 0;
|
8
|
+
exports.getDefinitionSchema = exports.defaultOptions = exports.RenderContextBase = exports.RenderContext = void 0;
|
9
|
+
|
10
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
11
|
+
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
13
|
+
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
9
15
|
|
10
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
11
17
|
|
@@ -13,16 +19,23 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
13
19
|
|
14
20
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
15
21
|
|
22
|
+
var _utils = require("../utils");
|
23
|
+
|
16
24
|
var _imports = require("./imports");
|
17
25
|
|
18
26
|
var _deepmerge = _interopRequireDefault(require("deepmerge"));
|
19
27
|
|
28
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
29
|
+
|
30
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
31
|
+
|
20
32
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
21
33
|
|
22
34
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
23
35
|
|
24
36
|
;
|
25
37
|
var defaultOptions = {
|
38
|
+
enabled: true,
|
26
39
|
types: {
|
27
40
|
enabled: true,
|
28
41
|
aliasExecuteMsg: false
|
@@ -38,6 +51,9 @@ var defaultOptions = {
|
|
38
51
|
messageComposer: {
|
39
52
|
enabled: false
|
40
53
|
},
|
54
|
+
msgBuilder: {
|
55
|
+
enabled: false
|
56
|
+
},
|
41
57
|
reactQuery: {
|
42
58
|
enabled: false,
|
43
59
|
optionalClient: false,
|
@@ -60,27 +76,36 @@ var getDefinitionSchema = function getDefinitionSchema(schemas) {
|
|
60
76
|
});
|
61
77
|
return aggregateSchema;
|
62
78
|
};
|
79
|
+
/**
|
80
|
+
* context object for generating code.
|
81
|
+
* only mergeDefaultOpt needs to implementing for combine options and default options.
|
82
|
+
* @param TOpt option type
|
83
|
+
*/
|
84
|
+
|
63
85
|
|
64
86
|
exports.getDefinitionSchema = getDefinitionSchema;
|
65
87
|
|
66
|
-
var
|
67
|
-
function
|
68
|
-
(0, _classCallCheck2["default"])(this,
|
88
|
+
var RenderContextBase = /*#__PURE__*/function () {
|
89
|
+
function RenderContextBase(contract, options) {
|
90
|
+
(0, _classCallCheck2["default"])(this, RenderContextBase);
|
69
91
|
(0, _defineProperty2["default"])(this, "contract", void 0);
|
70
92
|
(0, _defineProperty2["default"])(this, "utils", []);
|
71
93
|
(0, _defineProperty2["default"])(this, "schema", void 0);
|
94
|
+
(0, _defineProperty2["default"])(this, "options", void 0);
|
72
95
|
this.contract = contract;
|
73
96
|
this.schema = getDefinitionSchema(contract.schemas);
|
74
|
-
this.options = (
|
97
|
+
this.options = this.mergeDefaultOpt(options);
|
75
98
|
}
|
99
|
+
/**
|
100
|
+
* merge options and default options
|
101
|
+
* @param options
|
102
|
+
*/
|
76
103
|
|
77
|
-
|
104
|
+
|
105
|
+
(0, _createClass2["default"])(RenderContextBase, [{
|
78
106
|
key: "refLookup",
|
79
107
|
value: function refLookup($ref) {
|
80
|
-
|
81
|
-
|
82
|
-
var refName = $ref.replace('#/definitions/', '');
|
83
|
-
return (_this$schema$definiti = this.schema.definitions) === null || _this$schema$definiti === void 0 ? void 0 : _this$schema$definiti[refName];
|
108
|
+
return (0, _utils.refLookup)($ref, this.schema);
|
84
109
|
}
|
85
110
|
}, {
|
86
111
|
key: "addUtil",
|
@@ -89,11 +114,32 @@ var RenderContext = /*#__PURE__*/function () {
|
|
89
114
|
}
|
90
115
|
}, {
|
91
116
|
key: "getImports",
|
92
|
-
value: function getImports() {
|
93
|
-
return (0, _imports.getImportStatements)((0, _imports.convertUtilsToImportList)(this, Object.keys(this.utils)));
|
117
|
+
value: function getImports(registeredUtils) {
|
118
|
+
return (0, _imports.getImportStatements)((0, _imports.convertUtilsToImportList)(this, Object.keys(this.utils), registeredUtils));
|
94
119
|
}
|
95
120
|
}]);
|
96
|
-
return
|
121
|
+
return RenderContextBase;
|
97
122
|
}();
|
98
123
|
|
124
|
+
exports.RenderContextBase = RenderContextBase;
|
125
|
+
|
126
|
+
var RenderContext = /*#__PURE__*/function (_RenderContextBase) {
|
127
|
+
(0, _inherits2["default"])(RenderContext, _RenderContextBase);
|
128
|
+
|
129
|
+
var _super = _createSuper(RenderContext);
|
130
|
+
|
131
|
+
function RenderContext() {
|
132
|
+
(0, _classCallCheck2["default"])(this, RenderContext);
|
133
|
+
return _super.apply(this, arguments);
|
134
|
+
}
|
135
|
+
|
136
|
+
(0, _createClass2["default"])(RenderContext, [{
|
137
|
+
key: "mergeDefaultOpt",
|
138
|
+
value: function mergeDefaultOpt(options) {
|
139
|
+
return (0, _deepmerge["default"])(defaultOptions, options !== null && options !== void 0 ? options : {});
|
140
|
+
}
|
141
|
+
}]);
|
142
|
+
return RenderContext;
|
143
|
+
}(RenderContextBase);
|
144
|
+
|
99
145
|
exports.RenderContext = RenderContext;
|
package/main/context/imports.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.getImportStatements = exports.convertUtilsToImportList = exports.UTILS = void 0;
|
10
|
+
exports.getImportStatements = exports.convertUtilsToImportList = exports.convertUtil = exports.UTILS = void 0;
|
11
11
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
13
13
|
|
@@ -41,11 +41,11 @@ var makeReactQuerySwitch = function makeReactQuerySwitch(varName) {
|
|
41
41
|
};
|
42
42
|
|
43
43
|
var UTILS = {
|
44
|
+
selectorFamily: 'recoil',
|
44
45
|
MsgExecuteContract: 'cosmjs-types/cosmwasm/wasm/v1/tx',
|
45
46
|
MsgExecuteContractEncodeObject: 'cosmwasm',
|
46
47
|
Coin: '@cosmjs/amino',
|
47
48
|
toUtf8: '@cosmjs/encoding',
|
48
|
-
selectorFamily: 'recoil',
|
49
49
|
StdFee: '@cosmjs/amino',
|
50
50
|
CosmWasmClient: '@cosmjs/cosmwasm-stargate',
|
51
51
|
ExecuteResult: '@cosmjs/cosmwasm-stargate',
|
@@ -58,26 +58,48 @@ var UTILS = {
|
|
58
58
|
};
|
59
59
|
exports.UTILS = UTILS;
|
60
60
|
|
61
|
-
var convertUtilsToImportList = function convertUtilsToImportList(context, utils) {
|
61
|
+
var convertUtilsToImportList = function convertUtilsToImportList(context, utils, registeredUtils) {
|
62
62
|
return utils.map(function (util) {
|
63
|
-
|
64
|
-
|
65
|
-
if (
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
}
|
71
|
-
} else if (typeof UTILS[util] === 'function') {
|
72
|
-
return UTILS[util](context);
|
73
|
-
} else {
|
74
|
-
UTILS[util];
|
63
|
+
var result = null;
|
64
|
+
|
65
|
+
if (registeredUtils) {
|
66
|
+
result = convertUtil(context, util, registeredUtils);
|
67
|
+
|
68
|
+
if (result) {
|
69
|
+
return result;
|
70
|
+
}
|
75
71
|
}
|
72
|
+
|
73
|
+
result = convertUtil(context, util, UTILS);
|
74
|
+
|
75
|
+
if (result) {
|
76
|
+
return result;
|
77
|
+
}
|
78
|
+
|
79
|
+
throw new Error("missing Util! ::[".concat(util, "]"));
|
76
80
|
});
|
77
81
|
};
|
78
82
|
|
79
83
|
exports.convertUtilsToImportList = convertUtilsToImportList;
|
80
84
|
|
85
|
+
var convertUtil = function convertUtil(context, util, registeredUtils) {
|
86
|
+
if (!registeredUtils.hasOwnProperty(util)) return null;
|
87
|
+
|
88
|
+
if (typeof registeredUtils[util] === 'string') {
|
89
|
+
return {
|
90
|
+
type: 'import',
|
91
|
+
path: registeredUtils[util],
|
92
|
+
name: util
|
93
|
+
};
|
94
|
+
} else if (typeof registeredUtils[util] === 'function') {
|
95
|
+
return registeredUtils[util](context);
|
96
|
+
} else {
|
97
|
+
return registeredUtils[util];
|
98
|
+
}
|
99
|
+
};
|
100
|
+
|
101
|
+
exports.convertUtil = convertUtil;
|
102
|
+
|
81
103
|
var getImportStatements = function getImportStatements(list) {
|
82
104
|
var imports = list.reduce(function (m, obj) {
|
83
105
|
m[obj.path] = m[obj.path] || [];
|
package/main/index.js
CHANGED
@@ -93,4 +93,17 @@ Object.keys(_types).forEach(function (key) {
|
|
93
93
|
return _types[key];
|
94
94
|
}
|
95
95
|
});
|
96
|
+
});
|
97
|
+
|
98
|
+
var _msgBuilder = require("./msg-builder");
|
99
|
+
|
100
|
+
Object.keys(_msgBuilder).forEach(function (key) {
|
101
|
+
if (key === "default" || key === "__esModule") return;
|
102
|
+
if (key in exports && exports[key] === _msgBuilder[key]) return;
|
103
|
+
Object.defineProperty(exports, key, {
|
104
|
+
enumerable: true,
|
105
|
+
get: function get() {
|
106
|
+
return _msgBuilder[key];
|
107
|
+
}
|
108
|
+
});
|
96
109
|
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _msgBuilder = require("./msg-builder");
|
8
|
+
|
9
|
+
Object.keys(_msgBuilder).forEach(function (key) {
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
11
|
+
if (key in exports && exports[key] === _msgBuilder[key]) return;
|
12
|
+
Object.defineProperty(exports, key, {
|
13
|
+
enumerable: true,
|
14
|
+
get: function get() {
|
15
|
+
return _msgBuilder[key];
|
16
|
+
}
|
17
|
+
});
|
18
|
+
});
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.createMsgBuilderClass = void 0;
|
9
|
+
|
10
|
+
var t = _interopRequireWildcard(require("@babel/types"));
|
11
|
+
|
12
|
+
var _case = require("case");
|
13
|
+
|
14
|
+
var _utils = require("../utils");
|
15
|
+
|
16
|
+
var _types2 = require("../utils/types");
|
17
|
+
|
18
|
+
var _client = require("../client/client");
|
19
|
+
|
20
|
+
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); }
|
21
|
+
|
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
|
+
|
24
|
+
var createMsgBuilderClass = function createMsgBuilderClass(context, className, msg) {
|
25
|
+
var staticMethods = (0, _utils.getMessageProperties)(msg).map(function (schema) {
|
26
|
+
return createStaticExecMethodMsgBuilder(context, schema, msg.title);
|
27
|
+
}); // const blockStmt = bindings;
|
28
|
+
|
29
|
+
return t.exportNamedDeclaration((0, _utils.abstractClassDeclaration)(className, staticMethods, [], null));
|
30
|
+
};
|
31
|
+
/**
|
32
|
+
* CamelCasedProperties<Extract<ExecuteMsg, { exec_on_module: unknown }>['exec_on_module']>
|
33
|
+
*/
|
34
|
+
|
35
|
+
|
36
|
+
exports.createMsgBuilderClass = createMsgBuilderClass;
|
37
|
+
|
38
|
+
function createExtractTypeAnnotation(underscoreName, msgTitle) {
|
39
|
+
return t.tsTypeAnnotation(t.tsTypeReference(t.identifier("CamelCasedProperties"), t.tsTypeParameterInstantiation([t.tsIndexedAccessType(t.tsTypeReference(t.identifier("Extract"), t.tsTypeParameterInstantiation([t.tsTypeReference(t.identifier(msgTitle)), t.tsTypeLiteral([t.tsPropertySignature(t.identifier(underscoreName), t.tsTypeAnnotation(t.tsUnknownKeyword()))])])), t.tsLiteralType(t.stringLiteral(underscoreName)))])));
|
40
|
+
}
|
41
|
+
|
42
|
+
var createStaticExecMethodMsgBuilder = function createStaticExecMethodMsgBuilder(context, jsonschema, msgTitle) {
|
43
|
+
var underscoreName = Object.keys(jsonschema.properties)[0];
|
44
|
+
var methodName = (0, _case.camel)(underscoreName);
|
45
|
+
var obj = (0, _types2.createTypedObjectParams)(context, jsonschema.properties[underscoreName]);
|
46
|
+
var args = (0, _client.getWasmMethodArgs)(context, jsonschema.properties[underscoreName]);
|
47
|
+
if (obj) obj.typeAnnotation = createExtractTypeAnnotation(underscoreName, msgTitle);
|
48
|
+
return t.classProperty(t.identifier(methodName), (0, _utils.arrowFunctionExpression)( // params
|
49
|
+
obj ? [// props
|
50
|
+
obj] : [], // body
|
51
|
+
t.blockStatement([t.returnStatement(t.objectExpression([t.objectProperty(t.identifier(underscoreName), t.tsAsExpression(t.objectExpression(args), t.tsTypeReference(t.identifier('const'))))]))]), // return type
|
52
|
+
t.tsTypeAnnotation(t.tsTypeReference(t.identifier(msgTitle))), false), null, null, false, // static
|
53
|
+
true);
|
54
|
+
};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _execute_msg_for__empty = _interopRequireDefault(require("../../../../__fixtures__/basic/execute_msg_for__empty.json"));
|
6
|
+
|
7
|
+
var _query_msg = _interopRequireDefault(require("../../../../__fixtures__/basic/query_msg.json"));
|
8
|
+
|
9
|
+
var _msgBuilder = require("./msg-builder");
|
10
|
+
|
11
|
+
var _testUtils = require("../../test-utils");
|
12
|
+
|
13
|
+
it('execute class', function () {
|
14
|
+
var ctx = (0, _testUtils.makeContext)(_execute_msg_for__empty["default"]);
|
15
|
+
(0, _testUtils.expectCode)((0, _msgBuilder.createMsgBuilderClass)(ctx, 'SG721MsgBuilder', _execute_msg_for__empty["default"]));
|
16
|
+
});
|
17
|
+
it('query class', function () {
|
18
|
+
var ctx = (0, _testUtils.makeContext)(_execute_msg_for__empty["default"]);
|
19
|
+
(0, _testUtils.expectCode)((0, _msgBuilder.createMsgBuilderClass)(ctx, 'SG721MsgBuilder', _query_msg["default"]));
|
20
|
+
});
|
package/main/utils/babel.js
CHANGED
@@ -7,20 +7,30 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
8
8
|
value: true
|
9
9
|
});
|
10
|
-
exports.typedIdentifier = exports.typeRefOrUnionWithUndefined = 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.importAs = 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.typeRefOrUnionWithUndefined = 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.importAs = exports.importAminoMsg = exports.identifier = exports.getMessageProperties = exports.getFieldDimensionality = exports.classProperty = exports.classDeclaration = exports.callExpression = exports.bindMethod = exports.arrowFunctionExpression = exports.arrayTypeNDimensions = exports.abstractClassDeclaration = exports.FieldTypeAsts = void 0;
|
11
11
|
|
12
12
|
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
|
13
13
|
|
14
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
15
15
|
|
16
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
17
|
+
|
16
18
|
var t = _interopRequireWildcard(require("@babel/types"));
|
17
19
|
|
18
20
|
var _case = require("case");
|
19
21
|
|
22
|
+
var _ref = require("./ref");
|
23
|
+
|
20
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); }
|
21
25
|
|
22
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; }
|
23
27
|
|
28
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
29
|
+
|
30
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
31
|
+
|
32
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
33
|
+
|
24
34
|
// t.TSPropertySignature - kind?
|
25
35
|
var propertySignature = function propertySignature(name, typeAnnotation) {
|
26
36
|
var optional = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
@@ -53,10 +63,41 @@ var tsTypeOperator = function tsTypeOperator(typeAnnotation, operator) {
|
|
53
63
|
exports.tsTypeOperator = tsTypeOperator;
|
54
64
|
|
55
65
|
var getMessageProperties = function getMessageProperties(msg) {
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
66
|
+
var results = [];
|
67
|
+
var objs = [];
|
68
|
+
|
69
|
+
if (msg.anyOf) {
|
70
|
+
objs = msg.anyOf;
|
71
|
+
} else if (msg.oneOf) {
|
72
|
+
objs = msg.oneOf;
|
73
|
+
} else if (msg.allOf) {
|
74
|
+
objs = msg.allOf;
|
75
|
+
}
|
76
|
+
|
77
|
+
var _iterator = _createForOfIteratorHelper(objs),
|
78
|
+
_step;
|
79
|
+
|
80
|
+
try {
|
81
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
82
|
+
var obj = _step.value;
|
83
|
+
|
84
|
+
if (obj.properties) {
|
85
|
+
results.push(obj);
|
86
|
+
} else {
|
87
|
+
if (obj.$ref) {
|
88
|
+
var ref = (0, _ref.refLookup)(obj.$ref, msg);
|
89
|
+
var refProps = getMessageProperties(ref);
|
90
|
+
results = [].concat((0, _toConsumableArray2["default"])(results), (0, _toConsumableArray2["default"])(refProps));
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
} catch (err) {
|
95
|
+
_iterator.e(err);
|
96
|
+
} finally {
|
97
|
+
_iterator.f();
|
98
|
+
}
|
99
|
+
|
100
|
+
return results;
|
60
101
|
};
|
61
102
|
|
62
103
|
exports.getMessageProperties = getMessageProperties;
|
@@ -107,6 +148,16 @@ var promiseTypeAnnotation = function promiseTypeAnnotation(name) {
|
|
107
148
|
|
108
149
|
exports.promiseTypeAnnotation = promiseTypeAnnotation;
|
109
150
|
|
151
|
+
var abstractClassDeclaration = function abstractClassDeclaration(name, body) {
|
152
|
+
var implementsExressions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
153
|
+
var superClass = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
154
|
+
var declaration = classDeclaration(name, body, implementsExressions, superClass);
|
155
|
+
declaration["abstract"] = true;
|
156
|
+
return declaration;
|
157
|
+
};
|
158
|
+
|
159
|
+
exports.abstractClassDeclaration = abstractClassDeclaration;
|
160
|
+
|
110
161
|
var classDeclaration = function classDeclaration(name, body) {
|
111
162
|
var implementsExressions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
112
163
|
var superClass = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
package/main/utils/index.js
CHANGED
@@ -28,4 +28,17 @@ Object.keys(_types).forEach(function (key) {
|
|
28
28
|
return _types[key];
|
29
29
|
}
|
30
30
|
});
|
31
|
+
});
|
32
|
+
|
33
|
+
var _ref = require("./ref");
|
34
|
+
|
35
|
+
Object.keys(_ref).forEach(function (key) {
|
36
|
+
if (key === "default" || key === "__esModule") return;
|
37
|
+
if (key in exports && exports[key] === _ref[key]) return;
|
38
|
+
Object.defineProperty(exports, key, {
|
39
|
+
enumerable: true,
|
40
|
+
get: function get() {
|
41
|
+
return _ref[key];
|
42
|
+
}
|
43
|
+
});
|
31
44
|
});
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.refLookup = void 0;
|
7
|
+
|
8
|
+
var refLookup = function refLookup($ref, schema) {
|
9
|
+
var _schema$definitions;
|
10
|
+
|
11
|
+
var refName = $ref.replace('#/definitions/', '');
|
12
|
+
return (_schema$definitions = schema.definitions) === null || _schema$definitions === void 0 ? void 0 : _schema$definitions[refName];
|
13
|
+
};
|
14
|
+
|
15
|
+
exports.refLookup = refLookup;
|
package/main/utils/types.js
CHANGED
@@ -75,7 +75,7 @@ var getArrayTypeFromItems = function getArrayTypeFromItems(items) {
|
|
75
75
|
var _items$;
|
76
76
|
|
77
77
|
if (((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.type) === 'array') {
|
78
|
-
return
|
78
|
+
return getArrayTypeFromItems(items[0]);
|
79
79
|
}
|
80
80
|
|
81
81
|
return t.tsArrayType(t.tsArrayType(getTypeOrRef(items[0])));
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import contract from '../../../../../__fixtures__/issues/98/schema.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
|
+
}); // it('query classes response', () => {
|
12
|
+
// expectCode(createTypeInterface(
|
13
|
+
// ctx,
|
14
|
+
// contract.responses.all_debt_shares
|
15
|
+
// ))
|
16
|
+
// });
|
17
|
+
|
18
|
+
it('execute classes array types', () => {
|
19
|
+
expectCode(createExecuteClass(ctx, 'SG721Client', 'SG721Instance', null, message));
|
20
|
+
});
|
21
|
+
it('execute interfaces no extends', () => {
|
22
|
+
expectCode(createExecuteInterface(ctx, 'SG721Instance', null, message));
|
23
|
+
});
|
@@ -4,11 +4,13 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
4
4
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
6
6
|
|
7
|
+
import { refLookup } from "../utils";
|
7
8
|
import { convertUtilsToImportList, getImportStatements } from "./imports";
|
8
9
|
import deepmerge from "deepmerge"; /// Plugin Types
|
9
10
|
|
10
11
|
;
|
11
12
|
export const defaultOptions = {
|
13
|
+
enabled: true,
|
12
14
|
types: {
|
13
15
|
enabled: true,
|
14
16
|
aliasExecuteMsg: false
|
@@ -24,6 +26,9 @@ export const defaultOptions = {
|
|
24
26
|
messageComposer: {
|
25
27
|
enabled: false
|
26
28
|
},
|
29
|
+
msgBuilder: {
|
30
|
+
enabled: false
|
31
|
+
},
|
27
32
|
reactQuery: {
|
28
33
|
enabled: false,
|
29
34
|
optionalClient: false,
|
@@ -44,7 +49,13 @@ export const getDefinitionSchema = schemas => {
|
|
44
49
|
});
|
45
50
|
return aggregateSchema;
|
46
51
|
};
|
47
|
-
|
52
|
+
/**
|
53
|
+
* context object for generating code.
|
54
|
+
* only mergeDefaultOpt needs to implementing for combine options and default options.
|
55
|
+
* @param TOpt option type
|
56
|
+
*/
|
57
|
+
|
58
|
+
export class RenderContextBase {
|
48
59
|
constructor(contract, options) {
|
49
60
|
_defineProperty(this, "contract", void 0);
|
50
61
|
|
@@ -52,22 +63,34 @@ export class RenderContext {
|
|
52
63
|
|
53
64
|
_defineProperty(this, "schema", void 0);
|
54
65
|
|
66
|
+
_defineProperty(this, "options", void 0);
|
67
|
+
|
55
68
|
this.contract = contract;
|
56
69
|
this.schema = getDefinitionSchema(contract.schemas);
|
57
|
-
this.options =
|
70
|
+
this.options = this.mergeDefaultOpt(options);
|
58
71
|
}
|
72
|
+
/**
|
73
|
+
* merge options and default options
|
74
|
+
* @param options
|
75
|
+
*/
|
76
|
+
|
59
77
|
|
60
78
|
refLookup($ref) {
|
61
|
-
|
62
|
-
return this.schema.definitions?.[refName];
|
79
|
+
return refLookup($ref, this.schema);
|
63
80
|
}
|
64
81
|
|
65
82
|
addUtil(util) {
|
66
83
|
this.utils[util] = true;
|
67
84
|
}
|
68
85
|
|
69
|
-
getImports() {
|
70
|
-
return getImportStatements(convertUtilsToImportList(this, Object.keys(this.utils)));
|
86
|
+
getImports(registeredUtils) {
|
87
|
+
return getImportStatements(convertUtilsToImportList(this, Object.keys(this.utils), registeredUtils));
|
88
|
+
}
|
89
|
+
|
90
|
+
}
|
91
|
+
export class RenderContext extends RenderContextBase {
|
92
|
+
mergeDefaultOpt(options) {
|
93
|
+
return deepmerge(defaultOptions, options ?? {});
|
71
94
|
}
|
72
95
|
|
73
96
|
}
|