@cosmwasm/ts-codegen 0.7.3 → 0.8.1
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/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
|
}
|