@giveback007/util-lib 0.22.5 → 0.23.1
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/array.js +9 -9
- package/dist/array.js.map +1 -1
- package/dist/general.d.ts +6 -1
- package/dist/general.js +27 -12
- package/dist/general.js.map +1 -1
- package/dist/iterate.js +3 -3
- package/dist/iterate.js.map +1 -1
- package/dist/node/file-systems.js +1 -1
- package/dist/node/file-systems.js.map +1 -1
- package/dist/number.js +3 -3
- package/dist/number.js.map +1 -1
- package/dist/object.d.ts +4 -4
- package/dist/object.js +3 -3
- package/dist/object.js.map +1 -1
- package/dist/test.d.ts +4 -1
- package/dist/test.js +14 -8
- package/dist/test.js.map +1 -1
- package/dist/time.d.ts +23 -5
- package/dist/time.js +71 -43
- package/dist/time.js.map +1 -1
- package/package.json +1 -1
- package/src/general.ts +20 -5
- package/src/object.ts +2 -2
- package/src/test.ts +7 -1
- package/src/time.ts +76 -45
package/dist/array.js
CHANGED
|
@@ -16,8 +16,8 @@ exports.arrGen = arrGen;
|
|
|
16
16
|
*/
|
|
17
17
|
function arrRemoveById(arr, idArr, idKey = 'id') {
|
|
18
18
|
const objDict = arrToDict(arr, idKey);
|
|
19
|
-
const keep =
|
|
20
|
-
return
|
|
19
|
+
const keep = _1.objRemoveKeys(objDict, idArr);
|
|
20
|
+
return _1.objVals(keep);
|
|
21
21
|
}
|
|
22
22
|
exports.arrRemoveById = arrRemoveById;
|
|
23
23
|
/**
|
|
@@ -41,7 +41,7 @@ exports.arrGetByIds = arrGetByIds;
|
|
|
41
41
|
*/
|
|
42
42
|
function arrDivide(arr, maxRowLength) {
|
|
43
43
|
const rows = Math.ceil(arr.length / maxRowLength);
|
|
44
|
-
const newArr =
|
|
44
|
+
const newArr = exports.arrGen(rows).map(() => []);
|
|
45
45
|
arr.forEach((x, i) => newArr[Math.floor(i / maxRowLength)].push(x));
|
|
46
46
|
return newArr;
|
|
47
47
|
}
|
|
@@ -57,14 +57,14 @@ exports.arrFlatten = arrFlatten;
|
|
|
57
57
|
* //=> [1, 1.1, 2, 3, 4, 5]
|
|
58
58
|
* ```
|
|
59
59
|
*/
|
|
60
|
-
const arrDeepFlatten = (arr) => arr.reduce((newArr, x) => newArr.concat(
|
|
60
|
+
const arrDeepFlatten = (arr) => arr.reduce((newArr, x) => newArr.concat(_1.isType(x, 'array') ? exports.arrDeepFlatten(x) : x), []);
|
|
61
61
|
exports.arrDeepFlatten = arrDeepFlatten;
|
|
62
62
|
function arrReplace(arr) {
|
|
63
63
|
const newArr = [...arr];
|
|
64
64
|
return {
|
|
65
65
|
all: (item) => {
|
|
66
66
|
const idxs = [];
|
|
67
|
-
arr.forEach((match, i) =>
|
|
67
|
+
arr.forEach((match, i) => _1.equal(item, match) ? idxs[i] = (i) : null);
|
|
68
68
|
return {
|
|
69
69
|
with: (newItem) => {
|
|
70
70
|
if (!idxs.length)
|
|
@@ -75,10 +75,10 @@ function arrReplace(arr) {
|
|
|
75
75
|
};
|
|
76
76
|
},
|
|
77
77
|
first: (item) => {
|
|
78
|
-
const idx = arr.findIndex((match) =>
|
|
78
|
+
const idx = arr.findIndex((match) => _1.equal(item, match));
|
|
79
79
|
return {
|
|
80
80
|
with: (newItem) => {
|
|
81
|
-
if (
|
|
81
|
+
if (_1.nonValue(idx))
|
|
82
82
|
return arr;
|
|
83
83
|
newArr[idx] = newItem;
|
|
84
84
|
return newArr;
|
|
@@ -90,7 +90,7 @@ function arrReplace(arr) {
|
|
|
90
90
|
exports.arrReplace = arrReplace;
|
|
91
91
|
function arrRemoveValues(arr, valsToRemove) {
|
|
92
92
|
let newArr = [...arr];
|
|
93
|
-
valsToRemove.forEach(removeVal => newArr = newArr.filter(x => !
|
|
93
|
+
valsToRemove.forEach(removeVal => newArr = newArr.filter(x => !_1.equal(x, removeVal)));
|
|
94
94
|
return newArr;
|
|
95
95
|
}
|
|
96
96
|
exports.arrRemoveValues = arrRemoveValues;
|
|
@@ -122,7 +122,7 @@ exports.arrLast = arrLast;
|
|
|
122
122
|
*/
|
|
123
123
|
function arrHas(arr, find, equivalent = false) {
|
|
124
124
|
const fct = equivalent ?
|
|
125
|
-
(x) =>
|
|
125
|
+
(x) => _1.equal(x, find) : (x) => x === find;
|
|
126
126
|
return arr.findIndex(fct) !== -1;
|
|
127
127
|
}
|
|
128
128
|
exports.arrHas = arrHas;
|
package/dist/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":";;;AACA,wBAEW;AAEX,wCAAwC;AACjC,MAAM,MAAM,GAAG,CAAU,MAAc,EAAO,EAAE,CACnD,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AADhB,QAAA,MAAM,UACU;AAE7B;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAE3B,GAAQ,EAAE,KAAe,EAAE,QAAiB,IAAI;IAE9C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,MAAM,IAAI,GAAY,
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
|
package/dist/general.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare const interval: (funct: (i: number) => any, ms: number, times?: n
|
|
|
11
11
|
};
|
|
12
12
|
/** A promise that waits `ms` amount of milliseconds to execute */
|
|
13
13
|
export declare const wait: (ms: number) => Promise<void>;
|
|
14
|
-
export declare function unsubAll(objOrArr: AnyObj | any[]): void;
|
|
14
|
+
export declare function unsubAll(objOrArr: AnyObj | any[], unsubName?: string): void;
|
|
15
15
|
/**
|
|
16
16
|
* Alternative to console.log in that it will clone the obj.
|
|
17
17
|
*
|
|
@@ -24,3 +24,8 @@ export declare function type(val: any): JsType;
|
|
|
24
24
|
export declare function assertType<T extends JsType>(val: any, types: T | T[]): asserts val is T;
|
|
25
25
|
export declare const uiid: () => string;
|
|
26
26
|
export declare const randomColorHex: () => string;
|
|
27
|
+
export declare function debounceTimeOut(): (fct: Function, ms: number) => void;
|
|
28
|
+
export declare function promiseOut<T = any>(): {
|
|
29
|
+
resolve: (value: T) => void;
|
|
30
|
+
promise: Promise<unknown>;
|
|
31
|
+
};
|
package/dist/general.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.randomColorHex = exports.uiid = exports.assertType = exports.type = exports.cloneLog = exports.unsubAll = exports.wait = exports.interval = void 0;
|
|
3
|
+
exports.promiseOut = exports.debounceTimeOut = exports.randomColorHex = exports.uiid = exports.assertType = exports.type = exports.cloneLog = exports.unsubAll = exports.wait = exports.interval = void 0;
|
|
4
4
|
const _1 = require(".");
|
|
5
5
|
/**
|
|
6
6
|
* @example
|
|
@@ -10,7 +10,7 @@ const _1 = require(".");
|
|
|
10
10
|
* ```
|
|
11
11
|
*/
|
|
12
12
|
const interval = (funct, ms, times) => {
|
|
13
|
-
if (
|
|
13
|
+
if (_1.isType(times, 'number') && times < 1)
|
|
14
14
|
throw Error('argument "times" can\'t be less than 1');
|
|
15
15
|
let i = 0;
|
|
16
16
|
const intv = setInterval(() => {
|
|
@@ -25,14 +25,14 @@ exports.interval = interval;
|
|
|
25
25
|
/** A promise that waits `ms` amount of milliseconds to execute */
|
|
26
26
|
const wait = (ms) => new Promise((res) => setTimeout(() => res(), ms));
|
|
27
27
|
exports.wait = wait;
|
|
28
|
-
const usubAllFunct = (x) =>
|
|
28
|
+
const usubAllFunct = (x, unsubName = 'unsubscribe') => _1.isType(x, 'object')
|
|
29
29
|
&&
|
|
30
|
-
|
|
31
|
-
function unsubAll(objOrArr) {
|
|
32
|
-
if (
|
|
33
|
-
objOrArr.forEach(x => usubAllFunct(x));
|
|
34
|
-
else if (
|
|
35
|
-
|
|
30
|
+
_1.hasKey(x, unsubName) ? x[unsubName]() : null;
|
|
31
|
+
function unsubAll(objOrArr, unsubName = 'unsubscribe') {
|
|
32
|
+
if (_1.isType(objOrArr, 'array'))
|
|
33
|
+
objOrArr.forEach(x => usubAllFunct(x, unsubName));
|
|
34
|
+
else if (_1.isType(objOrArr, 'object'))
|
|
35
|
+
_1.objMap(objOrArr, ({ val }) => usubAllFunct(val, unsubName));
|
|
36
36
|
else
|
|
37
37
|
throw Error('argument "objOrArr" must be of type "object" or "array"');
|
|
38
38
|
}
|
|
@@ -43,7 +43,7 @@ exports.unsubAll = unsubAll;
|
|
|
43
43
|
* Useful for when it is need to see the object in a specific
|
|
44
44
|
* state instance.
|
|
45
45
|
*/
|
|
46
|
-
const cloneLog = (x) => console.log(
|
|
46
|
+
const cloneLog = (x) => console.log(_1.clone(x));
|
|
47
47
|
exports.cloneLog = cloneLog;
|
|
48
48
|
/** An improved version of native `typeof` */
|
|
49
49
|
function type(val) {
|
|
@@ -65,10 +65,10 @@ function type(val) {
|
|
|
65
65
|
exports.type = type;
|
|
66
66
|
// https://httptoolkit.tech/blog/5-big-features-of-typescript-3.7#assert-signatures
|
|
67
67
|
function assertType(val, types) {
|
|
68
|
-
if (!
|
|
68
|
+
if (!_1.isType(types, 'array'))
|
|
69
69
|
types = [types];
|
|
70
70
|
for (const t of types)
|
|
71
|
-
if (
|
|
71
|
+
if (_1.isType(val, t))
|
|
72
72
|
return;
|
|
73
73
|
throw Error(`value needs to be of type ${types.join(' || ')}`);
|
|
74
74
|
}
|
|
@@ -109,4 +109,19 @@ exports.randomColorHex = randomColorHex;
|
|
|
109
109
|
// // tslint:disable-next-line: no-eval
|
|
110
110
|
// return eval(start + ' =>' + end);
|
|
111
111
|
// }
|
|
112
|
+
function debounceTimeOut() {
|
|
113
|
+
let timeoutId = null;
|
|
114
|
+
return (fct, ms) => {
|
|
115
|
+
if (timeoutId)
|
|
116
|
+
clearTimeout(timeoutId);
|
|
117
|
+
timeoutId = setTimeout(fct, ms);
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
exports.debounceTimeOut = debounceTimeOut;
|
|
121
|
+
function promiseOut() {
|
|
122
|
+
let resolve;
|
|
123
|
+
const promise = new Promise((res) => resolve = res);
|
|
124
|
+
return { resolve: resolve, promise };
|
|
125
|
+
}
|
|
126
|
+
exports.promiseOut = promiseOut;
|
|
112
127
|
//# sourceMappingURL=general.js.map
|
package/dist/general.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","sourceRoot":"","sources":["../src/general.ts"],"names":[],"mappings":";;;AAEA,wBAAkD;AAElD;;;;;;GAMG;AACI,MAAM,QAAQ,GAAG,CACpB,KAAyB,EACzB,EAAU,EACV,KAAc,EAChB,EAAE;IACA,IAAI,
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../src/general.ts"],"names":[],"mappings":";;;AAEA,wBAAkD;AAElD;;;;;;GAMG;AACI,MAAM,QAAQ,GAAG,CACpB,KAAyB,EACzB,EAAU,EACV,KAAc,EAChB,EAAE;IACA,IAAI,SAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC;QACpC,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAE1D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1B,KAAK,CAAC,CAAC,CAAC,CAAC;QACT,CAAC,EAAE,CAAC;QAEJ,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC,CAAA;AAjBY,QAAA,QAAQ,YAiBpB;AAED,kEAAkE;AAC3D,MAAM,IAAI,GAAG,CAAC,EAAU,EAAiB,EAAE,CAC9C,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AADzC,QAAA,IAAI,QACqC;AAEtD,MAAM,YAAY,GAAG,CAAC,CAAM,EAAE,SAAS,GAAG,aAAa,EAAE,EAAE,CACvD,SAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;;QAEnB,SAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjD,SAAgB,QAAQ,CAAC,QAAwB,EAAE,SAAS,GAAG,aAAa;IACxE,IAAI,SAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;SACjD,IAAI,SAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC/B,SAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;;QAE5D,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAC/E,CAAC;AAPD,4BAOC;AAED;;;;;GAKG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAA7C,QAAA,QAAQ,YAAqC;AAE1D,6CAA6C;AAC7C,SAAgB,IAAI,CAAC,GAAQ;IAEzB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;aAClC,IAAI,GAAG,KAAK,IAAI;YAAG,OAAO,MAAM,CAAC;;YACd,OAAO,QAAQ,CAAC;KAC3C;SAAM;QACH,IAAI,GAAG,KAAK,GAAG;YAAS,OAAO,KAAK,CAAC;;YACb,OAAO,OAAO,GAAG,CAAC;KAC7C;AACL,CAAC;AAVD,oBAUC;AAED,mFAAmF;AACnF,SAAgB,UAAU,CACtB,GAAQ,EACR,KAAc;IAEd,IAAI,CAAC,SAAM,CAAC,KAAK,EAAE,OAAO,CAAC;QAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,IAAI,SAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAAE,OAAO;IAElD,MAAM,KAAK,CAAC,6BAA6B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAClE,CAAC;AARD,gCAQC;AAEM,MAAM,IAAI,GAAG,GAAG,EAAE;IAErB,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,EAAE,GAAG,CACL,WAAW;;YAEX,WAAW,CAAC,GAAG;;YAEf,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAC7B,IAAI,CAAC,CAAC;IAEP,MAAM,GAAG,GAAG,sCAAsC,CAAC;IACnD,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,EAAE;YACP,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAC,EAAE,GAAG,CAAC,CAAC;YACnB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAC,EAAE,CAAC,CAAC;SACxB;aAAM;YACH,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAC,EAAE,GAAG,CAAC,CAAC;YACpB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAC,EAAE,CAAC,CAAC;SAC1B;QAED,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACP,CAAC,CAAA;AAxBY,QAAA,IAAI,QAwBhB;AAEM,MAAM,cAAc,GAAG,GAAG,EAAE,CAC/B,GAAG,GAAG,CAAC,CAAC,CAAC,IAAE,EAAE,CAAC,GAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AADtC,QAAA,cAAc,kBACwB;AAEnD,wCAAwC;AACxC,mBAAmB;AACnB,mCAAmC;AACnC,mDAAmD;AAEnD,mCAAmC;AACnC,2CAA2C;AAC3C,+CAA+C;AAC/C,oDAAoD;AACpD,+CAA+C;AAE/C,2CAA2C;AAC3C,wCAAwC;AACxC,IAAI;AAEJ,SAAgB,eAAe;IAC3B,IAAI,SAAS,GAAyC,IAAI,CAAC;IAC3D,OAAO,CAAC,GAAa,EAAE,EAAU,EAAE,EAAE;QACjC,IAAI,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAQ,CAAC;IAC3C,CAAC,CAAA;AACL,CAAC;AAND,0CAMC;AAED,SAAgB,UAAU;IACtB,IAAI,OAAY,CAAC;IACjB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;IACpD,OAAO,EAAE,OAAO,EAAE,OAA6B,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC;AAJD,gCAIC"}
|
package/dist/iterate.js
CHANGED
|
@@ -25,11 +25,11 @@ function iterate(xLength, yLength, zLength) {
|
|
|
25
25
|
if (!nested)
|
|
26
26
|
return arr;
|
|
27
27
|
if (zLength && yLength) {
|
|
28
|
-
const newArr =
|
|
29
|
-
return newArr.map((yArr) =>
|
|
28
|
+
const newArr = array_1.arrDivide(arr, yLength * zLength);
|
|
29
|
+
return newArr.map((yArr) => array_1.arrDivide(yArr, zLength));
|
|
30
30
|
}
|
|
31
31
|
else if (yLength) {
|
|
32
|
-
return
|
|
32
|
+
return array_1.arrDivide(arr, yLength);
|
|
33
33
|
}
|
|
34
34
|
else {
|
|
35
35
|
return arr;
|
package/dist/iterate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../src/iterate.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AA0CpC,SAAgB,OAAO,CACnB,OAAe,EAAE,OAAgB,EAAE,OAAgB;IAEnD,MAAM,QAAQ,GAAG,CAAI,GACO,EAAE,MAAM,GAAG,KAAK,EAC1C,EAAE;QACA,MAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,aAAa;QACb,iDAAiD;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,aAAa;;gBACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,CAAC,OAAO;wBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEtC,aAAa;;wBACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;4BACnC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC9B;iBACJ;SACJ;QAED,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC;QAExB,IAAI,OAAO,IAAI,OAAO,EAAE;YACpB,MAAM,MAAM,GAAI,
|
|
1
|
+
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../src/iterate.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AA0CpC,SAAgB,OAAO,CACnB,OAAe,EAAE,OAAgB,EAAE,OAAgB;IAEnD,MAAM,QAAQ,GAAG,CAAI,GACO,EAAE,MAAM,GAAG,KAAK,EAC1C,EAAE;QACA,MAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,aAAa;QACb,iDAAiD;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,aAAa;;gBACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,CAAC,OAAO;wBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEtC,aAAa;;wBACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;4BACnC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC9B;iBACJ;SACJ;QAED,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC;QAExB,IAAI,OAAO,IAAI,OAAO,EAAE;YACpB,MAAM,MAAM,GAAI,iBAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;SACxD;aAAM,IAAI,OAAO,EAAE;YAChB,OAAO,iBAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SAClC;aAAM;YACH,OAAO,GAAG,CAAC;SACd;IACL,CAAC,CAAC;IAEF,OAAO;QACH,GAAG,EAAE,CAAC,GAAuB,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEpD,GAAG,EAAE,CAAI,GAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAQ;QAEvD,SAAS,EAAE,CAAI,GAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;KAC/D,CAAC;AACN,CAAC;AA3CD,0BA2CC"}
|
|
@@ -8,7 +8,7 @@ const deleteFile = (path) => {
|
|
|
8
8
|
if (!fs.lstatSync(path).isDirectory())
|
|
9
9
|
return fs.unlinkSync(path);
|
|
10
10
|
else
|
|
11
|
-
fs.readdirSync(path).forEach((file) =>
|
|
11
|
+
fs.readdirSync(path).forEach((file) => exports.deleteFile(fsPath.join(path, file)));
|
|
12
12
|
fs.rmdirSync(path);
|
|
13
13
|
}
|
|
14
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-systems.js","sourceRoot":"","sources":["../../src/node/file-systems.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,+BAA+B;AAExB,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IAEzC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;;YAE3B,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,
|
|
1
|
+
{"version":3,"file":"file-systems.js","sourceRoot":"","sources":["../../src/node/file-systems.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,+BAA+B;AAExB,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IAEzC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACvB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;;YAE3B,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,kBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACpC,CAAC;QAEJ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KACpB;AACH,CAAC,CAAA;AAZY,QAAA,UAAU,cAYtB"}
|
package/dist/number.js
CHANGED
|
@@ -40,10 +40,10 @@ exports.numberWithCommas = numberWithCommas;
|
|
|
40
40
|
function newNumFromRange(prevNum, min, max) {
|
|
41
41
|
let num;
|
|
42
42
|
let loop = 0;
|
|
43
|
-
const dict =
|
|
44
|
-
|
|
43
|
+
const dict = _1.isType(prevNum, 'array') ?
|
|
44
|
+
_1.arrToBoolDict(prevNum) : { [prevNum]: true };
|
|
45
45
|
do {
|
|
46
|
-
num =
|
|
46
|
+
num = exports.rand(min, max);
|
|
47
47
|
loop++;
|
|
48
48
|
if (loop > 1000000) {
|
|
49
49
|
console.error('Check for infinite loops');
|
package/dist/number.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sourceRoot":"","sources":["../src/number.ts"],"names":[],"mappings":";;;AACA,wBAA0C;AAE1C;;;;;;GAMG;AACI,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAD3C,QAAA,IAAI,QACuC;AAExD,sDAAsD;AAC/C,MAAM,OAAO,GAAG,CAAC,IAAc,EAAE,EAAE,CACtC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAD7C,QAAA,OAAO,WACsC;AAE1D;;;;;;;;GAQG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,MAAc,EAAE,EAAE,CAClD,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AADrB,QAAA,QAAQ,YACa;AAElC;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,CAAkB,EAAE,EAAE,CACnD,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAD1C,QAAA,gBAAgB,oBAC0B;AAEvD;;;GAGG;AACH,SAAgB,eAAe,CAC3B,OAA0B,EAAE,GAAW,EAAE,GAAW;IAEpD,IAAI,GAAG,CAAC;IACR,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,IAAI,GAAkB,
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../src/number.ts"],"names":[],"mappings":";;;AACA,wBAA0C;AAE1C;;;;;;GAMG;AACI,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAD3C,QAAA,IAAI,QACuC;AAExD,sDAAsD;AAC/C,MAAM,OAAO,GAAG,CAAC,IAAc,EAAE,EAAE,CACtC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAD7C,QAAA,OAAO,WACsC;AAE1D;;;;;;;;GAQG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,MAAc,EAAE,EAAE,CAClD,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AADrB,QAAA,QAAQ,YACa;AAElC;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,CAAkB,EAAE,EAAE,CACnD,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAD1C,QAAA,gBAAgB,oBAC0B;AAEvD;;;GAGG;AACH,SAAgB,eAAe,CAC3B,OAA0B,EAAE,GAAW,EAAE,GAAW;IAEpD,IAAI,GAAG,CAAC;IACR,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,IAAI,GAAkB,SAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,gBAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IAEjD,GAAG;QACC,GAAG,GAAG,YAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrB,IAAI,EAAE,CAAC;QAEP,IAAI,IAAI,GAAG,OAAS,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC7C;KACJ,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE;IAEpB,OAAO,GAAG,CAAC;AACf,CAAC;AAnBD,0CAmBC"}
|
package/dist/object.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { StrKeys, ResolvedValue, Dict, AnyObj } from '.';
|
|
2
2
|
/** Maps over an object just as a [ ].map would on an array */
|
|
3
3
|
export declare function objMap<T, O extends {}>(o: O, funct: (keyVal: {
|
|
4
4
|
key: StrKeys<O>;
|
|
@@ -13,7 +13,7 @@ export declare function objFilter<O extends {}>(o: O, funct: (keyVal: {
|
|
|
13
13
|
* Removes all keys from object in the `filterOut` array.
|
|
14
14
|
* The original object is not mutated.
|
|
15
15
|
*/
|
|
16
|
-
export declare function objRemoveKeys<T extends {}, K extends keyof T>(obj: T, filterOut: K[]):
|
|
16
|
+
export declare function objRemoveKeys<T extends {}, K extends keyof T>(obj: T, filterOut: K[]): Pick<T, Exclude<keyof T, K>>;
|
|
17
17
|
export declare function objKeys<T extends {}>(o: T): StrKeys<T>[];
|
|
18
18
|
export declare const objVals: <T = any>(o: {
|
|
19
19
|
[key: string]: T;
|
|
@@ -43,7 +43,7 @@ export declare const objResolve: (o: AnyObj, path: string) => any;
|
|
|
43
43
|
export declare const objSortKeys: <T extends {}>(o: T, compareFn?: ((a: keyof T, b: keyof T) => number) | undefined) => T;
|
|
44
44
|
/**
|
|
45
45
|
* Takes a dictionary/object made of Promises and Observables and
|
|
46
|
-
* extracts all values. This function will
|
|
47
|
-
* Observable/Promise
|
|
46
|
+
* extracts all values. This function will return resolved values from all
|
|
47
|
+
* Observable/Promise on the obj when all promises on object resolve.
|
|
48
48
|
*/
|
|
49
49
|
export declare function objPromiseAll<T extends Dict<Promise<any>>>(obj: T): Promise<{ [P in keyof T]: ResolvedValue<T[P]>; }>;
|
package/dist/object.js
CHANGED
|
@@ -74,11 +74,11 @@ const objSortKeys = (o, compareFn) => {
|
|
|
74
74
|
exports.objSortKeys = objSortKeys;
|
|
75
75
|
/**
|
|
76
76
|
* Takes a dictionary/object made of Promises and Observables and
|
|
77
|
-
* extracts all values. This function will
|
|
78
|
-
* Observable/Promise
|
|
77
|
+
* extracts all values. This function will return resolved values from all
|
|
78
|
+
* Observable/Promise on the obj when all promises on object resolve.
|
|
79
79
|
*/
|
|
80
80
|
function objPromiseAll(obj) {
|
|
81
|
-
const keyValues =
|
|
81
|
+
const keyValues = exports.objKeyVals(obj);
|
|
82
82
|
const toEqual = keyValues.length;
|
|
83
83
|
const values = {};
|
|
84
84
|
let total = 0;
|
package/dist/object.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"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"}
|
package/dist/test.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { JsType } from '.';
|
|
2
2
|
import { JsTypeFind } from '.';
|
|
3
|
+
/** Check if `x` is equal to any of the values in the array. */
|
|
4
|
+
export declare const equalAny: (x: any, equals: any[]) => boolean;
|
|
3
5
|
/**
|
|
4
6
|
* Checks if object has the key, made as a function for type transfer.
|
|
5
7
|
*
|
|
@@ -36,3 +38,4 @@ export declare const isType: <T extends JsType>(val: any, testType: T) => val is
|
|
|
36
38
|
export declare function nullOrEmpty(x: any): boolean;
|
|
37
39
|
/** val `is` (null || undefined) */
|
|
38
40
|
export declare const nonValue: (val: any) => val is null | undefined;
|
|
41
|
+
export declare const isValidEmail: (email: string) => boolean;
|
package/dist/test.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nonValue = exports.nullOrEmpty = exports.isType = exports.hasKeys = exports.hasKey = void 0;
|
|
3
|
+
exports.isValidEmail = exports.nonValue = exports.nullOrEmpty = exports.isType = exports.hasKeys = exports.hasKey = exports.equalAny = void 0;
|
|
4
4
|
const _1 = require(".");
|
|
5
|
+
const _2 = require(".");
|
|
6
|
+
/** Check if `x` is equal to any of the values in the array. */
|
|
7
|
+
const equalAny = (x, equals) => !!equals.find((y) => _1.equal(x, y));
|
|
8
|
+
exports.equalAny = equalAny;
|
|
5
9
|
/**
|
|
6
10
|
* Checks if object has the key, made as a function for type transfer.
|
|
7
11
|
*
|
|
@@ -9,11 +13,11 @@ const _1 = require(".");
|
|
|
9
13
|
*
|
|
10
14
|
* https://stackoverflow.com/questions/13632999/if-key-in-object-or-ifobject-hasownpropertykey
|
|
11
15
|
*/
|
|
12
|
-
const hasKey = (obj, key) =>
|
|
16
|
+
const hasKey = (obj, key) => exports.isType(obj, 'object') && obj.hasOwnProperty(key);
|
|
13
17
|
exports.hasKey = hasKey;
|
|
14
18
|
/** Checks if object has keys from an array of keys, made as a function for type transfer */
|
|
15
19
|
function hasKeys(obj, keys) {
|
|
16
|
-
if (!
|
|
20
|
+
if (!exports.isType(obj, 'object'))
|
|
17
21
|
return false;
|
|
18
22
|
for (const key of keys)
|
|
19
23
|
if (!obj.hasOwnProperty(key))
|
|
@@ -34,7 +38,7 @@ exports.hasKeys = hasKeys;
|
|
|
34
38
|
* isType(null, 'undefined') //=> false
|
|
35
39
|
* ```
|
|
36
40
|
*/
|
|
37
|
-
const isType = (val, testType) =>
|
|
41
|
+
const isType = (val, testType) => _2.type(val) === testType;
|
|
38
42
|
exports.isType = isType;
|
|
39
43
|
/** any of the values in the first "example" return `true`
|
|
40
44
|
* @example
|
|
@@ -45,18 +49,20 @@ exports.isType = isType;
|
|
|
45
49
|
*/
|
|
46
50
|
function nullOrEmpty(x) {
|
|
47
51
|
// null || undefined
|
|
48
|
-
if (
|
|
52
|
+
if (exports.nonValue(x))
|
|
49
53
|
return true;
|
|
50
54
|
// (string || array).length === 0
|
|
51
|
-
if (
|
|
55
|
+
if (exports.isType(x, 'string') || exports.isType(x, 'array'))
|
|
52
56
|
return !x.length;
|
|
53
57
|
// object // { key: 'val' } => false, { } => true
|
|
54
|
-
if (
|
|
55
|
-
return !
|
|
58
|
+
if (exports.isType(x, 'object'))
|
|
59
|
+
return !_2.objVals(x).length;
|
|
56
60
|
return false;
|
|
57
61
|
}
|
|
58
62
|
exports.nullOrEmpty = nullOrEmpty;
|
|
59
63
|
/** val `is` (null || undefined) */
|
|
60
64
|
const nonValue = (val) => val === null || val === undefined;
|
|
61
65
|
exports.nonValue = nonValue;
|
|
66
|
+
const isValidEmail = (email) => /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email);
|
|
67
|
+
exports.isValidEmail = isValidEmail;
|
|
62
68
|
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;AAAA,wBAAkC;AAClC,wBAA8C;AAE9C,+DAA+D;AACxD,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,MAAa,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAAxE,QAAA,QAAQ,YAAgE;AAErF;;;;;;GAMG;AACI,MAAM,MAAM,GAAG,CAEpB,GAAQ,EAAE,GAAM,EAA4B,EAAE,CAC9C,cAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAHtC,QAAA,MAAM,UAGgC;AAEnD,4FAA4F;AAC5F,SAAgB,OAAO,CAErB,GAAQ,EAAE,IAAS;IACnB,IAAI,CAAC,cAAM,CAAC,GAAG,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,IAAI;QACpB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAE7C,OAAO,IAAI,CAAC;AACd,CAAC;AATD,0BASC;AAED;;;;;;;;;;;;GAYG;AACI,MAAM,MAAM,GAAG,CACpB,GAAQ,EAAE,QAAW,EACC,EAAE,CAAC,OAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC;AAFrC,QAAA,MAAM,UAE+B;AAElD;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,CAAM;IAEhC,oBAAoB;IACpB,IAAI,gBAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7B,iCAAiC;IACjC,IAAI,cAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,cAAM,CAAC,CAAC,EAAE,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhE,iDAAiD;IACjD,IAAI,cAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;QAAE,OAAO,CAAC,UAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnD,OAAO,KAAK,CAAC;AACf,CAAC;AAZD,kCAYC;AAED,mCAAmC;AAC5B,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAA6B,EAAE,CAC9D,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC;AADvB,QAAA,QAAQ,YACe;AAE7B,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAC5C,2JAA2J,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAD5J,QAAA,YAAY,gBACgJ"}
|
package/dist/time.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { MsTime } from '.';
|
|
2
2
|
export declare const msTime: MsTime;
|
|
3
|
+
export declare const weekTuple: readonly ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
|
|
3
4
|
/**
|
|
4
5
|
* Converts Date to time of day.
|
|
5
6
|
* Good for use in loging.
|
|
@@ -54,9 +55,26 @@ export declare const dys: (d: number) => number;
|
|
|
54
55
|
export declare const weeks: (w: number) => number;
|
|
55
56
|
/** Analog of weeks */
|
|
56
57
|
export declare const wks: (w: number) => number;
|
|
57
|
-
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
58
|
+
/** Gives the 'start' and 'end' of a day.
|
|
59
|
+
*
|
|
60
|
+
* Start of day is the first ms of the day
|
|
61
|
+
*
|
|
62
|
+
* End of day is the last ms of the day
|
|
60
63
|
*/
|
|
61
|
-
export declare
|
|
64
|
+
export declare function getDayStartEnd(t: number | Date, type?: 'unix' | 'local'): {
|
|
65
|
+
start: Date;
|
|
66
|
+
end: Date;
|
|
67
|
+
};
|
|
68
|
+
export declare function weekStartEnd(t: number | Date, weekStart?: 'sun' | 'mon', type?: 'unix' | 'local'): {
|
|
69
|
+
start: Date;
|
|
70
|
+
end: Date;
|
|
71
|
+
};
|
|
72
|
+
export declare function monthStartEnd(t: number | Date, type?: 'unix' | 'local'): {
|
|
73
|
+
start: Date;
|
|
74
|
+
end: Date;
|
|
75
|
+
};
|
|
76
|
+
export declare function yearStartEnd(t: number | Date, type?: 'unix' | 'local'): {
|
|
77
|
+
start: Date;
|
|
78
|
+
end: Date;
|
|
79
|
+
};
|
|
62
80
|
export {};
|
package/dist/time.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.yearStartEnd = exports.monthStartEnd = exports.weekStartEnd = exports.getDayStartEnd = exports.wks = exports.weeks = exports.dys = exports.days = exports.hrs = exports.hours = exports.min = exports.minutes = exports.sec = exports.seconds = exports.msToTime = exports.msToWks = exports.msToDys = exports.msToHrs = exports.msToMin = exports.msToSec = exports.dateTimeToString = exports.weekTuple = exports.msTime = void 0;
|
|
4
|
+
const _1 = require(".");
|
|
4
5
|
exports.msTime = {
|
|
5
6
|
s: 1000,
|
|
6
7
|
m: 60000,
|
|
@@ -8,6 +9,7 @@ exports.msTime = {
|
|
|
8
9
|
d: 86400000,
|
|
9
10
|
w: 604800000,
|
|
10
11
|
};
|
|
12
|
+
exports.weekTuple = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];
|
|
11
13
|
/**
|
|
12
14
|
* Converts Date to time of day.
|
|
13
15
|
* Good for use in loging.
|
|
@@ -80,47 +82,73 @@ const weeks = (w) => w * exports.msTime.w;
|
|
|
80
82
|
exports.weeks = weeks;
|
|
81
83
|
/** Analog of weeks */
|
|
82
84
|
exports.wks = exports.weeks;
|
|
83
|
-
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
85
|
+
/** Gives the 'start' and 'end' of a day.
|
|
86
|
+
*
|
|
87
|
+
* Start of day is the first ms of the day
|
|
88
|
+
*
|
|
89
|
+
* End of day is the last ms of the day
|
|
86
90
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
91
|
+
function getDayStartEnd(t, type = 'local') {
|
|
92
|
+
if (_1.isType(t, 'number'))
|
|
93
|
+
t = new Date(t);
|
|
94
|
+
const y = t.getFullYear();
|
|
95
|
+
const m = t.getMonth();
|
|
96
|
+
const d = t.getDate();
|
|
97
|
+
let start = new Date(y, m, d);
|
|
98
|
+
let end = new Date(y, m, d, 23, 59, 59, 999);
|
|
99
|
+
if (type === 'unix') {
|
|
100
|
+
const tzOffset = exports.min(start.getTimezoneOffset());
|
|
101
|
+
start = new Date(start.getTime() + tzOffset);
|
|
102
|
+
end = new Date(end.getTime() + tzOffset);
|
|
103
|
+
}
|
|
104
|
+
return { start, end };
|
|
105
|
+
}
|
|
106
|
+
exports.getDayStartEnd = getDayStartEnd;
|
|
107
|
+
function weekStartEnd(t, weekStart = 'sun', type = 'local') {
|
|
108
|
+
if (_1.isType(t, 'number'))
|
|
109
|
+
t = new Date(t);
|
|
110
|
+
const wd = t.getDay();
|
|
111
|
+
const startOffset = wd * -1 + (weekStart === 'mon' ? 1 : 0);
|
|
112
|
+
const endOffset = 6 + startOffset;
|
|
113
|
+
const s = new Date(t.getTime() + exports.days(startOffset));
|
|
114
|
+
const e = new Date(t.getTime() + exports.days(endOffset));
|
|
115
|
+
let start = new Date(s.getFullYear(), s.getMonth(), s.getDate());
|
|
116
|
+
let end = new Date(e.getFullYear(), e.getMonth(), e.getDate(), 23, 59, 59, 999);
|
|
117
|
+
if (type === 'unix') {
|
|
118
|
+
const tzOffset = exports.min(start.getTimezoneOffset());
|
|
119
|
+
start = new Date(start.getTime() + tzOffset);
|
|
120
|
+
end = new Date(end.getTime() + tzOffset);
|
|
121
|
+
}
|
|
122
|
+
return { start, end };
|
|
123
|
+
}
|
|
124
|
+
exports.weekStartEnd = weekStartEnd;
|
|
125
|
+
function monthStartEnd(t, type = 'local') {
|
|
126
|
+
if (_1.isType(t, 'number'))
|
|
127
|
+
t = new Date(t);
|
|
128
|
+
const y = t.getFullYear();
|
|
129
|
+
const m = t.getMonth();
|
|
130
|
+
let start = new Date(y, m, 1);
|
|
131
|
+
let end = new Date(y, m, 0, 23, 59, 59, 999);
|
|
132
|
+
if (type === 'unix') {
|
|
133
|
+
const tzOffset = exports.min(start.getTimezoneOffset());
|
|
134
|
+
start = new Date(start.getTime() + tzOffset);
|
|
135
|
+
end = new Date(end.getTime() + tzOffset);
|
|
136
|
+
}
|
|
137
|
+
return { start, end };
|
|
138
|
+
}
|
|
139
|
+
exports.monthStartEnd = monthStartEnd;
|
|
140
|
+
function yearStartEnd(t, type = 'local') {
|
|
141
|
+
if (_1.isType(t, 'number'))
|
|
142
|
+
t = new Date(t);
|
|
143
|
+
const y = t.getFullYear();
|
|
144
|
+
let start = new Date(y, 0, 1);
|
|
145
|
+
let end = new Date(y, 12, 0, 23, 59, 59, 999);
|
|
146
|
+
if (type === 'unix') {
|
|
147
|
+
const tzOffset = exports.min(start.getTimezoneOffset());
|
|
148
|
+
start = new Date(start.getTime() + tzOffset);
|
|
149
|
+
end = new Date(end.getTime() + tzOffset);
|
|
150
|
+
}
|
|
151
|
+
return { start, end };
|
|
152
|
+
}
|
|
153
|
+
exports.yearStartEnd = yearStartEnd;
|
|
126
154
|
//# sourceMappingURL=time.js.map
|
package/dist/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":";;;AAAA,wBAAmC;AAEtB,QAAA,MAAM,GAAW;IAC1B,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,SAAS;CACf,CAAA;AAEY,QAAA,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAEpF;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE;IAE5C,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AAClC,CAAC;AAPD,4CAOC;AAEM,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,cAAM,CAAC,CAAC,CAAC;AAAxC,QAAA,OAAO,WAAiC;AAC9C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,cAAM,CAAC,CAAC,CAAC;AAAxC,QAAA,OAAO,WAAiC;AAC9C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,cAAM,CAAC,CAAC,CAAC;AAAxC,QAAA,OAAO,WAAiC;AAC9C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,cAAM,CAAC,CAAC,CAAC;AAAxC,QAAA,OAAO,WAAiC;AAC9C,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,GAAG,cAAM,CAAC,CAAC,CAAC;AAAxC,QAAA,OAAO,WAAiC;AAerD,SAAgB,QAAQ,CAAC,GAAW,EAAE,KAAK,GAAG,KAAK;IAC/C,cAAc;IACd,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACzB,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAChC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAEb,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAEb,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAEb,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpC,IAAI,KAAK;QAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;IAC1D,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AACtD,CAAC;AArBD,4BAqBC;AAED,2DAA2D;AACpD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,cAAM,CAAC,CAAC,CAAC;AAAtC,QAAA,OAAO,WAA+B;AAEnD,0BAA0B;AACb,QAAA,GAAG,GAAG,eAAO,CAAC;AAE3B,4DAA4D;AACrD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,cAAM,CAAC,CAAC,CAAC;AAAtC,QAAA,OAAO,WAA+B;AAEnD,0BAA0B;AACb,QAAA,GAAG,GAAG,eAAO,CAAC;AAE3B,4DAA4D;AACrD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,cAAM,CAAC,CAAC,CAAC;AAApC,QAAA,KAAK,SAA+B;AAEjD,sBAAsB;AACT,QAAA,GAAG,GAAG,aAAK,CAAC;AAEzB,4DAA4D;AACrD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,cAAM,CAAC,CAAC,CAAC;AAAnC,QAAA,IAAI,QAA+B;AAEhD,qBAAqB;AACR,QAAA,GAAG,GAAG,YAAI,CAAC;AAExB,8DAA8D;AACvD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,cAAM,CAAC,CAAC,CAAC;AAApC,QAAA,KAAK,SAA+B;AAEjD,sBAAsB;AACT,QAAA,GAAG,GAAG,aAAK,CAAC;AAEzB;;;;;GAKG;AACF,SAAgB,cAAc,CAAC,CAAgB,EAAE,OAAyB,OAAO;IAC9E,IAAI,SAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;QAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAEtB,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAE7C,IAAI,IAAI,KAAK,MAAM,EAAE;QACjB,MAAM,QAAQ,GAAG,WAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEhD,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC7C,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;KAC5C;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC1B,CAAC;AAlBA,wCAkBA;AAED,SAAgB,YAAY,CAAC,CAAgB,EAAE,YAA2B,KAAK,EAAE,OAAyB,OAAO;IAC7G,IAAI,SAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;QAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAEtB,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC;IAElC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,YAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,YAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAElD,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAEhF,IAAI,IAAI,KAAK,MAAM,EAAE;QACjB,MAAM,QAAQ,GAAG,WAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEhD,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC7C,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;KAC5C;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC1B,CAAC;AAtBD,oCAsBC;AAED,SAAgB,aAAa,CAAC,CAAgB,EAAE,OAAyB,OAAO;IAC5E,IAAI,SAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;QAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IAEvB,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAE7C,IAAI,IAAI,KAAK,MAAM,EAAE;QACjB,MAAM,QAAQ,GAAG,WAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEhD,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC7C,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;KAC5C;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC1B,CAAC;AAjBD,sCAiBC;AAED,SAAgB,YAAY,CAAC,CAAgB,EAAE,OAAyB,OAAO;IAC3E,IAAI,SAAM,CAAC,CAAC,EAAE,QAAQ,CAAC;QAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAE1B,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAE9C,IAAI,IAAI,KAAK,MAAM,EAAE;QACjB,MAAM,QAAQ,GAAG,WAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEhD,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC7C,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;KAC5C;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC1B,CAAC;AAhBD,oCAgBC"}
|
package/package.json
CHANGED
package/src/general.ts
CHANGED
|
@@ -32,15 +32,16 @@ export const interval = (
|
|
|
32
32
|
export const wait = (ms: number): Promise<void> =>
|
|
33
33
|
new Promise((res) => setTimeout(() => res(), ms));
|
|
34
34
|
|
|
35
|
-
const usubAllFunct = (x: any) =>
|
|
35
|
+
const usubAllFunct = (x: any, unsubName = 'unsubscribe') =>
|
|
36
36
|
isType(x, 'object')
|
|
37
37
|
&&
|
|
38
|
-
hasKey(x,
|
|
39
|
-
|
|
38
|
+
hasKey(x, unsubName) ? x[unsubName]() : null;
|
|
39
|
+
|
|
40
|
+
export function unsubAll(objOrArr: AnyObj | any[], unsubName = 'unsubscribe') {
|
|
40
41
|
if (isType(objOrArr, 'array'))
|
|
41
|
-
objOrArr.forEach(x => usubAllFunct(x));
|
|
42
|
+
objOrArr.forEach(x => usubAllFunct(x, unsubName));
|
|
42
43
|
else if (isType(objOrArr, 'object'))
|
|
43
|
-
objMap(objOrArr, ({ val }) => usubAllFunct(val));
|
|
44
|
+
objMap(objOrArr, ({ val }) => usubAllFunct(val, unsubName));
|
|
44
45
|
else
|
|
45
46
|
throw Error('argument "objOrArr" must be of type "object" or "array"');
|
|
46
47
|
}
|
|
@@ -120,3 +121,17 @@ export const randomColorHex = () =>
|
|
|
120
121
|
// // tslint:disable-next-line: no-eval
|
|
121
122
|
// return eval(start + ' =>' + end);
|
|
122
123
|
// }
|
|
124
|
+
|
|
125
|
+
export function debounceTimeOut() {
|
|
126
|
+
let timeoutId: ReturnType<typeof setTimeout> | null = null;
|
|
127
|
+
return (fct: Function, ms: number) => {
|
|
128
|
+
if (timeoutId) clearTimeout(timeoutId);
|
|
129
|
+
timeoutId = setTimeout(fct, ms) as any;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export function promiseOut<T = any>() {
|
|
134
|
+
let resolve: any;
|
|
135
|
+
const promise = new Promise((res) => resolve = res);
|
|
136
|
+
return { resolve: resolve as (value: T) => void, promise };
|
|
137
|
+
}
|
package/src/object.ts
CHANGED
|
@@ -103,8 +103,8 @@ export const objSortKeys = <T extends {}>(
|
|
|
103
103
|
|
|
104
104
|
/**
|
|
105
105
|
* Takes a dictionary/object made of Promises and Observables and
|
|
106
|
-
* extracts all values. This function will
|
|
107
|
-
* Observable/Promise
|
|
106
|
+
* extracts all values. This function will return resolved values from all
|
|
107
|
+
* Observable/Promise on the obj when all promises on object resolve.
|
|
108
108
|
*/
|
|
109
109
|
export function objPromiseAll<T extends Dict<Promise<any>>>(obj: T) {
|
|
110
110
|
const keyValues = objKeyVals(obj);
|
package/src/test.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { equal, JsType } from '.';
|
|
2
2
|
import { JsTypeFind, objVals, type } from '.';
|
|
3
3
|
|
|
4
|
+
/** Check if `x` is equal to any of the values in the array. */
|
|
5
|
+
export const equalAny = (x: any, equals: any[]) => !!equals.find((y) => equal(x, y));
|
|
6
|
+
|
|
4
7
|
/**
|
|
5
8
|
* Checks if object has the key, made as a function for type transfer.
|
|
6
9
|
*
|
|
@@ -66,3 +69,6 @@ export function nullOrEmpty(x: any): boolean
|
|
|
66
69
|
/** val `is` (null || undefined) */
|
|
67
70
|
export const nonValue = (val: any): val is (null | undefined) =>
|
|
68
71
|
val === null || val === undefined;
|
|
72
|
+
|
|
73
|
+
export const isValidEmail = (email: string) =>
|
|
74
|
+
/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email)
|
package/src/time.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import type { MsTime } from '.';
|
|
1
|
+
import { isType, MsTime } from '.';
|
|
3
2
|
|
|
4
3
|
export const msTime: MsTime = {
|
|
5
4
|
s: 1000,
|
|
@@ -9,6 +8,8 @@ export const msTime: MsTime = {
|
|
|
9
8
|
w: 604800000,
|
|
10
9
|
}
|
|
11
10
|
|
|
11
|
+
export const weekTuple = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] as const;
|
|
12
|
+
|
|
12
13
|
/**
|
|
13
14
|
* Converts Date to time of day.
|
|
14
15
|
* Good for use in loging.
|
|
@@ -46,8 +47,7 @@ type timeObj = { d: number; h: number; m: number; s: number; ms: number; }
|
|
|
46
47
|
export function msToTime<T extends boolean>(msT: number, toObj?: boolean): string | timeObj;
|
|
47
48
|
export function msToTime<T extends boolean>(msT: number, toObj: true): timeObj;
|
|
48
49
|
export function msToTime<T extends boolean>(msT: number, toObj?: false): string;
|
|
49
|
-
export function msToTime(msT: number, toObj = false)
|
|
50
|
-
{
|
|
50
|
+
export function msToTime(msT: number, toObj = false) {
|
|
51
51
|
// N - number;
|
|
52
52
|
const msN = (msT % 1000);
|
|
53
53
|
let sN = Math.floor(msT / 1000);
|
|
@@ -100,58 +100,89 @@ export const weeks = (w: number) => w * msTime.w;
|
|
|
100
100
|
/** Analog of weeks */
|
|
101
101
|
export const wks = weeks;
|
|
102
102
|
|
|
103
|
-
/**
|
|
104
|
-
*
|
|
105
|
-
*
|
|
103
|
+
/** Gives the 'start' and 'end' of a day.
|
|
104
|
+
*
|
|
105
|
+
* Start of day is the first ms of the day
|
|
106
|
+
*
|
|
107
|
+
* End of day is the last ms of the day
|
|
106
108
|
*/
|
|
107
|
-
export
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
export function getDayStartEnd(t: number | Date, type: 'unix' | 'local' = 'local') {
|
|
110
|
+
if (isType(t, 'number')) t = new Date(t);
|
|
111
|
+
|
|
112
|
+
const y = t.getFullYear();
|
|
113
|
+
const m = t.getMonth();
|
|
114
|
+
const d = t.getDate();
|
|
115
|
+
|
|
116
|
+
let start = new Date(y, m, d);
|
|
117
|
+
let end = new Date(y, m, d, 23, 59, 59, 999);
|
|
118
|
+
|
|
119
|
+
if (type === 'unix') {
|
|
120
|
+
const tzOffset = min(start.getTimezoneOffset());
|
|
121
|
+
|
|
122
|
+
start = new Date(start.getTime() + tzOffset);
|
|
123
|
+
end = new Date(end.getTime() + tzOffset);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return { start, end };
|
|
111
127
|
}
|
|
112
128
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
// {
|
|
116
|
-
// const t = moment(unixMsTime).utc();
|
|
129
|
+
export function weekStartEnd(t: number | Date, weekStart: 'sun' | 'mon' = 'sun', type: 'unix' | 'local' = 'local') {
|
|
130
|
+
if (isType(t, 'number')) t = new Date(t);
|
|
117
131
|
|
|
118
|
-
|
|
119
|
-
// const start = t.valueOf();
|
|
132
|
+
const wd = t.getDay();
|
|
120
133
|
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
const startOffset = wd * -1 + (weekStart === 'mon' ? 1 : 0);
|
|
135
|
+
const endOffset = 6 + startOffset;
|
|
123
136
|
|
|
124
|
-
|
|
125
|
-
|
|
137
|
+
const s = new Date(t.getTime() + days(startOffset));
|
|
138
|
+
const e = new Date(t.getTime() + days(endOffset));
|
|
126
139
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// start: number;
|
|
130
|
-
// end: number;
|
|
131
|
-
// } =>
|
|
132
|
-
// {
|
|
133
|
-
// const year = moment(unixMsTime).utc().year();
|
|
134
|
-
// const month = ('0' + (moment(unixMsTime).utc().month() + 1)).slice(-2);
|
|
140
|
+
let start = new Date(s.getFullYear(), s.getMonth(), s.getDate());
|
|
141
|
+
let end = new Date(e.getFullYear(), e.getMonth(), e.getDate(), 23, 59, 59, 999);
|
|
135
142
|
|
|
136
|
-
|
|
137
|
-
|
|
143
|
+
if (type === 'unix') {
|
|
144
|
+
const tzOffset = min(start.getTimezoneOffset());
|
|
138
145
|
|
|
139
|
-
|
|
140
|
-
|
|
146
|
+
start = new Date(start.getTime() + tzOffset);
|
|
147
|
+
end = new Date(end.getTime() + tzOffset);
|
|
148
|
+
}
|
|
141
149
|
|
|
142
|
-
|
|
143
|
-
|
|
150
|
+
return { start, end };
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export function monthStartEnd(t: number | Date, type: 'unix' | 'local' = 'local') {
|
|
154
|
+
if (isType(t, 'number')) t = new Date(t);
|
|
155
|
+
|
|
156
|
+
const y = t.getFullYear();
|
|
157
|
+
const m = t.getMonth();
|
|
144
158
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
// {
|
|
148
|
-
// const year = moment(unixMsTime).utc().year();
|
|
159
|
+
let start = new Date(y, m, 1);
|
|
160
|
+
let end = new Date(y, m, 0, 23, 59, 59, 999);
|
|
149
161
|
|
|
150
|
-
|
|
151
|
-
|
|
162
|
+
if (type === 'unix') {
|
|
163
|
+
const tzOffset = min(start.getTimezoneOffset());
|
|
164
|
+
|
|
165
|
+
start = new Date(start.getTime() + tzOffset);
|
|
166
|
+
end = new Date(end.getTime() + tzOffset);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return { start, end };
|
|
170
|
+
}
|
|
152
171
|
|
|
153
|
-
|
|
154
|
-
|
|
172
|
+
export function yearStartEnd(t: number | Date, type: 'unix' | 'local' = 'local') {
|
|
173
|
+
if (isType(t, 'number')) t = new Date(t);
|
|
155
174
|
|
|
156
|
-
|
|
157
|
-
|
|
175
|
+
const y = t.getFullYear();
|
|
176
|
+
|
|
177
|
+
let start = new Date(y, 0, 1);
|
|
178
|
+
let end = new Date(y, 12, 0, 23, 59, 59, 999);
|
|
179
|
+
|
|
180
|
+
if (type === 'unix') {
|
|
181
|
+
const tzOffset = min(start.getTimezoneOffset());
|
|
182
|
+
|
|
183
|
+
start = new Date(start.getTime() + tzOffset);
|
|
184
|
+
end = new Date(end.getTime() + tzOffset);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return { start, end };
|
|
188
|
+
}
|