demo-protobuf: Add shallow CosmosMessage decorator

This commit is contained in:
willclarktech
2020-06-23 10:26:44 +02:00
parent 2c90fdf029
commit e9193996a9
3 changed files with 10 additions and 6 deletions
+8 -3
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);
+1 -1
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;
+1 -2
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 {};