demo-protobuf: Add shallow CosmosMessage decorator

This commit is contained in:
willclarktech 2020-06-16 16:19:09 +01:00
parent 2c90fdf029
commit e9193996a9
No known key found for this signature in database
GPG Key ID: 551A86E2E398ADF7
3 changed files with 10 additions and 6 deletions

View File

@ -1,13 +1,18 @@
import { Field, Message, Type } from "protobufjs";
import { Registry } from "./registry";
import { GeneratedType, Registry } from "./registry";
export const myRegistry = new Registry();
function CosmosMessage(registry: Registry, typeUrl: string) {
return (generatedType: GeneratedType) => {
registry.register(typeUrl, generatedType);
};
}
@CosmosMessage(myRegistry, "/demo.MsgDemo")
@Type.d("MsgDemo")
export class MsgDemo extends Message<{}> {
@Field.d(1, "string")
public readonly example: string = "";
}
myRegistry.register("/demo.MsgDemo", MsgDemo);

View File

@ -2,7 +2,7 @@ import protobuf from "protobufjs";
import { cosmos_sdk as cosmosSdk, google } from "./generated/codecimpl";
interface GeneratedType {
export interface GeneratedType {
readonly create: (properties?: { [k: string]: any }) => any;
readonly encode: (message: any | { [k: string]: any }, writer?: protobuf.Writer) => protobuf.Writer;
readonly decode: (reader: protobuf.Reader | Uint8Array, length?: number) => any;

View File

@ -1,5 +1,5 @@
import protobuf from "protobufjs";
interface GeneratedType {
export interface GeneratedType {
readonly create: (properties?: { [k: string]: any }) => any;
readonly encode: (
message:
@ -17,4 +17,3 @@ export declare class Registry {
register(name: string, type: GeneratedType): void;
lookupType(name: string): GeneratedType | undefined;
}
export {};