one
Version:
One is a React framework for web, iOS, and Android apps.
1 lines • 1.8 kB
Source Map (JSON)
{"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"}