@ztimson/utils 0.16.3 → 0.16.4
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/cache.d.ts +26 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +67 -37
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -214,21 +214,27 @@ class A extends Array {
|
|
|
214
214
|
return new A([...this, ...t]);
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
|
-
class Nt
|
|
217
|
+
class Nt {
|
|
218
218
|
/**
|
|
219
219
|
* Create new cache
|
|
220
220
|
*
|
|
221
221
|
* @param {keyof T} key Default property to use as primary key
|
|
222
222
|
* @param {number} ttl Default expiry in milliseconds
|
|
223
223
|
*/
|
|
224
|
-
constructor(
|
|
225
|
-
|
|
224
|
+
constructor(t, e) {
|
|
225
|
+
c(this, "store", {});
|
|
226
226
|
/** Whether cache is complete */
|
|
227
227
|
c(this, "complete", !1);
|
|
228
|
-
|
|
228
|
+
/**
|
|
229
|
+
* Get all cached items
|
|
230
|
+
*
|
|
231
|
+
* @return {T[]} Array of items
|
|
232
|
+
*/
|
|
233
|
+
c(this, "values", this.all());
|
|
234
|
+
this.key = t, this.ttl = e;
|
|
229
235
|
}
|
|
230
|
-
getKey(
|
|
231
|
-
return
|
|
236
|
+
getKey(t) {
|
|
237
|
+
return t[this.key];
|
|
232
238
|
}
|
|
233
239
|
/**
|
|
234
240
|
* Get all cached items
|
|
@@ -236,7 +242,7 @@ class Nt extends Map {
|
|
|
236
242
|
* @return {T[]} Array of items
|
|
237
243
|
*/
|
|
238
244
|
all() {
|
|
239
|
-
return
|
|
245
|
+
return Object.values(this.store);
|
|
240
246
|
}
|
|
241
247
|
/**
|
|
242
248
|
* Add a new item to the cache. Like set, but finds key automatically
|
|
@@ -245,9 +251,9 @@ class Nt extends Map {
|
|
|
245
251
|
* @param {number | undefined} ttl Override default expiry
|
|
246
252
|
* @return {this}
|
|
247
253
|
*/
|
|
248
|
-
add(
|
|
249
|
-
const
|
|
250
|
-
return this.set(
|
|
254
|
+
add(t, e = this.ttl) {
|
|
255
|
+
const n = this.getKey(t);
|
|
256
|
+
return this.set(n, t, e), this;
|
|
251
257
|
}
|
|
252
258
|
/**
|
|
253
259
|
* Add several rows to the cache
|
|
@@ -256,20 +262,44 @@ class Nt extends Map {
|
|
|
256
262
|
* @param complete Mark cache as complete & reliable, defaults to true
|
|
257
263
|
* @return {this}
|
|
258
264
|
*/
|
|
259
|
-
addAll(
|
|
260
|
-
return
|
|
265
|
+
addAll(t, e = !0) {
|
|
266
|
+
return t.forEach((n) => this.add(n)), this.complete = e, this;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Delete an item from the cache
|
|
270
|
+
*
|
|
271
|
+
* @param {K} key Item's primary key
|
|
272
|
+
*/
|
|
273
|
+
delete(t) {
|
|
274
|
+
delete this.store[t];
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Return cache as an array of key-value pairs
|
|
278
|
+
* @return {[K, T][]} Key-value pairs array
|
|
279
|
+
*/
|
|
280
|
+
entries() {
|
|
281
|
+
return Object.entries(this.store);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Get a list of cached keys
|
|
285
|
+
*
|
|
286
|
+
* @return {K[]} Array of keys
|
|
287
|
+
*/
|
|
288
|
+
keys() {
|
|
289
|
+
return Object.keys(this.store);
|
|
261
290
|
}
|
|
262
291
|
/**
|
|
263
292
|
* Add an item to the cache manually specifying the key
|
|
293
|
+
*
|
|
264
294
|
* @param {K} key Key item will be cached under
|
|
265
295
|
* @param {T} value Item to cache
|
|
266
296
|
* @param {number | undefined} ttl Override default expiry
|
|
267
297
|
* @return {this}
|
|
268
298
|
*/
|
|
269
|
-
set(e, n
|
|
270
|
-
return
|
|
271
|
-
this.complete = !1,
|
|
272
|
-
},
|
|
299
|
+
set(t, e, n = this.ttl) {
|
|
300
|
+
return this.store[t] = e, n && setTimeout(() => {
|
|
301
|
+
this.complete = !1, this.delete(t);
|
|
302
|
+
}, n), this;
|
|
273
303
|
}
|
|
274
304
|
}
|
|
275
305
|
function Tt(r, t = !0) {
|
|
@@ -322,7 +352,7 @@ class E extends Promise {
|
|
|
322
352
|
return this.from(super.finally(e));
|
|
323
353
|
}
|
|
324
354
|
}
|
|
325
|
-
function
|
|
355
|
+
function It(r, t) {
|
|
326
356
|
r instanceof Blob || (r = new Blob(ut(r)));
|
|
327
357
|
const e = URL.createObjectURL(r);
|
|
328
358
|
at(e, t), URL.revokeObjectURL(e);
|
|
@@ -331,7 +361,7 @@ function at(r, t) {
|
|
|
331
361
|
const e = document.createElement("a");
|
|
332
362
|
e.href = r, e.download = t || r.split("/").pop(), document.body.appendChild(e), e.click(), document.body.removeChild(e);
|
|
333
363
|
}
|
|
334
|
-
function
|
|
364
|
+
function Mt(r = {}) {
|
|
335
365
|
return new Promise((t) => {
|
|
336
366
|
const e = document.createElement("input");
|
|
337
367
|
e.type = "file", e.accept = r.accept || "*", e.style.display = "none", e.multiple = !!r.multiple, e.onblur = e.onchange = async () => {
|
|
@@ -339,12 +369,12 @@ function It(r = {}) {
|
|
|
339
369
|
}, document.body.appendChild(e), e.click();
|
|
340
370
|
});
|
|
341
371
|
}
|
|
342
|
-
function
|
|
372
|
+
function jt(r, t = /* @__PURE__ */ new Date()) {
|
|
343
373
|
(typeof t == "number" || typeof t == "string") && (t = new Date(t));
|
|
344
374
|
const e = `${t.getFullYear()}-${(t.getMonth() + 1).toString().padStart(2, "0")}-${t.getDate().toString().padStart(2, "0")}_${t.getHours().toString().padStart(2, "0")}-${t.getMinutes().toString().padStart(2, "0")}-${t.getSeconds().toString().padStart(2, "0")}`;
|
|
345
375
|
return r ? r.replace("{{TIMESTAMP}}", e) : e;
|
|
346
376
|
}
|
|
347
|
-
function
|
|
377
|
+
function Dt(r) {
|
|
348
378
|
return new E((t, e, n) => {
|
|
349
379
|
const o = new XMLHttpRequest(), s = new FormData();
|
|
350
380
|
r.files.forEach((i) => s.append("file", i)), o.withCredentials = !!r.withCredentials, o.upload.addEventListener("progress", (i) => i.lengthComputable ? n(i.loaded / i.total) : null), o.addEventListener("loadend", () => t(U(o.responseText))), o.addEventListener("error", () => e(U(o.responseText))), o.addEventListener("timeout", () => e({ error: "Request timed out" })), o.open("POST", r.url), Object.entries(r.headers || {}).forEach(([i, y]) => o.setRequestHeader(i, y)), o.send(s);
|
|
@@ -600,18 +630,18 @@ const w = class w {
|
|
|
600
630
|
method: t.method || (t.body ? "POST" : "GET"),
|
|
601
631
|
body: t.body
|
|
602
632
|
}).then(async (u) => {
|
|
603
|
-
var
|
|
633
|
+
var D, k;
|
|
604
634
|
for (let a of [...Object.values(w.interceptors), ...Object.values(this.interceptors)])
|
|
605
635
|
await new Promise((O) => a(u, () => O()));
|
|
606
636
|
const R = u.headers.get("Content-Length"), C = R ? parseInt(R, 10) : 0;
|
|
607
|
-
let
|
|
608
|
-
const N = (
|
|
637
|
+
let j = 0;
|
|
638
|
+
const N = (D = u.body) == null ? void 0 : D.getReader(), et = new ReadableStream({
|
|
609
639
|
start(a) {
|
|
610
640
|
function O() {
|
|
611
641
|
N == null || N.read().then((B) => {
|
|
612
642
|
if (B.done)
|
|
613
643
|
return a.close();
|
|
614
|
-
|
|
644
|
+
j += B.value.byteLength, y(j / C), a.enqueue(B.value), O();
|
|
615
645
|
}).catch((B) => a.error(B));
|
|
616
646
|
}
|
|
617
647
|
O();
|
|
@@ -726,7 +756,7 @@ function qt(r) {
|
|
|
726
756
|
const e = t.length == 2 ? Number(t[0]) : 0;
|
|
727
757
|
return t = t.pop().split("/"), e + Number(t[0]) / Number(t[1]);
|
|
728
758
|
}
|
|
729
|
-
const T = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
|
759
|
+
const T = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", I = "0123456789", M = "~`!@#$%^&*()_-+={[}]|\\:;\"'<,>.?/", ht = T + I + M;
|
|
730
760
|
function Pt(r, t = 2) {
|
|
731
761
|
if (r === 0)
|
|
732
762
|
return "0 Bytes";
|
|
@@ -748,7 +778,7 @@ function Yt(r, t, e = " ", n = !0) {
|
|
|
748
778
|
function Ht(r) {
|
|
749
779
|
return Array(r).fill(null).map(() => Math.round(Math.random() * 15).toString(16)).join("");
|
|
750
780
|
}
|
|
751
|
-
function Wt(r, t =
|
|
781
|
+
function Wt(r, t = ht) {
|
|
752
782
|
return Array(r).fill(null).map(() => {
|
|
753
783
|
const e = ~~(Math.random() * t.length);
|
|
754
784
|
return t[e];
|
|
@@ -761,7 +791,7 @@ function zt(r, t = !1, e = !1, n = !1) {
|
|
|
761
791
|
let o;
|
|
762
792
|
do {
|
|
763
793
|
const s = ~~(Math.random() * 3);
|
|
764
|
-
t && s == 0 ? o = T[~~(Math.random() * T.length)] : e && s == 1 ? o =
|
|
794
|
+
t && s == 0 ? o = T[~~(Math.random() * T.length)] : e && s == 1 ? o = I[~~(Math.random() * I.length)] : n && s == 2 && (o = M[~~(Math.random() * M.length)]);
|
|
765
795
|
} while (!o);
|
|
766
796
|
return o;
|
|
767
797
|
}).join("");
|
|
@@ -788,7 +818,7 @@ function Jt(r) {
|
|
|
788
818
|
}
|
|
789
819
|
return e;
|
|
790
820
|
}
|
|
791
|
-
function
|
|
821
|
+
function ft(r) {
|
|
792
822
|
var t = dt(yt(gt(pt(r), 8 * r.length)));
|
|
793
823
|
return t.toLowerCase();
|
|
794
824
|
}
|
|
@@ -813,7 +843,7 @@ function gt(r, t) {
|
|
|
813
843
|
r[t >> 5] |= 128 << t % 32, r[14 + (t + 64 >>> 9 << 4)] = t;
|
|
814
844
|
for (var e = 1732584193, n = -271733879, o = -1732584194, s = 271733878, i = 0; i < r.length; i += 16) {
|
|
815
845
|
var y = e, u = n, R = o, C = s;
|
|
816
|
-
n = d(n = d(n = d(n = d(n =
|
|
846
|
+
n = d(n = d(n = d(n = d(n = f(n = f(n = f(n = f(n = h(n = h(n = h(n = h(n = l(n = l(n = l(n = l(n, o = l(o, s = l(s, e = l(e, n, o, s, r[i + 0], 7, -680876936), n, o, r[i + 1], 12, -389564586), e, n, r[i + 2], 17, 606105819), s, e, r[i + 3], 22, -1044525330), o = l(o, s = l(s, e = l(e, n, o, s, r[i + 4], 7, -176418897), n, o, r[i + 5], 12, 1200080426), e, n, r[i + 6], 17, -1473231341), s, e, r[i + 7], 22, -45705983), o = l(o, s = l(s, e = l(e, n, o, s, r[i + 8], 7, 1770035416), n, o, r[i + 9], 12, -1958414417), e, n, r[i + 10], 17, -42063), s, e, r[i + 11], 22, -1990404162), o = l(o, s = l(s, e = l(e, n, o, s, r[i + 12], 7, 1804603682), n, o, r[i + 13], 12, -40341101), e, n, r[i + 14], 17, -1502002290), s, e, r[i + 15], 22, 1236535329), o = h(o, s = h(s, e = h(e, n, o, s, r[i + 1], 5, -165796510), n, o, r[i + 6], 9, -1069501632), e, n, r[i + 11], 14, 643717713), s, e, r[i + 0], 20, -373897302), o = h(o, s = h(s, e = h(e, n, o, s, r[i + 5], 5, -701558691), n, o, r[i + 10], 9, 38016083), e, n, r[i + 15], 14, -660478335), s, e, r[i + 4], 20, -405537848), o = h(o, s = h(s, e = h(e, n, o, s, r[i + 9], 5, 568446438), n, o, r[i + 14], 9, -1019803690), e, n, r[i + 3], 14, -187363961), s, e, r[i + 8], 20, 1163531501), o = h(o, s = h(s, e = h(e, n, o, s, r[i + 13], 5, -1444681467), n, o, r[i + 2], 9, -51403784), e, n, r[i + 7], 14, 1735328473), s, e, r[i + 12], 20, -1926607734), o = f(o, s = f(s, e = f(e, n, o, s, r[i + 5], 4, -378558), n, o, r[i + 8], 11, -2022574463), e, n, r[i + 11], 16, 1839030562), s, e, r[i + 14], 23, -35309556), o = f(o, s = f(s, e = f(e, n, o, s, r[i + 1], 4, -1530992060), n, o, r[i + 4], 11, 1272893353), e, n, r[i + 7], 16, -155497632), s, e, r[i + 10], 23, -1094730640), o = f(o, s = f(s, e = f(e, n, o, s, r[i + 13], 4, 681279174), n, o, r[i + 0], 11, -358537222), e, n, r[i + 3], 16, -722521979), s, e, r[i + 6], 23, 76029189), o = f(o, s = f(s, e = f(e, n, o, s, r[i + 9], 4, -640364487), n, o, r[i + 12], 11, -421815835), e, n, r[i + 15], 16, 530742520), s, e, r[i + 2], 23, -995338651), o = d(o, s = d(s, e = d(e, n, o, s, r[i + 0], 6, -198630844), n, o, r[i + 7], 10, 1126891415), e, n, r[i + 14], 15, -1416354905), s, e, r[i + 5], 21, -57434055), o = d(o, s = d(s, e = d(e, n, o, s, r[i + 12], 6, 1700485571), n, o, r[i + 3], 10, -1894986606), e, n, r[i + 10], 15, -1051523), s, e, r[i + 1], 21, -2054922799), o = d(o, s = d(s, e = d(e, n, o, s, r[i + 8], 6, 1873313359), n, o, r[i + 15], 10, -30611744), e, n, r[i + 6], 15, -1560198380), s, e, r[i + 13], 21, 1309151649), o = d(o, s = d(s, e = d(e, n, o, s, r[i + 4], 6, -145523070), n, o, r[i + 11], 10, -1120210379), e, n, r[i + 2], 15, 718787259), s, e, r[i + 9], 21, -343485551), e = m(e, y), n = m(n, u), o = m(o, R), s = m(s, C);
|
|
817
847
|
}
|
|
818
848
|
return Array(e, n, o, s);
|
|
819
849
|
}
|
|
@@ -823,10 +853,10 @@ function L(r, t, e, n, o, s) {
|
|
|
823
853
|
function l(r, t, e, n, o, s, i) {
|
|
824
854
|
return L(t & e | ~t & n, r, t, o, s, i);
|
|
825
855
|
}
|
|
826
|
-
function
|
|
856
|
+
function h(r, t, e, n, o, s, i) {
|
|
827
857
|
return L(t & n | e & ~n, r, t, o, s, i);
|
|
828
858
|
}
|
|
829
|
-
function
|
|
859
|
+
function f(r, t, e, n, o, s, i) {
|
|
830
860
|
return L(t ^ e ^ n, r, t, o, s, i);
|
|
831
861
|
}
|
|
832
862
|
function d(r, t, e, n, o, s, i) {
|
|
@@ -843,7 +873,7 @@ function Zt(r) {
|
|
|
843
873
|
return /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(r);
|
|
844
874
|
}
|
|
845
875
|
function Vt(r, t = "mp") {
|
|
846
|
-
return r ? `https://www.gravatar.com/avatar/${
|
|
876
|
+
return r ? `https://www.gravatar.com/avatar/${ft(r)}?d=${t}` : "";
|
|
847
877
|
}
|
|
848
878
|
function Xt(r) {
|
|
849
879
|
(typeof r == "number" || typeof r == "string") && (r = new Date(r));
|
|
@@ -898,11 +928,11 @@ export {
|
|
|
898
928
|
xt as deepCopy,
|
|
899
929
|
st as deepMerge,
|
|
900
930
|
x as dotNotation,
|
|
901
|
-
|
|
931
|
+
It as downloadFile,
|
|
902
932
|
at as downloadUrl,
|
|
903
933
|
Bt as encodeQuery,
|
|
904
934
|
kt as errorFromCode,
|
|
905
|
-
|
|
935
|
+
Mt as fileBrowser,
|
|
906
936
|
Lt as findByProp,
|
|
907
937
|
it as flattenArr,
|
|
908
938
|
F as flattenObj,
|
|
@@ -918,7 +948,7 @@ export {
|
|
|
918
948
|
ut as makeArray,
|
|
919
949
|
ct as makeUnique,
|
|
920
950
|
Kt as matchAll,
|
|
921
|
-
|
|
951
|
+
ft as md5,
|
|
922
952
|
At as mixin,
|
|
923
953
|
Yt as pad,
|
|
924
954
|
Jt as parseUrl,
|
|
@@ -929,9 +959,9 @@ export {
|
|
|
929
959
|
Qt as sleepUntil,
|
|
930
960
|
Ct as sortByProp,
|
|
931
961
|
_t as timeUntil,
|
|
932
|
-
|
|
962
|
+
jt as timestampFilename,
|
|
933
963
|
te as tyoeKeys,
|
|
934
|
-
|
|
964
|
+
Dt as uploadWithProgress,
|
|
935
965
|
Zt as validateEmail
|
|
936
966
|
};
|
|
937
967
|
//# sourceMappingURL=index.mjs.map
|