Files
suaveplan/packages/security-stack/crypto/crypto-browser/tests/setup/polyfills.ts
2026-05-27 23:47:53 +01:00

14 lines
424 B
TypeScript

import { webcrypto } from "node:crypto";
type WritableGlobal = { crypto?: Crypto; CryptoKey?: typeof CryptoKey };
const g = globalThis as WritableGlobal;
if (g.crypto === undefined) {
g.crypto = webcrypto as unknown as Crypto;
}
if (g.CryptoKey === undefined) {
// Node exposes CryptoKey on the webcrypto object
g.CryptoKey = (
webcrypto as unknown as { CryptoKey: typeof CryptoKey }
).CryptoKey;
}