@secrecy/lib 1.0.0-dev.27 → 1.0.0-dev.28

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 (154) hide show
  1. package/dist/BaseClient.d.ts +274 -0
  2. package/dist/BaseClient.js +2227 -0
  3. package/dist/PopupTools.d.ts +17 -0
  4. package/dist/PopupTools.js +213 -0
  5. package/dist/ZeusThunder.d.ts +2 -0
  6. package/dist/ZeusThunder.js +113 -0
  7. package/dist/cache.d.ts +7 -0
  8. package/dist/cache.js +5 -0
  9. package/dist/client/admin/index.d.ts +11 -0
  10. package/dist/client/admin/index.js +198 -0
  11. package/dist/client/convert/file.d.ts +5 -0
  12. package/dist/client/convert/file.js +39 -0
  13. package/dist/client/convert/folder.d.ts +8 -0
  14. package/dist/client/convert/folder.js +264 -0
  15. package/dist/client/convert/mail.d.ts +3 -0
  16. package/dist/client/convert/mail.js +46 -0
  17. package/dist/client/convert/vFile.d.ts +5 -0
  18. package/dist/client/convert/vFile.js +164 -0
  19. package/dist/client/helpers.d.ts +23 -0
  20. package/dist/client/helpers.js +114 -0
  21. package/dist/client/index.d.ts +172 -0
  22. package/dist/client/index.js +6169 -0
  23. package/dist/client/storage.d.ts +7 -0
  24. package/dist/client/storage.js +12 -0
  25. package/dist/client/types/File.d.ts +21 -0
  26. package/dist/client/types/File.js +3 -0
  27. package/dist/client/types/FilesOnUsersOnApplications.d.ts +9 -0
  28. package/dist/client/types/FilesOnUsersOnApplications.js +3 -0
  29. package/dist/client/types/Folder.d.ts +68 -0
  30. package/dist/client/types/Folder.js +7 -0
  31. package/dist/client/types/Inputs.d.ts +21 -0
  32. package/dist/client/types/Inputs.js +3 -0
  33. package/dist/client/types/UserAppNotifications.d.ts +6 -0
  34. package/dist/client/types/UserAppNotifications.js +3 -0
  35. package/dist/client/types/UserAppSettings.d.ts +7 -0
  36. package/dist/client/types/UserAppSettings.js +3 -0
  37. package/dist/client/types/VFile.d.ts +62 -0
  38. package/dist/client/types/VFile.js +4 -0
  39. package/dist/client/types/index.d.ts +154 -0
  40. package/dist/client/types/index.js +10 -0
  41. package/dist/client/types/queries.d.ts +535 -0
  42. package/dist/client/types/queries.js +192 -0
  43. package/dist/crypto/file.d.ts +14 -0
  44. package/dist/crypto/file.js +291 -0
  45. package/dist/crypto/index.d.ts +12 -0
  46. package/dist/crypto/index.js +45 -0
  47. package/dist/error.d.ts +30 -0
  48. package/dist/error.js +3 -0
  49. package/dist/index.d.ts +13 -3857
  50. package/dist/index.js +42 -255
  51. package/dist/minify/index.d.ts +2 -0
  52. package/dist/minify/index.js +28 -0
  53. package/dist/minify/lz4.d.ts +5 -0
  54. package/dist/minify/lz4.js +633 -0
  55. package/dist/sodium.d.ts +3 -0
  56. package/dist/sodium.js +28 -0
  57. package/dist/utils/store-buddy.d.ts +14 -0
  58. package/dist/utils/store-buddy.js +69 -0
  59. package/dist/utils/time.d.ts +10 -0
  60. package/dist/utils/time.js +22 -0
  61. package/dist/utils.d.ts +4 -0
  62. package/dist/utils.js +188 -0
  63. package/dist/worker/__mock__/sodium.worker.d.ts +19 -0
  64. package/dist/worker/__mock__/sodium.worker.js +46 -0
  65. package/dist/worker/md5.d.ts +1 -0
  66. package/dist/worker/md5.js +43 -0
  67. package/dist/worker/sodium.d.ts +3 -0
  68. package/dist/worker/sodium.js +155 -0
  69. package/dist/worker/workerCodes.d.ts +2 -0
  70. package/dist/worker/workerCodes.js +3 -0
  71. package/dist/zeus/const.d.ts +2 -0
  72. package/dist/zeus/const.js +2267 -0
  73. package/dist/zeus/index.d.ts +4043 -0
  74. package/dist/zeus/index.js +549 -0
  75. package/package.json +23 -14
  76. package/__tests__/client/client.test.ts +0 -81
  77. package/__tests__/client/folder.test.ts +0 -302
  78. package/__tests__/client/mail.test.ts +0 -476
  79. package/__tests__/client/timing.test.ts +0 -35
  80. package/__tests__/client/utils.ts +0 -41
  81. package/__tests__/client/vFile.test.ts +0 -207
  82. package/__tests__/index.test.ts +0 -171
  83. package/commitlint.config.cjs +0 -3
  84. package/dist/index.js.map +0 -1
  85. package/dist/index.mjs +0 -255
  86. package/dist/index.mjs.map +0 -1
  87. package/docs/assets/css/main.css +0 -2660
  88. package/docs/assets/images/icons.png +0 -0
  89. package/docs/assets/images/icons@2x.png +0 -0
  90. package/docs/assets/images/widgets.png +0 -0
  91. package/docs/assets/images/widgets@2x.png +0 -0
  92. package/docs/assets/js/main.js +0 -248
  93. package/docs/assets/js/search.js +0 -1
  94. package/docs/classes/baseclient.baseclient-1.html +0 -1165
  95. package/docs/classes/client.secrecyclient.html +0 -2527
  96. package/docs/enums/index.sodium.base64_variants.html +0 -205
  97. package/docs/index.html +0 -198
  98. package/docs/interfaces/client_types.draftmail.html +0 -335
  99. package/docs/interfaces/client_types.filecontentbase.html +0 -231
  100. package/docs/interfaces/client_types.filecontentcloud.html +0 -244
  101. package/docs/interfaces/client_types.filecontentreceivedmail.html +0 -244
  102. package/docs/interfaces/client_types.filecontentsentmail.html +0 -230
  103. package/docs/interfaces/client_types.receivedmail.html +0 -363
  104. package/docs/interfaces/client_types.sentmail.html +0 -335
  105. package/docs/interfaces/crypto.keypair.html +0 -202
  106. package/docs/interfaces/index.sodium.cryptobox.html +0 -185
  107. package/docs/interfaces/index.sodium.cryptokx.html +0 -185
  108. package/docs/interfaces/index.sodium.keypair.html +0 -199
  109. package/docs/interfaces/index.sodium.messagetag.html +0 -185
  110. package/docs/interfaces/index.sodium.secretbox.html +0 -185
  111. package/docs/interfaces/index.sodium.stateaddress.html +0 -171
  112. package/docs/interfaces/index.sodium.stringcryptobox.html +0 -185
  113. package/docs/interfaces/index.sodium.stringcryptokx.html +0 -185
  114. package/docs/interfaces/index.sodium.stringkeypair.html +0 -199
  115. package/docs/interfaces/index.sodium.stringmessagetag.html +0 -185
  116. package/docs/interfaces/index.sodium.stringsecretbox.html +0 -185
  117. package/docs/interfaces/utils_store_buddy.storebuddy.html +0 -333
  118. package/docs/modules/baseclient.html +0 -929
  119. package/docs/modules/cache.html +0 -185
  120. package/docs/modules/client.html +0 -207
  121. package/docs/modules/client_convert_file.html +0 -216
  122. package/docs/modules/client_convert_folder.html +0 -303
  123. package/docs/modules/client_convert_vfile.html +0 -216
  124. package/docs/modules/client_helpers.html +0 -311
  125. package/docs/modules/client_storage.html +0 -167
  126. package/docs/modules/client_types.html +0 -1227
  127. package/docs/modules/client_types_file.html +0 -233
  128. package/docs/modules/client_types_filesonusersonapplications.html +0 -168
  129. package/docs/modules/client_types_folder.html +0 -383
  130. package/docs/modules/client_types_inputs.html +0 -263
  131. package/docs/modules/client_types_mail.html +0 -181
  132. package/docs/modules/client_types_queries.html +0 -199
  133. package/docs/modules/client_types_userappsettings.html +0 -163
  134. package/docs/modules/client_types_vfile.html +0 -364
  135. package/docs/modules/crypto.html +0 -366
  136. package/docs/modules/crypto_file.html +0 -344
  137. package/docs/modules/index.html +0 -779
  138. package/docs/modules/index.sodium.html +0 -6039
  139. package/docs/modules/minify.html +0 -183
  140. package/docs/modules/minify_lz4.html +0 -279
  141. package/docs/modules/popuptools.html +0 -259
  142. package/docs/modules/sodium.html +0 -167
  143. package/docs/modules/utils.html +0 -219
  144. package/docs/modules/utils_store_buddy.html +0 -208
  145. package/docs/modules/utils_time.html +0 -330
  146. package/docs/modules/worker_md5.html +0 -156
  147. package/docs/modules/worker_sodium.html +0 -231
  148. package/docs/modules/worker_workercodes.html +0 -157
  149. package/docs/modules.html +0 -235
  150. package/index.html +0 -21
  151. package/jest.config.ts +0 -27
  152. package/jest.setup.ts +0 -6
  153. package/release.config.cjs +0 -15
  154. package/tsup.config.ts +0 -26
