wasm-ast-types 0.18.1 → 0.19.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/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
|
}
|