@cosmwasm/ts-codegen 0.25.2 → 0.27.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 (50) hide show
  1. package/README.md +26 -0
  2. package/main/builder/builder.js +165 -254
  3. package/main/commands/generate.js +3 -0
  4. package/main/generators/msg-builder.js +113 -0
  5. package/main/index.js +14 -0
  6. package/main/plugins/client.js +141 -0
  7. package/main/plugins/index.js +18 -0
  8. package/main/plugins/message-composer.js +128 -0
  9. package/main/plugins/msg-builder.js +139 -0
  10. package/main/plugins/plugin-base.js +126 -0
  11. package/main/plugins/react-query.js +152 -0
  12. package/main/plugins/recoil.js +145 -0
  13. package/main/plugins/types.js +123 -0
  14. package/module/builder/builder.js +63 -109
  15. package/module/commands/generate.js +3 -0
  16. package/module/generators/msg-builder.js +62 -0
  17. package/module/index.js +1 -0
  18. package/module/plugins/client.js +66 -0
  19. package/module/plugins/index.js +1 -0
  20. package/module/plugins/message-composer.js +53 -0
  21. package/module/plugins/msg-builder.js +63 -0
  22. package/module/plugins/plugin-base.js +59 -0
  23. package/module/plugins/react-query.js +77 -0
  24. package/module/plugins/recoil.js +64 -0
  25. package/module/plugins/types.js +45 -0
  26. package/package.json +3 -3
  27. package/src/builder/builder.ts +82 -82
  28. package/src/commands/generate.ts +3 -0
  29. package/src/generators/msg-builder.ts +80 -0
  30. package/src/index.ts +1 -0
  31. package/src/plugins/client.ts +108 -0
  32. package/src/plugins/index.ts +1 -0
  33. package/src/plugins/message-composer.ts +80 -0
  34. package/src/plugins/msg-builder.ts +85 -0
  35. package/src/plugins/plugin-base.ts +112 -0
  36. package/src/plugins/react-query.ts +115 -0
  37. package/src/plugins/recoil.ts +89 -0
  38. package/src/plugins/types.ts +74 -0
  39. package/types/src/builder/builder.d.ts +13 -9
  40. package/types/src/generators/msg-builder.d.ts +5 -0
  41. package/types/src/generators/msg-builder.ts +5 -0
  42. package/types/src/index.d.ts +1 -0
  43. package/types/src/plugins/client.d.ts +12 -0
  44. package/types/src/plugins/index.d.ts +1 -0
  45. package/types/src/plugins/message-composer.d.ts +12 -0
  46. package/types/src/plugins/msg-builder.d.ts +12 -0
  47. package/types/src/plugins/plugin-base.d.ts +47 -0
  48. package/types/src/plugins/react-query.d.ts +12 -0
  49. package/types/src/plugins/recoil.d.ts +13 -0
  50. package/types/src/plugins/types.d.ts +12 -0
