@secrecy/lib 1.0.0-dev.66 → 1.0.0-dev.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/{BaseClient-7c38f650.d.ts → BaseClient-e5e97df7.d.ts} +0 -0
  2. package/dist/BaseClient.cjs +1 -1
  3. package/dist/BaseClient.cjs.map +1 -1
  4. package/dist/BaseClient.d.ts +1 -1
  5. package/dist/BaseClient.js +1 -1
  6. package/dist/BaseClient.js.map +1 -1
  7. package/dist/PopupTools.cjs +1 -1
  8. package/dist/PopupTools.js +1 -1
  9. package/dist/ZeusThunder.cjs +1 -1
  10. package/dist/ZeusThunder.cjs.map +1 -1
  11. package/dist/ZeusThunder.js +1 -1
  12. package/dist/ZeusThunder.js.map +1 -1
  13. package/dist/cache.cjs +1 -1
  14. package/dist/cache.d.ts +1 -1
  15. package/dist/cache.js +1 -1
  16. package/dist/chunk-UPFDSEKI.js +2 -0
  17. package/dist/{chunk-KMTF2BZE.js.map → chunk-UPFDSEKI.js.map} +0 -0
  18. package/dist/chunk-XDPEU3HV.cjs +2 -0
  19. package/dist/{chunk-5WPCTUWH.cjs.map → chunk-XDPEU3HV.cjs.map} +0 -0
  20. package/dist/client/SecrecyAppClient.cjs +1 -1
  21. package/dist/client/SecrecyAppClient.cjs.map +1 -1
  22. package/dist/client/SecrecyAppClient.d.ts +1 -1
  23. package/dist/client/SecrecyAppClient.js +1 -1
  24. package/dist/client/SecrecyAppClient.js.map +1 -1
  25. package/dist/client/SecrecyCloudClient.cjs +1 -1
  26. package/dist/client/SecrecyCloudClient.cjs.map +1 -1
  27. package/dist/client/SecrecyCloudClient.d.ts +1 -1
  28. package/dist/client/SecrecyCloudClient.js +1 -1
  29. package/dist/client/SecrecyCloudClient.js.map +1 -1
  30. package/dist/client/SecrecyDbClient.cjs +1 -1
  31. package/dist/client/SecrecyDbClient.cjs.map +1 -1
  32. package/dist/client/SecrecyDbClient.d.ts +1 -1
  33. package/dist/client/SecrecyDbClient.js +1 -1
  34. package/dist/client/SecrecyDbClient.js.map +1 -1
  35. package/dist/client/SecrecyMailClient.cjs +1 -1
  36. package/dist/client/SecrecyMailClient.cjs.map +1 -1
  37. package/dist/client/SecrecyMailClient.d.ts +1 -1
  38. package/dist/client/SecrecyMailClient.js +1 -1
  39. package/dist/client/SecrecyMailClient.js.map +1 -1
  40. package/dist/client/SecrecyPayClient.cjs +1 -1
  41. package/dist/client/SecrecyPayClient.d.ts +1 -1
  42. package/dist/client/SecrecyPayClient.js +1 -1
  43. package/dist/client/SecrecyWalletClient.cjs +1 -1
  44. package/dist/client/SecrecyWalletClient.cjs.map +1 -1
  45. package/dist/client/SecrecyWalletClient.d.ts +1 -1
  46. package/dist/client/SecrecyWalletClient.js +1 -1
  47. package/dist/client/SecrecyWalletClient.js.map +1 -1
  48. package/dist/client/convert/file.cjs +1 -1
  49. package/dist/client/convert/file.js +1 -1
  50. package/dist/client/convert/mail.cjs +1 -1
  51. package/dist/client/convert/mail.js +1 -1
  52. package/dist/client/convert/node.cjs +1 -1
  53. package/dist/client/convert/node.cjs.map +1 -1
  54. package/dist/client/convert/node.js +1 -1
  55. package/dist/client/convert/node.js.map +1 -1
  56. package/dist/client/helpers.cjs +1 -1
  57. package/dist/client/helpers.d.ts +1 -1
  58. package/dist/client/helpers.js +1 -1
  59. package/dist/client/index.cjs +1 -1
  60. package/dist/client/index.cjs.map +1 -1
  61. package/dist/client/index.d.ts +1 -1
  62. package/dist/client/index.js +1 -1
  63. package/dist/client/index.js.map +1 -1
  64. package/dist/client/storage.cjs +1 -1
  65. package/dist/client/storage.js +1 -1
  66. package/dist/client/types/selectors.cjs +1 -1
  67. package/dist/client/types/selectors.js +1 -1
  68. package/dist/crypto/file.cjs +1 -1
  69. package/dist/crypto/file.cjs.map +1 -1
  70. package/dist/crypto/file.js +1 -1
  71. package/dist/crypto/file.js.map +1 -1
  72. package/dist/crypto/index.cjs +1 -1
  73. package/dist/crypto/index.js +1 -1
  74. package/dist/index.cjs +1 -1
  75. package/dist/index.d.ts +1 -1
  76. package/dist/index.js +1 -1
  77. package/dist/minify/index.cjs +1 -1
  78. package/dist/minify/index.js +1 -1
  79. package/dist/minify/lz4.cjs +1 -1
  80. package/dist/minify/lz4.js +1 -1
  81. package/dist/sodium.cjs +1 -1
  82. package/dist/sodium.cjs.map +1 -1
  83. package/dist/sodium.js +1 -1
  84. package/dist/sodium.js.map +1 -1
  85. package/dist/utils/store-buddy.cjs +1 -1
  86. package/dist/utils/store-buddy.js +1 -1
  87. package/dist/utils/time.cjs +1 -1
  88. package/dist/utils/time.js +1 -1
  89. package/dist/utils/utils.cjs +1 -1
  90. package/dist/utils/utils.cjs.map +1 -1
  91. package/dist/utils/utils.js +1 -1
  92. package/dist/utils/utils.js.map +1 -1
  93. package/dist/worker/md5.cjs +1 -1
  94. package/dist/worker/md5.cjs.map +1 -1
  95. package/dist/worker/md5.js +1 -1
  96. package/dist/worker/md5.js.map +1 -1
  97. package/dist/worker/sodium.cjs +1 -1
  98. package/dist/worker/sodium.cjs.map +1 -1
  99. package/dist/worker/sodium.js +1 -1
  100. package/dist/worker/sodium.js.map +1 -1
  101. package/dist/worker/workerCodes.cjs +1 -1
  102. package/dist/worker/workerCodes.js +1 -1
  103. package/dist/zeus/const.cjs +1 -1
  104. package/dist/zeus/const.js +1 -1
  105. package/dist/zeus/index.cjs +2 -2
  106. package/dist/zeus/index.cjs.map +1 -1
  107. package/dist/zeus/index.d.ts +10 -10
  108. package/dist/zeus/index.js +2 -2
  109. package/dist/zeus/index.js.map +1 -1
  110. package/package.json +3 -3
  111. package/dist/chunk-5WPCTUWH.cjs +0 -2
  112. package/dist/chunk-KMTF2BZE.js +0 -2
