From c45b5395d00e47a8c1d82081ad887e36f02fdcfd Mon Sep 17 00:00:00 2001 From: Patrick Sullivan Date: Sun, 28 Jul 2024 10:43:16 +0100 Subject: [PATCH] feat(types): Added conversion utility functions --- packages/types/src/convert/buffer-to-string.ts | 1 + packages/types/src/convert/index.ts | 3 +++ packages/types/src/convert/string-to-uint8array.ts | 4 ++++ packages/types/src/convert/uint8array-to-string.ts | 2 ++ 4 files changed, 10 insertions(+) create mode 100644 packages/types/src/convert/buffer-to-string.ts create mode 100644 packages/types/src/convert/index.ts create mode 100644 packages/types/src/convert/string-to-uint8array.ts create mode 100644 packages/types/src/convert/uint8array-to-string.ts diff --git a/packages/types/src/convert/buffer-to-string.ts b/packages/types/src/convert/buffer-to-string.ts new file mode 100644 index 00000000..7347f5a6 --- /dev/null +++ b/packages/types/src/convert/buffer-to-string.ts @@ -0,0 +1 @@ +export const bufferToString = (buf: Buffer): string => buf.toString("utf8"); diff --git a/packages/types/src/convert/index.ts b/packages/types/src/convert/index.ts new file mode 100644 index 00000000..bb686759 --- /dev/null +++ b/packages/types/src/convert/index.ts @@ -0,0 +1,3 @@ +export * from "./buffer-to-string"; +export * from "./string-to-uint8array"; +export * from "./uint8array-to-string"; diff --git a/packages/types/src/convert/string-to-uint8array.ts b/packages/types/src/convert/string-to-uint8array.ts new file mode 100644 index 00000000..9b181a20 --- /dev/null +++ b/packages/types/src/convert/string-to-uint8array.ts @@ -0,0 +1,4 @@ +export const stringToUint8Array = (text: string): Uint8Array => + Uint8Array.from( + [...encodeURIComponent(text)].map(letter => letter.codePointAt(0)!) + ); diff --git a/packages/types/src/convert/uint8array-to-string.ts b/packages/types/src/convert/uint8array-to-string.ts new file mode 100644 index 00000000..92de26b1 --- /dev/null +++ b/packages/types/src/convert/uint8array-to-string.ts @@ -0,0 +1,2 @@ +export const uint8ArrayToString = (arr: Uint8Array): string => + decodeURIComponent(Buffer.from(arr).toString("utf8"));