@cosmology/ast
Version:
Cosmos TypeScript AST generation
46 lines (45 loc) • 3.01 kB
JavaScript
"use strict";
var _index = require("../index");
var _protoParser = require("@cosmology/proto-parser");
var _utils = require("@cosmology/utils");
var _testUtils = require("../../../../../test-utils");
var store = new _protoParser.ProtoStore([]);
store.protos = [];
var addRef = function addRef(_ref) {
var filename = _ref.filename,
content = _ref.content;
var ref = {
absolute: filename,
filename: filename,
proto: (0, _protoParser.parseProto)(content)
};
store.protos.push(ref);
};
addRef({
filename: 'cosmology/example/a.proto',
content: "\n syntax = \"proto3\";\n \n package cosmology.finance;\n option go_package = \"github.com/cosmology-finance/go\";\n \n message MsgTypePackageA {\n enum EnumPackageA {\n NO_HASH = 0;\n SHA256 = 1;\n SHA512 = 2;\n KECCAK = 3;\n RIPEMD160 = 4;\n BITCOIN = 5;\n }\n \n \n enum EnumDuplicateName {\n A = 0;\n B = 1;\n C = 2;\n }\n \n string address = 1;\n EnumPackageA someCoolField = 2;\n EnumDuplicateName otherField = 3;\n \n }\n \n "
});
addRef({
filename: 'cosmology/example/b.proto',
content: "\n syntax = \"proto3\";\n \n package cosmology.finance;\n option go_package = \"github.com/cosmology-finance/go\";\n \n import \"cosmology/example/a.proto\";\n \n message MsgTypePackageB {\n enum EnumTypePackageB {\n NO_HASH = 0;\n SHA256 = 1;\n SHA512 = 2;\n KECCAK = 3;\n RIPEMD160 = 4;\n BITCOIN = 5;\n }\n \n string address = 1;\n EnumTypePackageB myYolo0 = 2;\n \n message AnotherType {\n MsgTypePackageA myType = 3;\n }\n \n AnotherType anotherField = 4;\n \n enum EnumDuplicateName {\n D = 0;\n E = 1;\n F = 2;\n }\n \n EnumDuplicateName otherField = 5;\n \n }\n \n "
});
addRef({
filename: 'cosmology/example/c.proto',
content: "\n syntax = \"proto3\";\n package cosmology.finance;\n option go_package = \"github.com/cosmology-finance/go\";\n \n import \"cosmology/example/b.proto\";\n \n message MsgTypePackageC {\n string address = 1;\n cosmology.finance.MsgTypePackageB awesome = 2;\n }\n \n service Msg {\n rpc JoinPool(MsgTypePackageC) returns (MsgTypePackageCResponse);\n }\n message MsgTypePackageCResponse {}\n \n "
});
store.traverseAll();
describe('cosmology/example/c', function () {
var _prepareContext = (0, _testUtils.prepareContext)(store, 'cosmology/example/c.proto'),
context = _prepareContext.context,
root = _prepareContext.root,
protos = _prepareContext.protos;
it('AminoConverter', function () {
context.options.aminoEncoding.casingFn = _utils.camel;
(0, _testUtils.expectCode)((0, _index.createAminoConverter)({
context: context,
root: root,
name: 'AminoConverter',
protos: protos
}));
});
});