@@ -1,2 +1,2 @@
1
- import{c as t,d as r,e as l,f as p}from"../chunk-KMTF2BZE.js";var e;import{BaseClient as m}from"../BaseClient.js";import{encryptSecretstream as h}from"../crypto/file.js";import{sodium as s}from"../sodium.js";import{SecrecyCloudClient as d}from"./SecrecyCloudClient.js";import{SecrecyMailClient as u}from"./SecrecyMailClient.js";import{SecrecyAppClient as g}from"./SecrecyAppClient.js";import{nodesCache as f,filesCache as C}from"../cache.js";import{SecrecyDbClient as S}from"./SecrecyDbClient.js";import{SecrecyWalletClient as w}from"./SecrecyWalletClient.js";import{SecrecyPayClient as P}from"./SecrecyPayClient.js";const D=async(n,o)=>{const{data:i}=await h(s.from_hex(o),s.from_string(n));return s.to_hex(i)};class N extends m{constructor(i,c,y,a){super(i,a);l(this,e,void 0);t(this,"cloud");t(this,"mail");t(this,"app");t(this,"db");t(this,"wallet");t(this,"pay");p(this,e,c),this.cloud=new d(this,r(this,e),this.thunder),this.mail=new u(this,r(this,e),this.thunder),this.app=new g(y,this,r(this,e),this.thunder),this.db=new S(this,r(this,e),this.thunder),this.wallet=new w(this),this.pay=new P(this,r(this,e),this.thunder)}get publicKey(){return r(this,e).publicKey}async logout(i){f.clear(),C.clear(),await super.logout(i)}}e=new WeakMap;export{N as SecrecyClient,D as encryptName};
1
+ import{c as t,d as r,e as p,f as a,g as m,h as s}from"../chunk-UPFDSEKI.js";var e;import{BaseClient as g}from"../BaseClient.js";import{encryptSecretstream as f}from"../crypto/file.js";import{sodium as n}from"../sodium.js";import{SecrecyCloudClient as C}from"./SecrecyCloudClient.js";import{SecrecyMailClient as S}from"./SecrecyMailClient.js";import{SecrecyAppClient as w}from"./SecrecyAppClient.js";import{nodesCache as P,filesCache as b}from"../cache.js";import{SecrecyDbClient as x}from"./SecrecyDbClient.js";import{SecrecyWalletClient as K}from"./SecrecyWalletClient.js";import{SecrecyPayClient as j}from"./SecrecyPayClient.js";const I=(h,c)=>s(void 0,null,function*(){const{data:i}=yield f(n.from_hex(c),n.from_string(h));return n.to_hex(i)}),o=class extends g{constructor(i,l,d,u){super(i,u);p(this,e,void 0);t(this,"cloud");t(this,"mail");t(this,"app");t(this,"db");t(this,"wallet");t(this,"pay");a(this,e,l),this.cloud=new C(this,r(this,e),this.thunder),this.mail=new S(this,r(this,e),this.thunder),this.app=new w(d,this,r(this,e),this.thunder),this.db=new x(this,r(this,e),this.thunder),this.wallet=new K(this),this.pay=new j(this,r(this,e),this.thunder)}get publicKey(){return r(this,e).publicKey}logout(i){return s(this,null,function*(){P.clear(),b.clear(),yield m(o.prototype,this,"logout").call(this,i)})}};let y=o;e=new WeakMap;export{y as SecrecyClient,I as encryptName};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { BaseClient } from \"../BaseClient.js\";\nimport type { Progress } from \"../crypto/file.js\";\nimport { encryptSecretstream } from \"../crypto/file.js\";\nimport { sodium } from \"../sodium.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { SecrecyEnv } from \"./helpers.js\";\nimport { SecrecyCloudClient } from \"./SecrecyCloudClient.js\";\nimport { SecrecyMailClient } from \"./SecrecyMailClient.js\";\nimport { SecrecyAppClient } from \"./SecrecyAppClient.js\";\nimport { nodesCache, filesCache } from \"../cache.js\";\nimport { SecrecyDbClient } from \"./SecrecyDbClient.js\";\nimport { SecrecyWalletClient } from \"./SecrecyWalletClient.js\";\nimport { SecrecyPayClient } from \"./SecrecyPayClient.js\";\n\nexport type NewMail = {\n body: string;\n subject: string;\n files: { id: string; name: string }[];\n recipientsIds: string[];\n replyTo?: string | null | undefined;\n};\nexport type ProgressCallback = (progress: Progress) => Promise<void>;\n\nexport const encryptName = async (\n name: string,\n nameKey: string\n): Promise<string> => {\n const { data } = await encryptSecretstream(\n sodium.from_hex(nameKey),\n sodium.from_string(name)\n );\n const nameEncrypted = sodium.to_hex(data);\n return nameEncrypted;\n};\n\nexport class SecrecyClient extends BaseClient {\n #keys: KeyPair;\n\n cloud: SecrecyCloudClient;\n\n mail: SecrecyMailClient;\n\n app: SecrecyAppClient;\n\n db: SecrecyDbClient;\n\n wallet: SecrecyWalletClient;\n\n pay: SecrecyPayClient;\n\n constructor(\n uaSession: string,\n uaKeys: KeyPair,\n uaJwt: string,\n env: SecrecyEnv\n ) {\n super(uaSession, env);\n this.#keys = uaKeys;\n this.cloud = new SecrecyCloudClient(this, this.#keys, this.thunder);\n this.mail = new SecrecyMailClient(this, this.#keys, this.thunder);\n this.app = new SecrecyAppClient(uaJwt, this, this.#keys, this.thunder);\n this.db = new SecrecyDbClient(this, this.#keys, this.thunder);\n this.wallet = new SecrecyWalletClient(this);\n this.pay = new SecrecyPayClient(this, this.#keys, this.thunder);\n }\n\n get publicKey(): string {\n return this.#keys.publicKey;\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n nodesCache.clear();\n filesCache.clear();\n await super.logout(sessionId);\n }\n}\n"],"mappings":"8DAAA,IAAAA,EACA,OAAS,cAAAC,MAAkB,mBAE3B,OAAS,uBAAAC,MAA2B,oBACpC,OAAS,UAAAC,MAAc,eAGvB,OAAS,sBAAAC,MAA0B,0BACnC,OAAS,qBAAAC,MAAyB,yBAClC,OAAS,oBAAAC,MAAwB,wBACjC,OAAS,cAAAC,EAAY,cAAAC,MAAkB,cACvC,OAAS,mBAAAC,MAAuB,uBAChC,OAAS,uBAAAC,MAA2B,2BACpC,OAAS,oBAAAC,MAAwB,wBAW1B,MAAMC,EAAc,MACzBC,EACAC,IACoB,CACpB,KAAM,CAAE,KAAAC,CAAK,EAAI,MAAMb,EACrBC,EAAO,SAASW,CAAO,EACvBX,EAAO,YAAYU,CAAI,CACzB,EAEA,OADsBV,EAAO,OAAOY,CAAI,CAE1C,EAEO,MAAMC,UAAsBf,CAAW,CAe5C,YACEgB,EACAC,EACAC,EACAC,EACA,CACA,MAAMH,EAAWG,CAAG,EApBtBC,EAAA,KAAArB,EAAA,QAEAsB,EAAA,cAEAA,EAAA,aAEAA,EAAA,YAEAA,EAAA,WAEAA,EAAA,eAEAA,EAAA,YASEC,EAAA,KAAKvB,EAAQkB,GACb,KAAK,MAAQ,IAAId,EAAmB,KAAMoB,EAAA,KAAKxB,GAAO,KAAK,OAAO,EAClE,KAAK,KAAO,IAAIK,EAAkB,KAAMmB,EAAA,KAAKxB,GAAO,KAAK,OAAO,EAChE,KAAK,IAAM,IAAIM,EAAiBa,EAAO,KAAMK,EAAA,KAAKxB,GAAO,KAAK,OAAO,EACrE,KAAK,GAAK,IAAIS,EAAgB,KAAMe,EAAA,KAAKxB,GAAO,KAAK,OAAO,EAC5D,KAAK,OAAS,IAAIU,EAAoB,IAAI,EAC1C,KAAK,IAAM,IAAIC,EAAiB,KAAMa,EAAA,KAAKxB,GAAO,KAAK,OAAO,CAChE,CAEA,IAAI,WAAoB,CACtB,OAAOwB,EAAA,KAAKxB,GAAM,SACpB,CAEA,MAAM,OAAOyB,EAAsD,CACjElB,EAAW,MAAM,EACjBC,EAAW,MAAM,EACjB,MAAM,MAAM,OAAOiB,CAAS,CAC9B,CACF,CAvCEzB,EAAA","names":["_keys","BaseClient","encryptSecretstream","sodium","SecrecyCloudClient","SecrecyMailClient","SecrecyAppClient","nodesCache","filesCache","SecrecyDbClient","SecrecyWalletClient","SecrecyPayClient","encryptName","name","nameKey","data","SecrecyClient","uaSession","uaKeys","uaJwt","env","__privateAdd","__publicField","__privateSet","__privateGet","sessionId"]}
1
+ {"version":3,"sources":["../../src/client/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { BaseClient } from \"../BaseClient.js\";\nimport type { Progress } from \"../crypto/file.js\";\nimport { encryptSecretstream } from \"../crypto/file.js\";\nimport { sodium } from \"../sodium.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { SecrecyEnv } from \"./helpers.js\";\nimport { SecrecyCloudClient } from \"./SecrecyCloudClient.js\";\nimport { SecrecyMailClient } from \"./SecrecyMailClient.js\";\nimport { SecrecyAppClient } from \"./SecrecyAppClient.js\";\nimport { nodesCache, filesCache } from \"../cache.js\";\nimport { SecrecyDbClient } from \"./SecrecyDbClient.js\";\nimport { SecrecyWalletClient } from \"./SecrecyWalletClient.js\";\nimport { SecrecyPayClient } from \"./SecrecyPayClient.js\";\n\nexport type NewMail = {\n body: string;\n subject: string;\n files: { id: string; name: string }[];\n recipientsIds: string[];\n replyTo?: string | null | undefined;\n};\nexport type ProgressCallback = (progress: Progress) => Promise<void>;\n\nexport const encryptName = async (\n name: string,\n nameKey: string\n): Promise<string> => {\n const { data } = await encryptSecretstream(\n sodium.from_hex(nameKey),\n sodium.from_string(name)\n );\n const nameEncrypted = sodium.to_hex(data);\n return nameEncrypted;\n};\n\nexport class SecrecyClient extends BaseClient {\n #keys: KeyPair;\n\n cloud: SecrecyCloudClient;\n\n mail: SecrecyMailClient;\n\n app: SecrecyAppClient;\n\n db: SecrecyDbClient;\n\n wallet: SecrecyWalletClient;\n\n pay: SecrecyPayClient;\n\n constructor(\n uaSession: string,\n uaKeys: KeyPair,\n uaJwt: string,\n env: SecrecyEnv\n ) {\n super(uaSession, env);\n this.#keys = uaKeys;\n this.cloud = new SecrecyCloudClient(this, this.#keys, this.thunder);\n this.mail = new SecrecyMailClient(this, this.#keys, this.thunder);\n this.app = new SecrecyAppClient(uaJwt, this, this.#keys, this.thunder);\n this.db = new SecrecyDbClient(this, this.#keys, this.thunder);\n this.wallet = new SecrecyWalletClient(this);\n this.pay = new SecrecyPayClient(this, this.#keys, this.thunder);\n }\n\n get publicKey(): string {\n return this.#keys.publicKey;\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n nodesCache.clear();\n filesCache.clear();\n await super.logout(sessionId);\n }\n}\n"],"mappings":"4EAAA,IAAAA,EACA,OAAS,cAAAC,MAAkB,mBAE3B,OAAS,uBAAAC,MAA2B,oBACpC,OAAS,UAAAC,MAAc,eAGvB,OAAS,sBAAAC,MAA0B,0BACnC,OAAS,qBAAAC,MAAyB,yBAClC,OAAS,oBAAAC,MAAwB,wBACjC,OAAS,cAAAC,EAAY,cAAAC,MAAkB,cACvC,OAAS,mBAAAC,MAAuB,uBAChC,OAAS,uBAAAC,MAA2B,2BACpC,OAAS,oBAAAC,MAAwB,wBAW1B,MAAMC,EAAc,CACzBC,EACAC,IACoBC,EAAA,wBACpB,KAAM,CAAE,KAAAC,CAAK,EAAI,MAAMd,EACrBC,EAAO,SAASW,CAAO,EACvBX,EAAO,YAAYU,CAAI,CACzB,EAEA,OADsBV,EAAO,OAAOa,CAAI,CAE1C,GAEaC,EAAN,cAA4BhB,CAAW,CAe5C,YACEiB,EACAC,EACAC,EACAC,EACA,CACA,MAAMH,EAAWG,CAAG,EApBtBC,EAAA,KAAAtB,EAAA,QAEAuB,EAAA,cAEAA,EAAA,aAEAA,EAAA,YAEAA,EAAA,WAEAA,EAAA,eAEAA,EAAA,YASEC,EAAA,KAAKxB,EAAQmB,GACb,KAAK,MAAQ,IAAIf,EAAmB,KAAMqB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAClE,KAAK,KAAO,IAAIK,EAAkB,KAAMoB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAChE,KAAK,IAAM,IAAIM,EAAiBc,EAAO,KAAMK,EAAA,KAAKzB,GAAO,KAAK,OAAO,EACrE,KAAK,GAAK,IAAIS,EAAgB,KAAMgB,EAAA,KAAKzB,GAAO,KAAK,OAAO,EAC5D,KAAK,OAAS,IAAIU,EAAoB,IAAI,EAC1C,KAAK,IAAM,IAAIC,EAAiB,KAAMc,EAAA,KAAKzB,GAAO,KAAK,OAAO,CAChE,CAEA,IAAI,WAAoB,CACtB,OAAOyB,EAAA,KAAKzB,GAAM,SACpB,CAEM,OAAO0B,EAAsD,QAAAX,EAAA,sBACjER,EAAW,MAAM,EACjBC,EAAW,MAAM,EACjB,MAAMmB,EAAAV,EAAA,eAAM,eAAN,KAAaS,CAAS,CAC9B,GACF,EAxCO,IAAME,EAANX,EACLjB,EAAA","names":["_keys","BaseClient","encryptSecretstream","sodium","SecrecyCloudClient","SecrecyMailClient","SecrecyAppClient","nodesCache","filesCache","SecrecyDbClient","SecrecyWalletClient","SecrecyPayClient","encryptName","name","nameKey","__async","data","_SecrecyClient","uaSession","uaKeys","uaJwt","env","__privateAdd","__publicField","__privateSet","__privateGet","sessionId","__superGet","SecrecyClient"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');var _storebuddyjs = require('../utils/store-buddy.js');function i(e){const t=_storebuddyjs.storeBuddy.call(void 0, "secrecy.user_app_session",e).init(null),n=_storebuddyjs.storeBuddy.call(void 0, "secrecy.user_app_keys",e).init(null),s=_storebuddyjs.storeBuddy.call(void 0, "secrecy.jwt",e).init(null);return{userAppKeys:n,userAppSession:t,jwt:s}}exports.getStorage = i;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XDPEU3HV.cjs');var _storebuddyjs = require('../utils/store-buddy.js');function i(e){const t=_storebuddyjs.storeBuddy.call(void 0, "secrecy.user_app_session",e).init(null),n=_storebuddyjs.storeBuddy.call(void 0, "secrecy.user_app_keys",e).init(null),s=_storebuddyjs.storeBuddy.call(void 0, "secrecy.jwt",e).init(null);return{userAppKeys:n,userAppSession:t,jwt:s}}exports.getStorage = i;
2
2
  //# sourceMappingURL=storage.cjs.map
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";import{storeBuddy as r}from"../utils/store-buddy.js";function i(e){const t=r("secrecy.user_app_session",e).init(null),n=r("secrecy.user_app_keys",e).init(null),s=r("secrecy.jwt",e).init(null);return{userAppKeys:n,userAppSession:t,jwt:s}}export{i as getStorage};
1
+ import"../chunk-UPFDSEKI.js";import{storeBuddy as r}from"../utils/store-buddy.js";function i(e){const t=r("secrecy.user_app_session",e).init(null),n=r("secrecy.user_app_keys",e).init(null),s=r("secrecy.jwt",e).init(null);return{userAppKeys:n,userAppSession:t,jwt:s}}export{i as getStorage};
2
2
  //# sourceMappingURL=storage.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5WPCTUWHcjs = require('../../chunk-5WPCTUWH.cjs');var _indexjs = require('../../zeus/index.js');const s=_indexjs.Selector.call(void 0, "File")({id:!0,size:!0,sizeBefore:!0,createdAt:!0,md5:!0,md5Encrypted:!0,access:{key:!0,sharedBy:{keyPair:{pub:!0}}}}),e= exports.userSelector =_indexjs.Selector.call(void 0, "User")({id:!0,firstname:!0,lastname:!0,email:!0,publicKey:!0}),i= exports.nodeSelector =_indexjs.Selector.call(void 0, "Node")({id:!0,isFavorite:!0,type:!0,createdAt:!0,deletedAt:!0,createdBy:{user:e},sizes:{size:!0,sizeBefore:!0},updatedAt:!0,name:!0,access:{rights:!0,isRoot:!0,nameKey:!0,sharedBy:{keyPair:{pub:!0}},userApp:{user:e}},accesses:{rights:!0,isRoot:!0,nameKey:!0,sharedBy:{keyPair:{pub:!0}},userApp:{user:e}},breadcrumb:{id:!0,name:!0,nameKey:!0,pubKey:!0},parentId:!0,currentFileId:!0}),c= exports.nodeFullSelector =_indexjs.Selector.call(void 0, "Node")(_chunk5WPCTUWHcjs.b.call(void 0, _chunk5WPCTUWHcjs.a.call(void 0, {},i),{parent:i,children:i,history:s,current:s})),d= exports.mailSelector =_indexjs.Selector.call(void 0, "Mail")({id:!0,type:!0,body:!0,subject:!0,openedAt:!0,createdAt:!0,deletedAt:!0,recipients:_chunk5WPCTUWHcjs.b.call(void 0, _chunk5WPCTUWHcjs.a.call(void 0, {},e),{publicKey:!1}),recipient:_chunk5WPCTUWHcjs.b.call(void 0, _chunk5WPCTUWHcjs.a.call(void 0, {},e),{publicKey:!1}),sender:e,mailIntegrity:{id:!0,hash:!0,hashKey:!0,replyTo:{id:!0},temporaryRecipients:{email:!0},recipients:_chunk5WPCTUWHcjs.b.call(void 0, _chunk5WPCTUWHcjs.a.call(void 0, {},e),{publicKey:!1})},mailIntegrityDraft:{id:!0,hash:!0,hashKey:!0,replyTo:{id:!0},temporaryRecipients:{email:!0},recipients:_chunk5WPCTUWHcjs.b.call(void 0, _chunk5WPCTUWHcjs.a.call(void 0, {},e),{publicKey:!1})},files:{fileKey:!0,filename:!0,file:{id:!0}}});exports.fileSelector = s; exports.mailSelector = d; exports.nodeFullSelector = c; exports.nodeSelector = i; exports.userSelector = e;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('../../chunk-XDPEU3HV.cjs');var _indexjs = require('../../zeus/index.js');const s=_indexjs.Selector.call(void 0, "File")({id:!0,size:!0,sizeBefore:!0,createdAt:!0,md5:!0,md5Encrypted:!0,access:{key:!0,sharedBy:{keyPair:{pub:!0}}}}),e= exports.userSelector =_indexjs.Selector.call(void 0, "User")({id:!0,firstname:!0,lastname:!0,email:!0,publicKey:!0}),i= exports.nodeSelector =_indexjs.Selector.call(void 0, "Node")({id:!0,isFavorite:!0,type:!0,createdAt:!0,deletedAt:!0,createdBy:{user:e},sizes:{size:!0,sizeBefore:!0},updatedAt:!0,name:!0,access:{rights:!0,isRoot:!0,nameKey:!0,sharedBy:{keyPair:{pub:!0}},userApp:{user:e}},accesses:{rights:!0,isRoot:!0,nameKey:!0,sharedBy:{keyPair:{pub:!0}},userApp:{user:e}},breadcrumb:{id:!0,name:!0,nameKey:!0,pubKey:!0},parentId:!0,currentFileId:!0}),c= exports.nodeFullSelector =_indexjs.Selector.call(void 0, "Node")(_chunkXDPEU3HVcjs.b.call(void 0, _chunkXDPEU3HVcjs.a.call(void 0, {},i),{parent:i,children:i,history:s,current:s})),d= exports.mailSelector =_indexjs.Selector.call(void 0, "Mail")({id:!0,type:!0,body:!0,subject:!0,openedAt:!0,createdAt:!0,deletedAt:!0,recipients:_chunkXDPEU3HVcjs.b.call(void 0, _chunkXDPEU3HVcjs.a.call(void 0, {},e),{publicKey:!1}),recipient:_chunkXDPEU3HVcjs.b.call(void 0, _chunkXDPEU3HVcjs.a.call(void 0, {},e),{publicKey:!1}),sender:e,mailIntegrity:{id:!0,hash:!0,hashKey:!0,replyTo:{id:!0},temporaryRecipients:{email:!0},recipients:_chunkXDPEU3HVcjs.b.call(void 0, _chunkXDPEU3HVcjs.a.call(void 0, {},e),{publicKey:!1})},mailIntegrityDraft:{id:!0,hash:!0,hashKey:!0,replyTo:{id:!0},temporaryRecipients:{email:!0},recipients:_chunkXDPEU3HVcjs.b.call(void 0, _chunkXDPEU3HVcjs.a.call(void 0, {},e),{publicKey:!1})},files:{fileKey:!0,filename:!0,file:{id:!0}}});exports.fileSelector = s; exports.mailSelector = d; exports.nodeFullSelector = c; exports.nodeSelector = i; exports.userSelector = e;
2
2
  //# sourceMappingURL=selectors.cjs.map
@@ -1,2 +1,2 @@
1
- import{a as r,b as t}from"../../chunk-KMTF2BZE.js";import{Selector as u}from"../../zeus/index.js";const s=u("File")({id:!0,size:!0,sizeBefore:!0,createdAt:!0,md5:!0,md5Encrypted:!0,access:{key:!0,sharedBy:{keyPair:{pub:!0}}}}),e=u("User")({id:!0,firstname:!0,lastname:!0,email:!0,publicKey:!0}),i=u("Node")({id:!0,isFavorite:!0,type:!0,createdAt:!0,deletedAt:!0,createdBy:{user:e},sizes:{size:!0,sizeBefore:!0},updatedAt:!0,name:!0,access:{rights:!0,isRoot:!0,nameKey:!0,sharedBy:{keyPair:{pub:!0}},userApp:{user:e}},accesses:{rights:!0,isRoot:!0,nameKey:!0,sharedBy:{keyPair:{pub:!0}},userApp:{user:e}},breadcrumb:{id:!0,name:!0,nameKey:!0,pubKey:!0},parentId:!0,currentFileId:!0}),c=u("Node")(t(r({},i),{parent:i,children:i,history:s,current:s})),d=u("Mail")({id:!0,type:!0,body:!0,subject:!0,openedAt:!0,createdAt:!0,deletedAt:!0,recipients:t(r({},e),{publicKey:!1}),recipient:t(r({},e),{publicKey:!1}),sender:e,mailIntegrity:{id:!0,hash:!0,hashKey:!0,replyTo:{id:!0},temporaryRecipients:{email:!0},recipients:t(r({},e),{publicKey:!1})},mailIntegrityDraft:{id:!0,hash:!0,hashKey:!0,replyTo:{id:!0},temporaryRecipients:{email:!0},recipients:t(r({},e),{publicKey:!1})},files:{fileKey:!0,filename:!0,file:{id:!0}}});export{s as fileSelector,d as mailSelector,c as nodeFullSelector,i as nodeSelector,e as userSelector};
1
+ import{a as r,b as t}from"../../chunk-UPFDSEKI.js";import{Selector as u}from"../../zeus/index.js";const s=u("File")({id:!0,size:!0,sizeBefore:!0,createdAt:!0,md5:!0,md5Encrypted:!0,access:{key:!0,sharedBy:{keyPair:{pub:!0}}}}),e=u("User")({id:!0,firstname:!0,lastname:!0,email:!0,publicKey:!0}),i=u("Node")({id:!0,isFavorite:!0,type:!0,createdAt:!0,deletedAt:!0,createdBy:{user:e},sizes:{size:!0,sizeBefore:!0},updatedAt:!0,name:!0,access:{rights:!0,isRoot:!0,nameKey:!0,sharedBy:{keyPair:{pub:!0}},userApp:{user:e}},accesses:{rights:!0,isRoot:!0,nameKey:!0,sharedBy:{keyPair:{pub:!0}},userApp:{user:e}},breadcrumb:{id:!0,name:!0,nameKey:!0,pubKey:!0},parentId:!0,currentFileId:!0}),c=u("Node")(t(r({},i),{parent:i,children:i,history:s,current:s})),d=u("Mail")({id:!0,type:!0,body:!0,subject:!0,openedAt:!0,createdAt:!0,deletedAt:!0,recipients:t(r({},e),{publicKey:!1}),recipient:t(r({},e),{publicKey:!1}),sender:e,mailIntegrity:{id:!0,hash:!0,hashKey:!0,replyTo:{id:!0},temporaryRecipients:{email:!0},recipients:t(r({},e),{publicKey:!1})},mailIntegrityDraft:{id:!0,hash:!0,hashKey:!0,replyTo:{id:!0},temporaryRecipients:{email:!0},recipients:t(r({},e),{publicKey:!1})},files:{fileKey:!0,filename:!0,file:{id:!0}}});export{s as fileSelector,d as mailSelector,c as nodeFullSelector,i as nodeSelector,e as userSelector};
2
2
  //# sourceMappingURL=selectors.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }require('../chunk-5WPCTUWH.cjs');var _sodiumjs = require('../sodium.js');var _sparkmd5 = require('spark-md5'); var _sparkmd52 = _interopRequireDefault(_sparkmd5);var _utilsjs = require('../utils/utils.js');function _(o,e){if(!o)throw new Error(e)}function k(){return _sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_keygen()}function T(o){let e=!1;const{state:t,header:y}=_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_init_push(o),l=(i,d)=>(_(e===!1,"state already destroyed"),_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_push(t,d,null,i));function p(){_(e===!1,"state already destroyed"),e=!0}return{encrypt:l,destroy:p,header:y}}function w(o,e){_(o.byteLength>=_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES,`header must be at least HEADERBYTES (${_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`),_(e.byteLength>=_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES,`key must be at least KEYBYTES (${_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`);let t=!1;const y=_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_init_pull(o,e),l=i=>(_(t===!1,"state already destroyed"),_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_pull(y,i));function p(){_(t===!1,"state already destroyed"),t=!0}return{decrypt:l,destroy:p}}const m=8192;async function F(o,e,t,y){await _sodiumjs.setup.call(void 0, );const{encrypt:l,destroy:p,header:i}=T(o),d=m+_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_ABYTES,c=Math.ceil(e.byteLength/m)*d+i.byteLength;t==null||t({percent:0,total:c,current:0});const h=new Uint8Array(c),n=new _sparkmd52.default.ArrayBuffer,u=new _sparkmd52.default.ArrayBuffer;h.set(i),n.append(i);let a=i.byteLength;t==null||t({percent:a/c,total:c,current:a});let E=a/c;for(const s of _utilsjs.chunks.call(void 0, e,m)){if(y!=null&&y.signal.aborted)throw new Error("Encrypt aborted");u.append(s);const b=s.length<m?_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL:_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE,f=l(b,s);n.append(f),h.set(f,a),a+=f.byteLength;const A=a/c;A>E+.01&&(t==null||t({percent:A,total:c,current:a}),E=A)}return p(),t==null||t({percent:1,total:a,current:a}),{data:h.slice(0,a),md5Encrypted:n.end(),md5:u.end()}}async function L(o,e,t,y){await _sodiumjs.setup.call(void 0, );const l=e.slice(0,_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);e=e.slice(_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);const{decrypt:p,destroy:i}=w(l,o),d=m+_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_ABYTES,c=Math.ceil(e.byteLength/d)*m;t==null||t({percent:0,total:c,current:0});const h=new Uint8Array(c);let n=0,u=n/c;for(const a of _utilsjs.chunks.call(void 0, e,d)){if(y!=null&&y.signal.aborted)throw new Error("Decrypt aborted");const E=p(a);h.set(E.message,n),n+=E.message.byteLength;const s=n/c;s>u+.01&&(t==null||t({percent:s,total:c,current:n}),u=s)}return i(),t==null||t({percent:1,total:n,current:n}),h.slice(0,n)}exports.CHUNK_SIZE = m; exports.decryptSecretstream = L; exports.encryptSecretstream = F; exports.secretstreamKeygen = k;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkXDPEU3HVcjs = require('../chunk-XDPEU3HV.cjs');var _sodiumjs = require('../sodium.js');var _sparkmd5 = require('spark-md5'); var _sparkmd52 = _interopRequireDefault(_sparkmd5);var _utilsjs = require('../utils/utils.js');function _(o,e){if(!o)throw new Error(e)}function F(){return _sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_keygen()}function w(o){let e=!1;const{state:t,header:y}=_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_init_push(o),l=(i,d)=>(_(e===!1,"state already destroyed"),_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_push(t,d,null,i));function p(){_(e===!1,"state already destroyed"),e=!0}return{encrypt:l,destroy:p,header:y}}function Y(o,e){_(o.byteLength>=_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES,`header must be at least HEADERBYTES (${_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`),_(e.byteLength>=_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES,`key must be at least KEYBYTES (${_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`);let t=!1;const y=_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_init_pull(o,e),l=i=>(_(t===!1,"state already destroyed"),_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_pull(y,i));function p(){_(t===!1,"state already destroyed"),t=!0}return{decrypt:l,destroy:p}}const m=8192;function L(o,e,t,y){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){yield _sodiumjs.setup.call(void 0, );const{encrypt:l,destroy:p,header:i}=w(o),d=m+_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_ABYTES,c=Math.ceil(e.byteLength/m)*d+i.byteLength;t==null||t({percent:0,total:c,current:0});const h=new Uint8Array(c),n=new _sparkmd52.default.ArrayBuffer,u=new _sparkmd52.default.ArrayBuffer;h.set(i),n.append(i);let a=i.byteLength;t==null||t({percent:a/c,total:c,current:a});let E=a/c;for(const s of _utilsjs.chunks.call(void 0, e,m)){if(y!=null&&y.signal.aborted)throw new Error("Encrypt aborted");u.append(s);const T=s.length<m?_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL:_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE,f=l(T,s);n.append(f),h.set(f,a),a+=f.byteLength;const A=a/c;A>E+.01&&(t==null||t({percent:A,total:c,current:a}),E=A)}return p(),t==null||t({percent:1,total:a,current:a}),{data:h.slice(0,a),md5Encrypted:n.end(),md5:u.end()}})}function P(o,e,t,y){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){yield _sodiumjs.setup.call(void 0, );const l=e.slice(0,_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);e=e.slice(_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);const{decrypt:p,destroy:i}=Y(l,o),d=m+_sodiumjs.sodium.crypto_secretstream_xchacha20poly1305_ABYTES,c=Math.ceil(e.byteLength/d)*m;t==null||t({percent:0,total:c,current:0});const h=new Uint8Array(c);let n=0,u=n/c;for(const a of _utilsjs.chunks.call(void 0, e,d)){if(y!=null&&y.signal.aborted)throw new Error("Decrypt aborted");const E=p(a);h.set(E.message,n),n+=E.message.byteLength;const s=n/c;s>u+.01&&(t==null||t({percent:s,total:c,current:n}),u=s)}return i(),t==null||t({percent:1,total:n,current:n}),h.slice(0,n)})}exports.CHUNK_SIZE = m; exports.decryptSecretstream = P; exports.encryptSecretstream = L; exports.secretstreamKeygen = F;
2
2
  //# sourceMappingURL=file.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/crypto/file.ts"],"names":["setup","sodium","SparkMD5","chunks","assert","c","message","secretstreamKeygen","encrypt","key","destroyed","state","header","tag","plaintext","destroy","decrypt","ciphertext","CHUNK_SIZE","encryptSecretstream","data","progress","abort","crypt","cryptedChunk","max","final","sparkEncrypted","spark","total","lastPercent","chunk","crypted","percent","decryptSecretstream","decryptt","chunkSize","tmp"],"mappings":"8BACA,OAAS,SAAAA,EAAO,UAAAC,MAAc,eAC9B,OAAOC,MAAc,YACrB,OAAS,UAAAC,MAAc,oBAQvB,SAASC,EAAOC,EAAYC,EAAuB,CACjD,GAAI,CAACD,EACH,MAAM,IAAI,MAAMC,CAAO,CAE3B,CAMO,SAASC,GAAiC,CAC/C,OAAON,EAAO,6CAA6C,CAC7D,CAEA,SAASO,EAAQC,EAIf,CACA,IAAIC,EAAY,GAChB,KAAM,CAAE,MAAAC,EAAO,OAAAC,CAAO,EACpBX,EAAO,gDAAgDQ,CAAG,EAEtDD,EAAqB,CAACK,EAAKC,KAC/BV,EAAOM,IAAc,GAAO,yBAAyB,EAE9CT,EAAO,2CACZU,EACAG,EACA,KACAD,CACF,GAGF,SAASE,GAAgB,CACvBX,EAAOM,IAAc,GAAO,yBAAyB,EACrDA,EAAY,EACd,CAEA,MAAO,CACL,QAAAF,EACA,QAAAO,EACA,OAAAH,CACF,CACF,CAEA,SAASI,EACPJ,EACAH,EAIA,CACAL,EACEQ,EAAO,YACLX,EAAO,kDACT,wCAAwCA,EAAO,yDACjD,EACAG,EACEK,EAAI,YAAcR,EAAO,+CACzB,kCAAkCA,EAAO,sDAC3C,EAEA,IAAIS,EAAY,GAChB,MAAMC,EAAQV,EAAO,gDACnBW,EACAH,CACF,EAEMO,EAAqBC,IACzBb,EAAOM,IAAc,GAAO,yBAAyB,EAE9CT,EAAO,2CAA2CU,EAAOM,CAAU,GAG5E,SAASF,GAAgB,CACvBX,EAAOM,IAAc,GAAO,yBAAyB,EACrDA,EAAY,EACd,CAEA,MAAO,CACL,QAAAM,EACA,QAAAD,CACF,CACF,CAEO,MAAMG,EAAa,KAQ1B,eAAsBC,EACpBV,EACAW,EACAC,EACAC,EACwB,CACxB,MAAMtB,EAAM,EACZ,KAAM,CAAE,QAASuB,EAAO,QAAAR,EAAS,OAAAH,CAAO,EAAIJ,EAAQC,CAAG,EACjDe,EACJN,EAAajB,EAAO,6CAChBwB,EACJ,KAAK,KAAKL,EAAK,WAAaF,CAAU,EAAIM,EAAeZ,EAAO,WAElES,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,MAAOI,EACP,QAAS,CACX,GACA,MAAMC,EAAQ,IAAI,WAAWD,CAAG,EAC1BE,EAAiB,IAAIzB,EAAS,YAC9B0B,EAAQ,IAAI1B,EAAS,YAE3BwB,EAAM,IAAId,CAAM,EAChBe,EAAe,OAAOf,CAAM,EAC5B,IAAIiB,EAAQjB,EAAO,WACnBS,GAAA,MAAAA,EAAW,CACT,QAASQ,EAAQJ,EACjB,MAAOA,EACP,QAASI,CACX,GACA,IAAIC,EAAcD,EAAQJ,EAE1B,UAAWM,KAAS5B,EAAOiB,EAAMF,CAAU,EAAG,CAC5C,GAAII,GAAA,MAAAA,EAAO,OAAO,QAChB,MAAM,IAAI,MAAM,iBAAiB,EAEnCM,EAAM,OAAOG,CAAK,EAClB,MAAMlB,EACJkB,EAAM,OAASb,EACXjB,EAAO,gDACPA,EAAO,kDACP+B,EAAUT,EAAMV,EAAKkB,CAAK,EAChCJ,EAAe,OAAOK,CAAO,EAC7BN,EAAM,IAAIM,EAASH,CAAK,EACxBA,GAASG,EAAQ,WACjB,MAAMC,EAAUJ,EAAQJ,EACpBQ,EAAUH,EAAc,MAC1BT,GAAA,MAAAA,EAAW,CACT,QAAAY,EACA,MAAOR,EACP,QAASI,CACX,GACAC,EAAcG,EAElB,CAEA,OAAAlB,EAAQ,EACRM,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,MAAAQ,EACA,QAASA,CACX,GACO,CACL,KAAMH,EAAM,MAAM,EAAGG,CAAK,EAC1B,aAAcF,EAAe,IAAI,EACjC,IAAKC,EAAM,IAAI,CACjB,CACF,CAEA,eAAsBM,EACpBzB,EACAW,EACAC,EACAC,EACqB,CACrB,MAAMtB,EAAM,EACZ,MAAMY,EAASQ,EAAK,MAClB,EACAnB,EAAO,iDACT,EACAmB,EAAOA,EAAK,MAAMnB,EAAO,iDAAiD,EAE1E,KAAM,CAAE,QAASkC,EAAU,QAAApB,CAAQ,EAAIC,EAAQJ,EAAQH,CAAG,EACpD2B,EACJlB,EAAajB,EAAO,6CAChBwB,EAAM,KAAK,KAAKL,EAAK,WAAagB,CAAS,EAAIlB,EAErDG,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,MAAOI,EACP,QAAS,CACX,GACA,MAAMC,EAAQ,IAAI,WAAWD,CAAG,EAChC,IAAII,EAAQ,EAERC,EAAcD,EAAQJ,EAE1B,UAAWM,KAAS5B,EAAOiB,EAAMgB,CAAS,EAAG,CAC3C,GAAId,GAAA,MAAAA,EAAO,OAAO,QAChB,MAAM,IAAI,MAAM,iBAAiB,EAEnC,MAAMe,EAAMF,EAASJ,CAAK,EAC1BL,EAAM,IAAIW,EAAI,QAASR,CAAK,EAC5BA,GAASQ,EAAI,QAAQ,WACrB,MAAMJ,EAAUJ,EAAQJ,EACpBQ,EAAUH,EAAc,MAC1BT,GAAA,MAAAA,EAAW,CACT,QAAAY,EACA,MAAOR,EACP,QAASI,CACX,GACAC,EAAcG,EAElB,CAEA,OAAAlB,EAAQ,EACRM,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,MAAAQ,EACA,QAASA,CACX,GACOH,EAAM,MAAM,EAAGG,CAAK,CAC7B","sourcesContent":["import type { MessageTag } from \"libsodium-wrappers\";\nimport { setup, sodium } from \"../sodium.js\";\nimport SparkMD5 from \"spark-md5\";\nimport { chunks } from \"../utils/utils.js\";\n\nexport type EncryptedFile = {\n data: Uint8Array;\n md5: string;\n md5Encrypted: string;\n};\n\nfunction assert(c: boolean, message: string): void {\n if (!c) {\n throw new Error(message);\n }\n}\n\ntype EncryptFn = (tag: number, plaintext: Uint8Array) => Uint8Array;\n\ntype DecryptFn = (ciphertext: Uint8Array) => MessageTag;\n\nexport function secretstreamKeygen(): Uint8Array {\n return sodium.crypto_secretstream_xchacha20poly1305_keygen();\n}\n\nfunction encrypt(key: Uint8Array): {\n destroy: () => void;\n encrypt: EncryptFn;\n header: Uint8Array;\n} {\n let destroyed = false;\n const { state, header } =\n sodium.crypto_secretstream_xchacha20poly1305_init_push(key);\n\n const encrypt: EncryptFn = (tag, plaintext) => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_push(\n state,\n plaintext,\n null,\n tag\n );\n };\n\n function destroy(): void {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n encrypt,\n destroy,\n header\n };\n}\n\nfunction decrypt(\n header: Uint8Array,\n key: Uint8Array\n): {\n destroy: () => void;\n decrypt: DecryptFn;\n} {\n assert(\n header.byteLength >=\n sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES,\n `header must be at least HEADERBYTES (${sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`\n );\n assert(\n key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES,\n `key must be at least KEYBYTES (${sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`\n );\n\n let destroyed = false;\n const state = sodium.crypto_secretstream_xchacha20poly1305_init_pull(\n header,\n key\n );\n\n const decrypt: DecryptFn = ciphertext => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);\n };\n\n function destroy(): void {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n decrypt,\n destroy\n };\n}\n\nexport const CHUNK_SIZE = 8192;\n\nexport type Progress = {\n percent: number;\n total: number;\n current: number;\n};\n\nexport async function encryptSecretstream(\n key: Uint8Array,\n data: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n abort?: AbortController\n): Promise<EncryptedFile> {\n await setup();\n const { encrypt: crypt, destroy, header } = encrypt(key);\n const cryptedChunk =\n CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;\n const max =\n Math.ceil(data.byteLength / CHUNK_SIZE) * cryptedChunk + header.byteLength;\n\n progress?.({\n percent: 0,\n total: max,\n current: 0\n });\n const final = new Uint8Array(max);\n const sparkEncrypted = new SparkMD5.ArrayBuffer();\n const spark = new SparkMD5.ArrayBuffer();\n\n final.set(header);\n sparkEncrypted.append(header);\n let total = header.byteLength;\n progress?.({\n percent: total / max,\n total: max,\n current: total\n });\n let lastPercent = total / max;\n\n for (const chunk of chunks(data, CHUNK_SIZE)) {\n if (abort?.signal.aborted) {\n throw new Error(`Encrypt aborted`);\n }\n spark.append(chunk);\n const tag =\n chunk.length < CHUNK_SIZE\n ? sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL\n : sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE;\n const crypted = crypt(tag, chunk);\n sparkEncrypted.append(crypted);\n final.set(crypted, total);\n total += crypted.byteLength;\n const percent = total / max;\n if (percent > lastPercent + 0.01) {\n progress?.({\n percent,\n total: max,\n current: total\n });\n lastPercent = percent;\n }\n }\n\n destroy();\n progress?.({\n percent: 1,\n total,\n current: total\n });\n return {\n data: final.slice(0, total),\n md5Encrypted: sparkEncrypted.end(),\n md5: spark.end()\n };\n}\n\nexport async function decryptSecretstream(\n key: Uint8Array,\n data: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n abort?: AbortController\n): Promise<Uint8Array> {\n await setup();\n const header = data.slice(\n 0,\n sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES\n );\n data = data.slice(sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);\n\n const { decrypt: decryptt, destroy } = decrypt(header, key);\n const chunkSize =\n CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;\n const max = Math.ceil(data.byteLength / chunkSize) * CHUNK_SIZE;\n\n progress?.({\n percent: 0,\n total: max,\n current: 0\n });\n const final = new Uint8Array(max);\n let total = 0;\n\n let lastPercent = total / max;\n\n for (const chunk of chunks(data, chunkSize)) {\n if (abort?.signal.aborted) {\n throw new Error(`Decrypt aborted`);\n }\n const tmp = decryptt(chunk);\n final.set(tmp.message, total);\n total += tmp.message.byteLength;\n const percent = total / max;\n if (percent > lastPercent + 0.01) {\n progress?.({\n percent,\n total: max,\n current: total\n });\n lastPercent = percent;\n }\n }\n\n destroy();\n progress?.({\n percent: 1,\n total,\n current: total\n });\n return final.slice(0, total);\n}\n\n// async function mainSecretstream(random: Uint8Array): Promise<void> {\n// const key = secretstreamKeygen();\n// console.time(\"secretstream_encrypt\");\n// const crypted = encryptSecretstream(key, random);\n// console.timeEnd(\"secretstream_encrypt\");\n// console.time(\"secretstream_decrypt\");\n// const decrypted = decryptSecretstream(key, crypted);\n// console.timeEnd(\"secretstream_decrypt\");\n// const first = to_hex(random).slice(0, 32);\n// const final = to_hex(decrypted).slice(0, 32);\n// console.log({\n// first,\n// final,\n// equals: first === final\n// });\n// }\n// async function mainSecretbox(random: Uint8Array): Promise<void> {\n// const key = generateSecretBox();\n// console.time(\"secretbox_encrypt\");\n// const crypted = encryptFile(random, key);\n// console.timeEnd(\"secretbox_encrypt\");\n// console.time(\"secretbox_decrypt\");\n// const decrypted = decryptFile(crypted, key);\n// console.timeEnd(\"secretbox_decrypt\");\n// const first = to_hex(random).slice(0, 32);\n// const final = to_hex(decrypted).slice(0, 32);\n// console.log({\n// first,\n// final,\n// equals: first === final\n// });\n// }\n\n// async function main(): Promise<void> {\n// await ready;\n// console.time(\"randombytes_buf\");\n// const random = randombytes_buf(1_000_000 * 1024);\n// console.timeEnd(\"randombytes_buf\");\n// await Promise.all([mainSecretstream(random), mainSecretbox(random)]);\n// }\n\n// main();\n"]}
1
+ {"version":3,"sources":["../../src/crypto/file.ts"],"names":["setup","sodium","SparkMD5","chunks","assert","c","message","secretstreamKeygen","encrypt","key","destroyed","state","header","tag","plaintext","destroy","decrypt","ciphertext","CHUNK_SIZE","encryptSecretstream","data","progress","abort","__async","crypt","cryptedChunk","max","final","sparkEncrypted","spark","total","lastPercent","chunk","crypted","percent","decryptSecretstream","decryptt","chunkSize","tmp"],"mappings":"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","sourcesContent":["import type { MessageTag } from \"libsodium-wrappers\";\nimport { setup, sodium } from \"../sodium.js\";\nimport SparkMD5 from \"spark-md5\";\nimport { chunks } from \"../utils/utils.js\";\n\nexport type EncryptedFile = {\n data: Uint8Array;\n md5: string;\n md5Encrypted: string;\n};\n\nfunction assert(c: boolean, message: string): void {\n if (!c) {\n throw new Error(message);\n }\n}\n\ntype EncryptFn = (tag: number, plaintext: Uint8Array) => Uint8Array;\n\ntype DecryptFn = (ciphertext: Uint8Array) => MessageTag;\n\nexport function secretstreamKeygen(): Uint8Array {\n return sodium.crypto_secretstream_xchacha20poly1305_keygen();\n}\n\nfunction encrypt(key: Uint8Array): {\n destroy: () => void;\n encrypt: EncryptFn;\n header: Uint8Array;\n} {\n let destroyed = false;\n const { state, header } =\n sodium.crypto_secretstream_xchacha20poly1305_init_push(key);\n\n const encrypt: EncryptFn = (tag, plaintext) => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_push(\n state,\n plaintext,\n null,\n tag\n );\n };\n\n function destroy(): void {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n encrypt,\n destroy,\n header\n };\n}\n\nfunction decrypt(\n header: Uint8Array,\n key: Uint8Array\n): {\n destroy: () => void;\n decrypt: DecryptFn;\n} {\n assert(\n header.byteLength >=\n sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES,\n `header must be at least HEADERBYTES (${sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`\n );\n assert(\n key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES,\n `key must be at least KEYBYTES (${sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`\n );\n\n let destroyed = false;\n const state = sodium.crypto_secretstream_xchacha20poly1305_init_pull(\n header,\n key\n );\n\n const decrypt: DecryptFn = ciphertext => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);\n };\n\n function destroy(): void {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n decrypt,\n destroy\n };\n}\n\nexport const CHUNK_SIZE = 8192;\n\nexport type Progress = {\n percent: number;\n total: number;\n current: number;\n};\n\nexport async function encryptSecretstream(\n key: Uint8Array,\n data: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n abort?: AbortController\n): Promise<EncryptedFile> {\n await setup();\n const { encrypt: crypt, destroy, header } = encrypt(key);\n const cryptedChunk =\n CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;\n const max =\n Math.ceil(data.byteLength / CHUNK_SIZE) * cryptedChunk + header.byteLength;\n\n progress?.({\n percent: 0,\n total: max,\n current: 0\n });\n const final = new Uint8Array(max);\n const sparkEncrypted = new SparkMD5.ArrayBuffer();\n const spark = new SparkMD5.ArrayBuffer();\n\n final.set(header);\n sparkEncrypted.append(header);\n let total = header.byteLength;\n progress?.({\n percent: total / max,\n total: max,\n current: total\n });\n let lastPercent = total / max;\n\n for (const chunk of chunks(data, CHUNK_SIZE)) {\n if (abort?.signal.aborted) {\n throw new Error(`Encrypt aborted`);\n }\n spark.append(chunk);\n const tag =\n chunk.length < CHUNK_SIZE\n ? sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL\n : sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE;\n const crypted = crypt(tag, chunk);\n sparkEncrypted.append(crypted);\n final.set(crypted, total);\n total += crypted.byteLength;\n const percent = total / max;\n if (percent > lastPercent + 0.01) {\n progress?.({\n percent,\n total: max,\n current: total\n });\n lastPercent = percent;\n }\n }\n\n destroy();\n progress?.({\n percent: 1,\n total,\n current: total\n });\n return {\n data: final.slice(0, total),\n md5Encrypted: sparkEncrypted.end(),\n md5: spark.end()\n };\n}\n\nexport async function decryptSecretstream(\n key: Uint8Array,\n data: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n abort?: AbortController\n): Promise<Uint8Array> {\n await setup();\n const header = data.slice(\n 0,\n sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES\n );\n data = data.slice(sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);\n\n const { decrypt: decryptt, destroy } = decrypt(header, key);\n const chunkSize =\n CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;\n const max = Math.ceil(data.byteLength / chunkSize) * CHUNK_SIZE;\n\n progress?.({\n percent: 0,\n total: max,\n current: 0\n });\n const final = new Uint8Array(max);\n let total = 0;\n\n let lastPercent = total / max;\n\n for (const chunk of chunks(data, chunkSize)) {\n if (abort?.signal.aborted) {\n throw new Error(`Decrypt aborted`);\n }\n const tmp = decryptt(chunk);\n final.set(tmp.message, total);\n total += tmp.message.byteLength;\n const percent = total / max;\n if (percent > lastPercent + 0.01) {\n progress?.({\n percent,\n total: max,\n current: total\n });\n lastPercent = percent;\n }\n }\n\n destroy();\n progress?.({\n percent: 1,\n total,\n current: total\n });\n return final.slice(0, total);\n}\n\n// async function mainSecretstream(random: Uint8Array): Promise<void> {\n// const key = secretstreamKeygen();\n// console.time(\"secretstream_encrypt\");\n// const crypted = encryptSecretstream(key, random);\n// console.timeEnd(\"secretstream_encrypt\");\n// console.time(\"secretstream_decrypt\");\n// const decrypted = decryptSecretstream(key, crypted);\n// console.timeEnd(\"secretstream_decrypt\");\n// const first = to_hex(random).slice(0, 32);\n// const final = to_hex(decrypted).slice(0, 32);\n// console.log({\n// first,\n// final,\n// equals: first === final\n// });\n// }\n// async function mainSecretbox(random: Uint8Array): Promise<void> {\n// const key = generateSecretBox();\n// console.time(\"secretbox_encrypt\");\n// const crypted = encryptFile(random, key);\n// console.timeEnd(\"secretbox_encrypt\");\n// console.time(\"secretbox_decrypt\");\n// const decrypted = decryptFile(crypted, key);\n// console.timeEnd(\"secretbox_decrypt\");\n// const first = to_hex(random).slice(0, 32);\n// const final = to_hex(decrypted).slice(0, 32);\n// console.log({\n// first,\n// final,\n// equals: first === final\n// });\n// }\n\n// async function main(): Promise<void> {\n// await ready;\n// console.time(\"randombytes_buf\");\n// const random = randombytes_buf(1_000_000 * 1024);\n// console.timeEnd(\"randombytes_buf\");\n// await Promise.all([mainSecretstream(random), mainSecretbox(random)]);\n// }\n\n// main();\n"]}
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";import{setup as x,sodium as r}from"../sodium.js";import S from"spark-md5";import{chunks as U}from"../utils/utils.js";function _(o,e){if(!o)throw new Error(e)}function k(){return r.crypto_secretstream_xchacha20poly1305_keygen()}function T(o){let e=!1;const{state:t,header:y}=r.crypto_secretstream_xchacha20poly1305_init_push(o),l=(i,d)=>(_(e===!1,"state already destroyed"),r.crypto_secretstream_xchacha20poly1305_push(t,d,null,i));function p(){_(e===!1,"state already destroyed"),e=!0}return{encrypt:l,destroy:p,header:y}}function w(o,e){_(o.byteLength>=r.crypto_secretstream_xchacha20poly1305_HEADERBYTES,`header must be at least HEADERBYTES (${r.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`),_(e.byteLength>=r.crypto_secretstream_xchacha20poly1305_KEYBYTES,`key must be at least KEYBYTES (${r.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`);let t=!1;const y=r.crypto_secretstream_xchacha20poly1305_init_pull(o,e),l=i=>(_(t===!1,"state already destroyed"),r.crypto_secretstream_xchacha20poly1305_pull(y,i));function p(){_(t===!1,"state already destroyed"),t=!0}return{decrypt:l,destroy:p}}const m=8192;async function F(o,e,t,y){await x();const{encrypt:l,destroy:p,header:i}=T(o),d=m+r.crypto_secretstream_xchacha20poly1305_ABYTES,c=Math.ceil(e.byteLength/m)*d+i.byteLength;t==null||t({percent:0,total:c,current:0});const h=new Uint8Array(c),n=new S.ArrayBuffer,u=new S.ArrayBuffer;h.set(i),n.append(i);let a=i.byteLength;t==null||t({percent:a/c,total:c,current:a});let E=a/c;for(const s of U(e,m)){if(y!=null&&y.signal.aborted)throw new Error("Encrypt aborted");u.append(s);const b=s.length<m?r.crypto_secretstream_xchacha20poly1305_TAG_FINAL:r.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE,f=l(b,s);n.append(f),h.set(f,a),a+=f.byteLength;const A=a/c;A>E+.01&&(t==null||t({percent:A,total:c,current:a}),E=A)}return p(),t==null||t({percent:1,total:a,current:a}),{data:h.slice(0,a),md5Encrypted:n.end(),md5:u.end()}}async function L(o,e,t,y){await x();const l=e.slice(0,r.crypto_secretstream_xchacha20poly1305_HEADERBYTES);e=e.slice(r.crypto_secretstream_xchacha20poly1305_HEADERBYTES);const{decrypt:p,destroy:i}=w(l,o),d=m+r.crypto_secretstream_xchacha20poly1305_ABYTES,c=Math.ceil(e.byteLength/d)*m;t==null||t({percent:0,total:c,current:0});const h=new Uint8Array(c);let n=0,u=n/c;for(const a of U(e,d)){if(y!=null&&y.signal.aborted)throw new Error("Decrypt aborted");const E=p(a);h.set(E.message,n),n+=E.message.byteLength;const s=n/c;s>u+.01&&(t==null||t({percent:s,total:c,current:n}),u=s)}return i(),t==null||t({percent:1,total:n,current:n}),h.slice(0,n)}export{m as CHUNK_SIZE,L as decryptSecretstream,F as encryptSecretstream,k as secretstreamKeygen};
1
+ import{h as x}from"../chunk-UPFDSEKI.js";import{setup as S,sodium as r}from"../sodium.js";import U from"spark-md5";import{chunks as b}from"../utils/utils.js";function _(o,e){if(!o)throw new Error(e)}function F(){return r.crypto_secretstream_xchacha20poly1305_keygen()}function w(o){let e=!1;const{state:t,header:y}=r.crypto_secretstream_xchacha20poly1305_init_push(o),l=(i,d)=>(_(e===!1,"state already destroyed"),r.crypto_secretstream_xchacha20poly1305_push(t,d,null,i));function p(){_(e===!1,"state already destroyed"),e=!0}return{encrypt:l,destroy:p,header:y}}function Y(o,e){_(o.byteLength>=r.crypto_secretstream_xchacha20poly1305_HEADERBYTES,`header must be at least HEADERBYTES (${r.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`),_(e.byteLength>=r.crypto_secretstream_xchacha20poly1305_KEYBYTES,`key must be at least KEYBYTES (${r.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`);let t=!1;const y=r.crypto_secretstream_xchacha20poly1305_init_pull(o,e),l=i=>(_(t===!1,"state already destroyed"),r.crypto_secretstream_xchacha20poly1305_pull(y,i));function p(){_(t===!1,"state already destroyed"),t=!0}return{decrypt:l,destroy:p}}const m=8192;function L(o,e,t,y){return x(this,null,function*(){yield S();const{encrypt:l,destroy:p,header:i}=w(o),d=m+r.crypto_secretstream_xchacha20poly1305_ABYTES,c=Math.ceil(e.byteLength/m)*d+i.byteLength;t==null||t({percent:0,total:c,current:0});const h=new Uint8Array(c),n=new U.ArrayBuffer,u=new U.ArrayBuffer;h.set(i),n.append(i);let a=i.byteLength;t==null||t({percent:a/c,total:c,current:a});let E=a/c;for(const s of b(e,m)){if(y!=null&&y.signal.aborted)throw new Error("Encrypt aborted");u.append(s);const T=s.length<m?r.crypto_secretstream_xchacha20poly1305_TAG_FINAL:r.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE,f=l(T,s);n.append(f),h.set(f,a),a+=f.byteLength;const A=a/c;A>E+.01&&(t==null||t({percent:A,total:c,current:a}),E=A)}return p(),t==null||t({percent:1,total:a,current:a}),{data:h.slice(0,a),md5Encrypted:n.end(),md5:u.end()}})}function P(o,e,t,y){return x(this,null,function*(){yield S();const l=e.slice(0,r.crypto_secretstream_xchacha20poly1305_HEADERBYTES);e=e.slice(r.crypto_secretstream_xchacha20poly1305_HEADERBYTES);const{decrypt:p,destroy:i}=Y(l,o),d=m+r.crypto_secretstream_xchacha20poly1305_ABYTES,c=Math.ceil(e.byteLength/d)*m;t==null||t({percent:0,total:c,current:0});const h=new Uint8Array(c);let n=0,u=n/c;for(const a of b(e,d)){if(y!=null&&y.signal.aborted)throw new Error("Decrypt aborted");const E=p(a);h.set(E.message,n),n+=E.message.byteLength;const s=n/c;s>u+.01&&(t==null||t({percent:s,total:c,current:n}),u=s)}return i(),t==null||t({percent:1,total:n,current:n}),h.slice(0,n)})}export{m as CHUNK_SIZE,P as decryptSecretstream,L as encryptSecretstream,F as secretstreamKeygen};
2
2
  //# sourceMappingURL=file.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/crypto/file.ts"],"sourcesContent":["import type { MessageTag } from \"libsodium-wrappers\";\nimport { setup, sodium } from \"../sodium.js\";\nimport SparkMD5 from \"spark-md5\";\nimport { chunks } from \"../utils/utils.js\";\n\nexport type EncryptedFile = {\n data: Uint8Array;\n md5: string;\n md5Encrypted: string;\n};\n\nfunction assert(c: boolean, message: string): void {\n if (!c) {\n throw new Error(message);\n }\n}\n\ntype EncryptFn = (tag: number, plaintext: Uint8Array) => Uint8Array;\n\ntype DecryptFn = (ciphertext: Uint8Array) => MessageTag;\n\nexport function secretstreamKeygen(): Uint8Array {\n return sodium.crypto_secretstream_xchacha20poly1305_keygen();\n}\n\nfunction encrypt(key: Uint8Array): {\n destroy: () => void;\n encrypt: EncryptFn;\n header: Uint8Array;\n} {\n let destroyed = false;\n const { state, header } =\n sodium.crypto_secretstream_xchacha20poly1305_init_push(key);\n\n const encrypt: EncryptFn = (tag, plaintext) => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_push(\n state,\n plaintext,\n null,\n tag\n );\n };\n\n function destroy(): void {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n encrypt,\n destroy,\n header\n };\n}\n\nfunction decrypt(\n header: Uint8Array,\n key: Uint8Array\n): {\n destroy: () => void;\n decrypt: DecryptFn;\n} {\n assert(\n header.byteLength >=\n sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES,\n `header must be at least HEADERBYTES (${sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`\n );\n assert(\n key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES,\n `key must be at least KEYBYTES (${sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`\n );\n\n let destroyed = false;\n const state = sodium.crypto_secretstream_xchacha20poly1305_init_pull(\n header,\n key\n );\n\n const decrypt: DecryptFn = ciphertext => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);\n };\n\n function destroy(): void {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n decrypt,\n destroy\n };\n}\n\nexport const CHUNK_SIZE = 8192;\n\nexport type Progress = {\n percent: number;\n total: number;\n current: number;\n};\n\nexport async function encryptSecretstream(\n key: Uint8Array,\n data: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n abort?: AbortController\n): Promise<EncryptedFile> {\n await setup();\n const { encrypt: crypt, destroy, header } = encrypt(key);\n const cryptedChunk =\n CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;\n const max =\n Math.ceil(data.byteLength / CHUNK_SIZE) * cryptedChunk + header.byteLength;\n\n progress?.({\n percent: 0,\n total: max,\n current: 0\n });\n const final = new Uint8Array(max);\n const sparkEncrypted = new SparkMD5.ArrayBuffer();\n const spark = new SparkMD5.ArrayBuffer();\n\n final.set(header);\n sparkEncrypted.append(header);\n let total = header.byteLength;\n progress?.({\n percent: total / max,\n total: max,\n current: total\n });\n let lastPercent = total / max;\n\n for (const chunk of chunks(data, CHUNK_SIZE)) {\n if (abort?.signal.aborted) {\n throw new Error(`Encrypt aborted`);\n }\n spark.append(chunk);\n const tag =\n chunk.length < CHUNK_SIZE\n ? sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL\n : sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE;\n const crypted = crypt(tag, chunk);\n sparkEncrypted.append(crypted);\n final.set(crypted, total);\n total += crypted.byteLength;\n const percent = total / max;\n if (percent > lastPercent + 0.01) {\n progress?.({\n percent,\n total: max,\n current: total\n });\n lastPercent = percent;\n }\n }\n\n destroy();\n progress?.({\n percent: 1,\n total,\n current: total\n });\n return {\n data: final.slice(0, total),\n md5Encrypted: sparkEncrypted.end(),\n md5: spark.end()\n };\n}\n\nexport async function decryptSecretstream(\n key: Uint8Array,\n data: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n abort?: AbortController\n): Promise<Uint8Array> {\n await setup();\n const header = data.slice(\n 0,\n sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES\n );\n data = data.slice(sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);\n\n const { decrypt: decryptt, destroy } = decrypt(header, key);\n const chunkSize =\n CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;\n const max = Math.ceil(data.byteLength / chunkSize) * CHUNK_SIZE;\n\n progress?.({\n percent: 0,\n total: max,\n current: 0\n });\n const final = new Uint8Array(max);\n let total = 0;\n\n let lastPercent = total / max;\n\n for (const chunk of chunks(data, chunkSize)) {\n if (abort?.signal.aborted) {\n throw new Error(`Decrypt aborted`);\n }\n const tmp = decryptt(chunk);\n final.set(tmp.message, total);\n total += tmp.message.byteLength;\n const percent = total / max;\n if (percent > lastPercent + 0.01) {\n progress?.({\n percent,\n total: max,\n current: total\n });\n lastPercent = percent;\n }\n }\n\n destroy();\n progress?.({\n percent: 1,\n total,\n current: total\n });\n return final.slice(0, total);\n}\n\n// async function mainSecretstream(random: Uint8Array): Promise<void> {\n// const key = secretstreamKeygen();\n// console.time(\"secretstream_encrypt\");\n// const crypted = encryptSecretstream(key, random);\n// console.timeEnd(\"secretstream_encrypt\");\n// console.time(\"secretstream_decrypt\");\n// const decrypted = decryptSecretstream(key, crypted);\n// console.timeEnd(\"secretstream_decrypt\");\n// const first = to_hex(random).slice(0, 32);\n// const final = to_hex(decrypted).slice(0, 32);\n// console.log({\n// first,\n// final,\n// equals: first === final\n// });\n// }\n// async function mainSecretbox(random: Uint8Array): Promise<void> {\n// const key = generateSecretBox();\n// console.time(\"secretbox_encrypt\");\n// const crypted = encryptFile(random, key);\n// console.timeEnd(\"secretbox_encrypt\");\n// console.time(\"secretbox_decrypt\");\n// const decrypted = decryptFile(crypted, key);\n// console.timeEnd(\"secretbox_decrypt\");\n// const first = to_hex(random).slice(0, 32);\n// const final = to_hex(decrypted).slice(0, 32);\n// console.log({\n// first,\n// final,\n// equals: first === final\n// });\n// }\n\n// async function main(): Promise<void> {\n// await ready;\n// console.time(\"randombytes_buf\");\n// const random = randombytes_buf(1_000_000 * 1024);\n// console.timeEnd(\"randombytes_buf\");\n// await Promise.all([mainSecretstream(random), mainSecretbox(random)]);\n// }\n\n// main();\n"],"mappings":"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","names":["setup","sodium","SparkMD5","chunks","assert","c","message","secretstreamKeygen","encrypt","key","destroyed","state","header","tag","plaintext","destroy","decrypt","ciphertext","CHUNK_SIZE","encryptSecretstream","data","progress","abort","crypt","cryptedChunk","max","final","sparkEncrypted","spark","total","lastPercent","chunk","crypted","percent","decryptSecretstream","decryptt","chunkSize","tmp"]}
1
+ {"version":3,"sources":["../../src/crypto/file.ts"],"sourcesContent":["import type { MessageTag } from \"libsodium-wrappers\";\nimport { setup, sodium } from \"../sodium.js\";\nimport SparkMD5 from \"spark-md5\";\nimport { chunks } from \"../utils/utils.js\";\n\nexport type EncryptedFile = {\n data: Uint8Array;\n md5: string;\n md5Encrypted: string;\n};\n\nfunction assert(c: boolean, message: string): void {\n if (!c) {\n throw new Error(message);\n }\n}\n\ntype EncryptFn = (tag: number, plaintext: Uint8Array) => Uint8Array;\n\ntype DecryptFn = (ciphertext: Uint8Array) => MessageTag;\n\nexport function secretstreamKeygen(): Uint8Array {\n return sodium.crypto_secretstream_xchacha20poly1305_keygen();\n}\n\nfunction encrypt(key: Uint8Array): {\n destroy: () => void;\n encrypt: EncryptFn;\n header: Uint8Array;\n} {\n let destroyed = false;\n const { state, header } =\n sodium.crypto_secretstream_xchacha20poly1305_init_push(key);\n\n const encrypt: EncryptFn = (tag, plaintext) => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_push(\n state,\n plaintext,\n null,\n tag\n );\n };\n\n function destroy(): void {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n encrypt,\n destroy,\n header\n };\n}\n\nfunction decrypt(\n header: Uint8Array,\n key: Uint8Array\n): {\n destroy: () => void;\n decrypt: DecryptFn;\n} {\n assert(\n header.byteLength >=\n sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES,\n `header must be at least HEADERBYTES (${sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`\n );\n assert(\n key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES,\n `key must be at least KEYBYTES (${sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`\n );\n\n let destroyed = false;\n const state = sodium.crypto_secretstream_xchacha20poly1305_init_pull(\n header,\n key\n );\n\n const decrypt: DecryptFn = ciphertext => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);\n };\n\n function destroy(): void {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n decrypt,\n destroy\n };\n}\n\nexport const CHUNK_SIZE = 8192;\n\nexport type Progress = {\n percent: number;\n total: number;\n current: number;\n};\n\nexport async function encryptSecretstream(\n key: Uint8Array,\n data: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n abort?: AbortController\n): Promise<EncryptedFile> {\n await setup();\n const { encrypt: crypt, destroy, header } = encrypt(key);\n const cryptedChunk =\n CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;\n const max =\n Math.ceil(data.byteLength / CHUNK_SIZE) * cryptedChunk + header.byteLength;\n\n progress?.({\n percent: 0,\n total: max,\n current: 0\n });\n const final = new Uint8Array(max);\n const sparkEncrypted = new SparkMD5.ArrayBuffer();\n const spark = new SparkMD5.ArrayBuffer();\n\n final.set(header);\n sparkEncrypted.append(header);\n let total = header.byteLength;\n progress?.({\n percent: total / max,\n total: max,\n current: total\n });\n let lastPercent = total / max;\n\n for (const chunk of chunks(data, CHUNK_SIZE)) {\n if (abort?.signal.aborted) {\n throw new Error(`Encrypt aborted`);\n }\n spark.append(chunk);\n const tag =\n chunk.length < CHUNK_SIZE\n ? sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL\n : sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE;\n const crypted = crypt(tag, chunk);\n sparkEncrypted.append(crypted);\n final.set(crypted, total);\n total += crypted.byteLength;\n const percent = total / max;\n if (percent > lastPercent + 0.01) {\n progress?.({\n percent,\n total: max,\n current: total\n });\n lastPercent = percent;\n }\n }\n\n destroy();\n progress?.({\n percent: 1,\n total,\n current: total\n });\n return {\n data: final.slice(0, total),\n md5Encrypted: sparkEncrypted.end(),\n md5: spark.end()\n };\n}\n\nexport async function decryptSecretstream(\n key: Uint8Array,\n data: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n abort?: AbortController\n): Promise<Uint8Array> {\n await setup();\n const header = data.slice(\n 0,\n sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES\n );\n data = data.slice(sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);\n\n const { decrypt: decryptt, destroy } = decrypt(header, key);\n const chunkSize =\n CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;\n const max = Math.ceil(data.byteLength / chunkSize) * CHUNK_SIZE;\n\n progress?.({\n percent: 0,\n total: max,\n current: 0\n });\n const final = new Uint8Array(max);\n let total = 0;\n\n let lastPercent = total / max;\n\n for (const chunk of chunks(data, chunkSize)) {\n if (abort?.signal.aborted) {\n throw new Error(`Decrypt aborted`);\n }\n const tmp = decryptt(chunk);\n final.set(tmp.message, total);\n total += tmp.message.byteLength;\n const percent = total / max;\n if (percent > lastPercent + 0.01) {\n progress?.({\n percent,\n total: max,\n current: total\n });\n lastPercent = percent;\n }\n }\n\n destroy();\n progress?.({\n percent: 1,\n total,\n current: total\n });\n return final.slice(0, total);\n}\n\n// async function mainSecretstream(random: Uint8Array): Promise<void> {\n// const key = secretstreamKeygen();\n// console.time(\"secretstream_encrypt\");\n// const crypted = encryptSecretstream(key, random);\n// console.timeEnd(\"secretstream_encrypt\");\n// console.time(\"secretstream_decrypt\");\n// const decrypted = decryptSecretstream(key, crypted);\n// console.timeEnd(\"secretstream_decrypt\");\n// const first = to_hex(random).slice(0, 32);\n// const final = to_hex(decrypted).slice(0, 32);\n// console.log({\n// first,\n// final,\n// equals: first === final\n// });\n// }\n// async function mainSecretbox(random: Uint8Array): Promise<void> {\n// const key = generateSecretBox();\n// console.time(\"secretbox_encrypt\");\n// const crypted = encryptFile(random, key);\n// console.timeEnd(\"secretbox_encrypt\");\n// console.time(\"secretbox_decrypt\");\n// const decrypted = decryptFile(crypted, key);\n// console.timeEnd(\"secretbox_decrypt\");\n// const first = to_hex(random).slice(0, 32);\n// const final = to_hex(decrypted).slice(0, 32);\n// console.log({\n// first,\n// final,\n// equals: first === final\n// });\n// }\n\n// async function main(): Promise<void> {\n// await ready;\n// console.time(\"randombytes_buf\");\n// const random = randombytes_buf(1_000_000 * 1024);\n// console.timeEnd(\"randombytes_buf\");\n// await Promise.all([mainSecretstream(random), mainSecretbox(random)]);\n// }\n\n// main();\n"],"mappings":"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","names":["setup","sodium","SparkMD5","chunks","assert","c","message","secretstreamKeygen","encrypt","key","destroyed","state","header","tag","plaintext","destroy","decrypt","ciphertext","CHUNK_SIZE","encryptSecretstream","data","progress","abort","__async","crypt","cryptedChunk","max","final","sparkEncrypted","spark","total","lastPercent","chunk","crypted","percent","decryptSecretstream","decryptt","chunkSize","tmp"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');var _utilsjs = require('../utils/utils.js');var _sodiumjs = require('../sodium.js');function p(t,o,e){const n=_sodiumjs.sodium.randombytes_buf(_sodiumjs.sodium.crypto_box_NONCEBYTES),c=_sodiumjs.sodium.crypto_box_easy(t,n,_sodiumjs.sodium.from_hex(o),_sodiumjs.sodium.from_hex(e));return _utilsjs.concatenate.call(void 0, n,c)}function s(){return _sodiumjs.sodium.crypto_box_keypair("hex")}function x(t,o,e){if(t.length<_sodiumjs.sodium.crypto_box_NONCEBYTES+_sodiumjs.sodium.crypto_box_MACBYTES)throw"data too short";const n=t.slice(0,_sodiumjs.sodium.crypto_box_NONCEBYTES),c=t.slice(_sodiumjs.sodium.crypto_box_NONCEBYTES);return _sodiumjs.sodium.crypto_box_open_easy(c,n,_sodiumjs.sodium.from_hex(o),_sodiumjs.sodium.from_hex(e))}function a(){return _sodiumjs.sodium.randombytes_buf(_sodiumjs.sodium.crypto_secretbox_KEYBYTES,"hex")}function b(t,o){const e=_sodiumjs.sodium.randombytes_buf(_sodiumjs.sodium.crypto_secretbox_NONCEBYTES),n=_sodiumjs.sodium.crypto_secretbox_easy(t,e,_sodiumjs.sodium.from_hex(o));return _utilsjs.concatenate.call(void 0, e,n)}function f(t,o){if(t.length<_sodiumjs.sodium.crypto_secretbox_NONCEBYTES+_sodiumjs.sodium.crypto_secretbox_MACBYTES)throw"data too short";const e=t.slice(0,_sodiumjs.sodium.crypto_secretbox_NONCEBYTES),n=t.slice(_sodiumjs.sodium.crypto_secretbox_NONCEBYTES);return _sodiumjs.sodium.crypto_secretbox_open_easy(n,e,_sodiumjs.sodium.from_hex(o))}function u(t,o){return _sodiumjs.sodium.crypto_box_seal(t,_sodiumjs.sodium.from_hex(o))}function E(t,{privateKey:o,publicKey:e}){return _sodiumjs.sodium.crypto_box_seal_open(t,_sodiumjs.sodium.from_hex(e),_sodiumjs.sodium.from_hex(o))}exports.decryptAnonymous = E; exports.decryptCryptoBox = x; exports.decryptSecretBox = f; exports.encryptAnonymous = u; exports.encryptCryptoBox = p; exports.encryptSecretBox = b; exports.generateCryptoBoxKeyPair = s; exports.generateSecretBoxKey = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XDPEU3HV.cjs');var _utilsjs = require('../utils/utils.js');var _sodiumjs = require('../sodium.js');function p(t,o,e){const n=_sodiumjs.sodium.randombytes_buf(_sodiumjs.sodium.crypto_box_NONCEBYTES),c=_sodiumjs.sodium.crypto_box_easy(t,n,_sodiumjs.sodium.from_hex(o),_sodiumjs.sodium.from_hex(e));return _utilsjs.concatenate.call(void 0, n,c)}function s(){return _sodiumjs.sodium.crypto_box_keypair("hex")}function x(t,o,e){if(t.length<_sodiumjs.sodium.crypto_box_NONCEBYTES+_sodiumjs.sodium.crypto_box_MACBYTES)throw"data too short";const n=t.slice(0,_sodiumjs.sodium.crypto_box_NONCEBYTES),c=t.slice(_sodiumjs.sodium.crypto_box_NONCEBYTES);return _sodiumjs.sodium.crypto_box_open_easy(c,n,_sodiumjs.sodium.from_hex(o),_sodiumjs.sodium.from_hex(e))}function a(){return _sodiumjs.sodium.randombytes_buf(_sodiumjs.sodium.crypto_secretbox_KEYBYTES,"hex")}function b(t,o){const e=_sodiumjs.sodium.randombytes_buf(_sodiumjs.sodium.crypto_secretbox_NONCEBYTES),n=_sodiumjs.sodium.crypto_secretbox_easy(t,e,_sodiumjs.sodium.from_hex(o));return _utilsjs.concatenate.call(void 0, e,n)}function f(t,o){if(t.length<_sodiumjs.sodium.crypto_secretbox_NONCEBYTES+_sodiumjs.sodium.crypto_secretbox_MACBYTES)throw"data too short";const e=t.slice(0,_sodiumjs.sodium.crypto_secretbox_NONCEBYTES),n=t.slice(_sodiumjs.sodium.crypto_secretbox_NONCEBYTES);return _sodiumjs.sodium.crypto_secretbox_open_easy(n,e,_sodiumjs.sodium.from_hex(o))}function u(t,o){return _sodiumjs.sodium.crypto_box_seal(t,_sodiumjs.sodium.from_hex(o))}function E(t,{privateKey:o,publicKey:e}){return _sodiumjs.sodium.crypto_box_seal_open(t,_sodiumjs.sodium.from_hex(e),_sodiumjs.sodium.from_hex(o))}exports.decryptAnonymous = E; exports.decryptCryptoBox = x; exports.decryptSecretBox = f; exports.encryptAnonymous = u; exports.encryptCryptoBox = p; exports.encryptSecretBox = b; exports.generateCryptoBoxKeyPair = s; exports.generateSecretBoxKey = a;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";import{concatenate as y}from"../utils/utils.js";import{sodium as r}from"../sodium.js";function p(t,o,e){const n=r.randombytes_buf(r.crypto_box_NONCEBYTES),c=r.crypto_box_easy(t,n,r.from_hex(o),r.from_hex(e));return y(n,c)}function s(){return r.crypto_box_keypair("hex")}function x(t,o,e){if(t.length<r.crypto_box_NONCEBYTES+r.crypto_box_MACBYTES)throw"data too short";const n=t.slice(0,r.crypto_box_NONCEBYTES),c=t.slice(r.crypto_box_NONCEBYTES);return r.crypto_box_open_easy(c,n,r.from_hex(o),r.from_hex(e))}function a(){return r.randombytes_buf(r.crypto_secretbox_KEYBYTES,"hex")}function b(t,o){const e=r.randombytes_buf(r.crypto_secretbox_NONCEBYTES),n=r.crypto_secretbox_easy(t,e,r.from_hex(o));return y(e,n)}function f(t,o){if(t.length<r.crypto_secretbox_NONCEBYTES+r.crypto_secretbox_MACBYTES)throw"data too short";const e=t.slice(0,r.crypto_secretbox_NONCEBYTES),n=t.slice(r.crypto_secretbox_NONCEBYTES);return r.crypto_secretbox_open_easy(n,e,r.from_hex(o))}function u(t,o){return r.crypto_box_seal(t,r.from_hex(o))}function E(t,{privateKey:o,publicKey:e}){return r.crypto_box_seal_open(t,r.from_hex(e),r.from_hex(o))}export{E as decryptAnonymous,x as decryptCryptoBox,f as decryptSecretBox,u as encryptAnonymous,p as encryptCryptoBox,b as encryptSecretBox,s as generateCryptoBoxKeyPair,a as generateSecretBoxKey};
1
+ import"../chunk-UPFDSEKI.js";import{concatenate as y}from"../utils/utils.js";import{sodium as r}from"../sodium.js";function p(t,o,e){const n=r.randombytes_buf(r.crypto_box_NONCEBYTES),c=r.crypto_box_easy(t,n,r.from_hex(o),r.from_hex(e));return y(n,c)}function s(){return r.crypto_box_keypair("hex")}function x(t,o,e){if(t.length<r.crypto_box_NONCEBYTES+r.crypto_box_MACBYTES)throw"data too short";const n=t.slice(0,r.crypto_box_NONCEBYTES),c=t.slice(r.crypto_box_NONCEBYTES);return r.crypto_box_open_easy(c,n,r.from_hex(o),r.from_hex(e))}function a(){return r.randombytes_buf(r.crypto_secretbox_KEYBYTES,"hex")}function b(t,o){const e=r.randombytes_buf(r.crypto_secretbox_NONCEBYTES),n=r.crypto_secretbox_easy(t,e,r.from_hex(o));return y(e,n)}function f(t,o){if(t.length<r.crypto_secretbox_NONCEBYTES+r.crypto_secretbox_MACBYTES)throw"data too short";const e=t.slice(0,r.crypto_secretbox_NONCEBYTES),n=t.slice(r.crypto_secretbox_NONCEBYTES);return r.crypto_secretbox_open_easy(n,e,r.from_hex(o))}function u(t,o){return r.crypto_box_seal(t,r.from_hex(o))}function E(t,{privateKey:o,publicKey:e}){return r.crypto_box_seal_open(t,r.from_hex(e),r.from_hex(o))}export{E as decryptAnonymous,x as decryptCryptoBox,f as decryptSecretBox,u as encryptAnonymous,p as encryptCryptoBox,b as encryptSecretBox,s as generateCryptoBoxKeyPair,a as generateSecretBoxKey};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }require('./chunk-5WPCTUWH.cjs');var _indexjs = require('./client/index.js'); _createStarExport(_indexjs);var _indexjs3 = require('./crypto/index.js'); _createStarExport(_indexjs3);var _BaseClientjs = require('./BaseClient.js');var _helpersjs = require('./client/helpers.js'); _createStarExport(_helpersjs);var _sodiumjs = require('./sodium.js'); _createStarExport(_sodiumjs);var _storebuddyjs = require('./utils/store-buddy.js'); _createStarExport(_storebuddyjs);var _indexjs5 = require('./zeus/index.js');var _errorjs = require('./error.js'); _createStarExport(_errorjs);exports.BaseClient = _BaseClientjs.BaseClient; exports.FileContentType = _indexjs5.FileContentType; exports.InfuraNetwork = _indexjs5.InfuraNetwork; exports.Lang = _indexjs5.Lang; exports.MailType = _indexjs5.MailType; exports.PayInputType = _indexjs5.PayInputType; exports.PlanKind = _indexjs5.PlanKind; exports.Rights = _indexjs5.Rights; exports.Thunder = _indexjs5.Thunder; exports.UserRole = _indexjs5.UserRole;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }require('./chunk-XDPEU3HV.cjs');var _indexjs = require('./client/index.js'); _createStarExport(_indexjs);var _indexjs3 = require('./crypto/index.js'); _createStarExport(_indexjs3);var _BaseClientjs = require('./BaseClient.js');var _helpersjs = require('./client/helpers.js'); _createStarExport(_helpersjs);var _sodiumjs = require('./sodium.js'); _createStarExport(_sodiumjs);var _storebuddyjs = require('./utils/store-buddy.js'); _createStarExport(_storebuddyjs);var _indexjs5 = require('./zeus/index.js');var _errorjs = require('./error.js'); _createStarExport(_errorjs);exports.BaseClient = _BaseClientjs.BaseClient; exports.FileContentType = _indexjs5.FileContentType; exports.InfuraNetwork = _indexjs5.InfuraNetwork; exports.Lang = _indexjs5.Lang; exports.MailType = _indexjs5.MailType; exports.PayInputType = _indexjs5.PayInputType; exports.PlanKind = _indexjs5.PlanKind; exports.Rights = _indexjs5.Rights; exports.Thunder = _indexjs5.Thunder; exports.UserRole = _indexjs5.UserRole;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { B as BaseClient, C as CloudLimits, D as DownloadProgress, H as HashInfos, M as MailLimitsValues, N as NewMail, P as ProgressCallback, Q as QueryLimits, d as SecrecyClient, f as SecrecyEnv, S as SendReport, c as SuccessResponse, h as UseSecrecyParams, a as User, b as UserData, V as Value, e as encryptName, i as getSecrecyClient, g as getUrl, l as login, p as parseInfos } from './BaseClient-7c38f650.js';
1
+ export { B as BaseClient, C as CloudLimits, D as DownloadProgress, H as HashInfos, M as MailLimitsValues, N as NewMail, P as ProgressCallback, Q as QueryLimits, d as SecrecyClient, f as SecrecyEnv, S as SendReport, c as SuccessResponse, h as UseSecrecyParams, a as User, b as UserData, V as Value, e as encryptName, i as getSecrecyClient, g as getUrl, l as login, p as parseInfos } from './BaseClient-e5e97df7.js';
2
2
  export { KeyPair, decryptAnonymous, decryptCryptoBox, decryptSecretBox, encryptAnonymous, encryptCryptoBox, encryptSecretBox, generateCryptoBoxKeyPair, generateSecretBoxKey } from './crypto/index.js';
