@secrecy/lib 1.0.0 → 1.1.0

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 (64) hide show
  1. package/LICENSE +1 -1
  2. package/dist/BaseClient.d.ts +29 -177
  3. package/dist/BaseClient.js +114 -732
  4. package/dist/PopupTools.d.ts +4 -4
  5. package/dist/PopupTools.js +24 -41
  6. package/dist/ZeusThunder.js +3 -17
  7. package/dist/cache.js +1 -1
  8. package/dist/client/SecrecyAppClient.d.ts +17 -0
  9. package/dist/client/SecrecyAppClient.js +226 -0
  10. package/dist/client/SecrecyCloudClient.d.ts +89 -0
  11. package/dist/client/SecrecyCloudClient.js +1405 -0
  12. package/dist/client/SecrecyDbClient.d.ts +21 -0
  13. package/dist/client/SecrecyDbClient.js +177 -0
  14. package/dist/client/SecrecyMailClient.d.ts +42 -0
  15. package/dist/client/SecrecyMailClient.js +1022 -0
  16. package/dist/client/SecrecyPayClient.d.ts +28 -0
  17. package/dist/client/SecrecyPayClient.js +68 -0
  18. package/dist/client/SecrecyWalletClient.d.ts +30 -0
  19. package/dist/client/SecrecyWalletClient.js +73 -0
  20. package/dist/client/convert/file.js +2 -3
  21. package/dist/client/convert/mail.d.ts +2 -2
  22. package/dist/client/convert/mail.js +7 -11
  23. package/dist/client/convert/node.js +19 -33
  24. package/dist/client/helpers.d.ts +9 -4
  25. package/dist/client/helpers.js +30 -25
  26. package/dist/client/index.d.ts +15 -145
  27. package/dist/client/index.js +16 -3176
  28. package/dist/client/storage.js +4 -4
  29. package/dist/client/types/File.d.ts +3 -3
  30. package/dist/client/types/Inputs.d.ts +4 -4
  31. package/dist/client/types/Node.d.ts +21 -14
  32. package/dist/client/types/Node.js +1 -1
  33. package/dist/client/types/UserAppNotifications.d.ts +1 -1
  34. package/dist/client/types/UserAppSettings.d.ts +2 -3
  35. package/dist/client/types/UserAppSettings.js +1 -1
  36. package/dist/client/types/index.d.ts +23 -51
  37. package/dist/client/types/index.js +1 -1
  38. package/dist/client/types/selectors.d.ts +51 -127
  39. package/dist/client/types/selectors.js +21 -11
  40. package/dist/crypto/file.d.ts +2 -2
  41. package/dist/crypto/file.js +19 -34
  42. package/dist/crypto/index.js +1 -3
  43. package/dist/error.d.ts +5 -2
  44. package/dist/error.js +1 -1
  45. package/dist/index.d.ts +7 -5
  46. package/dist/index.js +4 -4
  47. package/dist/minify/index.js +2 -7
  48. package/dist/minify/lz4.js +79 -167
  49. package/dist/sodium.js +1 -1
  50. package/dist/utils/store-buddy.d.ts +1 -1
  51. package/dist/utils/store-buddy.js +1 -8
  52. package/dist/utils/time.js +1 -3
  53. package/dist/utils/utils.js +1 -11
  54. package/dist/worker/md5.js +1 -2
  55. package/dist/worker/sodium.js +16 -18
  56. package/dist/worker/workerCodes.js +255 -3
  57. package/dist/zeus/const.js +587 -31
  58. package/dist/zeus/index.d.ts +5014 -631
  59. package/dist/zeus/index.js +213 -255
  60. package/package.json +64 -61
  61. package/dist/client/admin/index.d.ts +0 -11
  62. package/dist/client/admin/index.js +0 -110
  63. package/dist/worker/__mock__/sodium.worker.d.ts +0 -19
  64. package/dist/worker/__mock__/sodium.worker.js +0 -49
@@ -1,5 +1,5 @@
1
- declare type YesNo = "yes" | "no";
2
- declare type Options = {
1
+ type YesNo = "yes" | "no";
2
+ type Options = {
3
3
  width?: number;
4
4
  height?: number;
5
5
  menubar: YesNo;
@@ -10,8 +10,8 @@ declare type Options = {
10
10
  left?: number;
11
11
  top?: number;
12
12
  };
13
- declare type Callback = (err?: Error, data?: unknown) => void;
13
+ type Callback = (err?: Error, data?: unknown) => void;
14
14
  export declare function popup(url: string, name: string, options: Partial<Options>, callback: Callback): Window | null;
15
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>(data: T): string;
16
+ export declare function popupResponse<T>(id: string, data: T): string;
17
17
  export {};
@@ -1,12 +1,10 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
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; }
4
-
5
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; }
6
-
7
4
  /**
8
5
  * TS Rewrite of https://github.com/enhancv/popup-tools
9
6
  */
