@giveback007/util-lib 0.25.3 → 1.0.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/README.md +7 -7
- package/dist/@types.d.ts +40 -42
- package/dist/@types.js +2 -2
- package/dist/array.d.ts +66 -66
- package/dist/array.js +128 -128
- package/dist/array.js.map +1 -1
- package/dist/clone.d.ts +2 -2
- package/dist/clone.js +44 -45
- package/dist/clone.js.map +1 -1
- package/dist/equality.d.ts +1 -1
- package/dist/equality.js +81 -82
- package/dist/equality.js.map +1 -1
- package/dist/general.d.ts +44 -37
- package/dist/general.js +172 -139
- package/dist/general.js.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/index.js +27 -23
- package/dist/index.js.map +1 -1
- package/dist/iterate.d.ts +44 -44
- package/dist/iterate.js +43 -44
- package/dist/iterate.js.map +1 -1
- package/dist/number.d.ts +33 -32
- package/dist/number.js +57 -55
- package/dist/number.js.map +1 -1
- package/dist/object.d.ts +45 -49
- package/dist/object.js +82 -92
- package/dist/object.js.map +1 -1
- package/dist/string.d.ts +3 -4
- package/dist/string.js +8 -18
- package/dist/string.js.map +1 -1
- package/dist/test.d.ts +40 -41
- package/dist/test.js +65 -67
- package/dist/test.js.map +1 -1
- package/dist/time.d.ts +87 -93
- package/dist/time.js +230 -174
- package/dist/time.js.map +1 -1
- package/package.json +33 -45
- package/src/@types/types.d.ts +34 -0
- package/src/@types.ts +67 -67
- package/src/array.ts +175 -175
- package/src/clone.ts +34 -35
- package/src/equality.ts +80 -80
- package/src/general.ts +192 -152
- package/src/index.ts +11 -11
- package/src/iterate.ts +86 -86
- package/src/number.ts +64 -62
- package/src/object.ts +109 -123
- package/src/string.ts +6 -20
- package/src/test.ts +71 -74
- package/src/time.ts +268 -219
- package/dist/node/file-systems.d.ts +0 -1
- package/dist/node/file-systems.js +0 -16
- package/dist/node/file-systems.js.map +0 -1
- package/dist/node/index.d.ts +0 -1
- package/dist/node/index.js +0 -14
- package/dist/node/index.js.map +0 -1
- package/src/node/file-systems.ts +0 -16
- package/src/node/index.ts +0 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
## GOALS:
|
|
2
|
-
* Complete Tests
|
|
3
|
-
* Create Documentation
|
|
4
|
-
* Documentation for playground
|
|
5
|
-
* Make a simple dom library
|
|
6
|
-
* add @example to each
|
|
7
|
-
* JSdoc to github documentation (Autodocs)
|
|
1
|
+
## GOALS:
|
|
2
|
+
* Complete Tests
|
|
3
|
+
* Create Documentation
|
|
4
|
+
* Documentation for playground
|
|
5
|
+
* Make a simple dom library
|
|
6
|
+
* add @example to each
|
|
7
|
+
* JSdoc to github documentation (Autodocs)
|
package/dist/@types.d.ts
CHANGED
|
@@ -1,42 +1,40 @@
|
|
|
1
|
-
export
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
};
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
export
|
|
41
|
-
[I in keyof O]: O[I] extends T ? I : never;
|
|
42
|
-
}[keyof O];
|
|
1
|
+
export type AnyObj = {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
};
|
|
4
|
+
/** string type keyof T */
|
|
5
|
+
export type StrKeys<T> = Extract<keyof T, string>;
|
|
6
|
+
export type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
|
|
7
|
+
export type Optional<T, K extends keyof T = keyof T> = {
|
|
8
|
+
[P in K]?: T[P];
|
|
9
|
+
};
|
|
10
|
+
export type ResolvedValue<T> = T extends Promise<infer U> ? U : any;
|
|
11
|
+
export type JsType = 'array' | 'bigint' | 'boolean' | 'function' | 'NaN' | 'null' | 'number' | 'object' | 'string' | 'symbol' | 'undefined';
|
|
12
|
+
export type JsTypeFind<S extends JsType> = S extends 'array' ? any[] : S extends 'bigint' ? bigint : S extends 'boolean' ? boolean : S extends 'function' ? Function : S extends 'NaN' ? number : S extends 'null' ? null : S extends 'number' ? number : S extends 'object' ? object : S extends 'string' ? string : S extends 'symbol' ? symbol : S extends 'undefined' ? undefined : never;
|
|
13
|
+
export type MsTime = {
|
|
14
|
+
/** second */
|
|
15
|
+
s: 1000;
|
|
16
|
+
/** minute */
|
|
17
|
+
m: 60000;
|
|
18
|
+
/** hour */
|
|
19
|
+
h: 3600000;
|
|
20
|
+
/** day */
|
|
21
|
+
d: 86400000;
|
|
22
|
+
/** week */
|
|
23
|
+
w: 604800000;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* ```ts
|
|
27
|
+
* const o = {
|
|
28
|
+
* k1: true,
|
|
29
|
+
* k2: 'string',
|
|
30
|
+
* k3: false
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* type Y = KeysOfValueType<typeof o, boolean>
|
|
34
|
+
* type Y => "k1" | "k3"
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export type KeysOfValueType<O, T> = {
|
|
38
|
+
[I in keyof O]: O[I] extends T ? I : never;
|
|
39
|
+
}[keyof O];
|
|
40
|
+
export type AwaitReturn<T extends AnyFnc<any | Promise<any>>> = Awaited<ReturnType<T>>;
|
package/dist/@types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=@types.js.map
|
package/dist/array.d.ts
CHANGED
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import type { AnyObj
|
|
2
|
-
/** Generates an array of null values */
|
|
3
|
-
export declare const arrGen: <T = any>(length: number, fill?: number | BigInt | string | boolean | undefined | null) => T[];
|
|
4
|
-
/**
|
|
5
|
-
* Returns a new array without mutating the provided one.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```js
|
|
9
|
-
* const arr = [{ id: '1' }, { id: '2' }]
|
|
10
|
-
* arrRemoveById(arr, ['1'], 'id') //=> [{ id: '2' }]
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export declare function arrRemoveById<T extends AnyObj>(arr: T[], idArr: string[], idKey?: keyof T): T[];
|
|
14
|
-
/**
|
|
15
|
-
* Gets values out of `arr` that match the ids in `idArr`
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```js
|
|
19
|
-
* const arr = [{ id: '1' }, { id: '2' }, { id: '3' }]
|
|
20
|
-
* arrGetByIds(arr, ['1', '2'], 'id')
|
|
21
|
-
* //=> [{ id: '1' }, { id: '2' }]
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
export declare function arrGetByIds<T extends AnyObj>(arr: T[], idArr: string[], idKey?: keyof T): T[];
|
|
25
|
-
/**
|
|
26
|
-
* Divides the array in to multiple arrays
|
|
27
|
-
* arr.length/rowLength
|
|
28
|
-
*/
|
|
29
|
-
export declare function arrDivide<T>(arr: T[], maxRowLength: number): T[][];
|
|
30
|
-
/**
|
|
31
|
-
* @example
|
|
32
|
-
* ```js
|
|
33
|
-
* arrFlatten([[[1, [1.1]], 2, 3], [4, 5]])
|
|
34
|
-
* //=> [[1, [1.1]], 2, 3, 4, 5]
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export declare function arrFlatten<T>(arr: T[][]): T[];
|
|
38
|
-
export declare function arrFlatten(arr: any[]): any[];
|
|
39
|
-
/**
|
|
40
|
-
* @example
|
|
41
|
-
* ```js
|
|
42
|
-
* arrDeepFlatten([[[1, [1.1]], 2, 3], [4, 5]])
|
|
43
|
-
* //=> [1, 1.1, 2, 3, 4, 5]
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
export declare const arrDeepFlatten: <T = any>(arr: any[]) => T[];
|
|
47
|
-
export declare function arrReplace<T>(arr: T[]): {
|
|
48
|
-
all: (item: T) => {
|
|
49
|
-
with: (newItem: T) => T[];
|
|
50
|
-
};
|
|
51
|
-
first: (item: T) => {
|
|
52
|
-
with: (newItem: T) => T[];
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
export declare function arrRemoveValues<T>(arr: T[], valsToRemove: any[]): T[];
|
|
56
|
-
export declare function arrToDict<T extends AnyObj>(arr: T[], idKey: keyof T): Dict<T>;
|
|
57
|
-
export declare function arrToIdxDict(arr: (number | string)[]): Dict<string>;
|
|
58
|
-
export declare function arrToBoolDict(arr: (string | number)[]): Dict<boolean>;
|
|
59
|
-
/** Gets the last item from the array */
|
|
60
|
-
export declare const arrLast: <T>(arr: T[]) => T;
|
|
61
|
-
/**
|
|
62
|
-
* Checks if arr has a given value. If equivalent = true the
|
|
63
|
-
* value will be checked if it has an 'equivalent', meaning it
|
|
64
|
-
* has an object or array that is an equivalent "clone like".
|
|
65
|
-
*/
|
|
66
|
-
export declare function arrHas<T>(arr: T[], find: T, equivalent?: boolean): boolean;
|
|
1
|
+
import type { AnyObj } from '.';
|
|
2
|
+
/** Generates an array of null values */
|
|
3
|
+
export declare const arrGen: <T = any>(length: number, fill?: number | BigInt | string | boolean | undefined | null) => T[];
|
|
4
|
+
/**
|
|
5
|
+
* Returns a new array without mutating the provided one.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```js
|
|
9
|
+
* const arr = [{ id: '1' }, { id: '2' }]
|
|
10
|
+
* arrRemoveById(arr, ['1'], 'id') //=> [{ id: '2' }]
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function arrRemoveById<T extends AnyObj>(arr: T[], idArr: string[], idKey?: keyof T): T[];
|
|
14
|
+
/**
|
|
15
|
+
* Gets values out of `arr` that match the ids in `idArr`
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```js
|
|
19
|
+
* const arr = [{ id: '1' }, { id: '2' }, { id: '3' }]
|
|
20
|
+
* arrGetByIds(arr, ['1', '2'], 'id')
|
|
21
|
+
* //=> [{ id: '1' }, { id: '2' }]
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function arrGetByIds<T extends AnyObj>(arr: T[], idArr: string[], idKey?: keyof T): T[];
|
|
25
|
+
/**
|
|
26
|
+
* Divides the array in to multiple arrays
|
|
27
|
+
* arr.length/rowLength
|
|
28
|
+
*/
|
|
29
|
+
export declare function arrDivide<T>(arr: T[], maxRowLength: number): T[][];
|
|
30
|
+
/**
|
|
31
|
+
* @example
|
|
32
|
+
* ```js
|
|
33
|
+
* arrFlatten([[[1, [1.1]], 2, 3], [4, 5]])
|
|
34
|
+
* //=> [[1, [1.1]], 2, 3, 4, 5]
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function arrFlatten<T>(arr: T[][]): T[];
|
|
38
|
+
export declare function arrFlatten(arr: any[]): any[];
|
|
39
|
+
/**
|
|
40
|
+
* @example
|
|
41
|
+
* ```js
|
|
42
|
+
* arrDeepFlatten([[[1, [1.1]], 2, 3], [4, 5]])
|
|
43
|
+
* //=> [1, 1.1, 2, 3, 4, 5]
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare const arrDeepFlatten: <T = any>(arr: any[]) => T[];
|
|
47
|
+
export declare function arrReplace<T>(arr: T[]): {
|
|
48
|
+
all: (item: T) => {
|
|
49
|
+
with: (newItem: T) => T[];
|
|
50
|
+
};
|
|
51
|
+
first: (item: T) => {
|
|
52
|
+
with: (newItem: T) => T[];
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
export declare function arrRemoveValues<T>(arr: T[], valsToRemove: any[]): T[];
|
|
56
|
+
export declare function arrToDict<T extends AnyObj>(arr: T[], idKey: keyof T): Dict<T>;
|
|
57
|
+
export declare function arrToIdxDict(arr: (number | string)[]): Dict<string>;
|
|
58
|
+
export declare function arrToBoolDict(arr: (string | number)[]): Dict<boolean>;
|
|
59
|
+
/** Gets the last item from the array */
|
|
60
|
+
export declare const arrLast: <T>(arr: T[]) => T | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Checks if arr has a given value. If equivalent = true the
|
|
63
|
+
* value will be checked if it has an 'equivalent', meaning it
|
|
64
|
+
* has an object or array that is an equivalent "clone like".
|
|
65
|
+
*/
|
|
66
|
+
export declare function arrHas<T>(arr: T[], find: T, equivalent?: boolean): boolean;
|
package/dist/array.js
CHANGED
|
@@ -1,129 +1,129 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
exports.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*/
|
|
42
|
-
function
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
exports.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.arrLast = exports.arrDeepFlatten = exports.arrGen = void 0;
|
|
4
|
+
exports.arrRemoveById = arrRemoveById;
|
|
5
|
+
exports.arrGetByIds = arrGetByIds;
|
|
6
|
+
exports.arrDivide = arrDivide;
|
|
7
|
+
exports.arrFlatten = arrFlatten;
|
|
8
|
+
exports.arrReplace = arrReplace;
|
|
9
|
+
exports.arrRemoveValues = arrRemoveValues;
|
|
10
|
+
exports.arrToDict = arrToDict;
|
|
11
|
+
exports.arrToIdxDict = arrToIdxDict;
|
|
12
|
+
exports.arrToBoolDict = arrToBoolDict;
|
|
13
|
+
exports.arrHas = arrHas;
|
|
14
|
+
const _1 = require(".");
|
|
15
|
+
/** Generates an array of null values */
|
|
16
|
+
const arrGen = (length, fill = undefined) => length < 1 ? [] : Array(length).fill(fill);
|
|
17
|
+
exports.arrGen = arrGen;
|
|
18
|
+
/**
|
|
19
|
+
* Returns a new array without mutating the provided one.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```js
|
|
23
|
+
* const arr = [{ id: '1' }, { id: '2' }]
|
|
24
|
+
* arrRemoveById(arr, ['1'], 'id') //=> [{ id: '2' }]
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
function arrRemoveById(arr, idArr, idKey = 'id') {
|
|
28
|
+
const objDict = arrToDict(arr, idKey);
|
|
29
|
+
const keep = (0, _1.objRemoveKeys)(objDict, idArr);
|
|
30
|
+
return (0, _1.objVals)(keep);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Gets values out of `arr` that match the ids in `idArr`
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```js
|
|
37
|
+
* const arr = [{ id: '1' }, { id: '2' }, { id: '3' }]
|
|
38
|
+
* arrGetByIds(arr, ['1', '2'], 'id')
|
|
39
|
+
* //=> [{ id: '1' }, { id: '2' }]
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
function arrGetByIds(arr, idArr, idKey = 'id') {
|
|
43
|
+
const dict = arrToBoolDict(idArr);
|
|
44
|
+
return arr.filter((x) => dict[x[idKey]]);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Divides the array in to multiple arrays
|
|
48
|
+
* arr.length/rowLength
|
|
49
|
+
*/
|
|
50
|
+
function arrDivide(arr, maxRowLength) {
|
|
51
|
+
const rows = Math.ceil(arr.length / maxRowLength) || 0;
|
|
52
|
+
const newArr = (0, exports.arrGen)(rows).map(() => []);
|
|
53
|
+
arr.forEach((x, i) => newArr[Math.floor(i / maxRowLength)].push(x));
|
|
54
|
+
return newArr;
|
|
55
|
+
}
|
|
56
|
+
function arrFlatten(arr) {
|
|
57
|
+
return [].concat.apply([], arr);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @example
|
|
61
|
+
* ```js
|
|
62
|
+
* arrDeepFlatten([[[1, [1.1]], 2, 3], [4, 5]])
|
|
63
|
+
* //=> [1, 1.1, 2, 3, 4, 5]
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
const arrDeepFlatten = (arr) => arr.reduce((newArr, x) => newArr.concat((0, _1.isType)(x, 'array') ? (0, exports.arrDeepFlatten)(x) : x), []);
|
|
67
|
+
exports.arrDeepFlatten = arrDeepFlatten;
|
|
68
|
+
function arrReplace(arr) {
|
|
69
|
+
const newArr = [...arr];
|
|
70
|
+
return {
|
|
71
|
+
all: (item) => {
|
|
72
|
+
const idxs = [];
|
|
73
|
+
arr.forEach((match, i) => (0, _1.equal)(item, match) ? idxs[i] = (i) : null);
|
|
74
|
+
return {
|
|
75
|
+
with: (newItem) => {
|
|
76
|
+
if (!idxs.length)
|
|
77
|
+
return arr;
|
|
78
|
+
idxs.forEach((i) => newArr[i] = newItem);
|
|
79
|
+
return newArr;
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
first: (item) => {
|
|
84
|
+
const idx = arr.findIndex((match) => (0, _1.equal)(item, match));
|
|
85
|
+
return {
|
|
86
|
+
with: (newItem) => {
|
|
87
|
+
if ((0, _1.nonVal)(idx))
|
|
88
|
+
return arr;
|
|
89
|
+
newArr[idx] = newItem;
|
|
90
|
+
return newArr;
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function arrRemoveValues(arr, valsToRemove) {
|
|
97
|
+
let newArr = [...arr];
|
|
98
|
+
valsToRemove.forEach(removeVal => newArr = newArr.filter(x => !(0, _1.equal)(x, removeVal)));
|
|
99
|
+
return newArr;
|
|
100
|
+
}
|
|
101
|
+
function arrToDict(arr, idKey) {
|
|
102
|
+
const dict = {};
|
|
103
|
+
arr.forEach((obj) => dict[obj[idKey]] = obj);
|
|
104
|
+
return dict;
|
|
105
|
+
}
|
|
106
|
+
function arrToIdxDict(arr) {
|
|
107
|
+
const dict = {};
|
|
108
|
+
arr.forEach((x, idx) => dict[x] = idx + '');
|
|
109
|
+
return dict;
|
|
110
|
+
}
|
|
111
|
+
function arrToBoolDict(arr) {
|
|
112
|
+
const dict = {};
|
|
113
|
+
arr.forEach((x) => dict[x] = true);
|
|
114
|
+
return dict;
|
|
115
|
+
}
|
|
116
|
+
/** Gets the last item from the array */
|
|
117
|
+
const arrLast = (arr) => arr[arr.length - 1];
|
|
118
|
+
exports.arrLast = arrLast;
|
|
119
|
+
/**
|
|
120
|
+
* Checks if arr has a given value. If equivalent = true the
|
|
121
|
+
* value will be checked if it has an 'equivalent', meaning it
|
|
122
|
+
* has an object or array that is an equivalent "clone like".
|
|
123
|
+
*/
|
|
124
|
+
function arrHas(arr, find, equivalent = false) {
|
|
125
|
+
const fct = equivalent ?
|
|
126
|
+
(x) => (0, _1.equal)(x, find) : (x) => x === find;
|
|
127
|
+
return arr.findIndex(fct) !== -1;
|
|
128
|
+
}
|
|
129
129
|
//# sourceMappingURL=array.js.map
|
package/dist/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
|
package/dist/clone.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/** Performances deep clone of a given object */
|
|
2
|
-
export declare function clone<T>(o: T): T;
|
|
1
|
+
/** Performances deep clone of a given object */
|
|
2
|
+
export declare function clone<T>(o: T): T;
|
package/dist/clone.js
CHANGED
|
@@ -1,46 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
// original source from:
|
|
4
|
-
// https://github.com/davidmarkclements/rfdc
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.clone =
|
|
7
|
-
/** Performances deep clone of a given object */
|
|
8
|
-
function clone(o) {
|
|
9
|
-
|
|
10
|
-
if (typeof o !== 'object' || o === null)
|
|
11
|
-
return o;
|
|
12
|
-
if (o instanceof Date)
|
|
13
|
-
return new Date(o);
|
|
14
|
-
x = Object.keys(o);
|
|
15
|
-
l = x.length;
|
|
16
|
-
if (Array.isArray(o)) {
|
|
17
|
-
a = new Array(l);
|
|
18
|
-
for (i = 0; i < l; i++) {
|
|
19
|
-
k = x[i];
|
|
20
|
-
c = o[k];
|
|
21
|
-
if (typeof c !== 'object' || c === null)
|
|
22
|
-
a[k] = c;
|
|
23
|
-
else if (c instanceof Date)
|
|
24
|
-
a[k] = new Date(c);
|
|
25
|
-
else
|
|
26
|
-
a[k] = clone(c);
|
|
27
|
-
}
|
|
28
|
-
return a;
|
|
29
|
-
}
|
|
30
|
-
q = {};
|
|
31
|
-
for (i = 0; i < l; i++) {
|
|
32
|
-
k = x[i];
|
|
33
|
-
c = o[k];
|
|
34
|
-
if (Object.hasOwnProperty.call(o, k) === false)
|
|
35
|
-
continue;
|
|
36
|
-
if (typeof c !== 'object' || c === null)
|
|
37
|
-
q[k] = c;
|
|
38
|
-
else if (c instanceof Date)
|
|
39
|
-
q[k] = new Date(c);
|
|
40
|
-
else
|
|
41
|
-
q[k] = clone(c);
|
|
42
|
-
}
|
|
43
|
-
return q;
|
|
44
|
-
}
|
|
45
|
-
exports.clone = clone;
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
// original source from:
|
|
4
|
+
// https://github.com/davidmarkclements/rfdc
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.clone = clone;
|
|
7
|
+
/** Performances deep clone of a given object */
|
|
8
|
+
function clone(o) {
|
|
9
|
+
var c, x, l, i, k, a, q;
|
|
10
|
+
if (typeof o !== 'object' || o === null)
|
|
11
|
+
return o;
|
|
12
|
+
if (o instanceof Date)
|
|
13
|
+
return new Date(o);
|
|
14
|
+
x = Object.keys(o);
|
|
15
|
+
l = x.length;
|
|
16
|
+
if (Array.isArray(o)) {
|
|
17
|
+
a = new Array(l);
|
|
18
|
+
for (i = 0; i < l; i++) {
|
|
19
|
+
k = x[i];
|
|
20
|
+
c = o[k];
|
|
21
|
+
if (typeof c !== 'object' || c === null)
|
|
22
|
+
a[k] = c;
|
|
23
|
+
else if (c instanceof Date)
|
|
24
|
+
a[k] = new Date(c);
|
|
25
|
+
else
|
|
26
|
+
a[k] = clone(c);
|
|
27
|
+
}
|
|
28
|
+
return a;
|
|
29
|
+
}
|
|
30
|
+
q = {};
|
|
31
|
+
for (i = 0; i < l; i++) {
|
|
32
|
+
k = x[i];
|
|
33
|
+
c = o[k];
|
|
34
|
+
if (Object.hasOwnProperty.call(o, k) === false)
|
|
35
|
+
continue;
|
|
36
|
+
if (typeof c !== 'object' || c === null)
|
|
37
|
+
q[k] = c;
|
|
38
|
+
else if (c instanceof Date)
|
|
39
|
+
q[k] = new Date(c);
|
|
40
|
+
else
|
|
41
|
+
q[k] = clone(c);
|
|
42
|
+
}
|
|
43
|
+
return q;
|
|
44
|
+
}
|
|
46
45
|
//# sourceMappingURL=clone.js.map
|
package/dist/clone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,wBAAwB;AACxB,4CAA4C
|
|
1
|
+
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,wBAAwB;AACxB,4CAA4C;;AAG5C,sBA4BC;AA7BD,gDAAgD;AAChD,SAAgB,KAAK,CAAI,CAAI;IACzB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAM,EAAE,CAAM,EAAE,CAAM,CAAC;IACvC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,IAAI;QAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAQ,CAAC;IAEjD,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAEjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QAChB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;gBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7C,IAAI,CAAC,YAAY,IAAI;gBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAC1C,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,CAAC,GAAG,EAAE,CAAC;IAEP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,GAAI,CAAS,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK;YAAE,SAAS;QACzD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC7C,IAAI,CAAC,YAAY,IAAI;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;;YAC1C,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC"}
|
package/dist/equality.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function equal(a: any, b: any): boolean;
|
|
1
|
+
export declare function equal(a: any, b: any): boolean;
|