From 21e29d1f25379af2f902e98e0b6e94ee96eb71fb Mon Sep 17 00:00:00 2001 From: willclarktech Date: Tue, 16 Jun 2020 10:19:19 +0100 Subject: [PATCH] demo-protobuf: Add GeneratedType interface --- packages/demo-protobuf/src/registry.ts | 21 +++++++++------------ packages/demo-protobuf/types/registry.d.ts | 11 ++++++----- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/packages/demo-protobuf/src/registry.ts b/packages/demo-protobuf/src/registry.ts index 844c0907..9dbf158e 100644 --- a/packages/demo-protobuf/src/registry.ts +++ b/packages/demo-protobuf/src/registry.ts @@ -2,24 +2,21 @@ import protobuf from "protobufjs"; import { cosmos_sdk as cosmosSdk, google } from "./generated/codecimpl"; -export type GeneratedType = { - readonly create: (properties?: { [k: string]: any }) => protobuf.Message<{}>; - readonly encode: ( - message: protobuf.Message<{}> | { [k: string]: any }, - writer?: protobuf.Writer, - ) => protobuf.Writer; - readonly decode: (reader: protobuf.Reader | Uint8Array, length?: number) => protobuf.Message<{}>; -}; +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; +} export class Registry { private readonly types: Map; constructor(customTypes: Iterable<[string, GeneratedType]> = []) { this.types = new Map([ - ["/cosmos.Coin", (cosmosSdk.v1.Coin as unknown) as GeneratedType], - ["/cosmos.bank.MsgSend", (cosmosSdk.x.bank.v1.MsgSend as unknown) as GeneratedType], - ["/cosmos.tx.TxBody", (cosmosSdk.tx.v1.TxBody as unknown) as GeneratedType], - ["/google.protobuf.Any", (google.protobuf.Any as unknown) as GeneratedType], + ["/cosmos.Coin", cosmosSdk.v1.Coin], + ["/cosmos.bank.MsgSend", cosmosSdk.x.bank.v1.MsgSend], + ["/cosmos.tx.TxBody", cosmosSdk.tx.v1.TxBody], + ["/google.protobuf.Any", google.protobuf.Any], ...customTypes, ]); } diff --git a/packages/demo-protobuf/types/registry.d.ts b/packages/demo-protobuf/types/registry.d.ts index b660a7f7..4e4a2def 100644 --- a/packages/demo-protobuf/types/registry.d.ts +++ b/packages/demo-protobuf/types/registry.d.ts @@ -1,18 +1,19 @@ import protobuf from "protobufjs"; -export declare type GeneratedType = { - readonly create: (properties?: { [k: string]: any }) => protobuf.Message<{}>; +interface GeneratedType { + readonly create: (properties?: { [k: string]: any }) => any; readonly encode: ( message: - | protobuf.Message<{}> + | any | { [k: string]: any; }, writer?: protobuf.Writer, ) => protobuf.Writer; - readonly decode: (reader: protobuf.Reader | Uint8Array, length?: number) => protobuf.Message<{}>; -}; + readonly decode: (reader: protobuf.Reader | Uint8Array, length?: number) => any; +} export declare class Registry { private readonly types; constructor(customTypes?: Iterable<[string, GeneratedType]>); lookupType(name: string): GeneratedType | undefined; } +export {};