@cosmwasm/ts-codegen 0.5.8 → 0.7.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.
Files changed (51) hide show
  1. package/main/cli.js +1 -1
  2. package/main/cmds.js +0 -3
  3. package/main/commands/from-partial.js +9 -5
  4. package/main/commands/generate.js +10 -6
  5. package/main/commands/react-query.js +14 -5
  6. package/main/commands/recoil.js +8 -4
  7. package/main/file.js +1 -1
  8. package/main/{from-partial.js → generators/from-partial.js} +8 -7
  9. package/main/{react-query.js → generators/react-query.js} +49 -19
  10. package/main/{recoil.js → generators/recoil.js} +8 -7
  11. package/main/{generate.js → generators/ts-client.js} +16 -17
  12. package/main/index.js +25 -11
  13. package/main/{clean.js → utils/clean.js} +0 -0
  14. package/main/{cleanse.js → utils/cleanse.js} +0 -0
  15. package/main/{header.js → utils/header.js} +1 -1
  16. package/main/utils/imports.js +26 -0
  17. package/main/utils/index.js +18 -0
  18. package/main/{parse.js → utils/parse.js} +0 -0
  19. package/main/{prompt.js → utils/prompt.js} +0 -0
  20. package/main/utils/schemas.js +167 -0
  21. package/module/cli.js +1 -1
  22. package/module/cmds.js +0 -2
  23. package/module/commands/from-partial.js +3 -3
  24. package/module/commands/generate.js +4 -4
  25. package/module/commands/react-query.js +8 -3
  26. package/module/commands/recoil.js +2 -2
  27. package/module/file.js +1 -1
  28. package/module/{from-partial.js → generators/from-partial.js} +7 -5
  29. package/module/generators/react-query.js +67 -0
  30. package/module/{recoil.js → generators/recoil.js} +7 -5
  31. package/module/{generate.js → generators/ts-client.js} +14 -15
  32. package/module/index.js +6 -5
  33. package/module/{clean.js → utils/clean.js} +0 -0
  34. package/module/{cleanse.js → utils/cleanse.js} +0 -0
  35. package/module/{header.js → utils/header.js} +1 -1
  36. package/module/utils/imports.js +10 -0
  37. package/module/utils/index.js +1 -0
  38. package/module/{parse.js → utils/parse.js} +0 -0
  39. package/module/{prompt.js → utils/prompt.js} +0 -0
  40. package/module/{utils.js → utils/schemas.js} +19 -2
  41. package/package.json +25 -25
  42. package/types/cleanse.d.ts +1 -0
  43. package/types/imports.d.ts +1 -0
  44. package/types/index.d.ts +1 -1
  45. package/types/react-query.d.ts +1 -1
  46. package/types/ts-codegen.d.ts +2 -0
  47. package/types/utils.d.ts +8 -2
  48. package/main/commands/boilerplate.js +0 -195
  49. package/main/utils.js +0 -123
  50. package/module/commands/boilerplate.js +0 -116
  51. package/module/react-query.js +0 -36
package/main/cli.js CHANGED
@@ -11,7 +11,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
11
11
 
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _prompt = require("./prompt");
14
+ var _prompt = require("./utils/prompt");
15
15
 
16
16
  var _cmds = require("./cmds");
17
17
 
package/main/cmds.js CHANGED
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.Commands = void 0;
9
9
 
10
- var _boilerplate2 = _interopRequireDefault(require("./commands/boilerplate"));
11
-
12
10
  var _fromPartial = _interopRequireDefault(require("./commands/from-partial"));
13
11
 
14
12
  var _generate2 = _interopRequireDefault(require("./commands/generate"));
@@ -19,7 +17,6 @@ var _recoil2 = _interopRequireDefault(require("./commands/recoil"));
19
17
 
20
18
  var Commands = {};
21
19
  exports.Commands = Commands;
22
- Commands['boilerplate'] = _boilerplate2["default"];
23
20
  Commands['from-partial'] = _fromPartial["default"];
24
21
  Commands['generate'] = _generate2["default"];
