@secrecy/lib 1.0.0-dev.64 → 1.0.0-dev.66
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.
- package/dist/BaseClient-7c38f650.d.ts +351 -0
- package/dist/BaseClient.cjs +2 -0
- package/dist/BaseClient.cjs.map +1 -0
- package/dist/BaseClient.d.ts +16 -104
- package/dist/BaseClient.js +2 -430
- package/dist/BaseClient.js.map +1 -0
- package/dist/PopupTools.cjs +2 -0
- package/dist/PopupTools.cjs.map +1 -0
- package/dist/PopupTools.d.ts +5 -4
- package/dist/PopupTools.js +2 -196
- package/dist/PopupTools.js.map +1 -0
- package/dist/ZeusThunder.cjs +2 -0
- package/dist/ZeusThunder.cjs.map +1 -0
- package/dist/ZeusThunder.d.ts +6 -2
- package/dist/ZeusThunder.js +2 -65
- package/dist/ZeusThunder.js.map +1 -0
- package/dist/cache.cjs +2 -0
- package/dist/cache.cjs.map +1 -0
- package/dist/cache.d.ts +22 -4
- package/dist/cache.js +2 -4
- package/dist/cache.js.map +1 -0
- package/dist/chunk-5WPCTUWH.cjs +2 -0
- package/dist/chunk-5WPCTUWH.cjs.map +1 -0
- package/dist/chunk-KMTF2BZE.js +2 -0
- package/dist/chunk-KMTF2BZE.js.map +1 -0
- package/dist/client/SecrecyAppClient.cjs +2 -0
- package/dist/client/SecrecyAppClient.cjs.map +1 -0
- package/dist/client/SecrecyAppClient.d.ts +16 -17
- package/dist/client/SecrecyAppClient.js +2 -227
- package/dist/client/SecrecyAppClient.js.map +1 -0
- package/dist/client/SecrecyCloudClient.cjs +2 -0
- package/dist/client/SecrecyCloudClient.cjs.map +1 -0
- package/dist/client/SecrecyCloudClient.d.ts +16 -89
- package/dist/client/SecrecyCloudClient.js +2 -1411
- package/dist/client/SecrecyCloudClient.js.map +1 -0
- package/dist/client/SecrecyDbClient.cjs +2 -0
- package/dist/client/SecrecyDbClient.cjs.map +1 -0
- package/dist/client/SecrecyDbClient.d.ts +16 -21
- package/dist/client/SecrecyDbClient.js +2 -177
- package/dist/client/SecrecyDbClient.js.map +1 -0
- package/dist/client/SecrecyMailClient.cjs +2 -0
- package/dist/client/SecrecyMailClient.cjs.map +1 -0
- package/dist/client/SecrecyMailClient.d.ts +16 -42
- package/dist/client/SecrecyMailClient.js +2 -1022
- package/dist/client/SecrecyMailClient.js.map +1 -0
- package/dist/client/SecrecyPayClient.cjs +2 -0
- package/dist/client/SecrecyPayClient.cjs.map +1 -0
- package/dist/client/SecrecyPayClient.d.ts +16 -7
- package/dist/client/SecrecyPayClient.js +2 -36
- package/dist/client/SecrecyPayClient.js.map +1 -0
- package/dist/client/SecrecyWalletClient.cjs +2 -0
- package/dist/client/SecrecyWalletClient.cjs.map +1 -0
- package/dist/client/SecrecyWalletClient.d.ts +16 -30
- package/dist/client/SecrecyWalletClient.js +2 -73
- package/dist/client/SecrecyWalletClient.js.map +1 -0
- package/dist/client/convert/file.cjs +2 -0
- package/dist/client/convert/file.cjs.map +1 -0
- package/dist/client/convert/file.d.ts +11 -5
- package/dist/client/convert/file.js +2 -33
- package/dist/client/convert/file.js.map +1 -0
- package/dist/client/convert/mail.cjs +2 -0
- package/dist/client/convert/mail.cjs.map +1 -0
- package/dist/client/convert/mail.d.ts +13 -3
- package/dist/client/convert/mail.js +2 -43
- package/dist/client/convert/mail.js.map +1 -0
- package/dist/client/convert/node.cjs +2 -0
- package/dist/client/convert/node.cjs.map +1 -0
- package/dist/client/convert/node.d.ts +18 -9
- package/dist/client/convert/node.js +2 -88
- package/dist/client/convert/node.js.map +1 -0
- package/dist/client/helpers.cjs +2 -0
- package/dist/client/helpers.cjs.map +1 -0
- package/dist/client/helpers.d.ts +16 -28
- package/dist/client/helpers.js +2 -113
- package/dist/client/helpers.js.map +1 -0
- package/dist/client/index.cjs +2 -0
- package/dist/client/index.cjs.map +1 -0
- package/dist/client/index.d.ts +16 -34
- package/dist/client/index.js +2 -46
- package/dist/client/index.js.map +1 -0
- package/dist/client/storage.cjs +2 -0
- package/dist/client/storage.cjs.map +1 -0
- package/dist/client/storage.d.ts +6 -3
- package/dist/client/storage.js +2 -12
- package/dist/client/storage.js.map +1 -0
- package/dist/client/types/File.cjs +1 -0
- package/dist/client/types/File.cjs.map +1 -0
- package/dist/client/types/File.d.ts +9 -5
- package/dist/client/types/File.js +1 -3
- package/dist/client/types/File.js.map +1 -0
- package/dist/client/types/Inputs.cjs +1 -0
- package/dist/client/types/Inputs.cjs.map +1 -0
- package/dist/client/types/Inputs.d.ts +6 -4
- package/dist/client/types/Inputs.js +1 -3
- package/dist/client/types/Inputs.js.map +1 -0
- package/dist/client/types/Node.cjs +1 -0
- package/dist/client/types/Node.cjs.map +1 -0
- package/dist/client/types/Node.d.ts +9 -56
- package/dist/client/types/Node.js +1 -3
- package/dist/client/types/Node.js.map +1 -0
- package/dist/client/types/UserAppNotifications.cjs +1 -0
- package/dist/client/types/UserAppNotifications.cjs.map +1 -0
- package/dist/client/types/UserAppNotifications.d.ts +3 -1
- package/dist/client/types/UserAppNotifications.js +1 -3
- package/dist/client/types/UserAppNotifications.js.map +1 -0
- package/dist/client/types/UserAppSettings.cjs +1 -0
- package/dist/client/types/UserAppSettings.cjs.map +1 -0
- package/dist/client/types/UserAppSettings.d.ts +3 -1
- package/dist/client/types/UserAppSettings.js +1 -3
- package/dist/client/types/UserAppSettings.js.map +1 -0
- package/dist/client/types/index.cjs +2 -0
- package/dist/client/types/index.cjs.map +1 -0
- package/dist/client/types/index.d.ts +86 -30
- package/dist/client/types/index.js +2 -8
- package/dist/client/types/index.js.map +1 -0
- package/dist/client/types/selectors.cjs +2 -0
- package/dist/client/types/selectors.cjs.map +1 -0
- package/dist/client/types/selectors.d.ts +7 -5
- package/dist/client/types/selectors.js +2 -135
- package/dist/client/types/selectors.js.map +1 -0
- package/dist/crypto/file.cjs +2 -0
- package/dist/crypto/file.cjs.map +1 -0
- package/dist/crypto/file.d.ts +8 -6
- package/dist/crypto/file.js +2 -195
- package/dist/crypto/file.js.map +1 -0
- package/dist/crypto/index.cjs +2 -0
- package/dist/crypto/index.cjs.map +1 -0
- package/dist/crypto/index.d.ts +11 -9
- package/dist/crypto/index.js +2 -45
- package/dist/crypto/index.js.map +1 -0
- package/dist/error.cjs +1 -0
- package/dist/error.cjs.map +1 -0
- package/dist/error.d.ts +15 -10
- package/dist/error.js +1 -3
- package/dist/error.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +19 -11
- package/dist/index.js +2 -9
- package/dist/index.js.map +1 -0
- package/dist/minify/index.cjs +2 -0
- package/dist/minify/index.cjs.map +1 -0
- package/dist/minify/index.d.ts +4 -2
- package/dist/minify/index.js +2 -23
- package/dist/minify/index.js.map +1 -0
- package/dist/minify/lz4.cjs +3 -0
- package/dist/minify/lz4.cjs.map +1 -0
- package/dist/minify/lz4.d.ts +7 -5
- package/dist/minify/lz4.js +3 -539
- package/dist/minify/lz4.js.map +1 -0
- package/dist/sodium.cjs +2 -0
- package/dist/sodium.cjs.map +1 -0
- package/dist/sodium.d.ts +5 -3
- package/dist/sodium.js +2 -6
- package/dist/sodium.js.map +1 -0
- package/dist/utils/store-buddy.cjs +2 -0
- package/dist/utils/store-buddy.cjs.map +1 -0
- package/dist/utils/store-buddy.d.ts +4 -3
- package/dist/utils/store-buddy.js +2 -58
- package/dist/utils/store-buddy.js.map +1 -0
- package/dist/utils/time.cjs +2 -0
- package/dist/utils/time.cjs.map +1 -0
- package/dist/utils/time.d.ts +4 -2
- package/dist/utils/time.js +2 -12
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/utils.cjs +2 -0
- package/dist/utils/utils.cjs.map +1 -0
- package/dist/utils/utils.d.ts +6 -4
- package/dist/utils/utils.js +2 -47
- package/dist/utils/utils.js.map +1 -0
- package/dist/worker/md5.cjs +2 -0
- package/dist/worker/md5.cjs.map +1 -0
- package/dist/worker/md5.d.ts +3 -1
- package/dist/worker/md5.js +2 -24
- package/dist/worker/md5.js.map +1 -0
- package/dist/worker/sodium.cjs +2 -0
- package/dist/worker/sodium.cjs.map +1 -0
- package/dist/worker/sodium.d.ts +6 -3
- package/dist/worker/sodium.js +2 -118
- package/dist/worker/sodium.js.map +1 -0
- package/dist/worker/workerCodes.cjs +254 -0
- package/dist/worker/workerCodes.cjs.map +1 -0
- package/dist/worker/workerCodes.d.ts +4 -2
- package/dist/worker/workerCodes.js +4 -5
- package/dist/worker/workerCodes.js.map +1 -0
- package/dist/zeus/const.cjs +2 -0
- package/dist/zeus/const.cjs.map +1 -0
- package/dist/zeus/const.d.ts +5 -3
- package/dist/zeus/const.js +2 -1287
- package/dist/zeus/const.js.map +1 -0
- package/dist/zeus/index.cjs +5 -0
- package/dist/zeus/index.cjs.map +1 -0
- package/dist/zeus/index.d.ts +2215 -116
- package/dist/zeus/index.js +5 -562
- package/dist/zeus/index.js.map +1 -0
- package/package.json +21 -21
package/dist/PopupTools.js
CHANGED
|
@@ -1,196 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
/**
|
|
5
|
-
* TS Rewrite of https://github.com/enhancv/popup-tools
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const defaultOptions = {
|
|
9
|
-
width: 700,
|
|
10
|
-
height: 520,
|
|
11
|
-
menubar: "no",
|
|
12
|
-
resizable: "yes",
|
|
13
|
-
location: "yes",
|
|
14
|
-
scrollbars: "no",
|
|
15
|
-
centered: true
|
|
16
|
-
};
|
|
17
|
-
let popupCount = 1;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Return options converted to a string
|
|
21
|
-
*
|
|
22
|
-
* @param {Object} options
|
|
23
|
-
* @return {String}
|
|
24
|
-
*/
|
|
25
|
-
function optionsToString(options) {
|
|
26
|
-
return Object.entries(options).map(_ref => {
|
|
27
|
-
let [k, v] = _ref;
|
|
28
|
-
return `${k}=${v}`;
|
|
29
|
-
}).join(",");
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Get a unique name on each call
|
|
34
|
-
* @return {String}
|
|
35
|
-
*/
|
|
36
|
-
function defaultPopupName() {
|
|
37
|
-
popupCount += 1;
|
|
38
|
-
return `Popup ${popupCount}`;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Convert "centered: true" key into concrete left and top arguments
|
|
43
|
-
* Both can be overwritten
|
|
44
|
-
*
|
|
45
|
-
* @param {Object} options
|
|
46
|
-
* @return {Object}
|
|
47
|
-
*/
|
|
48
|
-
function optionsResolveCentered(options) {
|
|
49
|
-
if (!options.width || !options.height) {
|
|
50
|
-
throw new Error("Should have width and height");
|
|
51
|
-
}
|
|
52
|
-
const result = _objectSpread({}, options);
|
|
53
|
-
const width = window.outerWidth - options.width;
|
|
54
|
-
const height = window.outerHeight - options.height;
|
|
55
|
-
if (options.centered) {
|
|
56
|
-
result.left = options.left || Math.round(window.screenX + width / 2);
|
|
57
|
-
result.top = options.top || Math.round(window.screenY + height / 2.5);
|
|
58
|
-
delete result.centered;
|
|
59
|
-
}
|
|
60
|
-
return result;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Create a form element, add hidden inputs for all the post data
|
|
65
|
-
* and post it into a newly opened popup
|
|
66
|
-
*
|
|
67
|
-
* @param {String} url
|
|
68
|
-
* @param {Object} postData
|
|
69
|
-
* @param {String} name
|
|
70
|
-
* @param {Object} options
|
|
71
|
-
* @return {Object}
|
|
72
|
-
*/
|
|
73
|
-
function openPopupWithPost(url, postData, name, options) {
|
|
74
|
-
var _win;
|
|
75
|
-
const form = document.createElement("form");
|
|
76
|
-
let win = null;
|
|
77
|
-
form.setAttribute("method", "post");
|
|
78
|
-
form.setAttribute("action", url);
|
|
79
|
-
form.setAttribute("target", name);
|
|
80
|
-
Object.keys(postData).forEach(function addFormItem(key) {
|
|
81
|
-
const input = document.createElement("input");
|
|
82
|
-
input.type = "hidden";
|
|
83
|
-
input.name = key;
|
|
84
|
-
input.value = postData[key];
|
|
85
|
-
form.appendChild(input);
|
|
86
|
-
});
|
|
87
|
-
document.body.appendChild(form);
|
|
88
|
-
win = window.open("/", name, options);
|
|
89
|
-
(_win = win) == null ? void 0 : _win.document.write("Loading...");
|
|
90
|
-
form.submit();
|
|
91
|
-
document.body.removeChild(form);
|
|
92
|
-
return win;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Open a popup using the first argument. Wait for it to close.
|
|
97
|
-
* Returns the window object
|
|
98
|
-
*
|
|
99
|
-
* @param {Function}
|
|
100
|
-
* @param {String}
|
|
101
|
-
* @param {String}
|
|
102
|
-
* @param {Object}
|
|
103
|
-
* @param {Function}
|
|
104
|
-
* @return {Object}
|
|
105
|
-
*/
|
|
106
|
-
function popupExecute(execute, url, name, options, callback) {
|
|
107
|
-
const popupName = name || defaultPopupName();
|
|
108
|
-
const popupOptions = optionsResolveCentered(Object.assign({}, defaultOptions, options));
|
|
109
|
-
const popupCallback = callback || function noop() {
|
|
110
|
-
//
|
|
111
|
-
};
|
|
112
|
-
const optionsString = optionsToString(popupOptions);
|
|
113
|
-
const win = execute(url, popupName, optionsString);
|
|
114
|
-
let isMessageSent = false;
|
|
115
|
-
let interval;
|
|
116
|
-
function popupCallbackOnce(err, data) {
|
|
117
|
-
if (!isMessageSent) {
|
|
118
|
-
isMessageSent = true;
|
|
119
|
-
popupCallback(err, data);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
function onMessage(message) {
|
|
123
|
-
const data = message ? message.data : undefined;
|
|
124
|
-
if (data && data.id === popupName) {
|
|
125
|
-
popupCallbackOnce(undefined, data.data);
|
|
126
|
-
window.removeEventListener("message", onMessage);
|
|
127
|
-
clearInterval(interval);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
window.addEventListener("message", onMessage, false);
|
|
131
|
-
if (win) {
|
|
132
|
-
interval = window.setInterval(function closePopupCallback() {
|
|
133
|
-
if (win === null || win.closed) {
|
|
134
|
-
setTimeout(function delayWindowClosing() {
|
|
135
|
-
clearInterval(interval);
|
|
136
|
-
popupCallbackOnce(new Error("Popup closed"));
|
|
137
|
-
}, 500);
|
|
138
|
-
}
|
|
139
|
-
}, 100);
|
|
140
|
-
} else {
|
|
141
|
-
popupCallbackOnce(new Error("Popup blocked"));
|
|
142
|
-
}
|
|
143
|
-
return win;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Open a popup using the first argument.
|
|
148
|
-
* Wait for it to close and call the callback.
|
|
149
|
-
* Set the options string using the options object
|
|
150
|
-
* Returns the window object
|
|
151
|
-
*
|
|
152
|
-
* @param {String} url
|
|
153
|
-
* @param {String} name
|
|
154
|
-
* @param {Object} options
|
|
155
|
-
* @param {Function} callback
|
|
156
|
-
* @return {Object}
|
|
157
|
-
*/
|
|
158
|
-
export function popup(url, name, options, callback) {
|
|
159
|
-
return popupExecute(window.open, url, name, options, callback);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Open a popup using the first argument.
|
|
164
|
-
* Post the data into the open popup.
|
|
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 {Object} postData
|
|
171
|
-
* @param {String} name
|
|
172
|
-
* @param {Object} options
|
|
173
|
-
* @param {Function} callback
|
|
174
|
-
* @return {Object}
|
|
175
|
-
*/
|
|
176
|
-
export function popupWithPost(url, postData, name, options, callback) {
|
|
177
|
-
function openWithPostData(popupUrl, popupName, optionsString) {
|
|
178
|
-
return openPopupWithPost(popupUrl, postData, popupName, optionsString);
|
|
179
|
-
}
|
|
180
|
-
return popupExecute(openWithPostData, url, name, options, callback);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Return html that when executed, will trigger the popup to callback with a response
|
|
185
|
-
*
|
|
186
|
-
* @param {Object}
|
|
187
|
-
* @return {String}
|
|
188
|
-
*/
|
|
189
|
-
export function popupResponse(id, data) {
|
|
190
|
-
const jsonData = JSON.stringify({
|
|
191
|
-
id,
|
|
192
|
-
data
|
|
193
|
-
});
|
|
194
|
-
return `<script>window.opener.postMessage(${jsonData}, "*");setTimeout(function() { window.close(); }, 50);</script>`;
|
|
195
|
-
}
|
|
196
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0T3B0aW9ucyIsIndpZHRoIiwiaGVpZ2h0IiwibWVudWJhciIsInJlc2l6YWJsZSIsImxvY2F0aW9uIiwic2Nyb2xsYmFycyIsImNlbnRlcmVkIiwicG9wdXBDb3VudCIsIm9wdGlvbnNUb1N0cmluZyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiayIsInYiLCJqb2luIiwiZGVmYXVsdFBvcHVwTmFtZSIsIm9wdGlvbnNSZXNvbHZlQ2VudGVyZWQiLCJFcnJvciIsInJlc3VsdCIsIndpbmRvdyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImxlZnQiLCJNYXRoIiwicm91bmQiLCJzY3JlZW5YIiwidG9wIiwic2NyZWVuWSIsIm9wZW5Qb3B1cFdpdGhQb3N0IiwidXJsIiwicG9zdERhdGEiLCJuYW1lIiwiZm9ybSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbiIsInNldEF0dHJpYnV0ZSIsImtleXMiLCJmb3JFYWNoIiwiYWRkRm9ybUl0ZW0iLCJrZXkiLCJpbnB1dCIsInR5cGUiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwiYm9keSIsIm9wZW4iLCJ3cml0ZSIsInN1Ym1pdCIsInJlbW92ZUNoaWxkIiwicG9wdXBFeGVjdXRlIiwiZXhlY3V0ZSIsImNhbGxiYWNrIiwicG9wdXBOYW1lIiwicG9wdXBPcHRpb25zIiwiYXNzaWduIiwicG9wdXBDYWxsYmFjayIsIm5vb3AiLCJvcHRpb25zU3RyaW5nIiwiaXNNZXNzYWdlU2VudCIsImludGVydmFsIiwicG9wdXBDYWxsYmFja09uY2UiLCJlcnIiLCJkYXRhIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImlkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFySW50ZXJ2YWwiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0SW50ZXJ2YWwiLCJjbG9zZVBvcHVwQ2FsbGJhY2siLCJjbG9zZWQiLCJzZXRUaW1lb3V0IiwiZGVsYXlXaW5kb3dDbG9zaW5nIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVFMgUmV3cml0ZSBvZiBodHRwczovL2dpdGh1Yi5jb20vZW5oYW5jdi9wb3B1cC10b29sc1xuICovXG5cbnR5cGUgWWVzTm8gPSBcInllc1wiIHwgXCJub1wiO1xudHlwZSBPcHRpb25zID0ge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBtZW51YmFyOiBZZXNObztcbiAgcmVzaXphYmxlOiBZZXNObztcbiAgbG9jYXRpb246IFllc05vO1xuICBzY3JvbGxiYXJzOiBZZXNObztcbiAgY2VudGVyZWQ/OiBib29sZWFuO1xuICBsZWZ0PzogbnVtYmVyO1xuICB0b3A/OiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogT3B0aW9ucyA9IHtcbiAgd2lkdGg6IDcwMCxcbiAgaGVpZ2h0OiA1MjAsXG4gIG1lbnViYXI6IFwibm9cIixcbiAgcmVzaXphYmxlOiBcInllc1wiLFxuICBsb2NhdGlvbjogXCJ5ZXNcIixcbiAgc2Nyb2xsYmFyczogXCJub1wiLFxuICBjZW50ZXJlZDogdHJ1ZVxufTtcblxudHlwZSBDYWxsYmFjayA9IChlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pID0+IHZvaWQ7XG5cbnR5cGUgV2luZG93T3BlbiA9IChcbiAgcG9wdXBVcmw6IHN0cmluZyxcbiAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuKSA9PiBXaW5kb3cgfCBudWxsO1xuXG5sZXQgcG9wdXBDb3VudCA9IDE7XG5cbi8qKlxuICogUmV0dXJuIG9wdGlvbnMgY29udmVydGVkIHRvIGEgc3RyaW5nXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIG9wdGlvbnNUb1N0cmluZzxUIGV4dGVuZHMgT3B0aW9ucz4ob3B0aW9uczogVCk6IHN0cmluZyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvcHRpb25zKVxuICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7a309JHt2fWApXG4gICAgLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIEdldCBhIHVuaXF1ZSBuYW1lIG9uIGVhY2ggY2FsbFxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBkZWZhdWx0UG9wdXBOYW1lKCk6IHN0cmluZyB7XG4gIHBvcHVwQ291bnQgKz0gMTtcbiAgcmV0dXJuIGBQb3B1cCAke3BvcHVwQ291bnR9YDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IFwiY2VudGVyZWQ6IHRydWVcIiBrZXkgaW50byBjb25jcmV0ZSBsZWZ0IGFuZCB0b3AgYXJndW1lbnRzXG4gKiBCb3RoIGNhbiBiZSBvdmVyd3JpdHRlblxuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5mdW5jdGlvbiBvcHRpb25zUmVzb2x2ZUNlbnRlcmVkKG9wdGlvbnM6IE9wdGlvbnMpOiBPcHRpb25zIHtcbiAgaWYgKCFvcHRpb25zLndpZHRoIHx8ICFvcHRpb25zLmhlaWdodCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBoYXZlIHdpZHRoIGFuZCBoZWlnaHRcIik7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0geyAuLi5vcHRpb25zIH07XG4gIGNvbnN0IHdpZHRoID0gd2luZG93Lm91dGVyV2lkdGggLSBvcHRpb25zLndpZHRoO1xuICBjb25zdCBoZWlnaHQgPSB3aW5kb3cub3V0ZXJIZWlnaHQgLSBvcHRpb25zLmhlaWdodDtcblxuICBpZiAob3B0aW9ucy5jZW50ZXJlZCkge1xuICAgIHJlc3VsdC5sZWZ0ID0gb3B0aW9ucy5sZWZ0IHx8IE1hdGgucm91bmQod2luZG93LnNjcmVlblggKyB3aWR0aCAvIDIpO1xuICAgIHJlc3VsdC50b3AgPSBvcHRpb25zLnRvcCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5ZICsgaGVpZ2h0IC8gMi41KTtcbiAgICBkZWxldGUgcmVzdWx0LmNlbnRlcmVkO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZm9ybSBlbGVtZW50LCBhZGQgaGlkZGVuIGlucHV0cyBmb3IgYWxsIHRoZSBwb3N0IGRhdGFcbiAqIGFuZCBwb3N0IGl0IGludG8gYSBuZXdseSBvcGVuZWQgcG9wdXBcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7T2JqZWN0fSBwb3N0RGF0YVxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3BlblBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBzdHJpbmdcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImZvcm1cIik7XG4gIGxldCB3aW46IFdpbmRvdyB8IG51bGwgPSBudWxsO1xuXG4gIGZvcm0uc2V0QXR0cmlidXRlKFwibWV0aG9kXCIsIFwicG9zdFwiKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJhY3Rpb25cIiwgdXJsKTtcbiAgZm9ybS5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgbmFtZSk7XG5cbiAgT2JqZWN0LmtleXMocG9zdERhdGEpLmZvckVhY2goZnVuY3Rpb24gYWRkRm9ybUl0ZW0oa2V5KSB7XG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XG4gICAgaW5wdXQubmFtZSA9IGtleTtcbiAgICBpbnB1dC52YWx1ZSA9IHBvc3REYXRhW2tleV07XG4gICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7XG4gIH0pO1xuXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7XG5cbiAgd2luID0gd2luZG93Lm9wZW4oXCIvXCIsIG5hbWUsIG9wdGlvbnMpO1xuICB3aW4/LmRvY3VtZW50LndyaXRlKFwiTG9hZGluZy4uLlwiKTtcblxuICBmb3JtLnN1Ym1pdCgpO1xuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZvcm0pO1xuXG4gIHJldHVybiB3aW47XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC4gV2FpdCBmb3IgaXQgdG8gY2xvc2UuXG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtTdHJpbmd9XG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcGFyYW0gIHtGdW5jdGlvbn1cbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gcG9wdXBFeGVjdXRlKFxuICBleGVjdXRlOiBXaW5kb3dPcGVuLFxuICB1cmw6IHN0cmluZyxcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBjb25zdCBwb3B1cE5hbWUgPSBuYW1lIHx8IGRlZmF1bHRQb3B1cE5hbWUoKTtcbiAgY29uc3QgcG9wdXBPcHRpb25zID0gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChcbiAgICBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgb3B0aW9ucylcbiAgKTtcbiAgY29uc3QgcG9wdXBDYWxsYmFjayA9XG4gICAgY2FsbGJhY2sgfHxcbiAgICBmdW5jdGlvbiBub29wKCk6IHZvaWQge1xuICAgICAgLy9cbiAgICB9O1xuICBjb25zdCBvcHRpb25zU3RyaW5nID0gb3B0aW9uc1RvU3RyaW5nKHBvcHVwT3B0aW9ucyk7XG4gIGNvbnN0IHdpbiA9IGV4ZWN1dGUodXJsLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICBsZXQgaXNNZXNzYWdlU2VudCA9IGZhbHNlO1xuICBsZXQgaW50ZXJ2YWw6IG51bWJlcjtcblxuICBmdW5jdGlvbiBwb3B1cENhbGxiYWNrT25jZShlcnI/OiBFcnJvciwgZGF0YT86IHVua25vd24pOiB2b2lkIHtcbiAgICBpZiAoIWlzTWVzc2FnZVNlbnQpIHtcbiAgICAgIGlzTWVzc2FnZVNlbnQgPSB0cnVlO1xuICAgICAgcG9wdXBDYWxsYmFjayhlcnIsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIG9uTWVzc2FnZShtZXNzYWdlPzogTWVzc2FnZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IG1lc3NhZ2UgPyBtZXNzYWdlLmRhdGEgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZGF0YSAmJiBkYXRhLmlkID09PSBwb3B1cE5hbWUpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YS5kYXRhKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBvbk1lc3NhZ2UpO1xuICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgfVxuICB9XG5cbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIG9uTWVzc2FnZSwgZmFsc2UpO1xuXG4gIGlmICh3aW4pIHtcbiAgICBpbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbiBjbG9zZVBvcHVwQ2FsbGJhY2soKSB7XG4gICAgICBpZiAod2luID09PSBudWxsIHx8IHdpbi5jbG9zZWQpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBkZWxheVdpbmRvd0Nsb3NpbmcoKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgY2xvc2VkXCIpKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICB9LCAxMDApO1xuICB9IGVsc2Uge1xuICAgIHBvcHVwQ2FsbGJhY2tPbmNlKG5ldyBFcnJvcihcIlBvcHVwIGJsb2NrZWRcIikpO1xuICB9XG5cbiAgcmV0dXJuIHdpbjtcbn1cblxuLyoqXG4gKiBPcGVuIGEgcG9wdXAgdXNpbmcgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICogV2FpdCBmb3IgaXQgdG8gY2xvc2UgYW5kIGNhbGwgdGhlIGNhbGxiYWNrLlxuICogU2V0IHRoZSBvcHRpb25zIHN0cmluZyB1c2luZyB0aGUgb3B0aW9ucyBvYmplY3RcbiAqIFJldHVybnMgdGhlIHdpbmRvdyBvYmplY3RcbiAqXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHVybFxuICogQHBhcmFtICB7U3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYWxsYmFja1xuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXAoXG4gIHVybDogc3RyaW5nLFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IFBhcnRpYWw8T3B0aW9ucz4sXG4gIGNhbGxiYWNrOiBDYWxsYmFja1xuKTogV2luZG93IHwgbnVsbCB7XG4gIHJldHVybiBwb3B1cEV4ZWN1dGUod2luZG93Lm9wZW4sIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBQb3N0IHRoZSBkYXRhIGludG8gdGhlIG9wZW4gcG9wdXAuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtPYmplY3R9IHBvc3REYXRhXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgZnVuY3Rpb24gb3BlbldpdGhQb3N0RGF0YShcbiAgICBwb3B1cFVybDogc3RyaW5nLFxuICAgIHBvcHVwTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnNTdHJpbmc6IHN0cmluZ1xuICApOiBXaW5kb3cgfCBudWxsIHtcbiAgICByZXR1cm4gb3BlblBvcHVwV2l0aFBvc3QocG9wdXBVcmwsIHBvc3REYXRhLCBwb3B1cE5hbWUsIG9wdGlvbnNTdHJpbmcpO1xuICB9XG5cbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZShvcGVuV2l0aFBvc3REYXRhLCB1cmwsIG5hbWUsIG9wdGlvbnMsIGNhbGxiYWNrKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gaHRtbCB0aGF0IHdoZW4gZXhlY3V0ZWQsIHdpbGwgdHJpZ2dlciB0aGUgcG9wdXAgdG8gY2FsbGJhY2sgd2l0aCBhIHJlc3BvbnNlXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9wdXBSZXNwb25zZTxUPihpZDogc3RyaW5nLCBkYXRhOiBUKTogc3RyaW5nIHtcbiAgY29uc3QganNvbkRhdGEgPSBKU09OLnN0cmluZ2lmeSh7IGlkLCBkYXRhIH0pO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBO0FBQ0E7O0FBZUEsTUFBTUEsY0FBdUIsR0FBRztFQUM5QkMsS0FBSyxFQUFFLEdBQUc7RUFDVkMsTUFBTSxFQUFFLEdBQUc7RUFDWEMsT0FBTyxFQUFFLElBQUk7RUFDYkMsU0FBUyxFQUFFLEtBQUs7RUFDaEJDLFFBQVEsRUFBRSxLQUFLO0VBQ2ZDLFVBQVUsRUFBRSxJQUFJO0VBQ2hCQyxRQUFRLEVBQUU7QUFDWixDQUFDO0FBVUQsSUFBSUMsVUFBVSxHQUFHLENBQUM7O0FBRWxCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGVBQWUsQ0FBb0JDLE9BQVUsRUFBVTtFQUM5RCxPQUFPQyxNQUFNLENBQUNDLE9BQU8sQ0FBQ0YsT0FBTyxDQUFDLENBQzNCRyxHQUFHLENBQUM7SUFBQSxJQUFDLENBQUNDLENBQUMsRUFBRUMsQ0FBQyxDQUFDO0lBQUEsT0FBTSxHQUFFRCxDQUFFLElBQUdDLENBQUUsRUFBQztFQUFBLEVBQUMsQ0FDNUJDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGdCQUFnQixHQUFXO0VBQ2xDVCxVQUFVLElBQUksQ0FBQztFQUNmLE9BQVEsU0FBUUEsVUFBVyxFQUFDO0FBQzlCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU1Usc0JBQXNCLENBQUNSLE9BQWdCLEVBQVc7RUFDekQsSUFBSSxDQUFDQSxPQUFPLENBQUNULEtBQUssSUFBSSxDQUFD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
|
|
1
|
+
import{a as h}from"./chunk-KMTF2BZE.js";const O={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let b=1;function v(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function W(){return b+=1,`Popup ${b}`}function C(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t=h({},n),e=window.outerWidth-n.width,r=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+r/2.5),delete t.centered),t}function y(n,t,e,r){const o=document.createElement("form");let i=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),i=window.open("/",e,r),i==null||i.document.write("Loading..."),o.submit(),document.body.removeChild(o),i}function m(n,t,e,r,o){const i=e||W(),l=C(Object.assign({},O,r)),u=o||function(){},s=v(l),a=n(t,i,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===i&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function E(n,t,e,r){return m(window.open,n,t,e,r)}function P(n,t,e,r,o){function i(l,u,s){return y(l,t,u,s)}return m(i,n,e,r,o)}function k(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}export{E as popup,k as popupResponse,P as popupWithPost};
|
|
2
|
+
//# sourceMappingURL=PopupTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/PopupTools.ts"],"sourcesContent":["/**\n * TS Rewrite of https://github.com/enhancv/popup-tools\n */\n\ntype YesNo = \"yes\" | \"no\";\ntype Options = {\n width?: number;\n height?: number;\n menubar: YesNo;\n resizable: YesNo;\n location: YesNo;\n scrollbars: YesNo;\n centered?: boolean;\n left?: number;\n top?: number;\n};\n\nconst defaultOptions: Options = {\n width: 700,\n height: 520,\n menubar: \"no\",\n resizable: \"yes\",\n location: \"yes\",\n scrollbars: \"no\",\n centered: true\n};\n\ntype Callback = (err?: Error, data?: unknown) => void;\n\ntype WindowOpen = (\n popupUrl: string,\n popupName: string,\n optionsString: string\n) => Window | null;\n\nlet popupCount = 1;\n\n/**\n * Return options converted to a string\n *\n * @param {Object} options\n * @return {String}\n */\nfunction optionsToString<T extends Options>(options: T): string {\n return Object.entries(options)\n .map(([k, v]) => `${k}=${v}`)\n .join(\",\");\n}\n\n/**\n * Get a unique name on each call\n * @return {String}\n */\nfunction defaultPopupName(): string {\n popupCount += 1;\n return `Popup ${popupCount}`;\n}\n\n/**\n * Convert \"centered: true\" key into concrete left and top arguments\n * Both can be overwritten\n *\n * @param {Object} options\n * @return {Object}\n */\nfunction optionsResolveCentered(options: Options): Options {\n if (!options.width || !options.height) {\n throw new Error(\"Should have width and height\");\n }\n const result = { ...options };\n const width = window.outerWidth - options.width;\n const height = window.outerHeight - options.height;\n\n if (options.centered) {\n result.left = options.left || Math.round(window.screenX + width / 2);\n result.top = options.top || Math.round(window.screenY + height / 2.5);\n delete result.centered;\n }\n return result;\n}\n\n/**\n * Create a form element, add hidden inputs for all the post data\n * and post it into a newly opened popup\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @return {Object}\n */\nfunction openPopupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: string\n): Window | null {\n const form = document.createElement(\"form\");\n let win: Window | null = null;\n\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"action\", url);\n form.setAttribute(\"target\", name);\n\n Object.keys(postData).forEach(function addFormItem(key) {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = key;\n input.value = postData[key];\n form.appendChild(input);\n });\n\n document.body.appendChild(form);\n\n win = window.open(\"/\", name, options);\n win?.document.write(\"Loading...\");\n\n form.submit();\n document.body.removeChild(form);\n\n return win;\n}\n\n/**\n * Open a popup using the first argument. Wait for it to close.\n * Returns the window object\n *\n * @param {Function}\n * @param {String}\n * @param {String}\n * @param {Object}\n * @param {Function}\n * @return {Object}\n */\nfunction popupExecute(\n execute: WindowOpen,\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n const popupName = name || defaultPopupName();\n const popupOptions = optionsResolveCentered(\n Object.assign({}, defaultOptions, options)\n );\n const popupCallback =\n callback ||\n function noop(): void {\n //\n };\n const optionsString = optionsToString(popupOptions);\n const win = execute(url, popupName, optionsString);\n let isMessageSent = false;\n let interval: number;\n\n function popupCallbackOnce(err?: Error, data?: unknown): void {\n if (!isMessageSent) {\n isMessageSent = true;\n popupCallback(err, data);\n }\n }\n\n function onMessage(message?: MessageEvent): void {\n const data = message ? message.data : undefined;\n\n if (data && data.id === popupName) {\n popupCallbackOnce(undefined, data.data);\n window.removeEventListener(\"message\", onMessage);\n clearInterval(interval);\n }\n }\n\n window.addEventListener(\"message\", onMessage, false);\n\n if (win) {\n interval = window.setInterval(function closePopupCallback() {\n if (win === null || win.closed) {\n setTimeout(function delayWindowClosing() {\n clearInterval(interval);\n popupCallbackOnce(new Error(\"Popup closed\"));\n }, 500);\n }\n }, 100);\n } else {\n popupCallbackOnce(new Error(\"Popup blocked\"));\n }\n\n return win;\n}\n\n/**\n * Open a popup using the first argument.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popup(\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n return popupExecute(window.open, url, name, options, callback);\n}\n\n/**\n * Open a popup using the first argument.\n * Post the data into the open popup.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n function openWithPostData(\n popupUrl: string,\n popupName: string,\n optionsString: string\n ): Window | null {\n return openPopupWithPost(popupUrl, postData, popupName, optionsString);\n }\n\n return popupExecute(openWithPostData, url, name, options, callback);\n}\n\n/**\n * Return html that when executed, will trigger the popup to callback with a response\n *\n * @param {Object}\n * @return {String}\n */\nexport function popupResponse<T>(id: string, data: T): string {\n const jsonData = JSON.stringify({ id, data });\n\n return `<script>window.opener.postMessage(${jsonData}, \"*\");setTimeout(function() { window.close(); }, 50);</script>`;\n}\n"],"mappings":"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","names":["defaultOptions","popupCount","optionsToString","options","k","v","defaultPopupName","optionsResolveCentered","result","__spreadValues","width","height","openPopupWithPost","url","postData","name","form","win","key","input","popupExecute","execute","callback","popupName","popupOptions","popupCallback","optionsString","isMessageSent","interval","popupCallbackOnce","err","data","onMessage","message","popup","popupWithPost","openWithPostData","popupUrl","popupResponse","id"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5WPCTUWHcjs = require('./chunk-5WPCTUWH.cjs');var _indexjs = require('./zeus/index.js');const p=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch(s){n(o)}}).catch(n)}),l=(e,r)=>async(n,o={})=>{const s=fetch;let i=n;const a=e[1]||{};if(a.method&&a.method==="GET")return i=encodeURIComponent(n),s(`${e[0]}?query=${i}`,a).then(p).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,f=setTimeout(()=>h.abort(),2e4),g=await s(`${e[0]}`,_chunk5WPCTUWHcjs.a.call(void 0, {body:JSON.stringify({query:i,variables:o}),method:"POST",headers:c,signal:h.signal},a)).then(p).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});return clearTimeout(f),g},R= exports.createThunder =(e,r)=>_indexjs.Thunder.call(void 0, l([e,{mode:"cors",credentials:"same-origin"}],r));exports.createThunder = R;
|
|
2
|
+
//# sourceMappingURL=ZeusThunder.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ZeusThunder.ts"],"names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","err","apiFetch","options","session","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","__spreadValues","createThunder","url"],"mappings":"yCACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,OAASC,EAAP,CACAF,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCG,EACJ,CAACC,EAAuBC,IACxB,MACEC,EACAC,EAAiC,CAAC,IACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeN,EAAQ,IAAM,CAAC,EACpC,GAAIM,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGJ,EAAQ,YAAYK,IAAeC,CAAY,EACpE,KAAKb,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMa,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIN,IACFM,EAAQ,mBAAqBN,GAE/B,MAAMO,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGJ,EAAQ,KAAMW,EAAA,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAON,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,QAChBF,EACJ,EACE,KAAKb,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAae,CAAE,EACRC,CACT,EAEWE,EAAgB,CAC3BC,EACAZ,IAEAT,EACEO,EACE,CACEc,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAZ,CACF,CACF","sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"]}
|
package/dist/ZeusThunder.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import { Thunder } from
|
|
2
|
-
|
|
1
|
+
import { Thunder } from './zeus/index.js';
|
|
2
|
+
import './zeus/const.js';
|
|
3
|
+
|
|
4
|
+
declare const createThunder: (url: string, session?: string | null | undefined) => ReturnType<typeof Thunder>;
|
|
5
|
+
|
|
6
|
+
export { createThunder };
|
package/dist/ZeusThunder.js
CHANGED
|
@@ -1,65 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
import { GraphQLError, Thunder } from "./zeus/index.js";
|
|
5
|
-
const handleFetchResponse = response => {
|
|
6
|
-
if (!response.ok) {
|
|
7
|
-
return new Promise((_, reject) => {
|
|
8
|
-
response.text().then(text => {
|
|
9
|
-
try {
|
|
10
|
-
reject(JSON.parse(text));
|
|
11
|
-
} catch (err) {
|
|
12
|
-
reject(text);
|
|
13
|
-
}
|
|
14
|
-
}).catch(reject);
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
return response.json();
|
|
18
|
-
};
|
|
19
|
-
const apiFetch = (options, session) => async function (query, variables) {
|
|
20
|
-
if (variables === void 0) {
|
|
21
|
-
variables = {};
|
|
22
|
-
}
|
|
23
|
-
const fetchFunction = fetch;
|
|
24
|
-
let queryString = query;
|
|
25
|
-
const fetchOptions = options[1] || {};
|
|
26
|
-
if (fetchOptions.method && fetchOptions.method === "GET") {
|
|
27
|
-
queryString = encodeURIComponent(query);
|
|
28
|
-
return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions).then(handleFetchResponse).then(response => {
|
|
29
|
-
if (response.errors) {
|
|
30
|
-
throw new GraphQLError(response);
|
|
31
|
-
}
|
|
32
|
-
return response.data;
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
const headers = {
|
|
36
|
-
"content-type": "application/json",
|
|
37
|
-
"accept-language": navigator.language
|
|
38
|
-
};
|
|
39
|
-
if (session) {
|
|
40
|
-
headers["secrecy-session"] = session;
|
|
41
|
-
}
|
|
42
|
-
const controller = new AbortController();
|
|
43
|
-
const id = setTimeout(() => controller.abort(), 20000);
|
|
44
|
-
const res = await fetchFunction(`${options[0]}`, _objectSpread({
|
|
45
|
-
body: JSON.stringify({
|
|
46
|
-
query: queryString,
|
|
47
|
-
variables
|
|
48
|
-
}),
|
|
49
|
-
method: "POST",
|
|
50
|
-
headers,
|
|
51
|
-
signal: controller.signal
|
|
52
|
-
}, fetchOptions)).then(handleFetchResponse).then(response => {
|
|
53
|
-
if (response.errors) {
|
|
54
|
-
throw new GraphQLError(response);
|
|
55
|
-
}
|
|
56
|
-
return response.data;
|
|
57
|
-
});
|
|
58
|
-
clearTimeout(id);
|
|
59
|
-
return res;
|
|
60
|
-
};
|
|
61
|
-
export const createThunder = (url, session) => Thunder(apiFetch([url, {
|
|
62
|
-
mode: "cors",
|
|
63
|
-
credentials: "same-origin"
|
|
64
|
-
}], session));
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwic291cmNlcyI6WyIuLi9zcmMvWmV1c1RodW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmZXRjaE9wdGlvbnMsIEdyYXBoUUxSZXNwb25zZSB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciwgVGh1bmRlciB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+W1widGhlblwiXT5bMF0sIEZ1bmN0aW9uPlxuICA+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlXG4gICAgICAgIC50ZXh0KClcbiAgICAgICAgLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlamVjdChKU09OLnBhcnNlKHRleHQpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdCh0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+O1xufTtcblxuY29uc3QgYXBpRmV0Y2ggPVxuICAob3B0aW9uczogZmV0Y2hPcHRpb25zLCBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgYXN5bmMgKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgZmV0Y2hGdW5jdGlvbiA9IGZldGNoO1xuICAgIGxldCBxdWVyeVN0cmluZyA9IHF1ZXJ5O1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcXVlcnlTdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgcmV0dXJuIGZldGNoRnVuY3Rpb24oYCR7b3B0aW9uc1swXX0/cXVlcnk9JHtxdWVyeVN0cmluZ31gLCBmZXRjaE9wdGlvbnMpXG4gICAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhY2NlcHQtbGFuZ3VhZ2VcIjogbmF2aWdhdG9yLmxhbmd1YWdlXG4gICAgfTtcblxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBoZWFkZXJzW1wic2VjcmVjeS1zZXNzaW9uXCJdID0gc2Vzc2lvbjtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCAyMDAwMCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCB2YXJpYWJsZXMgfSksXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAuLi5mZXRjaE9wdGlvbnNcbiAgICB9KVxuICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgIH0pO1xuICAgIGNsZWFyVGltZW91dChpZCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRodW5kZXIgPSAoXG4gIHVybDogc3RyaW5nLFxuICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj4gPT5cbiAgVGh1bmRlcihcbiAgICBhcGlGZXRjaChcbiAgICAgIFtcbiAgICAgICAgdXJsLFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc2Vzc2lvblxuICAgIClcbiAgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsU0FBU0EsWUFBWSxFQUFFQyxPQUFPLFFBQVEsaUJBQWlCO0FBRXZELE1BQU1DLG1CQUFtQixHQUN2QkMsUUFHSSxJQUN5QjtFQUM3QixJQUFJLENBQUNBLFFBQVEsQ0FBQ0MsRUFBRSxFQUFFO0lBQ2hCLE9BQU8sSUFBSUMsT0FBTyxDQUFDLENBQUNDLENBQUMsRUFBRUMsTUFBTSxLQUFLO01BQ2hDSixRQUFRLENBQ0xLLElBQUksRUFBRSxDQUNOQyxJQUFJLENBQUNELElBQUksSUFBSTtRQUNaLElBQUk7VUFDRkQsTUFBTSxDQUFDRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLE9BQU9JLEdBQUcsRUFBRTtVQUNaTCxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNkO01BQ0YsQ0FBQyxDQUFDLENBQ0RLLEtBQUssQ0FBQ04sTUFBTSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztFQUNKO0VBQ0EsT0FBT0osUUFBUSxDQUFDVyxJQUFJLEVBQUU7QUFDeEIs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
|
|
1
|
+
import{a as d}from"./chunk-KMTF2BZE.js";import{GraphQLError as u,Thunder as m}from"./zeus/index.js";const p=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch(s){n(o)}}).catch(n)}),l=(e,r)=>async(n,o={})=>{const s=fetch;let i=n;const a=e[1]||{};if(a.method&&a.method==="GET")return i=encodeURIComponent(n),s(`${e[0]}?query=${i}`,a).then(p).then(t=>{if(t.errors)throw new u(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,f=setTimeout(()=>h.abort(),2e4),g=await s(`${e[0]}`,d({body:JSON.stringify({query:i,variables:o}),method:"POST",headers:c,signal:h.signal},a)).then(p).then(t=>{if(t.errors)throw new u(t);return t.data});return clearTimeout(f),g},R=(e,r)=>m(l([e,{mode:"cors",credentials:"same-origin"}],r));export{R as createThunder};
|
|
2
|
+
//# sourceMappingURL=ZeusThunder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ZeusThunder.ts"],"sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"],"mappings":"wCACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,OAASC,EAAP,CACAF,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCG,EACJ,CAACC,EAAuBC,IACxB,MACEC,EACAC,EAAiC,CAAC,IACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeN,EAAQ,IAAM,CAAC,EACpC,GAAIM,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGJ,EAAQ,YAAYK,IAAeC,CAAY,EACpE,KAAKb,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMa,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIN,IACFM,EAAQ,mBAAqBN,GAE/B,MAAMO,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGJ,EAAQ,KAAMW,EAAA,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAON,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,QAChBF,EACJ,EACE,KAAKb,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAae,CAAE,EACRC,CACT,EAEWE,EAAgB,CAC3BC,EACAZ,IAEAT,EACEO,EACE,CACEc,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAZ,CACF,CACF","names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","err","apiFetch","options","session","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","__spreadValues","createThunder","url"]}
|
package/dist/cache.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-5WPCTUWH.cjs');const e=new Map,n= exports.nodesCache =new Map,t= exports.usersCache =new Map;exports.filesCache = e; exports.nodesCache = n; exports.usersCache = t;
|
|
2
|
+
//# sourceMappingURL=cache.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cache.ts"],"names":["filesCache","nodesCache","usersCache"],"mappings":"6BAOO,MAAMA,EAAa,IAAI,IAEjBC,EAAa,IAAI,IAEjBC,EAAa,IAAI","sourcesContent":["import type { User } from \"./index.js\";\nimport type {\n InternalNode,\n InternalFile,\n InternalNodeFull\n} from \"./client/types/index.js\";\n\nexport const filesCache = new Map<string, InternalFile>();\n\nexport const nodesCache = new Map<string, InternalNode | InternalNodeFull>();\n\nexport const usersCache = new Map<\n string,\n User | User<{ withPublicKey: true }>\n>();\n"]}
|
package/dist/cache.d.ts
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { U as UserBase } from './BaseClient-7c38f650.js';
|
|
2
|
+
import { InternalFile } from './client/types/File.js';
|
|
3
|
+
import { InternalNode, InternalNodeFull } from './client/types/index.js';
|
|
4
|
+
import 'ky';
|
|
5
|
+
import './zeus/index.js';
|
|
6
|
+
import './zeus/const.js';
|
|
7
|
+
import './error.js';
|
|
8
|
+
import './crypto/file.js';
|
|
9
|
+
import './crypto/index.js';
|
|
10
|
+
import './client/types/UserAppSettings.js';
|
|
11
|
+
import './client/types/UserAppNotifications.js';
|
|
12
|
+
import 'jsonwebtoken';
|
|
13
|
+
import 'bson';
|
|
14
|
+
import 'ethers';
|
|
15
|
+
import './client/types/selectors.js';
|
|
16
|
+
import './client/types/Inputs.js';
|
|
17
|
+
|
|
18
|
+
declare const filesCache: Map<string, InternalFile>;
|
|
19
|
+
declare const nodesCache: Map<string, InternalNode | InternalNodeFull>;
|
|
20
|
+
declare const usersCache: Map<string, UserBase | (UserBase & {
|
|
5
21
|
publicKey: string;
|
|
6
22
|
})>;
|
|
23
|
+
|
|
24
|
+
export { filesCache, nodesCache, usersCache };
|
package/dist/cache.js
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export const usersCache = new Map();
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiTWFwIiwibm9kZXNDYWNoZSIsInVzZXJzQ2FjaGUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxOb2RlLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsTm9kZUZ1bGxcbn0gZnJvbSBcIi4vY2xpZW50L3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGVybmFsRmlsZT4oKTtcblxuZXhwb3J0IGNvbnN0IG5vZGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOb2RlIHwgSW50ZXJuYWxOb2RlRnVsbD4oKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzQ2FjaGUgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIFVzZXIgfCBVc2VyPHsgd2l0aFB1YmxpY0tleTogdHJ1ZSB9PlxuPigpO1xuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxJQUFJQyxHQUFHLEVBQXdCO0FBRXpELE9BQU8sTUFBTUMsVUFBVSxHQUFHLElBQUlELEdBQUcsRUFBMkM7QUFFNUUsT0FBTyxNQUFNRSxVQUFVLEdBQUcsSUFBSUYsR0FBRyxFQUc5QiJ9
|
|
1
|
+
import"./chunk-KMTF2BZE.js";const e=new Map,n=new Map,t=new Map;export{e as filesCache,n as nodesCache,t as usersCache};
|
|
2
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cache.ts"],"sourcesContent":["import type { User } from \"./index.js\";\nimport type {\n InternalNode,\n InternalFile,\n InternalNodeFull\n} from \"./client/types/index.js\";\n\nexport const filesCache = new Map<string, InternalFile>();\n\nexport const nodesCache = new Map<string, InternalNode | InternalNodeFull>();\n\nexport const usersCache = new Map<\n string,\n User | User<{ withPublicKey: true }>\n>();\n"],"mappings":"4BAOO,MAAMA,EAAa,IAAI,IAEjBC,EAAa,IAAI,IAEjBC,EAAa,IAAI","names":["filesCache","nodesCache","usersCache"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var h=Object.defineProperty,i=Object.defineProperties;var j=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;var d=(b,a,c)=>a in b?h(b,a,{enumerable:!0,configurable:!0,writable:!0,value:c}):b[a]=c,m= exports.a =(b,a)=>{for(var c in a||(a={}))k.call(a,c)&&d(b,c,a[c]);if(f)for(var c of f(a))l.call(a,c)&&d(b,c,a[c]);return b},n= exports.b =(b,a)=>i(b,j(a));var o=(b,a,c)=>(d(b,typeof a!="symbol"?a+"":a,c),c),g=(b,a,c)=>{if(!a.has(b))throw TypeError("Cannot "+c)};var p=(b,a,c)=>(g(b,a,"read from private field"),c?c.call(b):a.get(b)),q= exports.e =(b,a,c)=>{if(a.has(b))throw TypeError("Cannot add the same private member more than once");a instanceof WeakSet?a.add(b):a.set(b,c)},r= exports.f =(b,a,c,e)=>(g(b,a,"write to private field"),e?e.call(b,c):a.set(b,c),c);exports.a = m; exports.b = n; exports.c = o; exports.d = p; exports.e = q; exports.f = r;
|
|
2
|
+
//# sourceMappingURL=chunk-5WPCTUWH.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var h=Object.defineProperty,i=Object.defineProperties;var j=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;var d=(b,a,c)=>a in b?h(b,a,{enumerable:!0,configurable:!0,writable:!0,value:c}):b[a]=c,m=(b,a)=>{for(var c in a||(a={}))k.call(a,c)&&d(b,c,a[c]);if(f)for(var c of f(a))l.call(a,c)&&d(b,c,a[c]);return b},n=(b,a)=>i(b,j(a));var o=(b,a,c)=>(d(b,typeof a!="symbol"?a+"":a,c),c),g=(b,a,c)=>{if(!a.has(b))throw TypeError("Cannot "+c)};var p=(b,a,c)=>(g(b,a,"read from private field"),c?c.call(b):a.get(b)),q=(b,a,c)=>{if(a.has(b))throw TypeError("Cannot add the same private member more than once");a instanceof WeakSet?a.add(b):a.set(b,c)},r=(b,a,c,e)=>(g(b,a,"write to private field"),e?e.call(b,c):a.set(b,c),c);export{m as a,n as b,o as c,p as d,q as e,r as f};
|
|
2
|
+
//# sourceMappingURL=chunk-KMTF2BZE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5WPCTUWHcjs = require('../chunk-5WPCTUWH.cjs');var r;var _jsonwebtoken = require('jsonwebtoken');var _storagejs = require('./storage.js');class _{constructor(e,t,s,o){_chunk5WPCTUWHcjs.c.call(void 0, this,"jwt");_chunk5WPCTUWHcjs.c.call(void 0, this,"jwtDecoded");_chunk5WPCTUWHcjs.e.call(void 0, this,r,void 0);this.jwt=e,this.jwtDecoded=_jsonwebtoken.decode.call(void 0, e),_chunk5WPCTUWHcjs.f.call(void 0, this,r,o)}get userId(){var e;return(e=this.jwtDecoded.sub)!=null?e:""}async getJwt(){const{getJwt:e}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"query")({getJwt:[{includeEmail:!!this.jwtDecoded.email},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on JwtResponse":{__typename:!0,jwt:!0}}]});if(!e)return this.jwt;if(e.__typename==="ErrorAccessDenied")throw new Error(e.message);this.jwt=e.jwt,this.jwtDecoded=_jsonwebtoken.decode.call(void 0, e.jwt);const t=_storagejs.getStorage.call(void 0, !0),s=_storagejs.getStorage.call(void 0, !1),o=t.jwt.load(),d=s.jwt.load();return o&&t.jwt.save(e.jwt),d&&s.jwt.save(e.jwt),e.jwt}async updateNotifications(e){const{updateAppNotifications:t}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"mutation",{scalars:{DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()}}})({updateAppNotifications:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on UpdateAppNotificationsResponse":{__typename:!0,updateAppNotifications:{enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}}]});return t?t.__typename==="ErrorAccessDenied"?t:t.updateAppNotifications?{__typename:"SuccessResponse",data:t.updateAppNotifications}:null:null}async notifications(){const{appNotifications:e}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"query",{scalars:{DateTime:{decode:t=>new Date(t),encode:t=>t.toISOString()}}})({appNotifications:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserAppNotifications":{__typename:!0,enableAll:!0,mail:!0,cloud:!0,disableAllUntil:!0}}});return e?e.__typename==="ErrorAccessDenied"||e.__typename==="ErrorNotFound"?e:{__typename:"SuccessResponse",data:e}:null}async settings(){var t;const{user:e}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"query")({user:[{},{"...on ErrorNotFound":{__typename:!0,message:!0},"...on UserResponse":{__typename:!0,user:{appSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}}]});return e?e.__typename==="ErrorNotFound"?e:(t=e.user)!=null&&t.appSettings?{__typename:"SuccessResponse",data:e.user.appSettings}:null:null}async updateSettings(e){const{updateAppSettings:t}=await _chunk5WPCTUWHcjs.d.call(void 0, this,r).call(this,"mutation")({updateAppSettings:[e,{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on UpdateAppSettingsResponse":{__typename:!0,updateAppSettings:{cloudNodeDaysForDelete:!0,historyFileDaysForDelete:!0,historyMaxFileCount:!0}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorBasic"?t:{__typename:"SuccessResponse",data:t.updateAppSettings}:null}}r=new WeakMap;exports.SecrecyAppClient = _;
|
|
2
|
+
//# sourceMappingURL=SecrecyAppClient.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/client/SecrecyAppClient.ts"],"names":["_thunder","decode","getStorage","SecrecyAppClient","uaJwt","_client","_keys","thunder","__publicField","__privateAdd","__privateSet","_a","getJwt","__privateGet","sessionStorage","localStorage","sessionJwt","localJwt","notifications","updateAppNotifications","e","appNotifications","user","settings","updateAppSettings"],"mappings":"+DAAA,IAAAA,EAWA,OAAS,UAAAC,MAAc,eACvB,OAAS,cAAAC,MAAkB,eAEpB,MAAMC,CAAiB,CAW5B,YACEC,EACAC,EACAC,EACAC,EACA,CAfFC,EAAA,YAEAA,EAAA,mBAMAC,EAAA,KAAAT,EAAA,QAQE,KAAK,IAAMI,EACX,KAAK,WAAaH,EAAOG,CAAK,EAG9BM,EAAA,KAAKV,EAAWO,EAClB,CAEA,IAAI,QAAiB,CAtCvB,IAAAI,EAuCI,OAAOA,EAAA,KAAK,WAAW,MAAhB,KAAAA,EAAuB,EAChC,CAEA,MAAM,QAA0B,CAM9B,KAAM,CAAE,OAAAC,CAAO,EAAI,MAAMC,EAAA,KAAKb,GAAL,UAAc,SAAS,CAC9C,OAAQ,CACN,CACE,aAAc,CAAC,CAAC,KAAK,WAAW,KAClC,EACA,CACE,0BAA2B,CACzB,WAAY,GACZ,QAAS,EACX,EACA,oBAAqB,CACnB,WAAY,GACZ,IAAK,EACP,CACF,CACF,CACF,CAAC,EAED,GAAI,CAACY,EACH,OAAO,KAAK,IAGd,GAAIA,EAAO,aAAe,oBACxB,MAAM,IAAI,MAAMA,EAAO,OAAO,EAGhC,KAAK,IAAMA,EAAO,IAClB,KAAK,WAAaX,EAAOW,EAAO,GAAG,EAEnC,MAAME,EAAiBZ,EAAW,EAAI,EAChCa,EAAeb,EAAW,EAAK,EAE/Bc,EAAaF,EAAe,IAAI,KAAK,EACrCG,EAAWF,EAAa,IAAI,KAAK,EAEvC,OAAIC,GACFF,EAAe,IAAI,KAAKF,EAAO,GAAG,EAGhCK,GACFF,EAAa,IAAI,KAAKH,EAAO,GAAG,EAG3BA,EAAO,GAChB,CAEA,MAAM,oBACJM,EAC2E,CAC3E,KAAM,CAAE,uBAAAC,CAAuB,EAAI,MAAMN,EAAA,KAAKb,GAAL,UAAc,WAAY,CACjE,QAAS,CACP,SAAU,CACR,OAASoB,GAAe,IAAI,KAAKA,CAAW,EAC5C,OAASA,GAAgBA,EAAW,YAAY,CAClD,CACF,CACF,GAAG,CACD,uBAAwB,CACtBF,EACA,CACE,0BAA2B,CACzB,WAAY,GACZ,QAAS,EACX,EACA,uCAAwC,CACtC,WAAY,GACZ,uBAAwB,CACtB,UAAW,GACX,KAAM,GACN,MAAO,GACP,gBAAiB,EACnB,CACF,CACF,CACF,CACF,CAAC,EAED,OAAKC,EAIDA,EAAuB,aAAe,oBACjCA,EAGJA,EAAuB,uBAIrB,CACL,WAAY,kBACZ,KAAMA,EAAuB,sBAC/B,EANS,KARA,IAeX,CAEA,MAAM,eAKJ,CACA,KAAM,CAAE,iBAAAE,CAAiB,EAAI,MAAMR,EAAA,KAAKb,GAAL,UAAc,QAAS,CACxD,QAAS,CACP,SAAU,CACR,OAASoB,GAAe,IAAI,KAAKA,CAAW,EAC5C,OAASA,GAAgBA,EAAW,YAAY,CAClD,CACF,CACF,GAAG,CACD,iBAAkB,CAChB,0BAA2B,CACzB,WAAY,GACZ,QAAS,EACX,EACA,sBAAuB,CACrB,WAAY,GACZ,QAAS,EACX,EACA,6BAA8B,CAC5B,WAAY,GACZ,UAAW,GACX,KAAM,GACN,MAAO,GACP,gBAAiB,EACnB,CACF,CACF,CAAC,EAED,OAAKC,EAIDA,EAAiB,aAAe,qBAIhCA,EAAiB,aAAe,gBAC3BA,EAGF,CACL,WAAY,kBACZ,KAAMA,CACR,EAdS,IAeX,CAEA,MAAM,UAEJ,CApMJ,IAAAV,EAqMI,KAAM,CAAE,KAAAW,CAAK,EAAI,MAAMT,EAAA,KAAKb,GAAL,UAAc,SAAS,CAC5C,KAAM,CACJ,CAAC,EACD,CACE,sBAAuB,CACrB,WAAY,GACZ,QAAS,EACX,EACA,qBAAsB,CACpB,WAAY,GACZ,KAAM,CACJ,YAAa,CACX,uBAAwB,GACxB,yBAA0B,GAC1B,oBAAqB,EACvB,CACF,CACF,CACF,CACF,CACF,CAAC,EAED,OAAKsB,EAIDA,EAAK,aAAe,gBACfA,GAGJX,EAAAW,EAAK,OAAL,MAAAX,EAAW,YAIT,CACL,WAAY,kBACZ,KAAMW,EAAK,KAAK,WAClB,EANS,KARA,IAeX,CAEA,MAAM,eACJC,EAGA,CACA,KAAM,CAAE,kBAAAC,CAAkB,EAAI,MAAMX,EAAA,KAAKb,GAAL,UAAc,YAAY,CAC5D,kBAAmB,CACjBuB,EACA,CACE,0BAA2B,CACzB,WAAY,GACZ,QAAS,EACX,EACA,mBAAoB,CAClB,WAAY,GACZ,QAAS,EACX,EACA,kCAAmC,CACjC,WAAY,GACZ,kBAAmB,CACjB,uBAAwB,GACxB,yBAA0B,GAC1B,oBAAqB,EACvB,CACF,CACF,CACF,CACF,CAAC,EAED,OAAKC,EAIDA,EAAkB,aAAe,qBAIjCA,EAAkB,aAAe,aAC5BA,EAGF,CACL,WAAY,kBACZ,KAAMA,EAAkB,iBAC1B,EAdS,IAeX,CACF,CApQExB,EAAA","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type {\n SecrecyClient,\n SuccessResponse,\n UserAppNotifications,\n UserAppSettings\n} from \"../index.js\";\nimport type { KeyPair } from \"../crypto/index.js\";\nimport type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from \"../error.js\";\nimport type { Thunder } from \"../zeus/index.js\";\nimport type { JwtPayload } from \"jsonwebtoken\";\nimport { decode } from \"jsonwebtoken\";\nimport { getStorage } from \"./storage.js\";\n\nexport class SecrecyAppClient {\n jwt: string;\n\n jwtDecoded: JwtPayload;\n\n // #client: SecrecyClient;\n\n // #keys: KeyPair;\n\n #thunder: ReturnType<typeof Thunder>;\n\n constructor(\n uaJwt: string,\n _client: SecrecyClient,\n _keys: KeyPair,\n thunder: ReturnType<typeof Thunder>\n ) {\n this.jwt = uaJwt;\n this.jwtDecoded = decode(uaJwt) as JwtPayload;\n // this.#client = client;\n // this.#keys = keys;\n this.#thunder = thunder;\n }\n\n get userId(): string {\n return this.jwtDecoded.sub ?? \"\";\n }\n\n async getJwt(): Promise<string> {\n // TODO useful?\n // if (this.jwtDecoded.exp && this.jwtDecoded.exp * 1000 < Date.now()) {\n // return this.jwt;\n // }\n\n const { getJwt } = await this.#thunder(\"query\")({\n getJwt: [\n {\n includeEmail: !!this.jwtDecoded.email\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on JwtResponse\": {\n __typename: true,\n jwt: true\n }\n }\n ]\n });\n\n if (!getJwt) {\n return this.jwt;\n }\n\n if (getJwt.__typename === \"ErrorAccessDenied\") {\n throw new Error(getJwt.message);\n }\n\n this.jwt = getJwt.jwt;\n this.jwtDecoded = decode(getJwt.jwt) as JwtPayload;\n\n const sessionStorage = getStorage(true);\n const localStorage = getStorage(false);\n\n const sessionJwt = sessionStorage.jwt.load();\n const localJwt = localStorage.jwt.load();\n\n if (sessionJwt) {\n sessionStorage.jwt.save(getJwt.jwt);\n }\n\n if (localJwt) {\n localStorage.jwt.save(getJwt.jwt);\n }\n\n return getJwt.jwt;\n }\n\n async updateNotifications(\n notifications: Partial<UserAppNotifications>\n ): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null> {\n const { updateAppNotifications } = await this.#thunder(\"mutation\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n updateAppNotifications: [\n notifications,\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on UpdateAppNotificationsResponse\": {\n __typename: true,\n updateAppNotifications: {\n enableAll: true,\n mail: true,\n cloud: true,\n disableAllUntil: true\n }\n }\n }\n ]\n });\n\n if (!updateAppNotifications) {\n return null;\n }\n\n if (updateAppNotifications.__typename === \"ErrorAccessDenied\") {\n return updateAppNotifications;\n }\n\n if (!updateAppNotifications.updateAppNotifications) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateAppNotifications.updateAppNotifications\n };\n }\n\n async notifications(): Promise<\n | SuccessResponse<UserAppNotifications>\n | ErrorAccessDenied\n | ErrorNotFound\n | null\n > {\n const { appNotifications } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n appNotifications: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserAppNotifications\": {\n __typename: true,\n enableAll: true,\n mail: true,\n cloud: true,\n disableAllUntil: true\n }\n }\n });\n\n if (!appNotifications) {\n return null;\n }\n\n if (appNotifications.__typename === \"ErrorAccessDenied\") {\n return appNotifications;\n }\n\n if (appNotifications.__typename === \"ErrorNotFound\") {\n return appNotifications;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: appNotifications\n };\n }\n\n async settings(): Promise<\n SuccessResponse<UserAppSettings> | ErrorNotFound | null\n > {\n const { user } = await this.#thunder(\"query\")({\n user: [\n {},\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n appSettings: {\n cloudNodeDaysForDelete: true,\n historyFileDaysForDelete: true,\n historyMaxFileCount: true\n }\n }\n }\n }\n ]\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (!user.user?.appSettings) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: user.user.appSettings\n };\n }\n\n async updateSettings(\n settings: Partial<UserAppSettings>\n ): Promise<\n SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null\n > {\n const { updateAppSettings } = await this.#thunder(\"mutation\")({\n updateAppSettings: [\n settings,\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on UpdateAppSettingsResponse\": {\n __typename: true,\n updateAppSettings: {\n cloudNodeDaysForDelete: true,\n historyFileDaysForDelete: true,\n historyMaxFileCount: true\n }\n }\n }\n ]\n });\n\n if (!updateAppSettings) {\n return null;\n }\n\n if (updateAppSettings.__typename === \"ErrorAccessDenied\") {\n return updateAppSettings;\n }\n\n if (updateAppSettings.__typename === \"ErrorBasic\") {\n return updateAppSettings;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateAppSettings.updateAppSettings\n };\n }\n}\n"]}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
1
|
+
export { m as SecrecyAppClient } from '../BaseClient-7c38f650.js';
|
|
2
|
+
import '../crypto/index.js';
|
|
3
|
+
import '../zeus/index.js';
|
|
4
|
+
import './types/UserAppSettings.js';
|
|
5
|
+
import './types/UserAppNotifications.js';
|
|
6
|
+
import '../error.js';
|
|
7
|
+
import 'jsonwebtoken';
|
|
8
|
+
import 'ky';
|
|
9
|
+
import '../crypto/file.js';
|
|
10
|
+
import './types/File.js';
|
|
11
|
+
import './types/selectors.js';
|
|
12
|
+
import '../zeus/const.js';
|
|
13
|
+
import './types/index.js';
|
|
14
|
+
import './types/Inputs.js';
|
|
15
|
+
import 'bson';
|
|
16
|
+
import 'ethers';
|