3
3
  export { Progress } from './crypto/file.js';
4
4
  export { BaseMail, DraftMail, Mail, MailFile, MailIntegrity, MailRecipientInput, Node, NodeFull, NodeSize, PublicUser, ReceivedMail, SecrecyUserApp, SentMail, WaitingReceivedMail } from './client/types/index.js';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-KMTF2BZE.js";export*from"./client/index.js";export*from"./crypto/index.js";import{BaseClient as o}from"./BaseClient.js";export*from"./client/helpers.js";export*from"./sodium.js";export*from"./utils/store-buddy.js";import{Lang as n,FileContentType as f,MailType as m,PlanKind as x,Rights as y,PayInputType as d,UserRole as M,InfuraNetwork as c,Thunder as u}from"./zeus/index.js";export*from"./error.js";export{o as BaseClient,f as FileContentType,c as InfuraNetwork,n as Lang,m as MailType,d as PayInputType,x as PlanKind,y as Rights,u as Thunder,M as UserRole};
1
+ import"./chunk-UPFDSEKI.js";export*from"./client/index.js";export*from"./crypto/index.js";import{BaseClient as o}from"./BaseClient.js";export*from"./client/helpers.js";export*from"./sodium.js";export*from"./utils/store-buddy.js";import{Lang as n,FileContentType as f,MailType as m,PlanKind as x,Rights as y,PayInputType as d,UserRole as M,InfuraNetwork as c,Thunder as u}from"./zeus/index.js";export*from"./error.js";export{o as BaseClient,f as FileContentType,c as InfuraNetwork,n as Lang,m as MailType,d as PayInputType,x as PlanKind,y as Rights,u as Thunder,M as UserRole};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');var _lz4js = require('./lz4.js');var _utilsjs = require('../utils/utils.js');function y(r){if(r.byteLength>15e6)return _utilsjs.concatenate.call(void 0, new Uint8Array([0]),r);const e=new Uint8Array(_lz4js.compressBlockBound.call(void 0, r.byteLength)),n=_lz4js.compressBlockHC.call(void 0, r,e,0);return n===0?_utilsjs.concatenate.call(void 0, new Uint8Array([0]),r):_utilsjs.concatenate.call(void 0, new Uint8Array([1]),e.slice(0,n))}function U(r){const e=r.slice(1);if(r[0]===0)return e;const n=new Uint8Array(_lz4js.calcUncompressedLen.call(void 0, e)),o=_lz4js.uncompressBlock.call(void 0, e,n);return n.slice(0,o)}exports.compress = y; exports.uncompress = U;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XDPEU3HV.cjs');var _lz4js = require('./lz4.js');var _utilsjs = require('../utils/utils.js');function y(r){if(r.byteLength>15e6)return _utilsjs.concatenate.call(void 0, new Uint8Array([0]),r);const e=new Uint8Array(_lz4js.compressBlockBound.call(void 0, r.byteLength)),n=_lz4js.compressBlockHC.call(void 0, r,e,0);return n===0?_utilsjs.concatenate.call(void 0, new Uint8Array([0]),r):_utilsjs.concatenate.call(void 0, new Uint8Array([1]),e.slice(0,n))}function U(r){const e=r.slice(1);if(r[0]===0)return e;const n=new Uint8Array(_lz4js.calcUncompressedLen.call(void 0, e)),o=_lz4js.uncompressBlock.call(void 0, e,n);return n.slice(0,o)}exports.compress = y; exports.uncompress = U;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";import{calcUncompressedLen as s,compressBlockBound as c,compressBlockHC as i,uncompressBlock as m}from"./lz4.js";import{concatenate as t}from"../utils/utils.js";function y(r){if(r.byteLength>15e6)return t(new Uint8Array([0]),r);const e=new Uint8Array(c(r.byteLength)),n=i(r,e,0);return n===0?t(new Uint8Array([0]),r):t(new Uint8Array([1]),e.slice(0,n))}function U(r){const e=r.slice(1);if(r[0]===0)return e;const n=new Uint8Array(s(e)),o=m(e,n);return n.slice(0,o)}export{y as compress,U as uncompress};
1
+ import"../chunk-UPFDSEKI.js";import{calcUncompressedLen as s,compressBlockBound as c,compressBlockHC as i,uncompressBlock as m}from"./lz4.js";import{concatenate as t}from"../utils/utils.js";function y(r){if(r.byteLength>15e6)return t(new Uint8Array([0]),r);const e=new Uint8Array(c(r.byteLength)),n=i(r,e,0);return n===0?t(new Uint8Array([0]),r):t(new Uint8Array([1]),e.slice(0,n))}function U(r){const e=r.slice(1);if(r[0]===0)return e;const n=new Uint8Array(s(e)),o=m(e,n);return n.slice(0,o)}export{y as compress,U as uncompress};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');// lz4-ts @license BSD-3-Clause / Copyright (c) 2015, Pierre Curto / 2016, oov. All rights reserved.
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XDPEU3HV.cjs');// lz4-ts @license BSD-3-Clause / Copyright (c) 2015, Pierre Curto / 2016, oov. All rights reserved.
2
2
  const m=new Error("invalid source"),h=new Error("short buffer"),S=4,H=16,s=1<<H,E=s-1,I=16,P=1<<I,z=S*8-I,j=8+S,C=6,M=-1640531535;function q(t,i){const e=t>>>16&65535,r=t&65535,o=i>>>16&65535,n=i&65535;return r*n+(e*n+r*o<<16>>>0)|0}const v=Math.imul?Math.imul:q;function T(t,i){return t[i+3]|t[i+2]<<8|t[i+1]<<16|t[i]<<24}function k(t,i,e,r,o){for(let n=0;n<o;++n)t[e++]=i[r++]}function D(t){const i=t.length;if(i===0)return 0;let e=0,r=0;for(;;){let o=t[e]>>4,n=t[e]&15;if(++e===i)throw m;if(o>0){if(o===15){for(;t[e]===255;)if(o+=255,++e===i)throw m;if(o+=t[e],++e===i)throw m}if(r+=o,e+=o,e>=i)return r}if(e+=2,e>=i)throw m;const f=t[e-2]|t[e-1]<<8;if(r-f<0||f===0)throw m;if(n===15){for(;t[e]===255;)if(n+=255,++e===i)throw m;if(n+=t[e],++e===i)throw m}for(n+=4;n>=f;n-=f)r+=f;r+=n}}function F(t,i){const e=t.length,r=i.length;if(e===0)return 0;let o=0,n=0;for(;;){let f=t[o]>>4,x=t[o]&15;if(++o===e)throw m;if(f>0){if(f===15){for(;t[o]===255;)if(f+=255,++o===e)throw m;if(f+=t[o],++o===e)throw m}if(r-n<f||o+f>e)throw h;if(k(i,t,n,o,f),n+=f,o+=f,o>=e)return n}if(o+=2,o>=e)throw m;const w=t[o-2]|t[o-1]<<8;if(n-w<0||w===0)throw m;if(x===15){for(;t[o]===255;)if(x+=255,++o===e)throw m;if(x+=t[o],++o===e)throw m}if(x+=4,r-n<=x)throw h;for(;x>=w;x-=w)k(i,i,n,n-w,w),n+=w;k(i,i,n,n-w,x),n+=x}}function G(t){return t+(t/255|0)+16}function J(t,i,e){const r=t.length-j,o=i.length;if(r<=0||o===0||e>=r)return 0;let n=0,f=0;const x=new Uint32Array(P);for(;n<e;){const b=v(T(t,n),M)>>>z;x[b]=++n}let w=n,c=1<<C;for(;n<r-S;){const b=v(T(t,n),M)>>>z,l=x[b]-1;if(x[b]=n+1,l<0||n-l>>H>0||t[l]!==t[n]||t[l+1]!==t[n+1]||t[l+2]!==t[n+2]||t[l+3]!==t[n+3]){n+=c>>C,++c;continue}c=1<<C;const g=n-w,U=n-l;n+=S;let L=n;for(;n<=r&&t[n]===t[n-U];)n++;if(L=n-L,L<15?i[f]=L:i[f]=15,g<15)i[f]|=g<<4;else{if(i[f]|=240,++f===o)throw h;let y=g-15;for(;y>=255;y-=255)if(i[f]=255,++f===o)throw h;i[f]=y&255}if(++f===o||f+g>=o||(k(i,t,f,w,g),f+=g,w=n,f+=2,f>=o))throw h;if(i[f-2]=U,i[f-1]=U>>8,L>=15){for(L-=15;L>=255;L-=255)if(i[f]=255,++f===o)throw h;if(i[f]=L,++f===o)throw h}}if(w===0)return 0;let a=t.length-w;if(a<15)i[f]=a<<4;else{if(i[f]=240,++f===o)throw h;for(a-=15;a>=255;a-=255)if(i[f]=255,++f===o)throw h;i[f]=a}if(++f===o)throw h;const A=t.length-w,B=f+A;if(B>o)throw h;return B>=r?0:(k(i,t,f,w,A),f+=A,f)}function K(t,i,e){const r=t.length-j,o=i.length;if(r<=0||o===0||e>=r)return 0;let n=0,f=0;const x=new Uint32Array(P),w=new Uint32Array(s);for(;n<e;){const b=v(T(t,n),M)>>>z;w[n&E]=x[b],x[b]=++n}let c=n;for(;n<r-S;){const b=v(T(t,n),M)>>>z;let l=0,g=0;for(let u=x[b]-1;u>0&&u>n-s;u=w[u&E]-1)if(t[u+l]===t[n+l]){for(let p=0;;++p)if(t[u+p]!==t[n+p]||n+p>r){l<p&&p>=S&&(l=p,g=n-u);break}}if(w[n&E]=x[b],x[b]=n+1,l===0){++n;continue}let U=n+1;const L=n+l;for(;U<L;){const u=v(T(t,U),M)>>>z;w[U&E]=x[u],x[u]=++U}const y=n-c;if(n+=l,l-=S,l<15?i[f]=l:i[f]=15,y<15)i[f]|=y<<4;else{if(i[f]|=240,++f===o)throw h;let u=y-15;for(;u>=255;u-=255)if(i[f]=255,++f===o)throw h;i[f]=u&255}if(++f===o||f+y>=o||(k(i,t,f,c,y),f+=y,c=n,f+=2,f>=o))throw h;if(i[f-2]=g,i[f-1]=g>>8,l>=15){for(l-=15;l>=255;l-=255)if(i[f]=255,++f===o)throw h;if(i[f]=l,++f===o)throw h}}if(c===0)return 0;let a=t.length-c;if(a<15)i[f]=a<<4;else{if(i[f]=240,++f===o)throw h;for(a-=15;a>=255;a-=255)if(i[f]=255,++f===o)throw h;i[f]=a}if(++f===o)throw h;const A=t.length-c,B=f+A;if(B>o)throw h;return B>=r?0:(k(i,t,f,c,A),f+=A,f)}exports.calcUncompressedLen = D; exports.compressBlock = J; exports.compressBlockBound = G; exports.compressBlockHC = K; exports.uncompressBlock = F;
