@secrecy/lib 1.6.0 → 1.6.1

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 (197) hide show
  1. package/dist/BaseClient-ca94a07f.d.ts +405 -0
  2. package/dist/BaseClient.cjs +2 -0
  3. package/dist/BaseClient.cjs.map +1 -0
  4. package/dist/BaseClient.d.ts +16 -111
  5. package/dist/BaseClient.js +2 -506
  6. package/dist/BaseClient.js.map +1 -0
  7. package/dist/PopupTools.cjs +2 -0
  8. package/dist/PopupTools.cjs.map +1 -0
  9. package/dist/PopupTools.d.ts +5 -4
  10. package/dist/PopupTools.js +2 -195
  11. package/dist/PopupTools.js.map +1 -0
  12. package/dist/ZeusThunder.cjs +2 -0
  13. package/dist/ZeusThunder.cjs.map +1 -0
  14. package/dist/ZeusThunder.d.ts +6 -2
  15. package/dist/ZeusThunder.js +2 -65
  16. package/dist/ZeusThunder.js.map +1 -0
  17. package/dist/cache.cjs +2 -0
  18. package/dist/cache.cjs.map +1 -0
  19. package/dist/cache.d.ts +22 -4
  20. package/dist/cache.js +2 -4
  21. package/dist/cache.js.map +1 -0
  22. package/dist/client/SecrecyAppClient.cjs +2 -0
  23. package/dist/client/SecrecyAppClient.cjs.map +1 -0
  24. package/dist/client/SecrecyAppClient.d.ts +16 -17
  25. package/dist/client/SecrecyAppClient.js +2 -226
  26. package/dist/client/SecrecyAppClient.js.map +1 -0
  27. package/dist/client/SecrecyCloudClient.cjs +2 -0
  28. package/dist/client/SecrecyCloudClient.cjs.map +1 -0
  29. package/dist/client/SecrecyCloudClient.d.ts +16 -89
  30. package/dist/client/SecrecyCloudClient.js +2 -1405
  31. package/dist/client/SecrecyCloudClient.js.map +1 -0
  32. package/dist/client/SecrecyDbClient.cjs +2 -0
  33. package/dist/client/SecrecyDbClient.cjs.map +1 -0
  34. package/dist/client/SecrecyDbClient.d.ts +16 -48
  35. package/dist/client/SecrecyDbClient.js +2 -419
  36. package/dist/client/SecrecyDbClient.js.map +1 -0
  37. package/dist/client/SecrecyMailClient.cjs +2 -0
  38. package/dist/client/SecrecyMailClient.cjs.map +1 -0
  39. package/dist/client/SecrecyMailClient.d.ts +16 -42
  40. package/dist/client/SecrecyMailClient.js +2 -1022
  41. package/dist/client/SecrecyMailClient.js.map +1 -0
  42. package/dist/client/SecrecyPayClient.cjs +2 -0
  43. package/dist/client/SecrecyPayClient.cjs.map +1 -0
  44. package/dist/client/SecrecyPayClient.d.ts +16 -28
  45. package/dist/client/SecrecyPayClient.js +2 -68
  46. package/dist/client/SecrecyPayClient.js.map +1 -0
  47. package/dist/client/SecrecyWalletClient.cjs +2 -0
  48. package/dist/client/SecrecyWalletClient.cjs.map +1 -0
  49. package/dist/client/SecrecyWalletClient.d.ts +16 -30
  50. package/dist/client/SecrecyWalletClient.js +2 -73
  51. package/dist/client/SecrecyWalletClient.js.map +1 -0
  52. package/dist/client/convert/file.cjs +2 -0
  53. package/dist/client/convert/file.cjs.map +1 -0
  54. package/dist/client/convert/file.d.ts +11 -5
  55. package/dist/client/convert/file.js +2 -33
  56. package/dist/client/convert/file.js.map +1 -0
  57. package/dist/client/convert/mail.cjs +2 -0
  58. package/dist/client/convert/mail.cjs.map +1 -0
  59. package/dist/client/convert/mail.d.ts +13 -3
  60. package/dist/client/convert/mail.js +2 -42
  61. package/dist/client/convert/mail.js.map +1 -0
  62. package/dist/client/convert/node.cjs +2 -0
  63. package/dist/client/convert/node.cjs.map +1 -0
  64. package/dist/client/convert/node.d.ts +18 -9
  65. package/dist/client/convert/node.js +2 -87
  66. package/dist/client/convert/node.js.map +1 -0
  67. package/dist/client/helpers.cjs +2 -0
  68. package/dist/client/helpers.cjs.map +1 -0
  69. package/dist/client/helpers.d.ts +16 -28
  70. package/dist/client/helpers.js +2 -119
  71. package/dist/client/helpers.js.map +1 -0
  72. package/dist/client/index.cjs +2 -0
  73. package/dist/client/index.cjs.map +1 -0
  74. package/dist/client/index.d.ts +16 -34
  75. package/dist/client/index.js +2 -46
  76. package/dist/client/index.js.map +1 -0
  77. package/dist/client/storage.cjs +2 -0
  78. package/dist/client/storage.cjs.map +1 -0
  79. package/dist/client/storage.d.ts +6 -3
  80. package/dist/client/storage.js +2 -12
  81. package/dist/client/storage.js.map +1 -0
  82. package/dist/client/types/File.cjs +1 -0
  83. package/dist/client/types/File.cjs.map +1 -0
  84. package/dist/client/types/File.d.ts +9 -5
  85. package/dist/client/types/File.js +1 -3
  86. package/dist/client/types/File.js.map +1 -0
  87. package/dist/client/types/Inputs.cjs +1 -0
  88. package/dist/client/types/Inputs.cjs.map +1 -0
  89. package/dist/client/types/Inputs.d.ts +6 -4
  90. package/dist/client/types/Inputs.js +1 -3
  91. package/dist/client/types/Inputs.js.map +1 -0
  92. package/dist/client/types/Node.cjs +1 -0
  93. package/dist/client/types/Node.cjs.map +1 -0
  94. package/dist/client/types/Node.d.ts +9 -56
  95. package/dist/client/types/Node.js +1 -3
  96. package/dist/client/types/Node.js.map +1 -0
  97. package/dist/client/types/UserAppNotifications.cjs +1 -0
  98. package/dist/client/types/UserAppNotifications.cjs.map +1 -0
  99. package/dist/client/types/UserAppNotifications.d.ts +3 -1
  100. package/dist/client/types/UserAppNotifications.js +1 -3
  101. package/dist/client/types/UserAppNotifications.js.map +1 -0
  102. package/dist/client/types/UserAppSettings.cjs +1 -0
  103. package/dist/client/types/UserAppSettings.cjs.map +1 -0
  104. package/dist/client/types/UserAppSettings.d.ts +3 -1
  105. package/dist/client/types/UserAppSettings.js +1 -3
  106. package/dist/client/types/UserAppSettings.js.map +1 -0
  107. package/dist/client/types/index.cjs +2 -0
  108. package/dist/client/types/index.cjs.map +1 -0
  109. package/dist/client/types/index.d.ts +86 -30
  110. package/dist/client/types/index.js +2 -8
  111. package/dist/client/types/index.js.map +1 -0
  112. package/dist/client/types/selectors.cjs +2 -0
  113. package/dist/client/types/selectors.cjs.map +1 -0
  114. package/dist/client/types/selectors.d.ts +7 -5
  115. package/dist/client/types/selectors.js +2 -135
  116. package/dist/client/types/selectors.js.map +1 -0
  117. package/dist/crypto/file.cjs +2 -0
  118. package/dist/crypto/file.cjs.map +1 -0
  119. package/dist/crypto/file.d.ts +8 -6
  120. package/dist/crypto/file.js +2 -195
  121. package/dist/crypto/file.js.map +1 -0
  122. package/dist/crypto/index.cjs +2 -0
  123. package/dist/crypto/index.cjs.map +1 -0
  124. package/dist/crypto/index.d.ts +11 -9
  125. package/dist/crypto/index.js +2 -45
  126. package/dist/crypto/index.js.map +1 -0
  127. package/dist/error.cjs +1 -0
  128. package/dist/error.cjs.map +1 -0
  129. package/dist/error.d.ts +13 -11
  130. package/dist/error.js +1 -3
  131. package/dist/error.js.map +1 -0
  132. package/dist/index.cjs +2 -0
  133. package/dist/index.cjs.map +1 -0
  134. package/dist/index.d.ts +19 -14
  135. package/dist/index.js +2 -10
  136. package/dist/index.js.map +1 -0
  137. package/dist/minify/index.cjs +2 -0
  138. package/dist/minify/index.cjs.map +1 -0
  139. package/dist/minify/index.d.ts +4 -2
  140. package/dist/minify/index.js +2 -23
  141. package/dist/minify/index.js.map +1 -0
  142. package/dist/minify/lz4.cjs +3 -0
  143. package/dist/minify/lz4.cjs.map +1 -0
  144. package/dist/minify/lz4.d.ts +7 -5
  145. package/dist/minify/lz4.js +2 -538
  146. package/dist/minify/lz4.js.map +1 -0
  147. package/dist/sodium.cjs +2 -0
  148. package/dist/sodium.cjs.map +1 -0
  149. package/dist/sodium.d.ts +5 -3
  150. package/dist/sodium.js +2 -6
  151. package/dist/sodium.js.map +1 -0
  152. package/dist/utils/encoders.cjs +2 -0
  153. package/dist/utils/encoders.cjs.map +1 -0
  154. package/dist/utils/encoders.d.ts +6 -4
  155. package/dist/utils/encoders.js +2 -18
  156. package/dist/utils/encoders.js.map +1 -0
  157. package/dist/utils/store-buddy.cjs +2 -0
  158. package/dist/utils/store-buddy.cjs.map +1 -0
  159. package/dist/utils/store-buddy.d.ts +4 -3
  160. package/dist/utils/store-buddy.js +2 -58
  161. package/dist/utils/store-buddy.js.map +1 -0
  162. package/dist/utils/time.cjs +2 -0
  163. package/dist/utils/time.cjs.map +1 -0
  164. package/dist/utils/time.d.ts +4 -2
  165. package/dist/utils/time.js +2 -12
  166. package/dist/utils/time.js.map +1 -0
  167. package/dist/utils/utils.cjs +2 -0
  168. package/dist/utils/utils.cjs.map +1 -0
  169. package/dist/utils/utils.d.ts +6 -4
  170. package/dist/utils/utils.js +2 -47
  171. package/dist/utils/utils.js.map +1 -0
  172. package/dist/worker/md5.cjs +2 -0
  173. package/dist/worker/md5.cjs.map +1 -0
  174. package/dist/worker/md5.d.ts +3 -1
  175. package/dist/worker/md5.js +2 -24
  176. package/dist/worker/md5.js.map +1 -0
  177. package/dist/worker/sodium.cjs +2 -0
  178. package/dist/worker/sodium.cjs.map +1 -0
  179. package/dist/worker/sodium.d.ts +6 -3
  180. package/dist/worker/sodium.js +2 -118
  181. package/dist/worker/sodium.js.map +1 -0
  182. package/dist/worker/workerCodes.cjs +254 -0
  183. package/dist/worker/workerCodes.cjs.map +1 -0
  184. package/dist/worker/workerCodes.d.ts +4 -2
  185. package/dist/worker/workerCodes.js +4 -5
  186. package/dist/worker/workerCodes.js.map +1 -0
  187. package/dist/zeus/const.cjs +2 -0
  188. package/dist/zeus/const.cjs.map +1 -0
  189. package/dist/zeus/const.d.ts +5 -3
  190. package/dist/zeus/const.js +2 -1846
  191. package/dist/zeus/const.js.map +1 -0
  192. package/dist/zeus/index.cjs +5 -0
  193. package/dist/zeus/index.cjs.map +1 -0
  194. package/dist/zeus/index.d.ts +91 -89
  195. package/dist/zeus/index.js +5 -642
  196. package/dist/zeus/index.js.map +1 -0
  197. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/PopupTools.ts"],"names":["defaultOptions","popupCount","optionsToString","options","k","v","defaultPopupName","optionsResolveCentered","result","width","height","openPopupWithPost","url","postData","name","form","win","key","input","popupExecute","execute","callback","popupName","popupOptions","popupCallback","optionsString","isMessageSent","interval","popupCallbackOnce","err","data","onMessage","message","popup","popupWithPost","openWithPostData","popupUrl","popupResponse","id"],"mappings":"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","sourcesContent":["/**\n * TS Rewrite of https://github.com/enhancv/popup-tools\n */\n\ntype YesNo = \"yes\" | \"no\";\ntype Options = {\n width?: number;\n height?: number;\n menubar: YesNo;\n resizable: YesNo;\n location: YesNo;\n scrollbars: YesNo;\n centered?: boolean;\n left?: number;\n top?: number;\n};\n\nconst defaultOptions: Options = {\n width: 700,\n height: 520,\n menubar: \"no\",\n resizable: \"yes\",\n location: \"yes\",\n scrollbars: \"no\",\n centered: true\n};\n\ntype Callback = (err?: Error, data?: unknown) => void;\n\ntype WindowOpen = (\n popupUrl: string,\n popupName: string,\n optionsString: string\n) => Window | null;\n\nlet popupCount = 1;\n\n/**\n * Return options converted to a string\n *\n * @param {Object} options\n * @return {String}\n */\nfunction optionsToString<T extends Options>(options: T): string {\n return Object.entries(options)\n .map(([k, v]) => `${k}=${v}`)\n .join(\",\");\n}\n\n/**\n * Get a unique name on each call\n * @return {String}\n */\nfunction defaultPopupName(): string {\n popupCount += 1;\n return `Popup ${popupCount}`;\n}\n\n/**\n * Convert \"centered: true\" key into concrete left and top arguments\n * Both can be overwritten\n *\n * @param {Object} options\n * @return {Object}\n */\nfunction optionsResolveCentered(options: Options): Options {\n if (!options.width || !options.height) {\n throw new Error(\"Should have width and height\");\n }\n const result = { ...options };\n const width = window.outerWidth - options.width;\n const height = window.outerHeight - options.height;\n\n if (options.centered) {\n result.left = options.left || Math.round(window.screenX + width / 2);\n result.top = options.top || Math.round(window.screenY + height / 2.5);\n delete result.centered;\n }\n return result;\n}\n\n/**\n * Create a form element, add hidden inputs for all the post data\n * and post it into a newly opened popup\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @return {Object}\n */\nfunction openPopupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: string\n): Window | null {\n const form = document.createElement(\"form\");\n let win: Window | null = null;\n\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"action\", url);\n form.setAttribute(\"target\", name);\n\n Object.keys(postData).forEach(function addFormItem(key) {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = key;\n input.value = postData[key];\n form.appendChild(input);\n });\n\n document.body.appendChild(form);\n\n win = window.open(\"/\", name, options);\n win?.document.write(\"Loading...\");\n\n form.submit();\n document.body.removeChild(form);\n\n return win;\n}\n\n/**\n * Open a popup using the first argument. Wait for it to close.\n * Returns the window object\n *\n * @param {Function}\n * @param {String}\n * @param {String}\n * @param {Object}\n * @param {Function}\n * @return {Object}\n */\nfunction popupExecute(\n execute: WindowOpen,\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n const popupName = name || defaultPopupName();\n const popupOptions = optionsResolveCentered(\n Object.assign({}, defaultOptions, options)\n );\n const popupCallback =\n callback ||\n function noop(): void {\n //\n };\n const optionsString = optionsToString(popupOptions);\n const win = execute(url, popupName, optionsString);\n let isMessageSent = false;\n let interval: number;\n\n function popupCallbackOnce(err?: Error, data?: unknown): void {\n if (!isMessageSent) {\n isMessageSent = true;\n popupCallback(err, data);\n }\n }\n\n function onMessage(message?: MessageEvent): void {\n const data = message ? message.data : undefined;\n\n if (data && data.id === popupName) {\n popupCallbackOnce(undefined, data.data);\n window.removeEventListener(\"message\", onMessage);\n clearInterval(interval);\n }\n }\n\n window.addEventListener(\"message\", onMessage, false);\n\n if (win) {\n interval = window.setInterval(function closePopupCallback() {\n if (win === null || win.closed) {\n setTimeout(function delayWindowClosing() {\n clearInterval(interval);\n popupCallbackOnce(new Error(\"Popup closed\"));\n }, 500);\n }\n }, 100);\n } else {\n popupCallbackOnce(new Error(\"Popup blocked\"));\n }\n\n return win;\n}\n\n/**\n * Open a popup using the first argument.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popup(\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n return popupExecute(window.open, url, name, options, callback);\n}\n\n/**\n * Open a popup using the first argument.\n * Post the data into the open popup.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n function openWithPostData(\n popupUrl: string,\n popupName: string,\n optionsString: string\n ): Window | null {\n return openPopupWithPost(popupUrl, postData, popupName, optionsString);\n }\n\n return popupExecute(openWithPostData, url, name, options, callback);\n}\n\n/**\n * Return html that when executed, will trigger the popup to callback with a response\n *\n * @param {Object}\n * @return {String}\n */\nexport function popupResponse<T>(id: string, data: T): string {\n const jsonData = JSON.stringify({ id, data });\n\n return `<script>window.opener.postMessage(${jsonData}, \"*\");setTimeout(function() { window.close(); }, 50);</script>`;\n}\n"]}
