@secrecy/lib 1.0.0-dev.21 → 1.0.0-dev.25

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 (158) hide show
  1. package/CHANGELOG.md +178 -0
  2. package/README.md +0 -1
  3. package/__tests__/client/client.test.ts +81 -0
  4. package/__tests__/client/folder.test.ts +302 -0
  5. package/__tests__/client/mail.test.ts +476 -0
  6. package/__tests__/client/timing.test.ts +35 -0
  7. package/__tests__/client/utils.ts +41 -0
  8. package/__tests__/client/vFile.test.ts +207 -0
  9. package/__tests__/index.test.ts +171 -0
  10. package/commitlint.config.cjs +3 -0
  11. package/dist/index.d.ts +3857 -0
  12. package/dist/index.js +255 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/index.mjs +255 -0
  15. package/dist/index.mjs.map +1 -0
  16. package/docs/assets/css/main.css +2660 -0
  17. package/docs/assets/images/icons.png +0 -0
  18. package/docs/assets/images/icons@2x.png +0 -0
  19. package/docs/assets/images/widgets.png +0 -0
  20. package/docs/assets/images/widgets@2x.png +0 -0
  21. package/docs/assets/js/main.js +248 -0
  22. package/docs/assets/js/search.js +1 -0
  23. package/docs/classes/baseclient.baseclient-1.html +1165 -0
  24. package/docs/classes/client.secrecyclient.html +2527 -0
  25. package/docs/enums/index.sodium.base64_variants.html +205 -0
  26. package/docs/index.html +198 -0
  27. package/docs/interfaces/client_types.draftmail.html +335 -0
  28. package/docs/interfaces/client_types.filecontentbase.html +231 -0
  29. package/docs/interfaces/client_types.filecontentcloud.html +244 -0
  30. package/docs/interfaces/client_types.filecontentreceivedmail.html +244 -0
  31. package/docs/interfaces/client_types.filecontentsentmail.html +230 -0
  32. package/docs/interfaces/client_types.receivedmail.html +363 -0
  33. package/docs/interfaces/client_types.sentmail.html +335 -0
  34. package/docs/interfaces/crypto.keypair.html +202 -0
  35. package/docs/interfaces/index.sodium.cryptobox.html +185 -0
  36. package/docs/interfaces/index.sodium.cryptokx.html +185 -0
  37. package/docs/interfaces/index.sodium.keypair.html +199 -0
  38. package/docs/interfaces/index.sodium.messagetag.html +185 -0
  39. package/docs/interfaces/index.sodium.secretbox.html +185 -0
  40. package/docs/interfaces/index.sodium.stateaddress.html +171 -0
  41. package/docs/interfaces/index.sodium.stringcryptobox.html +185 -0
  42. package/docs/interfaces/index.sodium.stringcryptokx.html +185 -0
  43. package/docs/interfaces/index.sodium.stringkeypair.html +199 -0
  44. package/docs/interfaces/index.sodium.stringmessagetag.html +185 -0
  45. package/docs/interfaces/index.sodium.stringsecretbox.html +185 -0
  46. package/docs/interfaces/utils_store_buddy.storebuddy.html +333 -0
  47. package/docs/modules/baseclient.html +929 -0
  48. package/docs/modules/cache.html +185 -0
  49. package/docs/modules/client.html +207 -0
  50. package/docs/modules/client_convert_file.html +216 -0
  51. package/docs/modules/client_convert_folder.html +303 -0
  52. package/docs/modules/client_convert_vfile.html +216 -0
  53. package/docs/modules/client_helpers.html +311 -0
  54. package/docs/modules/client_storage.html +167 -0
  55. package/docs/modules/client_types.html +1227 -0
  56. package/docs/modules/client_types_file.html +233 -0
  57. package/docs/modules/client_types_filesonusersonapplications.html +168 -0
  58. package/docs/modules/client_types_folder.html +383 -0
  59. package/docs/modules/client_types_inputs.html +263 -0
  60. package/docs/modules/client_types_mail.html +181 -0
  61. package/docs/modules/client_types_queries.html +199 -0
  62. package/docs/modules/client_types_userappsettings.html +163 -0
  63. package/docs/modules/client_types_vfile.html +364 -0
  64. package/docs/modules/crypto.html +366 -0
  65. package/docs/modules/crypto_file.html +344 -0
  66. package/docs/modules/index.html +779 -0
  67. package/docs/modules/index.sodium.html +6039 -0
  68. package/docs/modules/minify.html +183 -0
  69. package/docs/modules/minify_lz4.html +279 -0
  70. package/docs/modules/popuptools.html +259 -0
  71. package/docs/modules/sodium.html +167 -0
  72. package/docs/modules/utils.html +219 -0
  73. package/docs/modules/utils_store_buddy.html +208 -0
  74. package/docs/modules/utils_time.html +330 -0
  75. package/docs/modules/worker_md5.html +156 -0
  76. package/docs/modules/worker_sodium.html +231 -0
  77. package/docs/modules/worker_workercodes.html +157 -0
  78. package/docs/modules.html +235 -0
  79. package/index.html +21 -0
  80. package/jest.config.ts +27 -0
  81. package/jest.setup.ts +6 -0
  82. package/package.json +39 -47
  83. package/release.config.cjs +15 -0
  84. package/tsup.config.ts +23 -0
  85. package/lib/BaseClient.d.ts +0 -274
  86. package/lib/BaseClient.js +0 -1837
  87. package/lib/PopupTools.d.ts +0 -17
  88. package/lib/PopupTools.js +0 -213
  89. package/lib/ZeusThunder.d.ts +0 -2
  90. package/lib/ZeusThunder.js +0 -112
  91. package/lib/cache.d.ts +0 -7
  92. package/lib/cache.js +0 -5
  93. package/lib/client/admin/index.d.ts +0 -11
  94. package/lib/client/admin/index.js +0 -163
  95. package/lib/client/convert/file.d.ts +0 -5
  96. package/lib/client/convert/file.js +0 -39
  97. package/lib/client/convert/folder.d.ts +0 -8
  98. package/lib/client/convert/folder.js +0 -264
  99. package/lib/client/convert/mail.d.ts +0 -3
  100. package/lib/client/convert/mail.js +0 -46
  101. package/lib/client/convert/vFile.d.ts +0 -5
  102. package/lib/client/convert/vFile.js +0 -164
  103. package/lib/client/helpers.d.ts +0 -23
  104. package/lib/client/helpers.js +0 -116
  105. package/lib/client/index.d.ts +0 -172
  106. package/lib/client/index.js +0 -4501
  107. package/lib/client/storage.d.ts +0 -7
  108. package/lib/client/storage.js +0 -12
  109. package/lib/client/types/File.d.ts +0 -21
  110. package/lib/client/types/File.js +0 -3
  111. package/lib/client/types/FilesOnUsersOnApplications.d.ts +0 -9
  112. package/lib/client/types/FilesOnUsersOnApplications.js +0 -3
  113. package/lib/client/types/Folder.d.ts +0 -68
  114. package/lib/client/types/Folder.js +0 -7
  115. package/lib/client/types/Inputs.d.ts +0 -21
  116. package/lib/client/types/Inputs.js +0 -3
  117. package/lib/client/types/UserAppNotifications.d.ts +0 -6
  118. package/lib/client/types/UserAppNotifications.js +0 -3
  119. package/lib/client/types/UserAppSettings.d.ts +0 -7
  120. package/lib/client/types/UserAppSettings.js +0 -3
  121. package/lib/client/types/VFile.d.ts +0 -62
  122. package/lib/client/types/VFile.js +0 -4
  123. package/lib/client/types/index.d.ts +0 -154
  124. package/lib/client/types/index.js +0 -10
  125. package/lib/client/types/queries.d.ts +0 -535
  126. package/lib/client/types/queries.js +0 -192
  127. package/lib/crypto/file.d.ts +0 -14
  128. package/lib/crypto/file.js +0 -291
  129. package/lib/crypto/index.d.ts +0 -12
  130. package/lib/crypto/index.js +0 -37
  131. package/lib/error.d.ts +0 -30
  132. package/lib/error.js +0 -3
  133. package/lib/index.d.ts +0 -13
  134. package/lib/index.js +0 -42
  135. package/lib/minify/index.d.ts +0 -2
  136. package/lib/minify/index.js +0 -28
  137. package/lib/minify/lz4.d.ts +0 -5
  138. package/lib/minify/lz4.js +0 -633
  139. package/lib/sodium.d.ts +0 -3
  140. package/lib/sodium.js +0 -28
  141. package/lib/utils/store-buddy.d.ts +0 -14
  142. package/lib/utils/store-buddy.js +0 -69
  143. package/lib/utils/time.d.ts +0 -10
  144. package/lib/utils/time.js +0 -22
  145. package/lib/utils.d.ts +0 -4
  146. package/lib/utils.js +0 -188
  147. package/lib/worker/__mock__/sodium.worker.d.ts +0 -19
  148. package/lib/worker/__mock__/sodium.worker.js +0 -46
  149. package/lib/worker/md5.d.ts +0 -1
  150. package/lib/worker/md5.js +0 -43
  151. package/lib/worker/sodium.d.ts +0 -3
  152. package/lib/worker/sodium.js +0 -155
  153. package/lib/worker/workerCodes.d.ts +0 -2
  154. package/lib/worker/workerCodes.js +0 -3
  155. package/lib/zeus/const.d.ts +0 -2
  156. package/lib/zeus/const.js +0 -1895
  157. package/lib/zeus/index.d.ts +0 -2798
  158. package/lib/zeus/index.js +0 -549
