@ztimson/utils 0.21.5 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/README.md +91 -91
- package/dist/array.d.ts +0 -0
- package/dist/aset.d.ts +0 -0
- package/dist/cache.d.ts +0 -0
- package/dist/csv.d.ts +0 -0
- package/dist/emitter.d.ts +0 -0
- package/dist/errors.d.ts +1 -1
- package/dist/files.d.ts +0 -0
- package/dist/http.d.ts +0 -0
- package/dist/index.cjs +153 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -0
- package/dist/index.mjs +153 -8
- package/dist/index.mjs.map +1 -1
- package/dist/jwt.d.ts +0 -0
- package/dist/logger.d.ts +0 -0
- package/dist/math.d.ts +0 -0
- package/dist/misc.d.ts +0 -0
- package/dist/objects.d.ts +0 -0
- package/dist/path-events.d.ts +0 -0
- package/dist/promise-progress.d.ts +0 -0
- package/dist/string.d.ts +10 -0
- package/dist/time.d.ts +10 -2
- package/dist/types.d.ts +0 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -707,7 +707,6 @@ class GatewayTimeoutError extends CustomError {
|
|
|
707
707
|
}
|
|
708
708
|
__publicField(GatewayTimeoutError, "code", 504);
|
|
709
709
|
function errorFromCode(code, message) {
|
|
710
|
-
if (code >= 200 && code < 300) return null;
|
|
711
710
|
switch (code) {
|
|
712
711
|
case 400:
|
|
713
712
|
return new BadRequestError(message);
|
|
@@ -993,6 +992,11 @@ function randomStringBuilder(length, letters = false, numbers = false, symbols =
|
|
|
993
992
|
return c;
|
|
994
993
|
}).join("");
|
|
995
994
|
}
|
|
995
|
+
function strSplice(str, start, deleteCount, insert = "") {
|
|
996
|
+
const before = str.slice(0, start);
|
|
997
|
+
const after = str.slice(start + deleteCount);
|
|
998
|
+
return before + insert + after;
|
|
999
|
+
}
|
|
996
1000
|
function matchAll(value, regex) {
|
|
997
1001
|
if (typeof regex === "string") {
|
|
998
1002
|
regex = new RegExp(regex, "g");
|
|
@@ -1316,14 +1320,153 @@ class PathEventEmitter {
|
|
|
1316
1320
|
emitter.on("*", (event, ...args) => this.emit(event, ...args));
|
|
1317
1321
|
}
|
|
1318
1322
|
}
|
|
1319
|
-
function
|
|
1323
|
+
function adjustedInterval(cb, ms) {
|
|
1324
|
+
let cancel = false, timeout = null;
|
|
1325
|
+
const p = async () => {
|
|
1326
|
+
if (cancel) return;
|
|
1327
|
+
const start = (/* @__PURE__ */ new Date()).getTime();
|
|
1328
|
+
await cb();
|
|
1329
|
+
const end = (/* @__PURE__ */ new Date()).getTime();
|
|
1330
|
+
timeout = setTimeout(() => p(), ms - (end - start) || 1);
|
|
1331
|
+
};
|
|
1332
|
+
p();
|
|
1333
|
+
return () => {
|
|
1334
|
+
cancel = true;
|
|
1335
|
+
if (timeout) clearTimeout(timeout);
|
|
1336
|
+
};
|
|
1337
|
+
}
|
|
1338
|
+
function formatDate(date, format = "YYYY-MM-DD H:mm ") {
|
|
1320
1339
|
if (typeof date == "number" || typeof date == "string") date = new Date(date);
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1340
|
+
function day(num) {
|
|
1341
|
+
switch (num) {
|
|
1342
|
+
case 0:
|
|
1343
|
+
return "Sunday";
|
|
1344
|
+
case 1:
|
|
1345
|
+
return "Monday";
|
|
1346
|
+
case 2:
|
|
1347
|
+
return "Tuesday";
|
|
1348
|
+
case 3:
|
|
1349
|
+
return "Wednesday";
|
|
1350
|
+
case 4:
|
|
1351
|
+
return "Thursday";
|
|
1352
|
+
case 5:
|
|
1353
|
+
return "Friday";
|
|
1354
|
+
case 6:
|
|
1355
|
+
return "Saturday";
|
|
1356
|
+
default:
|
|
1357
|
+
return "Unknown";
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
function doy(date2) {
|
|
1361
|
+
const start = /* @__PURE__ */ new Date(`${date2.getFullYear()}-01-01 0:00:00`);
|
|
1362
|
+
return Math.ceil((date2.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24));
|
|
1363
|
+
}
|
|
1364
|
+
function month(num) {
|
|
1365
|
+
switch (num) {
|
|
1366
|
+
case 0:
|
|
1367
|
+
return "January";
|
|
1368
|
+
case 1:
|
|
1369
|
+
return "February";
|
|
1370
|
+
case 2:
|
|
1371
|
+
return "March";
|
|
1372
|
+
case 3:
|
|
1373
|
+
return "April";
|
|
1374
|
+
case 4:
|
|
1375
|
+
return "May";
|
|
1376
|
+
case 5:
|
|
1377
|
+
return "June";
|
|
1378
|
+
case 6:
|
|
1379
|
+
return "July";
|
|
1380
|
+
case 7:
|
|
1381
|
+
return "August";
|
|
1382
|
+
case 8:
|
|
1383
|
+
return "September";
|
|
1384
|
+
case 9:
|
|
1385
|
+
return "October";
|
|
1386
|
+
case 10:
|
|
1387
|
+
return "November";
|
|
1388
|
+
case 11:
|
|
1389
|
+
return "December";
|
|
1390
|
+
default:
|
|
1391
|
+
return "Unknown";
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
function suffix(num) {
|
|
1395
|
+
let n = num.toString();
|
|
1396
|
+
switch (n.at(-1)) {
|
|
1397
|
+
case "1":
|
|
1398
|
+
return num + "st";
|
|
1399
|
+
case "2":
|
|
1400
|
+
return num + "nd";
|
|
1401
|
+
case "3":
|
|
1402
|
+
return num + "rd";
|
|
1403
|
+
default:
|
|
1404
|
+
return num + "th";
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
function tzOffset(offset) {
|
|
1408
|
+
const hours = ~~(offset / 60);
|
|
1409
|
+
const minutes = offset % 60;
|
|
1410
|
+
return (offset > 0 ? "-" : "") + `${hours}:${minutes.toString().padStart(2, "0")}`;
|
|
1411
|
+
}
|
|
1412
|
+
function timezone(offset) {
|
|
1413
|
+
const hours = offset / 60;
|
|
1414
|
+
switch (hours) {
|
|
1415
|
+
case -12:
|
|
1416
|
+
return "IDLW";
|
|
1417
|
+
case -11:
|
|
1418
|
+
return "SST";
|
|
1419
|
+
case -10:
|
|
1420
|
+
return "HST";
|
|
1421
|
+
case -9:
|
|
1422
|
+
return "AKST";
|
|
1423
|
+
case -8:
|
|
1424
|
+
return "PST";
|
|
1425
|
+
case -7:
|
|
1426
|
+
return "MST";
|
|
1427
|
+
case -6:
|
|
1428
|
+
return "CST";
|
|
1429
|
+
case -5:
|
|
1430
|
+
return "EST";
|
|
1431
|
+
case -4:
|
|
1432
|
+
return "AST";
|
|
1433
|
+
case -3:
|
|
1434
|
+
return "ART";
|
|
1435
|
+
case -2:
|
|
1436
|
+
return "FNT";
|
|
1437
|
+
case -1:
|
|
1438
|
+
return "AZOT";
|
|
1439
|
+
case 0:
|
|
1440
|
+
return "UTC";
|
|
1441
|
+
case 1:
|
|
1442
|
+
return "CET";
|
|
1443
|
+
case 2:
|
|
1444
|
+
return "EET";
|
|
1445
|
+
case 3:
|
|
1446
|
+
return "MSK";
|
|
1447
|
+
case 4:
|
|
1448
|
+
return "SAMT";
|
|
1449
|
+
case 5:
|
|
1450
|
+
return "YEKT";
|
|
1451
|
+
case 6:
|
|
1452
|
+
return "OMST";
|
|
1453
|
+
case 7:
|
|
1454
|
+
return "KRAT";
|
|
1455
|
+
case 8:
|
|
1456
|
+
return "CST";
|
|
1457
|
+
case 9:
|
|
1458
|
+
return "JST";
|
|
1459
|
+
case 10:
|
|
1460
|
+
return "AEST";
|
|
1461
|
+
case 11:
|
|
1462
|
+
return "SBT";
|
|
1463
|
+
case 12:
|
|
1464
|
+
return "NZST";
|
|
1465
|
+
default:
|
|
1466
|
+
return "";
|
|
1467
|
+
}
|
|
1468
|
+
}
|
|
1469
|
+
return format.replaceAll("YYYY", date.getFullYear().toString()).replaceAll("YY", date.getFullYear().toString().slice(2)).replaceAll("MMMM", month(date.getMonth())).replaceAll("MMM", month(date.getMonth()).slice(0, 2)).replaceAll("MM", (date.getMonth() + 1).toString().padStart(2, "0")).replaceAll("M", (date.getMonth() + 1).toString()).replaceAll("DDD", doy(date).toString()).replaceAll("DD", date.getDate().toString().padStart(2, "0")).replaceAll("Do", suffix(date.getDate())).replaceAll("D", date.getDate().toString()).replaceAll("dddd", day(date.getDay())).replaceAll("ddd", day(date.getDay()).slice(0, 2)).replaceAll("dd", date.getDate().toString().padStart(2, "0")).replaceAll("d", date.getDay().toString()).replaceAll("HH", date.getHours().toString().padStart(2, "0")).replaceAll("H", date.getHours().toString()).replaceAll("hh", (date.getHours() > 12 ? date.getHours() - 12 : date.getHours()).toString().padStart(2, "0")).replaceAll("h", (date.getHours() > 12 ? date.getHours() - 12 : date.getHours()).toString()).replaceAll("mm", date.getMinutes().toString().padStart(2, "0")).replaceAll("m", date.getMinutes().toString()).replaceAll("ss", date.getSeconds().toString().padStart(2, "0")).replaceAll("s", date.getSeconds().toString()).replaceAll("SSS", date.getMilliseconds().toString()).replaceAll("SS", date.getMilliseconds().toString().slice(0, 1)).replaceAll("S", date.getMilliseconds().toString()[0]).replaceAll("A", date.getHours() >= 12 ? "PM" : "AM").replaceAll("a", date.getHours() >= 12 ? "pm" : "am").replaceAll("ZZ", tzOffset(date.getTimezoneOffset()).replace(":", "")).replaceAll("Z", tzOffset(date.getTimezoneOffset())).replaceAll("z", timezone(date.getTimezoneOffset()));
|
|
1327
1470
|
}
|
|
1328
1471
|
function sleep(ms) {
|
|
1329
1472
|
return new Promise((res) => setTimeout(res, ms));
|
|
@@ -1369,6 +1512,7 @@ export {
|
|
|
1369
1512
|
TypedEmitter,
|
|
1370
1513
|
UnauthorizedError,
|
|
1371
1514
|
addUnique,
|
|
1515
|
+
adjustedInterval,
|
|
1372
1516
|
arrayDiff,
|
|
1373
1517
|
caseInsensitiveSort,
|
|
1374
1518
|
clean,
|
|
@@ -1409,6 +1553,7 @@ export {
|
|
|
1409
1553
|
sleep,
|
|
1410
1554
|
sleepWhile,
|
|
1411
1555
|
sortByProp,
|
|
1556
|
+
strSplice,
|
|
1412
1557
|
timeUntil,
|
|
1413
1558
|
timestampFilename,
|
|
1414
1559
|
tyoeKeys,
|