@@ -11,7 +11,8 @@ type Options = {
11
11
  top?: number;
12
12
  };
13
13
  type Callback = (err?: Error, data?: unknown) => void;
14
- export declare function popup(url: string, name: string, options: Partial<Options>, callback: Callback): Window | null;
15
- export declare function popupWithPost(url: string, postData: Record<string, string>, name: string, options: Partial<Options>, callback: Callback): Window | null;
16
- export declare function popupResponse<T>(id: string, data: T): string;
17
- export {};
14
+ declare function popup(url: string, name: string, options: Partial<Options>, callback: Callback): Window | null;
15
+ declare function popupWithPost(url: string, postData: Record<string, string>, name: string, options: Partial<Options>, callback: Callback): Window | null;
16
+ declare function popupResponse<T>(id: string, data: T): string;
17
+
18
+ export { popup, popupResponse, popupWithPost };
@@ -1,195 +1,2 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
- /**
5
- * TS Rewrite of https://github.com/enhancv/popup-tools
6
- */
7
-
8
- const defaultOptions = {
9
- width: 700,
10
- height: 520,
11
- menubar: "no",
12
- resizable: "yes",
13
- location: "yes",
14
- scrollbars: "no",
15
- centered: true
16
- };
17
- let popupCount = 1;
18
-
19
- /**
20
- * Return options converted to a string
21
- *
22
- * @param {Object} options
23
- * @return {String}
24
- */
25
- function optionsToString(options) {
26
- return Object.entries(options).map(_ref => {
27
- let [k, v] = _ref;
28
- return `${k}=${v}`;
29
- }).join(",");
30
- }
31
-
32
- /**
33
- * Get a unique name on each call
34
- * @return {String}
35
- */
36
- function defaultPopupName() {
37
- popupCount += 1;
38
- return `Popup ${popupCount}`;
39
- }
40
-
41
- /**
42
- * Convert "centered: true" key into concrete left and top arguments
43
- * Both can be overwritten
44
- *
45
- * @param {Object} options
46
- * @return {Object}
47
- */
48
- function optionsResolveCentered(options) {
49
- if (!options.width || !options.height) {
50
- throw new Error("Should have width and height");
51
- }
52
- const result = _objectSpread({}, options);
53
- const width = window.outerWidth - options.width;
54
- const height = window.outerHeight - options.height;
55
- if (options.centered) {
56
- result.left = options.left || Math.round(window.screenX + width / 2);
57
- result.top = options.top || Math.round(window.screenY + height / 2.5);
58
- delete result.centered;
59
- }
60
- return result;
61
- }
62
-
63
- /**
64
- * Create a form element, add hidden inputs for all the post data
65
- * and post it into a newly opened popup
66
- *
67
- * @param {String} url
68
- * @param {Object} postData
69
- * @param {String} name
70
- * @param {Object} options
71
- * @return {Object}
72
- */
73
- function openPopupWithPost(url, postData, name, options) {
74
- const form = document.createElement("form");
75
- let win = null;
76
- form.setAttribute("method", "post");
77
- form.setAttribute("action", url);
78
- form.setAttribute("target", name);
79
- Object.keys(postData).forEach(function addFormItem(key) {
80
- const input = document.createElement("input");
81
- input.type = "hidden";
82
- input.name = key;
83
- input.value = postData[key];
84
- form.appendChild(input);
85
- });
86
- document.body.appendChild(form);
87
- win = window.open("/", name, options);
88
- win?.document.write("Loading...");
89
- form.submit();
90
- document.body.removeChild(form);
91
- return win;
92
- }
93
-
94
- /**
95
- * Open a popup using the first argument. Wait for it to close.
96
- * Returns the window object
97
- *
98
- * @param {Function}
99
- * @param {String}
100
- * @param {String}
101
- * @param {Object}
102
- * @param {Function}
103
- * @return {Object}
104
- */
105
- function popupExecute(execute, url, name, options, callback) {
106
- const popupName = name || defaultPopupName();
107
- const popupOptions = optionsResolveCentered(Object.assign({}, defaultOptions, options));
108
- const popupCallback = callback || function noop() {
109
- //
110
- };
111
- const optionsString = optionsToString(popupOptions);
112
- const win = execute(url, popupName, optionsString);
113
- let isMessageSent = false;
114
- let interval;
115
- function popupCallbackOnce(err, data) {
116
- if (!isMessageSent) {
117
- isMessageSent = true;
118
- popupCallback(err, data);
119
- }
120
- }
121
- function onMessage(message) {
122
- const data = message ? message.data : undefined;
123
- if (data && data.id === popupName) {
124
- popupCallbackOnce(undefined, data.data);
125
- window.removeEventListener("message", onMessage);
126
- clearInterval(interval);
127
- }
128
- }
129
- window.addEventListener("message", onMessage, false);
130
- if (win) {
131
- interval = window.setInterval(function closePopupCallback() {
132
- if (win === null || win.closed) {
133
- setTimeout(function delayWindowClosing() {
134
- clearInterval(interval);
135
- popupCallbackOnce(new Error("Popup closed"));
136
- }, 500);
137
- }
138
- }, 100);
139
- } else {
140
- popupCallbackOnce(new Error("Popup blocked"));
141
- }
142
- return win;
143
- }
144
-
145
- /**
146
- * Open a popup using the first argument.
147
- * Wait for it to close and call the callback.
148
- * Set the options string using the options object
149
- * Returns the window object
150
- *
151
- * @param {String} url
152
- * @param {String} name
153
- * @param {Object} options
154
- * @param {Function} callback
155
- * @return {Object}
156
- */
157
- export function popup(url, name, options, callback) {
158
- return popupExecute(window.open, url, name, options, callback);
159
- }
160
-
161
- /**
162
- * Open a popup using the first argument.
163
- * Post the data into the open popup.
164
- * Wait for it to close and call the callback.
165
- * Set the options string using the options object
166
- * Returns the window object
167
- *
168
- * @param {String} url
169
- * @param {Object} postData
170
- * @param {String} name
171
- * @param {Object} options
172
- * @param {Function} callback
173
- * @return {Object}
174
- */
175
- export function popupWithPost(url, postData, name, options, callback) {
176
- function openWithPostData(popupUrl, popupName, optionsString) {
177
- return openPopupWithPost(popupUrl, postData, popupName, optionsString);
178
- }
179
- return popupExecute(openWithPostData, url, name, options, callback);
180
- }
181
-
182
- /**
183
- * Return html that when executed, will trigger the popup to callback with a response
184
- *
185
- * @param {Object}
186
- * @return {String}
187
- */
188
- export function popupResponse(id, data) {
189
- const jsonData = JSON.stringify({
190
- id,
191
- data
192
- });
193
- return `<script>window.opener.postMessage(${jsonData}, "*");setTimeout(function() { window.close(); }, 50);</script>`;
194
- }
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0T3B0aW9ucyIsIndpZHRoIiwiaGVpZ2h0IiwibWVudWJhciIsInJlc2l6YWJsZSIsImxvY2F0aW9uIiwic2Nyb2xsYmFycyIsImNlbnRlcmVkIiwicG9wdXBDb3VudCIsIm9wdGlvbnNUb1N0cmluZyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiayIsInYiLCJqb2luIiwiZGVmYXVsdFBvcHVwTmFtZSIsIm9wdGlvbnNSZXNvbHZlQ2VudGVyZWQiLCJFcnJvciIsInJlc3VsdCIsIndpbmRvdyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImxlZnQiLCJNYXRoIiwicm91bmQiLCJzY3JlZW5YIiwidG9wIiwic2NyZWVuWSIsIm9wZW5Qb3B1cFdpdGhQb3N0IiwidXJsIiwicG9zdERhdGEiLCJuYW1lIiwiZm9ybSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbiIsInNldEF0dHJpYnV0ZSIsImtleXMiLCJmb3JFYWNoIiwiYWRkRm9ybUl0ZW0iLCJrZXkiLCJpbnB1dCIsInR5cGUiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwiYm9keSIsIm9wZW4iLCJ3cml0ZSIsInN1Ym1pdCIsInJlbW92ZUNoaWxkIiwicG9wdXBFeGVjdXRlIiwiZXhlY3V0ZSIsImNhbGxiYWNrIiwicG9wdXBOYW1lIiwicG9wdXBPcHRpb25zIiwiYXNzaWduIiwicG9wdXBDYWxsYmFjayIsIm5vb3AiLCJvcHRpb25zU3RyaW5nIiwiaXNNZXNzYWdlU2VudCIsImludGVydmFsIiwicG9wdXBDYWxsYmFja09uY2UiLCJlcnIiLCJkYXRhIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImlkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFySW50ZXJ2YWwiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0SW50ZXJ2YWwiLCJjbG9zZVBvcHVwQ2FsbGJhY2siLCJjbG9zZWQiLCJzZXRUaW1lb3V0IiwiZGVsYXlXaW5kb3dDbG9zaW5nIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVFMgUmV3cml0ZSBvZiBodHRwczovL2dpdGh1Yi5jb20vZW5oYW5jdi9wb3B1cC10b29sc1xuICovXG5cbnR5cGUgWWVzTm8gPSBcInllc1wiIHwgXCJub1wiO1xudHlwZSBPcHRpb25zID0ge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBtZW51YmFyOiBZZXNObztcbiAgcmVzaXphYmxlOiBZZXNObztcbiAgbG9jYXRpb246IFllc05vO1xuICBzY3JvbGxiYXJzOiBZZXNObztcbiAgY2VudGVyZWQ/OiBib29sZWFuO1xuICBsZWZ0PzogbnVtYmVyO1xuICB0b3A/OiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogT3B0aW9ucyA9IHtcbiAgd2lkdGg6IDcwMCxcbiAgaGVpZ2h0OiA1MjAsXG4gIG1lbnViYXI6IFwibm9cIixcbiAgcmVzaXphYmxlOiBcInllc1wiLFxuICBsb2NhdGlvbjogXCJ5ZXNcIixcbiAgc2Nyb2xsYmFyczogXCJub1wiLFxuICBjZW50ZXJlZDogdHJ1ZVxufTtcblxudHlwZSBDYWxsYmFjayA9IChlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pID0+IHZvaWQ7XG5cbnR5cGUgV2luZG93T3BlbiA9IChcbiAgcG9wdXBVcmw6IHN0cmluZyxcbiAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuKSA9PiBXaW5kb3cgfCBudWxsO1xuXG5sZXQgcG9wdXBDb3VudCA9IDE7XG5cbi8qKlxuICogUmV0dXJuIG9wdGlvbnMgY29udmVydGVkIHRvIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG9wdGlvbnNUb1N0cmluZzxUIGV4dGVuZHMgT3B0aW9ucz4ob3B0aW9uczogVCk6IHN0cmluZyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvcHRpb25zKVxuICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7a309JHt2fWApXG4gICAgLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIEdldCBhIHVuaXF1ZSBuYW1lIG9uIGVhY2ggY2FsbFxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBkZWZhdWx0UG9wdXBOYW1lKCk6IHN0cmluZyB7XG4gIHBvcHVwQ291bnQgKz0gMTtcbiAgcmV0dXJuIGBQb3B1cCAke3BvcHVwQ291bnR9YDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IFwiY2VudGVyZWQ6IHRydWVcIiBrZXkgaW50byBjb25jcmV0ZSBsZWZ0IGFuZCB0b3AgYXJndW1lbnRzXG4gKiBCb3RoIGNhbiBiZSBvdmVyd3JpdHRlblxuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5mdW5jdGlvbiBvcHRpb25zUmVzb2x2ZUNlbnRlcmVkKG9wdGlvbnM6IE9wdGlvbnMpOiBPcHRpb25zIHtcbiAgaWYgKCFvcHRpb25zLndpZHRoIHx8ICFvcHRpb25zLmhlaWdodCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBoYXZlIHdpZHRoIGFuZCBoZWlnaHRcIik7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0geyAuLi5vcHRpb25zIH07XG4gIGNvbnN0IHdpZHRoID0gd2luZG93Lm91dGVyV2lkdGggLSBvcHRpb25zLndpZHRoO1xuICBjb25zdCBoZWlnaHQgPSB3aW5kb3cub3V0ZXJIZWlnaHQgLSBvcHRpb25zLmhlaWdodDtcblxuICBpZiAob3B0aW9ucy5jZW50ZXJlZCkge1xuICAgIHJlc3VsdC5sZWZ0ID0gb3B0aW9ucy5sZWZ0IHx8IE1hdGgucm91bmQod2luZG93LnNjcmVlblggKyB3aWR0aCAvIDIpO1xuICAgIHJlc3VsdC50b3AgPSBvcHRpb25zLnRvcCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5ZICsgaGVpZ2h0IC8gMi41KTtcbiAgICBkZWxldGUgcmVzdWx0LmNlbnRlcmVkO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZm9ybSBlbGVtZW50LCBhZGQgaGlkZGVuIGlucHV0cyBmb3IgYWxsIHRoZSBwb3N0IGRhdGFcbiAqIGFuZCBwb3N0IGl0IGludG8gYSBuZXdseSBvcGVuZWQgcG9wdXBcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7T2JqZWN0fSBwb3N0RGF0YVxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3BlblBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBzdHJpbmdcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImZvcm1cIik7XG4gIGxldCB3aW46IFdpbmRvdyB8IG51bGwgPSBudWxsO1xuXG4gIGZvcm0uc2V0QXR0cmlidXRlKFwibWV0aG9kXCIsIFwicG9zdFwiKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJhY3Rpb25cIiwgdXJsKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgbmFtZSk7XG5cbiAgT2JqZWN0LmtleXMocG9zdERhdGEpLmZvckVhY2goZnVuY3Rpb24gYWRkRm9ybUl0ZW0oa2V5KSB7XG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG4gICAgaW5wdXQubmFtZSA9IGtleTtcbiAgICBpbnB1dC52YWx1ZSA9IHBvc3REYXRhW2tleV07XG4gICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7XG4gIH0pO1xuXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7XG5cbiAgd2luID0gd2luZG93Lm9wZW4oXCIvXCIsIG5hbWUsIG9wdGlvbnMpO1xuICB3aW4/LmRvY3VtZW50LndyaXRlKFwiTG9hZGluZy4uLlwiKTtcblxuICBmb3JtLnN1Ym1pdCgpO1xuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZvcm0pO1xuXG4gIHJldHVybiB3aW47XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC4gV2FpdCBmb3IgaXQgdG8gY2xvc2UuXG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcGFyYW0gIHtGdW5jdGlvbn1cbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gcG9wdXBFeGVjdXRlKFxuICBleGVjdXRlOiBXaW5kb3dPcGVuLFxuICB1cmw6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBwb3B1cE5hbWUgPSBuYW1lIHx8IGRlZmF1bHRQb3B1cE5hbWUoKTtcbiAgY29uc3QgcG9wdXBPcHRpb25zID0gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChcbiAgICBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgb3B0aW9ucylcbiAgKTtcbiAgY29uc3QgcG9wdXBDYWxsYmFjayA9XG4gICAgY2FsbGJhY2sgfHxcbiAgICBmdW5jdGlvbiBub29wKCk6IHZvaWQge1xuICAgICAgLy9cbiAgICB9O1xuICBjb25zdCBvcHRpb25zU3RyaW5nID0gb3B0aW9uc1RvU3RyaW5nKHBvcHVwT3B0aW9ucyk7XG4gIGNvbnN0IHdpbiA9IGV4ZWN1dGUodXJsLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICBsZXQgaXNNZXNzYWdlU2VudCA9IGZhbHNlO1xuICBsZXQgaW50ZXJ2YWw6IG51bWJlcjtcblxuICBmdW5jdGlvbiBwb3B1cENhbGxiYWNrT25jZShlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAoIWlzTWVzc2FnZVNlbnQpIHtcbiAgICAgIGlzTWVzc2FnZVNlbnQgPSB0cnVlO1xuICAgICAgcG9wdXBDYWxsYmFjayhlcnIsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG9uTWVzc2FnZShtZXNzYWdlPzogTWVzc2FnZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IG1lc3NhZ2UgPyBtZXNzYWdlLmRhdGEgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZGF0YSAmJiBkYXRhLmlkID09PSBwb3B1cE5hbWUpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YS5kYXRhKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBvbk1lc3NhZ2UpO1xuICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgfVxuICB9XG5cbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIG9uTWVzc2FnZSwgZmFsc2UpO1xuXG4gIGlmICh3aW4pIHtcbiAgICBpbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbiBjbG9zZVBvcHVwQ2FsbGJhY2soKSB7XG4gICAgICBpZiAod2luID09PSBudWxsIHx8IHdpbi5jbG9zZWQpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBkZWxheVdpbmRvd0Nsb3NpbmcoKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgY2xvc2VkXCIpKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICB9LCAxMDApO1xuICB9IGVsc2Uge1xuICAgIHBvcHVwQ2FsbGJhY2tPbmNlKG5ldyBFcnJvcihcIlBvcHVwIGJsb2NrZWRcIikpO1xuICB9XG5cbiAgcmV0dXJuIHdpbjtcbn1cblxuLyoqXG4gKiBPcGVuIGEgcG9wdXAgdXNpbmcgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICogV2FpdCBmb3IgaXQgdG8gY2xvc2UgYW5kIGNhbGwgdGhlIGNhbGxiYWNrLlxuICogU2V0IHRoZSBvcHRpb25zIHN0cmluZyB1c2luZyB0aGUgb3B0aW9ucyBvYmplY3RcbiAqIFJldHVybnMgdGhlIHdpbmRvdyBvYmplY3RcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXAoXG4gIHVybDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IFBhcnRpYWw8T3B0aW9ucz4sXG4gIGNhbGxiYWNrOiBDYWxsYmFja1xuKTogV2luZG93IHwgbnVsbCB7XG4gIHJldHVybiBwb3B1cEV4ZWN1dGUod2luZG93Lm9wZW4sIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBQb3N0IHRoZSBkYXRhIGludG8gdGhlIG9wZW4gcG9wdXAuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtPYmplY3R9IHBvc3REYXRhXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgZnVuY3Rpb24gb3BlbldpdGhQb3N0RGF0YShcbiAgICBwb3B1cFVybDogc3RyaW5nLFxuICAgIHBvcHVwTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuICApOiBXaW5kb3cgfCBudWxsIHtcbiAgICByZXR1cm4gb3BlblBvcHVwV2l0aFBvc3QocG9wdXBVcmwsIHBvc3REYXRhLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICB9XG5cbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZShvcGVuV2l0aFBvc3REYXRhLCB1cmwsIG5hbWUsIG9wdGlvbnMsIGNhbGxiYWNrKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gaHRtbCB0aGF0IHdoZW4gZXhlY3V0ZWQsIHdpbGwgdHJpZ2dlciB0aGUgcG9wdXAgdG8gY2FsbGJhY2sgd2l0aCBhIHJlc3BvbnNlXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXBSZXNwb25zZTxUPihpZDogc3RyaW5nLCBkYXRhOiBUKTogc3RyaW5nIHtcbiAgY29uc3QganNvbkRhdGEgPSBKU09OLnN0cmluZ2lmeSh7IGlkLCBkYXRhIH0pO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBO0FBQ0E7O0FBZUEsTUFBTUEsY0FBdUIsR0FBRztFQUM5QkMsS0FBSyxFQUFFLEdBQUc7RUFDVkMsTUFBTSxFQUFFLEdBQUc7RUFDWEMsT0FBTyxFQUFFLElBQUk7RUFDYkMsU0FBUyxFQUFFLEtBQUs7RUFDaEJDLFFBQVEsRUFBRSxLQUFLO0VBQ2ZDLFVBQVUsRUFBRSxJQUFJO0VBQ2hCQyxRQUFRLEVBQUU7QUFDWixDQUFDO0FBVUQsSUFBSUMsVUFBVSxHQUFHLENBQUM7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGVBQWUsQ0FBb0JDLE9BQVUsRUFBVTtFQUM5RCxPQUFPQyxNQUFNLENBQUNDLE9BQU8sQ0FBQ0YsT0FBTyxDQUFDLENBQzNCRyxHQUFHLENBQUM7SUFBQSxJQUFDLENBQUNDLENBQUMsRUFBRUMsQ0FBQyxDQUFDO0lBQUEsT0FBTSxHQUFFRCxDQUFFLElBQUdDLENBQUUsRUFBQztFQUFBLEVBQUMsQ0FDNUJDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGdCQUFnQixHQUFXO0VBQ2xDVCxVQUFVLElBQUksQ0FBQztFQUNmLE9BQVEsU0FBUUEsVUFBVyxFQUFDO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU1Usc0JBQXNCLENBQUNSLE9BQWdCLEVBQVc7RUFDekQsSUFBSSxDQUFDQSxPQUFPLENBQUNULEtBQUssSUFBSSxDQUFD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
1
+ const m={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let h=1;function O(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function v(){return h+=1,`Popup ${h}`}function W(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t={...n},e=window.outerWidth-n.width,i=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+i/2.5),delete t.centered),t}function C(n,t,e,i){const o=document.createElement("form");let r=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),r=window.open("/",e,i),r?.document.write("Loading..."),o.submit(),document.body.removeChild(o),r}function b(n,t,e,i,o){const r=e||v(),l=W(Object.assign({},m,i)),u=o||function(){},s=O(l),a=n(t,r,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===r&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function y(n,t,e,i){return b(window.open,n,t,e,i)}function E(n,t,e,i,o){function r(l,u,s){return C(l,t,u,s)}return b(r,n,e,i,o)}function P(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}export{y as popup,P as popupResponse,E as popupWithPost};
2
+ //# sourceMappingURL=PopupTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/PopupTools.ts"],"sourcesContent":["/**\n * TS Rewrite of https://github.com/enhancv/popup-tools\n */\n\ntype YesNo = \"yes\" | \"no\";\ntype Options = {\n width?: number;\n height?: number;\n menubar: YesNo;\n resizable: YesNo;\n location: YesNo;\n scrollbars: YesNo;\n centered?: boolean;\n left?: number;\n top?: number;\n};\n\nconst defaultOptions: Options = {\n width: 700,\n height: 520,\n menubar: \"no\",\n resizable: \"yes\",\n location: \"yes\",\n scrollbars: \"no\",\n centered: true\n};\n\ntype Callback = (err?: Error, data?: unknown) => void;\n\ntype WindowOpen = (\n popupUrl: string,\n popupName: string,\n optionsString: string\n) => Window | null;\n\nlet popupCount = 1;\n\n/**\n * Return options converted to a string\n *\n * @param {Object} options\n * @return {String}\n */\nfunction optionsToString<T extends Options>(options: T): string {\n return Object.entries(options)\n .map(([k, v]) => `${k}=${v}`)\n .join(\",\");\n}\n\n/**\n * Get a unique name on each call\n * @return {String}\n */\nfunction defaultPopupName(): string {\n popupCount += 1;\n return `Popup ${popupCount}`;\n}\n\n/**\n * Convert \"centered: true\" key into concrete left and top arguments\n * Both can be overwritten\n *\n * @param {Object} options\n * @return {Object}\n */\nfunction optionsResolveCentered(options: Options): Options {\n if (!options.width || !options.height) {\n throw new Error(\"Should have width and height\");\n }\n const result = { ...options };\n const width = window.outerWidth - options.width;\n const height = window.outerHeight - options.height;\n\n if (options.centered) {\n result.left = options.left || Math.round(window.screenX + width / 2);\n result.top = options.top || Math.round(window.screenY + height / 2.5);\n delete result.centered;\n }\n return result;\n}\n\n/**\n * Create a form element, add hidden inputs for all the post data\n * and post it into a newly opened popup\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @return {Object}\n */\nfunction openPopupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: string\n): Window | null {\n const form = document.createElement(\"form\");\n let win: Window | null = null;\n\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"action\", url);\n form.setAttribute(\"target\", name);\n\n Object.keys(postData).forEach(function addFormItem(key) {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = key;\n input.value = postData[key];\n form.appendChild(input);\n });\n\n document.body.appendChild(form);\n\n win = window.open(\"/\", name, options);\n win?.document.write(\"Loading...\");\n\n form.submit();\n document.body.removeChild(form);\n\n return win;\n}\n\n/**\n * Open a popup using the first argument. Wait for it to close.\n * Returns the window object\n *\n * @param {Function}\n * @param {String}\n * @param {String}\n * @param {Object}\n * @param {Function}\n * @return {Object}\n */\nfunction popupExecute(\n execute: WindowOpen,\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n const popupName = name || defaultPopupName();\n const popupOptions = optionsResolveCentered(\n Object.assign({}, defaultOptions, options)\n );\n const popupCallback =\n callback ||\n function noop(): void {\n //\n };\n const optionsString = optionsToString(popupOptions);\n const win = execute(url, popupName, optionsString);\n let isMessageSent = false;\n let interval: number;\n\n function popupCallbackOnce(err?: Error, data?: unknown): void {\n if (!isMessageSent) {\n isMessageSent = true;\n popupCallback(err, data);\n }\n }\n\n function onMessage(message?: MessageEvent): void {\n const data = message ? message.data : undefined;\n\n if (data && data.id === popupName) {\n popupCallbackOnce(undefined, data.data);\n window.removeEventListener(\"message\", onMessage);\n clearInterval(interval);\n }\n }\n\n window.addEventListener(\"message\", onMessage, false);\n\n if (win) {\n interval = window.setInterval(function closePopupCallback() {\n if (win === null || win.closed) {\n setTimeout(function delayWindowClosing() {\n clearInterval(interval);\n popupCallbackOnce(new Error(\"Popup closed\"));\n }, 500);\n }\n }, 100);\n } else {\n popupCallbackOnce(new Error(\"Popup blocked\"));\n }\n\n return win;\n}\n\n/**\n * Open a popup using the first argument.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popup(\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n return popupExecute(window.open, url, name, options, callback);\n}\n\n/**\n * Open a popup using the first argument.\n * Post the data into the open popup.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n function openWithPostData(\n popupUrl: string,\n popupName: string,\n optionsString: string\n ): Window | null {\n return openPopupWithPost(popupUrl, postData, popupName, optionsString);\n }\n\n return popupExecute(openWithPostData, url, name, options, callback);\n}\n\n/**\n * Return html that when executed, will trigger the popup to callback with a response\n *\n * @param {Object}\n * @return {String}\n */\nexport function popupResponse<T>(id: string, data: T): string {\n const jsonData = JSON.stringify({ id, data });\n\n return `<script>window.opener.postMessage(${jsonData}, \"*\");setTimeout(function() { window.close(); }, 50);</script>`;\n}\n"],"mappings":"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","names":["defaultOptions","popupCount","optionsToString","options","k","v","defaultPopupName","optionsResolveCentered","result","width","height","openPopupWithPost","url","postData","name","form","win","key","input","popupExecute","execute","callback","popupName","popupOptions","popupCallback","optionsString","isMessageSent","interval","popupCallbackOnce","err","data","onMessage","message","popup","popupWithPost","openWithPostData","popupUrl","popupResponse","id"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _indexjs = require('./zeus/index.js');const u=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch (e2){n(o)}}).catch(n)}),m=(e,r)=>async(n,o={})=>{const s=fetch;let i=n;const a=e[1]||{};if(a.method&&a.method==="GET")return i=encodeURIComponent(n),s(`${e[0]}?query=${i}`,a).then(u).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,p=setTimeout(()=>h.abort(),2e4),f=await s(`${e[0]}`,{body:JSON.stringify({query:i,variables:o}),method:"POST",headers:c,signal:h.signal,...a}).then(u).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});return clearTimeout(p),f},y= exports.createThunder =(e,r)=>_indexjs.Thunder.call(void 0, m([e,{mode:"cors",credentials:"same-origin"}],r));exports.createThunder = y;
2
+ //# sourceMappingURL=ZeusThunder.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ZeusThunder.ts"],"names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","apiFetch","options","session","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","createThunder","url"],"mappings":"AACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,MAAE,CACAD,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCE,EACJ,CAACC,EAAuBC,IACxB,MACEC,EACAC,EAAiC,CAAC,IACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeN,EAAQ,IAAM,CAAC,EACpC,GAAIM,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGJ,EAAQ,YAAYK,IAAeC,CAAY,EACpE,KAAKZ,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMY,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIN,IACFM,EAAQ,mBAAqBN,GAE/B,MAAMO,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGJ,EAAQ,KAAM,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAOK,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,OACnB,GAAGF,CACL,CAAC,EACE,KAAKZ,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAac,CAAE,EACRC,CACT,EAEWC,EAAgB,CAC3BC,EACAX,IAEAR,EACEM,EACE,CACEa,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAX,CACF,CACF","sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"]}
@@ -1,2 +1,6 @@
1
- import { Thunder } from "./zeus/index.js";
2
- export declare const createThunder: (url: string, session?: string | null | undefined) => ReturnType<typeof Thunder>;
1
+ import { Thunder } from './zeus/index.js';
2
+ import './zeus/const.js';
3
+
4
+ declare const createThunder: (url: string, session?: string | null | undefined) => ReturnType<typeof Thunder>;
5
+
6
+ export { createThunder };
@@ -1,65 +1,2 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
- import { GraphQLError, Thunder } from "./zeus/index.js";
5
- const handleFetchResponse = response => {
6
- if (!response.ok) {
7
- return new Promise((_, reject) => {
8
- response.text().then(text => {
9
- try {
10
- reject(JSON.parse(text));
11
- } catch (err) {
12
- reject(text);
13
- }
14
- }).catch(reject);
15
- });
16
- }
17
- return response.json();
18
- };
19
- const apiFetch = (options, session) => async function (query, variables) {
20
- if (variables === void 0) {
21
- variables = {};
22
- }
23
- const fetchFunction = fetch;
24
- let queryString = query;
25
- const fetchOptions = options[1] || {};
26
- if (fetchOptions.method && fetchOptions.method === "GET") {
27
- queryString = encodeURIComponent(query);
28
- return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions).then(handleFetchResponse).then(response => {
29
- if (response.errors) {
30
- throw new GraphQLError(response);
31
- }
32
- return response.data;
33
- });
34
- }
35
- const headers = {
36
- "content-type": "application/json",
37
- "accept-language": navigator.language
38
- };
39
- if (session) {
40
- headers["secrecy-session"] = session;
41
- }
42
- const controller = new AbortController();
43
- const id = setTimeout(() => controller.abort(), 20000);
44
- const res = await fetchFunction(`${options[0]}`, _objectSpread({
45
- body: JSON.stringify({
46
- query: queryString,
47
- variables
48
- }),
49
- method: "POST",
50
- headers,
51
- signal: controller.signal
52
- }, fetchOptions)).then(handleFetchResponse).then(response => {
53
- if (response.errors) {
54
- throw new GraphQLError(response);
55
- }
56
- return response.data;
57
- });
58
- clearTimeout(id);
59
- return res;
60
- };
61
- export const createThunder = (url, session) => Thunder(apiFetch([url, {
62
- mode: "cors",
63
- credentials: "same-origin"
64
- }], session));
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwic291cmNlcyI6WyIuLi9zcmMvWmV1c1RodW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmZXRjaE9wdGlvbnMsIEdyYXBoUUxSZXNwb25zZSB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciwgVGh1bmRlciB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+W1widGhlblwiXT5bMF0sIEZ1bmN0aW9uPlxuICA+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlXG4gICAgICAgIC50ZXh0KClcbiAgICAgICAgLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlamVjdChKU09OLnBhcnNlKHRleHQpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdCh0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+O1xufTtcblxuY29uc3QgYXBpRmV0Y2ggPVxuICAob3B0aW9uczogZmV0Y2hPcHRpb25zLCBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgYXN5bmMgKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgZmV0Y2hGdW5jdGlvbiA9IGZldGNoO1xuICAgIGxldCBxdWVyeVN0cmluZyA9IHF1ZXJ5O1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcXVlcnlTdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgcmV0dXJuIGZldGNoRnVuY3Rpb24oYCR7b3B0aW9uc1swXX0/cXVlcnk9JHtxdWVyeVN0cmluZ31gLCBmZXRjaE9wdGlvbnMpXG4gICAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhY2NlcHQtbGFuZ3VhZ2VcIjogbmF2aWdhdG9yLmxhbmd1YWdlXG4gICAgfTtcblxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBoZWFkZXJzW1wic2VjcmVjeS1zZXNzaW9uXCJdID0gc2Vzc2lvbjtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCAyMDAwMCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCB2YXJpYWJsZXMgfSksXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAuLi5mZXRjaE9wdGlvbnNcbiAgICB9KVxuICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgIH0pO1xuICAgIGNsZWFyVGltZW91dChpZCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRodW5kZXIgPSAoXG4gIHVybDogc3RyaW5nLFxuICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj4gPT5cbiAgVGh1bmRlcihcbiAgICBhcGlGZXRjaChcbiAgICAgIFtcbiAgICAgICAgdXJsLFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc2Vzc2lvblxuICAgIClcbiAgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsU0FBU0EsWUFBWSxFQUFFQyxPQUFPLFFBQVEsaUJBQWlCO0FBRXZELE1BQU1DLG1CQUFtQixHQUN2QkMsUUFHSSxJQUN5QjtFQUM3QixJQUFJLENBQUNBLFFBQVEsQ0FBQ0MsRUFBRSxFQUFFO0lBQ2hCLE9BQU8sSUFBSUMsT0FBTyxDQUFDLENBQUNDLENBQUMsRUFBRUMsTUFBTSxLQUFLO01BQ2hDSixRQUFRLENBQ0xLLElBQUksRUFBRSxDQUNOQyxJQUFJLENBQUNELElBQUksSUFBSTtRQUNaLElBQUk7VUFDRkQsTUFBTSxDQUFDRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLE9BQU9JLEdBQUcsRUFBRTtVQUNaTCxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNkO01BQ0YsQ0FBQyxDQUFDLENBQ0RLLEtBQUssQ0FBQ04sTUFBTSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztFQUNKO0VBQ0EsT0FBT0osUUFBUSxDQUFDVyxJQUFJLEVBQUU7QUFDeEIs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
1
+ import{GraphQLError as d,Thunder as g}from"./zeus/index.js";const u=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch{n(o)}}).catch(n)}),m=(e,r)=>async(n,o={})=>{const s=fetch;let i=n;const a=e[1]||{};if(a.method&&a.method==="GET")return i=encodeURIComponent(n),s(`${e[0]}?query=${i}`,a).then(u).then(t=>{if(t.errors)throw new d(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,p=setTimeout(()=>h.abort(),2e4),f=await s(`${e[0]}`,{body:JSON.stringify({query:i,variables:o}),method:"POST",headers:c,signal:h.signal,...a}).then(u).then(t=>{if(t.errors)throw new d(t);return t.data});return clearTimeout(p),f},y=(e,r)=>g(m([e,{mode:"cors",credentials:"same-origin"}],r));export{y as createThunder};
2
+ //# sourceMappingURL=ZeusThunder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ZeusThunder.ts"],"sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"],"mappings":"AACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,MAAE,CACAD,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCE,EACJ,CAACC,EAAuBC,IACxB,MACEC,EACAC,EAAiC,CAAC,IACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeN,EAAQ,IAAM,CAAC,EACpC,GAAIM,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGJ,EAAQ,YAAYK,IAAeC,CAAY,EACpE,KAAKZ,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMY,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIN,IACFM,EAAQ,mBAAqBN,GAE/B,MAAMO,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGJ,EAAQ,KAAM,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAOK,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,OACnB,GAAGF,CACL,CAAC,EACE,KAAKZ,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAac,CAAE,EACRC,CACT,EAEWC,EAAgB,CAC3BC,EACAX,IAEAR,EACEM,EACE,CACEa,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAX,CACF,CACF","names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","apiFetch","options","session","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","createThunder","url"]}
package/dist/cache.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});const e=new Map,n= exports.nodesCache =new Map,t= exports.usersCache =new Map;exports.filesCache = e; exports.nodesCache = n; exports.usersCache = t;
2
+ //# sourceMappingURL=cache.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cache.ts"],"names":["filesCache","nodesCache","usersCache"],"mappings":"AAOO,MAAMA,EAAa,IAAI,IAEjBC,EAAa,IAAI,IAEjBC,EAAa,IAAI","sourcesContent":["import type { User } from \"./index.js\";\nimport type {\n InternalNode,\n InternalFile,\n InternalNodeFull\n} from \"./client/types/index.js\";\n\nexport const filesCache = new Map<string, InternalFile>();\n\nexport const nodesCache = new Map<string, InternalNode | InternalNodeFull>();\n\nexport const usersCache = new Map<\n string,\n User | User<{ withPublicKey: true }>\n>();\n"]}
package/dist/cache.d.ts CHANGED
@@ -1,6 +1,24 @@
1
- import type { InternalNode, InternalFile, InternalNodeFull } from "./client/types/index.js";
2
- export declare const filesCache: Map<string, InternalFile>;
3
- export declare const nodesCache: Map<string, InternalNode | InternalNodeFull>;
4
- export declare const usersCache: Map<string, import("./BaseClient.js").UserBase | (import("./BaseClient.js").UserBase & {
1
+ import { U as UserBase } from './BaseClient-ca94a07f.js';
2
+ import { InternalFile } from './client/types/File.js';
3
+ import { InternalNode, InternalNodeFull } from './client/types/index.js';
4
+ import 'ky';
5
+ import './zeus/index.js';
6
+ import './zeus/const.js';
7
+ import './error.js';
8
+ import './crypto/file.js';
9
+ import './crypto/index.js';
10
+ import './client/types/UserAppSettings.js';
11
+ import './client/types/UserAppNotifications.js';
12
+ import 'jsonwebtoken';
13
+ import 'bson';
14
+ import 'ethers';
15
+ import './client/types/selectors.js';
16
+ import './client/types/Inputs.js';
17
+
18
+ declare const filesCache: Map<string, InternalFile>;
19
+ declare const nodesCache: Map<string, InternalNode | InternalNodeFull>;
20
+ declare const usersCache: Map<string, UserBase | (UserBase & {
5
21
  publicKey: string;
6
22
  })>;
23
+
24
+ export { filesCache, nodesCache, usersCache };
package/dist/cache.js CHANGED
@@ -1,4 +1,2 @@
1
- export const filesCache = new Map();
2
- export const nodesCache = new Map();
3
- export const usersCache = new Map();
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiTWFwIiwibm9kZXNDYWNoZSIsInVzZXJzQ2FjaGUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxOb2RlLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsTm9kZUZ1bGxcbn0gZnJvbSBcIi4vY2xpZW50L3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGVybmFsRmlsZT4oKTtcblxuZXhwb3J0IGNvbnN0IG5vZGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOb2RlIHwgSW50ZXJuYWxOb2RlRnVsbD4oKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzQ2FjaGUgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIFVzZXIgfCBVc2VyPHsgd2l0aFB1YmxpY0tleTogdHJ1ZSB9PlxuPigpO1xuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxJQUFJQyxHQUFHLEVBQXdCO0FBRXpELE9BQU8sTUFBTUMsVUFBVSxHQUFHLElBQUlELEdBQUcsRUFBMkM7QUFFNUUsT0FBTyxNQUFNRSxVQUFVLEdBQUcsSUFBSUYsR0FBRyxFQUc5QiJ9
1
+ const e=new Map,n=new Map,t=new Map;export{e as filesCache,n as nodesCache,t as usersCache};
2
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cache.ts"],"sourcesContent":["import type { User } from \"./index.js\";\nimport type {\n InternalNode,\n InternalFile,\n InternalNodeFull\n} from \"./client/types/index.js\";\n\nexport const filesCache = new Map<string, InternalFile>();\n\nexport const nodesCache = new Map<string, InternalNode | InternalNodeFull>();\n\nexport const usersCache = new Map<\n string,\n User | User<{ withPublicKey: true }>\n>();\n"],"mappings":"AAOO,MAAMA,EAAa,IAAI,IAEjBC,EAAa,IAAI,IAEjBC,EAAa,IAAI","names":["filesCache","nodesCache","usersCache"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _jsonwebtoken = require('jsonwebtoken');var _storagejs = require('./storage.js');class c{#e;constructor(e,t,r,s){this.jwt=e,this.jwtDecoded=_jsonwebtoken.decode.call(void 0, e),this.#e=s}get userId(){return _nullishCoalesce(this.jwtDecoded.sub, () => (""))}async getJwt(){const{getJwt:e}=await this.#e("query")({getJwt:[{includeEmail:!!this.jwtDecoded.email},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on JwtResponse":{__typename:!0,jwt:!0}}]});if(!e)return this.jwt;if(e.__typename==="ErrorAccessDenied")throw new Error(e.message);this.jwt=e.jwt,this.jwtDecoded=_jsonwebtoken.decode.call(void 0, e.jwt);const t=_storagejs.getStorage.call(void 0, !0),r=_storagejs.getStorage.call(void 0, !1),s=t.jwt.load(),i=r.jwt.load();return s&&t.jwt.save(e.jwt),i&&r.jwt.save(e.jwt),e.jwt}async updateNotifications(e){const{updateAppNotifications:t}=await this.#e("mutation",{scalars:{DateTime:{decode:r=>new Date(r),encode:r=>r.toISOString()}}})({updateAppNotifications:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on UpdateAppNotificationsResponse":{__typename:!0,updateAppNotifications:{enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}}]});return t?t.__typename==="ErrorAccessDenied"?t:t.updateAppNotifications?{__typename:"SuccessResponse",data:t.updateAppNotifications}:null:null}async notifications(){const{appNotifications:e}=await this.#e("query",{scalars:{DateTime:{decode:t=>new Date(t),encode:t=>t.toISOString()}}})({appNotifications:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserAppNotifications":{__typename:!0,enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}});return e?e.__typename==="ErrorAccessDenied"||e.__typename==="ErrorNotFound"?e:{__typename:"SuccessResponse",data:e}:null}async settings(){const{user:e}=await this.#e("query")({user:[{},{"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserResponse":{__typename:!0,user:{appSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}}]});return e?e.__typename==="ErrorNotFound"?e:_optionalChain([e, 'access', _ => _.user, 'optionalAccess', _2 => _2.appSettings])?{__typename:"SuccessResponse",data:e.user.appSettings}:null:null}async updateSettings(e){const{updateAppSettings:t}=await this.#e("mutation")({updateAppSettings:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on UpdateAppSettingsResponse":{__typename:!0,updateAppSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorBasic"?t:{__typename:"SuccessResponse",data:t.updateAppSettings}:null}}exports.SecrecyAppClient = c;
2
+ //# sourceMappingURL=SecrecyAppClient.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/SecrecyAppClient.ts"],"names":["decode","getStorage","SecrecyAppClient","#thunder","uaJwt","_client","_keys","thunder","getJwt","sessionStorage","localStorage","sessionJwt","localJwt","notifications","updateAppNotifications","e","appNotifications","user","settings","updateAppSettings"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type {\n SecrecyClient,\n SuccessResponse,\n UserAppNotifications,\n UserAppSettings\n} from \"../index.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from \"../error.js\";\nimport type { Thunder } from \"../zeus/index.js\";\nimport type { JwtPayload } from \"jsonwebtoken\";\nimport { decode } from \"jsonwebtoken\";\nimport { getStorage } from \"./storage.js\";\n\nexport class SecrecyAppClient {\n jwt: string;\n\n jwtDecoded: JwtPayload;\n\n // #client: SecrecyClient;\n\n // #keys: KeyPair;\n\n #thunder: ReturnType<typeof Thunder>;\n\n constructor(\n uaJwt: string,\n _client: SecrecyClient,\n _keys: KeyPair,\n thunder: ReturnType<typeof Thunder>\n ) {\n this.jwt = uaJwt;\n this.jwtDecoded = decode(uaJwt) as JwtPayload;\n // this.#client = client;\n // this.#keys = keys;\n this.#thunder = thunder;\n }\n\n get userId(): string {\n return this.jwtDecoded.sub ?? \"\";\n }\n\n async getJwt(): Promise<string> {\n // TODO useful?\n // if (this.jwtDecoded.exp && this.jwtDecoded.exp * 1000 < Date.now()) {\n // return this.jwt;\n // }\n\n const { getJwt } = await this.#thunder(\"query\")({\n getJwt: [\n {\n includeEmail: !!this.jwtDecoded.email\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on JwtResponse\": {\n __typename: true,\n jwt: true\n }\n }\n ]\n });\n\n if (!getJwt) {\n return this.jwt;\n }\n\n if (getJwt.__typename === \"ErrorAccessDenied\") {\n throw new Error(getJwt.message);\n }\n\n this.jwt = getJwt.jwt;\n this.jwtDecoded = decode(getJwt.jwt) as JwtPayload;\n\n const sessionStorage = getStorage(true);\n const localStorage = getStorage(false);\n\n const sessionJwt = sessionStorage.jwt.load();\n const localJwt = localStorage.jwt.load();\n\n if (sessionJwt) {\n sessionStorage.jwt.save(getJwt.jwt);\n }\n\n if (localJwt) {\n localStorage.jwt.save(getJwt.jwt);\n }\n\n return getJwt.jwt;\n }\n\n async updateNotifications(\n notifications: Partial<UserAppNotifications>\n ): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null> {\n const { updateAppNotifications } = await this.#thunder(\"mutation\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n updateAppNotifications: [\n notifications,\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on UpdateAppNotificationsResponse\": {\n __typename: true,\n updateAppNotifications: {\n enableAll: true,\n mail: true,\n cloud: true,\n disableAllUntil: true\n }\n }\n }\n ]\n });\n\n if (!updateAppNotifications) {\n return null;\n }\n\n if (updateAppNotifications.__typename === \"ErrorAccessDenied\") {\n return updateAppNotifications;\n }\n\n if (!updateAppNotifications.updateAppNotifications) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateAppNotifications.updateAppNotifications\n };\n }\n\n async notifications(): Promise<\n | SuccessResponse<UserAppNotifications>\n | ErrorAccessDenied\n | ErrorNotFound\n | null\n > {\n const { appNotifications } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n appNotifications: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserAppNotifications\": {\n __typename: true,\n enableAll: true,\n mail: true,\n cloud: true,\n disableAllUntil: true\n }\n }\n });\n\n if (!appNotifications) {\n return null;\n }\n\n if (appNotifications.__typename === \"ErrorAccessDenied\") {\n return appNotifications;\n }\n\n if (appNotifications.__typename === \"ErrorNotFound\") {\n return appNotifications;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: appNotifications\n };\n }\n\n async settings(): Promise<\n SuccessResponse<UserAppSettings> | ErrorNotFound | null\n > {\n const { user } = await this.#thunder(\"query\")({\n user: [\n {},\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n appSettings: {\n cloudNodeDaysForDelete: true,\n historyFileDaysForDelete: true,\n historyMaxFileCount: true\n }\n }\n }\n }\n ]\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (!user.user?.appSettings) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: user.user.appSettings\n };\n }\n\n async updateSettings(\n settings: Partial<UserAppSettings>\n ): Promise<\n SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null\n > {\n const { updateAppSettings } = await this.#thunder(\"mutation\")({\n updateAppSettings: [\n settings,\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on UpdateAppSettingsResponse\": {\n __typename: true,\n updateAppSettings: {\n cloudNodeDaysForDelete: true,\n historyFileDaysForDelete: true,\n historyMaxFileCount: true\n }\n }\n }\n ]\n });\n\n if (!updateAppSettings) {\n return null;\n }\n\n if (updateAppSettings.__typename === \"ErrorAccessDenied\") {\n return updateAppSettings;\n }\n\n if (updateAppSettings.__typename === \"ErrorBasic\") {\n return updateAppSettings;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateAppSettings.updateAppSettings\n };\n }\n}\n"]}
@@ -1,17 +1,16 @@
1
- import type { SecrecyClient, SuccessResponse, UserAppNotifications, UserAppSettings } from "../index.js";
2
- import type { KeyPair } from "../crypto/index.js";
3
- import type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from "../error.js";
4
- import type { Thunder } from "../zeus/index.js";
5
- import type { JwtPayload } from "jsonwebtoken";
6
- export declare class SecrecyAppClient {
7
- #private;
8
- jwt: string;
9
- jwtDecoded: JwtPayload;
10
- constructor(uaJwt: string, _client: SecrecyClient, _keys: KeyPair, thunder: ReturnType<typeof Thunder>);
11
- get userId(): string;
12
- getJwt(): Promise<string>;
13
- updateNotifications(notifications: Partial<UserAppNotifications>): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null>;
14
- notifications(): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | ErrorNotFound | null>;
15
- settings(): Promise<SuccessResponse<UserAppSettings> | ErrorNotFound | null>;
16
- updateSettings(settings: Partial<UserAppSettings>): Promise<SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null>;
17
- }
1
+ export { m as SecrecyAppClient } from '../BaseClient-ca94a07f.js';
2
+ import '../crypto/index.js';
3
+ import '../zeus/index.js';
4
+ import './types/UserAppSettings.js';
5
+ import './types/UserAppNotifications.js';
6
+ import '../error.js';
7
+ import 'jsonwebtoken';
8
+ import 'ky';
9
+ import '../crypto/file.js';
10
+ import './types/File.js';
11
+ import './types/selectors.js';
12
+ import '../zeus/const.js';
13
+ import './types/index.js';
14
+ import './types/Inputs.js';
15
+ import 'bson';
16
+ import 'ethers';