@@ -0,0 +1,17 @@
1
+ declare type YesNo = "yes" | "no";
2
+ declare type Options = {
3
+ width?: number;
4
+ height?: number;
5
+ menubar: YesNo;
6
+ resizable: YesNo;
7
+ location: YesNo;
8
+ scrollbars: YesNo;
9
+ centered?: boolean;
10
+ left?: number;
11
+ top?: number;
12
+ };
13
+ declare type Callback = (err?: Error, data?: unknown) => void;
14
+ export declare function popup(url: string, name: string, options: Partial<Options>, callback: Callback): Window | null;
15
+ export declare function popupWithPost(url: string, postData: Record<string, string>, name: string, options: Partial<Options>, callback: Callback): Window | null;
16
+ export declare function popupResponse<T>(data: T): string;
17
+ export {};
@@ -0,0 +1,213 @@
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
+ var defaultOptions = {
11
+ width: 700,
12
+ height: 520,
13
+ menubar: "no",
14
+ resizable: "yes",
15
+ location: "yes",
16
+ scrollbars: "no",
17
+ centered: true
18
+ };
19
+ var 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(function (_ref) {
29
+ var k = _ref[0],
30
+ v = _ref[1];
31
+ return k + "=" + v;
32
+ }).join(",");
33
+ }
34
+ /**
35
+ * Get a unique name on each call
36
+ * @return {String}
37
+ */
38
+
39
+
40
+ function defaultPopupName() {
41
+ popupCount += 1;
42
+ return "Popup " + popupCount;
43
+ }
44
+ /**
45
+ * Convert "centered: true" key into concrete left and top arguments
46
+ * Both can be overwritten
47
+ *
48
+ * @param {Object} options
49
+ * @return {Object}
50
+ */
51
+
52
+
53
+ function optionsResolveCentered(options) {
54
+ if (!options.width || !options.height) {
55
+ throw new Error("Should have width and height");
56
+ }
57
+
58
+ var result = _objectSpread({}, options);
59
+
60
+ var width = window.outerWidth - options.width;
61
+ var height = window.outerHeight - options.height;
62
+
63
+ if (options.centered) {
64
+ result.left = options.left || Math.round(window.screenX + width / 2);
65
+ result.top = options.top || Math.round(window.screenY + height / 2.5);
66
+ delete result.centered;
67
+ }
68
+
69
+ return result;
70
+ }
71
+ /**
72
+ * Create a form element, add hidden inputs for all the post data
73
+ * and post it into a newly opened popup
74
+ *
75
+ * @param {String} url
76
+ * @param {Object} postData
77
+ * @param {String} name
78
+ * @param {Object} options
79
+ * @return {Object}
80
+ */
81
+
82
+
83
+ function openPopupWithPost(url, postData, name, options) {
84
+ var _win;
85
+
86
+ var form = document.createElement("form");
87
+ var win = null;
88
+ form.setAttribute("method", "post");
89
+ form.setAttribute("action", url);
90
+ form.setAttribute("target", name);
91
+ Object.keys(postData).forEach(function addFormItem(key) {
92
+ var input = document.createElement("input");
93
+ input.type = "hidden";
94
+ input.name = key;
95
+ input.value = postData[key];
96
+ form.appendChild(input);
97
+ });
98
+ document.body.appendChild(form);
99
+ win = window.open("/", name, options);
100
+ (_win = win) == null ? void 0 : _win.document.write("Loading...");
101
+ form.submit();
102
+ document.body.removeChild(form);
103
+ return win;
104
+ }
105
+ /**
106
+ * Open a popup using the first argument. Wait for it to close.
107
+ * Returns the window object
108
+ *
109
+ * @param {Function}
110
+ * @param {String}
111
+ * @param {String}
112
+ * @param {Object}
113
+ * @param {Function}
114
+ * @return {Object}
115
+ */
116
+
117
+
118
+ function popupExecute(execute, url, name, options, callback) {
119
+ var popupName = name || defaultPopupName();
120
+ var popupOptions = optionsResolveCentered(Object.assign({}, defaultOptions, options));
121
+
122
+ var popupCallback = callback || function noop() {//
123
+ };
124
+
125
+ var optionsString = optionsToString(popupOptions);
126
+ var win = execute(url, popupName, optionsString);
127
+ var isMessageSent = false;
128
+ var interval;
129
+
130
+ function popupCallbackOnce(err, data) {
131
+ if (!isMessageSent) {
132
+ isMessageSent = true;
133
+ popupCallback(err, data);
134
+ }
135
+ }
136
+
137
+ function onMessage(message) {
138
+ var data = message ? message.data : undefined;
139
+
140
+ if (data) {
141
+ popupCallbackOnce(undefined, data);
142
+ window.removeEventListener("message", onMessage);
143
+ }
144
+ }
145
+
146
+ window.addEventListener("message", onMessage, false);
147
+
148
+ if (win) {
149
+ interval = window.setInterval(function closePopupCallback() {
150
+ if (win === null || win.closed) {
151
+ setTimeout(function delayWindowClosing() {
152
+ clearInterval(interval);
153
+ popupCallbackOnce(new Error("Popup closed"));
154
+ }, 500);
155
+ }
156
+ }, 100);
157
+ } else {
158
+ popupCallbackOnce(new Error("Popup blocked"));
159
+ }
160
+
161
+ return win;
162
+ }
163
+ /**
164
+ * Open a popup using the first argument.
165
+ * Wait for it to close and call the callback.
166
+ * Set the options string using the options object
167
+ * Returns the window object
168
+ *
169
+ * @param {String} url
170
+ * @param {String} name
171
+ * @param {Object} options
172
+ * @param {Function} callback
173
+ * @return {Object}
174
+ */
175
+
176
+
177
+ export function popup(url, name, options, callback) {
178
+ return popupExecute(window.open, url, name, options, callback);
179
+ }
180
+ /**
181
+ * Open a popup using the first argument.
182
+ * Post the data into the open popup.
183
+ * Wait for it to close and call the callback.
184
+ * Set the options string using the options object
185
+ * Returns the window object
186
+ *
187
+ * @param {String} url
188
+ * @param {Object} postData
189
+ * @param {String} name
190
+ * @param {Object} options
191
+ * @param {Function} callback
192
+ * @return {Object}
193
+ */
194
+
195
+ export function popupWithPost(url, postData, name, options, callback) {
196
+ function openWithPostData(popupUrl, popupName, optionsString) {
197
+ return openPopupWithPost(popupUrl, postData, popupName, optionsString);
198
+ }
199
+
200
+ return popupExecute(openWithPostData, url, name, options, callback);
201
+ }
202
+ /**
203
+ * Return html that when executed, will trigger the popup to callback with a response
204
+ *
205
+ * @param {Object}
206
+ * @return {String}
207
+ */
208
+
209
+ export function popupResponse(data) {
210
+ var jsonData = JSON.stringify(data);
211
+ return "<script>window.opener.postMessage(" + jsonData + ", \"*\");setTimeout(function() { window.close(); }, 50);</script>";
212
+ }
213
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sIm5hbWVzIjpbImRlZmF1bHRPcHRpb25zIiwid2lkdGgiLCJoZWlnaHQiLCJtZW51YmFyIiwicmVzaXphYmxlIiwibG9jYXRpb24iLCJzY3JvbGxiYXJzIiwiY2VudGVyZWQiLCJwb3B1cENvdW50Iiwib3B0aW9uc1RvU3RyaW5nIiwib3B0aW9ucyIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJrIiwidiIsImpvaW4iLCJkZWZhdWx0UG9wdXBOYW1lIiwib3B0aW9uc1Jlc29sdmVDZW50ZXJlZCIsIkVycm9yIiwicmVzdWx0Iiwid2luZG93Iiwib3V0ZXJXaWR0aCIsIm91dGVySGVpZ2h0IiwibGVmdCIsIk1hdGgiLCJyb3VuZCIsInNjcmVlblgiLCJ0b3AiLCJzY3JlZW5ZIiwib3BlblBvcHVwV2l0aFBvc3QiLCJ1cmwiLCJwb3N0RGF0YSIsIm5hbWUiLCJmb3JtIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luIiwic2V0QXR0cmlidXRlIiwia2V5cyIsImZvckVhY2giLCJhZGRGb3JtSXRlbSIsImtleSIsImlucHV0IiwidHlwZSIsInZhbHVlIiwiYXBwZW5kQ2hpbGQiLCJib2R5Iiwib3BlbiIsIndyaXRlIiwic3VibWl0IiwicmVtb3ZlQ2hpbGQiLCJwb3B1cEV4ZWN1dGUiLCJleGVjdXRlIiwiY2FsbGJhY2siLCJwb3B1cE5hbWUiLCJwb3B1cE9wdGlvbnMiLCJhc3NpZ24iLCJwb3B1cENhbGxiYWNrIiwibm9vcCIsIm9wdGlvbnNTdHJpbmciLCJpc01lc3NhZ2VTZW50IiwiaW50ZXJ2YWwiLCJwb3B1cENhbGxiYWNrT25jZSIsImVyciIsImRhdGEiLCJvbk1lc3NhZ2UiLCJtZXNzYWdlIiwidW5kZWZpbmVkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJzZXRJbnRlcnZhbCIsImNsb3NlUG9wdXBDYWxsYmFjayIsImNsb3NlZCIsInNldFRpbWVvdXQiLCJkZWxheVdpbmRvd0Nsb3NpbmciLCJjbGVhckludGVydmFsIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBZUEsSUFBTUEsY0FBdUIsR0FBRztBQUM5QkMsRUFBQUEsS0FBSyxFQUFFLEdBRHVCO0FBRTlCQyxFQUFBQSxNQUFNLEVBQUUsR0FGc0I7QUFHOUJDLEVBQUFBLE9BQU8sRUFBRSxJQUhxQjtBQUk5QkMsRUFBQUEsU0FBUyxFQUFFLEtBSm1CO0FBSzlCQyxFQUFBQSxRQUFRLEVBQUUsS0FMb0I7QUFNOUJDLEVBQUFBLFVBQVUsRUFBRSxJQU5rQjtBQU85QkMsRUFBQUEsUUFBUSxFQUFFO0FBUG9CLENBQWhDO0FBa0JBLElBQUlDLFVBQVUsR0FBRyxDQUFqQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxTQUFTQyxlQUFULENBQTRDQyxPQUE1QyxFQUFnRTtBQUM5RCxTQUFPQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUYsT0FBZixFQUNKRyxHQURJLENBQ0E7QUFBQSxRQUFFQyxDQUFGO0FBQUEsUUFBS0MsQ0FBTDtBQUFBLFdBQWVELENBQWYsU0FBb0JDLENBQXBCO0FBQUEsR0FEQSxFQUVKQyxJQUZJLENBRUMsR0FGRCxDQUFQO0FBR0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsU0FBU0MsZ0JBQVQsR0FBb0M7QUFDbENULEVBQUFBLFVBQVUsSUFBSSxDQUFkO0FBQ0Esb0JBQWdCQSxVQUFoQjtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNVLHNCQUFULENBQWdDUixPQUFoQyxFQUEyRDtBQUN6RCxNQUFJLENBQUNBLE9BQU8sQ0FBQ1QsS0FBVCxJQUFrQixDQUFDUyxPQUFPLENBQUNSLE1BQS9CLEVBQXVDO0FBQ3JDLFVBQU0sSUFB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O0FBQ0E7O0FBQ0EsT0FBTyxTQUFTMkIsYUFBVCxDQUEwQmhCLElBQTFCLEVBQTJDO0FBQ2hELE1BQU1pQixRQUFRLEdBQUdDLElBQUksQ0FBQ0MsU0FBTCxDQUFlbkIsSUFBZixDQUFqQjtBQUVBLGdEQUE0Q2lCLFFBQTVDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRTIFJld3JpdGUgb2YgaHR0cHM6Ly9naXRodWIuY29tL2VuaGFuY3YvcG9wdXAtdG9vbHNcbiAqL1xuXG50eXBlIFllc05vID0gXCJ5ZXNcIiB8IFwibm9cIjtcbnR5cGUgT3B0aW9ucyA9IHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgbWVudWJhcjogWWVzTm87XG4gIHJlc2l6YWJsZTogWWVzTm87XG4gIGxvY2F0aW9uOiBZZXNObztcbiAgc2Nyb2xsYmFyczogWWVzTm87XG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gIHdpZHRoOiA3MDAsXG4gIGhlaWdodDogNTIwLFxuICBtZW51YmFyOiBcIm5vXCIsXG4gIHJlc2l6YWJsZTogXCJ5ZXNcIixcbiAgbG9jYXRpb246IFwieWVzXCIsXG4gIHNjcm9sbGJhcnM6IFwibm9cIixcbiAgY2VudGVyZWQ6IHRydWVcbn07XG5cbnR5cGUgQ2FsbGJhY2sgPSAoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuXG50eXBlIFdpbmRvd09wZW4gPSAoXG4gIHBvcHVwVXJsOiBzdHJpbmcsXG4gIHBvcHVwTmFtZTogc3RyaW5nLFxuICBvcHRpb25zU3RyaW5nOiBzdHJpbmdcbikgPT4gV2luZG93IHwgbnVsbDtcblxubGV0IHBvcHVwQ291bnQgPSAxO1xuXG4vKipcbiAqIFJldHVybiBvcHRpb25zIGNvbnZlcnRlZCB0byBhIHN0cmluZ1xuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBvcHRpb25zVG9TdHJpbmc8VCBleHRlbmRzIE9wdGlvbnM+KG9wdGlvbnM6IFQpOiBzdHJpbmcge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob3B0aW9ucylcbiAgICAubWFwKChbaywgdl0pID0+IGAke2t9PSR7dn1gKVxuICAgIC5qb2luKFwiLFwiKTtcbn1cblxuLyoqXG4gKiBHZXQgYSB1bmlxdWUgbmFtZSBvbiBlYWNoIGNhbGxcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFBvcHVwTmFtZSgpOiBzdHJpbmcge1xuICBwb3B1cENvdW50ICs9IDE7XG4gIHJldHVybiBgUG9wdXAgJHtwb3B1cENvdW50fWA7XG59XG5cbi8qKlxuICogQ29udmVydCBcImNlbnRlcmVkOiB0cnVlXCIga2V5IGludG8gY29uY3JldGUgbGVmdCBhbmQgdG9wIGFyZ3VtZW50c1xuICogQm90aCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gIGlmICghb3B0aW9ucy53aWR0aCB8fCAhb3B0aW9ucy5oZWlnaHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgaGF2ZSB3aWR0aCBhbmQgaGVpZ2h0XCIpO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4ub3B0aW9ucyB9O1xuICBjb25zdCB3aWR0aCA9IHdpbmRvdy5vdXRlcldpZHRoIC0gb3B0aW9ucy53aWR0aDtcbiAgY29uc3QgaGVpZ2h0ID0gd2luZG93Lm91dGVySGVpZ2h0IC0gb3B0aW9ucy5oZWlnaHQ7XG5cbiAgaWYgKG9wdGlvbnMuY2VudGVyZWQpIHtcbiAgICByZXN1bHQubGVmdCA9IG9wdGlvbnMubGVmdCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5YICsgd2lkdGggLyAyKTtcbiAgICByZXN1bHQudG9wID0gb3B0aW9ucy50b3AgfHwgTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIGhlaWdodCAvIDIuNSk7XG4gICAgZGVsZXRlIHJlc3VsdC5jZW50ZXJlZDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZvcm0gZWxlbWVudCwgYWRkIGhpZGRlbiBpbnB1dHMgZm9yIGFsbCB0aGUgcG9zdCBkYXRhXG4gKiBhbmQgcG9zdCBpdCBpbnRvIGEgbmV3bHkgb3BlbmVkIHBvcHVwXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIG9wZW5Qb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogc3RyaW5nXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJmb3JtXCIpO1xuICBsZXQgd2luOiBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBmb3JtLnNldEF0dHJpYnV0ZShcIm1ldGhvZFwiLCBcInBvc3RcIik7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwiYWN0aW9uXCIsIHVybCk7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIG5hbWUpO1xuXG4gIE9iamVjdC5rZXlzKHBvc3REYXRhKS5mb3JFYWNoKGZ1bmN0aW9uIGFkZEZvcm1JdGVtKGtleSkge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xuICAgIGlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgIGlucHV0Lm5hbWUgPSBrZXk7XG4gICAgaW5wdXQudmFsdWUgPSBwb3N0RGF0YVtrZXldO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQpO1xuICB9KTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xuXG4gIHdpbiA9IHdpbmRvdy5vcGVuKFwiL1wiLCBuYW1lLCBvcHRpb25zKTtcbiAgd2luPy5kb2N1bWVudC53cml0ZShcIkxvYWRpbmcuLi5cIik7XG5cbiAgZm9ybS5zdWJtaXQoKTtcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTtcblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuIFdhaXQgZm9yIGl0IHRvIGNsb3NlLlxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBvcHVwRXhlY3V0ZShcbiAgZXhlY3V0ZTogV2luZG93T3BlbixcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgcG9wdXBOYW1lID0gbmFtZSB8fCBkZWZhdWx0UG9wdXBOYW1lKCk7XG4gIGNvbnN0IHBvcHVwT3B0aW9ucyA9IG9wdGlvbnNSZXNvbHZlQ2VudGVyZWQoXG4gICAgT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpXG4gICk7XG4gIGNvbnN0IHBvcHVwQ2FsbGJhY2sgPVxuICAgIGNhbGxiYWNrIHx8XG4gICAgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgICAgIC8vXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9uc1N0cmluZyA9IG9wdGlvbnNUb1N0cmluZyhwb3B1cE9wdGlvbnMpO1xuICBjb25zdCB3aW4gPSBleGVjdXRlKHVybCwgcG9wdXBOYW1lLCBvcHRpb25zU3RyaW5nKTtcbiAgbGV0IGlzTWVzc2FnZVNlbnQgPSBmYWxzZTtcbiAgbGV0IGludGVydmFsOiBudW1iZXI7XG5cbiAgZnVuY3Rpb24gcG9wdXBDYWxsYmFja09uY2UoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCFpc01lc3NhZ2VTZW50KSB7XG4gICAgICBpc01lc3NhZ2VTZW50ID0gdHJ1ZTtcbiAgICAgIHBvcHVwQ2FsbGJhY2soZXJyLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lc3NhZ2UobWVzc2FnZT86IE1lc3NhZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBtZXNzYWdlID8gbWVzc2FnZS5kYXRhIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlLCBmYWxzZSk7XG5cbiAgaWYgKHdpbikge1xuICAgIGludGVydmFsID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uIGNsb3NlUG9wdXBDYWxsYmFjaygpIHtcbiAgICAgIGlmICh3aW4gPT09IG51bGwgfHwgd2luLmNsb3NlZCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGRlbGF5V2luZG93Q2xvc2luZygpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICBwb3B1cENhbGxiYWNrT25jZShuZXcgRXJyb3IoXCJQb3B1cCBjbG9zZWRcIikpO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH0gZWxzZSB7XG4gICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgYmxvY2tlZFwiKSk7XG4gIH1cblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cChcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZSh3aW5kb3cub3BlbiwgdXJsLCBuYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAqIFBvc3QgdGhlIGRhdGEgaW50byB0aGUgb3BlbiBwb3B1cC5cbiAqIFdhaXQgZm9yIGl0IHRvIGNsb3NlIGFuZCBjYWxsIHRoZSBjYWxsYmFjay5cbiAqIFNldCB0aGUgb3B0aW9ucyBzdHJpbmcgdXNpbmcgdGhlIG9wdGlvbnMgb2JqZWN0XG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBmdW5jdGlvbiBvcGVuV2l0aFBvc3REYXRhKFxuICAgIHBvcHVwVXJsOiBzdHJpbmcsXG4gICAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uc1N0cmluZzogc3RyaW5nXG4gICk6IFdpbmRvdyB8IG51bGwge1xuICAgIHJldHVybiBvcGVuUG9wdXBXaXRoUG9zdChwb3B1cFVybCwgcG9zdERhdGEsIHBvcHVwTmFtZSwgb3B0aW9uc1N0cmluZyk7XG4gIH1cblxuICByZXR1cm4gcG9wdXBFeGVjdXRlKG9wZW5XaXRoUG9zdERhdGEsIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIFJldHVybiBodG1sIHRoYXQgd2hlbiBleGVjdXRlZCwgd2lsbCB0cmlnZ2VyIHRoZSBwb3B1cCB0byBjYWxsYmFjayB3aXRoIGEgcmVzcG9uc2VcbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFJlc3BvbnNlPFQ+KGRhdGE6IFQpOiBzdHJpbmcge1xuICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ import { Thunder } from "./zeus/index.js";
2
+ export declare const createThunder: (url: string, session?: string | null | undefined) => ReturnType<typeof Thunder>;
@@ -0,0 +1,113 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+
5
+ 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; }
6
+
7
+ 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; }
8
+
9
+ import { GraphQLError, Thunder } from "./zeus/index.js";
10
+
11
+ var handleFetchResponse = function handleFetchResponse(response) {
12
+ if (!response.ok) {
13
+ return new Promise(function (_, reject) {
14
+ response.text().then(function (text) {
15
+ try {
16
+ reject(JSON.parse(text));
17
+ } catch (err) {
18
+ reject(text);
19
+ }
20
+ }).catch(reject);
21
+ });
22
+ }
23
+
24
+ return response.json();
25
+ };
26
+
27
+ var apiFetch = function apiFetch(options, session) {
28
+ return /*#__PURE__*/function () {
29
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(query, variables) {
30
+ var fetchFunction, queryString, fetchOptions, headers, controller, id, res;
31
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
32
+ while (1) {
33
+ switch (_context.prev = _context.next) {
34
+ case 0:
35
+ if (variables === void 0) {
36
+ variables = {};
37
+ }
38
+
39
+ fetchFunction = fetch;
40
+ queryString = query;
41
+ fetchOptions = options[1] || {};
42
+
43
+ if (!(fetchOptions.method && fetchOptions.method === "GET")) {
44
+ _context.next = 7;
45
+ break;
46
+ }
47
+
48
+ queryString = encodeURIComponent(query);
49
+ return _context.abrupt("return", fetchFunction(options[0] + "?query=" + queryString, fetchOptions).then(handleFetchResponse).then(function (response) {
50
+ if (response.errors) {
51
+ throw new GraphQLError(response);
52
+ }
53
+
54
+ return response.data;
55
+ }));
56
+
57
+ case 7:
58
+ headers = {
59
+ "content-type": "application/json",
60
+ "accept-language": navigator.language
61
+ };
62
+
63
+ if (session) {
64
+ headers["secrecy-session"] = session;
65
+ }
66
+
67
+ controller = new AbortController();
68
+ id = setTimeout(function () {
69
+ return controller.abort();
70
+ }, 20000);
71
+ _context.next = 13;
72
+ return fetchFunction("" + options[0], _objectSpread({
73
+ body: JSON.stringify({
74
+ query: queryString,
75
+ variables: variables
76
+ }),
77
+ method: "POST",
78
+ headers: headers,
79
+ signal: controller.signal
80
+ }, fetchOptions)).then(handleFetchResponse).then(function (response) {
81
+ if (response.errors) {
82
+ throw new GraphQLError(response);
83
+ }
84
+
85
+ return response.data;
86
+ });
87
+
88
+ case 13:
89
+ res = _context.sent;
90
+ clearTimeout(id);
91
+ return _context.abrupt("return", res);
92
+
93
+ case 16:
94
+ case "end":
95
+ return _context.stop();
96
+ }
97
+ }
98
+ }, _callee);
99
+ }));
100
+
101
+ return function (_x, _x2) {
102
+ return _ref.apply(this, arguments);
103
+ };
104
+ }();
105
+ };
106
+
107
+ export var createThunder = function createThunder(url, session) {
108
+ return Thunder(apiFetch([url, {
109
+ mode: "cors",
110
+ credentials: "same-origin"
111
+ }], session));
112
+ };
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9aZXVzVGh1bmRlci50cyJdLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsInJlcyIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsU0FBU0EsWUFBVCxFQUF1QkMsT0FBdkIsUUFBc0MsaUJBQXRDOztBQUVBLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBc0IsQ0FDMUJDLFFBRDBCLEVBTUc7QUFDN0IsTUFBSSxDQUFDQSxRQUFRLENBQUNDLEVBQWQsRUFBa0I7QUFDaEIsV0FBTyxJQUFJQyxPQUFKLENBQVksVUFBQ0MsQ0FBRCxFQUFJQyxNQUFKLEVBQWU7QUFDaENKLE1BQUFBLFFBQVEsQ0FDTEssSUFESCxHQUVHQyxJQUZILENBRVEsVUFBQUQsSUFBSSxFQUFJO0FBQ1osWUFBSTtBQUNGRCxVQUFBQSxNQUFNLENBQUNHLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxJQUFYLENBQUQsQ0FBTjtBQUNELFNBRkQsQ0FFRSxPQUFPSSxHQUFQLEVBQVk7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QixFQUUzQnpCLE9BRjJCO0FBQUEsU0FJM0JoQixPQUFPLENBQ0xjLFFBQVEsQ0FDTixDQUNFMkIsR0FERixFQUVFO0FBQ0VDLElBQUFBLElBQUksRUFBRSxNQURSO0FBRUVDLElBQUFBLFdBQVcsRUFBRTtBQUZmLEdBRkYsQ0FETSxFQVFOM0IsT0FSTSxDQURILENBSm9CO0FBQUEsQ0FBdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IGZldGNoT3B0aW9ucywgR3JhcGhRTFJlc3BvbnNlIH0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgR3JhcGhRTEVycm9yLCBUaHVuZGVyIH0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuXG5jb25zdCBoYW5kbGVGZXRjaFJlc3BvbnNlID0gKFxuICByZXNwb25zZTogUGFyYW1ldGVyczxcbiAgICAvLyBUT0RPOiBjZXR0ZSBlcnJldXJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIEV4dHJhY3Q8UGFyYW1ldGVyczxSZXR1cm5UeXBlPHR5cGVvZiBmZXRjaD5bXCJ0aGVuXCJdPlswXSwgRnVuY3Rpb24+XG4gID5bMF1cbik6IFByb21pc2U8R3JhcGhRTFJlc3BvbnNlPiA9PiB7XG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT4ge1xuICAgICAgcmVzcG9uc2VcbiAgICAgICAgLnRleHQoKVxuICAgICAgICAudGhlbih0ZXh0ID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVqZWN0KEpTT04ucGFyc2UodGV4dCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgcmVqZWN0KHRleHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKHJlamVjdCk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKSBhcyBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT47XG59O1xuXG5jb25zdCBhcGlGZXRjaCA9XG4gIChvcHRpb25zOiBmZXRjaE9wdGlvbnMsIHNlc3Npb24/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxuICBhc3luYyAoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQ+ID0+IHtcbiAgICBjb25zdCBmZXRjaEZ1bmN0aW9uID0gZmV0Y2g7XG4gICAgbGV0IHF1ZXJ5U3RyaW5nID0gcXVlcnk7XG4gICAgY29uc3QgZmV0Y2hPcHRpb25zID0gb3B0aW9uc1sxXSB8fCB7fTtcbiAgICBpZiAoZmV0Y2hPcHRpb25zLm1ldGhvZCAmJiBmZXRjaE9wdGlvbnMubWV0aG9kID09PSBcIkdFVFwiKSB7XG4gICAgICBxdWVyeVN0cmluZyA9IGVuY29kZVVSSUNvbXBvbmVudChxdWVyeSk7XG4gICAgICByZXR1cm4gZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfT9xdWVyeT0ke3F1ZXJ5U3RyaW5nfWAsIGZldGNoT3B0aW9ucylcbiAgICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlOiBHcmFwaFFMUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICBcImFjY2VwdC1sYW5ndWFnZVwiOiBuYXZpZ2F0b3IubGFuZ3VhZ2VcbiAgICB9O1xuXG4gICAgaWYgKHNlc3Npb24pIHtcbiAgICAgIGhlYWRlcnNbXCJzZWNyZWN5LXNlc3Npb25cIl0gPSBzZXNzaW9uO1xuICAgIH1cbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGNvbnN0IGlkID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KCksIDIwMDAwKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaEZ1bmN0aW9uKGAke29wdGlvbnNbMF19YCwge1xuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBxdWVyeTogcXVlcnlTdHJpbmcsIHZhcmlhYmxlcyB9KSxcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBoZWFkZXJzLFxuICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC4uLmZldGNoT3B0aW9uc1xuICAgIH0pXG4gICAgICAudGhlbihoYW5kbGVGZXRjaFJlc3BvbnNlKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBHcmFwaFFMUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgIHRocm93IG5ldyBHcmFwaFFMRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgfSk7XG4gICAgY2xlYXJUaW1lb3V0KGlkKTtcbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlVGh1bmRlciA9IChcbiAgdXJsOiBzdHJpbmcsXG4gIHNlc3Npb24/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4pOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPiA9PlxuICBUaHVuZGVyKFxuICAgIGFwaUZldGNoKFxuICAgICAgW1xuICAgICAgICB1cmwsXG4gICAgICAgIHtcbiAgICAgICAgICBtb2RlOiBcImNvcnNcIixcbiAgICAgICAgICBjcmVkZW50aWFsczogXCJzYW1lLW9yaWdpblwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBzZXNzaW9uXG4gICAgKVxuICApO1xuIl19
@@ -0,0 +1,7 @@
1
+ import type { InternalVFile, InternalFolder, InternalVFileWithFolder, InternalFile, InternalFolderFull } from "./client/types/index.js";
2
+ export declare const vFilesCache: Map<string, InternalVFile | InternalVFileWithFolder>;
3
+ export declare const filesCache: Map<string, InternalFile>;
4
+ export declare const foldersCache: Map<string, InternalFolder | InternalFolderFull>;
5
+ export declare const usersCache: Map<string, import("./BaseClient.js").UserBase | (import("./BaseClient.js").UserBase & {
6
+ publicKey: string;
7
+ })>;
package/dist/cache.js ADDED
@@ -0,0 +1,5 @@
1
+ export var vFilesCache = new Map();
2
+ export var filesCache = new Map();
3
+ export var foldersCache = new Map();
4
+ export var usersCache = new Map();
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jYWNoZS50cyJdLCJuYW1lcyI6WyJ2RmlsZXNDYWNoZSIsIk1hcCIsImZpbGVzQ2FjaGUiLCJmb2xkZXJzQ2FjaGUiLCJ1c2Vyc0NhY2hlIl0sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLElBQU1BLFdBQVcsR0FBRyxJQUFJQyxHQUFKLEVBQXBCO0FBS1AsT0FBTyxJQUFNQyxVQUFVLEdBQUcsSUFBSUQsR0FBSixFQUFuQjtBQUVQLE9BQU8sSUFBTUUsWUFBWSxHQUFHLElBQUlGLEdBQUosRUFBckI7QUFLUCxPQUFPLElBQU1HLFVBQVUsR0FBRyxJQUFJSCxHQUFKLEVBQW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxWRmlsZSxcbiAgSW50ZXJuYWxGb2xkZXIsXG4gIEludGVybmFsVkZpbGVXaXRoRm9sZGVyLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsRm9sZGVyRnVsbFxufSBmcm9tIFwiLi9jbGllbnQvdHlwZXMvaW5kZXguanNcIjtcblxuZXhwb3J0IGNvbnN0IHZGaWxlc0NhY2hlID0gbmV3IE1hcDxcbiAgc3RyaW5nLFxuICBJbnRlcm5hbFZGaWxlIHwgSW50ZXJuYWxWRmlsZVdpdGhGb2xkZXJcbj4oKTtcblxuZXhwb3J0IGNvbnN0IGZpbGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxGaWxlPigpO1xuXG5leHBvcnQgY29uc3QgZm9sZGVyc0NhY2hlID0gbmV3IE1hcDxcbiAgc3RyaW5nLFxuICBJbnRlcm5hbEZvbGRlciB8IEludGVybmFsRm9sZGVyRnVsbFxuPigpO1xuXG5leHBvcnQgY29uc3QgdXNlcnNDYWNoZSA9IG5ldyBNYXA8XG4gIHN0cmluZyxcbiAgVXNlciB8IFVzZXI8eyB3aXRoUHVibGljS2V5OiB0cnVlIH0+XG4+KCk7XG4iXX0=
@@ -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,198 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+
6
+ 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; }
7
+
8
+ 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; }
9
+
10
+ /* eslint-disable @typescript-eslint/naming-convention */
11
+ import { storeBuddy } from "../../utils/store-buddy.js";
12
+ import { BaseClient } from "../../BaseClient.js";
13
+ var userSelector = {
14
+ id: true,
15
+ firstname: true,
16
+ lastname: true,
17
+ lang: true,
18
+ email: true,
19
+ phone: true,
20
+ role: true,
21
+ deletedAt: true,
22
+ lastLogin: true
23
+ };
24
+ export var AdminSecrecyClient = /*#__PURE__*/function (_BaseClient) {
25
+ _inheritsLoose(AdminSecrecyClient, _BaseClient);
26
+
27
+ function AdminSecrecyClient() {
28
+ return _BaseClient.apply(this, arguments) || this;
29
+ }
30
+
31
+ var _proto = AdminSecrecyClient.prototype;
32
+
33
+ _proto.userList = /*#__PURE__*/function () {
34
+ var _userList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(search) {
35
+ var _yield$this$client, userList, result;
36
+
37
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
38
+ while (1) {
39
+ switch (_context.prev = _context.next) {
40
+ case 0:
41
+ _context.next = 2;
42
+ return this.client("query")({
43
+ userList: [{
44
+ search: search
45
+ }, {
46
+ "...on ErrorAccessDenied": {
47
+ __typename: true,
48
+ message: true
49
+ },
50
+ "...on UserListResponse": {
51
+ __typename: true,
52
+ userList: userSelector
53
+ }
54
+ }]
55
+ });
56
+
57
+ case 2:
58
+ _yield$this$client = _context.sent;
59
+ userList = _yield$this$client.userList;
60
+
61
+ if (userList) {
62
+ _context.next = 6;
63
+ break;
64
+ }
65
+
66
+ return _context.abrupt("return", null);
67
+
68
+ case 6:
69
+ if (!(userList.__typename === "ErrorAccessDenied")) {
70
+ _context.next = 8;
71
+ break;
72
+ }
73
+
74
+ return _context.abrupt("return", userList);
75
+
76
+ case 8:
77
+ result = userList.userList.map(function (user) {
78
+ return _objectSpread(_objectSpread({}, user), {}, {
79
+ lastLogin: new Date(user.lastLogin),
80
+ deletedAt: user.deletedAt ? new Date(user.deletedAt) : null
81
+ });
82
+ });
83
+ return _context.abrupt("return", {
84
+ __typename: "SuccessResponse",
85
+ data: result
86
+ });
87
+
88
+ case 10:
89
+ case "end":
90
+ return _context.stop();
91
+ }
92
+ }
93
+ }, _callee, this);
94
+ }));
95
+
96
+ function userList(_x) {
97
+ return _userList.apply(this, arguments);
98
+ }
99
+
100
+ return userList;
101
+ }();
102
+
103
+ _proto.changeUserPlan = /*#__PURE__*/function () {
104
+ var _changeUserPlan = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(userId, plan) {
105
+ var _yield$this$client2, changeUserPlan;
106
+
107
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
108
+ while (1) {
109
+ switch (_context2.prev = _context2.next) {
110
+ case 0:
111
+ _context2.next = 2;
112
+ return this.client("mutation")({
113
+ changeUserPlan: [{
114
+ userId: userId,
115
+ plan: plan
116
+ }, {
117
+ "...on ErrorAccessDenied": {
118
+ __typename: true,
119
+ message: true
120
+ },
121
+ "...on ChangeUserPlanResponse": {
122
+ __typename: true,
123
+ changeUserPlan: userSelector
124
+ }
125
+ }]
126
+ });
127
+
128
+ case 2:
129
+ _yield$this$client2 = _context2.sent;
130
+ changeUserPlan = _yield$this$client2.changeUserPlan;
131
+
132
+ if (changeUserPlan) {
133
+ _context2.next = 6;
134
+ break;
135
+ }
136
+
137
+ return _context2.abrupt("return", null);
138
+
139
+ case 6:
140
+ if (!(changeUserPlan.__typename === "ErrorAccessDenied")) {
141
+ _context2.next = 8;
142
+ break;
143
+ }
144
+
145
+ return _context2.abrupt("return", changeUserPlan);
146
+
147
+ case 8:
148
+ if (changeUserPlan.changeUserPlan) {
149
+ _context2.next = 10;
150
+ break;
151
+ }
152
+
153
+ return _context2.abrupt("return", null);
154
+
155
+ case 10:
156
+ return _context2.abrupt("return", {
157
+ __typename: "SuccessResponse",
158
+ data: {
159
+ deletedAt: changeUserPlan.changeUserPlan.deletedAt ? new Date(changeUserPlan.changeUserPlan.deletedAt) : null,
160
+ lastLogin: new Date(changeUserPlan.changeUserPlan.lastLogin),
161
+ email: changeUserPlan.changeUserPlan.email,
162
+ firstname: changeUserPlan.changeUserPlan.firstname,
163
+ id: changeUserPlan.changeUserPlan.id,
164
+ lang: changeUserPlan.changeUserPlan.lang,
165
+ lastname: changeUserPlan.changeUserPlan.lastname,
166
+ phone: changeUserPlan.changeUserPlan.phone,
167
+ role: changeUserPlan.changeUserPlan.role
168
+ }
169
+ });
170
+
171
+ case 11:
172
+ case "end":
173
+ return _context2.stop();
174
+ }
175
+ }
176
+ }, _callee2, this);
177
+ }));
178
+
179
+ function changeUserPlan(_x2, _x3) {
180
+ return _changeUserPlan.apply(this, arguments);
181
+ }
182
+
183
+ return changeUserPlan;
184
+ }();
185
+
186
+ return AdminSecrecyClient;
187
+ }(BaseClient);
188
+ export function getSecrecyAdminClient(env, session) {
189
+ var userSession = storeBuddy("secrecy.user_session", session).init("");
190
+ var uaSession = userSession.load();
191
+
192
+ if (uaSession === "") {
193
+ return null;
194
+ }
195
+
196
+ return new AdminSecrecyClient(uaSession, env);
197
+ }
198
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvYWRtaW4vaW5kZXgudHMiXSwibmFtZXMiOlsic3RvcmVCdWRkeSIsIkJhc2VDbGllbnQiLCJ1c2VyU2VsZWN0b3IiLCJpZCIsImZpcnN0bmFtZSIsImxhc3RuYW1lIiwibGFuZyIsImVtYWlsIiwicGhvbmUiLCJyb2xlIiwiZGVsZXRlZEF0IiwibGFzdExvZ2luIiwiQWRtaW5TZWNyZWN5Q2xpZW50IiwidXNlckxpc3QiLCJzZWFyY2giLCJjbGllbnQiLCJfX3R5cGVuYW1lIiwibWVzc2FnZSIsInJlc3VsdCIsIm1hcCIsInVzZXIiLCJEYXRlIiwiZGF0YSIsImNoYW5nZVVzZXJQbGFuIiwidXNlcklkIiwicGxhbiIsImdldFNlY3JlY3lBZG1pbkNsaWVudCIsImVudiIsInNlc3Npb24iLCJ1c2VyU2Vzc2lvbiIsImluaXQiLCJ1YVNlc3Npb24iLCJsb2FkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQU9BLFNBQVNBLFVBQVQsUUFBMkIsNEJBQTNCO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixxQkFBM0I7QUF3QkEsSUFBTUMsWUFBWSxHQUFHO0FBQ25CQyxFQUFBQSxFQUFFLEVBQUUsSUFEZTtBQUVuQkMsRUFBQUEsU0FBUyxFQUFFLElBRlE7QUFHbkJDLEVBQUFBLFFBQVEsRUFBRSxJQUhTO0FBSW5CQyxFQUFBQSxJQUFJLEVBQUUsSUFKYTtBQUtuQkMsRUFBQUEsS0FBSyxFQUFFLElBTFk7QUFNbkJDLEVBQUFBLEtBQUssRUFBRSxJQU5ZO0FBT25CQyxFQUFBQSxJQUFJLEVBQUUsSUFQYTtBQVFuQkMsRUFBQUEsU0FBUyxFQUFFLElBUlE7QUFTbkJDLEVBQUFBLFNBQVMsRUFBRTtBQVRRLENBQXJCO0FBWUEsV0FBYUMsa0JBQWI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUEsU0FDUUMsUUFEUjtBQUFBLDZFQUNFLGlCQUNFQyxNQURGO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFB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S0pKLGtCQUFBQSxLQUFLLEVBQUVnQixjQUFjLENBQUNBLGNBQWYsQ0FBOEJoQixLQUxqQztBQU1KSCxrQkFBQUEsU0FBUyxFQUFFbUIsY0FBYyxDQUFDQSxjQUFmLENBQThCbkIsU0FOckM7QUFPSkQsa0JBQUFBLEVBQUUsRUFBRW9CLGNBQWMsQ0FBQ0EsY0FBZixDQUE4QnBCLEVBUDlCO0FBUUpHLGtCQUFBQSxJQUFJLEVBQUVpQixjQUFjLENBQUNBLGNBQWYsQ0FBOEJqQixJQVJoQztBQVNKRCxrQkFBQUEsUUFBUSxFQUFFa0IsY0FBYyxDQUFDQSxjQUFmLENBQThCbEIsUUFUcEM7QUFVSkcsa0JBQUFBLEtBQUssRUFBRWUsY0FBYyxDQUFDQSxjQUFmLENBQThCZixLQVZqQztBQVdKQyxrQkFBQUEsSUFBSSxFQUFFYyxjQUFjLENBQUNBLGNBQWYsQ0FBOEJkO0FBWGhDO0FBRkQsZUFuQ1Q7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsS0ExQ0Y7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQSxFQUF3Q1IsVUFBeEM7QUFnR0EsT0FBTyxTQUFTeUIscUJBQVQsQ0FDTEMsR0FESyxFQUVMQyxPQUZLLEVBR3NCO0FBQzNCLE1BQU1DLFdBQVcsR0FBRzdCLFVBQVUseUJBQWlDNEIsT0FBakMsQ0FBVixDQUFvREUsSUFBcEQsQ0FDbEIsRUFEa0IsQ0FBcEI7QUFHQSxNQUFNQyxTQUFTLEdBQUdGLFdBQVcsQ0FBQ0csSUFBWixFQUFsQjs7QUFDQSxNQUFJRCxTQUFTLEtBQUssRUFBbEIsRUFBc0I7QUFDcEIsV0FBTyxJQUFQO0FBQ0Q7O0FBRUQsU0FBTyxJQUFJbkIsa0JBQUosQ0FBdUJtQixTQUF2QixFQUFrQ0osR0FBbEMsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgdHlwZSB7XG4gIFBsYW5LaW5kLFxuICBTZWNyZWN5RW52LFxuICBTdWNjZXNzUmVzcG9uc2UsXG4gIFVzZXJcbn0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBzdG9yZUJ1ZGR5IH0gZnJvbSBcIi4uLy4uL3V0aWxzL3N0b3JlLWJ1ZGR5LmpzXCI7XG5pbXBvcnQgeyBCYXNlQ2xpZW50IH0gZnJvbSBcIi4uLy4uL0Jhc2VDbGllbnQuanNcIjtcbmltcG9ydCB0eXBlIHsgRXJyb3JBY2Nlc3NEZW5pZWQgfSBmcm9tIFwiLi4vLi4vZXJyb3IuanNcIjtcblxuLyogVE9ET1xuLSBxdWVyeSBwb3VyIGxpc3RlciBsZXMgdXNlcnMgYXZlYyBwYWdpbmF0aW9uIGV0IGlucHV0IG9wdGlvbm5lbCBcInNlYXJjaFwiIGV0IGJvb2xlYW4gcG91ciBmaWx0cmVyIGxlcyBiYW5zXG4tIG11dGF0aW9uIGNoYW5nZXIgbGUgcGxhbiBkJ3VuIHVzZXIgKHNhbnMgcGF5ZXIgZHUgY291cClcbi0gcXVlcnkgcG91ciByZW52b3llciBsZXMgYXBwcyBkJ3VuIHVzZXJcbi0gcXVlcnkgcG91ciBkb25uZXIgbGVzIGxpbWl0ZXMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZG9ubmVyIGxlcyByZXBvcnRzIGQndW4gdXNlclxuLSBtdXRhdGlvbiBwb3VyIGJhbiB1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZ2V0IGxlcyBiYW5zIGQndW4gdXNlclxuLSBtdXRhdGlvbiBwb3VyIGRlbGV0ZSB1biB1c2VyIChkw6lqw6AgZXhpc3RhbnQ/KVxuLSBtdXRhdGlvbiBjaGFuZ2VyIGxlIHJvbGUgZHUgdXNlciAodXNlci9hZG1pbilcbi0gbXV0YXRpb24gcG91ciBkw6ljbyB1bmUgb3UgZGVzIHNlc3Npb25zIG1ldGEgb3UgYXBwIGQndW4gdXNlclxuLSBxdWVyeSBhZmZpY2hlciBsZXMgc2Vzc2lvbnMgbWV0YSBvdSBhcHAgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgZGVzIGluZm9zIHN1ciBsZSBjbG91ZCBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUsIHJlc3RvcmUsIGRlbGV0ZSB0cmFzaCwgZGFucyBsZSBjbG91ZCBkJ3VuIHVzZXJcbi0gcXVlcnkgcG91ciBhZmZpY2hlciBsZXMgaW5mb3Mgc3VyIGxlcyBtYWlscyBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUsIHJlc3RvcmUsIGRlbGV0ZSB0cmFzaCwgZGFucyBsZXMgbWFpbHMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgbGVzIGxpbWl0ZXMgbWF4IGV0IGFjdHVlbHMgZCd1biB1c2VyXG4tIHF1ZXJ5IGRlIHN0YXRzP1xuKi9cblxuZXhwb3J0IHR5cGUgVXNlckFkbWluUGFuZWwgPSBVc2VyPHsgd2l0aFB1YmxpY0tleTogZmFsc2UgfT47XG5jb25zdCB1c2VyU2VsZWN0b3IgPSB7XG4gIGlkOiB0cnVlLFxuICBmaXJzdG5hbWU6IHRydWUsXG4gIGxhc3RuYW1lOiB0cnVlLFxuICBsYW5nOiB0cnVlLFxuICBlbWFpbDogdHJ1ZSxcbiAgcGhvbmU6IHRydWUsXG4gIHJvbGU6IHRydWUsXG4gIGRlbGV0ZWRBdDogdHJ1ZSxcbiAgbGFzdExvZ2luOiB0cnVlXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY2xhc3MgQWRtaW5TZWNyZWN5Q2xpZW50IGV4dGVuZHMgQmFzZUNsaWVudCB7XG4gIGFzeW5jIHVzZXJMaXN0KFxuICAgIHNlYXJjaD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlckFkbWluUGFuZWxbXT4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGw+IHtcbiAgICBjb25zdCB7IHVzZXJMaXN0IH0gPSBhd2FpdCB0aGlzLmNsaWVudChcInF1ZXJ5XCIpKHtcbiAgICAgIHVzZXJMaXN0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzZWFyY2hcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwiLi4ub24gRXJyb3JBY2Nlc3NEZW5pZWRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gVXNlckxpc3RSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgdXNlckxpc3Q6IHVzZXJTZWxlY3RvclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCF1c2VyTGlzdCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHVzZXJMaXN0Ll9fdHlwZW5hbWUgPT09IFwiRXJyb3JBY2Nlc3NEZW5pZWRcIikge1xuICAgICAgcmV0dXJuIHVzZXJMaXN0O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IHVzZXJMaXN0LnVzZXJMaXN0Lm1hcCh1c2VyID0+ICh7XG4gICAgICAuLi51c2VyLFxuICAgICAgbGFzdExvZ2luOiBuZXcgRGF0ZSh1c2VyLmxhc3RMb2dpbiksXG4gICAgICBkZWxldGVkQXQ6IHVzZXIuZGVsZXRlZEF0ID8gbmV3IERhdGUodXNlci5kZWxldGVkQXQpIDogbnVsbFxuICAgIH0pKTtcblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogcmVzdWx0XG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGNoYW5nZVVzZXJQbGFuKFxuICAgIHVzZXJJZDogc3RyaW5nLFxuICAgIHBsYW46IFBsYW5LaW5kXG4gICk6IFByb21pc2U8U3VjY2Vzc1Jlc3BvbnNlPFVzZXJBZG1pblBhbmVsPiB8IEVycm9yQWNjZXNzRGVuaWVkIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgY2hhbmdlVXNlclBsYW4gfSA9IGF3YWl0IHRoaXMuY2xpZW50KFwibXV0YXRpb25cIikoe1xuICAgICAgY2hhbmdlVXNlclBsYW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgICBwbGFuXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIENoYW5nZVVzZXJQbGFuUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGNoYW5nZVVzZXJQbGFuOiB1c2VyU2VsZWN0b3JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGlmICghY2hhbmdlVXNlclBsYW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VVc2VyUGxhbi5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VVc2VyUGxhbjtcbiAgICB9XG5cbiAgICBpZiAoIWNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgZGVsZXRlZEF0OiBjaGFuZ2VVc2VyUGxhbi5jaGFuZ2VVc2VyUGxhbi5kZWxldGVkQXRcbiAgICAgICAgICA/IG5ldyBEYXRlKGNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuLmRlbGV0ZWRBdClcbiAgICAgICAgICA6IG51bGwsXG4gICAgICAgIGxhc3RMb2dpbjogbmV3IERhdGUoY2hhbmdlVXNlclBsYW4uY2hhbmdlVXNlclBsYW4ubGFzdExvZ2luKSxcbiAgICAgICAgZW1haWw6IGNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuLmVtYWlsLFxuICAgICAgICBmaXJzdG5hbWU6IGNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuLmZpcnN0bmFtZSxcbiAgICAgICAgaWQ6IGNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuLmlkLFxuICAgICAgICBsYW5nOiBjaGFuZ2VVc2VyUGxhbi5jaGFuZ2VVc2VyUGxhbi5sYW5nLFxuICAgICAgICBsYXN0bmFtZTogY2hhbmdlVXNlclBsYW4uY2hhbmdlVXNlclBsYW4ubGFzdG5hbWUsXG4gICAgICAgIHBob25lOiBjaGFuZ2VVc2VyUGxhbi5jaGFuZ2VVc2VyUGxhbi5waG9uZSxcbiAgICAgICAgcm9sZTogY2hhbmdlVXNlclBsYW4uY2hhbmdlVXNlclBsYW4ucm9sZVxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlY3JlY3lBZG1pbkNsaWVudChcbiAgZW52OiBTZWNyZWN5RW52LFxuICBzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZFxuKTogQWRtaW5TZWNyZWN5Q2xpZW50IHwgbnVsbCB7XG4gIGNvbnN0IHVzZXJTZXNzaW9uID0gc3RvcmVCdWRkeTxzdHJpbmc+KGBzZWNyZWN5LnVzZXJfc2Vzc2lvbmAsIHNlc3Npb24pLmluaXQoXG4gICAgXCJcIlxuICApO1xuICBjb25zdCB1YVNlc3Npb24gPSB1c2VyU2Vzc2lvbi5sb2FkKCk7XG4gIGlmICh1YVNlc3Npb24gPT09IFwiXCIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBuZXcgQWRtaW5TZWNyZWN5Q2xpZW50KHVhU2Vzc2lvbiwgZW52KTtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import type { KeyPair } from "../../crypto/index.js";
2
+ import type { GQLFile, InternalFile, File } from "../types/index.js";
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;