@secrecy/lib 1.0.0-dev.7 → 1.0.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 (115) hide show
  1. package/README.md +1 -1
  2. package/{lib → dist}/BaseClient.d.ts +62 -69
  3. package/dist/BaseClient.js +1124 -0
  4. package/{lib → dist}/PopupTools.d.ts +1 -1
  5. package/dist/PopupTools.js +212 -0
  6. package/{lib → dist}/ZeusThunder.d.ts +0 -0
  7. package/dist/ZeusThunder.js +79 -0
  8. package/dist/cache.d.ts +6 -0
  9. package/dist/cache.js +4 -0
  10. package/dist/client/admin/index.d.ts +11 -0
  11. package/dist/client/admin/index.js +110 -0
  12. package/{lib → dist}/client/convert/file.d.ts +3 -3
  13. package/dist/client/convert/file.js +34 -0
  14. package/{lib → dist}/client/convert/mail.d.ts +0 -0
  15. package/dist/client/convert/mail.js +46 -0
  16. package/dist/client/convert/node.d.ts +9 -0
  17. package/dist/client/convert/node.js +101 -0
  18. package/{lib → dist}/client/helpers.d.ts +1 -1
  19. package/dist/client/helpers.js +114 -0
  20. package/dist/client/index.d.ts +164 -0
  21. package/dist/client/index.js +3206 -0
  22. package/{lib → dist}/client/storage.d.ts +0 -0
  23. package/dist/client/storage.js +12 -0
  24. package/dist/client/types/File.d.ts +14 -0
  25. package/dist/client/types/File.js +3 -0
  26. package/{lib → dist}/client/types/Inputs.d.ts +2 -7
  27. package/dist/client/types/Inputs.js +3 -0
  28. package/dist/client/types/Node.d.ts +49 -0
  29. package/dist/client/types/Node.js +3 -0
  30. package/{lib → dist}/client/types/UserAppNotifications.d.ts +1 -1
  31. package/dist/client/types/UserAppNotifications.js +3 -0
  32. package/{lib → dist}/client/types/UserAppSettings.d.ts +0 -1
  33. package/dist/client/types/UserAppSettings.js +3 -0
  34. package/{lib → dist}/client/types/index.d.ts +7 -13
  35. package/dist/client/types/index.js +8 -0
  36. package/dist/client/types/selectors.d.ts +476 -0
  37. package/dist/client/types/selectors.js +125 -0
  38. package/{lib → dist}/crypto/file.d.ts +0 -0
  39. package/dist/crypto/file.js +210 -0
  40. package/{lib → dist}/crypto/index.d.ts +0 -0
  41. package/dist/crypto/index.js +47 -0
  42. package/dist/error.d.ts +30 -0
  43. package/dist/error.js +3 -0
  44. package/{lib → dist}/index.d.ts +4 -3
  45. package/dist/index.js +10 -0
  46. package/{lib → dist}/minify/index.d.ts +0 -0
  47. package/dist/minify/index.js +28 -0
  48. package/{lib → dist}/minify/lz4.d.ts +0 -0
  49. package/dist/minify/lz4.js +627 -0
  50. package/{lib → dist}/sodium.d.ts +0 -0
  51. package/dist/sodium.js +6 -0
  52. package/{lib → dist}/utils/store-buddy.d.ts +0 -0
  53. package/dist/utils/store-buddy.js +65 -0
  54. package/{lib → dist}/utils/time.d.ts +0 -0
  55. package/dist/utils/time.js +14 -0
  56. package/{lib → dist/utils}/utils.d.ts +0 -0
  57. package/dist/utils/utils.js +57 -0
  58. package/{lib → dist}/worker/__mock__/sodium.worker.d.ts +0 -0
  59. package/dist/worker/__mock__/sodium.worker.js +49 -0
  60. package/{lib → dist}/worker/md5.d.ts +0 -0
  61. package/dist/worker/md5.js +25 -0
  62. package/{lib → dist}/worker/sodium.d.ts +0 -0
  63. package/dist/worker/sodium.js +120 -0
  64. package/{lib → dist}/worker/workerCodes.d.ts +0 -0
  65. package/dist/worker/workerCodes.js +3 -0
  66. package/{lib → dist}/zeus/const.d.ts +5 -0
  67. package/dist/zeus/const.js +1230 -0
  68. package/dist/zeus/index.d.ts +4069 -0
  69. package/dist/zeus/index.js +657 -0
  70. package/package.json +64 -57
  71. package/lib/BaseClient.js +0 -1332
  72. package/lib/PopupTools.js +0 -213
  73. package/lib/ZeusThunder.js +0 -112
  74. package/lib/cache.d.ts +0 -7
  75. package/lib/cache.js +0 -5
  76. package/lib/client/convert/file.js +0 -39
  77. package/lib/client/convert/folder.d.ts +0 -8
  78. package/lib/client/convert/folder.js +0 -264
  79. package/lib/client/convert/mail.js +0 -46
  80. package/lib/client/convert/vFile.d.ts +0 -5
  81. package/lib/client/convert/vFile.js +0 -164
  82. package/lib/client/helpers.js +0 -116
  83. package/lib/client/index.d.ts +0 -167
  84. package/lib/client/index.js +0 -3746
  85. package/lib/client/storage.js +0 -12
  86. package/lib/client/types/File.d.ts +0 -21
  87. package/lib/client/types/File.js +0 -2
  88. package/lib/client/types/FilesOnUsersOnApplications.d.ts +0 -9
  89. package/lib/client/types/FilesOnUsersOnApplications.js +0 -2
  90. package/lib/client/types/Folder.d.ts +0 -68
  91. package/lib/client/types/Folder.js +0 -7
  92. package/lib/client/types/Inputs.js +0 -2
  93. package/lib/client/types/UserAppNotifications.js +0 -2
  94. package/lib/client/types/UserAppSettings.js +0 -2
  95. package/lib/client/types/VFile.d.ts +0 -62
  96. package/lib/client/types/VFile.js +0 -4
  97. package/lib/client/types/index.js +0 -9
  98. package/lib/client/types/queries.d.ts +0 -535
  99. package/lib/client/types/queries.js +0 -192
  100. package/lib/crypto/file.js +0 -291
  101. package/lib/crypto/index.js +0 -37
  102. package/lib/index.js +0 -40
  103. package/lib/minify/index.js +0 -28
  104. package/lib/minify/lz4.js +0 -633
  105. package/lib/sodium.js +0 -28
  106. package/lib/utils/store-buddy.js +0 -69
  107. package/lib/utils/time.js +0 -22
  108. package/lib/utils.js +0 -188
  109. package/lib/worker/__mock__/sodium.worker.js +0 -57
  110. package/lib/worker/md5.js +0 -43
  111. package/lib/worker/sodium.js +0 -155
  112. package/lib/worker/workerCodes.js +0 -3
  113. package/lib/zeus/const.js +0 -1643
  114. package/lib/zeus/index.d.ts +0 -26220
  115. package/lib/zeus/index.js +0 -552