3
3
  //# sourceMappingURL=lz4.cjs.map
@@ -1,3 +1,3 @@
1
- import"../chunk-KMTF2BZE.js";// lz4-ts @license BSD-3-Clause / Copyright (c) 2015, Pierre Curto / 2016, oov. All rights reserved.
1
+ import"../chunk-UPFDSEKI.js";// lz4-ts @license BSD-3-Clause / Copyright (c) 2015, Pierre Curto / 2016, oov. All rights reserved.
2
2
  const m=new Error("invalid source"),h=new Error("short buffer"),S=4,H=16,s=1<<H,E=s-1,I=16,P=1<<I,z=S*8-I,j=8+S,C=6,M=-1640531535;function q(t,i){const e=t>>>16&65535,r=t&65535,o=i>>>16&65535,n=i&65535;return r*n+(e*n+r*o<<16>>>0)|0}const v=Math.imul?Math.imul:q;function T(t,i){return t[i+3]|t[i+2]<<8|t[i+1]<<16|t[i]<<24}function k(t,i,e,r,o){for(let n=0;n<o;++n)t[e++]=i[r++]}function D(t){const i=t.length;if(i===0)return 0;let e=0,r=0;for(;;){let o=t[e]>>4,n=t[e]&15;if(++e===i)throw m;if(o>0){if(o===15){for(;t[e]===255;)if(o+=255,++e===i)throw m;if(o+=t[e],++e===i)throw m}if(r+=o,e+=o,e>=i)return r}if(e+=2,e>=i)throw m;const f=t[e-2]|t[e-1]<<8;if(r-f<0||f===0)throw m;if(n===15){for(;t[e]===255;)if(n+=255,++e===i)throw m;if(n+=t[e],++e===i)throw m}for(n+=4;n>=f;n-=f)r+=f;r+=n}}function F(t,i){const e=t.length,r=i.length;if(e===0)return 0;let o=0,n=0;for(;;){let f=t[o]>>4,x=t[o]&15;if(++o===e)throw m;if(f>0){if(f===15){for(;t[o]===255;)if(f+=255,++o===e)throw m;if(f+=t[o],++o===e)throw m}if(r-n<f||o+f>e)throw h;if(k(i,t,n,o,f),n+=f,o+=f,o>=e)return n}if(o+=2,o>=e)throw m;const w=t[o-2]|t[o-1]<<8;if(n-w<0||w===0)throw m;if(x===15){for(;t[o]===255;)if(x+=255,++o===e)throw m;if(x+=t[o],++o===e)throw m}if(x+=4,r-n<=x)throw h;for(;x>=w;x-=w)k(i,i,n,n-w,w),n+=w;k(i,i,n,n-w,x),n+=x}}function G(t){return t+(t/255|0)+16}function J(t,i,e){const r=t.length-j,o=i.length;if(r<=0||o===0||e>=r)return 0;let n=0,f=0;const x=new Uint32Array(P);for(;n<e;){const b=v(T(t,n),M)>>>z;x[b]=++n}let w=n,c=1<<C;for(;n<r-S;){const b=v(T(t,n),M)>>>z,l=x[b]-1;if(x[b]=n+1,l<0||n-l>>H>0||t[l]!==t[n]||t[l+1]!==t[n+1]||t[l+2]!==t[n+2]||t[l+3]!==t[n+3]){n+=c>>C,++c;continue}c=1<<C;const g=n-w,U=n-l;n+=S;let L=n;for(;n<=r&&t[n]===t[n-U];)n++;if(L=n-L,L<15?i[f]=L:i[f]=15,g<15)i[f]|=g<<4;else{if(i[f]|=240,++f===o)throw h;let y=g-15;for(;y>=255;y-=255)if(i[f]=255,++f===o)throw h;i[f]=y&255}if(++f===o||f+g>=o||(k(i,t,f,w,g),f+=g,w=n,f+=2,f>=o))throw h;if(i[f-2]=U,i[f-1]=U>>8,L>=15){for(L-=15;L>=255;L-=255)if(i[f]=255,++f===o)throw h;if(i[f]=L,++f===o)throw h}}if(w===0)return 0;let a=t.length-w;if(a<15)i[f]=a<<4;else{if(i[f]=240,++f===o)throw h;for(a-=15;a>=255;a-=255)if(i[f]=255,++f===o)throw h;i[f]=a}if(++f===o)throw h;const A=t.length-w,B=f+A;if(B>o)throw h;return B>=r?0:(k(i,t,f,w,A),f+=A,f)}function K(t,i,e){const r=t.length-j,o=i.length;if(r<=0||o===0||e>=r)return 0;let n=0,f=0;const x=new Uint32Array(P),w=new Uint32Array(s);for(;n<e;){const b=v(T(t,n),M)>>>z;w[n&E]=x[b],x[b]=++n}let c=n;for(;n<r-S;){const b=v(T(t,n),M)>>>z;let l=0,g=0;for(let u=x[b]-1;u>0&&u>n-s;u=w[u&E]-1)if(t[u+l]===t[n+l]){for(let p=0;;++p)if(t[u+p]!==t[n+p]||n+p>r){l<p&&p>=S&&(l=p,g=n-u);break}}if(w[n&E]=x[b],x[b]=n+1,l===0){++n;continue}let U=n+1;const L=n+l;for(;U<L;){const u=v(T(t,U),M)>>>z;w[U&E]=x[u],x[u]=++U}const y=n-c;if(n+=l,l-=S,l<15?i[f]=l:i[f]=15,y<15)i[f]|=y<<4;else{if(i[f]|=240,++f===o)throw h;let u=y-15;for(;u>=255;u-=255)if(i[f]=255,++f===o)throw h;i[f]=u&255}if(++f===o||f+y>=o||(k(i,t,f,c,y),f+=y,c=n,f+=2,f>=o))throw h;if(i[f-2]=g,i[f-1]=g>>8,l>=15){for(l-=15;l>=255;l-=255)if(i[f]=255,++f===o)throw h;if(i[f]=l,++f===o)throw h}}if(c===0)return 0;let a=t.length-c;if(a<15)i[f]=a<<4;else{if(i[f]=240,++f===o)throw h;for(a-=15;a>=255;a-=255)if(i[f]=255,++f===o)throw h;i[f]=a}if(++f===o)throw h;const A=t.length-c,B=f+A;if(B>o)throw h;return B>=r?0:(k(i,t,f,c,A),f+=A,f)}export{D as calcUncompressedLen,J as compressBlock,G as compressBlockBound,K as compressBlockHC,F as uncompressBlock};
