@cosmwasm/ts-codegen 0.34.1 → 0.35.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 (82) hide show
  1. package/README.md +84 -21
  2. package/main/builder/builder.js +145 -247
  3. package/main/builder/index.js +0 -2
  4. package/main/bundler/bundler.js +3 -16
  5. package/main/bundler/index.js +0 -2
  6. package/main/cli.js +20 -38
  7. package/main/cmds.js +0 -5
  8. package/main/commands/create-boilerplate.js +132 -160
  9. package/main/commands/generate.js +168 -192
  10. package/main/commands/install.js +89 -123
  11. package/main/file.js +13 -25
  12. package/main/generators/client.js +55 -81
  13. package/main/generators/create-helpers.js +0 -14
  14. package/main/generators/message-composer.js +42 -68
  15. package/main/generators/msg-builder.js +49 -78
  16. package/main/generators/react-query.js +68 -92
  17. package/main/generators/recoil.js +47 -71
  18. package/main/generators/types.js +45 -73
  19. package/main/helpers/index.js +0 -6
  20. package/main/index.js +8 -30
  21. package/main/plugins/client.js +56 -90
  22. package/main/plugins/index.js +0 -2
  23. package/main/plugins/{msg-builder.js → message-builder.js} +56 -93
  24. package/main/plugins/message-composer.js +42 -76
  25. package/main/plugins/plugin-base.js +40 -70
  26. package/main/plugins/provider-bundle.js +42 -81
  27. package/main/plugins/provider.js +58 -103
  28. package/main/plugins/react-query.js +67 -99
  29. package/main/plugins/recoil.js +45 -82
  30. package/main/plugins/types.js +34 -68
  31. package/main/ts-codegen.js +7 -15
  32. package/main/utils/clean.js +8 -17
  33. package/main/utils/cleanse.js +10 -25
  34. package/main/utils/files.js +2 -22
  35. package/main/utils/header.js +0 -3
  36. package/main/utils/index.js +0 -2
  37. package/main/utils/parse.js +2 -7
  38. package/main/utils/prompt.js +16 -36
  39. package/main/utils/schemas.js +86 -133
  40. package/main/utils/unused.js +4 -15
  41. package/module/builder/builder.js +12 -33
  42. package/module/bundler/bundler.js +3 -3
  43. package/module/cli.js +0 -1
  44. package/module/commands/create-boilerplate.js +6 -19
  45. package/module/commands/generate.js +13 -18
  46. package/module/commands/install.js +14 -17
  47. package/module/file.js +0 -3
  48. package/module/generators/client.js +6 -7
  49. package/module/generators/create-helpers.js +0 -4
  50. package/module/generators/message-composer.js +4 -5
  51. package/module/generators/msg-builder.js +10 -14
  52. package/module/generators/react-query.js +8 -9
  53. package/module/generators/recoil.js +2 -3
  54. package/module/generators/types.js +4 -6
  55. package/module/plugins/client.js +4 -10
  56. package/module/plugins/{msg-builder.js → message-builder.js} +10 -18
  57. package/module/plugins/message-composer.js +4 -10
  58. package/module/plugins/plugin-base.js +10 -10
  59. package/module/plugins/provider-bundle.js +0 -10
  60. package/module/plugins/provider.js +0 -14
  61. package/module/plugins/react-query.js +8 -13
  62. package/module/plugins/recoil.js +2 -9
  63. package/module/plugins/types.js +4 -7
  64. package/module/ts-codegen.js +0 -2
  65. package/module/utils/clean.js +8 -13
  66. package/module/utils/cleanse.js +10 -21
  67. package/module/utils/files.js +2 -6
  68. package/module/utils/parse.js +2 -4
  69. package/module/utils/prompt.js +0 -5
  70. package/module/utils/schemas.js +2 -13
  71. package/module/utils/unused.js +4 -6
  72. package/package.json +3 -3
  73. package/src/builder/builder.ts +7 -6
  74. package/src/commands/generate.ts +13 -12
  75. package/src/generators/msg-builder.ts +7 -9
  76. package/src/plugins/{msg-builder.ts → message-builder.ts} +6 -6
  77. package/src/plugins/message-composer.ts +2 -2
  78. package/types/src/builder/builder.d.ts +3 -2
  79. package/types/src/generators/msg-builder.d.ts +2 -2
  80. package/types/src/generators/msg-builder.ts +2 -2
  81. package/types/src/plugins/message-builder.d.ts +12 -0
  82. package/types/src/plugins/msg-builder.d.ts +1 -1