@@ -0,0 +1,113 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ var _case = require("case");
19
+
20
+ var _header = require("../utils/header");
21
+
22
+ var _path = require("path");
23
+
24
+ var _mkdirp = require("mkdirp");
25
+
26
+ var w = _interopRequireWildcard(require("wasm-ast-types"));
27
+
28
+ var t = _interopRequireWildcard(require("@babel/types"));
29
+
30
+ var _fs = require("fs");
31
+
32
+ var _generator = _interopRequireDefault(require("@babel/generator"));
33
+
34
+ var _utils = require("../utils");
35
+
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
+
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
+
40
+ var _default = /*#__PURE__*/function () {
41
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, contractInfo, outPath, msgBuilderOptions) {
42
+ var schemas, context, localname, TypesFile, ExecuteMsg, typeHash, body, children, className, QueryMsg, _children, _className, imports, code;
43
+
44
+ return _regenerator["default"].wrap(function _callee$(_context) {
45
+ while (1) {
46
+ switch (_context.prev = _context.next) {
47
+ case 0:
48
+ schemas = contractInfo.schemas;
49
+ context = new w.RenderContext(contractInfo, {
50
+ msgBuilder: msgBuilderOptions !== null && msgBuilderOptions !== void 0 ? msgBuilderOptions : {}
51
+ });
52
+ localname = (0, _case.pascal)(name) + ".msg-builder.ts";
53
+ TypesFile = (0, _case.pascal)(name) + ".types";
54
+ ExecuteMsg = (0, _utils.findExecuteMsg)(schemas);
55
+ _context.next = 7;
56
+ return (0, _utils.findAndParseTypes)(schemas);
57
+
58
+ case 7:
59
+ typeHash = _context.sent;
60
+ body = [];
61
+ body.push(w.importStmt(Object.keys(typeHash), "./".concat(TypesFile)));
62
+ body.push(w.importStmt(["CamelCasedProperties"], "type-fest")); // execute messages
63
+
64
+ if (ExecuteMsg) {
65
+ children = (0, w.getMessageProperties)(ExecuteMsg);
66
+
67
+ if (children.length > 0) {
68
+ className = (0, _case.pascal)("".concat(name, "ExecuteMsgBuilder"));
69
+ body.push(w.createMsgBuilderClass(context, className, ExecuteMsg));
70
+ }
71
+ }
72
+
73
+ QueryMsg = (0, _utils.findQueryMsg)(schemas); // query messages
74
+
75
+ if (QueryMsg) {
76
+ _children = (0, w.getMessageProperties)(QueryMsg);
77
+
78
+ if (_children.length > 0) {
79
+ _className = (0, _case.pascal)("".concat(name, "QueryMsgBuilder"));
80
+ body.push(w.createMsgBuilderClass(context, _className, QueryMsg));
81
+ }
82
+ }
83
+
84
+ if (typeHash.hasOwnProperty("Coin")) {
85
+ // @ts-ignore
86
+ delete context.utils.Coin;
87
+ }
88
+
89
+ imports = context.getImports();
90
+ code = _header.header + (0, _generator["default"])(t.program([].concat((0, _toConsumableArray2["default"])(imports), body))).code;
91
+ (0, _mkdirp.sync)(outPath);
92
+ (0, _fs.writeFileSync)((0, _path.join)(outPath, localname), code);
93
+ return _context.abrupt("return", [{
94
+ type: "msg-builder",
95
+ contract: name,
96
+ localname: localname,
97
+ filename: (0, _path.join)(outPath, localname)
98
+ }]);
99
+
100
+ case 20:
101
+ case "end":
102
+ return _context.stop();
103
+ }
104
+ }
105
+ }, _callee);
106
+ }));
107
+
108
+ return function (_x, _x2, _x3, _x4) {
109
+ return _ref.apply(this, arguments);
110
+ };
111
+ }();
112
+
113
+ exports["default"] = _default;
package/main/index.js CHANGED
@@ -100,6 +100,20 @@ Object.keys(_bundler).forEach(function (key) {
100
100
  });
101
101
  });
102
102
 