3
3
  //# sourceMappingURL=lz4.js.map
package/dist/sodium.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }require('./chunk-5WPCTUWH.cjs');var _libsodiumwrappers = require('libsodium-wrappers'); var _libsodiumwrappers2 = _interopRequireDefault(_libsodiumwrappers);async function r(){await _libsodiumwrappers2.default.ready}exports.setup = r; exports.sodium = _libsodiumwrappers2.default;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkXDPEU3HVcjs = require('./chunk-XDPEU3HV.cjs');var _libsodiumwrappers = require('libsodium-wrappers'); var _libsodiumwrappers2 = _interopRequireDefault(_libsodiumwrappers);function t(){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){yield _libsodiumwrappers2.default.ready})}exports.setup = t; exports.sodium = _libsodiumwrappers2.default;
2
2
  //# sourceMappingURL=sodium.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/sodium.ts"],"names":["sodium","setup"],"mappings":"6BAAA,OAAOA,MAAY,qBAEnB,eAAsBC,GAAuB,CAC3C,MAAMD,EAAO,KACf","sourcesContent":["import sodium from \"libsodium-wrappers\";\n\nexport async function setup(): Promise<void> {\n await sodium.ready;\n}\n\nexport { sodium };\n"]}
1
+ {"version":3,"sources":["../src/sodium.ts"],"names":["sodium","setup","__async"],"mappings":"yCAAA,OAAOA,MAAY,qBAEnB,SAAsBC,GAAuB,QAAAC,EAAA,sBAC3C,MAAMF,EAAO,KACf","sourcesContent":["import sodium from \"libsodium-wrappers\";\n\nexport async function setup(): Promise<void> {\n await sodium.ready;\n}\n\nexport { sodium };\n"]}
package/dist/sodium.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-KMTF2BZE.js";import o from"libsodium-wrappers";async function r(){await o.ready}export{r as setup,o as sodium};
1
+ import{h as o}from"./chunk-UPFDSEKI.js";import i from"libsodium-wrappers";function t(){return o(this,null,function*(){yield i.ready})}export{t as setup,i as sodium};
2
2
  //# sourceMappingURL=sodium.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/sodium.ts"],"sourcesContent":["import sodium from \"libsodium-wrappers\";\n\nexport async function setup(): Promise<void> {\n await sodium.ready;\n}\n\nexport { sodium };\n"],"mappings":"4BAAA,OAAOA,MAAY,qBAEnB,eAAsBC,GAAuB,CAC3C,MAAMD,EAAO,KACf","names":["sodium","setup"]}