@@ -13,5 +13,5 @@ declare type Options = {
13
13
  declare 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 extends unknown>(data: T): string;
16
+ export declare function popupResponse<T>(data: T): string;
17
17
  export {};
@@ -0,0 +1,212 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+
3
+ 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
+ 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
+ /**
8
+ * TS Rewrite of https://github.com/enhancv/popup-tools
9
+ */
10
+ const defaultOptions = {
11
+ width: 700,
12
+ height: 520,
13
+ menubar: "no",
14
+ resizable: "yes",
15
+ location: "yes",
16
+ scrollbars: "no",
17
+ centered: true
18
+ };
19
+ let popupCount = 1;
20
+ /**
21
+ * Return options converted to a string
22
+ *
23
+ * @param {Object} options
24
+ * @return {String}
25
+ */
26
+
27
+ function optionsToString(options) {
28
+ return Object.entries(options).map(_ref => {
29
+ let [k, v] = _ref;
30
+ return k + "=" + v;
31
+ }).join(",");
32
+ }
33
+ /**
34
+ * Get a unique name on each call
35
+ * @return {String}
36
+ */
37
+
38
+
39
+ function defaultPopupName() {
40
+ popupCount += 1;
41
+ return "Popup " + popupCount;
42
+ }
43
+ /**
44
+ * Convert "centered: true" key into concrete left and top arguments
45
+ * Both can be overwritten
46
+ *
47
+ * @param {Object} options
48
+ * @return {Object}
49
+ */
50
+
51
+
52
+ function optionsResolveCentered(options) {
53
+ if (!options.width || !options.height) {
54
+ throw new Error("Should have width and height");
55
+ }
56
+
57
+ const result = _objectSpread({}, options);
58
+
59
+ const width = window.outerWidth - options.width;
60
+ const height = window.outerHeight - options.height;
61
+
62
+ if (options.centered) {
63
+ result.left = options.left || Math.round(window.screenX + width / 2);
64
+ result.top = options.top || Math.round(window.screenY + height / 2.5);
65
+ delete result.centered;
66
+ }
67
+
68
+ return result;
69
+ }
70
+ /**
71
+ * Create a form element, add hidden inputs for all the post data
72
+ * and post it into a newly opened popup
73
+ *
74
+ * @param {String} url
75
+ * @param {Object} postData
76
+ * @param {String} name
77
+ * @param {Object} options
78
+ * @return {Object}
79
+ */
80
+
81
+
82
+ function openPopupWithPost(url, postData, name, options) {
83
+ var _win;
84
+
85
+ const form = document.createElement("form");
86
+ let win = null;
87
+ form.setAttribute("method", "post");
88
+ form.setAttribute("action", url);
89
+ form.setAttribute("target", name);
90
+ Object.keys(postData).forEach(function addFormItem(key) {
91
+ const input = document.createElement("input");
92
+ input.type = "hidden";
93
+ input.name = key;
94
+ input.value = postData[key];
95
+ form.appendChild(input);
96
+ });
97
+ document.body.appendChild(form);
98
+ win = window.open("/", name, options);
99
+ (_win = win) == null ? void 0 : _win.document.write("Loading...");
100
+ form.submit();
101
+ document.body.removeChild(form);
102
+ return win;
103
+ }
104
+ /**
105
+ * Open a popup using the first argument. Wait for it to close.
106
+ * Returns the window object
107
+ *
108
+ * @param {Function}
109
+ * @param {String}
110
+ * @param {String}
111
+ * @param {Object}
112
+ * @param {Function}
113
+ * @return {Object}
114
+ */
115
+
116
+
117
+ function popupExecute(execute, url, name, options, callback) {
118
+ const popupName = name || defaultPopupName();
119
+ const popupOptions = optionsResolveCentered(Object.assign({}, defaultOptions, options));
120
+
121
+ const popupCallback = callback || function noop() {//
122
+ };
123
+
124
+ const optionsString = optionsToString(popupOptions);
125
+ const win = execute(url, popupName, optionsString);
126
+ let isMessageSent = false;
127
+ let interval;
128
+
129
+ function popupCallbackOnce(err, data) {
130
+ if (!isMessageSent) {
131
+ isMessageSent = true;
132
+ popupCallback(err, data);
133
+ }
134
+ }
135
+
136
+ function onMessage(message) {
137
+ const data = message ? message.data : undefined;
138
+
139
+ if (data) {
140
+ popupCallbackOnce(undefined, data);
141
+ window.removeEventListener("message", onMessage);
142
+ }
143
+ }
144
+
145
+ window.addEventListener("message", onMessage, false);
146
+
147
+ if (win) {
148
+ interval = window.setInterval(function closePopupCallback() {
149
+ if (win === null || win.closed) {
150
+ setTimeout(function delayWindowClosing() {
151
+ clearInterval(interval);
152
+ popupCallbackOnce(new Error("Popup closed"));
153
+ }, 500);
154
+ }
155
+ }, 100);
156
+ } else {
157
+ popupCallbackOnce(new Error("Popup blocked"));
158
+ }
159
+
160
+ return win;
161
+ }
162
+ /**
163
+ * Open a popup using the first argument.
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 {String} name
170
+ * @param {Object} options
171
+ * @param {Function} callback
172
+ * @return {Object}
173
+ */
174
+
175
+
176
+ export function popup(url, name, options, callback) {
177
+ return popupExecute(window.open, url, name, options, callback);
178
+ }
179
+ /**
180
+ * Open a popup using the first argument.
181
+ * Post the data into the open popup.
182
+ * Wait for it to close and call the callback.
183
+ * Set the options string using the options object
184
+ * Returns the window object
185
+ *
186
+ * @param {String} url
187
+ * @param {Object} postData
188
+ * @param {String} name
189
+ * @param {Object} options
190
+ * @param {Function} callback
191
+ * @return {Object}
192
+ */
193
+
194
+ export function popupWithPost(url, postData, name, options, callback) {
195
+ function openWithPostData(popupUrl, popupName, optionsString) {
196
+ return openPopupWithPost(popupUrl, postData, popupName, optionsString);
197
+ }
198
+
199
+ return popupExecute(openWithPostData, url, name, options, callback);
200
+ }
201
+ /**
202
+ * Return html that when executed, will trigger the popup to callback with a response
203
+ *
204
+ * @param {Object}
205
+ * @return {String}
206
+ */
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>";
211
+ }
212
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0T3B0aW9ucyIsIndpZHRoIiwiaGVpZ2h0IiwibWVudWJhciIsInJlc2l6YWJsZSIsImxvY2F0aW9uIiwic2Nyb2xsYmFycyIsImNlbnRlcmVkIiwicG9wdXBDb3VudCIsIm9wdGlvbnNUb1N0cmluZyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiayIsInYiLCJqb2luIiwiZGVmYXVsdFBvcHVwTmFtZSIsIm9wdGlvbnNSZXNvbHZlQ2VudGVyZWQiLCJFcnJvciIsInJlc3VsdCIsIndpbmRvdyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImxlZnQiLCJNYXRoIiwicm91bmQiLCJzY3JlZW5YIiwidG9wIiwic2NyZWVuWSIsIm9wZW5Qb3B1cFdpdGhQb3N0IiwidXJsIiwicG9zdERhdGEiLCJuYW1lIiwiZm9ybSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbiIsInNldEF0dHJpYnV0ZSIsImtleXMiLCJmb3JFYWNoIiwiYWRkRm9ybUl0ZW0iLCJrZXkiLCJpbnB1dCIsInR5cGUiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwiYm9keSIsIm9wZW4iLCJ3cml0ZSIsInN1Ym1pdCIsInJlbW92ZUNoaWxkIiwicG9wdXBFeGVjdXRlIiwiZXhlY3V0ZSIsImNhbGxiYWNrIiwicG9wdXBOYW1lIiwicG9wdXBPcHRpb25zIiwiYXNzaWduIiwicG9wdXBDYWxsYmFjayIsIm5vb3AiLCJvcHRpb25zU3RyaW5nIiwiaXNNZXNzYWdlU2VudCIsImludGVydmFsIiwicG9wdXBDYWxsYmFja09uY2UiLCJlcnIiLCJkYXRhIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0SW50ZXJ2YWwiLCJjbG9zZVBvcHVwQ2FsbGJhY2siLCJjbG9zZWQiLCJzZXRUaW1lb3V0IiwiZGVsYXlXaW5kb3dDbG9zaW5nIiwiY2xlYXJJbnRlcnZhbCIsInBvcHVwIiwicG9wdXBXaXRoUG9zdCIsIm9wZW5XaXRoUG9zdERhdGEiLCJwb3B1cFVybCIsInBvcHVwUmVzcG9uc2UiLCJqc29uRGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiXSwic291cmNlcyI6WyIuLi9zcmMvUG9wdXBUb29scy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRTIFJld3JpdGUgb2YgaHR0cHM6Ly9naXRodWIuY29tL2VuaGFuY3YvcG9wdXAtdG9vbHNcbiAqL1xuXG50eXBlIFllc05vID0gXCJ5ZXNcIiB8IFwibm9cIjtcbnR5cGUgT3B0aW9ucyA9IHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgbWVudWJhcjogWWVzTm87XG4gIHJlc2l6YWJsZTogWWVzTm87XG4gIGxvY2F0aW9uOiBZZXNObztcbiAgc2Nyb2xsYmFyczogWWVzTm87XG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gIHdpZHRoOiA3MDAsXG4gIGhlaWdodDogNTIwLFxuICBtZW51YmFyOiBcIm5vXCIsXG4gIHJlc2l6YWJsZTogXCJ5ZXNcIixcbiAgbG9jYXRpb246IFwieWVzXCIsXG4gIHNjcm9sbGJhcnM6IFwibm9cIixcbiAgY2VudGVyZWQ6IHRydWVcbn07XG5cbnR5cGUgQ2FsbGJhY2sgPSAoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuXG50eXBlIFdpbmRvd09wZW4gPSAoXG4gIHBvcHVwVXJsOiBzdHJpbmcsXG4gIHBvcHVwTmFtZTogc3RyaW5nLFxuICBvcHRpb25zU3RyaW5nOiBzdHJpbmdcbikgPT4gV2luZG93IHwgbnVsbDtcblxubGV0IHBvcHVwQ291bnQgPSAxO1xuXG4vKipcbiAqIFJldHVybiBvcHRpb25zIGNvbnZlcnRlZCB0byBhIHN0cmluZ1xuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBvcHRpb25zVG9TdHJpbmc8VCBleHRlbmRzIE9wdGlvbnM+KG9wdGlvbnM6IFQpOiBzdHJpbmcge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob3B0aW9ucylcbiAgICAubWFwKChbaywgdl0pID0+IGAke2t9PSR7dn1gKVxuICAgIC5qb2luKFwiLFwiKTtcbn1cblxuLyoqXG4gKiBHZXQgYSB1bmlxdWUgbmFtZSBvbiBlYWNoIGNhbGxcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFBvcHVwTmFtZSgpOiBzdHJpbmcge1xuICBwb3B1cENvdW50ICs9IDE7XG4gIHJldHVybiBgUG9wdXAgJHtwb3B1cENvdW50fWA7XG59XG5cbi8qKlxuICogQ29udmVydCBcImNlbnRlcmVkOiB0cnVlXCIga2V5IGludG8gY29uY3JldGUgbGVmdCBhbmQgdG9wIGFyZ3VtZW50c1xuICogQm90aCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gIGlmICghb3B0aW9ucy53aWR0aCB8fCAhb3B0aW9ucy5oZWlnaHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgaGF2ZSB3aWR0aCBhbmQgaGVpZ2h0XCIpO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4ub3B0aW9ucyB9O1xuICBjb25zdCB3aWR0aCA9IHdpbmRvdy5vdXRlcldpZHRoIC0gb3B0aW9ucy53aWR0aDtcbiAgY29uc3QgaGVpZ2h0ID0gd2luZG93Lm91dGVySGVpZ2h0IC0gb3B0aW9ucy5oZWlnaHQ7XG5cbiAgaWYgKG9wdGlvbnMuY2VudGVyZWQpIHtcbiAgICByZXN1bHQubGVmdCA9IG9wdGlvbnMubGVmdCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5YICsgd2lkdGggLyAyKTtcbiAgICByZXN1bHQudG9wID0gb3B0aW9ucy50b3AgfHwgTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIGhlaWdodCAvIDIuNSk7XG4gICAgZGVsZXRlIHJlc3VsdC5jZW50ZXJlZDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZvcm0gZWxlbWVudCwgYWRkIGhpZGRlbiBpbnB1dHMgZm9yIGFsbCB0aGUgcG9zdCBkYXRhXG4gKiBhbmQgcG9zdCBpdCBpbnRvIGEgbmV3bHkgb3BlbmVkIHBvcHVwXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIG9wZW5Qb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogc3RyaW5nXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJmb3JtXCIpO1xuICBsZXQgd2luOiBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBmb3JtLnNldEF0dHJpYnV0ZShcIm1ldGhvZFwiLCBcInBvc3RcIik7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwiYWN0aW9uXCIsIHVybCk7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIG5hbWUpO1xuXG4gIE9iamVjdC5rZXlzKHBvc3REYXRhKS5mb3JFYWNoKGZ1bmN0aW9uIGFkZEZvcm1JdGVtKGtleSkge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xuICAgIGlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgIGlucHV0Lm5hbWUgPSBrZXk7XG4gICAgaW5wdXQudmFsdWUgPSBwb3N0RGF0YVtrZXldO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQpO1xuICB9KTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xuXG4gIHdpbiA9IHdpbmRvdy5vcGVuKFwiL1wiLCBuYW1lLCBvcHRpb25zKTtcbiAgd2luPy5kb2N1bWVudC53cml0ZShcIkxvYWRpbmcuLi5cIik7XG5cbiAgZm9ybS5zdWJtaXQoKTtcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTtcblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuIFdhaXQgZm9yIGl0IHRvIGNsb3NlLlxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBvcHVwRXhlY3V0ZShcbiAgZXhlY3V0ZTogV2luZG93T3BlbixcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgcG9wdXBOYW1lID0gbmFtZSB8fCBkZWZhdWx0UG9wdXBOYW1lKCk7XG4gIGNvbnN0IHBvcHVwT3B0aW9ucyA9IG9wdGlvbnNSZXNvbHZlQ2VudGVyZWQoXG4gICAgT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpXG4gICk7XG4gIGNvbnN0IHBvcHVwQ2FsbGJhY2sgPVxuICAgIGNhbGxiYWNrIHx8XG4gICAgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgICAgIC8vXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9uc1N0cmluZyA9IG9wdGlvbnNUb1N0cmluZyhwb3B1cE9wdGlvbnMpO1xuICBjb25zdCB3aW4gPSBleGVjdXRlKHVybCwgcG9wdXBOYW1lLCBvcHRpb25zU3RyaW5nKTtcbiAgbGV0IGlzTWVzc2FnZVNlbnQgPSBmYWxzZTtcbiAgbGV0IGludGVydmFsOiBudW1iZXI7XG5cbiAgZnVuY3Rpb24gcG9wdXBDYWxsYmFja09uY2UoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCFpc01lc3NhZ2VTZW50KSB7XG4gICAgICBpc01lc3NhZ2VTZW50ID0gdHJ1ZTtcbiAgICAgIHBvcHVwQ2FsbGJhY2soZXJyLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lc3NhZ2UobWVzc2FnZT86IE1lc3NhZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBtZXNzYWdlID8gbWVzc2FnZS5kYXRhIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlLCBmYWxzZSk7XG5cbiAgaWYgKHdpbikge1xuICAgIGludGVydmFsID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uIGNsb3NlUG9wdXBDYWxsYmFjaygpIHtcbiAgICAgIGlmICh3aW4gPT09IG51bGwgfHwgd2luLmNsb3NlZCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGRlbGF5V2luZG93Q2xvc2luZygpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICBwb3B1cENhbGxiYWNrT25jZShuZXcgRXJyb3IoXCJQb3B1cCBjbG9zZWRcIikpO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH0gZWxzZSB7XG4gICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgYmxvY2tlZFwiKSk7XG4gIH1cblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cChcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZSh3aW5kb3cub3BlbiwgdXJsLCBuYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAqIFBvc3QgdGhlIGRhdGEgaW50byB0aGUgb3BlbiBwb3B1cC5cbiAqIFdhaXQgZm9yIGl0IHRvIGNsb3NlIGFuZCBjYWxsIHRoZSBjYWxsYmFjay5cbiAqIFNldCB0aGUgb3B0aW9ucyBzdHJpbmcgdXNpbmcgdGhlIG9wdGlvbnMgb2JqZWN0XG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBmdW5jdGlvbiBvcGVuV2l0aFBvc3REYXRhKFxuICAgIHBvcHVwVXJsOiBzdHJpbmcsXG4gICAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uc1N0cmluZzogc3RyaW5nXG4gICk6IFdpbmRvdyB8IG51bGwge1xuICAgIHJldHVybiBvcGVuUG9wdXBXaXRoUG9zdChwb3B1cFVybCwgcG9zdERhdGEsIHBvcHVwTmFtZSwgb3B0aW9uc1N0cmluZyk7XG4gIH1cblxuICByZXR1cm4gcG9wdXBFeGVjdXRlKG9wZW5XaXRoUG9zdERhdGEsIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIFJldHVybiBodG1sIHRoYXQgd2hlbiBleGVjdXRlZCwgd2lsbCB0cmlnZ2VyIHRoZSBwb3B1cCB0byBjYWxsYmFjayB3aXRoIGEgcmVzcG9uc2VcbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFJlc3BvbnNlPFQ+KGRhdGE6IFQpOiBzdHJpbmcge1xuICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFlQSxNQUFNQSxjQUF1QixHQUFHO0VBQzlCQyxLQUFLLEVBQUUsR0FEdUI7RUFFOUJDLE1BQU0sRUFBRSxHQUZzQjtFQUc5QkMsT0FBTyxFQUFFLElBSHFCO0VBSTlCQyxTQUFTLEVBQUUsS0FKbUI7RUFLOUJDLFFBQVEsRUFBRSxLQUxvQjtFQU05QkMsVUFBVSxFQUFFLElBTmtCO0VBTzlCQyxRQUFRLEVBQUU7QUFQb0IsQ0FBaEM7QUFrQkEsSUFBSUMsVUFBVSxHQUFHLENBQWpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLFNBQVNDLGVBQVQsQ0FBNENDLE9BQTVDLEVBQWdFO0VBQzlELE9BQU9DLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlRixPQUFmLEVBQ0pHLEdBREksQ0FDQTtJQUFBLElBQUMsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLENBQUQ7SUFBQSxPQUFlRCxDQUFmLFNBQW9CQyxDQUFwQjtFQUFBLENBREEsRUFFSkMsSUFGSSxDQUVDLEdBRkQsQ0FBUDtBQUdEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNDLGdCQUFULEdBQW9DO0VBQ2xDVCxVQUFVLElBQUksQ0FBZDtFQUNBLGtCQUFnQkEsVUFBaEI7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFTVSxzQkFBVCxDQUFnQ1IsT0FBaEMsRUFBMkQ7RUFDekQsSUFBSSxDQUFDQSxPQUFPLENBQUNULEtBQVQsSUFBa0IsQ0FBQ1MsT0FBTyxDQUFDUixNQUEvQixFQUF1QztJQUNyQyxNQUFNLElBQUlpQixLQUFKLENBQVUsOEJBQVYsQ0FBTjtFQUNEOztFQUNELE1BQU1DLE1BQU0scUJBQVFWLE9BQVIsQ0FBWjs7RUFDQSxNQUFNVCxLQUFLLEdBQUdvQixNQUFNLENBQUNDLFVBQVAsR0FBb0JaLE9BQU8sQ0FBQ1QsS0FBMUM7RUFDQSxNQUFNQyxNQUFNLEdBQUdtQixNQUFNLENBQUNFLFdBQVAsR0FBcUJiLE9BQU8sQ0FBQ1IsTUFBNUM7O0VBRUEsSUFBSVEsT0FBTyxDQUFDSCxRQUFaLEVBQXNCO0lBQ3BCYSxNQUFNLENBQUNJLElBQVAsR0FBY2QsT0FBTyxDQUFDYyxJQUFSLElBQWdCQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0wsTUFBTSxDQUFDTSxPQUFQLEdBQWlCMUIsS0FBSyxHQUFHLENBQXBDLENBQTlCO0lBQ0FtQixNQUFNLENBQUNRLEdBQVAsR0FBYWxCLE9BQU8sQ0FBQ2tCLEdBQVIsSUFBZUgsSUFBSSxDQUFDQyxLQUFMLENBQVdMLE1BQU0sQ0FBQ1EsT0FBUCxHQUFpQjNCLE1BQU0sR0FBRyxHQUFyQyxDQUE1QjtJQUNBLE9BQU9rQixNQUFNLENBQUNiLFFBQWQ7RUFDRDs7RUFDRCxPQUFPYSxNQUFQO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsU0FBU1UsaUJBQVQsQ0FDRUMsR0FERixFQUVFQyxRQUZGLEVBR0VDLElBSEYsRUFJRXZCLE9BSkYsRUFLaUI7RUFBQTs7RUFDZixNQUFNd0IsSUFBSSxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsTUFBdkIsQ0FBYjtFQUNBLElBQUlDLEdBQWtCLEdBQUcsSUFBekI7RUFFQUgsSUFBSSxDQUFDSSxZQUFMLENBQWtCLFFBQWxCLEVBQTRCLE1BQTVCO0VBQ0FKLElBQUksQ0FBQ0ksWUFBTCxDQUFrQixRQUFsQixFQUE0QlAsR0FBNUI7RUFDQUcsSUFBSSxDQUFDSSxZQUFMLENBQWtCLFFBQWxCLEVBQTRCTCxJQUE1QjtFQUVBdEIsTUFBTSxDQUFDNEIsSUFBUCxDQUFZUCxRQUFaLEVBQXNCUSxPQUF0QixDQUE4QixTQUFTQyxXQUFULENBQXFCQyxHQUFyQixFQUEwQjtJQUN0RCxNQUFNQyxLQUFLLEdBQUdSLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixPQUF2QixDQUFkO0lBQ0FPLEtBQUssQ0FBQ0MsSUFBTixHQUFhLFFBQWI7SUFDQUQsS0FBSyxDQUFDVixJQUFOLEdBQWFTLEdBQWI7SUFDQUMsS0FBSyxDQUFDRSxLQUFOLEdBQWNiLFFBQVEsQ0FBQ1UsR0FBRCxDQUF0QjtJQUNBUixJQUFJLENBQUNZLFdBQUwsQ0FBaUJILEtBQWpCO0VBQ0QsQ0FORDtFQVFBUixRQUFRLENBQUNZLElBQVQsQ0FBY0QsV0FBZCxDQUEwQlosSUFBMUI7RUFFQUcsR0FBRyxHQUFHaEIsTUFBTSxDQUFDMkIsSUFBUCxDQUFZLEdBQVosRUFBaUJmLElBQWpCLEVBQXVCdkIsT0FBdkIsQ0FBTjtFQUNBLFFBQUEyQixHQUFHLFNBQUgsaUJBQUtGLFFBQUwsQ0FBY2MsS0FBZCxDQUFvQixZQUFwQjtFQUVBZixJQUFJLENBQUNnQixNQUFMO0VBQ0FmLFFBQVEsQ0FBQ1ksSUFBVCxDQUFjSSxXQUFkLENBQTBCakIsSUFBMUI7RUFFQSxPQUFPRyxHQUFQO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFTZSxZQUFULENBQ0VDLE9BREYsRUFFRXRCLEdBRkYsRUFHRUUsSUFIRixFQUlFdkIsT0FKRixFQUtFNEMsUUFMRixFQU1pQjtFQUNmLE1BQU1DLFNBQVMsR0FBR3RCLElBQUksSUFBSWhCLGdCQUFnQixFQUExQztFQUNBLE1BQU11QyxZQUFZLEdBQUd0QyxzQkFBc0IsQ0FDekNQLE1BQU0sQ0FBQzhDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCekQsY0FBbEIsRUFBa0NVLE9BQWxDLENBRHlDLENBQTNDOztFQUdBLE1BQU1nRCxhQUFhLEdBQ2pCSixRQUFRLElBQ1IsU0FBU0ssSUFBVCxHQUFzQixDQUNwQjtFQUNELENBSkg7O0VBS0EsTUFBTUMsYUFBYSxHQUFHbkQsZUFBZSxDQUFDK0MsWUFBRCxDQUFyQztFQUNBLE1BQU1uQixHQUFHLEdBQUdnQixPQUFPLENBQUN0QixHQUFELEVBQU13QixTQUFOLEVBQWlCSyxhQUFqQixDQUFuQjtFQUNBLElBQUlDLGFBQWEsR0FBRyxLQUFwQjtFQUNBLElBQUlDLFFBQUo7O0VBRUEsU0FBU0MsaUJBQVQsQ0FBMkJDLEdBQTNCLEVBQXdDQyxJQUF4QyxFQUE4RDtJQUM1RCxJQUFJLENBQUNKLGFBQUwsRUFBb0I7TUFDbEJBLGFBQWEsR0FBRyxJQUFoQjtNQUNBSCxhQUFhLENBQUNNLEdBQUQsRUFBTUMsSUFBTixDQUFiO0lBQ0Q7RUFDRjs7RUFFRCxTQUFTQyxTQUFULENBQW1CQyxPQUFuQixFQUFpRDtJQUMvQyxNQUFNRixJQUFJLEdBQUdFLE9BQU8sR0FBR0EsT0FBTyxDQUFDRixJQUFYLEdBQWtCRyxTQUF0Qzs7SUFFQSxJQUFJSCxJQUFKLEVBQVU7TUFDUkYsaUJBQWlCLENBQUNLLFNBQUQsRUFBWUgsSUFBWixDQUFqQjtNQUNBNUMsTUFBTSxDQUFDZ0QsbUJBQVAsQ0FBMkIsU0FBM0IsRUFBc0NILFNBQXRDO0lBQ0Q7RUFDRjs7RUFFRDdDLE1BQU0sQ0FBQ2lELGdCQUFQLENBQXdCLFNBQXhCLEVBQW1DSixTQUFuQyxFQUE4QyxLQUE5Qzs7RUFFQSxJQUFJN0IsR0FBSixFQUFTO0lBQ1B5QixRQUFRLEdBQUd6QyxNQUFNLENBQUNrRCxXQUFQLENBQW1CLFNBQVNDLGtCQUFULEdBQThCO01BQzFELElBQUluQyxHQUFHLEtBQUssSUFBUixJQUFnQkEsR0FBRyxDQUFDb0MsTUFBeEIsRUFBZ0M7UUFDOUJDLFVBQVUsQ0FBQyxTQUFTQyxrQkFBVCxHQUE4QjtVQUN2Q0MsYUFBYSxDQUFDZCxRQUFELENBQWI7VUFDQUMsaUJBQWlCLENBQUMsSUFBSTVDLEtBQUosQ0FBVSxjQUFWLENBQUQsQ0FBakI7UUFDRCxDQUhTLEVBR1AsR0FITyxDQUFWO01BSUQ7SUFDRixDQVBVLEVBT1IsR0FQUSxDQUFYO0VBUUQsQ0FURCxNQVNPO0lBQ0w0QyxpQkFBaUIsQ0FBQyxJQUFJNUMsS0FBSixDQUFVLGVBQVYsQ0FBRCxDQUFqQjtFQUNEOztFQUVELE9BQU9rQixHQUFQO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLE9BQU8sU0FBU3dDLEtBQVQsQ0FDTDlDLEdBREssRUFFTEUsSUFGSyxFQUdMdkIsT0FISyxFQUlMNEMsUUFKSyxFQUtVO0VBQ2YsT0FBT0YsWUFBWSxDQUFDL0IsTUFBTSxDQUFDMkIsSUFBUixFQUFjakIsR0FBZCxFQUFtQkUsSUFBbkIsRUFBeUJ2QixPQUF6QixFQUFrQzRDLFFBQWxDLENBQW5CO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sU0FBU3dCLGFBQVQsQ0FDTC9DLEdBREssRUFFTEMsUUFGSyxFQUdMQyxJQUhLLEVBSUx2QixPQUpLLEVBS0w0QyxRQUxLLEVBTVU7RUFDZixTQUFTeUIsZ0JBQVQsQ0FDRUMsUUFERixFQUVFekIsU0FGRixFQUdFSyxhQUhGLEVBSWlCO0lBQ2YsT0FBTzlCLGlCQUFpQixDQUFDa0QsUUFBRCxFQUFXaEQsUUFBWCxFQUFxQnVCLFNBQXJCLEVBQWdDSyxhQUFoQyxDQUF4QjtFQUNEOztFQUVELE9BQU9SLFlBQVksQ0FBQzJCLGdCQUFELEVBQW1CaEQsR0FBbkIsRUFBd0JFLElBQXhCLEVBQThCdkIsT0FBOUIsRUFBdUM0QyxRQUF2QyxDQUFuQjtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sU0FBUzJCLGFBQVQsQ0FBMEJoQixJQUExQixFQUEyQztFQUNoRCxNQUFNaUIsUUFBUSxHQUFHQyxJQUFJLENBQUNDLFNBQUwsQ0FBZW5CLElBQWYsQ0FBakI7RUFFQSw4Q0FBNENpQixRQUE1QztBQUNEIn0=
File without changes
@@ -0,0 +1,79 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+
3
+ 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
+ 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
+ import { GraphQLError, Thunder } from "./zeus/index.js";
8
+
9
+ const handleFetchResponse = response => {
10
+ if (!response.ok) {
11
+ return new Promise((_, reject) => {
12
+ response.text().then(text => {
13
+ try {
14
+ reject(JSON.parse(text));
15
+ } catch (err) {
16
+ reject(text);
17
+ }
18
+ }).catch(reject);
19
+ });
20
+ }
21
+
22
+ return response.json();
23
+ };
24
+
25
+ const apiFetch = (options, session) => async function (query, variables) {
26
+ if (variables === void 0) {
27
+ variables = {};
28
+ }
29
+
30
+ const fetchFunction = fetch;
31
+ let queryString = query;
32
+ const fetchOptions = options[1] || {};
33
+
34
+ if (fetchOptions.method && fetchOptions.method === "GET") {
35
+ queryString = encodeURIComponent(query);
36
+ return fetchFunction(options[0] + "?query=" + queryString, fetchOptions).then(handleFetchResponse).then(response => {
37
+ if (response.errors) {
38
+ throw new GraphQLError(response);
39
+ }
40
+
41
+ return response.data;
42
+ });
43
+ }
44
+
45
+ const headers = {
46
+ "content-type": "application/json",
47
+ "accept-language": navigator.language
48
+ };
49
+
50
+ if (session) {
51
+ headers["secrecy-session"] = session;
52
+ }
53
+
54
+ const controller = new AbortController();
55
+ const id = setTimeout(() => controller.abort(), 20000);
56
+ const res = await fetchFunction("" + options[0], _objectSpread({
57
+ body: JSON.stringify({
58
+ query: queryString,
59
+ variables
60
+ }),
61
+ method: "POST",
62
+ headers,
63
+ signal: controller.signal
64
+ }, fetchOptions)).then(handleFetchResponse).then(response => {
65
+ if (response.errors) {
66
+ throw new GraphQLError(response);
67
+ }
68
+
69
+ return response.data;
70
+ });
71
+ clearTimeout(id);
72
+ return res;
73
+ };
74
+
75
+ export const createThunder = (url, session) => Thunder(apiFetch([url, {
76
+ mode: "cors",
77
+ credentials: "same-origin"
78
+ }], session));
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwic291cmNlcyI6WyIuLi9zcmMvWmV1c1RodW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmZXRjaE9wdGlvbnMsIEdyYXBoUUxSZXNwb25zZSB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciwgVGh1bmRlciB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+W1widGhlblwiXT5bMF0sIEZ1bmN0aW9uPlxuICA+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlXG4gICAgICAgIC50ZXh0KClcbiAgICAgICAgLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlamVjdChKU09OLnBhcnNlKHRleHQpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdCh0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+O1xufTtcblxuY29uc3QgYXBpRmV0Y2ggPVxuICAob3B0aW9uczogZmV0Y2hPcHRpb25zLCBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgYXN5bmMgKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgZmV0Y2hGdW5jdGlvbiA9IGZldGNoO1xuICAgIGxldCBxdWVyeVN0cmluZyA9IHF1ZXJ5O1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcXVlcnlTdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgcmV0dXJuIGZldGNoRnVuY3Rpb24oYCR7b3B0aW9uc1swXX0/cXVlcnk9JHtxdWVyeVN0cmluZ31gLCBmZXRjaE9wdGlvbnMpXG4gICAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhY2NlcHQtbGFuZ3VhZ2VcIjogbmF2aWdhdG9yLmxhbmd1YWdlXG4gICAgfTtcblxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBoZWFkZXJzW1wic2VjcmVjeS1zZXNzaW9uXCJdID0gc2Vzc2lvbjtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCAyMDAwMCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCB2YXJpYWJsZXMgfSksXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAuLi5mZXRjaE9wdGlvbnNcbiAgICB9KVxuICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgIH0pO1xuICAgIGNsZWFyVGltZW91dChpZCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRodW5kZXIgPSAoXG4gIHVybDogc3RyaW5nLFxuICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj4gPT5cbiAgVGh1bmRlcihcbiAgICBhcGlGZXRjaChcbiAgICAgIFtcbiAgICAgICAgdXJsLFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc2Vzc2lvblxuICAgIClcbiAgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsU0FBU0EsWUFBVCxFQUF1QkMsT0FBdkIsUUFBc0MsaUJBQXRDOztBQUVBLE1BQU1DLG1CQUFtQixHQUN2QkMsUUFEMEIsSUFLRztFQUM3QixJQUFJLENBQUNBLFFBQVEsQ0FBQ0MsRUFBZCxFQUFrQjtJQUNoQixPQUFPLElBQUlDLE9BQUosQ0FBWSxDQUFDQyxDQUFELEVBQUlDLE1BQUosS0FBZTtNQUNoQ0osUUFBUSxDQUNMSyxJQURILEdBRUdDLElBRkgsQ0FFUUQsSUFBSSxJQUFJO1FBQ1osSUFBSTtVQUNGRCxNQUFNLENBQUNHLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxJQUFYLENBQUQsQ0FBTjtRQUNELENBRkQsQ0FFRSxPQUFPSSxHQUFQLEVBQVk7VUFDWkwsTUFBTSxDQUFDQyxJQUFELENBQU47UUFDRDtNQUNGLENBUkgsRUFTR0ssS0FUSCxDQVNTTixNQVRUO0lBVUQsQ0FYTSxDQUFQO0VBWUQ7O0VBQ0QsT0FBT0osUUFBUSxDQUFDVyxJQUFULEVBQVA7QUFDRCxDQXJCRDs7QUF1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
@@ -0,0 +1,6 @@
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 & {
5
+ publicKey: string;
6
+ })>;
package/dist/cache.js ADDED
@@ -0,0 +1,4 @@
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiTWFwIiwibm9kZXNDYWNoZSIsInVzZXJzQ2FjaGUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxOb2RlLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsTm9kZUZ1bGxcbn0gZnJvbSBcIi4vY2xpZW50L3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGVybmFsRmlsZT4oKTtcblxuZXhwb3J0IGNvbnN0IG5vZGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOb2RlIHwgSW50ZXJuYWxOb2RlRnVsbD4oKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzQ2FjaGUgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIFVzZXIgfCBVc2VyPHsgd2l0aFB1YmxpY0tleTogdHJ1ZSB9PlxuPigpO1xuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxJQUFJQyxHQUFKLEVBQW5CO0FBRVAsT0FBTyxNQUFNQyxVQUFVLEdBQUcsSUFBSUQsR0FBSixFQUFuQjtBQUVQLE9BQU8sTUFBTUUsVUFBVSxHQUFHLElBQUlGLEdBQUosRUFBbkIifQ==
@@ -0,0 +1,11 @@
1
+ import type { PlanKind, SecrecyEnv, SuccessResponse, User } from "../../index.js";
2
+ import { BaseClient } from "../../BaseClient.js";
3
+ import type { ErrorAccessDenied } from "../../error.js";
4
+ export declare type UserAdminPanel = User<{
5
+ withPublicKey: false;
6
+ }>;
7
+ export declare class AdminSecrecyClient extends BaseClient {
8
+ userList(search?: string | null | undefined): Promise<SuccessResponse<UserAdminPanel[]> | ErrorAccessDenied | null>;
9
+ changeUserPlan(userId: string, plan: PlanKind): Promise<SuccessResponse<UserAdminPanel> | ErrorAccessDenied | null>;
10
+ }
11
+ export declare function getSecrecyAdminClient(env: SecrecyEnv, session?: boolean | undefined): AdminSecrecyClient | null;
@@ -0,0 +1,110 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import { storeBuddy } from "../../utils/store-buddy.js";
3
+ import { BaseClient } from "../../BaseClient.js";
4
+ const userSelector = {
5
+ id: true,
6
+ firstname: true,
7
+ lastname: true,
8
+ lang: true,
9
+ email: true,
10
+ phone: true,
11
+ role: true,
12
+ deletedAt: true,
13
+ lastLogin: true
14
+ };
15
+ export class AdminSecrecyClient extends BaseClient {
16
+ async userList(search) {
17
+ const {
18
+ userList
19
+ } = await this.client("query", {
20
+ scalars: {
21
+ DateTime: {
22
+ decode: e => new Date(e),
23
+ encode: e => e.toISOString()
24
+ }
25
+ }
26
+ })({
27
+ userList: [{
28
+ search
29
+ }, {
30
+ "...on ErrorAccessDenied": {
31
+ __typename: true,
32
+ message: true
33
+ },
34
+ "...on UserListResponse": {
35
+ __typename: true,
36
+ userList: userSelector
37
+ }
38
+ }]
39
+ });
40
+
41
+ if (!userList) {
42
+ return null;
43
+ }
44
+
45
+ if (userList.__typename === "ErrorAccessDenied") {
46
+ return userList;
47
+ }
48
+
49
+ return {
50
+ __typename: "SuccessResponse",
51
+ data: userList.userList
52
+ };
53
+ }
54
+
55
+ async changeUserPlan(userId, plan) {
56
+ const {
57
+ changeUserPlan
58
+ } = await this.client("mutation", {
59
+ scalars: {
60
+ DateTime: {
61
+ decode: e => new Date(e),
62
+ encode: e => e.toISOString()
63
+ }
64
+ }
65
+ })({
66
+ changeUserPlan: [{
67
+ userId,
68
+ plan
69
+ }, {
70
+ "...on ErrorAccessDenied": {
71
+ __typename: true,
72
+ message: true
73
+ },
74
+ "...on ChangeUserPlanResponse": {
75
+ __typename: true,
76
+ changeUserPlan: userSelector
77
+ }
78
+ }]
79
+ });
80
+
81
+ if (!changeUserPlan) {
82
+ return null;
83
+ }
84
+
85
+ if (changeUserPlan.__typename === "ErrorAccessDenied") {
86
+ return changeUserPlan;
87
+ }
88
+
89
+ if (!changeUserPlan.changeUserPlan) {
90
+ return null;
91
+ }
92
+
93
+ return {
94
+ __typename: "SuccessResponse",
95
+ data: changeUserPlan.changeUserPlan
96
+ };
97
+ }
98
+
99
+ }
100
+ export function getSecrecyAdminClient(env, session) {
101
+ const userSession = storeBuddy("secrecy.user_session", session).init("");
102
+ const uaSession = userSession.load();
103
+
104
+ if (uaSession === "") {
105
+ return null;
106
+ }
107
+
108
+ return new AdminSecrecyClient(uaSession, env);
109
+ }
110
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiQmFzZUNsaWVudCIsInVzZXJTZWxlY3RvciIsImlkIiwiZmlyc3RuYW1lIiwibGFzdG5hbWUiLCJsYW5nIiwiZW1haWwiLCJwaG9uZSIsInJvbGUiLCJkZWxldGVkQXQiLCJsYXN0TG9naW4iLCJBZG1pblNlY3JlY3lDbGllbnQiLCJ1c2VyTGlzdCIsInNlYXJjaCIsImNsaWVudCIsInNjYWxhcnMiLCJEYXRlVGltZSIsImRlY29kZSIsImUiLCJEYXRlIiwiZW5jb2RlIiwidG9JU09TdHJpbmciLCJfX3R5cGVuYW1lIiwibWVzc2FnZSIsImRhdGEiLCJjaGFuZ2VVc2VyUGxhbiIsInVzZXJJZCIsInBsYW4iLCJnZXRTZWNyZWN5QWRtaW5DbGllbnQiLCJlbnYiLCJzZXNzaW9uIiwidXNlclNlc3Npb24iLCJpbml0IiwidWFTZXNzaW9uIiwibG9hZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvYWRtaW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgdHlwZSB7XG4gIFBsYW5LaW5kLFxuICBTZWNyZWN5RW52LFxuICBTdWNjZXNzUmVzcG9uc2UsXG4gIFVzZXJcbn0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBzdG9yZUJ1ZGR5IH0gZnJvbSBcIi4uLy4uL3V0aWxzL3N0b3JlLWJ1ZGR5LmpzXCI7XG5pbXBvcnQgeyBCYXNlQ2xpZW50IH0gZnJvbSBcIi4uLy4uL0Jhc2VDbGllbnQuanNcIjtcbmltcG9ydCB0eXBlIHsgRXJyb3JBY2Nlc3NEZW5pZWQgfSBmcm9tIFwiLi4vLi4vZXJyb3IuanNcIjtcblxuLyogVE9ET1xuLSBxdWVyeSBwb3VyIGxpc3RlciBsZXMgdXNlcnMgYXZlYyBwYWdpbmF0aW9uIGV0IGlucHV0IG9wdGlvbm5lbCBcInNlYXJjaFwiIGV0IGJvb2xlYW4gcG91ciBmaWx0cmVyIGxlcyBiYW5zXG4tIG11dGF0aW9uIGNoYW5nZXIgbGUgcGxhbiBkJ3VuIHVzZXIgKHNhbnMgcGF5ZXIgZHUgY291cClcbi0gcXVlcnkgcG91ciByZW52b3llciBsZXMgYXBwcyBkJ3VuIHVzZXJcbi0gcXVlcnkgcG91ciBkb25uZXIgbGVzIGxpbWl0ZXMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZG9ubmVyIGxlcyByZXBvcnRzIGQndW4gdXNlclxuLSBtdXRhdGlvbiBwb3VyIGJhbiB1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZ2V0IGxlcyBiYW5zIGQndW4gdXNlclxuLSBtdXRhdGlvbiBwb3VyIGRlbGV0ZSB1biB1c2VyIChkw6lqw6AgZXhpc3RhbnQ/KVxuLSBtdXRhdGlvbiBjaGFuZ2VyIGxlIHJvbGUgZHUgdXNlciAodXNlci9hZG1pbilcbi0gbXV0YXRpb24gcG91ciBkw6ljbyB1bmUgb3UgZGVzIHNlc3Npb25zIG1ldGEgb3UgYXBwIGQndW4gdXNlclxuLSBxdWVyeSBhZmZpY2hlciBsZXMgc2Vzc2lvbnMgbWV0YSBvdSBhcHAgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgZGVzIGluZm9zIHN1ciBsZSBjbG91ZCBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUsIHJlc3RvcmUsIGRlbGV0ZSB0cmFzaCwgZGFucyBsZSBjbG91ZCBkJ3VuIHVzZXJcbi0gcXVlcnkgcG91ciBhZmZpY2hlciBsZXMgaW5mb3Mgc3VyIGxlcyBtYWlscyBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUsIHJlc3RvcmUsIGRlbGV0ZSB0cmFzaCwgZGFucyBsZXMgbWFpbHMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgbGVzIGxpbWl0ZXMgbWF4IGV0IGFjdHVlbHMgZCd1biB1c2VyXG4tIHF1ZXJ5IGRlIHN0YXRzP1xuKi9cblxuZXhwb3J0IHR5cGUgVXNlckFkbWluUGFuZWwgPSBVc2VyPHsgd2l0aFB1YmxpY0tleTogZmFsc2UgfT47XG5jb25zdCB1c2VyU2VsZWN0b3IgPSB7XG4gIGlkOiB0cnVlLFxuICBmaXJzdG5hbWU6IHRydWUsXG4gIGxhc3RuYW1lOiB0cnVlLFxuICBsYW5nOiB0cnVlLFxuICBlbWFpbDogdHJ1ZSxcbiAgcGhvbmU6IHRydWUsXG4gIHJvbGU6IHRydWUsXG4gIGRlbGV0ZWRBdDogdHJ1ZSxcbiAgbGFzdExvZ2luOiB0cnVlXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY2xhc3MgQWRtaW5TZWNyZWN5Q2xpZW50IGV4dGVuZHMgQmFzZUNsaWVudCB7XG4gIGFzeW5jIHVzZXJMaXN0KFxuICAgIHNlYXJjaD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlckFkbWluUGFuZWxbXT4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGw+IHtcbiAgICBjb25zdCB7IHVzZXJMaXN0IH0gPSBhd2FpdCB0aGlzLmNsaWVudChcInF1ZXJ5XCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgdXNlckxpc3Q6IFtcbiAgICAgICAge1xuICAgICAgICAgIHNlYXJjaFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBVc2VyTGlzdFJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICB1c2VyTGlzdDogdXNlclNlbGVjdG9yXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXJMaXN0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodXNlckxpc3QuX190eXBlbmFtZSA9PT0gXCJFcnJvckFjY2Vzc0RlbmllZFwiKSB7XG4gICAgICByZXR1cm4gdXNlckxpc3Q7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiB1c2VyTGlzdC51c2VyTGlzdFxuICAgIH07XG4gIH1cblxuICBhc3luYyBjaGFuZ2VVc2VyUGxhbihcbiAgICB1c2VySWQ6IHN0cmluZyxcbiAgICBwbGFuOiBQbGFuS2luZFxuICApOiBQcm9taXNlPFN1Y2Nlc3NSZXNwb25zZTxVc2VyQWRtaW5QYW5lbD4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGw+IHtcbiAgICBjb25zdCB7IGNoYW5nZVVzZXJQbGFuIH0gPSBhd2FpdCB0aGlzLmNsaWVudChcIm11dGF0aW9uXCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgY2hhbmdlVXNlclBsYW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgICBwbGFuXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIENoYW5nZVVzZXJQbGFuUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGNoYW5nZVVzZXJQbGFuOiB1c2VyU2VsZWN0b3JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGlmICghY2hhbmdlVXNlclBsYW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VVc2VyUGxhbi5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VVc2VyUGxhbjtcbiAgICB9XG5cbiAgICBpZiAoIWNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IGNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VjcmVjeUFkbWluQ2xpZW50KFxuICBlbnY6IFNlY3JlY3lFbnYsXG4gIHNlc3Npb24/OiBib29sZWFuIHwgdW5kZWZpbmVkXG4pOiBBZG1pblNlY3JlY3lDbGllbnQgfCBudWxsIHtcbiAgY29uc3QgdXNlclNlc3Npb24gPSBzdG9yZUJ1ZGR5PHN0cmluZz4oYHNlY3JlY3kudXNlcl9zZXNzaW9uYCwgc2Vzc2lvbikuaW5pdChcbiAgICBcIlwiXG4gICk7XG4gIGNvbnN0IHVhU2Vzc2lvbiA9IHVzZXJTZXNzaW9uLmxvYWQoKTtcbiAgaWYgKHVhU2Vzc2lvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBBZG1pblNlY3JlY3lDbGllbnQodWFTZXNzaW9uLCBlbnYpO1xufVxuIl0sIm1hcHBp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
@@ -1,5 +1,5 @@
1
1
  import type { KeyPair } from "../../crypto/index.js";
