{"version":3,"file":"crypto.cjs","names":["nodeCrypto"],"sources":["../../src/node/crypto.ts"],"sourcesContent":["// https://nodejs.org/api/webcrypto.html\nimport nodeCrypto from 'node:crypto'\n\nexport function setupWebCrypto() {\n  try {\n    if (\n      typeof globalThis !== 'undefined'\n      && typeof globalThis.crypto === 'undefined'\n      && nodeCrypto\n      && nodeCrypto.webcrypto\n    ) {\n      // @ts-expect-error this is a workaround for node environment\n      globalThis.crypto = nodeCrypto.webcrypto\n    }\n  }\n  catch (err) {\n    console.warn('Failed to polyfill webcrypto', err)\n  }\n}\n\nexport async function getWebCrypto() {\n  if (globalThis.crypto == null) {\n    try {\n      if (typeof globalThis !== 'undefined' && typeof globalThis.crypto === 'undefined') {\n        // https://nodejs.org/api/webcrypto.html\n        const nodeCrypto = await import('node:crypto')\n        // @ts-expect-error this is a workaround for node environment\n        globalThis.crypto = nodeCrypto.webcrypto\n      }\n    }\n    catch (err) {\n      console.warn('Failed to polyfill webcrypto', err)\n    }\n  }\n  return globalThis.crypto\n}\n\n// declare namespace NodeJS {\n//   interface Global {\n//     crypto: Crypto\n//   }\n// }\n"],"mappings":";;;;;;AAGA,SAAgB,iBAAiB;AAC/B,KAAI;AACF,MACE,OAAO,eAAe,eACnB,OAAO,WAAW,WAAW,eAC7BA,uBACAA,oBAAW,UAGd,YAAW,SAASA,oBAAW;UAG5B,KAAK;AACV,UAAQ,KAAK,gCAAgC,IAAI;;;AAIrD,eAAsB,eAAe;AACnC,KAAI,WAAW,UAAU,KACvB,KAAI;AACF,MAAI,OAAO,eAAe,eAAe,OAAO,WAAW,WAAW,aAAa;GAEjF,MAAM,aAAa,MAAM,OAAO;AAEhC,cAAW,SAAS,WAAW;;UAG5B,KAAK;AACV,UAAQ,KAAK,gCAAgC,IAAI;;AAGrD,QAAO,WAAW"}