diff --git a/packages/encoding/src/hex.ts b/packages/encoding/src/hex.ts index 39d5e048d2..7feb269891 100644 --- a/packages/encoding/src/hex.ts +++ b/packages/encoding/src/hex.ts @@ -1,9 +1,13 @@ -export function toHex(data: Uint8Array): string { - let out = ""; - for (const byte of data) { - out += ("0" + byte.toString(16)).slice(-2); +// Helper function needed to support environments that do not yet have +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/map +function* map(iterable: Iterable, fn: (value: T) => U): IterableIterator { + for (const value of iterable) { + yield fn(value); } - return out; +} + +export function toHex(data: Uint8Array): string { + return Array.from(map(data.values(), (byte) => byte.toString(16).padStart(2, "0"))).join(""); } export function fromHex(hexstring: string): Uint8Array {