@cosmwasm/ts-codegen 0.3.9

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.
Files changed (61) hide show
  1. package/README.md +89 -0
  2. package/main/clean.js +62 -0
  3. package/main/cleanse.js +89 -0
  4. package/main/cli.js +69 -0
  5. package/main/cmds.js +26 -0
  6. package/main/commands/boilerplate.js +195 -0
  7. package/main/commands/from-partial.js +74 -0
  8. package/main/commands/generate.js +74 -0
  9. package/main/commands/react-query.js +74 -0
  10. package/main/commands/recoil.js +74 -0
  11. package/main/cosmwasm-typescript-gen.js +28 -0
  12. package/main/file.js +47 -0
  13. package/main/from-partial.js +92 -0
  14. package/main/generate.js +109 -0
  15. package/main/header.js +14 -0
  16. package/main/index.js +59 -0
  17. package/main/parse.js +49 -0
  18. package/main/prompt.js +118 -0
  19. package/main/react-query.js +83 -0
  20. package/main/recoil.js +86 -0
  21. package/main/utils.js +123 -0
  22. package/module/clean.js +49 -0
  23. package/module/cleanse.js +76 -0
  24. package/module/cli.js +20 -0
  25. package/module/cmds.js +12 -0
  26. package/module/commands/boilerplate.js +116 -0
  27. package/module/commands/from-partial.js +33 -0
  28. package/module/commands/generate.js +33 -0
  29. package/module/commands/react-query.js +33 -0
  30. package/module/commands/recoil.js +33 -0
  31. package/module/cosmwasm-typescript-gen.js +8 -0
  32. package/module/file.js +21 -0
  33. package/module/from-partial.js +41 -0
  34. package/module/generate.js +57 -0
  35. package/module/header.js +8 -0
  36. package/module/index.js +5 -0
  37. package/module/parse.js +37 -0
  38. package/module/prompt.js +68 -0
  39. package/module/react-query.js +31 -0
  40. package/module/recoil.js +34 -0
  41. package/module/utils.js +52 -0
  42. package/package.json +95 -0
  43. package/types/clean.d.ts +1 -0
  44. package/types/cli.d.ts +1 -0
  45. package/types/cmds.d.ts +1 -0
  46. package/types/commands/boilerplate.d.ts +2 -0
  47. package/types/commands/from-partial.d.ts +2 -0
  48. package/types/commands/generate.d.ts +2 -0
  49. package/types/commands/react-query.d.ts +2 -0
  50. package/types/commands/recoil.d.ts +2 -0
  51. package/types/cosmwasm-typescript-gen.d.ts +2 -0
  52. package/types/file.d.ts +2 -0
  53. package/types/from-partial.d.ts +2 -0
  54. package/types/generate.d.ts +2 -0
  55. package/types/header.d.ts +1 -0
  56. package/types/index.d.ts +5 -0
  57. package/types/parse.d.ts +1 -0
  58. package/types/prompt.d.ts +3 -0
  59. package/types/react-query.d.ts +2 -0
  60. package/types/recoil.d.ts +2 -0
  61. package/types/utils.d.ts +4 -0
