From 484149a4277387162ce31dfac56cef064a4eaddb Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Thu, 6 Aug 2020 11:22:21 +0200 Subject: [PATCH] Add decodeAny --- packages/proto-signing/src/any.ts | 13 +++++++++++++ packages/proto-signing/src/index.ts | 1 + packages/proto-signing/types/any.d.ts | 10 ++++++++++ packages/proto-signing/types/index.d.ts | 1 + 4 files changed, 25 insertions(+) create mode 100644 packages/proto-signing/src/any.ts create mode 100644 packages/proto-signing/src/index.ts create mode 100644 packages/proto-signing/types/any.d.ts create mode 100644 packages/proto-signing/types/index.d.ts diff --git a/packages/proto-signing/src/any.ts b/packages/proto-signing/src/any.ts new file mode 100644 index 00000000..27a49698 --- /dev/null +++ b/packages/proto-signing/src/any.ts @@ -0,0 +1,13 @@ +import { google } from "./generated/codecimpl"; + +/** + * Decodes a serialized [google.protobuf.Any](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/any.proto) + * and returns the components. + */ +export function decodeAny(serialized: Uint8Array): { readonly typeUrl: string; readonly value: Uint8Array } { + const envelope = google.protobuf.Any.decode(serialized); + return { + typeUrl: envelope.type_url, + value: envelope.value, + }; +} diff --git a/packages/proto-signing/src/index.ts b/packages/proto-signing/src/index.ts new file mode 100644 index 00000000..73ae35c4 --- /dev/null +++ b/packages/proto-signing/src/index.ts @@ -0,0 +1 @@ +export { decodeAny } from "./any"; diff --git a/packages/proto-signing/types/any.d.ts b/packages/proto-signing/types/any.d.ts new file mode 100644 index 00000000..c76a6b15 --- /dev/null +++ b/packages/proto-signing/types/any.d.ts @@ -0,0 +1,10 @@ +/** + * Decodes a serialized [google.protobuf.Any](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/any.proto) + * and returns the components. + */ +export declare function decodeAny( + serialized: Uint8Array, +): { + readonly typeUrl: string; + readonly value: Uint8Array; +}; diff --git a/packages/proto-signing/types/index.d.ts b/packages/proto-signing/types/index.d.ts new file mode 100644 index 00000000..73ae35c4 --- /dev/null +++ b/packages/proto-signing/types/index.d.ts @@ -0,0 +1 @@ +export { decodeAny } from "./any";