@@ -1,40 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.clean = void 0;
9
-
10
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
-
12
9
  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
10
+ var copy;
11
+ // Handle the 3 simple types, and null or undefined
12
+ if (null == obj || 'object' != (0, _typeof2["default"])(obj)) return obj;
16
13
 
14
+ // Handle Date
17
15
  if (obj instanceof Date) {
18
16
  copy = new Date();
19
17
  copy.setTime(obj.getTime());
20
18
  return copy;
21
- } // Handle Array
22
-
19
+ }
23
20
 
21
+ // Handle Array
24
22
  if (obj instanceof Array) {
25
23
  copy = [];
26
-
27
24
  for (var i = 0, len = obj.length; i < len; i++) {
28
25
  copy[i] = clean(obj[i]);
29
26
  }
30
-
31
27
  return copy;
32
- } // Handle Object
33
-
28
+ }
34
29
 
30
+ // Handle Object
35
31
  if (obj instanceof Object || (0, _typeof2["default"])(obj) === 'object') {
36
32
  copy = {};
37
-
38
33
  for (var attr in obj) {
39
34
  if (obj.hasOwnProperty(attr)) {
40
35
  switch (attr) {
@@ -44,7 +39,6 @@ var clean = function clean(obj) {
44
39
  case 'start':
45
40
  case 'end':
46
41
  break;
47
-
48
42
  default:
49
43
  copy[attr] = clean(obj[attr]);
50
44
  }
@@ -52,11 +46,8 @@ var clean = function clean(obj) {
52
46
  copy[attr] = clean(obj[attr]);
53
47
  }
54
48
  }
55
-
56
49
  return copy;
57
50
  }
58
-
59
51
  throw new Error("Unable to copy obj! Its type isn't supported.");
60
52
  };
61
-
62
53
  exports.clean = clean;
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.cleanse = void 0;
9
-
10
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
-
12
9
  var _case = require("case");
13
-
14
10
  var cleanFor = function cleanFor(str) {
15
11
  /*
16
12
  1. look at first char after _for_
@@ -20,52 +16,46 @@ var cleanFor = function cleanFor(str) {
20
16
  var m = str.match(/(_[a-z]+_)[A-Z]/);
21
17
  str = str.replace(m[1], (0, _case.pascal)(m[1]));
22
18
  }
23
-
24
19
  return str;
25
20
  };
26
-
27
21
  var cleanNullable = function cleanNullable(str) {
28
22
  if (/^Nullable_/.test(str)) {
29
23
  str = str.replace(/^Nullable_/, 'Nullable');
30
24
  }
31
-
32
25
  return str;
33
26
  };
34
-
35
27
  var cleanse = function cleanse(obj) {
36
- var copy; // Handle the 3 simple types, and null or undefined
37
-
38
- if (null == obj || 'object' != (0, _typeof2["default"])(obj)) return obj; // Handle Date
28
+ var copy;
29
+ // Handle the 3 simple types, and null or undefined
30
+ if (null == obj || 'object' != (0, _typeof2["default"])(obj)) return obj;
39
31
 
32
+ // Handle Date
40
33
  if (obj instanceof Date) {
41
34
  copy = new Date();
42
35
  copy.setTime(obj.getTime());
43
36
  return copy;
44
- } // Handle Array
45
-
37
+ }
46
38
 
39
+ // Handle Array
47
40
  if (obj instanceof Array) {
48
41
  copy = [];
49
-
50
42
  for (var i = 0, len = obj.length; i < len; i++) {
51
43
  copy[i] = cleanse(obj[i]);
52
44
  }
53
-
54
45
  return copy;
55
- } // Handle Object
56
-
46
+ }
57
47
 
48
+ // Handle Object
58
49
  if (obj instanceof Object || (0, _typeof2["default"])(obj) === 'object') {
59
- copy = {}; // https://github.com/CosmWasm/cosmwasm-typescript-gen/issues/27
50
+ copy = {};
60
51
 
52
+ // https://github.com/CosmWasm/cosmwasm-typescript-gen/issues/27
61
53
  if (Array.isArray(obj["enum"]) && obj["enum"].length === 0) {
62
54
  delete obj["enum"];
63
-
64
55
  if (!obj.type) {
65
56
  obj.type = 'string';
66
57
  }
67
58
  }
68
-
69
59
  for (var attr in obj) {
70
60
  if (obj.hasOwnProperty(attr)) {
71
61
  if (/_for_/.test(attr)) {
@@ -81,9 +71,7 @@ var cleanse = function cleanse(obj) {
81
71
  } else {
82
72
  copy[attr] = cleanse(obj[attr]);
83
73
  }
84
-
85
74
  break;
86
-
87
75
  default:
88
76
  copy[attr] = cleanse(obj[attr]);
89
77
  }
@@ -92,11 +80,8 @@ var cleanse = function cleanse(obj) {
92
80
  copy[attr] = cleanse(obj[attr]);
93
81
  }
94
82
  }
95
-
96
83
  return copy;
97
84
  }
98
-
99
85
  throw new Error("Unable to copy obj! Its type isn't supported.");
100
86
  };
101
-
102
87
  exports.cleanse = cleanse;
@@ -1,41 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.writeContentToFile = exports.writeAstToFile = void 0;
11
-
12
9
  var t = _interopRequireWildcard(require("@babel/types"));
13
-
14
10
  var _parser = require("@babel/parser");
15
-
16
11
  var _mkdirp = require("mkdirp");
17
-
18
12
  var _fs = require("fs");
19
-
20
13
  var _path = require("path");
21
-
22
14
  var _generator = _interopRequireDefault(require("@babel/generator"));
23
-
24
15
  var _unused = require("./unused");
25
-
26
16
  var _traverse = _interopRequireDefault(require("@babel/traverse"));
27
-
28
17
  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); }
29
-
30
18
  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; }
31
-
32
19
  var writeAstToFile = function writeAstToFile(outPath, program, filename) {
33
20
  var removeUnusedImports = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
34
21
  var isTsDisable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
35
22
  var isEslintDisable = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
36
23
  var ast = t.program(program);
37
24
  var content = (0, _generator["default"])(ast).code;
38
-
39
25
  if (removeUnusedImports) {
40
26
  var plugins = ["typescript"];
41
27
  var newAst = (0, _parser.parse)(content, {
@@ -49,29 +35,23 @@ var writeAstToFile = function writeAstToFile(outPath, program, filename) {
49
35
  writeContentToFile(outPath, content, filename, isTsDisable, isEslintDisable);
50
36
  }
51
37
  };
52
-
53
38
  exports.writeAstToFile = writeAstToFile;
54
-
55
39
  var writeContentToFile = function writeContentToFile(outPath, content, filename) {
56
40
  var isTsDisable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
57
41
  var isEslintDisable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
58
42
  var esLintPrefix = "";
59
43
  var tsLintPrefix = "";
60
- var nameWithoutPath = filename.replace(outPath, ""); // strip off leading slash
61
-
44
+ var nameWithoutPath = filename.replace(outPath, "");
45
+ // strip off leading slash
62
46
  if (nameWithoutPath.startsWith("/")) nameWithoutPath = nameWithoutPath.replace(/^\//, "");
63
-
64
47
  if (isTsDisable) {
65
48
  tsLintPrefix = "//@ts-nocheck\n";
66
49
  }
67
-
68
50
  if (isEslintDisable) {
69
51
  esLintPrefix = "/* eslint-disable */\n";
70
52
  }
71
-
72
53
  var text = tsLintPrefix + esLintPrefix + content;
73
54
  (0, _mkdirp.sync)((0, _path.dirname)(filename));
74
55
  (0, _fs.writeFileSync)(filename, text);
75
56
  };