7
+
10
8
  const defaultOptions = {
11
9
  width: 700,
12
10
  height: 520,
@@ -17,29 +15,29 @@ const defaultOptions = {
17
15
  centered: true
18
16
  };
19
17
  let popupCount = 1;
18
+
20
19
  /**
21
20
  * Return options converted to a string
22
21
  *
23
22
  * @param {Object} options
24
23
  * @return {String}
25
24
  */
26
-
27
25
  function optionsToString(options) {
28
26
  return Object.entries(options).map(_ref => {
29
27
  let [k, v] = _ref;
30
- return k + "=" + v;
28
+ return `${k}=${v}`;
31
29
  }).join(",");
32
30
  }
31
+
33
32
  /**
34
33
  * Get a unique name on each call
35
34
  * @return {String}
36
35
  */
37
-
38
-
39
36
  function defaultPopupName() {
40
37
  popupCount += 1;
41
- return "Popup " + popupCount;
38
+ return `Popup ${popupCount}`;
42
39
  }
40
+
43
41
  /**
44
42
  * Convert "centered: true" key into concrete left and top arguments
45
43
  * Both can be overwritten
@@ -47,26 +45,21 @@ function defaultPopupName() {
47
45
  * @param {Object} options
48
46
  * @return {Object}
49
47
  */
50
-
51
-
52
48
  function optionsResolveCentered(options) {
53
49
  if (!options.width || !options.height) {
54
50
  throw new Error("Should have width and height");
55
51
  }
56
-
57
52
  const result = _objectSpread({}, options);
58
-
59
53
  const width = window.outerWidth - options.width;
60
54
  const height = window.outerHeight - options.height;
61
-
62
55
  if (options.centered) {
63
56
  result.left = options.left || Math.round(window.screenX + width / 2);
64
57
  result.top = options.top || Math.round(window.screenY + height / 2.5);
65
58
  delete result.centered;
66
59
  }
67
-
68
60
  return result;
69
61
  }
62
+
70
63
  /**
71
64
  * Create a form element, add hidden inputs for all the post data
72
65
  * and post it into a newly opened popup
@@ -77,11 +70,7 @@ function optionsResolveCentered(options) {
77
70
  * @param {Object} options
78
71
  * @return {Object}
79
72
  */
80
-
81
-
82
73
  function openPopupWithPost(url, postData, name, options) {
83
- var _win;
84
-
85
74
  const form = document.createElement("form");
86
75
  let win = null;
87
76
  form.setAttribute("method", "post");
@@ -96,11 +85,12 @@ function openPopupWithPost(url, postData, name, options) {
96
85
  });
97
86
  document.body.appendChild(form);
98
87
  win = window.open("/", name, options);
99
- (_win = win) == null ? void 0 : _win.document.write("Loading...");
88
+ win?.document.write("Loading...");
100
89
  form.submit();
101
90
  document.body.removeChild(form);
102
91
  return win;
103
92
  }
93
+
104
94
  /**
105
95
  * Open a popup using the first argument. Wait for it to close.
106
96
  * Returns the window object
@@ -112,38 +102,31 @@ function openPopupWithPost(url, postData, name, options) {
112
102
  * @param {Function}
113
103
  * @return {Object}
114
104
  */
