toHex polyfill

This commit is contained in:
2026-07-06 09:42:15 +02:00
parent 54d4dc9545
commit 6386326473
5 changed files with 35 additions and 12 deletions

View File

@@ -0,0 +1,22 @@
type Uint8ArrayWithToHex = Uint8Array & {
toHex?: () => string;
};
const uint8ArrayPrototype = Uint8Array.prototype as Uint8ArrayWithToHex;
if (typeof uint8ArrayPrototype.toHex !== 'function') {
Object.defineProperty(Uint8Array.prototype, 'toHex', {
value: function toHex(this: Uint8Array): string {
const hex = new Array<string>(this.length);
for (let index = 0; index < this.length; index += 1) {
const value = this[index].toString(16);
hex[index] = value.length === 1 ? `0${value}` : value;
}
return hex.join('');
},
writable: true,
configurable: true,
});
}