diff --git a/src/index.ts b/src/index.ts index cc72bcfbba..aa008ab6d3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -96,3 +96,5 @@ export type { JWTHeaderParameters, JSONWebKeySet, } from './types.d' + +export { default as cryptoRuntime } from './runtime/runtime.js' diff --git a/src/runtime/browser/runtime.ts b/src/runtime/browser/runtime.ts new file mode 100644 index 0000000000..b1c305748f --- /dev/null +++ b/src/runtime/browser/runtime.ts @@ -0,0 +1,3 @@ +import { CryptoRuntime } from '../../types.d' + +export default 'WebCryptoAPI' as CryptoRuntime diff --git a/src/runtime/node/runtime.ts b/src/runtime/node/runtime.ts new file mode 100644 index 0000000000..1379e59835 --- /dev/null +++ b/src/runtime/node/runtime.ts @@ -0,0 +1,3 @@ +import { CryptoRuntime } from '../../types.d' + +export default 'node:crypto' as CryptoRuntime diff --git a/src/types.d.ts b/src/types.d.ts index 1bf12258c8..1ee6d56ff5 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -668,3 +668,5 @@ export interface CompactJWEHeaderParameters extends JWEHeaderParameters { export interface JSONWebKeySet { keys: JWK[] } + +export type CryptoRuntime = 'WebCryptoAPI' | 'node:crypto'