115
-
116
-
117
105
  function popupExecute(execute, url, name, options, callback) {
118
106
  const popupName = name || defaultPopupName();
119
107
  const popupOptions = optionsResolveCentered(Object.assign({}, defaultOptions, options));
120
-
121
- const popupCallback = callback || function noop() {//
108
+ const popupCallback = callback || function noop() {
109
+ //
122
110
  };
123
-
124
111
  const optionsString = optionsToString(popupOptions);
125
112
  const win = execute(url, popupName, optionsString);
126
113
  let isMessageSent = false;
127
114
  let interval;
128
-
129
115
  function popupCallbackOnce(err, data) {
130
116
  if (!isMessageSent) {
131
117
  isMessageSent = true;
132
118
  popupCallback(err, data);
133
119
  }
134
120
  }
135
-
136
121
  function onMessage(message) {
137
122
  const data = message ? message.data : undefined;
138
-
139
- if (data) {
140
- popupCallbackOnce(undefined, data);
123
+ if (data && data.id === popupName) {
124
+ popupCallbackOnce(undefined, data.data);
141
125
  window.removeEventListener("message", onMessage);
126
+ clearInterval(interval);
142
127
  }
143
128
  }
144
-
145
129
  window.addEventListener("message", onMessage, false);
146
-
147
130
  if (win) {
148
131
  interval = window.setInterval(function closePopupCallback() {
149
132
  if (win === null || win.closed) {
@@ -156,9 +139,9 @@ function popupExecute(execute, url, name, options, callback) {
156
139
  } else {
157
140
  popupCallbackOnce(new Error("Popup blocked"));
158
141
  }
159
-
160
142
  return win;
161
143
  }
144
+
162
145
  /**
163
146
  * Open a popup using the first argument.
164
147
  * Wait for it to close and call the callback.
@@ -171,11 +154,10 @@ function popupExecute(execute, url, name, options, callback) {
171
154
  * @param {Function} callback
172
155
  * @return {Object}
173
156
  */
174
-
175
-
176
157
  export function popup(url, name, options, callback) {
177
158
  return popupExecute(window.open, url, name, options, callback);
178
159
  }
160
+
179
161
  /**
180
162
  * Open a popup using the first argument.
181
163
  * Post the data into the open popup.
@@ -190,23 +172,24 @@ export function popup(url, name, options, callback) {
190
172
  * @param {Function} callback
191
173
  * @return {Object}
192
174
  */
193
-
194
175
  export function popupWithPost(url, postData, name, options, callback) {
195
176
  function openWithPostData(popupUrl, popupName, optionsString) {
196
177
  return openPopupWithPost(popupUrl, postData, popupName, optionsString);
197
178
  }
198
-
199
179
  return popupExecute(openWithPostData, url, name, options, callback);
200
180
  }
181
+
201
182
  /**
202
183
  * Return html that when executed, will trigger the popup to callback with a response
203
184
  *
204
185
  * @param {Object}
205
186
  * @return {String}
206
187
  */
207
-
208
- export function popupResponse(data) {
209
- const jsonData = JSON.stringify(data);
210
- return "<script>window.opener.postMessage(" + jsonData + ", \"*\");setTimeout(function() { window.close(); }, 50);</script>";
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>`;
211
194
  }
212
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0T3B0aW9ucyIsIndpZHRoIiwiaGVpZ2h0IiwibWVudWJhciIsInJlc2l6YWJsZSIsImxvY2F0aW9uIiwic2Nyb2xsYmFycyIsImNlbnRlcmVkIiwicG9wdXBDb3VudCIsIm9wdGlvbnNUb1N0cmluZyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiayIsInYiLCJqb2luIiwiZGVmYXVsdFBvcHVwTmFtZSIsIm9wdGlvbnNSZXNvbHZlQ2VudGVyZWQiLCJFcnJvciIsInJlc3VsdCIsIndpbmRvdyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImxlZnQiLCJNYXRoIiwicm91bmQiLCJzY3JlZW5YIiwidG9wIiwic2NyZWVuWSIsIm9wZW5Qb3B1cFdpdGhQb3N0IiwidXJsIiwicG9zdERhdGEiLCJuYW1lIiwiZm9ybSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbiIsInNldEF0dHJpYnV0ZSIsImtleXMiLCJmb3JFYWNoIiwiYWRkRm9ybUl0ZW0iLCJrZXkiLCJpbnB1dCIsInR5cGUiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwiYm9keSIsIm9wZW4iLCJ3cml0ZSIsInN1Ym1pdCIsInJlbW92ZUNoaWxkIiwicG9wdXBFeGVjdXRlIiwiZXhlY3V0ZSIsImNhbGxiYWNrIiwicG9wdXBOYW1lIiwicG9wdXBPcHRpb25zIiwiYXNzaWduIiwicG9wdXBDYWxsYmFjayIsIm5vb3AiLCJvcHRpb25zU3RyaW5nIiwiaXNNZXNzYWdlU2VudCIsImludGVydmFsIiwicG9wdXBDYWxsYmFja09uY2UiLCJlcnIiLCJkYXRhIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0SW50ZXJ2YWwiLCJjbG9zZVBvcHVwQ2FsbGJhY2siLCJjbG9zZWQiLCJzZXRUaW1lb3V0IiwiZGVsYXlXaW5kb3dDbG9zaW5nIiwiY2xlYXJJbnRlcnZhbCIsInBvcHVwIiwicG9wdXBXaXRoUG9zdCIsIm9wZW5XaXRoUG9zdERhdGEiLCJwb3B1cFVybCIsInBvcHVwUmVzcG9uc2UiLCJqc29uRGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiXSwic291cmNlcyI6WyIuLi9zcmMvUG9wdXBUb29scy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRTIFJld3JpdGUgb2YgaHR0cHM6Ly9naXRodWIuY29tL2VuaGFuY3YvcG9wdXAtdG9vbHNcbiAqL1xuXG50eXBlIFllc05vID0gXCJ5ZXNcIiB8IFwibm9cIjtcbnR5cGUgT3B0aW9ucyA9IHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgbWVudWJhcjogWWVzTm87XG4gIHJlc2l6YWJsZTogWWVzTm87XG4gIGxvY2F0aW9uOiBZZXNObztcbiAgc2Nyb2xsYmFyczogWWVzTm87XG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gIHdpZHRoOiA3MDAsXG4gIGhlaWdodDogNTIwLFxuICBtZW51YmFyOiBcIm5vXCIsXG4gIHJlc2l6YWJsZTogXCJ5ZXNcIixcbiAgbG9jYXRpb246IFwieWVzXCIsXG4gIHNjcm9sbGJhcnM6IFwibm9cIixcbiAgY2VudGVyZWQ6IHRydWVcbn07XG5cbnR5cGUgQ2FsbGJhY2sgPSAoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuXG50eXBlIFdpbmRvd09wZW4gPSAoXG4gIHBvcHVwVXJsOiBzdHJpbmcsXG4gIHBvcHVwTmFtZTogc3RyaW5nLFxuICBvcHRpb25zU3RyaW5nOiBzdHJpbmdcbikgPT4gV2luZG93IHwgbnVsbDtcblxubGV0IHBvcHVwQ291bnQgPSAxO1xuXG4vKipcbiAqIFJldHVybiBvcHRpb25zIGNvbnZlcnRlZCB0byBhIHN0cmluZ1xuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBvcHRpb25zVG9TdHJpbmc8VCBleHRlbmRzIE9wdGlvbnM+KG9wdGlvbnM6IFQpOiBzdHJpbmcge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob3B0aW9ucylcbiAgICAubWFwKChbaywgdl0pID0+IGAke2t9PSR7dn1gKVxuICAgIC5qb2luKFwiLFwiKTtcbn1cblxuLyoqXG4gKiBHZXQgYSB1bmlxdWUgbmFtZSBvbiBlYWNoIGNhbGxcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFBvcHVwTmFtZSgpOiBzdHJpbmcge1xuICBwb3B1cENvdW50ICs9IDE7XG4gIHJldHVybiBgUG9wdXAgJHtwb3B1cENvdW50fWA7XG59XG5cbi8qKlxuICogQ29udmVydCBcImNlbnRlcmVkOiB0cnVlXCIga2V5IGludG8gY29uY3JldGUgbGVmdCBhbmQgdG9wIGFyZ3VtZW50c1xuICogQm90aCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gIGlmICghb3B0aW9ucy53aWR0aCB8fCAhb3B0aW9ucy5oZWlnaHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgaGF2ZSB3aWR0aCBhbmQgaGVpZ2h0XCIpO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4ub3B0aW9ucyB9O1xuICBjb25zdCB3aWR0aCA9IHdpbmRvdy5vdXRlcldpZHRoIC0gb3B0aW9ucy53aWR0aDtcbiAgY29uc3QgaGVpZ2h0ID0gd2luZG93Lm91dGVySGVpZ2h0IC0gb3B0aW9ucy5oZWlnaHQ7XG5cbiAgaWYgKG9wdGlvbnMuY2VudGVyZWQpIHtcbiAgICByZXN1bHQubGVmdCA9IG9wdGlvbnMubGVmdCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5YICsgd2lkdGggLyAyKTtcbiAgICByZXN1bHQudG9wID0gb3B0aW9ucy50b3AgfHwgTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIGhlaWdodCAvIDIuNSk7XG4gICAgZGVsZXRlIHJlc3VsdC5jZW50ZXJlZDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZvcm0gZWxlbWVudCwgYWRkIGhpZGRlbiBpbnB1dHMgZm9yIGFsbCB0aGUgcG9zdCBkYXRhXG4gKiBhbmQgcG9zdCBpdCBpbnRvIGEgbmV3bHkgb3BlbmVkIHBvcHVwXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIG9wZW5Qb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogc3RyaW5nXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJmb3JtXCIpO1xuICBsZXQgd2luOiBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBmb3JtLnNldEF0dHJpYnV0ZShcIm1ldGhvZFwiLCBcInBvc3RcIik7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwiYWN0aW9uXCIsIHVybCk7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIG5hbWUpO1xuXG4gIE9iamVjdC5rZXlzKHBvc3REYXRhKS5mb3JFYWNoKGZ1bmN0aW9uIGFkZEZvcm1JdGVtKGtleSkge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xuICAgIGlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgIGlucHV0Lm5hbWUgPSBrZXk7XG4gICAgaW5wdXQudmFsdWUgPSBwb3N0RGF0YVtrZXldO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQpO1xuICB9KTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xuXG4gIHdpbiA9IHdpbmRvdy5vcGVuKFwiL1wiLCBuYW1lLCBvcHRpb25zKTtcbiAgd2luPy5kb2N1bWVudC53cml0ZShcIkxvYWRpbmcuLi5cIik7XG5cbiAgZm9ybS5zdWJtaXQoKTtcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTtcblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuIFdhaXQgZm9yIGl0IHRvIGNsb3NlLlxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBvcHVwRXhlY3V0ZShcbiAgZXhlY3V0ZTogV2luZG93T3BlbixcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgcG9wdXBOYW1lID0gbmFtZSB8fCBkZWZhdWx0UG9wdXBOYW1lKCk7XG4gIGNvbnN0IHBvcHVwT3B0aW9ucyA9IG9wdGlvbnNSZXNvbHZlQ2VudGVyZWQoXG4gICAgT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpXG4gICk7XG4gIGNvbnN0IHBvcHVwQ2FsbGJhY2sgPVxuICAgIGNhbGxiYWNrIHx8XG4gICAgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgICAgIC8vXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9uc1N0cmluZyA9IG9wdGlvbnNUb1N0cmluZyhwb3B1cE9wdGlvbnMpO1xuICBjb25zdCB3aW4gPSBleGVjdXRlKHVybCwgcG9wdXBOYW1lLCBvcHRpb25zU3RyaW5nKTtcbiAgbGV0IGlzTWVzc2FnZVNlbnQgPSBmYWxzZTtcbiAgbGV0IGludGVydmFsOiBudW1iZXI7XG5cbiAgZnVuY3Rpb24gcG9wdXBDYWxsYmFja09uY2UoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCFpc01lc3NhZ2VTZW50KSB7XG4gICAgICBpc01lc3NhZ2VTZW50ID0gdHJ1ZTtcbiAgICAgIHBvcHVwQ2FsbGJhY2soZXJyLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lc3NhZ2UobWVzc2FnZT86IE1lc3NhZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBtZXNzYWdlID8gbWVzc2FnZS5kYXRhIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlLCBmYWxzZSk7XG5cbiAgaWYgKHdpbikge1xuICAgIGludGVydmFsID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uIGNsb3NlUG9wdXBDYWxsYmFjaygpIHtcbiAgICAgIGlmICh3aW4gPT09IG51bGwgfHwgd2luLmNsb3NlZCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGRlbGF5V2luZG93Q2xvc2luZygpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICBwb3B1cENhbGxiYWNrT25jZShuZXcgRXJyb3IoXCJQb3B1cCBjbG9zZWRcIikpO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH0gZWxzZSB7XG4gICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgYmxvY2tlZFwiKSk7XG4gIH1cblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cChcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZSh3aW5kb3cub3BlbiwgdXJsLCBuYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAqIFBvc3QgdGhlIGRhdGEgaW50byB0aGUgb3BlbiBwb3B1cC5cbiAqIFdhaXQgZm9yIGl0IHRvIGNsb3NlIGFuZCBjYWxsIHRoZSBjYWxsYmFjay5cbiAqIFNldCB0aGUgb3B0aW9ucyBzdHJpbmcgdXNpbmcgdGhlIG9wdGlvbnMgb2JqZWN0XG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBmdW5jdGlvbiBvcGVuV2l0aFBvc3REYXRhKFxuICAgIHBvcHVwVXJsOiBzdHJpbmcsXG4gICAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uc1N0cmluZzogc3RyaW5nXG4gICk6IFdpbmRvdyB8IG51bGwge1xuICAgIHJldHVybiBvcGVuUG9wdXBXaXRoUG9zdChwb3B1cFVybCwgcG9zdERhdGEsIHBvcHVwTmFtZSwgb3B0aW9uc1N0cmluZyk7XG4gIH1cblxuICByZXR1cm4gcG9wdXBFeGVjdXRlKG9wZW5XaXRoUG9zdERhdGEsIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIFJldHVybiBodG1sIHRoYXQgd2hlbiBleGVjdXRlZCwgd2lsbCB0cmlnZ2VyIHRoZSBwb3B1cCB0byBjYWxsYmFjayB3aXRoIGEgcmVzcG9uc2VcbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFJlc3BvbnNlPFQ+KGRhdGE6IFQpOiBzdHJpbmcge1xuICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFlQSxNQUFNQSxjQUF1QixHQUFHO0VBQzlCQyxLQUFLLEVBQUUsR0FEdUI7RUFFOUJDLE1BQU0sRUFBRSxHQUZzQjtFQUc5QkMsT0FBTyxFQUFFLElBSHFCO0VBSTlCQyxTQUFTLEVBQUUsS0FKbUI7RUFLOUJDLFFBQVEsRUFBRSxLQUxvQjtFQU05QkMsVUFBVSxFQUFFLElBTmtCO0VBTzlCQyxRQUFRLEVBQUU7QUFQb0IsQ0FBaEM7QUFrQkEsSUFBSUMsVUFBVSxHQUFHLENBQWpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLFNBQVNDLGVBQVQsQ0FBNENDLE9BQTVDLEVBQWdFO0VBQzlELE9BQU9DLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlRixPQUFmLEVBQ0pHLEdBREksQ0FDQTtJQUFBLElBQUMsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLENBQUQ7SUFBQSxPQUFlRCxDQUFmLFNBQW9CQyxDQUFwQjtFQUFBLENBREEsRUFFSkMsSUFGSSxDQUVDLEdBRkQsQ0FBUDtBQUdEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNDLGdCQUFULEdBQW9DO0VBQ2xDVCxVQUFVLElBQUksQ0FBZDtFQUNBLGtCQUFnQkEsVUFBaEI7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFTVSxzQkFBVCxDQUFnQ1IsT0FBaEMsRUFBMkQ7RUFDekQsSUFBSSxDQUFDQSxPQUFPLENBQUNULEtBQVQsSUFBa0IsQ0FBQ1MsT0FBTyxDQUFDUixNQUEvQixFQUF1QztJQUNyQyxNQUFNLElBQUlpQixLQUFKLENBQVUsOEJBQVYsQ0FBTjtFQUNEOztFQUNELE1BQU1DLE1BQU0scUJB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
195
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0T3B0aW9ucyIsIndpZHRoIiwiaGVpZ2h0IiwibWVudWJhciIsInJlc2l6YWJsZSIsImxvY2F0aW9uIiwic2Nyb2xsYmFycyIsImNlbnRlcmVkIiwicG9wdXBDb3VudCIsIm9wdGlvbnNUb1N0cmluZyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiayIsInYiLCJqb2luIiwiZGVmYXVsdFBvcHVwTmFtZSIsIm9wdGlvbnNSZXNvbHZlQ2VudGVyZWQiLCJFcnJvciIsInJlc3VsdCIsIndpbmRvdyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImxlZnQiLCJNYXRoIiwicm91bmQiLCJzY3JlZW5YIiwidG9wIiwic2NyZWVuWSIsIm9wZW5Qb3B1cFdpdGhQb3N0IiwidXJsIiwicG9zdERhdGEiLCJuYW1lIiwiZm9ybSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbiIsInNldEF0dHJpYnV0ZSIsImtleXMiLCJmb3JFYWNoIiwiYWRkRm9ybUl0ZW0iLCJrZXkiLCJpbnB1dCIsInR5cGUiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwiYm9keSIsIm9wZW4iLCJ3cml0ZSIsInN1Ym1pdCIsInJlbW92ZUNoaWxkIiwicG9wdXBFeGVjdXRlIiwiZXhlY3V0ZSIsImNhbGxiYWNrIiwicG9wdXBOYW1lIiwicG9wdXBPcHRpb25zIiwiYXNzaWduIiwicG9wdXBDYWxsYmFjayIsIm5vb3AiLCJvcHRpb25zU3RyaW5nIiwiaXNNZXNzYWdlU2VudCIsImludGVydmFsIiwicG9wdXBDYWxsYmFja09uY2UiLCJlcnIiLCJkYXRhIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImlkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFySW50ZXJ2YWwiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0SW50ZXJ2YWwiLCJjbG9zZVBvcHVwQ2FsbGJhY2siLCJjbG9zZWQiLCJzZXRUaW1lb3V0IiwiZGVsYXlXaW5kb3dDbG9zaW5nIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVFMgUmV3cml0ZSBvZiBodHRwczovL2dpdGh1Yi5jb20vZW5oYW5jdi9wb3B1cC10b29sc1xuICovXG5cbnR5cGUgWWVzTm8gPSBcInllc1wiIHwgXCJub1wiO1xudHlwZSBPcHRpb25zID0ge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBtZW51YmFyOiBZZXNObztcbiAgcmVzaXphYmxlOiBZZXNObztcbiAgbG9jYXRpb246IFllc05vO1xuICBzY3JvbGxiYXJzOiBZZXNObztcbiAgY2VudGVyZWQ/OiBib29sZWFuO1xuICBsZWZ0PzogbnVtYmVyO1xuICB0b3A/OiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogT3B0aW9ucyA9IHtcbiAgd2lkdGg6IDcwMCxcbiAgaGVpZ2h0OiA1MjAsXG4gIG1lbnViYXI6IFwibm9cIixcbiAgcmVzaXphYmxlOiBcInllc1wiLFxuICBsb2NhdGlvbjogXCJ5ZXNcIixcbiAgc2Nyb2xsYmFyczogXCJub1wiLFxuICBjZW50ZXJlZDogdHJ1ZVxufTtcblxudHlwZSBDYWxsYmFjayA9IChlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pID0+IHZvaWQ7XG5cbnR5cGUgV2luZG93T3BlbiA9IChcbiAgcG9wdXBVcmw6IHN0cmluZyxcbiAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuKSA9PiBXaW5kb3cgfCBudWxsO1xuXG5sZXQgcG9wdXBDb3VudCA9IDE7XG5cbi8qKlxuICogUmV0dXJuIG9wdGlvbnMgY29udmVydGVkIHRvIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG9wdGlvbnNUb1N0cmluZzxUIGV4dGVuZHMgT3B0aW9ucz4ob3B0aW9uczogVCk6IHN0cmluZyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvcHRpb25zKVxuICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7a309JHt2fWApXG4gICAgLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIEdldCBhIHVuaXF1ZSBuYW1lIG9uIGVhY2ggY2FsbFxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBkZWZhdWx0UG9wdXBOYW1lKCk6IHN0cmluZyB7XG4gIHBvcHVwQ291bnQgKz0gMTtcbiAgcmV0dXJuIGBQb3B1cCAke3BvcHVwQ291bnR9YDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IFwiY2VudGVyZWQ6IHRydWVcIiBrZXkgaW50byBjb25jcmV0ZSBsZWZ0IGFuZCB0b3AgYXJndW1lbnRzXG4gKiBCb3RoIGNhbiBiZSBvdmVyd3JpdHRlblxuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5mdW5jdGlvbiBvcHRpb25zUmVzb2x2ZUNlbnRlcmVkKG9wdGlvbnM6IE9wdGlvbnMpOiBPcHRpb25zIHtcbiAgaWYgKCFvcHRpb25zLndpZHRoIHx8ICFvcHRpb25zLmhlaWdodCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBoYXZlIHdpZHRoIGFuZCBoZWlnaHRcIik7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0geyAuLi5vcHRpb25zIH07XG4gIGNvbnN0IHdpZHRoID0gd2luZG93Lm91dGVyV2lkdGggLSBvcHRpb25zLndpZHRoO1xuICBjb25zdCBoZWlnaHQgPSB3aW5kb3cub3V0ZXJIZWlnaHQgLSBvcHRpb25zLmhlaWdodDtcblxuICBpZiAob3B0aW9ucy5jZW50ZXJlZCkge1xuICAgIHJlc3VsdC5sZWZ0ID0gb3B0aW9ucy5sZWZ0IHx8IE1hdGgucm91bmQod2luZG93LnNjcmVlblggKyB3aWR0aCAvIDIpO1xuICAgIHJlc3VsdC50b3AgPSBvcHRpb25zLnRvcCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5ZICsgaGVpZ2h0IC8gMi41KTtcbiAgICBkZWxldGUgcmVzdWx0LmNlbnRlcmVkO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZm9ybSBlbGVtZW50LCBhZGQgaGlkZGVuIGlucHV0cyBmb3IgYWxsIHRoZSBwb3N0IGRhdGFcbiAqIGFuZCBwb3N0IGl0IGludG8gYSBuZXdseSBvcGVuZWQgcG9wdXBcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7T2JqZWN0fSBwb3N0RGF0YVxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3BlblBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBzdHJpbmdcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImZvcm1cIik7XG4gIGxldCB3aW46IFdpbmRvdyB8IG51bGwgPSBudWxsO1xuXG4gIGZvcm0uc2V0QXR0cmlidXRlKFwibWV0aG9kXCIsIFwicG9zdFwiKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJhY3Rpb25cIiwgdXJsKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgbmFtZSk7XG5cbiAgT2JqZWN0LmtleXMocG9zdERhdGEpLmZvckVhY2goZnVuY3Rpb24gYWRkRm9ybUl0ZW0oa2V5KSB7XG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG4gICAgaW5wdXQubmFtZSA9IGtleTtcbiAgICBpbnB1dC52YWx1ZSA9IHBvc3REYXRhW2tleV07XG4gICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7XG4gIH0pO1xuXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7XG5cbiAgd2luID0gd2luZG93Lm9wZW4oXCIvXCIsIG5hbWUsIG9wdGlvbnMpO1xuICB3aW4/LmRvY3VtZW50LndyaXRlKFwiTG9hZGluZy4uLlwiKTtcblxuICBmb3JtLnN1Ym1pdCgpO1xuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZvcm0pO1xuXG4gIHJldHVybiB3aW47XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC4gV2FpdCBmb3IgaXQgdG8gY2xvc2UuXG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcGFyYW0gIHtGdW5jdGlvbn1cbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gcG9wdXBFeGVjdXRlKFxuICBleGVjdXRlOiBXaW5kb3dPcGVuLFxuICB1cmw6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBwb3B1cE5hbWUgPSBuYW1lIHx8IGRlZmF1bHRQb3B1cE5hbWUoKTtcbiAgY29uc3QgcG9wdXBPcHRpb25zID0gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChcbiAgICBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgb3B0aW9ucylcbiAgKTtcbiAgY29uc3QgcG9wdXBDYWxsYmFjayA9XG4gICAgY2FsbGJhY2sgfHxcbiAgICBmdW5jdGlvbiBub29wKCk6IHZvaWQge1xuICAgICAgLy9cbiAgICB9O1xuICBjb25zdCBvcHRpb25zU3RyaW5nID0gb3B0aW9uc1RvU3RyaW5nKHBvcHVwT3B0aW9ucyk7XG4gIGNvbnN0IHdpbiA9IGV4ZWN1dGUodXJsLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICBsZXQgaXNNZXNzYWdlU2VudCA9IGZhbHNlO1xuICBsZXQgaW50ZXJ2YWw6IG51bWJlcjtcblxuICBmdW5jdGlvbiBwb3B1cENhbGxiYWNrT25jZShlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAoIWlzTWVzc2FnZVNlbnQpIHtcbiAgICAgIGlzTWVzc2FnZVNlbnQgPSB0cnVlO1xuICAgICAgcG9wdXBDYWxsYmFjayhlcnIsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG9uTWVzc2FnZShtZXNzYWdlPzogTWVzc2FnZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IG1lc3NhZ2UgPyBtZXNzYWdlLmRhdGEgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZGF0YSAmJiBkYXRhLmlkID09PSBwb3B1cE5hbWUpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YS5kYXRhKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBvbk1lc3NhZ2UpO1xuICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgfVxuICB9XG5cbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIG9uTWVzc2FnZSwgZmFsc2UpO1xuXG4gIGlmICh3aW4pIHtcbiAgICBpbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbiBjbG9zZVBvcHVwQ2FsbGJhY2soKSB7XG4gICAgICBpZiAod2luID09PSBudWxsIHx8IHdpbi5jbG9zZWQpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBkZWxheVdpbmRvd0Nsb3NpbmcoKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgY2xvc2VkXCIpKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICB9LCAxMDApO1xuICB9IGVsc2Uge1xuICAgIHBvcHVwQ2FsbGJhY2tPbmNlKG5ldyBFcnJvcihcIlBvcHVwIGJsb2NrZWRcIikpO1xuICB9XG5cbiAgcmV0dXJuIHdpbjtcbn1cblxuLyoqXG4gKiBPcGVuIGEgcG9wdXAgdXNpbmcgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICogV2FpdCBmb3IgaXQgdG8gY2xvc2UgYW5kIGNhbGwgdGhlIGNhbGxiYWNrLlxuICogU2V0IHRoZSBvcHRpb25zIHN0cmluZyB1c2luZyB0aGUgb3B0aW9ucyBvYmplY3RcbiAqIFJldHVybnMgdGhlIHdpbmRvdyBvYmplY3RcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXAoXG4gIHVybDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IFBhcnRpYWw8T3B0aW9ucz4sXG4gIGNhbGxiYWNrOiBDYWxsYmFja1xuKTogV2luZG93IHwgbnVsbCB7XG4gIHJldHVybiBwb3B1cEV4ZWN1dGUod2luZG93Lm9wZW4sIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBQb3N0IHRoZSBkYXRhIGludG8gdGhlIG9wZW4gcG9wdXAuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtPYmplY3R9IHBvc3REYXRhXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgZnVuY3Rpb24gb3BlbldpdGhQb3N0RGF0YShcbiAgICBwb3B1cFVybDogc3RyaW5nLFxuICAgIHBvcHVwTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuICApOiBXaW5kb3cgfCBudWxsIHtcbiAgICByZXR1cm4gb3BlblBvcHVwV2l0aFBvc3QocG9wdXBVcmwsIHBvc3REYXRhLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICB9XG5cbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZShvcGVuV2l0aFBvc3REYXRhLCB1cmwsIG5hbWUsIG9wdGlvbnMsIGNhbGxiYWNrKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gaHRtbCB0aGF0IHdoZW4gZXhlY3V0ZWQsIHdpbGwgdHJpZ2dlciB0aGUgcG9wdXAgdG8gY2FsbGJhY2sgd2l0aCBhIHJlc3BvbnNlXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXBSZXNwb25zZTxUPihpZDogc3RyaW5nLCBkYXRhOiBUKTogc3RyaW5nIHtcbiAgY29uc3QganNvbkRhdGEgPSBKU09OLnN0cmluZ2lmeSh7IGlkLCBkYXRhIH0pO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBO0FBQ0E7O0FBZUEsTUFBTUEsY0FBdUIsR0FBRztFQUM5QkMsS0FBSyxFQUFFLEdBQUc7RUFDVkMsTUFBTSxFQUFFLEdBQUc7RUFDWEMsT0FBTyxFQUFFLElBQUk7RUFDYkMsU0FBUyxFQUFFLEtBQUs7RUFDaEJDLFFBQVEsRUFBRSxLQUFLO0VBQ2ZDLFVBQVUsRUFBRSxJQUFJO0VBQ2hCQyxRQUFRLEVBQUU7QUFDWixDQUFDO0FBVUQsSUFBSUMsVUFBVSxHQUFHLENBQUM7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGVBQWUsQ0FBb0JDLE9BQVUsRUFBVTtFQUM5RCxPQUFPQyxNQUFNLENBQUNDLE9BQU8sQ0FBQ0YsT0FBTyxDQUFDLENBQzNCRyxHQUFHLENBQUM7SUFBQSxJQUFDLENBQUNDLENBQUMsRUFBRUMsQ0FBQyxDQUFDO0lBQUEsT0FBTSxHQUFFRCxDQUFFLElBQUdDLENBQUUsRUFBQztFQUFBLEVBQUMsQ0FDNUJDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGdCQUFnQixHQUFXO0VBQ2xDVCxVQUFVLElBQUksQ0FBQztFQUNmLE9BQVEsU0FBUUEsVUFBVyxFQUFDO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU1Usc0JBQXNCLENBQUNSLE9BQWdCLEVBQVc7RUFDekQsSUFBSSxDQUFDQSxPQUFPLENBQUNULEtBQUssSUFBSSxDQUFD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
@@ -1,11 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
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; }
4
-
5
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; }
6
-
7
4
  import { GraphQLError, Thunder } from "./zeus/index.js";
8
-
9
5
  const handleFetchResponse = response => {
10
6
  if (!response.ok) {
11
7
  return new Promise((_, reject) => {
@@ -18,42 +14,34 @@ const handleFetchResponse = response => {
18
14
  }).catch(reject);
19
15
  });
20
16
  }
21
-
22
17
  return response.json();
23
18
  };
24
-
25
19
  const apiFetch = (options, session) => async function (query, variables) {
26
20
  if (variables === void 0) {
27
21
  variables = {};
28
22
  }
29
-
30
23
  const fetchFunction = fetch;
31
24
  let queryString = query;
32
25
  const fetchOptions = options[1] || {};
33
-
34
26
  if (fetchOptions.method && fetchOptions.method === "GET") {
35
27
  queryString = encodeURIComponent(query);
36
- return fetchFunction(options[0] + "?query=" + queryString, fetchOptions).then(handleFetchResponse).then(response => {
28
+ return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions).then(handleFetchResponse).then(response => {
37
29
  if (response.errors) {
38
30
  throw new GraphQLError(response);
39
31
  }
40
-
41
32
  return response.data;
42
33
  });
43
34
  }
44
-
45
35
  const headers = {
46
36
  "content-type": "application/json",
47
37
  "accept-language": navigator.language
48
38
  };
49
-
50
39
  if (session) {
51
40
  headers["secrecy-session"] = session;
52
41
  }
53
-
54
42
  const controller = new AbortController();
55
43
  const id = setTimeout(() => controller.abort(), 20000);
56
- const res = await fetchFunction("" + options[0], _objectSpread({
44
+ const res = await fetchFunction(`${options[0]}`, _objectSpread({
57
45
  body: JSON.stringify({
58
46
  query: queryString,
59
47
  variables
@@ -65,15 +53,13 @@ const apiFetch = (options, session) => async function (query, variables) {
65
53
  if (response.errors) {
66
54
  throw new GraphQLError(response);
67
55
  }
68
-
69
56
  return response.data;
70
57
  });
71
58
  clearTimeout(id);
72
59
  return res;
73
60
  };
74
-
75
61
  export const createThunder = (url, session) => Thunder(apiFetch([url, {
76
62
  mode: "cors",
77
63
  credentials: "same-origin"
78
64
  }], session));
79
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwic291cmNlcyI6WyIuLi9zcmMvWmV1c1RodW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmZXRjaE9wdGlvbnMsIEdyYXBoUUxSZXNwb25zZSB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciwgVGh1bmRlciB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+W1widGhlblwiXT5bMF0sIEZ1bmN0aW9uPlxuICA+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlXG4gICAgICAgIC50ZXh0KClcbiAgICAgICAgLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlamVjdChKU09OLnBhcnNlKHRleHQpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdCh0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+O1xufTtcblxuY29uc3QgYXBpRmV0Y2ggPVxuICAob3B0aW9uczogZmV0Y2hPcHRpb25zLCBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgYXN5bmMgKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgZmV0Y2hGdW5jdGlvbiA9IGZldGNoO1xuICAgIGxldCBxdWVyeVN0cmluZyA9IHF1ZXJ5O1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcXVlcnlTdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgcmV0dXJuIGZldGNoRnVuY3Rpb24oYCR7b3B0aW9uc1swXX0/cXVlcnk9JHtxdWVyeVN0cmluZ31gLCBmZXRjaE9wdGlvbnMpXG4gICAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhY2NlcHQtbGFuZ3VhZ2VcIjogbmF2aWdhdG9yLmxhbmd1YWdlXG4gICAgfTtcblxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBoZWFkZXJzW1wic2VjcmVjeS1zZXNzaW9uXCJdID0gc2Vzc2lvbjtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCAyMDAwMCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCB2YXJpYWJsZXMgfSksXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAuLi5mZXRjaE9wdGlvbnNcbiAgICB9KVxuICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgIH0pO1xuICAgIGNsZWFyVGltZW91dChpZCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRodW5kZXIgPSAoXG4gIHVybDogc3RyaW5nLFxuICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj4gPT5cbiAgVGh1bmRlcihcbiAgICBhcGlGZXRjaChcbiAgICAgIFtcbiAgICAgICAgdXJsLFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc2Vzc2lvblxuICAgIClcbiAgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsU0FBU0EsWUFBVCxFQUF1QkMsT0FBdkIsUUFBc0MsaUJBQXRDOztBQUVBLE1BQU1DLG1CQUFtQixHQUN2QkMsUUFEMEIsSUFLRztFQUM3QixJQUFJLENBQUNBLFFBQVEsQ0FBQ0MsRUFBZCxFQUFrQjtJQUNoQixPQUFPLElBQUlDLE9BQUosQ0FBWSxDQUFDQyxDQUFELEVBQUlDLE1BQUosS0FBZTtNQUNoQ0osUUFBUSxDQUNMSyxJQURILEdBRUdDLElBRkgsQ0FFUUQsSUFBSSxJQUFJO1FBQ1osSUFBSTtVQUNGRCxNQUFNLENBQUNHLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxJQUFYLENBQUQsQ0FBTjtRQUNELENBRkQsQ0FFRSxPQUFPSSxHQUFQLEVBQVk7VUFDWkwsTUFBTSxDQUFDQyxJQUFELENBQU47UUFDRDtNQUNGLENBUkgsRUFTR0ssS0FUSCxDQVNTTixNQVRUO0lBVUQsQ0FYTSxDQUFQO0VBWUQ7O0VBQ0QsT0FBT0osUUFBUSxDQUFDVyxJQUFULEVBQVA7QUFDRCxDQXJCRDs7QUF1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
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwic291cmNlcyI6WyIuLi9zcmMvWmV1c1RodW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmZXRjaE9wdGlvbnMsIEdyYXBoUUxSZXNwb25zZSB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciwgVGh1bmRlciB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+W1widGhlblwiXT5bMF0sIEZ1bmN0aW9uPlxuICA+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlXG4gICAgICAgIC50ZXh0KClcbiAgICAgICAgLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlamVjdChKU09OLnBhcnNlKHRleHQpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdCh0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+O1xufTtcblxuY29uc3QgYXBpRmV0Y2ggPVxuICAob3B0aW9uczogZmV0Y2hPcHRpb25zLCBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgYXN5bmMgKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgZmV0Y2hGdW5jdGlvbiA9IGZldGNoO1xuICAgIGxldCBxdWVyeVN0cmluZyA9IHF1ZXJ5O1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcXVlcnlTdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgcmV0dXJuIGZldGNoRnVuY3Rpb24oYCR7b3B0aW9uc1swXX0/cXVlcnk9JHtxdWVyeVN0cmluZ31gLCBmZXRjaE9wdGlvbnMpXG4gICAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhY2NlcHQtbGFuZ3VhZ2VcIjogbmF2aWdhdG9yLmxhbmd1YWdlXG4gICAgfTtcblxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBoZWFkZXJzW1wic2VjcmVjeS1zZXNzaW9uXCJdID0gc2Vzc2lvbjtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCAyMDAwMCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCB2YXJpYWJsZXMgfSksXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAuLi5mZXRjaE9wdGlvbnNcbiAgICB9KVxuICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgIH0pO1xuICAgIGNsZWFyVGltZW91dChpZCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRodW5kZXIgPSAoXG4gIHVybDogc3RyaW5nLFxuICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj4gPT5cbiAgVGh1bmRlcihcbiAgICBhcGlGZXRjaChcbiAgICAgIFtcbiAgICAgICAgdXJsLFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc2Vzc2lvblxuICAgIClcbiAgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsU0FBU0EsWUFBWSxFQUFFQyxPQUFPLFFBQVEsaUJBQWlCO0FBRXZELE1BQU1DLG1CQUFtQixHQUN2QkMsUUFHSSxJQUN5QjtFQUM3QixJQUFJLENBQUNBLFFBQVEsQ0FBQ0MsRUFBRSxFQUFFO0lBQ2hCLE9BQU8sSUFBSUMsT0FBTyxDQUFDLENBQUNDLENBQUMsRUFBRUMsTUFBTSxLQUFLO01BQ2hDSixRQUFRLENBQ0xLLElBQUksRUFBRSxDQUNOQyxJQUFJLENBQUNELElBQUksSUFBSTtRQUNaLElBQUk7VUFDRkQsTUFBTSxDQUFDRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLE9BQU9JLEdBQUcsRUFBRTtVQUNaTCxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNkO01BQ0YsQ0FBQyxDQUFDLENBQ0RLLEtBQUssQ0FBQ04sTUFBTSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztFQUNKO0VBQ0EsT0FBT0osUUFBUSxDQUFDVyxJQUFJLEVBQUU7QUFDeEIs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
package/dist/cache.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export const filesCache = new Map();
2
2
  export const nodesCache = new Map();
3
3
  export const usersCache = new Map();
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiTWFwIiwibm9kZXNDYWNoZSIsInVzZXJzQ2FjaGUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxOb2RlLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsTm9kZUZ1bGxcbn0gZnJvbSBcIi4vY2xpZW50L3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGVybmFsRmlsZT4oKTtcblxuZXhwb3J0IGNvbnN0IG5vZGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOb2RlIHwgSW50ZXJuYWxOb2RlRnVsbD4oKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzQ2FjaGUgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIFVzZXIgfCBVc2VyPHsgd2l0aFB1YmxpY0tleTogdHJ1ZSB9PlxuPigpO1xuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxJQUFJQyxHQUFKLEVBQW5CO0FBRVAsT0FBTyxNQUFNQyxVQUFVLEdBQUcsSUFBSUQsR0FBSixFQUFuQjtBQUVQLE9BQU8sTUFBTUUsVUFBVSxHQUFHLElBQUlGLEdBQUosRUFBbkIifQ==
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiTWFwIiwibm9kZXNDYWNoZSIsInVzZXJzQ2FjaGUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxOb2RlLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsTm9kZUZ1bGxcbn0gZnJvbSBcIi4vY2xpZW50L3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGVybmFsRmlsZT4oKTtcblxuZXhwb3J0IGNvbnN0IG5vZGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOb2RlIHwgSW50ZXJuYWxOb2RlRnVsbD4oKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzQ2FjaGUgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIFVzZXIgfCBVc2VyPHsgd2l0aFB1YmxpY0tleTogdHJ1ZSB9PlxuPigpO1xuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxJQUFJQyxHQUFHLEVBQXdCO0FBRXpELE9BQU8sTUFBTUMsVUFBVSxHQUFHLElBQUlELEdBQUcsRUFBMkM7QUFFNUUsT0FBTyxNQUFNRSxVQUFVLEdBQUcsSUFBSUYsR0FBRyxFQUc5QiJ9
@@ -0,0 +1,17 @@
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
+ }