1
+ {"version":3,"sources":["../src/sodium.ts"],"sourcesContent":["import sodium from \"libsodium-wrappers\";\n\nexport async function setup(): Promise<void> {\n await sodium.ready;\n}\n\nexport { sodium };\n"],"mappings":"wCAAA,OAAOA,MAAY,qBAEnB,SAAsBC,GAAuB,QAAAC,EAAA,sBAC3C,MAAMF,EAAO,KACf","names":["sodium","setup","__async"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');function d(t,o=!1){return{init(s){const e=o?sessionStorage:localStorage;return e.getItem(t)||e.setItem(t,JSON.stringify(s)),{load(){const r=e.getItem(t);if(!r)throw new Error("store-buddy: data has not been set or cannot be recognised");return JSON.parse(r)},save:r=>e.setItem(t,JSON.stringify(r)),reset:()=>e.setItem(t,JSON.stringify(s)),clear:()=>e.removeItem(t)}}}}exports.storeBuddy = d;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XDPEU3HV.cjs');function d(t,o=!1){return{init(s){const e=o?sessionStorage:localStorage;return e.getItem(t)||e.setItem(t,JSON.stringify(s)),{load(){const r=e.getItem(t);if(!r)throw new Error("store-buddy: data has not been set or cannot be recognised");return JSON.parse(r)},save:r=>e.setItem(t,JSON.stringify(r)),reset:()=>e.setItem(t,JSON.stringify(s)),clear:()=>e.removeItem(t)}}}}exports.storeBuddy = d;
2
2
  //# sourceMappingURL=store-buddy.cjs.map
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";function d(t,o=!1){return{init(s){const e=o?sessionStorage:localStorage;return e.getItem(t)||e.setItem(t,JSON.stringify(s)),{load(){const r=e.getItem(t);if(!r)throw new Error("store-buddy: data has not been set or cannot be recognised");return JSON.parse(r)},save:r=>e.setItem(t,JSON.stringify(r)),reset:()=>e.setItem(t,JSON.stringify(s)),clear:()=>e.removeItem(t)}}}}export{d as storeBuddy};
1
+ import"../chunk-UPFDSEKI.js";function d(t,o=!1){return{init(s){const e=o?sessionStorage:localStorage;return e.getItem(t)||e.setItem(t,JSON.stringify(s)),{load(){const r=e.getItem(t);if(!r)throw new Error("store-buddy: data has not been set or cannot be recognised");return JSON.parse(r)},save:r=>e.setItem(t,JSON.stringify(r)),reset:()=>e.setItem(t,JSON.stringify(s)),clear:()=>e.removeItem(t)}}}}export{d as storeBuddy};
2
2
  //# sourceMappingURL=store-buddy.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');const n=s=>new Promise(o=>setTimeout(o,s)),e=s=>o=>Math.round(o*s),r= exports.ms ={seconds:e(1e3),minutes:e(6e4),hours:e(36e5),days:e(864e5),weeks:e(6048e5),months:e(26298e5),years:e(315576e5)};exports.ms = r; exports.sleep = n;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XDPEU3HV.cjs');const n=s=>new Promise(o=>setTimeout(o,s)),e=s=>o=>Math.round(o*s),r= exports.ms ={seconds:e(1e3),minutes:e(6e4),hours:e(36e5),days:e(864e5),weeks:e(6048e5),months:e(26298e5),years:e(315576e5)};exports.ms = r; exports.sleep = n;
2
2
  //# sourceMappingURL=time.cjs.map
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";const n=s=>new Promise(o=>setTimeout(o,s)),e=s=>o=>Math.round(o*s),r={seconds:e(1e3),minutes:e(6e4),hours:e(36e5),days:e(864e5),weeks:e(6048e5),months:e(26298e5),years:e(315576e5)};export{r as ms,n as sleep};
1
+ import"../chunk-UPFDSEKI.js";const n=s=>new Promise(o=>setTimeout(o,s)),e=s=>o=>Math.round(o*s),r={seconds:e(1e3),minutes:e(6e4),hours:e(36e5),days:e(864e5),weeks:e(6048e5),months:e(26298e5),years:e(315576e5)};export{r as ms,n as sleep};
2
2
  //# sourceMappingURL=time.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');function u(...n){let e=0;for(const o of n)e+=o.length;const t=new Uint8Array(e);let i=0;for(const o of n)t.set(o,i),i+=o.length;return t}function*m(n){let e=0;for(const t of n)yield[e,t],e++}function*f(n,e){for(let t=0;t<n.length;t+=e)yield n.slice(t,t+e)}const d=async(n,e)=>{const t=e.slice(0,n),i=e.slice(n),o=[],a=async(s,r,l)=>{o[r]=await s(),await l()},c=async()=>{const s=e.length-i.length,r=i.shift();r!==void 0&&await a(r,s,c)};return await Promise.all(t.map((s,r)=>a(s,r,c))),o};exports.chunks = f; exports.concatenate = u; exports.enumerate = m; exports.promiseAllLimit = d;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('../chunk-XDPEU3HV.cjs');function m(...n){let e=0;for(const o of n)e+=o.length;const t=new Uint8Array(e);let i=0;for(const o of n)t.set(o,i),i+=o.length;return t}function*f(n){let e=0;for(const t of n)yield[e,t],e++}function*d(n,e){for(let t=0;t<n.length;t+=e)yield n.slice(t,t+e)}const h=(n,e)=>_chunkXDPEU3HVcjs.h.call(void 0, void 0,null,function*(){const t=e.slice(0,n),i=e.slice(n),o=[],c=(s,r,u)=>_chunkXDPEU3HVcjs.h.call(void 0, void 0,null,function*(){o[r]=yield s(),yield u()}),l=()=>_chunkXDPEU3HVcjs.h.call(void 0, void 0,null,function*(){const s=e.length-i.length,r=i.shift();r!==void 0&&(yield c(r,s,l))});return yield Promise.all(t.map((s,r)=>c(s,r,l))),o});exports.chunks = d; exports.concatenate = m; exports.enumerate = f; exports.promiseAllLimit = h;
2
2
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/utils.ts"],"names":["concatenate","arrays","totalLength","arr","result","offset","enumerate","iterable","i","x","chunks","n","promiseAllLimit","list","head","tail","execute","promise","runNext"],"mappings":"8BAAO,SAASA,KAAeC,EAAkC,CAC/D,IAAIC,EAAc,EAClB,UAAWC,KAAOF,EAChBC,GAAeC,EAAI,OAErB,MAAMC,EAAS,IAAI,WAAWF,CAAW,EACzC,IAAIG,EAAS,EACb,UAAWF,KAAOF,EAChBG,EAAO,IAAID,EAAKE,CAAM,EACtBA,GAAUF,EAAI,OAEhB,OAAOC,CACT,CAEO,SAAUE,EACfC,EAC+B,CAC/B,IAAIC,EAAI,EAER,UAAWC,KAAKF,EACd,KAAM,CAACC,EAAGC,CAAC,EACXD,GAEJ,CAEO,SAAUE,EACfP,EACAQ,EACsC,CACtC,QAASH,EAAI,EAAGA,EAAIL,EAAI,OAAQK,GAAKG,EACnC,MAAMR,EAAI,MAAMK,EAAGA,EAAIG,CAAC,CAE5B,CAEO,MAAMC,EAAkB,MAC7B,EACAC,IACiB,CACjB,MAAMC,EAAOD,EAAK,MAAM,EAAG,CAAC,EACtBE,EAAOF,EAAK,MAAM,CAAC,EACnBT,EAAc,CAAC,EACfY,EAAU,MACdC,EACAT,EACAU,IACkB,CAClBd,EAAOI,GAAK,MAAMS,EAAQ,EAC1B,MAAMC,EAAQ,CAChB,EACMA,EAAU,SAA2B,CACzC,MAAMV,EAAIK,EAAK,OAASE,EAAK,OACvBE,EAAUF,EAAK,MAAM,EACvBE,IAAY,QACd,MAAMD,EAAQC,EAAST,EAAGU,CAAO,CAErC,EACA,aAAM,QAAQ,IAAIJ,EAAK,IAAI,CAACG,EAAST,IAAMQ,EAAQC,EAAST,EAAGU,CAAO,CAAC,CAAC,EACjEd,CACT","sourcesContent":["export function concatenate(...arrays: Uint8Array[]): Uint8Array {\n let totalLength = 0;\n for (const arr of arrays) {\n totalLength += arr.length;\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\n\nexport function* enumerate<T>(\n iterable: Iterable<T>\n): IterableIterator<[number, T]> {\n let i = 0;\n\n for (const x of iterable) {\n yield [i, x];\n i++;\n }\n}\n\nexport function* chunks(\n arr: Uint8Array,\n n: number\n): Generator<Uint8Array, void, unknown> {\n for (let i = 0; i < arr.length; i += n) {\n yield arr.slice(i, i + n);\n }\n}\n\nexport const promiseAllLimit = async <T>(\n n: number,\n list: (() => Promise<T>)[]\n): Promise<T[]> => {\n const head = list.slice(0, n);\n const tail = list.slice(n);\n const result: T[] = [];\n const execute = async (\n promise: () => Promise<T>,\n i: number,\n runNext: () => Promise<void>\n ): Promise<void> => {\n result[i] = await promise();\n await runNext();\n };\n const runNext = async (): Promise<void> => {\n const i = list.length - tail.length;\n const promise = tail.shift();\n if (promise !== undefined) {\n await execute(promise, i, runNext);\n }\n };\n await Promise.all(head.map((promise, i) => execute(promise, i, runNext)));\n return result;\n};\n"]}
1
+ {"version":3,"sources":["../../src/utils/utils.ts"],"names":["concatenate","arrays","totalLength","arr","result","offset","enumerate","iterable","i","x","chunks","n","promiseAllLimit","list","__async","head","tail","execute","promise","runNext"],"mappings":"0CAAO,SAASA,KAAeC,EAAkC,CAC/D,IAAIC,EAAc,EAClB,UAAWC,KAAOF,EAChBC,GAAeC,EAAI,OAErB,MAAMC,EAAS,IAAI,WAAWF,CAAW,EACzC,IAAIG,EAAS,EACb,UAAWF,KAAOF,EAChBG,EAAO,IAAID,EAAKE,CAAM,EACtBA,GAAUF,EAAI,OAEhB,OAAOC,CACT,CAEO,SAAUE,EACfC,EAC+B,CAC/B,IAAIC,EAAI,EAER,UAAWC,KAAKF,EACd,KAAM,CAACC,EAAGC,CAAC,EACXD,GAEJ,CAEO,SAAUE,EACfP,EACAQ,EACsC,CACtC,QAASH,EAAI,EAAGA,EAAIL,EAAI,OAAQK,GAAKG,EACnC,MAAMR,EAAI,MAAMK,EAAGA,EAAIG,CAAC,CAE5B,CAEO,MAAMC,EAAkB,CAC7B,EACAC,IACiBC,EAAA,wBACjB,MAAMC,EAAOF,EAAK,MAAM,EAAG,CAAC,EACtBG,EAAOH,EAAK,MAAM,CAAC,EACnBT,EAAc,CAAC,EACfa,EAAU,CACdC,EACAV,EACAW,IACkBL,EAAA,wBAClBV,EAAOI,GAAK,MAAMU,EAAQ,EAC1B,MAAMC,EAAQ,CAChB,GACMA,EAAU,IAA2BL,EAAA,wBACzC,MAAMN,EAAIK,EAAK,OAASG,EAAK,OACvBE,EAAUF,EAAK,MAAM,EACvBE,IAAY,SACd,MAAMD,EAAQC,EAASV,EAAGW,CAAO,EAErC,GACA,aAAM,QAAQ,IAAIJ,EAAK,IAAI,CAACG,EAASV,IAAMS,EAAQC,EAASV,EAAGW,CAAO,CAAC,CAAC,EACjEf,CACT","sourcesContent":["export function concatenate(...arrays: Uint8Array[]): Uint8Array {\n let totalLength = 0;\n for (const arr of arrays) {\n totalLength += arr.length;\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\n\nexport function* enumerate<T>(\n iterable: Iterable<T>\n): IterableIterator<[number, T]> {\n let i = 0;\n\n for (const x of iterable) {\n yield [i, x];\n i++;\n }\n}\n\nexport function* chunks(\n arr: Uint8Array,\n n: number\n): Generator<Uint8Array, void, unknown> {\n for (let i = 0; i < arr.length; i += n) {\n yield arr.slice(i, i + n);\n }\n}\n\nexport const promiseAllLimit = async <T>(\n n: number,\n list: (() => Promise<T>)[]\n): Promise<T[]> => {\n const head = list.slice(0, n);\n const tail = list.slice(n);\n const result: T[] = [];\n const execute = async (\n promise: () => Promise<T>,\n i: number,\n runNext: () => Promise<void>\n ): Promise<void> => {\n result[i] = await promise();\n await runNext();\n };\n const runNext = async (): Promise<void> => {\n const i = list.length - tail.length;\n const promise = tail.shift();\n if (promise !== undefined) {\n await execute(promise, i, runNext);\n }\n };\n await Promise.all(head.map((promise, i) => execute(promise, i, runNext)));\n return result;\n};\n"]}
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";function u(...n){let e=0;for(const o of n)e+=o.length;const t=new Uint8Array(e);let i=0;for(const o of n)t.set(o,i),i+=o.length;return t}function*m(n){let e=0;for(const t of n)yield[e,t],e++}function*f(n,e){for(let t=0;t<n.length;t+=e)yield n.slice(t,t+e)}const d=async(n,e)=>{const t=e.slice(0,n),i=e.slice(n),o=[],a=async(s,r,l)=>{o[r]=await s(),await l()},c=async()=>{const s=e.length-i.length,r=i.shift();r!==void 0&&await a(r,s,c)};return await Promise.all(t.map((s,r)=>a(s,r,c))),o};export{f as chunks,u as concatenate,m as enumerate,d as promiseAllLimit};
1
+ import{h as a}from"../chunk-UPFDSEKI.js";function m(...n){let e=0;for(const o of n)e+=o.length;const t=new Uint8Array(e);let i=0;for(const o of n)t.set(o,i),i+=o.length;return t}function*f(n){let e=0;for(const t of n)yield[e,t],e++}function*d(n,e){for(let t=0;t<n.length;t+=e)yield n.slice(t,t+e)}const h=(n,e)=>a(void 0,null,function*(){const t=e.slice(0,n),i=e.slice(n),o=[],c=(s,r,u)=>a(void 0,null,function*(){o[r]=yield s(),yield u()}),l=()=>a(void 0,null,function*(){const s=e.length-i.length,r=i.shift();r!==void 0&&(yield c(r,s,l))});return yield Promise.all(t.map((s,r)=>c(s,r,l))),o});export{d as chunks,m as concatenate,f as enumerate,h as promiseAllLimit};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/utils.ts"],"sourcesContent":["export function concatenate(...arrays: Uint8Array[]): Uint8Array {\n let totalLength = 0;\n for (const arr of arrays) {\n totalLength += arr.length;\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\n\nexport function* enumerate<T>(\n iterable: Iterable<T>\n): IterableIterator<[number, T]> {\n let i = 0;\n\n for (const x of iterable) {\n yield [i, x];\n i++;\n }\n}\n\nexport function* chunks(\n arr: Uint8Array,\n n: number\n): Generator<Uint8Array, void, unknown> {\n for (let i = 0; i < arr.length; i += n) {\n yield arr.slice(i, i + n);\n }\n}\n\nexport const promiseAllLimit = async <T>(\n n: number,\n list: (() => Promise<T>)[]\n): Promise<T[]> => {\n const head = list.slice(0, n);\n const tail = list.slice(n);\n const result: T[] = [];\n const execute = async (\n promise: () => Promise<T>,\n i: number,\n runNext: () => Promise<void>\n ): Promise<void> => {\n result[i] = await promise();\n await runNext();\n };\n const runNext = async (): Promise<void> => {\n const i = list.length - tail.length;\n const promise = tail.shift();\n if (promise !== undefined) {\n await execute(promise, i, runNext);\n }\n };\n await Promise.all(head.map((promise, i) => execute(promise, i, runNext)));\n return result;\n};\n"],"mappings":"6BAAO,SAASA,KAAeC,EAAkC,CAC/D,IAAIC,EAAc,EAClB,UAAWC,KAAOF,EAChBC,GAAeC,EAAI,OAErB,MAAMC,EAAS,IAAI,WAAWF,CAAW,EACzC,IAAIG,EAAS,EACb,UAAWF,KAAOF,EAChBG,EAAO,IAAID,EAAKE,CAAM,EACtBA,GAAUF,EAAI,OAEhB,OAAOC,CACT,CAEO,SAAUE,EACfC,EAC+B,CAC/B,IAAIC,EAAI,EAER,UAAWC,KAAKF,EACd,KAAM,CAACC,EAAGC,CAAC,EACXD,GAEJ,CAEO,SAAUE,EACfP,EACAQ,EACsC,CACtC,QAASH,EAAI,EAAGA,EAAIL,EAAI,OAAQK,GAAKG,EACnC,MAAMR,EAAI,MAAMK,EAAGA,EAAIG,CAAC,CAE5B,CAEO,MAAMC,EAAkB,MAC7B,EACAC,IACiB,CACjB,MAAMC,EAAOD,EAAK,MAAM,EAAG,CAAC,EACtBE,EAAOF,EAAK,MAAM,CAAC,EACnBT,EAAc,CAAC,EACfY,EAAU,MACdC,EACAT,EACAU,IACkB,CAClBd,EAAOI,GAAK,MAAMS,EAAQ,EAC1B,MAAMC,EAAQ,CAChB,EACMA,EAAU,SAA2B,CACzC,MAAMV,EAAIK,EAAK,OAASE,EAAK,OACvBE,EAAUF,EAAK,MAAM,EACvBE,IAAY,QACd,MAAMD,EAAQC,EAAST,EAAGU,CAAO,CAErC,EACA,aAAM,QAAQ,IAAIJ,EAAK,IAAI,CAACG,EAAST,IAAMQ,EAAQC,EAAST,EAAGU,CAAO,CAAC,CAAC,EACjEd,CACT","names":["concatenate","arrays","totalLength","arr","result","offset","enumerate","iterable","i","x","chunks","n","promiseAllLimit","list","head","tail","execute","promise","runNext"]}
1
+ {"version":3,"sources":["../../src/utils/utils.ts"],"sourcesContent":["export function concatenate(...arrays: Uint8Array[]): Uint8Array {\n let totalLength = 0;\n for (const arr of arrays) {\n totalLength += arr.length;\n }\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\n\nexport function* enumerate<T>(\n iterable: Iterable<T>\n): IterableIterator<[number, T]> {\n let i = 0;\n\n for (const x of iterable) {\n yield [i, x];\n i++;\n }\n}\n\nexport function* chunks(\n arr: Uint8Array,\n n: number\n): Generator<Uint8Array, void, unknown> {\n for (let i = 0; i < arr.length; i += n) {\n yield arr.slice(i, i + n);\n }\n}\n\nexport const promiseAllLimit = async <T>(\n n: number,\n list: (() => Promise<T>)[]\n): Promise<T[]> => {\n const head = list.slice(0, n);\n const tail = list.slice(n);\n const result: T[] = [];\n const execute = async (\n promise: () => Promise<T>,\n i: number,\n runNext: () => Promise<void>\n ): Promise<void> => {\n result[i] = await promise();\n await runNext();\n };\n const runNext = async (): Promise<void> => {\n const i = list.length - tail.length;\n const promise = tail.shift();\n if (promise !== undefined) {\n await execute(promise, i, runNext);\n }\n };\n await Promise.all(head.map((promise, i) => execute(promise, i, runNext)));\n return result;\n};\n"],"mappings":"yCAAO,SAASA,KAAeC,EAAkC,CAC/D,IAAIC,EAAc,EAClB,UAAWC,KAAOF,EAChBC,GAAeC,EAAI,OAErB,MAAMC,EAAS,IAAI,WAAWF,CAAW,EACzC,IAAIG,EAAS,EACb,UAAWF,KAAOF,EAChBG,EAAO,IAAID,EAAKE,CAAM,EACtBA,GAAUF,EAAI,OAEhB,OAAOC,CACT,CAEO,SAAUE,EACfC,EAC+B,CAC/B,IAAIC,EAAI,EAER,UAAWC,KAAKF,EACd,KAAM,CAACC,EAAGC,CAAC,EACXD,GAEJ,CAEO,SAAUE,EACfP,EACAQ,EACsC,CACtC,QAASH,EAAI,EAAGA,EAAIL,EAAI,OAAQK,GAAKG,EACnC,MAAMR,EAAI,MAAMK,EAAGA,EAAIG,CAAC,CAE5B,CAEO,MAAMC,EAAkB,CAC7B,EACAC,IACiBC,EAAA,wBACjB,MAAMC,EAAOF,EAAK,MAAM,EAAG,CAAC,EACtBG,EAAOH,EAAK,MAAM,CAAC,EACnBT,EAAc,CAAC,EACfa,EAAU,CACdC,EACAV,EACAW,IACkBL,EAAA,wBAClBV,EAAOI,GAAK,MAAMU,EAAQ,EAC1B,MAAMC,EAAQ,CAChB,GACMA,EAAU,IAA2BL,EAAA,wBACzC,MAAMN,EAAIK,EAAK,OAASG,EAAK,OACvBE,EAAUF,EAAK,MAAM,EACvBE,IAAY,SACd,MAAMD,EAAQC,EAASV,EAAGW,CAAO,EAErC,GACA,aAAM,QAAQ,IAAIJ,EAAK,IAAI,CAACG,EAASV,IAAMS,EAAQC,EAASV,EAAGW,CAAO,CAAC,CAAC,EACjEf,CACT","names":["concatenate","arrays","totalLength","arr","result","offset","enumerate","iterable","i","x","chunks","n","promiseAllLimit","list","__async","head","tail","execute","promise","runNext"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');var _workerCodesjs = require('./workerCodes.js');async function a(n){return new Promise((s,r)=>{const e=new Worker(URL.createObjectURL(new Blob([_workerCodesjs.workerMd5Script],{type:"text/javascript"})));e.addEventListener("error",r),e.addEventListener("messageerror",r),e.addEventListener("message",({data:t})=>{if(t.event==="md5-result")return e.terminate(),s(t.data)}),e.postMessage({event:"md5",data:n})})}exports.md5 = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('../chunk-XDPEU3HV.cjs');var _workerCodesjs = require('./workerCodes.js');function d(s){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){return new Promise((o,r)=>{const e=new Worker(URL.createObjectURL(new Blob([_workerCodesjs.workerMd5Script],{type:"text/javascript"})));e.addEventListener("error",r),e.addEventListener("messageerror",r),e.addEventListener("message",({data:t})=>{if(t.event==="md5-result")return e.terminate(),o(t.data)}),e.postMessage({event:"md5",data:s})})})}exports.md5 = d;
2
2
  //# sourceMappingURL=md5.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/worker/md5.ts"],"names":["workerMd5Script","md5","data","resolve","reject","worker"],"mappings":"8BAAA,OAAS,mBAAAA,MAAuB,mBAEhC,eAAsBC,EAAIC,EAAmC,CAC3D,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,MAAMC,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACL,CAAe,EAAG,CAAE,KAAM,iBAAkB,CAAC,CACzD,CACF,EACAK,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAE9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAH,CAAK,IAAM,CAC/C,GAAIA,EAAK,QAAU,aACjB,OAAAG,EAAO,UAAU,EACVF,EAAQD,EAAK,IAAI,CAE5B,CAAC,EAEDG,EAAO,YAAY,CACjB,MAAO,MACP,KAAAH,CACF,CAAC,CACH,CAAC,CACH","sourcesContent":["import { workerMd5Script } from \"./workerCodes.js\";\n\nexport async function md5(data: Uint8Array): Promise<string> {\n return new Promise((resolve, reject) => {\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerMd5Script], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n\n worker.addEventListener(\"message\", ({ data }) => {\n if (data.event === \"md5-result\") {\n worker.terminate();\n return resolve(data.data);\n }\n });\n\n worker.postMessage({\n event: \"md5\",\n data\n });\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/worker/md5.ts"],"names":["workerMd5Script","md5","data","__async","resolve","reject","worker"],"mappings":"0CAAA,OAAS,mBAAAA,MAAuB,mBAEhC,SAAsBC,EAAIC,EAAmC,QAAAC,EAAA,sBAC3D,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,MAAMC,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACN,CAAe,EAAG,CAAE,KAAM,iBAAkB,CAAC,CACzD,CACF,EACAM,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAE9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAJ,CAAK,IAAM,CAC/C,GAAIA,EAAK,QAAU,aACjB,OAAAI,EAAO,UAAU,EACVF,EAAQF,EAAK,IAAI,CAE5B,CAAC,EAEDI,EAAO,YAAY,CACjB,MAAO,MACP,KAAAJ,CACF,CAAC,CACH,CAAC,CACH","sourcesContent":["import { workerMd5Script } from \"./workerCodes.js\";\n\nexport async function md5(data: Uint8Array): Promise<string> {\n return new Promise((resolve, reject) => {\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerMd5Script], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n\n worker.addEventListener(\"message\", ({ data }) => {\n if (data.event === \"md5-result\") {\n worker.terminate();\n return resolve(data.data);\n }\n });\n\n worker.postMessage({\n event: \"md5\",\n data\n });\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";import{workerMd5Script as o}from"./workerCodes.js";async function a(n){return new Promise((s,r)=>{const e=new Worker(URL.createObjectURL(new Blob([o],{type:"text/javascript"})));e.addEventListener("error",r),e.addEventListener("messageerror",r),e.addEventListener("message",({data:t})=>{if(t.event==="md5-result")return e.terminate(),s(t.data)}),e.postMessage({event:"md5",data:n})})}export{a as md5};
1
+ import{h as n}from"../chunk-UPFDSEKI.js";import{workerMd5Script as i}from"./workerCodes.js";function d(s){return n(this,null,function*(){return new Promise((o,r)=>{const e=new Worker(URL.createObjectURL(new Blob([i],{type:"text/javascript"})));e.addEventListener("error",r),e.addEventListener("messageerror",r),e.addEventListener("message",({data:t})=>{if(t.event==="md5-result")return e.terminate(),o(t.data)}),e.postMessage({event:"md5",data:s})})})}export{d as md5};
2
2
  //# sourceMappingURL=md5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/worker/md5.ts"],"sourcesContent":["import { workerMd5Script } from \"./workerCodes.js\";\n\nexport async function md5(data: Uint8Array): Promise<string> {\n return new Promise((resolve, reject) => {\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerMd5Script], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n\n worker.addEventListener(\"message\", ({ data }) => {\n if (data.event === \"md5-result\") {\n worker.terminate();\n return resolve(data.data);\n }\n });\n\n worker.postMessage({\n event: \"md5\",\n data\n });\n });\n}\n"],"mappings":"6BAAA,OAAS,mBAAAA,MAAuB,mBAEhC,eAAsBC,EAAIC,EAAmC,CAC3D,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,MAAMC,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACL,CAAe,EAAG,CAAE,KAAM,iBAAkB,CAAC,CACzD,CACF,EACAK,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAE9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAH,CAAK,IAAM,CAC/C,GAAIA,EAAK,QAAU,aACjB,OAAAG,EAAO,UAAU,EACVF,EAAQD,EAAK,IAAI,CAE5B,CAAC,EAEDG,EAAO,YAAY,CACjB,MAAO,MACP,KAAAH,CACF,CAAC,CACH,CAAC,CACH","names":["workerMd5Script","md5","data","resolve","reject","worker"]}
1
+ {"version":3,"sources":["../../src/worker/md5.ts"],"sourcesContent":["import { workerMd5Script } from \"./workerCodes.js\";\n\nexport async function md5(data: Uint8Array): Promise<string> {\n return new Promise((resolve, reject) => {\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerMd5Script], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n\n worker.addEventListener(\"message\", ({ data }) => {\n if (data.event === \"md5-result\") {\n worker.terminate();\n return resolve(data.data);\n }\n });\n\n worker.postMessage({\n event: \"md5\",\n data\n });\n });\n}\n"],"mappings":"yCAAA,OAAS,mBAAAA,MAAuB,mBAEhC,SAAsBC,EAAIC,EAAmC,QAAAC,EAAA,sBAC3D,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,MAAMC,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACN,CAAe,EAAG,CAAE,KAAM,iBAAkB,CAAC,CACzD,CACF,EACAM,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAE9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAJ,CAAK,IAAM,CAC/C,GAAIA,EAAK,QAAU,aACjB,OAAAI,EAAO,UAAU,EACVF,EAAQF,EAAK,IAAI,CAE5B,CAAC,EAEDI,EAAO,YAAY,CACjB,MAAO,MACP,KAAAJ,CACF,CAAC,CACH,CAAC,CACH","names":["workerMd5Script","md5","data","__async","resolve","reject","worker"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5WPCTUWH.cjs');var _workerCodesjs = require('./workerCodes.js');async function m(i,c,e,n){return new Promise((d,a)=>{e==null||e({current:0,percent:0,total:c.byteLength});const t=new Worker(URL.createObjectURL(new Blob([_workerCodesjs.workerSodiumScript],{type:"text/javascript"})));t.addEventListener("error",a),t.addEventListener("messageerror",a),t.addEventListener("message",({data:o})=>{switch(o.event){case"ready":{const r={event:"encrypt",data:c,key:i};t.postMessage(r,[r.data.buffer]);break}case"encrypt-progress":{if(n!=null&&n.aborted){const r=new Error("Aborted");r.name="AbortError",t.terminate(),a(r)}e==null||e(o.data);break}case"encrypt-result":return t.terminate(),d(o.data)}})})}async function s(i,c,e,n){return new Promise((d,a)=>{e==null||e({current:0,percent:0,total:c.byteLength});const t=new Worker(URL.createObjectURL(new Blob([_workerCodesjs.workerSodiumScript],{type:"text/javascript"})));t.addEventListener("error",a),t.addEventListener("messageerror",a),t.addEventListener("message",({data:o})=>{switch(o.event){case"ready":{const r={event:"decrypt",key:i,data:c};t.postMessage(r,[r.data.buffer]);break}case"decrypt-progress":{if(n!=null&&n.aborted){const r=new Error("Aborted");r.name="AbortError",t.terminate(),a(r)}e==null||e(o.data);break}case"decrypt-result":return t.terminate(),d(o.data)}})})}exports.decrypt = s; exports.encrypt = m;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('../chunk-XDPEU3HV.cjs');var _workerCodesjs = require('./workerCodes.js');function s(i,c,e,n){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){return new Promise((d,a)=>{e==null||e({current:0,percent:0,total:c.byteLength});const t=new Worker(URL.createObjectURL(new Blob([_workerCodesjs.workerSodiumScript],{type:"text/javascript"})));t.addEventListener("error",a),t.addEventListener("messageerror",a),t.addEventListener("message",({data:o})=>{switch(o.event){case"ready":{const r={event:"encrypt",data:c,key:i};t.postMessage(r,[r.data.buffer]);break}case"encrypt-progress":{if(n!=null&&n.aborted){const r=new Error("Aborted");r.name="AbortError",t.terminate(),a(r)}e==null||e(o.data);break}case"encrypt-result":return t.terminate(),d(o.data)}})})})}function v(i,c,e,n){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){return new Promise((d,a)=>{e==null||e({current:0,percent:0,total:c.byteLength});const t=new Worker(URL.createObjectURL(new Blob([_workerCodesjs.workerSodiumScript],{type:"text/javascript"})));t.addEventListener("error",a),t.addEventListener("messageerror",a),t.addEventListener("message",({data:o})=>{switch(o.event){case"ready":{const r={event:"decrypt",key:i,data:c};t.postMessage(r,[r.data.buffer]);break}case"decrypt-progress":{if(n!=null&&n.aborted){const r=new Error("Aborted");r.name="AbortError",t.terminate(),a(r)}e==null||e(o.data);break}case"decrypt-result":return t.terminate(),d(o.data)}})})})}exports.decrypt = v; exports.encrypt = s;
2
2
  //# sourceMappingURL=sodium.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/worker/sodium.ts"],"names":["workerSodiumScript","encrypt","key","dataToEncrypt","progress","signal","resolve","reject","worker","data","postData","abortError","decrypt","dataToDecrypt"],"mappings":"8BACA,OAAS,sBAAAA,MAA0B,mBAenC,eAAsBC,EACpBC,EACAC,EACAC,EACAC,EACwB,CACxB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCH,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,QAAS,EACT,MAAOD,EAAc,UACvB,GACA,MAAMK,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACR,CAAkB,EAAG,CAAE,KAAM,iBAAkB,CAAC,CAC5D,CACF,EACAQ,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAC9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAC,CAAK,IAAM,CAC/C,OAAQA,EAAK,WACN,QAAS,CACZ,MAAMC,EAAW,CACf,MAAO,UACP,KAAMP,EACN,IAAAD,CACF,EACAM,EAAO,YACLE,EACA,CAACA,EAAS,KAAK,MAAM,CAGvB,EACA,KACF,KACK,mBAAoB,CACvB,GAAIL,GAAA,MAAAA,EAAQ,QAAS,CACnB,MAAMM,EAAa,IAAI,MAAM,SAAS,EACtCA,EAAW,KAAO,aAClBH,EAAO,UAAU,EACjBD,EAAOI,CAAU,CACnB,CACAP,GAAA,MAAAA,EAAWK,EAAK,MAChB,KACF,KACK,iBACH,OAAAD,EAAO,UAAU,EACVF,EAAQG,EAAK,IAAI,EAG9B,CAAC,CACH,CAAC,CACH,CAEA,eAAsBG,EACpBV,EACAW,EACAT,EACAC,EACqB,CACrB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCH,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,QAAS,EACT,MAAOS,EAAc,UACvB,GACA,MAAML,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACR,CAAkB,EAAG,CAAE,KAAM,iBAAkB,CAAC,CAC5D,CACF,EACAQ,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAE9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAC,CAAK,IAAM,CAC/C,OAAQA,EAAK,WACN,QAAS,CACZ,MAAMC,EAAW,CACf,MAAO,UACP,IAAAR,EACA,KAAMW,CACR,EACAL,EAAO,YACLE,EACA,CAACA,EAAS,KAAK,MAAM,CAGvB,EACA,KACF,KACK,mBAAoB,CACvB,GAAIL,GAAA,MAAAA,EAAQ,QAAS,CACnB,MAAMM,EAAa,IAAI,MAAM,SAAS,EACtCA,EAAW,KAAO,aAClBH,EAAO,UAAU,EACjBD,EAAOI,CAAU,CACnB,CACAP,GAAA,MAAAA,EAAWK,EAAK,MAChB,KACF,KACK,iBACH,OAAAD,EAAO,UAAU,EACVF,EAAQG,EAAK,IAAI,EAG9B,CAAC,CACH,CAAC,CACH","sourcesContent":["import type { EncryptedFile, Progress } from \"../crypto/file.js\";\nimport { workerSodiumScript } from \"./workerCodes.js\";\n\n// const ensureNonDetachedUniqueBuffers = (\n// values: Transferable[]\n// ): Set<Transferable> =>\n// new Set(\n// values.filter(v => {\n// if (v instanceof ArrayBuffer) {\n// return v.byteLength === 0;\n// } else {\n// return true;\n// }\n// })\n// );\n\nexport async function encrypt(\n key: Uint8Array,\n dataToEncrypt: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n signal?: AbortSignal\n): Promise<EncryptedFile> {\n return new Promise((resolve, reject) => {\n progress?.({\n current: 0,\n percent: 0,\n total: dataToEncrypt.byteLength\n });\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerSodiumScript], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n worker.addEventListener(\"message\", ({ data }) => {\n switch (data.event) {\n case \"ready\": {\n const postData = {\n event: \"encrypt\",\n data: dataToEncrypt,\n key\n };\n worker.postMessage(\n postData,\n [postData.data.buffer]\n // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.\n // ensureNonDetachedUniqueBuffers([postData.data.buffer])\n );\n break;\n }\n case \"encrypt-progress\": {\n if (signal?.aborted) {\n const abortError = new Error(\"Aborted\");\n abortError.name = \"AbortError\";\n worker.terminate();\n reject(abortError);\n }\n progress?.(data.data);\n break;\n }\n case \"encrypt-result\": {\n worker.terminate();\n return resolve(data.data);\n }\n }\n });\n });\n}\n\nexport async function decrypt(\n key: Uint8Array,\n dataToDecrypt: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n signal?: AbortSignal\n): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n progress?.({\n current: 0,\n percent: 0,\n total: dataToDecrypt.byteLength\n });\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerSodiumScript], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n\n worker.addEventListener(\"message\", ({ data }) => {\n switch (data.event) {\n case \"ready\": {\n const postData = {\n event: \"decrypt\",\n key,\n data: dataToDecrypt\n };\n worker.postMessage(\n postData,\n [postData.data.buffer]\n // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.\n // ensureNonDetachedUniqueBuffers([postData.data.buffer])\n );\n break;\n }\n case \"decrypt-progress\": {\n if (signal?.aborted) {\n const abortError = new Error(\"Aborted\");\n abortError.name = \"AbortError\";\n worker.terminate();\n reject(abortError);\n }\n progress?.(data.data);\n break;\n }\n case \"decrypt-result\": {\n worker.terminate();\n return resolve(data.data);\n }\n }\n });\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/worker/sodium.ts"],"names":["workerSodiumScript","encrypt","key","dataToEncrypt","progress","signal","__async","resolve","reject","worker","data","postData","abortError","decrypt","dataToDecrypt"],"mappings":"0CACA,OAAS,sBAAAA,MAA0B,mBAenC,SAAsBC,EACpBC,EACAC,EACAC,EACAC,EACwB,QAAAC,EAAA,sBACxB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCJ,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,QAAS,EACT,MAAOD,EAAc,UACvB,GACA,MAAMM,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACT,CAAkB,EAAG,CAAE,KAAM,iBAAkB,CAAC,CAC5D,CACF,EACAS,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAC9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAC,CAAK,IAAM,CAC/C,OAAQA,EAAK,WACN,QAAS,CACZ,MAAMC,EAAW,CACf,MAAO,UACP,KAAMR,EACN,IAAAD,CACF,EACAO,EAAO,YACLE,EACA,CAACA,EAAS,KAAK,MAAM,CAGvB,EACA,KACF,KACK,mBAAoB,CACvB,GAAIN,GAAA,MAAAA,EAAQ,QAAS,CACnB,MAAMO,EAAa,IAAI,MAAM,SAAS,EACtCA,EAAW,KAAO,aAClBH,EAAO,UAAU,EACjBD,EAAOI,CAAU,CACnB,CACAR,GAAA,MAAAA,EAAWM,EAAK,MAChB,KACF,KACK,iBACH,OAAAD,EAAO,UAAU,EACVF,EAAQG,EAAK,IAAI,EAG9B,CAAC,CACH,CAAC,CACH,GAEA,SAAsBG,EACpBX,EACAY,EACAV,EACAC,EACqB,QAAAC,EAAA,sBACrB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCJ,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,QAAS,EACT,MAAOU,EAAc,UACvB,GACA,MAAML,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACT,CAAkB,EAAG,CAAE,KAAM,iBAAkB,CAAC,CAC5D,CACF,EACAS,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAE9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAC,CAAK,IAAM,CAC/C,OAAQA,EAAK,WACN,QAAS,CACZ,MAAMC,EAAW,CACf,MAAO,UACP,IAAAT,EACA,KAAMY,CACR,EACAL,EAAO,YACLE,EACA,CAACA,EAAS,KAAK,MAAM,CAGvB,EACA,KACF,KACK,mBAAoB,CACvB,GAAIN,GAAA,MAAAA,EAAQ,QAAS,CACnB,MAAMO,EAAa,IAAI,MAAM,SAAS,EACtCA,EAAW,KAAO,aAClBH,EAAO,UAAU,EACjBD,EAAOI,CAAU,CACnB,CACAR,GAAA,MAAAA,EAAWM,EAAK,MAChB,KACF,KACK,iBACH,OAAAD,EAAO,UAAU,EACVF,EAAQG,EAAK,IAAI,EAG9B,CAAC,CACH,CAAC,CACH","sourcesContent":["import type { EncryptedFile, Progress } from \"../crypto/file.js\";\nimport { workerSodiumScript } from \"./workerCodes.js\";\n\n// const ensureNonDetachedUniqueBuffers = (\n// values: Transferable[]\n// ): Set<Transferable> =>\n// new Set(\n// values.filter(v => {\n// if (v instanceof ArrayBuffer) {\n// return v.byteLength === 0;\n// } else {\n// return true;\n// }\n// })\n// );\n\nexport async function encrypt(\n key: Uint8Array,\n dataToEncrypt: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n signal?: AbortSignal\n): Promise<EncryptedFile> {\n return new Promise((resolve, reject) => {\n progress?.({\n current: 0,\n percent: 0,\n total: dataToEncrypt.byteLength\n });\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerSodiumScript], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n worker.addEventListener(\"message\", ({ data }) => {\n switch (data.event) {\n case \"ready\": {\n const postData = {\n event: \"encrypt\",\n data: dataToEncrypt,\n key\n };\n worker.postMessage(\n postData,\n [postData.data.buffer]\n // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.\n // ensureNonDetachedUniqueBuffers([postData.data.buffer])\n );\n break;\n }\n case \"encrypt-progress\": {\n if (signal?.aborted) {\n const abortError = new Error(\"Aborted\");\n abortError.name = \"AbortError\";\n worker.terminate();\n reject(abortError);\n }\n progress?.(data.data);\n break;\n }\n case \"encrypt-result\": {\n worker.terminate();\n return resolve(data.data);\n }\n }\n });\n });\n}\n\nexport async function decrypt(\n key: Uint8Array,\n dataToDecrypt: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n signal?: AbortSignal\n): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n progress?.({\n current: 0,\n percent: 0,\n total: dataToDecrypt.byteLength\n });\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerSodiumScript], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n\n worker.addEventListener(\"message\", ({ data }) => {\n switch (data.event) {\n case \"ready\": {\n const postData = {\n event: \"decrypt\",\n key,\n data: dataToDecrypt\n };\n worker.postMessage(\n postData,\n [postData.data.buffer]\n // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.\n // ensureNonDetachedUniqueBuffers([postData.data.buffer])\n );\n break;\n }\n case \"decrypt-progress\": {\n if (signal?.aborted) {\n const abortError = new Error(\"Aborted\");\n abortError.name = \"AbortError\";\n worker.terminate();\n reject(abortError);\n }\n progress?.(data.data);\n break;\n }\n case \"decrypt-result\": {\n worker.terminate();\n return resolve(data.data);\n }\n }\n });\n });\n}\n"]}
@@ -1,2 +1,2 @@
1
- import"../chunk-KMTF2BZE.js";import{workerSodiumScript as y}from"./workerCodes.js";async function m(i,c,e,n){return new Promise((d,a)=>{e==null||e({current:0,percent:0,total:c.byteLength});const t=new Worker(URL.createObjectURL(new Blob([y],{type:"text/javascript"})));t.addEventListener("error",a),t.addEventListener("messageerror",a),t.addEventListener("message",({data:o})=>{switch(o.event){case"ready":{const r={event:"encrypt",data:c,key:i};t.postMessage(r,[r.data.buffer]);break}case"encrypt-progress":{if(n!=null&&n.aborted){const r=new Error("Aborted");r.name="AbortError",t.terminate(),a(r)}e==null||e(o.data);break}case"encrypt-result":return t.terminate(),d(o.data)}})})}async function s(i,c,e,n){return new Promise((d,a)=>{e==null||e({current:0,percent:0,total:c.byteLength});const t=new Worker(URL.createObjectURL(new Blob([y],{type:"text/javascript"})));t.addEventListener("error",a),t.addEventListener("messageerror",a),t.addEventListener("message",({data:o})=>{switch(o.event){case"ready":{const r={event:"decrypt",key:i,data:c};t.postMessage(r,[r.data.buffer]);break}case"decrypt-progress":{if(n!=null&&n.aborted){const r=new Error("Aborted");r.name="AbortError",t.terminate(),a(r)}e==null||e(o.data);break}case"decrypt-result":return t.terminate(),d(o.data)}})})}export{s as decrypt,m as encrypt};
1
+ import{h as y}from"../chunk-UPFDSEKI.js";import{workerSodiumScript as b}from"./workerCodes.js";function s(i,c,e,n){return y(this,null,function*(){return new Promise((d,a)=>{e==null||e({current:0,percent:0,total:c.byteLength});const t=new Worker(URL.createObjectURL(new Blob([b],{type:"text/javascript"})));t.addEventListener("error",a),t.addEventListener("messageerror",a),t.addEventListener("message",({data:o})=>{switch(o.event){case"ready":{const r={event:"encrypt",data:c,key:i};t.postMessage(r,[r.data.buffer]);break}case"encrypt-progress":{if(n!=null&&n.aborted){const r=new Error("Aborted");r.name="AbortError",t.terminate(),a(r)}e==null||e(o.data);break}case"encrypt-result":return t.terminate(),d(o.data)}})})})}function v(i,c,e,n){return y(this,null,function*(){return new Promise((d,a)=>{e==null||e({current:0,percent:0,total:c.byteLength});const t=new Worker(URL.createObjectURL(new Blob([b],{type:"text/javascript"})));t.addEventListener("error",a),t.addEventListener("messageerror",a),t.addEventListener("message",({data:o})=>{switch(o.event){case"ready":{const r={event:"decrypt",key:i,data:c};t.postMessage(r,[r.data.buffer]);break}case"decrypt-progress":{if(n!=null&&n.aborted){const r=new Error("Aborted");r.name="AbortError",t.terminate(),a(r)}e==null||e(o.data);break}case"decrypt-result":return t.terminate(),d(o.data)}})})})}export{v as decrypt,s as encrypt};
2
2
  //# sourceMappingURL=sodium.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/worker/sodium.ts"],"sourcesContent":["import type { EncryptedFile, Progress } from \"../crypto/file.js\";\nimport { workerSodiumScript } from \"./workerCodes.js\";\n\n// const ensureNonDetachedUniqueBuffers = (\n// values: Transferable[]\n// ): Set<Transferable> =>\n// new Set(\n// values.filter(v => {\n// if (v instanceof ArrayBuffer) {\n// return v.byteLength === 0;\n// } else {\n// return true;\n// }\n// })\n// );\n\nexport async function encrypt(\n key: Uint8Array,\n dataToEncrypt: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n signal?: AbortSignal\n): Promise<EncryptedFile> {\n return new Promise((resolve, reject) => {\n progress?.({\n current: 0,\n percent: 0,\n total: dataToEncrypt.byteLength\n });\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerSodiumScript], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n worker.addEventListener(\"message\", ({ data }) => {\n switch (data.event) {\n case \"ready\": {\n const postData = {\n event: \"encrypt\",\n data: dataToEncrypt,\n key\n };\n worker.postMessage(\n postData,\n [postData.data.buffer]\n // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.\n // ensureNonDetachedUniqueBuffers([postData.data.buffer])\n );\n break;\n }\n case \"encrypt-progress\": {\n if (signal?.aborted) {\n const abortError = new Error(\"Aborted\");\n abortError.name = \"AbortError\";\n worker.terminate();\n reject(abortError);\n }\n progress?.(data.data);\n break;\n }\n case \"encrypt-result\": {\n worker.terminate();\n return resolve(data.data);\n }\n }\n });\n });\n}\n\nexport async function decrypt(\n key: Uint8Array,\n dataToDecrypt: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n signal?: AbortSignal\n): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n progress?.({\n current: 0,\n percent: 0,\n total: dataToDecrypt.byteLength\n });\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerSodiumScript], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n\n worker.addEventListener(\"message\", ({ data }) => {\n switch (data.event) {\n case \"ready\": {\n const postData = {\n event: \"decrypt\",\n key,\n data: dataToDecrypt\n };\n worker.postMessage(\n postData,\n [postData.data.buffer]\n // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.\n // ensureNonDetachedUniqueBuffers([postData.data.buffer])\n );\n break;\n }\n case \"decrypt-progress\": {\n if (signal?.aborted) {\n const abortError = new Error(\"Aborted\");\n abortError.name = \"AbortError\";\n worker.terminate();\n reject(abortError);\n }\n progress?.(data.data);\n break;\n }\n case \"decrypt-result\": {\n worker.terminate();\n return resolve(data.data);\n }\n }\n });\n });\n}\n"],"mappings":"6BACA,OAAS,sBAAAA,MAA0B,mBAenC,eAAsBC,EACpBC,EACAC,EACAC,EACAC,EACwB,CACxB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCH,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,QAAS,EACT,MAAOD,EAAc,UACvB,GACA,MAAMK,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACR,CAAkB,EAAG,CAAE,KAAM,iBAAkB,CAAC,CAC5D,CACF,EACAQ,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAC9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAC,CAAK,IAAM,CAC/C,OAAQA,EAAK,WACN,QAAS,CACZ,MAAMC,EAAW,CACf,MAAO,UACP,KAAMP,EACN,IAAAD,CACF,EACAM,EAAO,YACLE,EACA,CAACA,EAAS,KAAK,MAAM,CAGvB,EACA,KACF,KACK,mBAAoB,CACvB,GAAIL,GAAA,MAAAA,EAAQ,QAAS,CACnB,MAAMM,EAAa,IAAI,MAAM,SAAS,EACtCA,EAAW,KAAO,aAClBH,EAAO,UAAU,EACjBD,EAAOI,CAAU,CACnB,CACAP,GAAA,MAAAA,EAAWK,EAAK,MAChB,KACF,KACK,iBACH,OAAAD,EAAO,UAAU,EACVF,EAAQG,EAAK,IAAI,EAG9B,CAAC,CACH,CAAC,CACH,CAEA,eAAsBG,EACpBV,EACAW,EACAT,EACAC,EACqB,CACrB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCH,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,QAAS,EACT,MAAOS,EAAc,UACvB,GACA,MAAML,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACR,CAAkB,EAAG,CAAE,KAAM,iBAAkB,CAAC,CAC5D,CACF,EACAQ,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAE9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAC,CAAK,IAAM,CAC/C,OAAQA,EAAK,WACN,QAAS,CACZ,MAAMC,EAAW,CACf,MAAO,UACP,IAAAR,EACA,KAAMW,CACR,EACAL,EAAO,YACLE,EACA,CAACA,EAAS,KAAK,MAAM,CAGvB,EACA,KACF,KACK,mBAAoB,CACvB,GAAIL,GAAA,MAAAA,EAAQ,QAAS,CACnB,MAAMM,EAAa,IAAI,MAAM,SAAS,EACtCA,EAAW,KAAO,aAClBH,EAAO,UAAU,EACjBD,EAAOI,CAAU,CACnB,CACAP,GAAA,MAAAA,EAAWK,EAAK,MAChB,KACF,KACK,iBACH,OAAAD,EAAO,UAAU,EACVF,EAAQG,EAAK,IAAI,EAG9B,CAAC,CACH,CAAC,CACH","names":["workerSodiumScript","encrypt","key","dataToEncrypt","progress","signal","resolve","reject","worker","data","postData","abortError","decrypt","dataToDecrypt"]}
1
+ {"version":3,"sources":["../../src/worker/sodium.ts"],"sourcesContent":["import type { EncryptedFile, Progress } from \"../crypto/file.js\";\nimport { workerSodiumScript } from \"./workerCodes.js\";\n\n// const ensureNonDetachedUniqueBuffers = (\n// values: Transferable[]\n// ): Set<Transferable> =>\n// new Set(\n// values.filter(v => {\n// if (v instanceof ArrayBuffer) {\n// return v.byteLength === 0;\n// } else {\n// return true;\n// }\n// })\n// );\n\nexport async function encrypt(\n key: Uint8Array,\n dataToEncrypt: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n signal?: AbortSignal\n): Promise<EncryptedFile> {\n return new Promise((resolve, reject) => {\n progress?.({\n current: 0,\n percent: 0,\n total: dataToEncrypt.byteLength\n });\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerSodiumScript], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n worker.addEventListener(\"message\", ({ data }) => {\n switch (data.event) {\n case \"ready\": {\n const postData = {\n event: \"encrypt\",\n data: dataToEncrypt,\n key\n };\n worker.postMessage(\n postData,\n [postData.data.buffer]\n // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.\n // ensureNonDetachedUniqueBuffers([postData.data.buffer])\n );\n break;\n }\n case \"encrypt-progress\": {\n if (signal?.aborted) {\n const abortError = new Error(\"Aborted\");\n abortError.name = \"AbortError\";\n worker.terminate();\n reject(abortError);\n }\n progress?.(data.data);\n break;\n }\n case \"encrypt-result\": {\n worker.terminate();\n return resolve(data.data);\n }\n }\n });\n });\n}\n\nexport async function decrypt(\n key: Uint8Array,\n dataToDecrypt: Uint8Array,\n progress?: (progress: Progress) => Promise<void>,\n signal?: AbortSignal\n): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n progress?.({\n current: 0,\n percent: 0,\n total: dataToDecrypt.byteLength\n });\n const worker = new Worker(\n URL.createObjectURL(\n new Blob([workerSodiumScript], { type: \"text/javascript\" })\n )\n );\n worker.addEventListener(\"error\", reject);\n worker.addEventListener(\"messageerror\", reject);\n\n worker.addEventListener(\"message\", ({ data }) => {\n switch (data.event) {\n case \"ready\": {\n const postData = {\n event: \"decrypt\",\n key,\n data: dataToDecrypt\n };\n worker.postMessage(\n postData,\n [postData.data.buffer]\n // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.\n // ensureNonDetachedUniqueBuffers([postData.data.buffer])\n );\n break;\n }\n case \"decrypt-progress\": {\n if (signal?.aborted) {\n const abortError = new Error(\"Aborted\");\n abortError.name = \"AbortError\";\n worker.terminate();\n reject(abortError);\n }\n progress?.(data.data);\n break;\n }\n case \"decrypt-result\": {\n worker.terminate();\n return resolve(data.data);\n }\n }\n });\n });\n}\n"],"mappings":"yCACA,OAAS,sBAAAA,MAA0B,mBAenC,SAAsBC,EACpBC,EACAC,EACAC,EACAC,EACwB,QAAAC,EAAA,sBACxB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCJ,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,QAAS,EACT,MAAOD,EAAc,UACvB,GACA,MAAMM,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACT,CAAkB,EAAG,CAAE,KAAM,iBAAkB,CAAC,CAC5D,CACF,EACAS,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAC9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAC,CAAK,IAAM,CAC/C,OAAQA,EAAK,WACN,QAAS,CACZ,MAAMC,EAAW,CACf,MAAO,UACP,KAAMR,EACN,IAAAD,CACF,EACAO,EAAO,YACLE,EACA,CAACA,EAAS,KAAK,MAAM,CAGvB,EACA,KACF,KACK,mBAAoB,CACvB,GAAIN,GAAA,MAAAA,EAAQ,QAAS,CACnB,MAAMO,EAAa,IAAI,MAAM,SAAS,EACtCA,EAAW,KAAO,aAClBH,EAAO,UAAU,EACjBD,EAAOI,CAAU,CACnB,CACAR,GAAA,MAAAA,EAAWM,EAAK,MAChB,KACF,KACK,iBACH,OAAAD,EAAO,UAAU,EACVF,EAAQG,EAAK,IAAI,EAG9B,CAAC,CACH,CAAC,CACH,GAEA,SAAsBG,EACpBX,EACAY,EACAV,EACAC,EACqB,QAAAC,EAAA,sBACrB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCJ,GAAA,MAAAA,EAAW,CACT,QAAS,EACT,QAAS,EACT,MAAOU,EAAc,UACvB,GACA,MAAML,EAAS,IAAI,OACjB,IAAI,gBACF,IAAI,KAAK,CAACT,CAAkB,EAAG,CAAE,KAAM,iBAAkB,CAAC,CAC5D,CACF,EACAS,EAAO,iBAAiB,QAASD,CAAM,EACvCC,EAAO,iBAAiB,eAAgBD,CAAM,EAE9CC,EAAO,iBAAiB,UAAW,CAAC,CAAE,KAAAC,CAAK,IAAM,CAC/C,OAAQA,EAAK,WACN,QAAS,CACZ,MAAMC,EAAW,CACf,MAAO,UACP,IAAAT,EACA,KAAMY,CACR,EACAL,EAAO,YACLE,EACA,CAACA,EAAS,KAAK,MAAM,CAGvB,EACA,KACF,KACK,mBAAoB,CACvB,GAAIN,GAAA,MAAAA,EAAQ,QAAS,CACnB,MAAMO,EAAa,IAAI,MAAM,SAAS,EACtCA,EAAW,KAAO,aAClBH,EAAO,UAAU,EACjBD,EAAOI,CAAU,CACnB,CACAR,GAAA,MAAAA,EAAWM,EAAK,MAChB,KACF,KACK,iBACH,OAAAD,EAAO,UAAU,EACVF,EAAQG,EAAK,IAAI,EAG9B,CAAC,CACH,CAAC,CACH","names":["workerSodiumScript","encrypt","key","dataToEncrypt","progress","signal","__async","resolve","reject","worker","data","postData","abortError","decrypt","dataToDecrypt"]}