@@ -1,155 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { workerSodiumScript } from "./workerCodes.js"; // const ensureNonDetachedUniqueBuffers = (
4
- // values: Transferable[]
5
- // ): Set<Transferable> =>
6
- // new Set(
7
- // values.filter(v => {
8
- // if (v instanceof ArrayBuffer) {
9
- // return v.byteLength === 0;
10
- // } else {
11
- // return true;
12
- // }
13
- // })
14
- // );
15
-
16
- export function encrypt(_x, _x2, _x3, _x4) {
17
- return _encrypt.apply(this, arguments);
18
- }
19
-
20
- function _encrypt() {
21
- _encrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(key, dataToEncrypt, progress, signal) {
22
- return _regeneratorRuntime.wrap(function _callee$(_context) {
23
- while (1) {
24
- switch (_context.prev = _context.next) {
25
- case 0:
26
- return _context.abrupt("return", new Promise(function (resolve, reject) {
27
- progress == null ? void 0 : progress({
28
- current: 0,
29
- percent: 0,
30
- total: dataToEncrypt.byteLength
31
- });
32
- var worker = new Worker(URL.createObjectURL(new Blob([workerSodiumScript], {
33
- type: "text/javascript"
34
- })));
35
- worker.addEventListener("error", reject);
36
- worker.addEventListener("messageerror", reject);
37
- worker.addEventListener("message", function (_ref) {
38
- var data = _ref.data;
39
-
40
- switch (data.event) {
41
- case "ready":
42
- {
43
- var postData = {
44
- event: "encrypt",
45
- data: dataToEncrypt,
46
- key: key
47
- };
48
- worker.postMessage(postData, [postData.data.buffer] // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.
49
- // ensureNonDetachedUniqueBuffers([postData.data.buffer])
50
- );
51
- break;
52
- }
53
-
54
- case "encrypt-progress":
55
- {
56
- if (signal != null && signal.aborted) {
57
- var abortError = new Error("Aborted");
58
- abortError.name = "AbortError";
59
- worker.terminate();
60
- reject(abortError);
61
- }
62
-
63
- progress == null ? void 0 : progress(data.data);
64
- break;
65
- }
66
-
67
- case "encrypt-result":
68
- {
69
- worker.terminate();
70
- return resolve(data.data);
71
- }
72
- }
73
- });
74
- }));
75
-
76
- case 1:
77
- case "end":
78
- return _context.stop();
79
- }
80
- }
81
- }, _callee);
82
- }));
83
- return _encrypt.apply(this, arguments);
84
- }
85
-
86
- export function decrypt(_x5, _x6, _x7, _x8) {
87
- return _decrypt.apply(this, arguments);
88
- }
89
-
90
- function _decrypt() {
91
- _decrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(key, dataToDecrypt, progress, signal) {
92
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
93
- while (1) {
94
- switch (_context2.prev = _context2.next) {
95
- case 0:
96
- return _context2.abrupt("return", new Promise(function (resolve, reject) {
97
- progress == null ? void 0 : progress({
98
- current: 0,
99
- percent: 0,
100
- total: dataToDecrypt.byteLength
101
- });
102
- var worker = new Worker(URL.createObjectURL(new Blob([workerSodiumScript], {
103
- type: "text/javascript"
104
- })));
105
- worker.addEventListener("error", reject);
106
- worker.addEventListener("messageerror", reject);
107
- worker.addEventListener("message", function (_ref2) {
108
- var data = _ref2.data;
109
-
110
- switch (data.event) {
111
- case "ready":
112
- {
113
- var postData = {
114
- event: "decrypt",
115
- key: key,
116
- data: dataToDecrypt
117
- };
118
- worker.postMessage(postData, [postData.data.buffer] // // @ts-expect-error - Typescript expects the transfer list to be an Array, but it can actually be any iterable.
119
- // ensureNonDetachedUniqueBuffers([postData.data.buffer])
120
- );
121
- break;
122
- }
123
-
124
- case "decrypt-progress":
125
- {
126
- if (signal != null && signal.aborted) {
127
- var abortError = new Error("Aborted");
128
- abortError.name = "AbortError";
129
- worker.terminate();
130
- reject(abortError);
131
- }
132
-
133
- progress == null ? void 0 : progress(data.data);
134
- break;
135
- }
136
-
137
- case "decrypt-result":
138
- {
139
- worker.terminate();
140
- return resolve(data.data);
141
- }
142
- }
143
- });
144
- }));
145
-
146
- case 1:
147
- case "end":
148
- return _context2.stop();
149
- }
150
- }
151
- }, _callee2);
152
- }));
153
- return _decrypt.apply(this, arguments);
154
- }
155
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JrZXIvc29kaXVtLnRzIl0sIm5hbWVzIjpbIndvcmtlclNvZGl1bVNjcmlwdCIsImVuY3J5cHQiLCJrZXkiLCJkYXRhVG9FbmNyeXB0IiwicHJvZ3Jlc3MiLCJzaWduYWwiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImN1cnJlbnQiLCJwZXJjZW50IiwidG90YWwiLCJieXRlTGVuZ3RoIiwid29ya2VyIiwiV29ya2VyIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiQmxvYiIsInR5cGUiLCJhZGRFdmVudExpc3RlbmVyIiwiZGF0YSIsImV2ZW50IiwicG9zdERhdGEiLCJwb3N0TWVzc2FnZSIsImJ1ZmZlciIsImFib3J0ZWQiLCJhYm9ydEVycm9yIiwiRXJyb3IiLCJuYW1lIiwidGVybWluYXRlIiwiZGVjcnlwdCIsImRhdGFUb0RlY3J5cHQiXSwibWFwcGluZ3MiOiI7O0FBQ0EsU0FBU0Esa0JBQVQsUUFBbUMsa0JBQW5DLEMsQ0FFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQXNCQyxPQUF0QjtBQUFBO0FBQUE7OztzRUFBTyxpQkFDTEMsR0FESyxFQUVMQyxhQUZLLEVBR0xDLFFBSEssRUFJTEMsTUFKSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsNkNBTUUsSUFBSUMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN0Q0osY0FBQUEsUUFBUSxRQUFSLFlBQUFBLFFBQVEsQ0FBRztBQUNUSyxnQkFBQUEsT0FBTyxFQUFFLENBREE7QUFFVEMsZ0JBQUFBLE9BQU8sRUFBRSxDQUZBO0FBR1RDLGdCQUFBQSxLQUFLLEVBQUVSLGFBQWEsQ0FBQ1M7QUFIWixlQUFILENBQVI7QUFLQSxrQkFBTUMsTUFBTSxHQUFHLElBQUlDLE1BQUosQ0FDYkMsR0FBRyxDQUFDQyxlQUFKLENBQ0UsSUFBSUMsSUFBSixDQUFTLENBQUNqQixr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ZmtCLHdCQUFBQSxJQUFJLEVBQUVXO0FBSFMsdUJBQWpCO0FBS0FsQixzQkFBQUEsTUFBTSxDQUFDVSxXQUFQLENBQ0VELFFBREYsRUFFRSxDQUFDQSxRQUFRLENBQUNGLElBQVQsQ0FBY0ksTUFBZixDQUZGLENBR0U7QUFDQTtBQUpGO0FBTUE7QUFDRDs7QUFDRCx1QkFBSyxrQkFBTDtBQUF5QjtBQUN2QiwwQkFBSW5CLE1BQUosWUFBSUEsTUFBTSxDQUFFb0IsT0FBWixFQUFxQjtBQUNuQiw0QkFBTUMsVUFBVSxHQUFHLElBQUlDLEtBQUosQ0FBVSxTQUFWLENBQW5CO0FBQ0FELHdCQUFBQSxVQUFVLENBQUNFLElBQVgsR0FBa0IsWUFBbEI7QUFDQWYsd0JBQUFBLE1BQU0sQ0FBQ2dCLFNBQVA7QUFDQXJCLHdCQUFBQSxNQUFNLENBQUNrQixVQUFELENBQU47QUFDRDs7QUFDRHRCLHNCQUFBQSxRQUFRLFFBQVIsWUFBQUEsUUFBUSxDQUFHZ0IsSUFBSSxDQUFDQSxJQUFSLENBQVI7QUFDQTtBQUNEOztBQUNELHVCQUFLLGdCQUFMO0FBQXVCO0FBQ3JCUCxzQkFBQUEsTUFBTSxDQUFDZ0IsU0FBUDtBQUNBLDZCQUFPdEIsT0FBTyxDQUFDYSxJQUFJLENBQUNBLElBQU4sQ0FBZDtBQUNEO0FBNUJIO0FBOEJELGVBL0JEO0FBZ0NELGFBOUNNLENBTkY7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW5jcnlwdGVkRmlsZSwgUHJvZ3Jlc3MgfSBmcm9tIFwiLi4vY3J5cHRvL2ZpbGUuanNcIjtcbmltcG9ydCB7IHdvcmtlclNvZGl1bVNjcmlwdCB9IGZyb20gXCIuL3dvcmtlckNvZGVzLmpzXCI7XG5cbi8vIGNvbnN0IGVuc3VyZU5vbkRldGFjaGVkVW5pcXVlQnVmZmVycyA9IChcbi8vICAgdmFsdWVzOiBUcmFuc2ZlcmFibGVbXVxuLy8gKTogU2V0PFRyYW5zZmVyYWJsZT4gPT5cbi8vICAgbmV3IFNldChcbi8vICAgICB2YWx1ZXMuZmlsdGVyKHYgPT4ge1xuLy8gICAgICAgaWYgKHYgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xuLy8gICAgICAgICByZXR1cm4gdi5ieXRlTGVuZ3RoID09PSAwO1xuLy8gICAgICAgfSBlbHNlIHtcbi8vICAgICAgICAgcmV0dXJuIHRydWU7XG4vLyAgICAgICB9XG4vLyAgICAgfSlcbi8vICAgKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHQoXG4gIGtleTogVWludDhBcnJheSxcbiAgZGF0YVRvRW5jcnlwdDogVWludDhBcnJheSxcbiAgcHJvZ3Jlc3M/OiAocHJvZ3Jlc3M6IFByb2dyZXNzKSA9PiBQcm9taXNlPHZvaWQ+LFxuICBzaWduYWw/OiBBYm9ydFNpZ25hbFxuKTogUHJvbWlzZTxFbmNyeXB0ZWRGaWxlPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgcHJvZ3Jlc3M/Lih7XG4gICAgICBjdXJyZW50OiAwLFxuICAgICAgcGVyY2VudDogMCxcbiAgICAgIHRvdGFsOiBkYXRhVG9FbmNyeXB0LmJ5dGVMZW5ndGhcbiAgICB9KTtcbiAgICBjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKFxuICAgICAgVVJMLmNyZWF0ZU9iamVjdFVSTChcbiAgICAgICAgbmV3IEJsb2IoW3dvcmtlclNvZGl1bVNjcmlwdF0sIHsgdHlwZTogXCJ0ZXh0L2phdmFzY3JpcHRcIiB9KVxuICAgICAgKVxuICAgICk7XG4gICAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCByZWplY3QpO1xuICAgIHdvcmtlci5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZWVycm9yXCIsIHJlamVjdCk7XG4gICAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsICh7IGRhdGEgfSkgPT4ge1xuICAgICAgc3dpdGNoIChkYXRhLmV2ZW50KSB7XG4gICAgICAgIGNhc2UgXCJyZWFkeVwiOiB7XG4gICAgICAgICAgY29uc3QgcG9zdERhdGEgPSB7XG4gICAgICAgICAgICBldmVudDogXCJlbmNyeXB0XCIsXG4gICAgICAgICAgICBkYXRhOiBkYXRhVG9FbmNyeXB0LFxuICAgICAgICAgICAga2V5XG4gICAgICAgICAgfTtcbiAgICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoXG4gICAgICAgICAgICBwb3N0RGF0YSxcbiAgICAgICAgICAgIFtwb3N0RGF0YS5kYXRhLmJ1ZmZlcl1cbiAgICAgICAgICAgIC8vIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBUeXBlc2NyaXB0IGV4cGVjdHMgdGhlIHRyYW5zZmVyIGxpc3QgdG8gYmUgYW4gQXJyYXksIGJ1dCBpdCBjYW4gYWN0dWFsbHkgYmUgYW55IGl0ZXJhYmxlLlxuICAgICAgICAgICAgLy8gZW5zdXJlTm9uRGV0YWNoZWRVbmlxdWVCdWZmZXJzKFtwb3N0RGF0YS5kYXRhLmJ1ZmZlcl0pXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiZW5jcnlwdC1wcm9ncmVzc1wiOiB7XG4gICAgICAgICAgaWYgKHNpZ25hbD8uYWJvcnRlZCkge1xuICAgICAgICAgICAgY29uc3QgYWJvcnRFcnJvciA9IG5ldyBFcnJvcihcIkFib3J0ZWRcIik7XG4gICAgICAgICAgICBhYm9ydEVycm9yLm5hbWUgPSBcIkFib3J0RXJyb3JcIjtcbiAgICAgICAgICAgIHdvcmtlci50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgIHJlamVjdChhYm9ydEVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJvZ3Jlc3M/LihkYXRhLmRhdGEpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJlbmNyeXB0LXJlc3VsdFwiOiB7XG4gICAgICAgICAgd29ya2VyLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGRhdGEuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWNyeXB0KFxuICBrZXk6IFVpbnQ4QXJyYXksXG4gIGRhdGFUb0RlY3J5cHQ6IFVpbnQ4QXJyYXksXG4gIHByb2dyZXNzPzogKHByb2dyZXNzOiBQcm9ncmVzcykgPT4gUHJvbWlzZTx2b2lkPixcbiAgc2lnbmFsPzogQWJvcnRTaWduYWxcbik6IFByb21pc2U8VWludDhBcnJheT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHByb2dyZXNzPy4oe1xuICAgICAgY3VycmVudDogMCxcbiAgICAgIHBlcmNlbnQ6IDAsXG4gICAgICB0b3RhbDogZGF0YVRvRGVjcnlwdC5ieXRlTGVuZ3RoXG4gICAgfSk7XG4gICAgY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcihcbiAgICAgIFVSTC5jcmVhdGVPYmplY3RVUkwoXG4gICAgICAgIG5ldyBCbG9iKFt3b3JrZXJTb2RpdW1TY3JpcHRdLCB7IHR5cGU6IFwidGV4dC9qYXZhc2NyaXB0XCIgfSlcbiAgICAgIClcbiAgICApO1xuICAgIHdvcmtlci5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgcmVqZWN0KTtcbiAgICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VlcnJvclwiLCByZWplY3QpO1xuXG4gICAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsICh7IGRhdGEgfSkgPT4ge1xuICAgICAgc3dpdGNoIChkYXRhLmV2ZW50KSB7XG4gICAgICAgIGNhc2UgXCJyZWFkeVwiOiB7XG4gICAgICAgICAgY29uc3QgcG9zdERhdGEgPSB7XG4gICAgICAgICAgICBldmVudDogXCJkZWNyeXB0XCIsXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBkYXRhOiBkYXRhVG9EZWNyeXB0XG4gICAgICAgICAgfTtcbiAgICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoXG4gICAgICAgICAgICBwb3N0RGF0YSxcbiAgICAgICAgICAgIFtwb3N0RGF0YS5kYXRhLmJ1ZmZlcl1cbiAgICAgICAgICAgIC8vIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBUeXBlc2NyaXB0IGV4cGVjdHMgdGhlIHRyYW5zZmVyIGxpc3QgdG8gYmUgYW4gQXJyYXksIGJ1dCBpdCBjYW4gYWN0dWFsbHkgYmUgYW55IGl0ZXJhYmxlLlxuICAgICAgICAgICAgLy8gZW5zdXJlTm9uRGV0YWNoZWRVbmlxdWVCdWZmZXJzKFtwb3N0RGF0YS5kYXRhLmJ1ZmZlcl0pXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiZGVjcnlwdC1wcm9ncmVzc1wiOiB7XG4gICAgICAgICAgaWYgKHNpZ25hbD8uYWJvcnRlZCkge1xuICAgICAgICAgICAgY29uc3QgYWJvcnRFcnJvciA9IG5ldyBFcnJvcihcIkFib3J0ZWRcIik7XG4gICAgICAgICAgICBhYm9ydEVycm9yLm5hbWUgPSBcIkFib3J0RXJyb3JcIjtcbiAgICAgICAgICAgIHdvcmtlci50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgIHJlamVjdChhYm9ydEVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJvZ3Jlc3M/LihkYXRhLmRhdGEpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJkZWNyeXB0LXJlc3VsdFwiOiB7XG4gICAgICAgICAgd29ya2VyLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGRhdGEuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export declare const workerSodiumScript = "let sodium;\n\nself.sodium = {\n onload: (sod) => {\n sodium = sod\n postMessage({ event: \"ready\" })\n }\n};\n\nimportScripts('https://cdn.jsdelivr.net/gh/jedisct1/libsodium.js@master/dist/browsers/sodium.js');\nimportScripts('https://cdnjs.cloudflare.com/ajax/libs/spark-md5/3.0.0/spark-md5.min.js');\n\nfunction* chunks(arr, n) {\n for (let i = 0; i < arr.length; i += n) {\n yield arr.slice(i, i + n);\n }\n}\n\nfunction assert(c, message) {\n if (!c) {\n throw new Error(message);\n }\n}\n\nfunction encrypt(key) {\n let destroyed = false;\n const {\n state,\n header\n } = sodium.crypto_secretstream_xchacha20poly1305_init_push(key);\n\n const encrypt = (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() {\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(header, key) {\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 = ciphertext => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);\n };\n\n function destroy() {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n decrypt,\n destroy\n };\n}\n\nconst CHUNK_SIZE = 8192;\n\nasync function encryptSecretstream(key, data, progress) {\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 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\nasync function decryptSecretstream(key, data, progress) {\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 let lastPercent = total / max;\n\n for (const chunk of chunks(data, chunkSize)) {\n const tmp = decryptt(chunk);\n final.set(tmp.message, total);\n total += tmp.message.byteLength;\n\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\nself.onmessage = async ({ data }) => {\n switch (data.event) {\n case \"encrypt\": {\n postMessage({ event: \"working\" })\n postMessage({\n event: \"encrypt-result\",\n data: await encryptSecretstream(data.key, data.data, progress => postMessage({\n event: \"encrypt-progress\",\n data: progress\n }))\n });\n postMessage({ event: \"ready\" })\n break;\n }\n case \"decrypt\": {\n postMessage({ event: \"working\" })\n postMessage({\n event: \"decrypt-result\",\n data: await decryptSecretstream(data.key, data.data, progress => postMessage({\n event: \"decrypt-progress\",\n data: progress\n }))\n });\n postMessage({ event: \"ready\" })\n break;\n }\n }\n}";
2
- export declare const workerMd5Script = "importScripts('https://cdnjs.cloudflare.com/ajax/libs/spark-md5/3.0.0/spark-md5.min.js');\n\nfunction* chunks(arr, n) {\n for (let i = 0; i < arr.length; i += n) {\n yield arr.slice(i, i + n);\n }\n}\n\nconst CHUNK_SIZE = 8192;\n\nfunction md5(data) {\n const spark = new SparkMD5.ArrayBuffer();\n for (const chunk of chunks(data, CHUNK_SIZE)) {\n spark.append(chunk);\n }\n return spark.end();\n}\n\n\nself.onmessage = ({ data }) => {\n switch (data.event) {\n case \"md5\": {\n postMessage({\n event: \"md5-result\",\n data: md5(data.data)\n });\n break;\n }\n }\n}";
@@ -1,3 +0,0 @@
1
- export var workerSodiumScript = "let sodium;\n\nself.sodium = {\n onload: (sod) => {\n sodium = sod\n postMessage({ event: \"ready\" })\n }\n};\n\nimportScripts('https://cdn.jsdelivr.net/gh/jedisct1/libsodium.js@master/dist/browsers/sodium.js');\nimportScripts('https://cdnjs.cloudflare.com/ajax/libs/spark-md5/3.0.0/spark-md5.min.js');\n\nfunction* chunks(arr, n) {\n for (let i = 0; i < arr.length; i += n) {\n yield arr.slice(i, i + n);\n }\n}\n\nfunction assert(c, message) {\n if (!c) {\n throw new Error(message);\n }\n}\n\nfunction encrypt(key) {\n let destroyed = false;\n const {\n state,\n header\n } = sodium.crypto_secretstream_xchacha20poly1305_init_push(key);\n\n const encrypt = (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() {\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(header, key) {\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 = ciphertext => {\n assert(destroyed === false, \"state already destroyed\");\n\n return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);\n };\n\n function destroy() {\n assert(destroyed === false, \"state already destroyed\");\n destroyed = true;\n }\n\n return {\n decrypt,\n destroy\n };\n}\n\nconst CHUNK_SIZE = 8192;\n\nasync function encryptSecretstream(key, data, progress) {\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 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\nasync function decryptSecretstream(key, data, progress) {\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 let lastPercent = total / max;\n\n for (const chunk of chunks(data, chunkSize)) {\n const tmp = decryptt(chunk);\n final.set(tmp.message, total);\n total += tmp.message.byteLength;\n\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\nself.onmessage = async ({ data }) => {\n switch (data.event) {\n case \"encrypt\": {\n postMessage({ event: \"working\" })\n postMessage({\n event: \"encrypt-result\",\n data: await encryptSecretstream(data.key, data.data, progress => postMessage({\n event: \"encrypt-progress\",\n data: progress\n }))\n });\n postMessage({ event: \"ready\" })\n break;\n }\n case \"decrypt\": {\n postMessage({ event: \"working\" })\n postMessage({\n event: \"decrypt-result\",\n data: await decryptSecretstream(data.key, data.data, progress => postMessage({\n event: \"decrypt-progress\",\n data: progress\n }))\n });\n postMessage({ event: \"ready\" })\n break;\n }\n }\n}";
2
- export var workerMd5Script = "importScripts('https://cdnjs.cloudflare.com/ajax/libs/spark-md5/3.0.0/spark-md5.min.js');\n\nfunction* chunks(arr, n) {\n for (let i = 0; i < arr.length; i += n) {\n yield arr.slice(i, i + n);\n }\n}\n\nconst CHUNK_SIZE = 8192;\n\nfunction md5(data) {\n const spark = new SparkMD5.ArrayBuffer();\n for (const chunk of chunks(data, CHUNK_SIZE)) {\n spark.append(chunk);\n }\n return spark.end();\n}\n\n\nself.onmessage = ({ data }) => {\n switch (data.event) {\n case \"md5\": {\n postMessage({\n event: \"md5-result\",\n data: md5(data.data)\n });\n break;\n }\n }\n}";
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JrZXIvd29ya2VyQ29kZXMudHMiXSwibmFtZXMiOlsid29ya2VyU29kaXVtU2NyaXB0Iiwid29ya2VyTWQ1U2NyaXB0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQU1BLGtCQUFrQix3OEtBQXhCO0FBaU9QLE9BQU8sSUFBTUMsZUFBZSw2bUJBQXJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHdvcmtlclNvZGl1bVNjcmlwdCA9IGBsZXQgc29kaXVtO1xuXG5zZWxmLnNvZGl1bSA9IHtcbiAgb25sb2FkOiAoc29kKSA9PiB7XG4gICAgc29kaXVtID0gc29kXG4gICAgcG9zdE1lc3NhZ2UoeyBldmVudDogXCJyZWFkeVwiIH0pXG4gIH1cbn07XG5cbmltcG9ydFNjcmlwdHMoJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9qZWRpc2N0MS9saWJzb2RpdW0uanNAbWFzdGVyL2Rpc3QvYnJvd3NlcnMvc29kaXVtLmpzJyk7XG5pbXBvcnRTY3JpcHRzKCdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9zcGFyay1tZDUvMy4wLjAvc3BhcmstbWQ1Lm1pbi5qcycpO1xuXG5mdW5jdGlvbiogY2h1bmtzKGFyciwgbikge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkgKz0gbikge1xuICAgIHlpZWxkIGFyci5zbGljZShpLCBpICsgbik7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzZXJ0KGMsIG1lc3NhZ2UpIHtcbiAgaWYgKCFjKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVuY3J5cHQoa2V5KSB7XG4gIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgY29uc3Qge1xuICAgIHN0YXRlLFxuICAgIGhlYWRlclxuICB9ID0gc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdXNoKGtleSk7XG5cbiAgY29uc3QgZW5jcnlwdCA9ICh0YWcsIHBsYWludGV4dCkgPT4ge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuXG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1c2goXG4gICAgICBzdGF0ZSxcbiAgICAgIHBsYWludGV4dCxcbiAgICAgIG51bGwsXG4gICAgICB0YWdcbiAgICApO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZW5jcnlwdCxcbiAgICBkZXN0cm95LFxuICAgIGhlYWRlclxuICB9O1xufVxuXG5mdW5jdGlvbiBkZWNyeXB0KGhlYWRlciwga2V5KSB7XG4gIGFzc2VydChcbiAgICBoZWFkZXIuYnl0ZUxlbmd0aCA+PVxuICAgICAgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfSEVBREVSQllURVMsXG4gICAgXCJoZWFkZXIgbXVzdCBiZSBhdCBsZWFzdCBIRUFERVJCWVRFUyAoXCIgKyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9IRUFERVJCWVRFUyArIFwiKSBsb25nXCJcbiAgKTtcbiAgYXNzZXJ0KFxuICAgIGtleS5ieXRlTGVuZ3RoID49IHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0tFWUJZVEVTLFxuICAgIFwia2V5IG11c3QgYmUgYXQgbGVhc3QgS0VZQllURVMgKFwiICsgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfS0VZQllURVMgKyBcIikgbG9uZ1wiXG4gICk7XG5cbiAgbGV0IGRlc3Ryb3llZCA9IGZhbHNlO1xuICBjb25zdCBzdGF0ZSA9IHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X2luaXRfcHVsbChcbiAgICBoZWFkZXIsXG4gICAga2V5XG4gICk7XG5cbiAgY29uc3QgZGVjcnlwdCA9IGNpcGhlcnRleHQgPT4ge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuXG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1bGwoc3RhdGUsIGNpcGhlcnRleHQpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGVjcnlwdCxcbiAgICBkZXN0cm95XG4gIH07XG59XG5cbmNvbnN0IENIVU5LX1NJWkUgPSA4MTkyO1xuXG5hc3luYyBmdW5jdGlvbiBlbmNyeXB0U2VjcmV0c3RyZWFtKGtleSwgZGF0YSwgcHJvZ3Jlc3MpIHtcbiAgY29uc3QgeyBlbmNyeXB0OiBjcnlwdCwgZGVzdHJveSwgaGVhZGVyIH0gPSBlbmNyeXB0KGtleSk7XG4gIGNvbnN0IGNyeXB0ZWRDaHVuayA9XG4gICAgQ0hVTktfU0laRSArIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0FCWVRFUztcbiAgY29uc3QgbWF4ID1cbiAgICBNYXRoLmNlaWwoZGF0YS5ieXRlTGVuZ3RoIC8gQ0hVTktfU0laRSkgKiBjcnlwdGVkQ2h1bmsgKyBoZWFkZXIuYnl0ZUxlbmd0aDtcblxuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiAwLFxuICAgIHRvdGFsOiBtYXgsXG4gICAgY3VycmVudDogMFxuICB9KTtcbiAgY29uc3QgZmluYWwgPSBuZXcgVWludDhBcnJheShtYXgpO1xuICBjb25zdCBzcGFya0VuY3J5cHRlZCA9IG5ldyBTcGFya01ENS5BcnJheUJ1ZmZlcigpO1xuICBjb25zdCBzcGFyayA9IG5ldyBTcGFya01ENS5BcnJheUJ1ZmZlcigpO1xuXG4gIGZpbmFsLnNldChoZWFkZXIpO1xuICBzcGFya0VuY3J5cHRlZC5hcHBlbmQoaGVhZGVyKTtcbiAgbGV0IHRvdGFsID0gaGVhZGVyLmJ5dGVMZW5ndGg7XG4gIHByb2dyZXNzPy4oe1xuICAgIHBlcmNlbnQ6IHRvdGFsIC8gbWF4LFxuICAgIHRvdGFsOiBtYXgsXG4gICAgY3VycmVudDogdG90YWxcbiAgfSk7XG4gIGxldCBsYXN0UGVyY2VudCA9IHRvdGFsIC8gbWF4O1xuXG4gIGZvciAoY29uc3QgY2h1bmsgb2YgY2h1bmtzKGRhdGEsIENIVU5LX1NJWkUpKSB7XG4gICAgc3BhcmsuYXBwZW5kKGNodW5rKTtcbiAgICBjb25zdCB0YWcgPVxuICAgICAgY2h1bmsubGVuZ3RoIDwgQ0hVTktfU0laRVxuICAgICAgICA/IHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X1RBR19GSU5BTFxuICAgICAgICA6IHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X1RBR19NRVNTQUdFO1xuICAgIGNvbnN0IGNyeXB0ZWQgPSBjcnlwdCh0YWcsIGNodW5rKTtcbiAgICBzcGFya0VuY3J5cHRlZC5hcHBlbmQoY3J5cHRlZCk7XG4gICAgZmluYWwuc2V0KGNyeXB0ZWQsIHRvdGFsKTtcbiAgICB0b3RhbCArPSBjcnlwdGVkLmJ5dGVMZW5ndGg7XG4gICAgY29uc3QgcGVyY2VudCA9IHRvdGFsIC8gbWF4O1xuICAgIGlmIChwZXJjZW50ID4gbGFzdFBlcmNlbnQgKyAwLjAxKSB7XG4gICAgICBwcm9ncmVzcz8uKHtcbiAgICAgICAgcGVyY2VudCxcbiAgICAgICAgdG90YWw6IG1heCxcbiAgICAgICAgY3VycmVudDogdG90YWxcbiAgICAgIH0pO1xuICAgICAgbGFzdFBlcmNlbnQgPSBwZXJjZW50O1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKTtcbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMSxcbiAgICB0b3RhbCxcbiAgICBjdXJyZW50OiB0b3RhbFxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBkYXRhOiBmaW5hbC5zbGljZSgwLCB0b3RhbCksXG4gICAgbWQ1RW5jcnlwdGVkOiBzcGFya0VuY3J5cHRlZC5lbmQoKSxcbiAgICBtZDU6IHNwYXJrLmVuZCgpXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRlY3J5cHRTZWNyZXRzdHJlYW0oa2V5LCBkYXRhLCBwcm9ncmVzcykge1xuICBjb25zdCBoZWFkZXIgPSBkYXRhLnNsaWNlKFxuICAgIDAsXG4gICAgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfSEVBREVSQllURVNcbiAgKTtcbiAgZGF0YSA9IGRhdGEuc2xpY2Uoc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfSEVBREVSQllURVMpO1xuXG4gIGNvbnN0IHsgZGVjcnlwdDogZGVjcnlwdHQsIGRlc3Ryb3kgfSA9IGRlY3J5cHQoaGVhZGVyLCBrZXkpO1xuICBjb25zdCBjaHVua1NpemUgPVxuICAgIENIVU5LX1NJWkUgKyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9BQllURVM7XG4gIGNvbnN0IG1heCA9IE1hdGguY2VpbChkYXRhLmJ5dGVMZW5ndGggLyBjaHVua1NpemUpICogQ0hVTktfU0laRTtcblxuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiAwLFxuICAgIHRvdGFsOiBtYXgsXG4gICAgY3VycmVudDogMFxuICB9KTtcbiAgY29uc3QgZmluYWwgPSBuZXcgVWludDhBcnJheShtYXgpO1xuICBsZXQgdG90YWwgPSAwO1xuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBjaHVua1NpemUpKSB7XG4gICAgY29uc3QgdG1wID0gZGVjcnlwdHQoY2h1bmspO1xuICAgIGZpbmFsLnNldCh0bXAubWVzc2FnZSwgdG90YWwpO1xuICAgIHRvdGFsICs9IHRtcC5tZXNzYWdlLmJ5dGVMZW5ndGg7XG5cbiAgICBjb25zdCBwZXJjZW50ID0gdG90YWwgLyBtYXg7XG4gICAgaWYgKHBlcmNlbnQgPiBsYXN0UGVyY2VudCArIDAuMDEpIHtcbiAgICAgIHByb2dyZXNzPy4oe1xuICAgICAgICBwZXJjZW50LFxuICAgICAgICB0b3RhbDogbWF4LFxuICAgICAgICBjdXJyZW50OiB0b3RhbFxuICAgICAgfSk7XG4gICAgICBsYXN0UGVyY2VudCA9IHBlcmNlbnQ7XG4gICAgfVxuICB9XG5cbiAgZGVzdHJveSgpO1xuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiAxLFxuICAgIHRvdGFsLFxuICAgIGN1cnJlbnQ6IHRvdGFsXG4gIH0pO1xuICByZXR1cm4gZmluYWwuc2xpY2UoMCwgdG90YWwpO1xufVxuXG5zZWxmLm9ubWVzc2FnZSA9IGFzeW5jICh7IGRhdGEgfSkgPT4ge1xuICBzd2l0Y2ggKGRhdGEuZXZlbnQpIHtcbiAgICBjYXNlIFwiZW5jcnlwdFwiOiB7XG4gICAgICBwb3N0TWVzc2FnZSh7IGV2ZW50OiBcIndvcmtpbmdcIiB9KVxuICAgICAgcG9zdE1lc3NhZ2Uoe1xuICAgICAgICBldmVudDogXCJlbmNyeXB0LXJlc3VsdFwiLFxuICAgICAgICBkYXRhOiBhd2FpdCBlbmNyeXB0U2VjcmV0c3RyZWFtKGRhdGEua2V5LCBkYXRhLmRhdGEsIHByb2dyZXNzID0+IHBvc3RNZXNzYWdlKHtcbiAgICAgICAgICBldmVudDogXCJlbmNyeXB0LXByb2dyZXNzXCIsXG4gICAgICAgICAgZGF0YTogcHJvZ3Jlc3NcbiAgICAgICAgfSkpXG4gICAgICB9KTtcbiAgICAgIHBvc3RNZXNzYWdlKHsgZXZlbnQ6IFwicmVhZHlcIiB9KVxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgXCJkZWNyeXB0XCI6IHtcbiAgICAgIHBvc3RNZXNzYWdlKHsgZXZlbnQ6IFwid29ya2luZ1wiIH0pXG4gICAgICBwb3N0TWVzc2FnZSh7XG4gICAgICAgIGV2ZW50OiBcImRlY3J5cHQtcmVzdWx0XCIsXG4gICAgICAgIGRhdGE6IGF3YWl0IGRlY3J5cHRTZWNyZXRzdHJlYW0oZGF0YS5rZXksIGRhdGEuZGF0YSwgcHJvZ3Jlc3MgPT4gcG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgIGV2ZW50OiBcImRlY3J5cHQtcHJvZ3Jlc3NcIixcbiAgICAgICAgICBkYXRhOiBwcm9ncmVzc1xuICAgICAgICB9KSlcbiAgICAgIH0pO1xuICAgICAgcG9zdE1lc3NhZ2UoeyBldmVudDogXCJyZWFkeVwiIH0pXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1gO1xuXG5leHBvcnQgY29uc3Qgd29ya2VyTWQ1U2NyaXB0ID0gYGltcG9ydFNjcmlwdHMoJ2h0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3NwYXJrLW1kNS8zLjAuMC9zcGFyay1tZDUubWluLmpzJyk7XG5cbmZ1bmN0aW9uKiBjaHVua3MoYXJyLCBuKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSArPSBuKSB7XG4gICAgeWllbGQgYXJyLnNsaWNlKGksIGkgKyBuKTtcbiAgfVxufVxuXG5jb25zdCBDSFVOS19TSVpFID0gODE5MjtcblxuZnVuY3Rpb24gbWQ1KGRhdGEpIHtcbiAgY29uc3Qgc3BhcmsgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcbiAgZm9yIChjb25zdCBjaHVuayBvZiBjaHVua3MoZGF0YSwgQ0hVTktfU0laRSkpIHtcbiAgICBzcGFyay5hcHBlbmQoY2h1bmspO1xuICB9XG4gIHJldHVybiBzcGFyay5lbmQoKTtcbn1cblxuXG5zZWxmLm9ubWVzc2FnZSA9ICh7IGRhdGEgfSkgPT4ge1xuICBzd2l0Y2ggKGRhdGEuZXZlbnQpIHtcbiAgICBjYXNlIFwibWQ1XCI6IHtcbiAgICAgIHBvc3RNZXNzYWdlKHtcbiAgICAgICAgZXZlbnQ6IFwibWQ1LXJlc3VsdFwiLFxuICAgICAgICBkYXRhOiBtZDUoZGF0YS5kYXRhKVxuICAgICAgfSk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1gO1xuIl19
@@ -1,2 +0,0 @@
1
- export declare const AllTypesProps: Record<string, any>;
2
- export declare const ReturnTypes: Record<string, any>;