{"version":3,"file":"index.js","names":[],"sources":["esm/platform/crypto/index.js"],"sourcesContent":["import { createAesApi } from \"./aes\";\nimport { createDigestApi } from \"./digest-api\";\nimport { formatUuidV4, installCryptoPolyfill } from \"./random\";\nimport { webAesEngine, webDigestSource } from \"./web\";\nfunction fill(bytes) {\n  const getRandomValues = globalThis.crypto?.getRandomValues;\n  if (typeof getRandomValues !== \"function\") {\n    throw new Error(\"secure random: web crypto is unavailable in this browser.\");\n  }\n  getRandomValues.call(globalThis.crypto, bytes);\n}\nconst source = {\n  fill,\n  randomUUID() {\n    const bytes = new Uint8Array(16);\n    fill(bytes);\n    return formatUuidV4(bytes);\n  }\n};\nfunction installCrypto() {\n  installCryptoPolyfill(source);\n}\nconst aes = createAesApi(webAesEngine);\nconst digestApi = createDigestApi(webDigestSource);\nconst AESEncryptionKey = aes.AESEncryptionKey;\nconst AESSealedData = aes.AESSealedData;\nconst Crypto = Object.freeze({\n  digest: digestApi.digest,\n  digestString: digestApi.digestString,\n  aesEncrypt: aes.aesEncrypt,\n  aesDecrypt: aes.aesDecrypt\n});\nexport {\n  AESEncryptionKey,\n  AESSealedData,\n  Crypto,\n  installCrypto\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;AAIA,SAAS,KAAK,OAAO;CACnB,MAAM,kBAAkB,WAAW,QAAQ;CAC3C,IAAI,OAAO,oBAAoB,YAAY;EACzC,MAAM,IAAI,MAAM,2DAA2D;CAC7E;CACA,gBAAgB,KAAK,WAAW,QAAQ,KAAK;AAC/C;AACA,MAAM,SAAS;CACb;CACA,aAAa;EACX,MAAM,QAAQ,IAAI,WAAW,EAAE;EAC/B,KAAK,KAAK;EACV,OAAO,aAAa,KAAK;CAC3B;AACF;AACA,SAAS,gBAAgB;CACvB,sBAAsB,MAAM;AAC9B;AACA,MAAM,MAAM,aAAa,YAAY;AACrC,MAAM,YAAY,gBAAgB,eAAe;AACjD,MAAM,mBAAmB,IAAI;AAC7B,MAAM,gBAAgB,IAAI;AAC1B,MAAM,SAAS,OAAO,OAAO;CAC3B,QAAQ,UAAU;CAClB,cAAc,UAAU;CACxB,YAAY,IAAI;CAChB,YAAY,IAAI;AAClB,CAAC"}