diff --git a/src/index.ts b/src/index.ts index e1e256b..e1be4d3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -198,14 +198,8 @@ async function importKey(key: string | JsonWebKey, algorithm: SubtleCryptoImport function decodePayload(raw: string): T | undefined { try { - const binaryString = atob(raw) - const bytes = new Uint8Array(binaryString.length); - for (let i = 0; i < binaryString.length; i++) { - bytes[i] = binaryString.charCodeAt(i); - } - - const decoder = new TextDecoder('utf-8'); - const decodedString = decoder.decode(bytes); + const bytes = Array.from(atob(raw), char => char.charCodeAt(0)); + const decodedString = new TextDecoder('utf-8').decode(new Uint8Array(bytes)); return JSON.parse(decodedString); } catch {