@cosmology/ast
Version:
Cosmos TypeScript AST generation
168 lines (167 loc) • 8.74 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _interface = require("./interface");
var _authz = _interopRequireDefault(require("../../../../../__fixtures__/proto-json/cosmos/authz/v1beta1/authz.json"));
var _tx = _interopRequireDefault(require("../../../../../__fixtures__/proto-json/osmosis/gamm/v1beta1/tx.json"));
var _types = _interopRequireDefault(require("../../../../../__fixtures__/proto-json/tendermint/abci/types.json"));
var _types2 = _interopRequireDefault(require("../../../../../__fixtures__/proto-json/tendermint/types/types.json"));
var _protoParser = require("@cosmology/proto-parser");
var _utils = require("@cosmology/utils");
var _types3 = require("@cosmology/types");
var _context8 = require("../context");
var _testUtils = require("../../../test-utils");
var _deepmerge = _interopRequireDefault(require("deepmerge"));
var store = (0, _testUtils.getTestProtoStore)();
store.traverseAll();
it('ListValue', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var ref, context;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
ref = store.findProto('google/protobuf/struct.proto');
context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'ListValue', (0, _utils.getNestedProto)(ref.traversed).ListValue));
case 3:
case "end":
return _context.stop();
}
}, _callee);
})));
it('Struct', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var ref, context;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
ref = store.findProto('google/protobuf/struct.proto');
context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'Struct', (0, _utils.getNestedProto)(ref.traversed).Struct));
case 3:
case "end":
return _context2.stop();
}
}, _callee2);
})));
describe('oneofs', function () {
it('Value', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
var ref, context;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
ref = store.findProto('google/protobuf/struct.proto');
context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'Value', (0, _utils.getNestedProto)(ref.traversed).Value));
case 3:
case "end":
return _context3.stop();
}
}, _callee3);
})));
});
it('authz', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
var ref, context;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
ref = store.findProto('cosmos/authz/v1beta1/authz.proto');
context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'authz', (0, _utils.getNestedProto)(_authz["default"]).Grant));
case 3:
case "end":
return _context4.stop();
}
}, _callee4);
})));
describe('createCreateProtoType', function () {
var ref = store.findProto('cosmos/authz/v1beta1/authz.proto');
var context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
it('Grant', function () {
(0, _testUtils.expectCode)((0, _interface.createCreateProtoType)(context, 'Grant', (0, _utils.getNestedProto)(_authz["default"]).Grant));
});
it('MsgJoinPool', function () {
(0, _testUtils.expectCode)((0, _interface.createCreateProtoType)(context, 'MsgJoinPool', (0, _utils.getNestedProto)(_tx["default"]).MsgJoinPool));
});
});
//create type for pubKey
describe('createCreateProtoType', function () {
var ref = store.findProto('tendermint/abci/types.proto');
var context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
it('ValidatorUpdate', function () {
(0, _testUtils.expectCode)((0, _interface.createCreateProtoType)(context, 'ValidatorUpdate', (0, _utils.getNestedProto)(_types["default"]).ValidatorUpdate));
});
});
//create type for Tendermint block header
describe('createCreateProtoType', function () {
var ref = store.findProto('tendermint/types/types.proto');
var context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
it('Header', function () {
(0, _testUtils.expectCode)((0, _interface.createCreateProtoType)(context, 'Header', (0, _utils.getNestedProto)(_types2["default"]).Header));
});
});
describe('createCreateProtoType orginal logic', function () {
var ref = store.findProto('tendermint/types/types.proto');
var options = (0, _deepmerge["default"])(_types3.defaultTelescopeOptions, {
prototypes: {
typingsFormat: {
setDefaultEnumToUnrecognized: false,
setDefaultCustomTypesToUndefined: true
}
}
});
var context = new _context8.ProtoParseContext(ref, store, options);
it('Header', function () {
(0, _testUtils.expectCode)((0, _interface.createCreateProtoType)(context, 'Header', (0, _utils.getNestedProto)(_types2["default"]).Header));
});
});
describe('traversed', function () {
it('osmosis/claim/v1beta1/params', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
var ref, res, context;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
ref = store.findProto('osmosis/claim/v1beta1/params.proto');
res = (0, _protoParser.traverse)(store, ref);
context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'Params', res.root.nested.osmosis.nested.claim.nested.v1beta1.nested.Params));
case 4:
case "end":
return _context5.stop();
}
}, _callee5);
})));
it('cosmos/app/v1alpha1/config', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
var ref, res, node, context;
return _regenerator["default"].wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
ref = store.findProto('cosmos/app/v1alpha1/config.proto');
res = (0, _protoParser.traverse)(store, ref);
node = (0, _utils.getNestedProto)(res);
context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions);
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'Config', node.Config));
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'ModuleConfig', node.ModuleConfig));
case 6:
case "end":
return _context6.stop();
}
}, _callee6);
})));
it('google/api/expr/v1alpha1/checked', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
var ref, res, node, context;
return _regenerator["default"].wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
ref = store.findProto('google/api/expr/v1alpha1/checked.proto');
res = (0, _protoParser.traverse)(store, ref);
node = (0, _utils.getNestedProto)(res);
context = new _context8.ProtoParseContext(ref, store, _types3.defaultTelescopeOptions); // console.log(JSON.stringify(res, null, 2))
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'CheckedExpr', node.CheckedExpr));
(0, _testUtils.expectCode)((0, _interface.createProtoType)(context, 'Reference', node.Reference));
case 6:
case "end":
return _context7.stop();
}
}, _callee7);
})));
});
;