103
+ var _plugins = require("./plugins");
104
+
105
+ Object.keys(_plugins).forEach(function (key) {
106
+ if (key === "default" || key === "__esModule") return;
107
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
108
+ if (key in exports && exports[key] === _plugins[key]) return;
109
+ Object.defineProperty(exports, key, {
110
+ enumerable: true,
111
+ get: function get() {
112
+ return _plugins[key];
113
+ }
114
+ });
115
+ });
116
+
103
117
  var _default = /*#__PURE__*/function () {
104
118
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(input) {
105
119
  var builder;
@@ -0,0 +1,141 @@
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.ClientPlugin = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _case = require("case");
27
+
28
+ var w = _interopRequireWildcard(require("wasm-ast-types"));
29
+
30
+ var _utils = require("../utils");
31
+
32
+ var _pluginBase = require("./plugin-base");
33
+
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
+
36
+ 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
+
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
+
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
+
42
+ var ClientPlugin = /*#__PURE__*/function (_BuilderPluginBase) {
43
+ (0, _inherits2["default"])(ClientPlugin, _BuilderPluginBase);
44
+
45
+ var _super = _createSuper(ClientPlugin);
46
+
47
+ function ClientPlugin() {
48
+ (0, _classCallCheck2["default"])(this, ClientPlugin);
49
+ return _super.apply(this, arguments);
50
+ }
51
+
52
+ (0, _createClass2["default"])(ClientPlugin, [{
53
+ key: "initContext",
54
+ value: function initContext(contract, options) {
55
+ return new w.RenderContext(contract, options);
56
+ }
57
+ }, {
58
+ key: "doRender",
59
+ value: function () {
60
+ var _doRender = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, context) {
61
+ var enabled, schemas, localname, TypesFile, QueryMsg, ExecuteMsg, typeHash, Client, Instance, QueryClient, ReadOnlyInstance, body, children;
62
+ return _regenerator["default"].wrap(function _callee$(_context) {
63
+ while (1) {
64
+ switch (_context.prev = _context.next) {
65
+ case 0:
66
+ enabled = this.option.client.enabled;
67
+
68
+ if (enabled) {
69
+ _context.next = 3;
70
+ break;
71
+ }
72
+
73
+ return _context.abrupt("return");
74
+
75
+ case 3:
76
+ schemas = context.contract.schemas;
77
+ localname = (0, _case.pascal)(name) + '.client.ts';
78
+ TypesFile = (0, _case.pascal)(name) + '.types';
79
+ QueryMsg = (0, _utils.findQueryMsg)(schemas);
80
+ ExecuteMsg = (0, _utils.findExecuteMsg)(schemas);
81
+ _context.next = 10;
82
+ return (0, _utils.findAndParseTypes)(schemas);
83
+
84
+ case 10:
85
+ typeHash = _context.sent;
86
+ Client = null;
87
+ Instance = null;
88
+ QueryClient = null;
89
+ ReadOnlyInstance = null;
90
+ body = [];
91
+ body.push(w.importStmt(Object.keys(typeHash), "./".concat(TypesFile))); // query messages
92
+
93
+ if (QueryMsg) {
94
+ QueryClient = (0, _case.pascal)("".concat(name, "QueryClient"));
95
+ ReadOnlyInstance = (0, _case.pascal)("".concat(name, "ReadOnlyInterface"));
96
+ body.push(w.createQueryInterface(context, ReadOnlyInstance, QueryMsg));
97
+ body.push(w.createQueryClass(context, QueryClient, ReadOnlyInstance, QueryMsg));
98
+ } // execute messages
99
+
100
+
101
+ if (ExecuteMsg) {
102
+ children = (0, w.getMessageProperties)(ExecuteMsg);
103
+
104
+ if (children.length > 0) {
105
+ Client = (0, _case.pascal)("".concat(name, "Client"));
106
+ Instance = (0, _case.pascal)("".concat(name, "Interface"));
107
+ body.push(w.createExecuteInterface(context, Instance, this.option.client.execExtendsQuery ? ReadOnlyInstance : null, ExecuteMsg));
108
+ body.push(w.createExecuteClass(context, Client, Instance, this.option.client.execExtendsQuery ? QueryClient : null, ExecuteMsg));
109
+ }
110
+ }
111
+
112
+ if (typeHash.hasOwnProperty('Coin')) {
113
+ // @ts-ignore
114
+ delete context.utils.Coin;
115
+ }
116
+
117
+ return _context.abrupt("return", [{
118
+ type: 'client',
119
+ localname: localname,
120
+ body: body
121
+ }]);
122
+
123
+ case 21:
124
+ case "end":
125
+ return _context.stop();
126
+ }
127
+ }
128
+ }, _callee, this);
129
+ }));
130
+
131
+ function doRender(_x, _x2) {
132
+ return _doRender.apply(this, arguments);
133
+ }
134
+
135
+ return doRender;
136
+ }()
137
+ }]);
138
+ return ClientPlugin;
139
+ }(_pluginBase.BuilderPluginBase);
140
+
141
+ exports.ClientPlugin = ClientPlugin;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _pluginBase = require("./plugin-base");
8
+
9
+ Object.keys(_pluginBase).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _pluginBase[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _pluginBase[key];
16
+ }
17
+ });
18
+ });
@@ -0,0 +1,128 @@
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.MessageComposerPlugin = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _case = require("case");
27
+
28
+ var w = _interopRequireWildcard(require("wasm-ast-types"));
29
+
30
+ var _utils = require("../utils");
31
+
32
+ var _pluginBase = require("./plugin-base");
33
+
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
+
36
+ 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
+
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
+
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
+
42
+ var MessageComposerPlugin = /*#__PURE__*/function (_BuilderPluginBase) {
43
+ (0, _inherits2["default"])(MessageComposerPlugin, _BuilderPluginBase);
44
+
45
+ var _super = _createSuper(MessageComposerPlugin);
46
+
47
+ function MessageComposerPlugin() {
48
+ (0, _classCallCheck2["default"])(this, MessageComposerPlugin);
49
+ return _super.apply(this, arguments);
50
+ }
51
+
52
+ (0, _createClass2["default"])(MessageComposerPlugin, [{
53
+ key: "initContext",
54
+ value: function initContext(contract, options) {
55
+ return new w.RenderContext(contract, options);
56
+ }
57
+ }, {
58
+ key: "doRender",
59
+ value: function () {
60
+ var _doRender = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, context) {
61
+ var enabled, schemas, localname, TypesFile, ExecuteMsg, typeHash, body, children, TheClass, Interface;
62
+ return _regenerator["default"].wrap(function _callee$(_context) {
63
+ while (1) {
64
+ switch (_context.prev = _context.next) {
65
+ case 0:
66
+ enabled = this.option.messageComposer.enabled;
67
+
68
+ if (enabled) {
69
+ _context.next = 3;
70
+ break;
71
+ }
72
+
73
+ return _context.abrupt("return");
74
+
75
+ case 3:
76
+ schemas = context.contract.schemas;
77
+ localname = (0, _case.pascal)(name) + '.message-composer.ts';
78
+ TypesFile = (0, _case.pascal)(name) + '.types';
79
+ ExecuteMsg = (0, _utils.findExecuteMsg)(schemas);
80
+ _context.next = 9;
81
+ return (0, _utils.findAndParseTypes)(schemas);
82
+
83
+ case 9:
84
+ typeHash = _context.sent;
85
+ body = [];
86
+ body.push(w.importStmt(Object.keys(typeHash), "./".concat(TypesFile))); // execute messages
87
+
88
+ if (ExecuteMsg) {
89
+ children = (0, w.getMessageProperties)(ExecuteMsg);
90
+
91
+ if (children.length > 0) {
92
+ TheClass = (0, _case.pascal)("".concat(name, "MessageComposer"));
93
+ Interface = (0, _case.pascal)("".concat(name, "Message"));
94
+ body.push(w.createMessageComposerInterface(context, Interface, ExecuteMsg));
95
+ body.push(w.createMessageComposerClass(context, TheClass, Interface, ExecuteMsg));
96
+ }
97
+ }
98
+
99
+ if (typeHash.hasOwnProperty('Coin')) {
100
+ // @ts-ignore
101
+ delete context.utils.Coin;
102
+ }
103
+
104
+ return _context.abrupt("return", [{
105
+ type: 'message-composer',
106
+ localname: localname,
107
+ body: body
108
+ }]);
109
+
110
+ case 15:
111
+ case "end":
112
+ return _context.stop();
113
+ }
114
+ }
115
+ }, _callee, this);
116
+ }));
117
+
118
+ function doRender(_x, _x2) {
119
+ return _doRender.apply(this, arguments);
120
+ }
121
+
122
+ return doRender;
123
+ }()
124
+ }]);
125
+ return MessageComposerPlugin;
126
+ }(_pluginBase.BuilderPluginBase);
127
+
128
+ exports.MessageComposerPlugin = MessageComposerPlugin;
@@ -0,0 +1,139 @@
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.MsgBuilderPlugin = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _case = require("case");
27
+
28
+ var w = _interopRequireWildcard(require("wasm-ast-types"));
29
+
30
+ var _utils = require("../utils");
31
+
32
+ var _pluginBase = require("./plugin-base");
33
+
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
+
36
+ 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
+
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
+
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
+
42
+ var MsgBuilderPlugin = /*#__PURE__*/function (_BuilderPluginBase) {
43
+ (0, _inherits2["default"])(MsgBuilderPlugin, _BuilderPluginBase);
44
+
45
+ var _super = _createSuper(MsgBuilderPlugin);
46
+
47
+ function MsgBuilderPlugin() {
48
+ (0, _classCallCheck2["default"])(this, MsgBuilderPlugin);
49
+ return _super.apply(this, arguments);
50
+ }
51
+
52
+ (0, _createClass2["default"])(MsgBuilderPlugin, [{
53
+ key: "initContext",
54
+ value: function initContext(contract, options) {
55
+ return new w.RenderContext(contract, options);
56
+ }
57
+ }, {
58
+ key: "doRender",
59
+ value: function () {
60
+ var _doRender = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, context) {
61
+ var enabled, schemas, localname, TypesFile, ExecuteMsg, typeHash, body, children, className, QueryMsg, _children, _className;
62
+
63
+ return _regenerator["default"].wrap(function _callee$(_context) {
64
+ while (1) {
65
+ switch (_context.prev = _context.next) {
66
+ case 0:
67
+ enabled = this.option.msgBuilder.enabled;
68
+
69
+ if (enabled) {
70
+ _context.next = 3;
71
+ break;
72
+ }
73
+
74
+ return _context.abrupt("return");
75
+
76
+ case 3:
77
+ schemas = context.contract.schemas;
78
+ localname = (0, _case.pascal)(name) + '.msg-builder.ts';
79
+ TypesFile = (0, _case.pascal)(name) + '.types';
80
+ ExecuteMsg = (0, _utils.findExecuteMsg)(schemas);
81
+ _context.next = 9;
82
+ return (0, _utils.findAndParseTypes)(schemas);
83
+
84
+ case 9:
85
+ typeHash = _context.sent;
86
+ body = [];
87
+ body.push(w.importStmt(Object.keys(typeHash), "./".concat(TypesFile)));
88
+ body.push(w.importStmt(['CamelCasedProperties'], 'type-fest')); // execute messages
89
+
90
+ if (ExecuteMsg) {
91
+ children = (0, w.getMessageProperties)(ExecuteMsg);
92
+
93
+ if (children.length > 0) {
94
+ className = (0, _case.pascal)("".concat(name, "ExecuteMsgBuilder"));
95
+ body.push(w.createMsgBuilderClass(context, className, ExecuteMsg));
96
+ }
97
+ }
98
+
99
+ QueryMsg = (0, _utils.findQueryMsg)(schemas); // query messages
100
+
101
+ if (QueryMsg) {
102
+ _children = (0, w.getMessageProperties)(QueryMsg);
103
+
104
+ if (_children.length > 0) {
105
+ _className = (0, _case.pascal)("".concat(name, "QueryMsgBuilder"));
106
+ body.push(w.createMsgBuilderClass(context, _className, QueryMsg));
107
+ }
108
+ }
109
+
110
+ if (typeHash.hasOwnProperty('Coin')) {
111
+ // @ts-ignore
112
+ delete context.utils.Coin;
113
+ }
114
+
115
+ return _context.abrupt("return", [{
116
+ type: 'msg-builder',
117
+ localname: localname,
118
+ body: body
119
+ }]);
120
+
121
+ case 18:
122
+ case "end":
123
+ return _context.stop();
124
+ }
125
+ }
126
+ }, _callee, this);
127
+ }));
128
+
129
+ function doRender(_x, _x2) {
130
+ return _doRender.apply(this, arguments);
131
+ }
132
+
133
+ return doRender;
134
+ }()
135
+ }]);
136
+ return MsgBuilderPlugin;
137
+ }(_pluginBase.BuilderPluginBase);
138
+
139
+ exports.MsgBuilderPlugin = MsgBuilderPlugin;