package/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # cosmwasm-typescript-gen
2
+
3
+ A Transpiler for CosmWasm Smart Contracts
4
+
5
+ <p align="center">
6
+ <img width="120" src="https://user-images.githubusercontent.com/545047/163705368-bc899f6d-a2de-43ee-889b-dbf44e17f288.png">
7
+ </p>
8
+
9
+ <p align="center" width="100%">
10
+ <a href="https://github.com/CosmWasm/cosmwasm-typescript-gen/actions/workflows/run-tests.yaml">
11
+ <img height="20" src="https://github.com/CosmWasm/cosmwasm-typescript-gen/actions/workflows/run-tests.yaml/badge.svg" />
12
+ </a>
13
+ <a href="https://github.com/CosmWasm/cosmwasm-typescript-gen/blob/main/LICENSE-MIT"><img height="20" src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
14
+ <a href="https://github.com/CosmWasm/cosmwasm-typescript-gen/blob/main/LICENSE-Apache"><img height="20" src="https://img.shields.io/badge/license-Apache-blue.svg"></a>
15
+ <a href="https://www.npmjs.com/package/cosmwasm-typescript-gen"><img height="20" src="https://img.shields.io/github/package-json/v/CosmWasm/cosmwasm-typescript-gen?filename=packages%2Fcosmwasm-typescript-gen%2Fpackage.json"></a>
16
+ </p>
17
+
18
+
19
+ ```
20
+ npm install -g cosmwasm-typescript-gen
21
+ ```
22
+
23
+ ## usage
24
+
25
+ ```
26
+ cosmwasm-typescript-gen generate \
27
+ --schema ./schema \
28
+ --out ./src \
29
+ --name MyContractName
30
+ ```
31
+
32
+ ### example
33
+
34
+ ```
35
+ git clone git@github.com:public-awesome/stargaze-contracts.git
36
+ cd stargaze-contracts/contracts/sg721/
37
+ cosmwasm-typescript-gen generate --schema ./schema --out ./ts --name SG721
38
+ ```
39
+
40
+ ### JSON Schema Generation
41
+
42
+ Currently you have to have the JSON Schema output. Here is an example to start:
43
+
44
+ ```sh
45
+ ## get the Rust contracts
46
+ git clone git@github.com:public-awesome/stargaze-contracts.git
47
+ cd stargaze-contracts
48
+ cargo build
49
+
50
+ ## now build the schema
51
+ cd contracts/sg721/
52
+ cargo schema
53
+ ```
54
+
55
+ ### Example Output
56
+
57
+ - `cosmwasm-typescript-gen generate`
58
+
59
+ https://gist.github.com/pyramation/ba67ec56e4e2a39cadea55430f9993e5
60
+
61
+ - `cosmwasm-typescript-gen from-partial`
62
+
63
+ https://gist.github.com/pyramation/f50869d1ecdb6d6ced2bc0a44c6ff492
64
+
65
+ - `cosmwasm-typescript-gen react-query`
66
+
67
+ https://gist.github.com/pyramation/a3bf4aa7b60a31287d0720ca1bb5473b
68
+
69
+ - `cosmwasm-typescript-gen recoil`
70
+
71
+ https://gist.github.com/pyramation/48b28a75def1a16b233b369297f05f0e
72
+
73
+
74
+ ### Exporting Schemas
75
+
76
+ #### `cosmwasm_std` Examples
77
+
78
+ ```rs
79
+ use cosmwasm_std::{Addr, CosmosMsg, Empty};
80
+
81
+ export_schema_with_title(&schema_for!(MinterData), &out_dir, "MinterResponse");
82
+ export_schema_with_title(&schema_for!(Addr), &out_dir, "StakingResponse");
83
+ export_schema_with_title(&schema_for!(Addr), &out_dir, "DaoResponse");
84
+ export_schema_with_title(
85
+ &schema_for!(CosmosMsg<Empty>),
86
+ &out_dir,
87
+ "CosmosMsg_for_Empty",
88
+ );
89
+ ```
package/main/clean.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.clean = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var clean = function clean(obj) {
13
+ var copy; // Handle the 3 simple types, and null or undefined
14
+
15
+ if (null == obj || 'object' != (0, _typeof2["default"])(obj)) return obj; // Handle Date
16
+
17
+ if (obj instanceof Date) {
18
+ copy = new Date();
19
+ copy.setTime(obj.getTime());
20
+ return copy;
21
+ } // Handle Array
22
+
23
+
24
+ if (obj instanceof Array) {
25
+ copy = [];
26
+
27
+ for (var i = 0, len = obj.length; i < len; i++) {
28
+ copy[i] = clean(obj[i]);
29
+ }
30
+
31
+ return copy;
32
+ } // Handle Object
33
+
34
+
35
+ if (obj instanceof Object || (0, _typeof2["default"])(obj) === 'object') {
36
+ copy = {};
37
+
38
+ for (var attr in obj) {
39
+ if (obj.hasOwnProperty(attr)) {
40
+ switch (attr) {
41
+ case 'leadingComments':
42
+ case 'trailingComments':
43
+ case 'loc':
44
+ case 'start':
45
+ case 'end':
46
+ break;
47
+
48
+ default:
49
+ copy[attr] = clean(obj[attr]);
50
+ }
51
+ } else {
52
+ copy[attr] = clean(obj[attr]);
53
+ }
54
+ }
55
+
56
+ return copy;
57
+ }
58
+
59
+ throw new Error("Unable to copy obj! Its type isn't supported.");
60
+ };
61
+
62
+ exports.clean = clean;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.cleanse = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var cleanFor = function cleanFor(str) {
13
+ /*
14
+ 1. look at first char after _for_
15
+ 2. ONLY if you find capitals after, modify it
16
+ */
17
+ if (/_for_[A-Z]/.test(str)) {
18
+ return str.replace(/_for_/, 'For');
19
+ }
20
+
21
+ return str;
22
+ };
23
+
24
+ var cleanse = function cleanse(obj) {
25
+ var copy; // Handle the 3 simple types, and null or undefined
26
+
27
+ if (null == obj || 'object' != (0, _typeof2["default"])(obj)) return obj; // Handle Date
28
+
29
+ if (obj instanceof Date) {
30
+ copy = new Date();
31
+ copy.setTime(obj.getTime());
32
+ return copy;
33
+ } // Handle Array
34
+
35
+
36
+ if (obj instanceof Array) {
37
+ copy = [];
38
+
39
+ for (var i = 0, len = obj.length; i < len; i++) {
40
+ copy[i] = cleanse(obj[i]);
41
+ }
42
+
43
+ return copy;
44
+ } // Handle Object
45
+
46
+
47
+ if (obj instanceof Object || (0, _typeof2["default"])(obj) === 'object') {
48
+ copy = {}; // https://github.com/CosmWasm/cosmwasm-typescript-gen/issues/27
49
+
50
+ if (Array.isArray(obj["enum"]) && obj["enum"].length === 0) {
51
+ delete obj["enum"];
52
+
53
+ if (!obj.type) {
54
+ obj.type = 'string';
55
+ }
56
+ }
57
+
58
+ for (var attr in obj) {
59
+ if (obj.hasOwnProperty(attr)) {
60
+ if (/_for_/.test(attr)) {
61
+ copy[cleanFor(attr)] = cleanse(obj[attr]);
62
+ } else {
63
+ switch (attr) {
64
+ case 'title':
65
+ case '$ref':
66
+ if (typeof obj[attr] === 'string') {
67
+ copy[attr] = cleanse(cleanFor(obj[attr]));
68
+ } else {
69
+ copy[attr] = cleanse(obj[attr]);
70
+ }
71
+
72
+ break;
73
+
74
+ default:
75
+ copy[attr] = cleanse(obj[attr]);
76
+ }
77
+ }
78
+ } else {
79
+ copy[attr] = cleanse(obj[attr]);
80
+ }
81
+ }
82
+
83
+ return copy;
84
+ }
85
+
86
+ throw new Error("Unable to copy obj! Its type isn't supported.");
87
+ };
88
+
89
+ exports.cleanse = cleanse;
package/main/cli.js ADDED
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.cli = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _prompt = require("./prompt");
15
+
16
+ var _cmds = require("./cmds");
17
+
18
+ var question = [{
19
+ _: true,
20
+ type: 'fuzzy',
21
+ name: 'cmd',
22
+ message: 'what do you want to do?',
23
+ choices: Object.keys(_cmds.Commands)
24
+ }];
25
+
26
+ var cli = /*#__PURE__*/function () {
27
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(argv) {
28
+ var _yield$prompt, cmd;
29
+
30
+ return _regenerator["default"].wrap(function _callee$(_context) {
31
+ while (1) {
32
+ switch (_context.prev = _context.next) {
33
+ case 0:
34
+ _context.next = 2;
35
+ return (0, _prompt.prompt)(question, argv);
36
+
37
+ case 2:
38
+ _yield$prompt = _context.sent;
39
+ cmd = _yield$prompt.cmd;
40
+
41
+ if (!(typeof _cmds.Commands[cmd] === 'function')) {
42
+ _context.next = 9;
43
+ break;
44
+ }
45
+
46
+ _context.next = 7;
47
+ return _cmds.Commands[cmd](argv);
48
+
49
+ case 7:
50
+ _context.next = 10;
51
+ break;
52
+
53
+ case 9:
54
+ console.log('command not found.');
55
+
56
+ case 10:
57
+ case "end":
58
+ return _context.stop();
59
+ }
60
+ }
61
+ }, _callee);
62
+ }));
63
+
64
+ return function cli(_x) {
65
+ return _ref.apply(this, arguments);
66
+ };
67
+ }();
68
+
69
+ exports.cli = cli;
package/main/cmds.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Commands = void 0;
9
+
10
+ var _boilerplate2 = _interopRequireDefault(require("./commands/boilerplate"));
11
+
12
+ var _fromPartial = _interopRequireDefault(require("./commands/from-partial"));
13
+
14
+ var _generate2 = _interopRequireDefault(require("./commands/generate"));
15
+
16
+ var _reactQuery = _interopRequireDefault(require("./commands/react-query"));
17
+
18
+ var _recoil2 = _interopRequireDefault(require("./commands/recoil"));
19
+
20
+ var Commands = {};
21
+ exports.Commands = Commands;
22
+ Commands['boilerplate'] = _boilerplate2["default"];
23
+ Commands['from-partial'] = _fromPartial["default"];
24
+ Commands['generate'] = _generate2["default"];
25
+ Commands['react-query'] = _reactQuery["default"];
26
+ Commands['recoil'] = _recoil2["default"];
@@ -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("../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;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _prompt = require("../prompt");
15
+
16
+ var _fromPartial = _interopRequireDefault(require("../from-partial"));
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var _default = /*#__PURE__*/function () {
21
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(argv) {
22
+ var questions, _yield$prompt, schema, out, name, schemas;
23
+
24
+ return _regenerator["default"].wrap(function _callee$(_context) {
25
+ while (1) {
26
+ switch (_context.prev = _context.next) {
27
+ case 0:
28
+ questions = [{
29
+ _: true,
30
+ type: 'path',
31
+ name: 'schema',
32
+ message: 'which directory contains the the Rust contracts?',
33
+ "default": './schema'
34
+ }, {
35
+ _: true,
36
+ type: 'path',
37
+ name: 'out',
38
+ message: 'where is the output directory?',
39
+ "default": './ts'
40
+ }, {
41
+ _: true,
42
+ type: 'string',
43
+ name: 'name',
44
+ message: 'contract name?'
45
+ }];
46
+ _context.next = 3;
47
+ return (0, _prompt.prompt)(questions, argv);
48
+
49
+ case 3:
50
+ _yield$prompt = _context.sent;
51
+ schema = _yield$prompt.schema;
52
+ out = _yield$prompt.out;
53
+ name = _yield$prompt.name;
54
+ schemas = (0, _utils.readSchemas)({
55
+ schemaDir: schema,
56
+ argv: argv
57
+ });
58
+ _context.next = 10;
59
+ return (0, _fromPartial["default"])(name, schemas, out);
60
+
61
+ case 10:
62
+ case "end":
63
+ return _context.stop();
64
+ }
65
+ }
66
+ }, _callee);
67
+ }));
68
+
69
+ return function (_x) {
70
+ return _ref.apply(this, arguments);
71
+ };
72
+ }();
73
+
74
+ exports["default"] = _default;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _prompt = require("../prompt");
15
+
16
+ var _generate = _interopRequireDefault(require("../generate"));
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var _default = /*#__PURE__*/function () {
21
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(argv) {
22
+ var questions, _yield$prompt, schema, out, name, schemas;
23
+
24
+ return _regenerator["default"].wrap(function _callee$(_context) {
25
+ while (1) {
26
+ switch (_context.prev = _context.next) {
27
+ case 0:
28
+ questions = [{
29
+ _: true,
30
+ type: 'path',
31
+ name: 'schema',
32
+ message: 'which directory contains the the Rust contracts?',
33
+ "default": './schema'
34
+ }, {
35
+ _: true,
36
+ type: 'path',
37
+ name: 'out',
38
+ message: 'where is the output directory?',
39
+ "default": './ts'
40
+ }, {
41
+ _: true,
42
+ type: 'string',
43
+ name: 'name',
44
+ message: 'contract name?'
45
+ }];
46
+ _context.next = 3;
47
+ return (0, _prompt.prompt)(questions, argv);
48
+
49
+ case 3:
50
+ _yield$prompt = _context.sent;
51
+ schema = _yield$prompt.schema;
52
+ out = _yield$prompt.out;
53
+ name = _yield$prompt.name;
54
+ schemas = (0, _utils.readSchemas)({
55
+ schemaDir: schema,
56
+ argv: argv
57
+ });
58
+ _context.next = 10;
59
+ return (0, _generate["default"])(name, schemas, out);
60
+
61
+ case 10:
62
+ case "end":
63
+ return _context.stop();
64
+ }
65
+ }
66
+ }, _callee);
67
+ }));
68
+
69
+ return function (_x) {
70
+ return _ref.apply(this, arguments);
71
+ };
72
+ }();
73
+
74
+ exports["default"] = _default;