@cosmwasm/ts-codegen 0.7.3 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +238 -59
- package/main/builder/builder.js +456 -0
- package/main/builder/index.js +18 -0
- package/main/bundler/bundler.js +74 -0
- package/main/bundler/index.js +18 -0
- package/main/cmds.js +3 -9
- package/main/commands/create-boilerplate.js +195 -0
- package/main/commands/generate.js +91 -16
- package/main/generators/{ts-client.js → client.js} +29 -23
- package/main/generators/{from-partial.js → message-composer.js} +29 -21
- package/main/generators/react-query.js +27 -21
- package/main/generators/recoil.js +31 -15
- package/main/generators/types.js +95 -0
- package/main/index.js +71 -17
- package/main/types.js +1 -0
- package/main/utils/schemas.js +5 -3
- package/module/builder/builder.js +178 -0
- package/module/builder/index.js +1 -0
- package/module/bundler/bundler.js +36 -0
- package/module/bundler/index.js +1 -0
- package/module/cmds.js +2 -6
- package/module/commands/create-boilerplate.js +116 -0
- package/module/commands/generate.js +82 -8
- package/module/generators/{ts-client.js → client.js} +21 -15
- package/module/generators/{from-partial.js → message-composer.js} +23 -17
- package/module/generators/react-query.js +20 -15
- package/module/generators/recoil.js +23 -9
- package/module/generators/types.js +40 -0
- package/module/index.js +12 -5
- package/module/types.js +1 -0
- package/module/utils/schemas.js +3 -2
- package/package.json +5 -3
- package/types/builder/builder.d.ts +39 -0
- package/types/builder/index.d.ts +1 -0
- package/types/bundler/bundler.d.ts +4 -0
- package/types/bundler/index.d.ts +1 -0
- package/types/commands/{from-partial.d.ts → client.d.ts} +0 -0
- package/types/commands/message-composer.d.ts +2 -0
- package/types/commands/types.d.ts +2 -0
- package/types/generators/client.d.ts +3 -0
- package/types/generators/message-composer.d.ts +3 -0
- package/types/generators/react-query.d.ts +2 -1
- package/types/generators/recoil.d.ts +2 -1
- package/types/generators/types.d.ts +3 -0
- package/types/index.d.ts +10 -5
- package/types/types.d.ts +1 -0
- package/types/utils/schemas.d.ts +8 -4
- package/main/commands/from-partial.js +0 -78
- package/main/commands/react-query.js +0 -98
- package/main/commands/recoil.js +0 -78
- package/main/utils/imports.js +0 -26
- package/module/commands/from-partial.js +0 -33
- package/module/commands/react-query.js +0 -54
- package/module/commands/recoil.js +0 -33
- package/module/utils/imports.js +0 -10
- package/types/clean.d.ts +0 -1
- package/types/cleanse.d.ts +0 -1
- package/types/commands/boilerplate.d.ts +0 -2
- package/types/cosmwasm-typescript-gen.d.ts +0 -2
- package/types/from-partial.d.ts +0 -2
- package/types/generate.d.ts +0 -2
- package/types/generators/from-partial.d.ts +0 -2
- package/types/generators/ts-client.d.ts +0 -2
- package/types/header.d.ts +0 -1
- package/types/imports.d.ts +0 -1
- package/types/parse.d.ts +0 -1
- package/types/prompt.d.ts +0 -3
- package/types/react-query.d.ts +0 -2
- package/types/recoil.d.ts +0 -2
- package/types/utils/imports.d.ts +0 -1
- package/types/utils.d.ts +0 -10
@@ -0,0 +1,195 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
6
|
+
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
exports["default"] = void 0;
|
11
|
+
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
13
|
+
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
15
|
+
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
17
|
+
|
18
|
+
var shell = _interopRequireWildcard(require("shelljs"));
|
19
|
+
|
20
|
+
var _prompt = require("../utils/prompt");
|
21
|
+
|
22
|
+
var _dargs = _interopRequireDefault(require("dargs"));
|
23
|
+
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
25
|
+
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
27
|
+
|
28
|
+
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; }
|
29
|
+
|
30
|
+
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; }
|
31
|
+
|
32
|
+
var glob = require('glob').sync;
|
33
|
+
|
34
|
+
var fs = require('fs');
|
35
|
+
|
36
|
+
var path = require('path');
|
37
|
+
|
38
|
+
var repo = 'git@github.com:pyramation/tmpl-cosmwasm-module.git';
|
39
|
+
|
40
|
+
var _default = /*#__PURE__*/function () {
|
41
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(argv) {
|
42
|
+
var _yield$prompt, name, questions, fullname, email, args, results, scopedResults, license, files, _loop, i, _ret;
|
43
|
+
|
44
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
45
|
+
while (1) {
|
46
|
+
switch (_context.prev = _context.next) {
|
47
|
+
case 0:
|
48
|
+
if (shell.which('git')) {
|
49
|
+
_context.next = 3;
|
50
|
+
break;
|
51
|
+
}
|
52
|
+
|
53
|
+
shell.echo('Sorry, this script requires git');
|
54
|
+
return _context.abrupt("return", shell.exit(1));
|
55
|
+
|
56
|
+
case 3:
|
57
|
+
_context.next = 5;
|
58
|
+
return (0, _prompt.prompt)([{
|
59
|
+
type: 'string',
|
60
|
+
name: 'name',
|
61
|
+
message: 'Enter your new module name'
|
62
|
+
}], argv);
|
63
|
+
|
64
|
+
case 5:
|
65
|
+
_yield$prompt = _context.sent;
|
66
|
+
name = _yield$prompt.name;
|
67
|
+
shell.exec("git clone ".concat(repo, " ").concat(name));
|
68
|
+
shell.cd(name);
|
69
|
+
questions = JSON.parse(fs.readFileSync(".questions.json"));
|
70
|
+
fullname = shell.exec('git config --global user.name', {
|
71
|
+
silent: true
|
72
|
+
}).trim();
|
73
|
+
email = shell.exec('git config --global user.email', {
|
74
|
+
silent: true
|
75
|
+
}).trim(); // @__USERNAME__/__MODULENAME__
|
76
|
+
// __PACKAGE_IDENTIFIER__
|
77
|
+
|
78
|
+
args = (0, _dargs["default"])(_objectSpread(_objectSpread({
|
79
|
+
_: []
|
80
|
+
}, argv), {}, {
|
81
|
+
__MODULENAME__: name,
|
82
|
+
__USERFULLNAME__: fullname,
|
83
|
+
__USEREMAIL__: email
|
84
|
+
}), {
|
85
|
+
allowCamelCase: true
|
86
|
+
});
|
87
|
+
_context.next = 15;
|
88
|
+
return (0, _prompt.prompt)(questions, args);
|
89
|
+
|
90
|
+
case 15:
|
91
|
+
results = _context.sent;
|
92
|
+
_context.next = 18;
|
93
|
+
return (0, _prompt.prompt)([{
|
94
|
+
name: '__LICENSE__',
|
95
|
+
message: 'Which license?',
|
96
|
+
choices: ['MIT', 'closed'],
|
97
|
+
type: 'list',
|
98
|
+
required: true
|
99
|
+
}], []);
|
100
|
+
|
101
|
+
case 18:
|
102
|
+
license = _context.sent;
|
103
|
+
|
104
|
+
if (!(results.__ACCESS__ === 'public')) {
|
105
|
+
_context.next = 23;
|
106
|
+
break;
|
107
|
+
}
|
108
|
+
|
109
|
+
_context.next = 22;
|
110
|
+
return (0, _prompt.prompt)([{
|
111
|
+
type: 'confirm',
|
112
|
+
name: 'scoped',
|
113
|
+
message: 'use npm scopes?',
|
114
|
+
required: true
|
115
|
+
}], []);
|
116
|
+
|
117
|
+
case 22:
|
118
|
+
scopedResults = _context.sent;
|
119
|
+
|
120
|
+
case 23:
|
121
|
+
files = [].concat(glob(process.cwd() + '/**/.*')).concat(glob(process.cwd() + '/**/*'));
|
122
|
+
|
123
|
+
_loop = function _loop(i) {
|
124
|
+
var templateFile = files[i];
|
125
|
+
if (fs.lstatSync(templateFile).isDirectory()) return "continue";
|
126
|
+
var content = fs.readFileSync(templateFile).toString();
|
127
|
+
|
128
|
+
if (path.basename(templateFile) === 'LICENSE' && license.__LICENSE__ === 'closed') {
|
129
|
+
content = "Copyright (c) 2022 __USERFULLNAME__ <__USEREMAIL__> - All Rights Reserved\nUnauthorized copying via any medium is strictly prohibited\nProprietary and confidential";
|
130
|
+
}
|
131
|
+
|
132
|
+
Object.keys(results).forEach(function (key) {
|
133
|
+
if (/^__/.test(key)) {
|
134
|
+
content = content.replace(new RegExp(key, 'g'), results[key]);
|
135
|
+
}
|
136
|
+
});
|
137
|
+
|
138
|
+
if (results.__ACCESS__ === 'public') {
|
139
|
+
if (scopedResults.scoped) {
|
140
|
+
content = content.replace(/__PACKAGE_IDENTIFIER__/g, "@".concat(results.__USERNAME__, "/").concat(results.__MODULENAME__));
|
141
|
+
} else {
|
142
|
+
content = content.replace(/__PACKAGE_IDENTIFIER__/g, "".concat(results.__MODULENAME__));
|
143
|
+
}
|
144
|
+
} else {
|
145
|
+
content = content.replace(/__PACKAGE_IDENTIFIER__/g, "@".concat(results.__USERNAME__, "/").concat(results.__MODULENAME__));
|
146
|
+
}
|
147
|
+
|
148
|
+
if (path.basename(templateFile) === 'README.md') {
|
149
|
+
content = "# ".concat(results.__MODULENAME__);
|
150
|
+
}
|
151
|
+
|
152
|
+
fs.writeFileSync(templateFile, content);
|
153
|
+
};
|
154
|
+
|
155
|
+
i = 0;
|
156
|
+
|
157
|
+
case 26:
|
158
|
+
if (!(i < files.length)) {
|
159
|
+
_context.next = 33;
|
160
|
+
break;
|
161
|
+
}
|
162
|
+
|
163
|
+
_ret = _loop(i);
|
164
|
+
|
165
|
+
if (!(_ret === "continue")) {
|
166
|
+
_context.next = 30;
|
167
|
+
break;
|
168
|
+
}
|
169
|
+
|
170
|
+
return _context.abrupt("continue", 30);
|
171
|
+
|
172
|
+
case 30:
|
173
|
+
i++;
|
174
|
+
_context.next = 26;
|
175
|
+
break;
|
176
|
+
|
177
|
+
case 33:
|
178
|
+
shell.rm('-rf', '.git');
|
179
|
+
shell.rm('-rf', '.questions.json');
|
180
|
+
console.log("\n\n |||\n (o o)\n ooO--(_)--Ooo-\n\n \u2728 Great work!\n ");
|
181
|
+
|
182
|
+
case 36:
|
183
|
+
case "end":
|
184
|
+
return _context.stop();
|
185
|
+
}
|
186
|
+
}
|
187
|
+
}, _callee);
|
188
|
+
}));
|
189
|
+
|
190
|
+
return function (_x) {
|
191
|
+
return _ref.apply(this, arguments);
|
192
|
+
};
|
193
|
+
}();
|
194
|
+
|
195
|
+
exports["default"] = _default;
|
@@ -13,13 +13,11 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
13
13
|
|
14
14
|
var _prompt = require("../utils/prompt");
|
15
15
|
|
16
|
-
var
|
17
|
-
|
18
|
-
var _utils = require("../utils");
|
16
|
+
var _index = _interopRequireDefault(require("../index"));
|
19
17
|
|
20
18
|
var _default = /*#__PURE__*/function () {
|
21
19
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(argv) {
|
22
|
-
var questions, _yield$prompt, schema, out, name,
|
20
|
+
var questions, _yield$prompt, schema, out, name, plugin, questions2, _yield$prompt2, optionalClient, version, questions3, _yield$prompt3, mutations, options;
|
23
21
|
|
24
22
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
25
23
|
while (1) {
|
@@ -42,27 +40,104 @@ var _default = /*#__PURE__*/function () {
|
|
42
40
|
type: 'string',
|
43
41
|
name: 'name',
|
44
42
|
message: 'contract name?'
|
43
|
+
}, {
|
44
|
+
type: 'checkbox',
|
45
|
+
name: 'plugin',
|
46
|
+
message: 'which plugins?',
|
47
|
+
choices: ['client', 'recoil', 'react-query', 'message-composer']
|
45
48
|
}];
|
46
|
-
|
49
|
+
|
50
|
+
if (argv.typesOnly) {
|
51
|
+
argv.plugin = 'types';
|
52
|
+
}
|
53
|
+
|
54
|
+
_context.next = 4;
|
47
55
|
return (0, _prompt.prompt)(questions, argv);
|
48
56
|
|
49
|
-
case
|
57
|
+
case 4:
|
50
58
|
_yield$prompt = _context.sent;
|
51
59
|
schema = _yield$prompt.schema;
|
52
60
|
out = _yield$prompt.out;
|
53
61
|
name = _yield$prompt.name;
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
});
|
62
|
+
plugin = _yield$prompt.plugin;
|
63
|
+
if (!Array.isArray(plugin)) plugin = [plugin]; ///////// REACT QUERY
|
64
|
+
|
65
|
+
questions2 = [];
|
59
66
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
67
|
+
if (plugin.includes('react-query')) {
|
68
|
+
[].push.apply(questions2, [{
|
69
|
+
type: 'confirm',
|
70
|
+
name: 'optionalClient',
|
71
|
+
message: 'optionalClient?',
|
72
|
+
"default": false
|
73
|
+
}, {
|
74
|
+
type: 'list',
|
75
|
+
name: 'version',
|
76
|
+
message: 'which react-query version?',
|
77
|
+
"default": 'v3',
|
78
|
+
choices: ['v3', 'v4']
|
79
|
+
}]);
|
80
|
+
}
|
81
|
+
|
82
|
+
;
|
83
|
+
_context.next = 15;
|
84
|
+
return (0, _prompt.prompt)(questions2, argv);
|
85
|
+
|
86
|
+
case 15:
|
87
|
+
_yield$prompt2 = _context.sent;
|
88
|
+
optionalClient = _yield$prompt2.optionalClient;
|
89
|
+
version = _yield$prompt2.version;
|
90
|
+
questions3 = [];
|
91
|
+
|
92
|
+
if (version === 'v4') {
|
93
|
+
[].push.apply(questions3, [// currently we only support v4 for useMutation
|
94
|
+
{
|
95
|
+
type: 'confirm',
|
96
|
+
name: 'mutations',
|
97
|
+
message: 'Generate useMutation hooks?',
|
98
|
+
"default": false
|
99
|
+
}]);
|
100
|
+
}
|
101
|
+
|
102
|
+
;
|
103
|
+
_context.next = 23;
|
104
|
+
return (0, _prompt.prompt)(questions3, argv);
|
105
|
+
|
106
|
+
case 23:
|
107
|
+
_yield$prompt3 = _context.sent;
|
108
|
+
mutations = _yield$prompt3.mutations;
|
109
|
+
///////// END REACT QUERY
|
110
|
+
options = {
|
111
|
+
types: {
|
112
|
+
enabled: true
|
113
|
+
},
|
114
|
+
client: {
|
115
|
+
enabled: plugin.includes('client') || plugin.includes('recoil') || plugin.includes('react-query')
|
116
|
+
},
|
117
|
+
reactQuery: {
|
118
|
+
enabled: plugin.includes('react-query'),
|
119
|
+
optionalClient: optionalClient,
|
120
|
+
version: version,
|
121
|
+
mutations: mutations
|
122
|
+
},
|
123
|
+
recoil: {
|
124
|
+
enabled: plugin.includes('recoil')
|
125
|
+
},
|
126
|
+
messageComposer: {
|
127
|
+
enabled: plugin.includes('message-composer')
|
128
|
+
}
|
129
|
+
};
|
130
|
+
_context.next = 28;
|
131
|
+
return (0, _index["default"])({
|
132
|
+
contracts: [{
|
133
|
+
name: name,
|
134
|
+
dir: schema
|
135
|
+
}],
|
136
|
+
outPath: out,
|
137
|
+
options: options
|
138
|
+
});
|
64
139
|
|
65
|
-
case
|
140
|
+
case 28:
|
66
141
|
case "end":
|
67
142
|
return _context.stop();
|
68
143
|
}
|
@@ -11,6 +11,8 @@ exports["default"] = void 0;
|
|
11
11
|
|
12
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
13
13
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
15
|
+
|
14
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
15
17
|
|
16
18
|
var _case = require("case");
|
@@ -29,45 +31,38 @@ var _fs = require("fs");
|
|
29
31
|
|
30
32
|
var _generator = _interopRequireDefault(require("@babel/generator"));
|
31
33
|
|
32
|
-
var _clean = require("../utils/clean");
|
33
|
-
|
34
34
|
var _utils = require("../utils");
|
35
35
|
|
36
|
-
var _imports = require("../utils/imports");
|
37
|
-
|
38
36
|
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); }
|
39
37
|
|
40
38
|
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; }
|
41
39
|
|
42
40
|
var _default = /*#__PURE__*/function () {
|
43
|
-
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, schemas, outPath) {
|
44
|
-
var
|
41
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, schemas, outPath, tsClientOptions) {
|
42
|
+
var context, options, localname, TypesFile, QueryMsg, ExecuteMsg, typeHash, Client, Instance, QueryClient, ReadOnlyInstance, body, children, imports, code;
|
45
43
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
46
44
|
while (1) {
|
47
45
|
switch (_context.prev = _context.next) {
|
48
46
|
case 0:
|
49
|
-
|
47
|
+
context = new w.RenderContext((0, _utils.getDefinitionSchema)(schemas), {
|
48
|
+
tsClient: tsClientOptions !== null && tsClientOptions !== void 0 ? tsClientOptions : {}
|
49
|
+
});
|
50
|
+
options = context.options.tsClient;
|
51
|
+
localname = (0, _case.pascal)(name) + '.client.ts';
|
52
|
+
TypesFile = (0, _case.pascal)(name) + '.types';
|
50
53
|
QueryMsg = (0, _utils.findQueryMsg)(schemas);
|
51
54
|
ExecuteMsg = (0, _utils.findExecuteMsg)(schemas);
|
52
|
-
_context.next =
|
55
|
+
_context.next = 8;
|
53
56
|
return (0, _utils.findAndParseTypes)(schemas);
|
54
57
|
|
55
|
-
case
|
58
|
+
case 8:
|
56
59
|
typeHash = _context.sent;
|
57
60
|
Client = null;
|
58
61
|
Instance = null;
|
59
62
|
QueryClient = null;
|
60
63
|
ReadOnlyInstance = null;
|
61
64
|
body = [];
|
62
|
-
body.push(w.importStmt(
|
63
|
-
body.push((0, _imports.cosmjsAminoImportStatements)(typeHash)); // TYPES
|
64
|
-
|
65
|
-
Object.values(typeHash).forEach(function (type) {
|
66
|
-
body.push((0, _clean.clean)(type));
|
67
|
-
}); // alias the ExecuteMsg
|
68
|
-
|
69
|
-
ExecuteMsg && body.push(t.exportNamedDeclaration(t.tsTypeAliasDeclaration(t.identifier("".concat(name, "ExecuteMsg")), null, t.tsTypeReference(t.identifier('ExecuteMsg')))));
|
70
|
-
context = new w.RenderContext((0, _utils.getDefinitionSchema)(schemas)); // query messages
|
65
|
+
body.push(w.importStmt(Object.keys(typeHash), "./".concat(TypesFile))); // query messages
|
71
66
|
|
72
67
|
if (QueryMsg) {
|
73
68
|
QueryClient = (0, _case.pascal)("".concat(name, "QueryClient"));
|
@@ -88,11 +83,22 @@ var _default = /*#__PURE__*/function () {
|
|
88
83
|
}
|
89
84
|
}
|
90
85
|
|
91
|
-
|
92
|
-
|
93
|
-
|
86
|
+
if (typeHash.hasOwnProperty('Coin')) {
|
87
|
+
delete context.utils.Coin;
|
88
|
+
}
|
94
89
|
|
95
|
-
|
90
|
+
imports = context.getImports();
|
91
|
+
code = _header.header + (0, _generator["default"])(t.program([].concat((0, _toConsumableArray2["default"])(imports), body))).code;
|
92
|
+
(0, _mkdirp.sync)(outPath);
|
93
|
+
(0, _fs.writeFileSync)((0, _path.join)(outPath, localname), code);
|
94
|
+
return _context.abrupt("return", [{
|
95
|
+
type: 'client',
|
96
|
+
contract: name,
|
97
|
+
localname: localname,
|
98
|
+
filename: (0, _path.join)(outPath, localname)
|
99
|
+
}]);
|
100
|
+
|
101
|
+
case 23:
|
96
102
|
case "end":
|
97
103
|
return _context.stop();
|
98
104
|
}
|
@@ -100,7 +106,7 @@ var _default = /*#__PURE__*/function () {
|
|
100
106
|
}, _callee);
|
101
107
|
}));
|
102
108
|
|
103
|
-
return function (_x, _x2, _x3) {
|
109
|
+
return function (_x, _x2, _x3, _x4) {
|
104
110
|
return _ref.apply(this, arguments);
|
105
111
|
};
|
106
112
|
}();
|
@@ -11,6 +11,8 @@ exports["default"] = void 0;
|
|
11
11
|
|
12
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
13
13
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
15
|
+
|
14
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
15
17
|
|
16
18
|
var _case = require("case");
|
@@ -36,31 +38,26 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
36
38
|
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; }
|
37
39
|
|
38
40
|
var _default = /*#__PURE__*/function () {
|
39
|
-
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, schemas, outPath) {
|
40
|
-
var
|
41
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, schemas, outPath, messageComposerOptions) {
|
42
|
+
var context, options, localname, TypesFile, ExecuteMsg, typeHash, body, children, TheClass, Interface, imports, code;
|
41
43
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
42
44
|
while (1) {
|
43
45
|
switch (_context.prev = _context.next) {
|
44
46
|
case 0:
|
45
|
-
|
46
|
-
|
47
|
+
context = new w.RenderContext((0, _utils.getDefinitionSchema)(schemas), {
|
48
|
+
messageComposer: messageComposerOptions !== null && messageComposerOptions !== void 0 ? messageComposerOptions : {}
|
49
|
+
});
|
50
|
+
options = context.options.messageComposer;
|
51
|
+
localname = (0, _case.pascal)(name) + '.message-composer.ts';
|
52
|
+
TypesFile = (0, _case.pascal)(name) + '.types';
|
47
53
|
ExecuteMsg = (0, _utils.findExecuteMsg)(schemas);
|
48
|
-
_context.next =
|
54
|
+
_context.next = 7;
|
49
55
|
return (0, _utils.findAndParseTypes)(schemas);
|
50
56
|
|
51
|
-
case
|
57
|
+
case 7:
|
52
58
|
typeHash = _context.sent;
|
53
59
|
body = [];
|
54
|
-
body.push(w.importStmt(
|
55
|
-
body.push(w.importStmt(['MsgExecuteContract'], 'cosmjs-types/cosmwasm/wasm/v1/tx'));
|
56
|
-
body.push(w.importStmt(['toUtf8'], '@cosmjs/encoding'));
|
57
|
-
|
58
|
-
if (!typeHash.hasOwnProperty('Coin')) {
|
59
|
-
body.push(w.importStmt(['Coin'], '@cosmjs/amino'));
|
60
|
-
}
|
61
|
-
|
62
|
-
body.push(w.importStmt(Object.keys(typeHash), "./".concat(Contract).replace(/\.ts$/, '')));
|
63
|
-
context = new w.RenderContext((0, _utils.getDefinitionSchema)(schemas)); // execute messages
|
60
|
+
body.push(w.importStmt(Object.keys(typeHash), "./".concat(TypesFile))); // execute messages
|
64
61
|
|
65
62
|
if (ExecuteMsg) {
|
66
63
|
children = (0, w.getMessageProperties)(ExecuteMsg);
|
@@ -68,14 +65,25 @@ var _default = /*#__PURE__*/function () {
|
|
68
65
|
if (children.length > 0) {
|
69
66
|
TheClass = (0, _case.pascal)("".concat(name, "MessageComposer"));
|
70
67
|
Interface = (0, _case.pascal)("".concat(name, "Message"));
|
71
|
-
body.push(w.
|
72
|
-
body.push(w.
|
68
|
+
body.push(w.createMessageComposerInterface(context, Interface, ExecuteMsg));
|
69
|
+
body.push(w.createMessageComposerClass(context, TheClass, Interface, ExecuteMsg));
|
73
70
|
}
|
74
71
|
}
|
75
72
|
|
76
|
-
|
73
|
+
if (typeHash.hasOwnProperty('Coin')) {
|
74
|
+
delete context.utils.Coin;
|
75
|
+
}
|
76
|
+
|
77
|
+
imports = context.getImports();
|
78
|
+
code = _header.header + (0, _generator["default"])(t.program([].concat((0, _toConsumableArray2["default"])(imports), body))).code;
|
77
79
|
(0, _mkdirp.sync)(outPath);
|
78
|
-
(0, _fs.writeFileSync)((0, _path.join)(outPath,
|
80
|
+
(0, _fs.writeFileSync)((0, _path.join)(outPath, localname), code);
|
81
|
+
return _context.abrupt("return", [{
|
82
|
+
type: 'message-composer',
|
83
|
+
contract: name,
|
84
|
+
localname: localname,
|
85
|
+
filename: (0, _path.join)(outPath, localname)
|
86
|
+
}]);
|
79
87
|
|
80
88
|
case 17:
|
81
89
|
case "end":
|
@@ -85,7 +93,7 @@ var _default = /*#__PURE__*/function () {
|
|
85
93
|
}, _callee);
|
86
94
|
}));
|
87
95
|
|
88
|
-
return function (_x, _x2, _x3) {
|
96
|
+
return function (_x, _x2, _x3, _x4) {
|
89
97
|
return _ref.apply(this, arguments);
|
90
98
|
};
|
91
99
|
}();
|
@@ -11,6 +11,8 @@ exports["default"] = void 0;
|
|
11
11
|
|
12
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
13
13
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
15
|
+
|
14
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
15
17
|
|
16
18
|
var _case = require("case");
|
@@ -31,15 +33,13 @@ var _generator = _interopRequireDefault(require("@babel/generator"));
|
|
31
33
|
|
32
34
|
var _utils = require("../utils");
|
33
35
|
|
34
|
-
var _imports = require("../utils/imports");
|
35
|
-
|
36
36
|
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); }
|
37
37
|
|
38
38
|
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; }
|
39
39
|
|
40
40
|
var _default = /*#__PURE__*/function () {
|
41
41
|
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(contractName, schemas, outPath, reactQueryOptions) {
|
42
|
-
var context, options,
|
42
|
+
var context, options, localname, ContractFile, TypesFile, QueryMsg, ExecuteMsg, typeHash, ExecuteClient, QueryClient, body, clientImports, shouldGenerateMutationHooks, imports, code;
|
43
43
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
44
44
|
while (1) {
|
45
45
|
switch (_context.prev = _context.next) {
|
@@ -48,37 +48,32 @@ var _default = /*#__PURE__*/function () {
|
|
48
48
|
reactQuery: reactQueryOptions !== null && reactQueryOptions !== void 0 ? reactQueryOptions : {}
|
49
49
|
});
|
50
50
|
options = context.options.reactQuery;
|
51
|
-
|
52
|
-
|
51
|
+
localname = (0, _case.pascal)("".concat(contractName)) + '.react-query.ts';
|
52
|
+
ContractFile = (0, _case.pascal)("".concat(contractName)) + '.client';
|
53
|
+
TypesFile = (0, _case.pascal)("".concat(contractName)) + '.types';
|
53
54
|
QueryMsg = (0, _utils.findQueryMsg)(schemas);
|
54
55
|
ExecuteMsg = (0, _utils.findExecuteMsg)(schemas);
|
55
|
-
_context.next =
|
56
|
+
_context.next = 9;
|
56
57
|
return (0, _utils.findAndParseTypes)(schemas);
|
57
58
|
|
58
|
-
case
|
59
|
+
case 9:
|
59
60
|
typeHash = _context.sent;
|
60
61
|
ExecuteClient = (0, _case.pascal)("".concat(contractName, "Client"));
|
61
62
|
QueryClient = (0, _case.pascal)("".concat(contractName, "QueryClient"));
|
62
63
|
body = [];
|
63
|
-
reactQueryImports = ['useQuery', 'UseQueryOptions'];
|
64
64
|
clientImports = [];
|
65
65
|
QueryMsg && clientImports.push(QueryClient); // check that there are commands within the exec msg
|
66
66
|
|
67
|
-
shouldGenerateMutationHooks = ExecuteMsg && (options === null || options === void 0 ? void 0 : options.
|
67
|
+
shouldGenerateMutationHooks = ExecuteMsg && (options === null || options === void 0 ? void 0 : options.version) === 'v4' && (options === null || options === void 0 ? void 0 : options.mutations) && (0, w.getMessageProperties)(ExecuteMsg).length > 0;
|
68
68
|
|
69
69
|
if (shouldGenerateMutationHooks) {
|
70
|
-
body.push(w.importStmt(['ExecuteResult'], '@cosmjs/cosmwasm-stargate'));
|
71
|
-
body.push((0, _imports.cosmjsAminoImportStatements)(typeHash));
|
72
|
-
reactQueryImports.push('useMutation', 'UseMutationOptions');
|
73
70
|
clientImports.push(ExecuteClient);
|
74
|
-
} //
|
75
|
-
|
71
|
+
} // general contract imports
|
76
72
|
|
77
|
-
body.push(w.importStmt(reactQueryImports, options !== null && options !== void 0 && options.v4 ? '@tanstack/react-query' : 'react-query')); // general contract imports
|
78
73
|
|
79
|
-
body.push(w.importStmt(Object.keys(typeHash), "./".concat(
|
74
|
+
body.push(w.importStmt(Object.keys(typeHash), "./".concat(TypesFile))); // client imports
|
80
75
|
|
81
|
-
body.push(w.importStmt(clientImports, "./".concat(
|
76
|
+
body.push(w.importStmt(clientImports, "./".concat(ContractFile))); // query messages
|
82
77
|
|
83
78
|
if (QueryMsg) {
|
84
79
|
[].push.apply(body, w.createReactQueryHooks({
|
@@ -98,11 +93,22 @@ var _default = /*#__PURE__*/function () {
|
|
98
93
|
}));
|
99
94
|
}
|
100
95
|
|
101
|
-
|
102
|
-
|
103
|
-
|
96
|
+
if (typeHash.hasOwnProperty('Coin')) {
|
97
|
+
delete context.utils.Coin;
|
98
|
+
}
|
104
99
|
|
105
|
-
|
100
|
+
imports = context.getImports();
|
101
|
+
code = _header.header + (0, _generator["default"])(t.program([].concat((0, _toConsumableArray2["default"])(imports), body))).code;
|
102
|
+
(0, _mkdirp.sync)(outPath);
|
103
|
+
(0, _fs.writeFileSync)((0, _path.join)(outPath, localname), code);
|
104
|
+
return _context.abrupt("return", [{
|
105
|
+
type: 'react-query',
|
106
|
+
contract: contractName,
|
107
|
+
localname: localname,
|
108
|
+
filename: (0, _path.join)(outPath, localname)
|
109
|
+
}]);
|
110
|
+
|
111
|
+
case 27:
|
106
112
|
case "end":
|
107
113
|
return _context.stop();
|
108
114
|
}
|