76
-
77
57
  exports.writeContentToFile = writeContentToFile;
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.header = void 0;
9
-
10
8
  var _package = _interopRequireDefault(require("../../package.json"));
11
-
12
9
  var version = process.env.NODE_ENV === 'test' ? 'latest' : _package["default"].version;
13
10
  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");
14
11
  exports.header = header;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _schemas = require("./schemas");
8
-
9
7
  Object.keys(_schemas).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _schemas[key]) return;
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.parser = void 0;
9
-
10
8
  var _traverse = _interopRequireDefault(require("@babel/traverse"));
11
-
12
9
  var _parser = require("@babel/parser");
13
-
14
10
  var parser = function parser(codes) {
15
11
  var hash = {};
16
12
  codes.forEach(function (code) {
@@ -28,13 +24,12 @@ var parser = function parser(codes) {
28
24
  });
29
25
  return hash;
30
26
  };
31
-
32
27
  exports.parser = parser;
33
-
34
28
  var visitorFn = function visitorFn(parser) {
35
29
  return {
36
30
  TSTypeAliasDeclaration: function TSTypeAliasDeclaration(path) {
37
- parser.addType(path.node.id.name, path.parentPath.node); // if (path.node.id.name.endsWith('For_Empty')) {
31
+ parser.addType(path.node.id.name, path.parentPath.node);
32
+ // if (path.node.id.name.endsWith('For_Empty')) {
38
33
  // const newName = path.node.id.name.replace(/For_Empty$/, '_for_Empty');
39
34
  // path.parentPath.node.declaration.id.name = newName;
40
35
  // parser.addType(newName, path.parentPath.node);
@@ -1,26 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.prompt = exports.getFuzzySearchNames = exports.getFuzzySearch = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var _fuzzy = require("fuzzy");
17
-
18
12
  var _inquirerer = require("inquirerer");
19
-
20
13
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
-
22
14
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
-
24
15
  var getFuzzySearch = function getFuzzySearch(list) {
25
16
  return function (answers, input) {
26
17
  input = input || '';
@@ -34,13 +25,11 @@ var getFuzzySearch = function getFuzzySearch(list) {
34
25
  });
35
26
  };
36
27
  };
37
-
38
28
  exports.getFuzzySearch = getFuzzySearch;
39
-
40
29
  var getFuzzySearchNames = function getFuzzySearchNames(nameValueItemList) {
41
30
  var list = nameValueItemList.map(function (_ref) {
42
31
  var name = _ref.name,
43
- value = _ref.value;
32
+ value = _ref.value;
44
33
  return name;
45
34
  });
46
35
  return function (answers, input) {
@@ -51,7 +40,7 @@ var getFuzzySearchNames = function getFuzzySearchNames(nameValueItemList) {
51
40
  resolve(fuzzyResult.map(function (el) {
52
41
  return nameValueItemList.find(function (_ref2) {
53
42
  var name = _ref2.name,
54
- value = _ref2.value;
43
+ value = _ref2.value;
55
44
  return el.original == name;
56
45
  });
57
46
  }));
@@ -59,9 +48,7 @@ var getFuzzySearchNames = function getFuzzySearchNames(nameValueItemList) {
59
48
  });
60
49
  };
61
50
  };
62
-
63
51
  exports.getFuzzySearchNames = getFuzzySearchNames;
64
-
65
52
  var transform = function transform(questions) {
66
53
  return questions.map(function (q) {
67
54
  if (q.type === 'fuzzy') {
@@ -83,36 +70,29 @@ var transform = function transform(questions) {
83
70
  }
84
71
  });
85
72
  };
86
-
87
73
  var prompt = /*#__PURE__*/function () {
88
74
  var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
89
75
  var questions,
90
- argv,
91
- _args = arguments;
76
+ argv,
77
+ _args = arguments;
92
78
  return _regenerator["default"].wrap(function _callee$(_context) {
93
- while (1) {
94
- switch (_context.prev = _context.next) {
95
- case 0:
96
- questions = _args.length > 0 && _args[0] !== undefined ? _args[0] : [];
97
- argv = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
98
- questions = transform(questions);
99
- _context.next = 5;
100
- return (0, _inquirerer.prompt)(questions, argv);
101
-
102
- case 5:
103
- return _context.abrupt("return", _context.sent);
104
-
105
- case 6:
106
- case "end":
107
- return _context.stop();
108
- }
79
+ while (1) switch (_context.prev = _context.next) {
80
+ case 0:
81
+ questions = _args.length > 0 && _args[0] !== undefined ? _args[0] : [];
82
+ argv = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
83
+ questions = transform(questions);
84
+ _context.next = 5;
85
+ return (0, _inquirerer.prompt)(questions, argv);
86
+ case 5:
87
+ return _context.abrupt("return", _context.sent);
88
+ case 6:
89
+ case "end":
90
+ return _context.stop();
109
91
  }
110
92
  }, _callee);
111
93
  }));
112
-
113
94
  return function prompt() {
114
95
  return _ref3.apply(this, arguments);
115
96
  };
116
97
  }();
117
-
118
98
  exports.prompt = prompt;