@usync/oauth2 0.0.4 → 0.0.5

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 (2) hide show
  1. package/dist/index.js +345 -928
  2. package/package.json +2 -1
package/dist/index.js CHANGED
@@ -1,939 +1,356 @@
1
- import { nanoid as e } from "nanoid";
2
- //#region src/common.ts
3
- var t = 1, n = 2, r = 3, i = class extends Error {
4
- constructor(e, t) {
5
- super(t || `OAuth2Error: code=${e}`), this.code = e;
6
- }
7
- };
8
- h();
9
- //#endregion
10
- //#region ../../node_modules/.pnpm/bignumber.js@11.1.3/node_modules/bignumber.js/dist/bignumber.mjs
11
- var a = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, o = Math.ceil, s = Math.floor, c = "[BigNumber Error] ", l = 0x5af3107a4000, u = 14, d = 9007199254740991, f = [
12
- 1,
13
- 10,
14
- 100,
15
- 1e3,
16
- 1e4,
17
- 1e5,
18
- 1e6,
19
- 1e7,
20
- 1e8,
21
- 1e9,
22
- 1e10,
23
- 1e11,
24
- 0xe8d4a51000,
25
- 0x9184e72a000
26
- ], p = 1e7, m = 1e9;
27
- function h(e) {
28
- var t, n, r = /^(-?)0([xbo])(?=[^.])/i, i = /^-?(Infinity|NaN)$/, w = /^\s*\+(?!-)|^\s+|\s+$/g, T = z.prototype = {
29
- constructor: z,
30
- toString: null,
31
- valueOf: null
32
- }, E = new z(1), D = 20, O = 4, k = -7, A = 21, j = -1e7, M = 1e7, N = !1, P = !0, F = 1, I = 0, L = {
33
- prefix: "",
34
- negativeSign: "-",
35
- positiveSign: "",
36
- groupSeparator: ",",
37
- groupSize: 3,
38
- secondaryGroupSize: 0,
39
- decimalSeparator: ".",
40
- fractionGroupSeparator: "",
41
- fractionGroupSize: 0,
42
- suffix: ""
43
- }, R = "0123456789abcdefghijklmnopqrstuvwxyz";
44
- function z(e, t) {
45
- var n, o, s, l, u = this;
46
- if (!(u instanceof z)) return new z(e, t);
47
- if (l = typeof e, t == null) {
48
- if (U(e)) {
49
- u.s = e.s, !e.c || e.e > M ? u.c = u.e = null : e.e < j ? u.c = [u.e = 0] : (u.e = e.e, u.c = e.c.slice());
50
- return;
51
- }
52
- if (l == "number") {
53
- if (e * 0 != 0) {
54
- u.s = isNaN(e) ? null : e < 0 ? -1 : 1, u.c = u.e = null;
55
- return;
56
- }
57
- if (u.s = 1 / e < 0 ? (e = -e, -1) : 1, e === ~~e) {
58
- for (n = 0, o = e; o >= 10; o /= 10, n++);
59
- n > M ? u.c = u.e = null : (u.e = n, u.c = [e]);
60
- return;
61
- }
62
- return B(u, String(e));
63
- }
64
- if (l == "bigint") return u.s = e < 0 ? (e = -e, -1) : 1, B(u, String(e));
65
- if (l == "string") s = e;
66
- else {
67
- if (P) throw Error(c + "BigNumber, string, number, or BigInt expected: " + e);
68
- s = String(e);
69
- }
70
- if (a.test(s)) return u.s = s.charCodeAt(0) == 45 ? (s = s.slice(1), -1) : 1, B(u, s);
71
- if (s = s.replace(w, ""), i.test(s)) {
72
- u.s = isNaN(s) ? null : s < 0 ? -1 : 1, u.c = u.e = null;
73
- return;
74
- }
75
- if (s = s.replace(r, function(e, n, r) {
76
- return t = (r = r.toLowerCase()) == "x" ? 16 : r == "b" ? 2 : 8, n;
77
- }), t) return V(u, s, t, e);
78
- if (s = s.replace(/(\d)_(?=\d)/g, "$1"), a.test(s)) return u.s = s.charCodeAt(0) == 45 ? (s = s.slice(1), -1) : 1, B(u, s);
79
- if (P) throw Error(c + "Not a number: " + e);
80
- u.s = u.c = u.e = null;
81
- } else {
82
- if (l != "string") {
83
- if (P) throw Error(c + "String expected: " + e);
84
- e = String(e);
85
- }
86
- y(t, 2, R.length, "Base"), V(u, e.replace(w, ""), t, e);
87
- }
88
- }
89
- z.clone = h, z.ROUND_UP = 0, z.ROUND_DOWN = 1, z.ROUND_CEIL = 2, z.ROUND_FLOOR = 3, z.ROUND_HALF_UP = 4, z.ROUND_HALF_DOWN = 5, z.ROUND_HALF_EVEN = 6, z.ROUND_HALF_CEIL = 7, z.ROUND_HALF_FLOOR = 8, z.EUCLID = 9, z.config = z.set = function(e) {
90
- var t, n;
91
- if (e != null) if (typeof e == "object") {
92
- if (e.hasOwnProperty(t = "DECIMAL_PLACES") && (D = y(e[t], 0, m, t)), e.hasOwnProperty(t = "ROUNDING_MODE") && (O = y(e[t], 0, 8, t)), e.hasOwnProperty(t = "EXPONENTIAL_AT") && (n = e[t], b(n) ? (y(n[0], -m, 0, t), y(n[1], 0, m, t), k = n[0], A = n[1]) : k = -(A = y(n, -m, m, t) < 0 ? -n : n)), e.hasOwnProperty(t = "RANGE")) if (n = e[t], n) b(n) ? (y(n[0], -m, -1, t), y(n[1], 1, m, t), j = n[0], M = n[1]) : j = -(M = y(n, -m, m, t) < 0 ? -n : n);
93
- else throw Error(c + t + " cannot be zero: " + n);
94
- if (e.hasOwnProperty(t = "CRYPTO")) if (n = e[t], n === !!n) if (n) if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes)) N = n;
95
- else throw N = !n, Error(c + "crypto unavailable");
96
- else N = n;
97
- else throw Error(c + t + " not true or false: " + n);
98
- if (e.hasOwnProperty(t = "STRICT")) if (n = e[t], n === !!n) P = n;
99
- else throw Error(c + t + " not true or false: " + n);
100
- if (e.hasOwnProperty(t = "MODULO_MODE") && (F = y(e[t], 0, 9, t)), e.hasOwnProperty(t = "POW_PRECISION") && (I = y(e[t], 0, m, t)), e.hasOwnProperty(t = "FORMAT")) if (n = e[t], typeof n == "object") for (t in n) n.hasOwnProperty(t) && L.hasOwnProperty(t) && (L[t] = n[t]);
101
- else throw Error(c + t + " not an object: " + n);
102
- if (e.hasOwnProperty(t = "ALPHABET")) if (n = e[t], typeof n == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(n)) R = n;
103
- else throw Error(c + t + " invalid: " + n);
104
- } else throw Error(c + "Object expected: " + e);
105
- return {
106
- DECIMAL_PLACES: D,
107
- ROUNDING_MODE: O,
108
- EXPONENTIAL_AT: [k, A],
109
- RANGE: [j, M],
110
- CRYPTO: N,
111
- STRICT: P,
112
- MODULO_MODE: F,
113
- POW_PRECISION: I,
114
- FORMAT: L,
115
- ALPHABET: R
116
- };
117
- }, z.fromFormat = function(e, t) {
118
- if (typeof e != "string") throw Error(c + "Not a string: " + e);
119
- if (t == null) t = L;
120
- else if (typeof t != "object") throw Error(c + "Argument not an object: " + t);
121
- else t = K(t);
122
- var n, r, i, a, o = t.negativeSign || "-", s = t.positiveSign || "", l = t.prefix || "", u = t.suffix || "", d = t.groupSeparator || "", f = t.decimalSeparator || ".", p = t.fractionGroupSeparator || "";
123
- if (l && e.indexOf(l) === 0 && (e = e.slice(l.length)), u && e.lastIndexOf(u) === e.length - u.length && (e = e.slice(0, -u.length)), o && e.indexOf(o) === 0 ? (e = e.slice(o.length), r = !0) : s && e.indexOf(s) === 0 && (e = e.slice(s.length)), n = e.indexOf(f), n < 0) {
124
- if (d) for (; e.indexOf(d) > -1;) e = e.replace(d, "");
125
- } else {
126
- if (i = e.slice(0, n), a = e.slice(n + f.length), d) for (; i.indexOf(d) > -1;) i = i.replace(d, "");
127
- if (p) for (; a.indexOf(p) > -1;) a = a.replace(p, "");
128
- e = i + "." + a;
129
- }
130
- return new z(r ? "-" + e : e);
131
- }, z.isBigNumber = function(e) {
132
- if (!U(e)) return !1;
133
- var t, n, r = e.c, i = e.e, a = e.s;
134
- if (!b(r)) return r === null && i === null && (a === null || a === 1 || a === -1);
135
- if (a !== 1 && a !== -1 || i < -m || i > m || i !== s(i)) return !1;
136
- if (r[0] === 0) return i === 0 && r.length === 1;
137
- if (t = (i + 1) % u, t < 1 && (t += u), String(r[0]).length !== t) return !1;
138
- for (t = 0; t < r.length; t++) if (n = r[t], n < 0 || n >= l || n !== s(n)) return !1;
139
- return n !== 0;
140
- }, z.maximum = z.max = function() {
141
- return W(arguments, -1);
142
- }, z.minimum = z.min = function() {
143
- return W(arguments, 1);
144
- }, z.random = (function() {
145
- var e = 9007199254740992, t = Math.random() * e & 2097151 ? function() {
146
- return s(Math.random() * e);
147
- } : function() {
148
- return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
149
- };
150
- return function(e) {
151
- var n, r, i, a, l, d = 0, p = [], h = new z(E);
152
- if (e = e == null ? D : y(e, 0, m), a = o(e / u), N) if (crypto.getRandomValues) {
153
- for (n = crypto.getRandomValues(new Uint32Array(a *= 2)); d < a;) l = n[d] * 131072 + (n[d + 1] >>> 11), l >= 9e15 ? (r = crypto.getRandomValues(new Uint32Array(2)), n[d] = r[0], n[d + 1] = r[1]) : (p.push(l % 0x5af3107a4000), d += 2);
154
- d = a / 2;
155
- } else if (crypto.randomBytes) {
156
- for (n = crypto.randomBytes(a *= 7); d < a;) l = (n[d] & 31) * 281474976710656 + n[d + 1] * 1099511627776 + n[d + 2] * 4294967296 + n[d + 3] * 16777216 + (n[d + 4] << 16) + (n[d + 5] << 8) + n[d + 6], l >= 9e15 ? crypto.randomBytes(7).copy(n, d) : (p.push(l % 0x5af3107a4000), d += 7);
157
- d = a / 7;
158
- } else throw N = !1, Error(c + "crypto unavailable");
159
- if (!N) for (; d < a;) l = t(), l < 9e15 && (p[d++] = l % 0x5af3107a4000);
160
- for (a = p[--d], e %= u, a && e && (l = f[u - e], p[d] = s(a / l) * l); p[d] === 0; p.pop(), d--);
161
- if (d < 0) p = [i = 0];
162
- else {
163
- for (i = -1; p[0] === 0; p.splice(0, 1), i -= u);
164
- for (d = 1, l = p[0]; l >= 10; l /= 10, d++);
165
- d < u && (i -= u - d);
166
- }
167
- return h.e = i, h.c = p, h;
168
- };
169
- })(), z.sum = function() {
170
- for (var e = 0, t = new z(0); e < arguments.length;) t = t.plus(arguments[e++]);
171
- return t;
172
- };
173
- function B(e, t) {
174
- var n, r, i;
175
- for ((n = t.indexOf(".")) > -1 && (t = t.replace(".", "")), (r = t.search(/e/i)) > 0 ? (n < 0 && (n = r), n += +t.slice(r + 1), t = t.substring(0, r)) : n < 0 && (n = t.length), r = 0; t.charCodeAt(r) === 48; r++);
176
- for (i = t.length; t.charCodeAt(--i) === 48;);
177
- if (t = t.slice(r, ++i)) if (i -= r, n = n - r - 1, n > M) e.c = e.e = null;
178
- else if (n < j) e.c = [e.e = 0];
179
- else {
180
- if (e.e = n, e.c = [], r = (n + 1) % u, n < 0 && (r += u), r < i) {
181
- for (r && e.c.push(+t.slice(0, r)), i -= u; r < i;) e.c.push(+t.slice(r, r += u));
182
- r = u - (t = t.slice(r)).length;
183
- } else r -= i;
184
- for (; r--; t += "0");
185
- e.c.push(+t);
186
- }
187
- else e.c = [e.e = 0];
188
- }
189
- function V(e, t, r, i) {
190
- var a, o, s = R.slice(0, r), l = 0, u = "", d = !1, f = !1, p = !1;
191
- for (e.s = t.charCodeAt(0) === 45 ? (t = t.slice(1), -1) : 1, o = t.length; l < o; l++) {
192
- if (a = t.charAt(l), s.indexOf(a) >= 0) {
193
- u += a, f = !0;
194
- continue;
195
- }
196
- if (a == "_") {
197
- if (f && l + 1 < o) {
198
- f = !1;
199
- continue;
200
- }
201
- } else if (a == ".") {
202
- if (l == 0 || !d && f) {
203
- if (l + 1 == o) break;
204
- l == 0 && (u = "0"), u += a, d = !0, f = !1;
205
- continue;
206
- }
207
- } else if (!p && (t == t.toUpperCase() && s == s.toLowerCase() && (t = t.toLowerCase()) || t == t.toLowerCase() && s == s.toUpperCase() && (t = t.toUpperCase()))) {
208
- l = -1, u = "", p = !0, d = f = !1;
209
- continue;
210
- }
211
- if (P) throw Error(c + "Not a base " + r + " number: " + i);
212
- e.s = e.c = e.e = null;
213
- return;
214
- }
215
- B(e, n(u, r, 10, e.s));
216
- }
217
- n = (function() {
218
- var e = "0123456789";
219
- function n(e, t, n, r) {
220
- for (var i, a = [0], o, s = 0, c = e.length; s < c;) {
221
- for (o = a.length; o--; a[o] *= t);
222
- for (a[0] += r.indexOf(e.charAt(s++)), i = 0; i < a.length; i++) a[i] > n - 1 && (a[i + 1] ?? (a[i + 1] = 0), a[i + 1] += a[i] / n | 0, a[i] %= n);
223
- }
224
- return a.reverse();
225
- }
226
- return function(r, i, a, o, s) {
227
- var c, l, u, d, f, p, m, h, g = r.indexOf("."), v = D, y = O;
228
- for (g >= 0 && (d = I, I = 0, r = r.replace(".", ""), h = new z(i), p = h.pow(r.length - g), I = d, h.c = n(C(_(p.c), p.e, "0"), 10, a, e), h.e = h.c.length), m = n(r, i, a, s ? (c = R, e) : (c = e, R)), u = d = m.length; m[--d] == 0; m.pop());
229
- if (!m[0]) return c.charAt(0);
230
- if (g < 0 ? --u : (p.c = m, p.e = u, p.s = o, p = t(p, h, v, y, a), m = p.c, f = p.r, u = p.e), l = u + v + 1, g = m[l], d = a / 2, f = f || l < 0 || m[l + 1] != null, f = y < 4 ? (g != null || f) && (y == 0 || y == (p.s < 0 ? 3 : 2)) : g > d || g == d && (y == 4 || f || y == 6 && m[l - 1] & 1 || y == (p.s < 0 ? 8 : 7)), l < 1 || !m[0]) r = f ? C(c.charAt(1), -v, c.charAt(0)) : c.charAt(0);
231
- else {
232
- if (l < m.length && (m.length = l), f) for (--a; ++m[--l] > a;) m[l] = 0, l || (++u, m = [1].concat(m));
233
- for (d = m.length; !m[--d];);
234
- for (g = 0, r = ""; g <= d; r += c.charAt(m[g++]));
235
- r = C(r, u, c.charAt(0));
236
- }
237
- return r;
238
- };
239
- })(), t = (function() {
240
- function e(e, t, n) {
241
- var r, i, a, o, s = 0, c = e.length, l = t % p, u = t / p | 0;
242
- for (e = e.slice(); c--;) a = e[c] % p, o = e[c] / p | 0, r = u * a + o * l, i = l * a + r % p * p + s, s = (i / n | 0) + (r / p | 0) + u * o, e[c] = i % n;
243
- return s && (e = [s].concat(e)), e;
244
- }
245
- function t(e, t, n, r) {
246
- var i, a;
247
- if (n != r) a = n > r ? 1 : -1;
248
- else for (i = a = 0; i < n; i++) if (e[i] != t[i]) {
249
- a = e[i] > t[i] ? 1 : -1;
250
- break;
251
- }
252
- return a;
253
- }
254
- function n(e, t, n, r) {
255
- for (var i = 0; n--;) e[n] -= i, i = +(e[n] < t[n]), e[n] = i * r + e[n] - t[n];
256
- for (; !e[0] && e.length > 1; e.splice(0, 1));
257
- }
258
- return function(r, i, a, o, c) {
259
- var d, f, p, m, h, _, v, y, b, x, S, C, w, T, E, D, O, k = r.s == i.s ? 1 : -1, A = r.c, j = i.c;
260
- if (!A || !A[0] || !j || !j[0]) return new z(!r.s || !i.s || (A ? j && A[0] == j[0] : !j) ? NaN : A && A[0] == 0 || !j ? k * 0 : k / 0);
261
- for (y = new z(k), b = y.c = [], f = r.e - i.e, k = a + f + 1, c || (c = l, f = g(r.e / u) - g(i.e / u), k = k / u | 0), p = 0; j[p] == (A[p] || 0); p++);
262
- if (j[p] > (A[p] || 0) && f--, k < 0) b.push(1), m = !0;
263
- else {
264
- for (T = A.length, D = j.length, p = 0, k += 2, h = s(c / (j[0] + 1)), h > 1 && (j = e(j, h, c), A = e(A, h, c), D = j.length, T = A.length), w = D, x = A.slice(0, D), S = x.length; S < D; x[S++] = 0);
265
- O = j.slice(), O = [0].concat(O), E = j[0], j[1] >= c / 2 && E++;
266
- do {
267
- if (h = 0, d = t(j, x, D, S), d < 0) {
268
- if (C = x[0], D != S && (C = C * c + (x[1] || 0)), h = s(C / E), h > 1) for (h >= c && (h = c - 1), _ = e(j, h, c), v = _.length, S = x.length; t(_, x, v, S) == 1;) h--, n(_, D < v ? O : j, v, c), v = _.length, d = 1;
269
- else h == 0 && (d = h = 1), _ = j.slice(), v = _.length;
270
- if (v < S && (_ = [0].concat(_)), n(x, _, S, c), S = x.length, d == -1) for (; t(j, x, D, S) < 1;) h++, n(x, D < S ? O : j, S, c), S = x.length;
271
- } else d === 0 && (h++, x = [0]);
272
- b[p++] = h, x[0] ? x[S++] = A[w] || 0 : (x = [A[w]], S = 1);
273
- } while ((w++ < T || x[0] != null) && k--);
274
- m = x[0] != null, b[0] || b.splice(0, 1);
275
- }
276
- if (c == l) {
277
- for (p = 1, k = b[0]; k >= 10; k /= 10, p++);
278
- q(y, a + (y.e = p + f * u - 1) + 1, o, m);
279
- } else y.e = f, y.r = +m;
280
- return y;
281
- };
282
- })();
283
- function H(e, t, n, r) {
284
- var i, a, o, s, c;
285
- if (n = n == null ? O : y(n, 0, 8), !e.c) return e.toString();
286
- if (i = e.c[0], o = e.e, t == null) c = _(e.c), c = r == 1 || r == 2 && (o <= k || o >= A) ? S(c, o) : C(c, o, "0");
287
- else if (e = q(new z(e), t, n), a = e.e, c = _(e.c), s = c.length, r == 1 || r == 2 && (t <= a || a <= k)) {
288
- for (; s < t; c += "0", s++);
289
- c = S(c, a);
290
- } else if (t -= o + (r === 2 && a > o), c = C(c, a, "0"), a + 1 > s) {
291
- if (--t > 0) for (c += "."; t--; c += "0");
292
- } else if (t += a - s, t > 0) for (a + 1 == s && (c += "."); t--; c += "0");
293
- return e.s < 0 && i ? "-" + c : c;
294
- }
295
- function U(e) {
296
- return e instanceof z || !!e && e._isBigNumber === !0;
297
- }
298
- function W(e, t) {
299
- for (var n, r, i = 1, a = new z(e[0]); i < e.length; i++) r = new z(e[i]), (!r.s || (n = v(a, r)) === t || n === 0 && a.s === t) && (a = r);
300
- return a;
301
- }
302
- function G(e, t, n) {
303
- for (var r = 1, i = t.length; !t[--i]; t.pop());
304
- for (i = t[0]; i >= 10; i /= 10, r++);
305
- return (n = r + n * u - 1) > M ? e.c = e.e = null : n < j ? e.c = [e.e = 0] : (e.e = n, e.c = t), e;
306
- }
307
- function K(e) {
308
- var t, n = {};
309
- for (t in L) L.hasOwnProperty(t) && (n[t] = e.hasOwnProperty(t) ? e[t] : L[t]);
310
- return n;
311
- }
312
- function q(e, t, n, r) {
313
- var i, a, c, d, p, m, h, g = e.c, _ = f;
314
- if (g) {
315
- out: {
316
- for (i = 1, d = g[0]; d >= 10; d /= 10, i++);
317
- if (a = t - i, a < 0) a += u, c = t, p = g[m = 0], h = s(p / _[i - c - 1] % 10);
318
- else if (m = o((a + 1) / u), m >= g.length) if (r) {
319
- for (; g.length <= m; g.push(0));
320
- p = h = 0, i = 1, a %= u, c = a - u + 1;
321
- } else break out;
322
- else {
323
- for (p = d = g[m], i = 1; d >= 10; d /= 10, i++);
324
- a %= u, c = a - u + i, h = c < 0 ? 0 : s(p / _[i - c - 1] % 10);
325
- }
326
- if (r = r || t < 0 || g[m + 1] != null || (c < 0 ? p : p % _[i - c - 1]), r = n < 4 ? (h || r) && (n == 0 || n == (e.s < 0 ? 3 : 2)) : h > 5 || h == 5 && (n == 4 || r || n == 6 && (a > 0 ? c > 0 ? p / _[i - c] : 0 : g[m - 1]) % 10 & 1 || n == (e.s < 0 ? 8 : 7)), t < 1 || !g[0]) return g.length = 0, r ? (t -= e.e + 1, g[0] = _[(u - t % u) % u], e.e = -t || 0) : g[0] = e.e = 0, e;
327
- if (a == 0 ? (g.length = m, d = 1, m--) : (g.length = m + 1, d = _[u - a], g[m] = c > 0 ? s(p / _[i - c] % _[c]) * d : 0), r) for (;;) if (m == 0) {
328
- for (a = 1, c = g[0]; c >= 10; c /= 10, a++);
329
- for (c = g[0] += d, d = 1; c >= 10; c /= 10, d++);
330
- a != d && (e.e++, g[0] == l && (g[0] = 1));
331
- break;
332
- } else {
333
- if (g[m] += d, g[m] != l) break;
334
- g[m--] = 0, d = 1;
335
- }
336
- for (a = g.length; g[--a] === 0; g.pop());
337
- }
338
- e.e > M ? e.c = e.e = null : e.e < j && (e.c = [e.e = 0]);
339
- }
340
- return e;
341
- }
342
- function J(e) {
343
- var t, n = e.e;
344
- return n === null ? e.toString() : (t = _(e.c), t = n <= k || n >= A ? S(t, n) : C(t, n, "0"), e.s < 0 ? "-" + t : t);
345
- }
346
- return T.absoluteValue = T.abs = function() {
347
- var e = new z(this);
348
- return e.s < 0 && (e.s = 1), e;
349
- }, T.comparedTo = function(e, t) {
350
- return v(this, new z(e, t));
351
- }, T.decimalPlaces = T.dp = function(e, t) {
352
- var n, r, i, a = this;
353
- if (e != null) return q(new z(a), y(e, -m, m) + a.e + 1, t == null ? O : y(t, 0, 8));
354
- if (!(n = a.c)) return null;
355
- if (r = ((i = n.length - 1) - g(this.e / u)) * u, i = n[i]) for (; i % 10 == 0; i /= 10, r--);
356
- return r < 0 && (r = 0), r;
357
- }, T.dividedBy = T.div = function(e, n) {
358
- return t(this, new z(e, n), D, O);
359
- }, T.dividedToIntegerBy = T.idiv = function(e, n) {
360
- return t(this, new z(e, n), 0, 1);
361
- }, T.exponentiatedBy = T.pow = function(e, t) {
362
- var n, r, i, a, l, d, f, p, m, h = this;
363
- if (e = new z(e), e.c && !e.isInteger()) throw Error(c + "Exponent not an integer: " + J(e));
364
- if (t != null && (t = new z(t)), d = e.e > 14, !h.c || !h.c[0] || h.c[0] == 1 && !h.e && h.c.length == 1 || !e.c || !e.c[0]) return m = new z(J(h) ** (d ? e.s * (2 - x(e)) : +J(e))), t ? m.mod(t) : m;
365
- if (f = e.s < 0, t) {
366
- if (t.c ? !t.c[0] : !t.s) return new z(NaN);
367
- r = !f && h.isInteger() && t.isInteger(), r && (h = h.mod(t));
368
- } else if (e.e > 9 && (h.e > 0 || h.e < -1 || (h.e == 0 ? h.c[0] > 1 || d && h.c[1] >= 24e7 : h.c[0] < 8e13 || d && h.c[0] <= 9999975e7))) return a = h.s < 0 && x(e) ? -0 : 0, h.e > -1 && (a = 1 / a), new z(f ? 1 / a : a);
369
- else I && (a = o(I / u + 2));
370
- for (d ? (n = new z(.5), f && (e.s = 1), p = x(e)) : (i = Math.abs(+J(e)), p = i % 2), m = new z(E);;) {
371
- if (p) {
372
- if (m = m.times(h), !m.c) break;
373
- a ? m.c.length > a && (m.c.length = a) : r && (m = m.mod(t));
374
- }
375
- if (i) {
376
- if (i = s(i / 2), i === 0) break;
377
- p = i % 2;
378
- } else if (e = e.times(n), q(e, e.e + 1, 1), e.e > 14) p = x(e);
379
- else {
380
- if (i = +J(e), i === 0) break;
381
- p = i % 2;
382
- }
383
- h = h.times(h), a ? h.c && h.c.length > a && (h.c.length = a) : r && (h = h.mod(t));
384
- }
385
- return r ? m : (f && (m = E.div(m)), t ? m.mod(t) : a ? q(m, I, O, l) : m);
386
- }, T.integerValue = function(e) {
387
- var t = new z(this);
388
- return q(t, t.e + 1, e == null ? O : y(e, 0, 8));
389
- }, T.isEqualTo = T.eq = function(e, t) {
390
- return v(this, new z(e, t)) === 0;
391
- }, T.isFinite = function() {
392
- return !!this.c;
393
- }, T.isGreaterThan = T.gt = function(e, t) {
394
- return v(this, new z(e, t)) > 0;
395
- }, T.isGreaterThanOrEqualTo = T.gte = function(e, t) {
396
- return (t = v(this, new z(e, t))) === 1 || t === 0;
397
- }, T.isInteger = function() {
398
- return !!this.c && g(this.e / u) > this.c.length - 2;
399
- }, T.isLessThan = T.lt = function(e, t) {
400
- return v(this, new z(e, t)) < 0;
401
- }, T.isLessThanOrEqualTo = T.lte = function(e, t) {
402
- return (t = v(this, new z(e, t))) === -1 || t === 0;
403
- }, T.isNaN = function() {
404
- return !this.s;
405
- }, T.isNegative = function() {
406
- return this.s < 0;
407
- }, T.isPositive = function() {
408
- return this.s > 0;
409
- }, T.isZero = function() {
410
- return !!this.c && this.c[0] == 0;
411
- }, T.minus = function(e, t) {
412
- var n, r, i, a, o = this, s = o.s;
413
- if (e = new z(e, t), t = e.s, !s || !t) return new z(NaN);
414
- if (s != t) return e.s = -t, o.plus(e);
415
- var c = o.e / u, d = e.e / u, f = o.c, p = e.c;
416
- if (!c || !d) {
417
- if (!f || !p) return f ? (e.s = -t, e) : new z(p ? o : NaN);
418
- if (!f[0] || !p[0]) return p[0] ? (e.s = -t, e) : new z(f[0] ? o : O == 3 ? -0 : 0);
419
- }
420
- if (c = g(c), d = g(d), f = f.slice(), s = c - d) {
421
- for ((a = s < 0) ? (s = -s, i = f) : (d = c, i = p), i.reverse(), t = s; t--; i.push(0));
422
- i.reverse();
423
- } else for (r = (a = (s = f.length) < (t = p.length)) ? s : t, s = t = 0; t < r; t++) if (f[t] != p[t]) {
424
- a = f[t] < p[t];
425
- break;
426
- }
427
- if (a && (i = f, f = p, p = i, e.s = -e.s), t = (r = p.length) - (n = f.length), t > 0) for (; t--; f[n++] = 0);
428
- for (t = l - 1; r > s;) {
429
- if (f[--r] < p[r]) {
430
- for (n = r; n && !f[--n]; f[n] = t);
431
- --f[n], f[r] += l;
432
- }
433
- f[r] -= p[r];
434
- }
435
- for (; f[0] == 0; f.splice(0, 1), --d);
436
- return f[0] ? G(e, f, d) : (e.s = O == 3 ? -1 : 1, e.c = [e.e = 0], e);
437
- }, T.modulo = T.mod = function(e, n) {
438
- var r, i, a = this;
439
- return e = new z(e, n), !a.c || !e.s || e.c && !e.c[0] ? new z(NaN) : !e.c || a.c && !a.c[0] ? new z(a) : (F == 9 ? (i = e.s, e.s = 1, r = t(a, e, 0, 3), e.s = i, r.s *= i) : r = t(a, e, 0, F), e = a.minus(r.times(e)), !e.c[0] && F == 1 && (e.s = a.s), e);
440
- }, T.multipliedBy = T.times = function(e, t) {
441
- var n, r, i, a, o, s, c, d, f, m, h, _, v, y, b, x = this, S = x.c, C = (e = new z(e, t)).c;
442
- if (!S || !C || !S[0] || !C[0]) return !x.s || !e.s || S && !S[0] && !C || C && !C[0] && !S ? e.c = e.e = e.s = null : (e.s *= x.s, !S || !C ? e.c = e.e = null : (e.c = [0], e.e = 0)), e;
443
- for (r = g(x.e / u) + g(e.e / u), e.s *= x.s, c = S.length, m = C.length, c < m && (v = S, S = C, C = v, i = c, c = m, m = i), i = c + m, v = []; i--; v.push(0));
444
- for (y = l, b = p, i = m; --i >= 0;) {
445
- for (n = 0, h = C[i] % b, _ = C[i] / b | 0, o = c, a = i + o; a > i;) d = S[--o] % b, f = S[o] / b | 0, s = _ * d + f * h, d = h * d + s % b * b + v[a] + n, n = (d / y | 0) + (s / b | 0) + _ * f, v[a--] = d % y;
446
- v[a] = n;
447
- }
448
- return n ? ++r : v.splice(0, 1), G(e, v, r);
449
- }, T.negated = function() {
450
- var e = new z(this);
451
- return e.s = -e.s || null, e;
452
- }, T.plus = function(e, t) {
453
- var n, r = this, i = r.s;
454
- if (e = new z(e, t), t = e.s, !i || !t) return new z(NaN);
455
- if (i != t) return e.s = -t, r.minus(e);
456
- var a = r.e / u, o = e.e / u, s = r.c, c = e.c;
457
- if (!a || !o) {
458
- if (!s || !c) return new z(i / 0);
459
- if (!s[0] || !c[0]) return c[0] ? e : new z(s[0] ? r : i * 0);
460
- }
461
- if (a = g(a), o = g(o), s = s.slice(), i = a - o) {
462
- for (i > 0 ? (o = a, n = c) : (i = -i, n = s), n.reverse(); i--; n.push(0));
463
- n.reverse();
464
- }
465
- for (i = s.length, t = c.length, i - t < 0 && (n = c, c = s, s = n, t = i), i = 0; t;) i = (s[--t] = s[t] + c[t] + i) / l | 0, s[t] = l === s[t] ? 0 : s[t] % l;
466
- return i && (s = [i].concat(s), ++o), G(e, s, o);
467
- }, T.precision = T.sd = function(e, t) {
468
- var n, r, i, a = this;
469
- if (e != null && e !== !!e) return q(new z(a), y(e, 1, m), t == null ? O : y(t, 0, 8));
470
- if (!(n = a.c)) return null;
471
- if (i = n.length - 1, r = i * u + 1, i = n[i]) {
472
- for (; i % 10 == 0; i /= 10, r--);
473
- for (i = n[0]; i >= 10; i /= 10, r++);
474
- }
475
- return e && a.e + 1 > r && (r = a.e + 1), r;
476
- }, T.shiftedBy = function(e) {
477
- return this.times("1e" + y(e, -d, d));
478
- }, T.squareRoot = T.sqrt = function() {
479
- var e, n, r, i, a, o = this, s = o.c, c = o.s, l = o.e, u = D + 4, d = new z("0.5");
480
- if (c !== 1 || !s || !s[0]) return new z(!c || c < 0 && (!s || s[0]) ? NaN : s ? o : Infinity);
481
- if (c = Math.sqrt(+J(o)), c == 0 || c == Infinity ? (n = _(s), (n.length + l) % 2 == 0 && (n += "0"), c = Math.sqrt(+n), l = g((l + 1) / 2) - (l < 0 || l % 2), c == Infinity ? n = "5e" + l : (n = c.toExponential(), n = n.slice(0, n.indexOf("e") + 1) + l), r = new z(n)) : r = new z(c + ""), r.c[0]) {
482
- for (l = r.e, c = l + u, c < 3 && (c = 0);;) if (a = r, r = d.times(a.plus(t(o, a, u, 1))), _(a.c).slice(0, c) === (n = _(r.c)).slice(0, c)) if (r.e < l && --c, n = n.slice(c - 3, c + 1), n == "9999" || !i && n == "4999") {
483
- if (!i && (q(a, a.e + D + 2, 0), a.times(a).eq(o))) {
484
- r = a;
485
- break;
486
- }
487
- u += 4, c += 4, i = 1;
488
- } else {
489
- (!+n || !+n.slice(1) && n.charAt(0) == "5") && (q(r, r.e + D + 2, 1), e = !r.times(r).eq(o));
490
- break;
491
- }
492
- }
493
- return q(r, r.e + D + 1, O, e);
494
- }, typeof BigInt == "function" && (T.toBigInt = function(e) {
495
- var t = this;
496
- return t.c ? BigInt(H(t, t.e + 1, e)) : null;
497
- }), T.toExponential = function(e, t) {
498
- return H(this, e == null ? e : y(e, 0, m) + 1, t, 1);
499
- }, T.toFixed = function(e, t) {
500
- return H(this, e == null ? e : y(e, -m, m) + this.e + 1, t);
501
- }, T.toFormat = function(e, t, n) {
502
- var r, i, a, o, s = this;
503
- if (n == null) n = L, e != null && (t == null ? typeof e == "object" && !b(e) && (n = K(e), e = t = null) : typeof t == "object" && (n = K(t), t = null));
504
- else if (typeof n != "object") throw Error(c + "Argument not an object: " + n);
505
- else n = K(n);
506
- if (e != null) if (b(e) && e.length <= 2) {
507
- if (i = e[0], a = e[1], e = s.dp(), a != null && e > y(a, 0, m) && (e = a), i != null && y(i, 0, m) !== 0) {
508
- if (a != null && i > a) throw Error(c + "Minimum must not exceed maximum");
509
- e < i && (e = i);
510
- }
511
- } else y(e, -m, m);
512
- if (o = s.toFixed(e, t), r = o.charCodeAt(0) === 45, r && (o = o.slice(1)), s.c) {
513
- var l, u = o.split("."), d = +n.groupSize, f = +n.secondaryGroupSize, p = n.groupSeparator || "", h = u[0], g = u[1], _ = h.length;
514
- if (f && (l = d, d = f, f = l, _ -= l), d > 0 && _ > 0) {
515
- for (l = _ % d || d, o = h.substr(0, l); l < _; l += d) o += p + h.substr(l, d);
516
- f > 0 && (o += p + h.slice(l));
517
- }
518
- g && (l = +n.fractionGroupSize, l && (g = g.replace(RegExp("\\d{" + l + "}\\B", "g"), "$&" + (n.fractionGroupSeparator || ""))), o += (n.decimalSeparator || "") + g);
519
- }
520
- return (n.prefix || "") + (r ? n.negativeSign || "" : s.s > 0 && n.positiveSign || "") + o + (n.suffix || "");
521
- }, T.toFraction = function(e) {
522
- var n, r, i, a, o, s, l, d, p, m, h, g, v = this, y = v.c;
523
- if (e != null && (l = new z(e), !l.isInteger() && (l.c || l.s !== 1) || l.lt(E))) throw Error(c + "Argument " + (l.isInteger() ? "out of range: " : "not an integer: ") + J(l));
524
- if (!y) return [new z(v.s || 0), new z(0)];
525
- for (n = new z(E), p = r = new z(E), i = d = new z(E), g = _(y), o = n.e = g.length - v.e - 1, n.c[0] = f[(s = o % u) < 0 ? u + s : s], e = !e || l.comparedTo(n) > 0 ? o > 0 ? n : p : l, s = M, M = Infinity, l = new z(g), d.c[0] = 0; m = t(l, n, 0, 1), a = r.plus(m.times(i)), a.comparedTo(e) != 1;) r = i, i = a, p = d.plus(m.times(a = p)), d = a, n = l.minus(m.times(a = n)), l = a;
526
- return a = t(e.minus(r), i, 0, 1), d = d.plus(a.times(p)), r = r.plus(a.times(i)), d.s = p.s = v.s, o *= 2, h = t(p, i, o, O).minus(v).abs().comparedTo(t(d, r, o, O).minus(v).abs()) < 1 ? [p, i] : [d, r], M = s, h;
527
- }, T.toNumber = function() {
528
- return +J(this);
529
- }, T.toObject = function() {
530
- var e = this;
531
- return {
532
- c: e.c ? e.c.slice() : null,
533
- e: e.e,
534
- s: e.s
535
- };
536
- }, T.toPrecision = function(e, t) {
537
- return H(this, e == null ? e : y(e, 1, m), t, 2);
538
- }, T.toString = function(e) {
539
- var t, r = this, i = r.s, a = r.e;
540
- return a === null ? i ? (t = "Infinity", i < 0 && (t = "-" + t)) : t = "NaN" : (e == null ? t = a <= k || a >= A ? S(_(r.c), a) : C(_(r.c), a, "0") : (y(e, 2, R.length, "Base"), t = n(C(_(r.c), a, "0"), 10, e, i, !0)), i < 0 && r.c[0] && (t = "-" + t)), t;
541
- }, T.valueOf = T.toJSON = function() {
542
- return J(this);
543
- }, T._isBigNumber = !0, e != null && z.set(e), z;
544
- }
545
- function g(e) {
546
- var t = e | 0;
547
- return e > 0 || e === t ? t : t - 1;
548
- }
549
- function _(e) {
550
- for (var t, n, r = 1, i = e.length, a = e[0] + ""; r < i;) {
551
- for (t = e[r++] + "", n = u - t.length; n--; t = "0" + t);
552
- a += t;
553
- }
554
- for (i = a.length; a.charCodeAt(--i) === 48;);
555
- return a.slice(0, i + 1 || 1);
556
- }
557
- function v(e, t) {
558
- var n, r, i = e.c, a = t.c, o = e.s, s = t.s, c = e.e, l = t.e;
559
- if (!o || !s) return null;
560
- if (n = i && !i[0], r = a && !a[0], n || r) return n ? r ? 0 : -s : o;
561
- if (o != s) return o;
562
- if (n = o < 0, r = c == l, !i || !a) return r ? 0 : !i ^ n ? 1 : -1;
563
- if (!r) return c > l ^ n ? 1 : -1;
564
- for (s = (c = i.length) < (l = a.length) ? c : l, o = 0; o < s; o++) if (i[o] != a[o]) return i[o] > a[o] ^ n ? 1 : -1;
565
- return c == l ? 0 : c > l ^ n ? 1 : -1;
566
- }
567
- function y(e, t, n, r) {
568
- if (e < t || e > n || e !== s(e)) throw Error(c + (r || "Argument") + (typeof e == "number" ? e < t || e > n ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(e));
569
- return e;
570
- }
571
- function b(e) {
572
- return {}.toString.call(e) == "[object Array]";
573
- }
574
- function x(e) {
575
- var t = e.c.length - 1;
576
- return g(e.e / u) == t && e.c[t] % 2 != 0;
577
- }
578
- function S(e, t) {
579
- return (e.length > 1 ? e.charAt(0) + "." + e.slice(1) : e) + (t < 0 ? "e" : "e+") + t;
1
+ import { nanoid as y } from "nanoid";
2
+ const R = 1, h = 2, d = 3;
3
+ class r extends Error {
4
+ constructor(e, n) {
5
+ super(n || `OAuth2Error: code=${e}`), this.code = e;
6
+ }
580
7
  }
581
- function C(e, t, n) {
582
- var r, i;
583
- if (t < 0) {
584
- for (i = n + "."; ++t; i += n);
585
- e = i + e;
586
- } else if (r = e.length, ++t > r) {
587
- for (i = n, t -= r; --t; i += n);
588
- e += i;
589
- } else t < r && (e = e.slice(0, t) + "." + e.slice(t));
590
- return e;
8
+ var U = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", A;
9
+ function S() {
10
+ return A ||= U.slice(0, -2) + "-_", A;
591
11
  }
592
- //#endregion
593
- //#region ../../node_modules/.pnpm/@gera2ld+common@0.0.20/node_modules/@gera2ld/common/dist/index.js
594
- var w = "=", T = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", E;
595
- function D() {
596
- return E ||= T.slice(0, -2) + "-_", E;
12
+ function b(i, e, n) {
13
+ let s = "", o = 0;
14
+ for (; o < i.length; ) {
15
+ let t = i[o++], c = i[o++], a = i[o++];
16
+ if (s += e[t >> 2], s += e[(t & 3) << 4 | (c || 0) >> 4], c == null || (s += e[(c & 15) << 2 | (a || 0) >> 6]), a == null)
17
+ break;
18
+ s += e[a & 63];
19
+ }
20
+ return s;
597
21
  }
598
- function O(e, t, n) {
599
- let r = "", i = 0;
600
- for (; i < e.length;) {
601
- let a = e[i++], o = e[i++], s = e[i++];
602
- if (r += t[a >> 2], r += t[(a & 3) << 4 | (o || 0) >> 4], o == null ? n && (r += w) : r += t[(o & 15) << 2 | (s || 0) >> 6], s == null) {
603
- n && (r += w);
604
- break;
605
- }
606
- r += t[s & 63];
607
- }
608
- return r;
22
+ function O(i) {
23
+ return b(i, S(), !1);
609
24
  }
610
- function k(e) {
611
- return O(e, D(), !1);
25
+ function _() {
26
+ return y(8);
612
27
  }
613
- new Uint8Array([13, 10]);
614
- //#endregion
615
- //#region src/util.ts
616
- function A() {
617
- return e(8);
28
+ function k() {
29
+ return y(64);
618
30
  }
619
- function j() {
620
- return e(64);
31
+ async function u(i) {
32
+ const e = "S256", n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(i));
33
+ return {
34
+ codeChallenge: O(new Uint8Array(n)),
35
+ codeChallengeMethod: e
36
+ };
621
37
  }
622
- async function M(e) {
623
- let t = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(e));
624
- return {
625
- codeChallenge: k(new Uint8Array(t)),
626
- codeChallengeMethod: "S256"
627
- };
38
+ class w {
39
+ constructor(e, n) {
40
+ this.options = e, this._accessToken = null, this._refreshToken = null, n && (this.setRefreshToken(n.refreshToken), this.setAccessToken(n.accessToken));
41
+ }
42
+ _getValidToken(e) {
43
+ return e && (!e.expiresAt || Date.now() < e.expiresAt) ? e.token : void 0;
44
+ }
45
+ _updateAccessToken(e) {
46
+ this.setAccessToken(e), this.options.onSetAccessToken?.(e);
47
+ }
48
+ _updateRefreshToken(e) {
49
+ this.setRefreshToken(e), this.options.onSetRefreshToken?.(e);
50
+ }
51
+ getAccessToken() {
52
+ if (!this._accessToken) throw new r(d);
53
+ const e = this._getValidToken(this._accessToken);
54
+ if (!e) throw new r(R);
55
+ return e;
56
+ }
57
+ getRefreshToken() {
58
+ const e = this._getValidToken(this._refreshToken);
59
+ if (!e) throw new r(d, "Invalid refresh token");
60
+ return e;
61
+ }
62
+ setAccessToken(e) {
63
+ this._accessToken = e ?? null;
64
+ }
65
+ setRefreshToken(e) {
66
+ this._refreshToken = e ?? null;
67
+ }
628
68
  }
629
- //#endregion
630
- //#region src/providers/base.ts
631
- var N = class {
632
- constructor(e, t) {
633
- this.options = e, this._accessToken = null, this._refreshToken = null, t && (this.setRefreshToken(t.refreshToken), this.setAccessToken(t.accessToken));
634
- }
635
- _getValidToken(e) {
636
- return e && (!e.expiresAt || Date.now() < e.expiresAt) ? e.token : void 0;
637
- }
638
- _updateAccessToken(e) {
639
- this.setAccessToken(e), this.options.onSetAccessToken?.(e);
640
- }
641
- _updateRefreshToken(e) {
642
- this.setRefreshToken(e), this.options.onSetRefreshToken?.(e);
643
- }
644
- getAccessToken() {
645
- if (!this._accessToken) throw new i(3);
646
- let e = this._getValidToken(this._accessToken);
647
- if (!e) throw new i(1);
648
- return e;
649
- }
650
- getRefreshToken() {
651
- let e = this._getValidToken(this._refreshToken);
652
- if (!e) throw new i(3, "Invalid refresh token");
653
- return e;
654
- }
655
- setAccessToken(e) {
656
- this._accessToken = e ?? null;
657
- }
658
- setRefreshToken(e) {
659
- this._refreshToken = e ?? null;
660
- }
661
- }, P = class extends N {
662
- static {
663
- this.Scopes = { account: "account_info.read" };
664
- }
665
- async buildAuthUrl() {
666
- this.session = {
667
- state: A(),
668
- codeVerifier: j()
669
- };
670
- let { codeChallenge: e, codeChallengeMethod: t } = await M(this.session.codeVerifier), n = new URL("https://www.dropbox.com/oauth2/authorize");
671
- return Object.entries({
672
- client_id: this.options.clientId,
673
- code_challenge: e,
674
- code_challenge_method: t,
675
- redirect_uri: this.options.redirectUrl,
676
- response_type: "code",
677
- token_access_type: "offline",
678
- scope: this.options.scope,
679
- state: this.session.state
680
- }).forEach(([e, t]) => {
681
- t && n.searchParams.set(e, t);
682
- }), n.href;
683
- }
684
- async finishAuth(e) {
685
- if (!this.session || this.session.state !== e.searchParams.get("state")) throw new i(2, "state doesn't match");
686
- let t = e.searchParams.get("code");
687
- if (!t) throw new i(2, "Invalid code");
688
- let n = new URLSearchParams();
689
- Object.entries({
690
- client_id: this.options.clientId,
691
- client_secret: this.options.clientSecret,
692
- code: t,
693
- code_verifier: this.session.codeVerifier,
694
- grant_type: "authorization_code",
695
- redirect_uri: this.options.redirectUrl
696
- }).forEach(([e, t]) => {
697
- n.append(e, t);
698
- });
699
- let r = await fetch("https://api.dropbox.com/oauth2/token", {
700
- method: "POST",
701
- body: n
702
- }), a = await r.json();
703
- if (!r.ok) throw {
704
- status: r.status,
705
- data: a
706
- };
707
- if (!a.refresh_token) throw new i(2, "Failed to get refresh_token");
708
- return this._updateRefreshToken({
709
- token: a.refresh_token,
710
- scope: a.scope
711
- }), this._updateAccessToken({
712
- token: a.access_token,
713
- expiresAt: Date.now() + a.expires_in * 1e3
714
- }), a.access_token;
715
- }
716
- async refreshToken() {
717
- let e = new URLSearchParams(), t = this.getRefreshToken();
718
- Object.entries({
719
- client_id: this.options.clientId,
720
- client_secret: this.options.clientSecret,
721
- grant_type: "refresh_token",
722
- refresh_token: t
723
- }).forEach(([t, n]) => {
724
- e.append(t, n);
725
- });
726
- let n = await fetch("https://api.dropbox.com/oauth2/token", {
727
- method: "POST",
728
- body: e
729
- }), r = await n.json();
730
- if (!n.ok) throw {
731
- status: n.status,
732
- data: r
733
- };
734
- return this._updateAccessToken({
735
- token: r.access_token,
736
- expiresAt: Date.now() + r.expires_in * 1e3
737
- }), r.access_token;
738
- }
739
- }, F = class extends N {
740
- static {
741
- this.Scopes = {
742
- account: "https://www.googleapis.com/auth/userinfo.profile",
743
- "drive.appdata": "https://www.googleapis.com/auth/drive.appdata",
744
- imap: "https://mail.google.com/"
745
- };
746
- }
747
- async buildAuthUrl() {
748
- this.session = {
749
- state: A(),
750
- codeVerifier: j()
751
- };
752
- let { codeChallenge: e, codeChallengeMethod: t } = await M(this.session.codeVerifier), n = new URL("https://accounts.google.com/o/oauth2/v2/auth");
753
- return Object.entries({
754
- access_type: "offline",
755
- client_id: this.options.clientId,
756
- code_challenge: e,
757
- code_challenge_method: t,
758
- include_granted_scopes: "true",
759
- prompt: "consent",
760
- redirect_uri: this.options.redirectUrl,
761
- response_type: "code",
762
- scope: this.options.scope,
763
- state: this.session.state
764
- }).forEach(([e, t]) => {
765
- t && n.searchParams.set(e, t);
766
- }), n.href;
767
- }
768
- async finishAuth(e) {
769
- if (!this.session || this.session.state !== e.searchParams.get("state")) throw new i(2, "state doesn't match");
770
- let t = e.searchParams.get("code");
771
- if (!t) throw new i(2, "Invalid code");
772
- let n = new URLSearchParams();
773
- Object.entries({
774
- client_id: this.options.clientId,
775
- client_secret: this.options.clientSecret,
776
- code: t,
777
- code_verifier: this.session.codeVerifier,
778
- grant_type: "authorization_code",
779
- redirect_uri: this.options.redirectUrl
780
- }).forEach(([e, t]) => {
781
- n.append(e, t);
782
- });
783
- let r = await fetch("https://oauth2.googleapis.com/token", {
784
- method: "POST",
785
- body: n
786
- }), a = await r.json();
787
- if (!r.ok) throw {
788
- status: r.status,
789
- data: a
790
- };
791
- if (!a.refresh_token) throw new i(2, "Failed to get refresh_token");
792
- return this._updateRefreshToken({
793
- token: a.refresh_token,
794
- scope: a.scope
795
- }), this._updateAccessToken({
796
- token: a.access_token,
797
- expiresAt: Date.now() + a.expires_in * 1e3
798
- }), a.access_token;
799
- }
800
- async refreshToken() {
801
- let e = new URLSearchParams(), t = this.getRefreshToken();
802
- Object.entries({
803
- client_id: this.options.clientId,
804
- client_secret: this.options.clientSecret,
805
- grant_type: "refresh_token",
806
- refresh_token: t,
807
- scope: this.options.scope
808
- }).forEach(([t, n]) => {
809
- n != null && e.append(t, n);
810
- });
811
- let n = await fetch("https://oauth2.googleapis.com/token", {
812
- method: "POST",
813
- body: e
814
- }), r = await n.json();
815
- if (!n.ok) throw {
816
- status: n.status,
817
- data: r
818
- };
819
- return this._updateAccessToken({
820
- token: r.access_token,
821
- expiresAt: Date.now() + r.expires_in * 1e3
822
- }), r.access_token;
823
- }
824
- }, I = class extends N {
825
- static {
826
- this.Scopes = {
827
- imap: "offline_access https://outlook.office.com/IMAP.AccessAsUser.All",
828
- onedrive: "openid profile Files.ReadWrite.AppFolder offline_access"
829
- };
830
- }
831
- async buildAuthUrl() {
832
- this.session = {
833
- state: A(),
834
- codeVerifier: j()
835
- };
836
- let { codeChallenge: e, codeChallengeMethod: t } = await M(this.session.codeVerifier), n = new URL("https://login.microsoftonline.com/common/oauth2/v2.0/authorize");
837
- return Object.entries({
838
- client_id: this.options.clientId,
839
- code_challenge: e,
840
- code_challenge_method: t,
841
- redirect_uri: this.options.redirectUrl,
842
- response_mode: "query",
843
- response_type: "code",
844
- scope: this.options.scope,
845
- state: this.session.state
846
- }).forEach(([e, t]) => {
847
- t && n.searchParams.set(e, t);
848
- }), n.href;
849
- }
850
- async finishAuth(e) {
851
- if (!this.session || this.session.state !== e.searchParams.get("state")) throw new i(2, "state doesn't match");
852
- let t = e.searchParams.get("code");
853
- if (!t) throw new i(2, "Invalid code");
854
- let n = new URLSearchParams();
855
- Object.entries({
856
- client_id: this.options.clientId,
857
- client_secret: this.options.clientSecret,
858
- code: t,
859
- code_verifier: this.session.codeVerifier,
860
- grant_type: "authorization_code",
861
- redirect_uri: this.options.redirectUrl,
862
- scope: this.options.scope
863
- }).forEach(([e, t]) => {
864
- t && n.append(e, t);
865
- });
866
- let r = await fetch("https://login.microsoftonline.com/common/oauth2/v2.0/token", {
867
- method: "POST",
868
- body: n
869
- }), a = await r.json();
870
- if (!r.ok) throw {
871
- status: r.status,
872
- data: a
873
- };
874
- if (!a.refresh_token) throw new i(2, "Failed to get refresh_token");
875
- return this._updateRefreshToken({
876
- token: a.refresh_token,
877
- scope: a.scope
878
- }), this._updateAccessToken({
879
- token: a.access_token,
880
- expiresAt: Date.now() + a.expires_in * 1e3
881
- }), a.access_token;
882
- }
883
- async refreshToken() {
884
- let e = new URLSearchParams(), t = this.getRefreshToken();
885
- Object.entries({
886
- client_id: this.options.clientId,
887
- client_secret: this.options.clientSecret,
888
- grant_type: "refresh_token",
889
- refresh_token: t,
890
- scope: this.options.scope
891
- }).forEach(([t, n]) => {
892
- n && e.append(t, n);
893
- });
894
- let n = await fetch("https://login.microsoftonline.com/common/oauth2/v2.0/token", {
895
- method: "POST",
896
- body: e
897
- }), r = await n.json();
898
- if (!n.ok) throw {
899
- status: n.status,
900
- data: r
901
- };
902
- return this._updateAccessToken({
903
- token: r.access_token,
904
- expiresAt: Date.now() + r.expires_in * 1e3
905
- }), r.access_token;
906
- }
907
- }, L = {
908
- dropbox: P,
909
- google: F,
910
- microsoft: I
69
+ const g = class g extends w {
70
+ async buildAuthUrl() {
71
+ this.session = {
72
+ state: _(),
73
+ codeVerifier: k()
74
+ };
75
+ const { codeChallenge: e, codeChallengeMethod: n } = await u(
76
+ this.session.codeVerifier
77
+ ), s = new URL("https://www.dropbox.com/oauth2/authorize");
78
+ return Object.entries({
79
+ client_id: this.options.clientId,
80
+ code_challenge: e,
81
+ code_challenge_method: n,
82
+ redirect_uri: this.options.redirectUrl,
83
+ response_type: "code",
84
+ token_access_type: "offline",
85
+ scope: this.options.scope,
86
+ state: this.session.state
87
+ }).forEach(([o, t]) => {
88
+ t && s.searchParams.set(o, t);
89
+ }), s.href;
90
+ }
91
+ async finishAuth(e) {
92
+ if (!this.session || this.session.state !== e.searchParams.get("state"))
93
+ throw new r(h, "state doesn't match");
94
+ const n = e.searchParams.get("code");
95
+ if (!n) throw new r(h, "Invalid code");
96
+ const s = new URLSearchParams();
97
+ Object.entries({
98
+ client_id: this.options.clientId,
99
+ client_secret: this.options.clientSecret,
100
+ code: n,
101
+ code_verifier: this.session.codeVerifier,
102
+ grant_type: "authorization_code",
103
+ redirect_uri: this.options.redirectUrl
104
+ }).forEach(([c, a]) => {
105
+ s.append(c, a);
106
+ });
107
+ const o = await fetch("https://api.dropbox.com/oauth2/token", {
108
+ method: "POST",
109
+ body: s
110
+ }), t = await o.json();
111
+ if (!o.ok) throw { status: o.status, data: t };
112
+ if (!t.refresh_token)
113
+ throw new r(h, "Failed to get refresh_token");
114
+ return this._updateRefreshToken({
115
+ token: t.refresh_token,
116
+ scope: t.scope
117
+ }), this._updateAccessToken({
118
+ token: t.access_token,
119
+ expiresAt: Date.now() + t.expires_in * 1e3
120
+ }), t.access_token;
121
+ }
122
+ async refreshToken() {
123
+ const e = new URLSearchParams(), n = this.getRefreshToken();
124
+ Object.entries({
125
+ client_id: this.options.clientId,
126
+ client_secret: this.options.clientSecret,
127
+ grant_type: "refresh_token",
128
+ refresh_token: n
129
+ }).forEach(([t, c]) => {
130
+ e.append(t, c);
131
+ });
132
+ const s = await fetch("https://api.dropbox.com/oauth2/token", {
133
+ method: "POST",
134
+ body: e
135
+ }), o = await s.json();
136
+ if (!s.ok) throw { status: s.status, data: o };
137
+ return this._updateAccessToken({
138
+ token: o.access_token,
139
+ expiresAt: Date.now() + o.expires_in * 1e3
140
+ }), o.access_token;
141
+ }
911
142
  };
912
- //#endregion
913
- //#region src/index.ts
914
- function R(e, t) {
915
- return new L[t.provider](e);
143
+ g.Scopes = {
144
+ account: "account_info.read"
145
+ };
146
+ let p = g;
147
+ const T = class T extends w {
148
+ async buildAuthUrl() {
149
+ this.session = {
150
+ state: _(),
151
+ codeVerifier: k()
152
+ };
153
+ const { codeChallenge: e, codeChallengeMethod: n } = await u(
154
+ this.session.codeVerifier
155
+ ), s = new URL("https://accounts.google.com/o/oauth2/v2/auth");
156
+ return Object.entries({
157
+ access_type: "offline",
158
+ client_id: this.options.clientId,
159
+ code_challenge: e,
160
+ code_challenge_method: n,
161
+ include_granted_scopes: "true",
162
+ prompt: "consent",
163
+ redirect_uri: this.options.redirectUrl,
164
+ response_type: "code",
165
+ scope: this.options.scope,
166
+ state: this.session.state
167
+ }).forEach(([o, t]) => {
168
+ t && s.searchParams.set(o, t);
169
+ }), s.href;
170
+ }
171
+ async finishAuth(e) {
172
+ if (!this.session || this.session.state !== e.searchParams.get("state"))
173
+ throw new r(h, "state doesn't match");
174
+ const n = e.searchParams.get("code");
175
+ if (!n) throw new r(h, "Invalid code");
176
+ const s = new URLSearchParams();
177
+ Object.entries({
178
+ client_id: this.options.clientId,
179
+ client_secret: this.options.clientSecret,
180
+ code: n,
181
+ code_verifier: this.session.codeVerifier,
182
+ grant_type: "authorization_code",
183
+ redirect_uri: this.options.redirectUrl
184
+ }).forEach(([c, a]) => {
185
+ s.append(c, a);
186
+ });
187
+ const o = await fetch("https://oauth2.googleapis.com/token", {
188
+ method: "POST",
189
+ body: s
190
+ }), t = await o.json();
191
+ if (!o.ok) throw { status: o.status, data: t };
192
+ if (!t.refresh_token)
193
+ throw new r(h, "Failed to get refresh_token");
194
+ return this._updateRefreshToken({
195
+ token: t.refresh_token,
196
+ scope: t.scope
197
+ }), this._updateAccessToken({
198
+ token: t.access_token,
199
+ expiresAt: Date.now() + t.expires_in * 1e3
200
+ }), t.access_token;
201
+ }
202
+ async refreshToken() {
203
+ const e = new URLSearchParams(), n = this.getRefreshToken();
204
+ Object.entries({
205
+ client_id: this.options.clientId,
206
+ client_secret: this.options.clientSecret,
207
+ grant_type: "refresh_token",
208
+ refresh_token: n,
209
+ scope: this.options.scope
210
+ }).forEach(([t, c]) => {
211
+ c != null && e.append(t, c);
212
+ });
213
+ const s = await fetch("https://oauth2.googleapis.com/token", {
214
+ method: "POST",
215
+ body: e
216
+ }), o = await s.json();
217
+ if (!s.ok) throw { status: s.status, data: o };
218
+ return this._updateAccessToken({
219
+ token: o.access_token,
220
+ expiresAt: Date.now() + o.expires_in * 1e3
221
+ }), o.access_token;
222
+ }
223
+ };
224
+ T.Scopes = {
225
+ account: "https://www.googleapis.com/auth/userinfo.profile",
226
+ "drive.appdata": "https://www.googleapis.com/auth/drive.appdata",
227
+ imap: "https://mail.google.com/"
228
+ };
229
+ let f = T;
230
+ const m = class m extends w {
231
+ async buildAuthUrl() {
232
+ this.session = {
233
+ state: _(),
234
+ codeVerifier: k()
235
+ };
236
+ const { codeChallenge: e, codeChallengeMethod: n } = await u(
237
+ this.session.codeVerifier
238
+ ), s = new URL("https://login.microsoftonline.com/common/oauth2/v2.0/authorize");
239
+ return Object.entries({
240
+ client_id: this.options.clientId,
241
+ code_challenge: e,
242
+ code_challenge_method: n,
243
+ redirect_uri: this.options.redirectUrl,
244
+ response_mode: "query",
245
+ response_type: "code",
246
+ scope: this.options.scope,
247
+ state: this.session.state
248
+ }).forEach(([o, t]) => {
249
+ t && s.searchParams.set(o, t);
250
+ }), s.href;
251
+ }
252
+ async finishAuth(e) {
253
+ if (!this.session || this.session.state !== e.searchParams.get("state"))
254
+ throw new r(h, "state doesn't match");
255
+ const n = e.searchParams.get("code");
256
+ if (!n) throw new r(h, "Invalid code");
257
+ const s = new URLSearchParams();
258
+ Object.entries({
259
+ client_id: this.options.clientId,
260
+ client_secret: this.options.clientSecret,
261
+ code: n,
262
+ code_verifier: this.session.codeVerifier,
263
+ grant_type: "authorization_code",
264
+ redirect_uri: this.options.redirectUrl,
265
+ scope: this.options.scope
266
+ }).forEach(([c, a]) => {
267
+ a && s.append(c, a);
268
+ });
269
+ const o = await fetch("https://login.microsoftonline.com/common/oauth2/v2.0/token", {
270
+ method: "POST",
271
+ body: s
272
+ }), t = await o.json();
273
+ if (!o.ok) throw { status: o.status, data: t };
274
+ if (!t.refresh_token)
275
+ throw new r(h, "Failed to get refresh_token");
276
+ return this._updateRefreshToken({
277
+ token: t.refresh_token,
278
+ scope: t.scope
279
+ }), this._updateAccessToken({
280
+ token: t.access_token,
281
+ expiresAt: Date.now() + t.expires_in * 1e3
282
+ }), t.access_token;
283
+ }
284
+ async refreshToken() {
285
+ const e = new URLSearchParams(), n = this.getRefreshToken();
286
+ Object.entries({
287
+ client_id: this.options.clientId,
288
+ client_secret: this.options.clientSecret,
289
+ grant_type: "refresh_token",
290
+ refresh_token: n,
291
+ scope: this.options.scope
292
+ }).forEach(([t, c]) => {
293
+ c && e.append(t, c);
294
+ });
295
+ const s = await fetch("https://login.microsoftonline.com/common/oauth2/v2.0/token", {
296
+ method: "POST",
297
+ body: e
298
+ }), o = await s.json();
299
+ if (!s.ok) throw { status: s.status, data: o };
300
+ return this._updateAccessToken({
301
+ token: o.access_token,
302
+ expiresAt: Date.now() + o.expires_in * 1e3
303
+ }), o.access_token;
304
+ }
305
+ };
306
+ m.Scopes = {
307
+ /** Ref: https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth */
308
+ imap: "offline_access https://outlook.office.com/IMAP.AccessAsUser.All",
309
+ onedrive: "openid profile Files.ReadWrite.AppFolder offline_access"
310
+ };
311
+ let l = m;
312
+ const x = {
313
+ dropbox: p,
314
+ google: f,
315
+ microsoft: l
316
+ };
317
+ function E(i, e) {
318
+ return new x[e.provider](i);
916
319
  }
917
- async function z(e, t) {
918
- let n;
919
- try {
920
- n = e.getAccessToken();
921
- } catch (r) {
922
- if (!(r instanceof i)) throw r;
923
- switch (r.code) {
924
- case 3: {
925
- if (!t) throw r;
926
- let i = await t(await e.buildAuthUrl());
927
- n = await e.finishAuth(new URL(i));
928
- break;
929
- }
930
- case 1:
931
- n = await e.refreshToken();
932
- break;
933
- default: throw r;
934
- }
935
- }
936
- return n;
320
+ async function j(i, e) {
321
+ let n;
322
+ try {
323
+ n = i.getAccessToken();
324
+ } catch (s) {
325
+ if (!(s instanceof r))
326
+ throw s;
327
+ switch (s.code) {
328
+ case d: {
329
+ if (!e) throw s;
330
+ const o = await i.buildAuthUrl(), t = await e(o);
331
+ n = await i.finishAuth(new URL(t));
332
+ break;
333
+ }
334
+ case R: {
335
+ n = await i.refreshToken();
336
+ break;
337
+ }
338
+ default:
339
+ throw s;
340
+ }
341
+ }
342
+ return n;
937
343
  }
938
- //#endregion
939
- export { P as DropboxAuthorizer, F as GoogleAuthorizer, I as MicrosoftAuthorizer, n as OAUTH2_AUTH_ERROR, t as OAUTH2_NEED_REFRESH, r as OAUTH2_UNAUTHORIZED, N as OAuth2Authorizer, L as OAuth2Authorizers, i as OAuth2Error, z as ensureAccessToken, R as getAuthorizer };
344
+ export {
345
+ p as DropboxAuthorizer,
346
+ f as GoogleAuthorizer,
347
+ l as MicrosoftAuthorizer,
348
+ h as OAUTH2_AUTH_ERROR,
349
+ R as OAUTH2_NEED_REFRESH,
350
+ d as OAUTH2_UNAUTHORIZED,
351
+ w as OAuth2Authorizer,
352
+ x as OAuth2Authorizers,
353
+ r as OAuth2Error,
354
+ j as ensureAccessToken,
355
+ E as getAuthorizer
356
+ };
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@usync/oauth2",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
7
7
  "type": "module",
8
+ "sideEffects": false,
8
9
  "exports": {
9
10
  ".": {
10
11
  "import": "./dist/index.js",