@cosmology/ast
Version:
Cosmos TypeScript AST generation
45 lines (39 loc) • 938 B
text/typescript
import generate from '@babel/generator';
import {
createTypeRegistry,
createRegistryLoader,
ServiceMethod
} from './registry';
import { AminoParseContext } from '../encoding';
export const mutations: ServiceMethod[] = [
{
methodName: 'joinPool',
typeUrl: '/cosmos.pools.transfer.v1.MsgJoinPool',
TypeName: 'MsgJoinPool'
},
{
methodName: 'exitPool',
typeUrl: '/cosmos.pools.transfer.v1.MsgExitPool',
TypeName: 'MsgExitPool'
}
];
const context: unknown = {
addUtil: () => { },
pluginValue: () => { }
}
const expectCode = (ast) => {
expect(
generate(ast).code
).toMatchSnapshot();
}
const printCode = (ast) => {
console.log(
generate(ast).code
);
}
it('createTypeRegistry', async () => {
expectCode(createTypeRegistry(context as AminoParseContext, mutations));
});
it('createRegistryLoader', async () => {
expectCode(createRegistryLoader(context as AminoParseContext));
});