25
22
  Commands['react-query'] = _reactQuery["default"];
@@ -11,9 +11,9 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
11
11
 
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _prompt = require("../prompt");
14
+ var _prompt = require("../utils/prompt");
15
15
 
16
- var _fromPartial = _interopRequireDefault(require("../from-partial"));
16
+ var _fromPartial = _interopRequireDefault(require("../generators/from-partial"));
17
17
 
18
18
  var _utils = require("../utils");
19
19
 
@@ -51,14 +51,18 @@ var _default = /*#__PURE__*/function () {
51
51
  schema = _yield$prompt.schema;
52
52
  out = _yield$prompt.out;
53
53
  name = _yield$prompt.name;
54
- schemas = (0, _utils.readSchemas)({
54
+ _context.next = 9;
55
+ return (0, _utils.readSchemas)({
55
56
  schemaDir: schema,
56
57
  argv: argv
57
58
  });
58
- _context.next = 10;
59
+
60
+ case 9:
61
+ schemas = _context.sent;
62
+ _context.next = 12;
59
63
  return (0, _fromPartial["default"])(name, schemas, out);
60
64
 
61
- case 10:
65
+ case 12:
62
66
  case "end":
63
67
  return _context.stop();
64
68
  }
@@ -11,9 +11,9 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
11
11
 
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _prompt = require("../prompt");
14
+ var _prompt = require("../utils/prompt");
15
15
 
16
- var _generate = _interopRequireDefault(require("../generate"));
16
+ var _tsClient = _interopRequireDefault(require("../generators/ts-client"));
17
17
 
18
18
  var _utils = require("../utils");
19
19
 
@@ -51,14 +51,18 @@ var _default = /*#__PURE__*/function () {
51
51
  schema = _yield$prompt.schema;
52
52
  out = _yield$prompt.out;
53
53
  name = _yield$prompt.name;
54
- schemas = (0, _utils.readSchemas)({
54
+ _context.next = 9;
55
+ return (0, _utils.readSchemas)({
55
56
  schemaDir: schema,
56
57
  argv: argv
57
58
  });
58
- _context.next = 10;
59
- return (0, _generate["default"])(name, schemas, out);
60
59
 
61
- case 10:
60
+ case 9:
61
+ schemas = _context.sent;
62
+ _context.next = 12;
63
+ return (0, _tsClient["default"])(name, schemas, out);
64
+
65
+ case 12:
62
66
  case "end":
63
67
  return _context.stop();
64
68
  }
@@ -13,9 +13,9 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
13
13
 
14
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
15
 
16
- var _prompt = require("../prompt");
16
+ var _prompt = require("../utils/prompt");
17
17
 
18
- var _reactQuery = _interopRequireDefault(require("../react-query"));
18
+ var _reactQuery = _interopRequireDefault(require("../generators/react-query"));
19
19
 
20
20
  var _utils = require("../utils");
21
21
 
@@ -56,6 +56,11 @@ var _default = /*#__PURE__*/function () {
56
56
  name: 'v4',
57
57
  message: 'Use react-query v4?',
58
58
  "default": false
59
+ }, {
60
+ type: 'confirm',
61
+ name: 'mutations',
62
+ message: 'Geneate useMutation hooks? Must be used with v4.',
63
+ "default": false
59
64
  }];
60
65
  _context.next = 3;
61
66
  return (0, _prompt.prompt)(questions, argv);
@@ -66,14 +71,18 @@ var _default = /*#__PURE__*/function () {
66
71
  out = _yield$prompt.out;
67
72
  name = _yield$prompt.name;
68
73
  options = (0, _objectWithoutProperties2["default"])(_yield$prompt, _excluded);
69
- schemas = (0, _utils.readSchemas)({
74
+ _context.next = 10;
75
+ return (0, _utils.readSchemas)({
70
76
  schemaDir: schema,
71
77
  argv: argv
72
78
  });
73
- _context.next = 11;
79
+
80
+ case 10:
81
+ schemas = _context.sent;
82
+ _context.next = 13;
74
83
  return (0, _reactQuery["default"])(name, schemas, out, options);
75
84
 
76
- case 11:
85
+ case 13:
77
86
  case "end":
78
87
  return _context.stop();
79
88
  }
@@ -11,7 +11,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
11
11
 
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var _prompt = require("../prompt");
14
+ var _prompt = require("../utils/prompt");
15
15
 
16
16
  var _recoil = _interopRequireDefault(require("../recoil"));
17
17
 
@@ -51,14 +51,18 @@ var _default = /*#__PURE__*/function () {
51
51
  schema = _yield$prompt.schema;
52
52
  out = _yield$prompt.out;
53
53
  name = _yield$prompt.name;
54
- schemas = (0, _utils.readSchemas)({
54
+ _context.next = 9;
55
+ return (0, _utils.readSchemas)({
55
56
  schemaDir: schema,
56
57
  argv: argv
57
58
  });
58
- _context.next = 10;
59
+
60
+ case 9:
61
+ schemas = _context.sent;
62
+ _context.next = 12;
59
63
  return (0, _recoil["default"])(name, schemas, out);
60
64
 
61
- case 10:
65
+ case 12:
62
66
  case "end":
63
67
  return _context.stop();
64
68
  }
package/main/file.js CHANGED
@@ -7,7 +7,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
7
7
 
8
8
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
9
 
10
- var _prompt = require("./prompt");
10
+ var _prompt = require("./utils/prompt");
11
11
 
12
12
  var _cli = require("./cli");
13
13
 
@@ -15,7 +15,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
15
15
 
16
16
  var _case = require("case");
17
17
 
18
- var _header = require("./header");
18
+ var _header = require("../utils/header");
19
19
 
20
20
  var _path = require("path");
21
21
 
@@ -29,7 +29,7 @@ var _fs = require("fs");
29
29
 
30
30
  var _generator = _interopRequireDefault(require("@babel/generator"));
31
31
 
32
- var _utils = require("./utils");
32
+ var _utils = require("../utils");
33
33
 
34
34
  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); }
35
35
 
@@ -37,7 +37,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
37
37
 
38
38
  var _default = /*#__PURE__*/function () {
39
39
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, schemas, outPath) {
40
- var FromPartialFile, Contract, ExecuteMsg, typeHash, body, children, TheClass, Interface, code;
40
+ var FromPartialFile, Contract, ExecuteMsg, typeHash, body, context, children, TheClass, Interface, code;
41
41
  return _regenerator["default"].wrap(function _callee$(_context) {
42
42
  while (1) {
43
43
  switch (_context.prev = _context.next) {
@@ -59,7 +59,8 @@ var _default = /*#__PURE__*/function () {
59
59
  body.push(w.importStmt(['Coin'], '@cosmjs/amino'));
60
60
  }
61
61
 
62
- body.push(w.importStmt(Object.keys(typeHash), "./".concat(Contract).replace(/\.ts$/, ''))); // execute messages
62
+ body.push(w.importStmt(Object.keys(typeHash), "./".concat(Contract).replace(/\.ts$/, '')));
63
+ context = new w.RenderContext((0, _utils.getDefinitionSchema)(schemas)); // execute messages
63
64
 
64
65
  if (ExecuteMsg) {
65
66
  children = (0, w.getMessageProperties)(ExecuteMsg);
@@ -67,8 +68,8 @@ var _default = /*#__PURE__*/function () {
67
68
  if (children.length > 0) {
68
69
  TheClass = (0, _case.pascal)("".concat(name, "MessageComposer"));
69
70
  Interface = (0, _case.pascal)("".concat(name, "Message"));
70
- body.push(w.createFromPartialInterface(Interface, ExecuteMsg));
71
- body.push(w.createFromPartialClass(TheClass, Interface, ExecuteMsg));
71
+ body.push(w.createFromPartialInterface(context, Interface, ExecuteMsg));
72
+ body.push(w.createFromPartialClass(context, TheClass, Interface, ExecuteMsg));
72
73
  }
73
74
  }
74
75
 
@@ -76,7 +77,7 @@ var _default = /*#__PURE__*/function () {
76
77
  (0, _mkdirp.sync)(outPath);
77
78
  (0, _fs.writeFileSync)((0, _path.join)(outPath, FromPartialFile), code);
78
79
 
79
- case 16:
80
+ case 17:
80
81
  case "end":
81
82
  return _context.stop();
82
83
  }
@@ -15,7 +15,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
15
15
 
16
16
  var _case = require("case");
17
17
 
18
- var _header = require("./header");
18
+ var _header = require("../utils/header");
19
19
 
20
20
  var _path = require("path");
21
21
 
@@ -29,42 +29,72 @@ var _fs = require("fs");
29
29
 
30
30
  var _generator = _interopRequireDefault(require("@babel/generator"));
31
31
 
32
- var _utils = require("./utils");
32
+ var _utils = require("../utils");
33
+
34
+ var _imports = require("../utils/imports");
33
35
 
34
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); }
35
37
 
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, options) {
40
- var ReactQueryFile, Contract, QueryMsg, typeHash, QueryClient, ReadOnlyInstance, body, code;
41
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(contractName, schemas, outPath, reactQueryOptions) {
42
+ var context, options, ReactQueryFile, Contract, QueryMsg, ExecuteMsg, typeHash, ExecuteClient, QueryClient, body, reactQueryImports, clientImports, shouldGenerateMutationHooks, 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
- ReactQueryFile = (0, _case.pascal)("".concat(name, "Contract")) + '.react-query.ts';
46
- Contract = (0, _case.pascal)("".concat(name, "Contract"));
47
+ context = new w.RenderContext((0, _utils.getDefinitionSchema)(schemas), {
48
+ reactQuery: reactQueryOptions !== null && reactQueryOptions !== void 0 ? reactQueryOptions : {}
49
+ });
50
+ options = context.options.reactQuery;
51
+ ReactQueryFile = (0, _case.pascal)("".concat(contractName, "Contract")) + '.react-query.ts';
52
+ Contract = (0, _case.pascal)("".concat(contractName, "Contract"));
47
53
  QueryMsg = (0, _utils.findQueryMsg)(schemas);
48
- _context.next = 5;
54
+ ExecuteMsg = (0, _utils.findExecuteMsg)(schemas);
55
+ _context.next = 8;
49
56
  return (0, _utils.findAndParseTypes)(schemas);
50
57
 
51
- case 5:
58
+ case 8:
52
59
  typeHash = _context.sent;
53
- QueryClient = null;
54
- ReadOnlyInstance = null;
60
+ ExecuteClient = (0, _case.pascal)("".concat(contractName, "Client"));
61
+ QueryClient = (0, _case.pascal)("".concat(contractName, "QueryClient"));
55
62
  body = [];
56
- body.push(w.importStmt(['useQuery', 'UseQueryOptions'], options !== null && options !== void 0 && options.v4 ? '@tanstack/react-query' : 'react-query'));
57
- body.push(w.importStmt(Object.keys(typeHash), "./".concat(Contract))); // query messages
63
+ reactQueryImports = ['useQuery', 'UseQueryOptions'];
64
+ clientImports = [];
65
+ QueryMsg && clientImports.push(QueryClient); // check that there are commands within the exec msg
66
+
67
+ shouldGenerateMutationHooks = ExecuteMsg && (options === null || options === void 0 ? void 0 : options.v4) && (options === null || options === void 0 ? void 0 : options.mutations) && (0, w.getMessageProperties)(ExecuteMsg).length > 0;
68
+
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
+ clientImports.push(ExecuteClient);
74
+ } // react-query imports
75
+
76
+
77
+ body.push(w.importStmt(reactQueryImports, options !== null && options !== void 0 && options.v4 ? '@tanstack/react-query' : 'react-query')); // general contract imports
78
+
79
+ body.push(w.importStmt(Object.keys(typeHash), "./".concat(Contract))); // client imports
80
+
81
+ body.push(w.importStmt(clientImports, "./".concat(Contract))); // query messages
58
82
 
59
83
  if (QueryMsg) {
60
- QueryClient = (0, _case.pascal)("".concat(name, "QueryClient"));
61
- ReadOnlyInstance = (0, _case.pascal)("".concat(name, "ReadOnlyInterface"));
62
- body.push(w.importStmt([QueryClient], "./".concat(Contract)));
63
84
  [].push.apply(body, w.createReactQueryHooks({
85
+ context: context,
64
86
  queryMsg: QueryMsg,
65
- contractName: name,
66
- QueryClient: QueryClient,
67
- options: options
87
+ contractName: contractName,
88
+ QueryClient: QueryClient
89
+ }));
90
+ }
91
+
92
+ if (shouldGenerateMutationHooks) {
93
+ [].push.apply(body, w.createReactQueryMutationHooks({
94
+ context: context,
95
+ execMsg: ExecuteMsg,
96
+ contractName: contractName,
97
+ ExecuteClient: ExecuteClient
68
98
  }));
69
99
  }
70
100
 
@@ -72,7 +102,7 @@ var _default = /*#__PURE__*/function () {
72
102
  (0, _mkdirp.sync)(outPath);
73
103
  (0, _fs.writeFileSync)((0, _path.join)(outPath, ReactQueryFile), code);
74
104
 
75
- case 15:
105
+ case 25:
76
106
  case "end":
77
107
  return _context.stop();
78
108
  }
@@ -15,7 +15,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
15
15
 
16
16
  var _case = require("case");
17
17
 
18
- var _header = require("./header");
18
+ var _header = require("../utils/header");
19
19
 
20
20
  var _path = require("path");
21
21
 
@@ -29,7 +29,7 @@ var _fs = require("fs");
29
29
 
30
30
  var _generator = _interopRequireDefault(require("@babel/generator"));
31
31
 
32
- var _utils = require("./utils");
32
+ var _utils = require("../utils");
33
33
 
34
34
  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); }
35
35
 
@@ -37,7 +37,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
37
37
 
38
38
  var _default = /*#__PURE__*/function () {
39
39
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, schemas, outPath) {
40
- var RecoilFile, Contract, QueryMsg, typeHash, QueryClient, ReadOnlyInstance, body, code;
40
+ var RecoilFile, Contract, QueryMsg, typeHash, QueryClient, ReadOnlyInstance, body, context, code;
41
41
  return _regenerator["default"].wrap(function _callee$(_context) {
42
42
  while (1) {
43
43
  switch (_context.prev = _context.next) {
@@ -55,22 +55,23 @@ var _default = /*#__PURE__*/function () {
55
55
  body = [];
56
56
  body.push(w.importStmt(['selectorFamily'], 'recoil'));
57
57
  body.push(w.importStmt(['cosmWasmClient'], './chain'));
58
- body.push(w.importStmt(Object.keys(typeHash), "./".concat(Contract).replace(/\.ts$/, ''))); // query messages
58
+ body.push(w.importStmt(Object.keys(typeHash), "./".concat(Contract).replace(/\.ts$/, '')));
59
+ context = new w.RenderContext((0, _utils.getDefinitionSchema)(schemas)); // query messages
59
60
 
60
61
  if (QueryMsg) {
61
62
  QueryClient = (0, _case.pascal)("".concat(name, "QueryClient"));
62
63
  ReadOnlyInstance = (0, _case.pascal)("".concat(name, "ReadOnlyInterface"));
63
64
  body.push(w.importStmt([QueryClient], "./".concat(Contract)));
64
65
  body.push(w.createRecoilQueryClientType());
65
- body.push(w.createRecoilQueryClient(name, QueryClient));
66
- [].push.apply(body, w.createRecoilSelectors(name, QueryClient, QueryMsg));
66
+ body.push(w.createRecoilQueryClient(context, name, QueryClient));
67
+ [].push.apply(body, w.createRecoilSelectors(context, name, QueryClient, QueryMsg));
67
68
  }
68
69
 
69
70
  code = _header.header + (0, _generator["default"])(t.program(body)).code;
70
71
  (0, _mkdirp.sync)(outPath);
71
72
  (0, _fs.writeFileSync)((0, _path.join)(outPath, RecoilFile), code);
72
73
 
73
- case 16:
74
+ case 17:
74
75
  case "end":
75
76
  return _context.stop();
76
77
  }
@@ -15,7 +15,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
15
15
 
16
16
  var _case = require("case");
17
17
 
18
- var _header = require("./header");
18
+ var _header = require("../utils/header");
19
19
 
20
20
  var _path = require("path");
21
21
 
@@ -29,9 +29,11 @@ var _fs = require("fs");
29
29
 
30
30
  var _generator = _interopRequireDefault(require("@babel/generator"));
31
31
 
32
- var _clean = require("./clean");
32
+ var _clean = require("../utils/clean");
33
33
 
34
- var _utils = require("./utils");
34
+ var _utils = require("../utils");
35
+
36
+ var _imports = require("../utils/imports");
35
37
 
36
38
  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
39
 
@@ -39,7 +41,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
39
41
 
40
42
  var _default = /*#__PURE__*/function () {
41
43
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, schemas, outPath) {
42
- var Contract, QueryMsg, ExecuteMsg, typeHash, Client, Instance, QueryClient, ReadOnlyInstance, body, children, code;
44
+ var Contract, QueryMsg, ExecuteMsg, typeHash, Client, Instance, QueryClient, ReadOnlyInstance, body, context, children, code;
43
45
  return _regenerator["default"].wrap(function _callee$(_context) {
44
46
  while (1) {
45
47
  switch (_context.prev = _context.next) {
@@ -58,23 +60,20 @@ var _default = /*#__PURE__*/function () {
58
60
  ReadOnlyInstance = null;
59
61
  body = [];
60
62
  body.push(w.importStmt(['CosmWasmClient', 'ExecuteResult', 'SigningCosmWasmClient'], '@cosmjs/cosmwasm-stargate'));
61
-
62
- if (typeHash.hasOwnProperty('Coin')) {
63
- body.push(w.importStmt(['StdFee'], '@cosmjs/amino'));
64
- } else {
65
- body.push(w.importStmt(['Coin', 'StdFee'], '@cosmjs/amino'));
66
- } // TYPES
67
-
63
+ body.push((0, _imports.cosmjsAminoImportStatements)(typeHash)); // TYPES
68
64
 
69
65
  Object.values(typeHash).forEach(function (type) {
70
66
  body.push((0, _clean.clean)(type));
71
- }); // query messages
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
72
71
 
73
72
  if (QueryMsg) {
74
73
  QueryClient = (0, _case.pascal)("".concat(name, "QueryClient"));
75
74
  ReadOnlyInstance = (0, _case.pascal)("".concat(name, "ReadOnlyInterface"));
76
- body.push(w.createQueryInterface(ReadOnlyInstance, QueryMsg));
77
- body.push(w.createQueryClass(QueryClient, ReadOnlyInstance, QueryMsg));
75
+ body.push(w.createQueryInterface(context, ReadOnlyInstance, QueryMsg));
76
+ body.push(w.createQueryClass(context, QueryClient, ReadOnlyInstance, QueryMsg));
78
77
  } // execute messages
79
78
 
80
79
 
@@ -84,8 +83,8 @@ var _default = /*#__PURE__*/function () {
84
83
  if (children.length > 0) {
85
84
  Client = (0, _case.pascal)("".concat(name, "Client"));
86
85
  Instance = (0, _case.pascal)("".concat(name, "Interface"));
87
- body.push(w.createExecuteInterface(Instance, ReadOnlyInstance, ExecuteMsg));
88
- body.push(w.createExecuteClass(Client, Instance, QueryClient, ExecuteMsg));
86
+ body.push(w.createExecuteInterface(context, Instance, ReadOnlyInstance, ExecuteMsg));
87
+ body.push(w.createExecuteClass(context, Client, Instance, QueryClient, ExecuteMsg));
89
88
  }
90
89
  }
91
90
 
@@ -93,7 +92,7 @@ var _default = /*#__PURE__*/function () {
93
92
  (0, _mkdirp.sync)(outPath);
94
93
  (0, _fs.writeFileSync)((0, _path.join)(outPath, Contract), code);
95
94
 
96
- case 19:
95
+ case 21:
97
96
  case "end":
98
97
  return _context.stop();
99
98
  }
package/main/index.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  var _exportNames = {
9
- generate: true,
9
+ tsClient: true,
10
10
  fromPartial: true,
11
11
  reactQuery: true,
12
12
  recoil: true
@@ -17,12 +17,6 @@ Object.defineProperty(exports, "fromPartial", {
17
17
  return _fromPartial["default"];
18
18
  }
19
19
  });
20
- Object.defineProperty(exports, "generate", {
21
- enumerable: true,
22
- get: function get() {
23
- return _generate["default"];
24
- }
25
- });
26
20
  Object.defineProperty(exports, "reactQuery", {
27
21
  enumerable: true,
28
22
  get: function get() {
@@ -35,14 +29,20 @@ Object.defineProperty(exports, "recoil", {
35
29
  return _recoil["default"];
36
30
  }
37
31
  });
32
+ Object.defineProperty(exports, "tsClient", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _tsClient["default"];
36
+ }
37
+ });
38
38
 
39
- var _generate = _interopRequireDefault(require("./generate"));
39
+ var _tsClient = _interopRequireDefault(require("./generators/ts-client"));
40
40
 
41
- var _fromPartial = _interopRequireDefault(require("./from-partial"));
41
+ var _fromPartial = _interopRequireDefault(require("./generators/from-partial"));
42
42
 
43
- var _reactQuery = _interopRequireDefault(require("./react-query"));
43
+ var _reactQuery = _interopRequireDefault(require("./generators/react-query"));
44
44
 
45
- var _recoil = _interopRequireDefault(require("./recoil"));
45
+ var _recoil = _interopRequireDefault(require("./generators/recoil"));
46
46
 
47
47
  var _utils = require("./utils");
48
48
 
@@ -56,4 +56,18 @@ Object.keys(_utils).forEach(function (key) {
56
56
  return _utils[key];
57
57
  }
58
58
  });
59
+ });
60
+
61
+ var _imports = require("./utils/imports");
62
+
63
+ Object.keys(_imports).forEach(function (key) {
64
+ if (key === "default" || key === "__esModule") return;
65
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
66
+ if (key in exports && exports[key] === _imports[key]) return;
67
+ Object.defineProperty(exports, key, {
68
+ enumerable: true,
69
+ get: function get() {
70
+ return _imports[key];
71
+ }
72
+ });
59
73
  });
File without changes
File without changes
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.header = void 0;
9
9
 
10
- var _package = _interopRequireDefault(require("../package.json"));
10
+ var _package = _interopRequireDefault(require("../../package.json"));
11
11
 
12
12
  var version = process.env.NODE_ENV === 'test' ? 'latest' : _package["default"].version;
13
13
  var header = "/**\n* This file was automatically generated by ".concat(_package["default"].name, "@").concat(version, ".\n* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,\n* and run the ").concat(_package["default"].name, " generate command to regenerate this file.\n*/\n\n");
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.cosmjsAminoImportStatements = void 0;
9
+
10
+ var w = _interopRequireWildcard(require("wasm-ast-types"));
11
+
12
+ 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); }
13
+
14
+ 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; }
15
+
16
+ var cosmjsAminoImportStatements = function cosmjsAminoImportStatements(typeHash) {
17
+ var cosmjsImports = ['StdFee']; // If the coin is not provided by the generation already, import it from cosmjs
18
+
19
+ if (!typeHash.hasOwnProperty('Coin')) {
20
+ cosmjsImports.unshift('Coin');
21
+ }
22
+
23
+ return w.importStmt(cosmjsImports, '@cosmjs/amino');
24
+ };
25
+
26
+ exports.cosmjsAminoImportStatements = cosmjsAminoImportStatements;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _schemas = require("./schemas");
8
+
9
+ Object.keys(_schemas).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _schemas[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _schemas[key];
16
+ }
17
+ });
18
+ });
File without changes
File without changes