2
- import type { GQLFile, InternalFile, File } from "../types/index.js";
2
+ import type { GQLFile, InternalFile, FileMetadata } from "../types/index.js";
3
3
  export declare function gqlFileToInternal(gql: GQLFile, keyPair: KeyPair): InternalFile;
4
- export declare function internalFileToFile(internal: InternalFile): File;
5
- export declare function gqlFileToExternal(gql: GQLFile, keyPair: KeyPair): File;
4
+ export declare function internalFileToFile(internal: InternalFile): FileMetadata;
5
+ export declare function gqlFileToExternal(gql: GQLFile, keyPair: KeyPair): FileMetadata;
@@ -0,0 +1,34 @@
1
+ import { filesCache } from "../../cache.js";
2
+ import { decryptCryptoBox } from "../../crypto/index.js";
3
+ import { sodium } from "../../sodium.js";
4
+ export function gqlFileToInternal(gql, keyPair) {
5
+ if (!gql.access || !gql.access.sharedBy.keyPair) {
6
+ throw "File " + gql.id + " doesn't have access";
7
+ }
8
+
9
+ const file = {
10
+ id: gql.id,
11
+ md5: gql.md5,
12
+ md5Encrypted: gql.md5Encrypted,
13
+ createdAt: new Date(gql.createdAt),
14
+ size: BigInt(gql.size),
15
+ sizeBefore: BigInt(gql.sizeBefore),
16
+ key: sodium.to_hex(decryptCryptoBox(sodium.from_hex(gql.access.key), gql.access.sharedBy.keyPair.pub, keyPair.privateKey))
17
+ };
18
+ filesCache.set(file.id, file);
19
+ return file;
20
+ }
21
+ export function internalFileToFile(internal) {
22
+ return {
23
+ id: internal.id,
24
+ md5: internal.md5,
25
+ md5Encrypted: internal.md5Encrypted,
26
+ createdAt: internal.createdAt,
27
+ size: internal.size,
28
+ sizeBefore: internal.sizeBefore
29
+ };
30
+ }
31
+ export function gqlFileToExternal(gql, keyPair) {
32
+ return internalFileToFile(gqlFileToInternal(gql, keyPair));
33
+ }
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiZGVjcnlwdENyeXB0b0JveCIsInNvZGl1bSIsImdxbEZpbGVUb0ludGVybmFsIiwiZ3FsIiwia2V5UGFpciIsImFjY2VzcyIsInNoYXJlZEJ5IiwiaWQiLCJmaWxlIiwibWQ1IiwibWQ1RW5jcnlwdGVkIiwiY3JlYXRlZEF0IiwiRGF0ZSIsInNpemUiLCJCaWdJbnQiLCJzaXplQmVmb3JlIiwia2V5IiwidG9faGV4IiwiZnJvbV9oZXgiLCJwdWIiLCJwcml2YXRlS2V5Iiwic2V0IiwiaW50ZXJuYWxGaWxlVG9GaWxlIiwiaW50ZXJuYWwiLCJncWxGaWxlVG9FeHRlcm5hbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbGVzQ2FjaGUgfSBmcm9tIFwiLi4vLi4vY2FjaGUuanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5UGFpciB9IGZyb20gXCIuLi8uLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB7IGRlY3J5cHRDcnlwdG9Cb3ggfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBzb2RpdW0gfSBmcm9tIFwiLi4vLi4vc29kaXVtLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEdRTEZpbGUsIEludGVybmFsRmlsZSwgRmlsZU1ldGFkYXRhIH0gZnJvbSBcIi4uL3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBncWxGaWxlVG9JbnRlcm5hbChcbiAgZ3FsOiBHUUxGaWxlLFxuICBrZXlQYWlyOiBLZXlQYWlyXG4pOiBJbnRlcm5hbEZpbGUge1xuICBpZiAoIWdxbC5hY2Nlc3MgfHwgIWdxbC5hY2Nlc3Muc2hhcmVkQnkua2V5UGFpcikge1xuICAgIHRocm93IGBGaWxlICR7Z3FsLmlkfSBkb2Vzbid0IGhhdmUgYWNjZXNzYDtcbiAgfVxuXG4gIGNvbnN0IGZpbGU6IEludGVybmFsRmlsZSA9IHtcbiAgICBpZDogZ3FsLmlkLFxuICAgIG1kNTogZ3FsLm1kNSxcbiAgICBtZDVFbmNyeXB0ZWQ6IGdxbC5tZDVFbmNyeXB0ZWQsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShncWwuY3JlYXRlZEF0IGFzIHN0cmluZyksXG4gICAgc2l6ZTogQmlnSW50KGdxbC5zaXplIGFzIHN0cmluZyksXG4gICAgc2l6ZUJlZm9yZTogQmlnSW50KGdxbC5zaXplQmVmb3JlIGFzIHN0cmluZyksXG4gICAga2V5OiBzb2RpdW0udG9faGV4KFxuICAgICAgZGVjcnlwdENyeXB0b0JveChcbiAgICAgICAgc29kaXVtLmZyb21faGV4KGdxbC5hY2Nlc3Mua2V5KSxcbiAgICAgICAgZ3FsLmFjY2Vzcy5zaGFyZWRCeS5rZXlQYWlyLnB1YixcbiAgICAgICAga2V5UGFpci5wcml2YXRlS2V5XG4gICAgICApXG4gICAgKVxuICB9O1xuXG4gIGZpbGVzQ2FjaGUuc2V0KGZpbGUuaWQsIGZpbGUpO1xuICByZXR1cm4gZmlsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVybmFsRmlsZVRvRmlsZShpbnRlcm5hbDogSW50ZXJuYWxGaWxlKTogRmlsZU1ldGFkYXRhIHtcbiAgcmV0dXJuIHtcbiAgICBpZDogaW50ZXJuYWwuaWQsXG4gICAgbWQ1OiBpbnRlcm5hbC5tZDUsXG4gICAgbWQ1RW5jcnlwdGVkOiBpbnRlcm5hbC5tZDVFbmNyeXB0ZWQsXG4gICAgY3JlYXRlZEF0OiBpbnRlcm5hbC5jcmVhdGVkQXQsXG4gICAgc2l6ZTogaW50ZXJuYWwuc2l6ZSxcbiAgICBzaXplQmVmb3JlOiBpbnRlcm5hbC5zaXplQmVmb3JlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncWxGaWxlVG9FeHRlcm5hbChcbiAgZ3FsOiBHUUxGaWxlLFxuICBrZXlQYWlyOiBLZXlQYWlyXG4pOiBGaWxlTWV0YWRhdGEge1xuICByZXR1cm4gaW50ZXJuYWxGaWxlVG9GaWxlKGdxbEZpbGVUb0ludGVybmFsKGdxbCwga2V5UGFpcikpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFULFFBQTJCLGdCQUEzQjtBQUVBLFNBQVNDLGdCQUFULFFBQWlDLHVCQUFqQztBQUNBLFNBQVNDLE1BQVQsUUFBdUIsaUJBQXZCO0FBR0EsT0FBTyxTQUFTQyxpQkFBVCxDQUNMQyxHQURLLEVBRUxDLE9BRkssRUFHUztFQUNkLElBQUksQ0FBQ0QsR0FBRyxDQUFDRSxNQUFMLElBQWUsQ0FBQ0YsR0FBRyxDQUFDRSxNQUFKLENBQVdDLFFBQVgsQ0FBb0JGLE9BQXhDLEVBQWlEO0lBQy9DLGdCQUFjRCxHQUFHLENBQUNJLEVBQWxCO0VBQ0Q7O0VBRUQsTUFBTUMsSUFBa0IsR0FBRztJQUN6QkQsRUFBRSxFQUFFSixHQUFHLENBQUNJLEVBRGlCO0lBRXpCRSxHQUFHLEVBQUVOLEdBQUcsQ0FBQ00sR0FGZ0I7SUFHekJDLFlBQVksRUFBRVAsR0FBRyxDQUFDTyxZQUhPO0lBSXpCQyxTQUFTLEVBQUUsSUFBSUMsSUFBSixDQUFTVCxHQUFHLENBQUNRLFNBQWIsQ0FKYztJQUt6QkUsSUFBSSxFQUFFQyxNQUFNLENBQUNYLEdBQUcsQ0FBQ1UsSUFBTCxDQUxhO0lBTXpCRSxVQUFVLEVBQUVELE1BQU0sQ0FBQ1gsR0FBRyxDQUFDWSxVQUFMLENBTk87SUFPekJDLEdBQUcsRUFBRWYsTUFBTSxDQUFDZ0IsTUFBUCxDQUNIakIsZ0JBQWdCLENBQ2RDLE1BQU0sQ0FBQ2lCLFFBQVAsQ0FBZ0JmLEdBQUcsQ0FBQ0UsTUFBSixDQUFXVyxHQUEzQixDQURjLEVBRWRiLEdBQUcsQ0FBQ0UsTUFBSixDQUFXQyxRQUFYLENBQW9CRixPQUFwQixDQUE0QmUsR0FGZCxFQUdkZixPQUFPLENBQUNnQixVQUhNLENBRGI7RUFQb0IsQ0FBM0I7RUFnQkFyQixVQUFVLENBQUNzQixHQUFYLENBQWViLElBQUksQ0FBQ0QsRUFBcEIsRUFBd0JDLElBQXhCO0VBQ0EsT0FBT0EsSUFBUDtBQUNEO0FBRUQsT0FBTyxTQUFTYyxrQkFBVCxDQUE0QkMsUUFBNUIsRUFBa0U7RUFDdkUsT0FBTztJQUNMaEIsRUFBRSxFQUFFZ0IsUUFBUSxDQUFDaEIsRUFEUjtJQUVMRSxHQUFHLEVBQUVjLFFBQVEsQ0FBQ2QsR0FGVDtJQUdMQyxZQUFZLEVBQUVhLFFBQVEsQ0FBQ2IsWUFIbEI7SUFJTEMsU0FBUyxFQUFFWSxRQUFRLENBQUNaLFNBSmY7SUFLTEUsSUFBSSxFQUFFVSxRQUFRLENBQUNWLElBTFY7SUFNTEUsVUFBVSxFQUFFUSxRQUFRLENBQUNSO0VBTmhCLENBQVA7QUFRRDtBQUVELE9BQU8sU0FBU1MsaUJBQVQsQ0FDTHJCLEdBREssRUFFTEMsT0FGSyxFQUdTO0VBQ2QsT0FBT2tCLGtCQUFrQixDQUFDcEIsaUJBQWlCLENBQUNDLEdBQUQsRUFBTUMsT0FBTixDQUFsQixDQUF6QjtBQUNEIn0=
File without changes
@@ -0,0 +1,46 @@
1
+ import { sodium, decryptCryptoBox } from "../../index.js";
2
+ export function convertInternalMailToExternal(data, keys) {
3
+ var _mI$replyTo;
4
+
5
+ if (data.mailIntegrityDraft) {
6
+ data.type = "draft";
7
+ }
8
+
9
+ const mI = data.type === "draft" ? data.mailIntegrityDraft : data.mailIntegrity;
10
+
11
+ if (!mI) {
12
+ return null;
13
+ }
14
+
15
+ const pubKey = data.type === "received" ? data.sender.publicKey : keys.publicKey;
16
+ const body = sodium.to_string(decryptCryptoBox(sodium.from_hex(data.body), pubKey, keys.privateKey));
17
+ const subject = sodium.to_string(decryptCryptoBox(sodium.from_hex(data.subject), pubKey, keys.privateKey));
18
+ const hash = sodium.crypto_generichash(sodium.crypto_generichash_BYTES, JSON.stringify({
19
+ body,
20
+ subject
21
+ }), mI.hashKey, "hex");
22
+ return {
23
+ type: data.type,
24
+ id: data.id,
25
+ mailIntegrityId: mI.id,
26
+ replyTo: (_mI$replyTo = mI.replyTo) == null ? void 0 : _mI$replyTo.id,
27
+ body,
28
+ subject,
29
+ createdAt: new Date(data.createdAt),
30
+ deletedAt: data.deletedAt ? new Date(data.deletedAt) : null,
31
+ openedAt: data.openedAt ? new Date(data.openedAt) : null,
32
+ isAltered: hash !== mI.hash,
33
+ temporaryRecipients: mI.temporaryRecipients,
34
+ recipients: data.type === "draft" ? mI.recipients : data.recipients,
35
+ sender: data.sender,
36
+ files: data.files.map(f => {
37
+ const name = sodium.to_string(decryptCryptoBox(sodium.from_hex(f.filename), pubKey, keys.privateKey));
38
+ return {
39
+ id: f.file.id,
40
+ name,
41
+ key: f.fileKey
42
+ };
43
+ })
44
+ };
45
+ }
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzb2RpdW0iLCJkZWNyeXB0Q3J5cHRvQm94IiwiY29udmVydEludGVybmFsTWFpbFRvRXh0ZXJuYWwiLCJkYXRhIiwia2V5cyIsIm1haWxJbnRlZ3JpdHlEcmFmdCIsInR5cGUiLCJtSSIsIm1haWxJbnRlZ3JpdHkiLCJwdWJLZXkiLCJzZW5kZXIiLCJwdWJsaWNLZXkiLCJib2R5IiwidG9fc3RyaW5nIiwiZnJvbV9oZXgiLCJwcml2YXRlS2V5Iiwic3ViamVjdCIsImhhc2giLCJjcnlwdG9fZ2VuZXJpY2hhc2giLCJjcnlwdG9fZ2VuZXJpY2hhc2hfQllURVMiLCJKU09OIiwic3RyaW5naWZ5IiwiaGFzaEtleSIsImlkIiwibWFpbEludGVncml0eUlkIiwicmVwbHlUbyIsImNyZWF0ZWRBdCIsIkRhdGUiLCJkZWxldGVkQXQiLCJvcGVuZWRBdCIsImlzQWx0ZXJlZCIsInRlbXBvcmFyeVJlY2lwaWVudHMiLCJyZWNpcGllbnRzIiwiZmlsZXMiLCJtYXAiLCJmIiwibmFtZSIsImZpbGVuYW1lIiwiZmlsZSIsImtleSIsImZpbGVLZXkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L2NvbnZlcnQvbWFpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsTWFpbCwgTWFpbCB9IGZyb20gXCIuLi90eXBlcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgc29kaXVtLCBkZWNyeXB0Q3J5cHRvQm94IH0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0SW50ZXJuYWxNYWlsVG9FeHRlcm5hbChcbiAgZGF0YTogSW50ZXJuYWxNYWlsLFxuICBrZXlzOiBLZXlQYWlyXG4pOiBNYWlsIHwgbnVsbCB7XG4gIGlmIChkYXRhLm1haWxJbnRlZ3JpdHlEcmFmdCkge1xuICAgIGRhdGEudHlwZSA9IFwiZHJhZnRcIjtcbiAgfVxuXG4gIGNvbnN0IG1JID1cbiAgICBkYXRhLnR5cGUgPT09IFwiZHJhZnRcIiA/IGRhdGEubWFpbEludGVncml0eURyYWZ0IDogZGF0YS5tYWlsSW50ZWdyaXR5O1xuXG4gIGlmICghbUkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHB1YktleSA9XG4gICAgZGF0YS50eXBlID09PSBcInJlY2VpdmVkXCIgPyBkYXRhLnNlbmRlci5wdWJsaWNLZXkgOiBrZXlzLnB1YmxpY0tleTtcblxuICBjb25zdCBib2R5ID0gc29kaXVtLnRvX3N0cmluZyhcbiAgICBkZWNyeXB0Q3J5cHRvQm94KHNvZGl1bS5mcm9tX2hleChkYXRhLmJvZHkpLCBwdWJLZXksIGtleXMucHJpdmF0ZUtleSlcbiAgKTtcblxuICBjb25zdCBzdWJqZWN0ID0gc29kaXVtLnRvX3N0cmluZyhcbiAgICBkZWNyeXB0Q3J5cHRvQm94KHNvZGl1bS5mcm9tX2hleChkYXRhLnN1YmplY3QpLCBwdWJLZXksIGtleXMucHJpdmF0ZUtleSlcbiAgKTtcblxuICBjb25zdCBoYXNoID0gc29kaXVtLmNyeXB0b19nZW5lcmljaGFzaChcbiAgICBzb2RpdW0uY3J5cHRvX2dlbmVyaWNoYXNoX0JZVEVTLFxuICAgIEpTT04uc3RyaW5naWZ5KHsgYm9keSwgc3ViamVjdCB9KSxcbiAgICBtSS5oYXNoS2V5LFxuICAgIFwiaGV4XCJcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIHR5cGU6IGRhdGEudHlwZSxcbiAgICBpZDogZGF0YS5pZCxcbiAgICBtYWlsSW50ZWdyaXR5SWQ6IG1JLmlkLFxuICAgIHJlcGx5VG86IG1JLnJlcGx5VG8/LmlkLFxuICAgIGJvZHksXG4gICAgc3ViamVjdCxcbiAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKGRhdGEuY3JlYXRlZEF0KSxcbiAgICBkZWxldGVkQXQ6IGRhdGEuZGVsZXRlZEF0ID8gbmV3IERhdGUoZGF0YS5kZWxldGVkQXQpIDogbnVsbCxcbiAgICBvcGVuZWRBdDogZGF0YS5vcGVuZWRBdCA/IG5ldyBEYXRlKGRhdGEub3BlbmVkQXQpIDogbnVsbCxcbiAgICBpc0FsdGVyZWQ6IGhhc2ggIT09IG1JLmhhc2gsXG4gICAgdGVtcG9yYXJ5UmVjaXBpZW50czogbUkudGVtcG9yYXJ5UmVjaXBpZW50cyxcbiAgICByZWNpcGllbnRzOiBkYXRhLnR5cGUgPT09IFwiZHJhZnRcIiA/IG1JLnJlY2lwaWVudHMgOiBkYXRhLnJlY2lwaWVudHMsXG4gICAgc2VuZGVyOiBkYXRhLnNlbmRlcixcbiAgICBmaWxlczogZGF0YS5maWxlcy5tYXAoZiA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gc29kaXVtLnRvX3N0cmluZyhcbiAgICAgICAgZGVjcnlwdENyeXB0b0JveChzb2RpdW0uZnJvbV9oZXgoZi5maWxlbmFtZSksIHB1YktleSwga2V5cy5wcml2YXRlS2V5KVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGYuZmlsZS5pZCxcbiAgICAgICAgbmFtZSxcbiAgICAgICAga2V5OiBmLmZpbGVLZXlcbiAgICAgIH07XG4gICAgfSlcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsTUFBVCxFQUFpQkMsZ0JBQWpCLFFBQXlDLGdCQUF6QztBQUVBLE9BQU8sU0FBU0MsNkJBQVQsQ0FDTEMsSUFESyxFQUVMQyxJQUZLLEVBR1E7RUFBQTs7RUFDYixJQUFJRCxJQUFJLENBQUNFLGtCQUFULEVBQTZCO0lBQzNCRixJQUFJLENBQUNHLElBQUwsR0FBWSxPQUFaO0VBQ0Q7O0VBRUQsTUFBTUMsRUFBRSxHQUNOSixJQUFJLENBQUNHLElBQUwsS0FBYyxPQUFkLEdBQXdCSCxJQUFJLENBQUNFLGtCQUE3QixHQUFrREYsSUFBSSxDQUFDSyxhQUR6RDs7RUFHQSxJQUFJLENBQUNELEVBQUwsRUFBUztJQUNQLE9BQU8sSUFBUDtFQUNEOztFQUVELE1BQU1FLE1BQU0sR0FDVk4sSUFBSSxDQUFDRyxJQUFMLEtBQWMsVUFBZCxHQUEyQkgsSUFB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
@@ -0,0 +1,9 @@
1
+ import type { KeyPair } from "../../crypto/index.js";
2
+ import type { Node } from "../types/index.js";
3
+ import type { GQLNode, InternalNode, GQLNodeFull, InternalNodeFull, NodeFull } from "../types/index.js";
4
+ export declare function gqlNodeToInternal(gql: GQLNode, keyPair: KeyPair): Promise<InternalNode>;
5
+ export declare function gqlNodeFullToInternalFull(gql: GQLNodeFull, keyPair: KeyPair): Promise<InternalNodeFull>;
6
+ export declare function internalNodeToNode(internal: InternalNode): Node;
7
+ export declare function internalNodeFullToNodeFull(internal: InternalNodeFull): NodeFull;
8
+ export declare function gqlNodeToExternalNodeFull(gql: GQLNodeFull, keyPair: KeyPair): Promise<NodeFull>;
9
+ export declare function gqlNodeToExternal(gql: GQLNode, keyPair: KeyPair): Promise<Node>;