@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/dist/index.js
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
__exportStar(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
__exportStar(require("
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./
|
|
20
|
-
__exportStar(require("./
|
|
21
|
-
__exportStar(require("./
|
|
22
|
-
__exportStar(require("./
|
|
23
|
-
__exportStar(require("./
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./@types"), exports);
|
|
18
|
+
__exportStar(require("./array"), exports);
|
|
19
|
+
__exportStar(require("./clone"), exports);
|
|
20
|
+
__exportStar(require("./equality"), exports);
|
|
21
|
+
__exportStar(require("./general"), exports);
|
|
22
|
+
__exportStar(require("./iterate"), exports);
|
|
23
|
+
__exportStar(require("./number"), exports);
|
|
24
|
+
__exportStar(require("./object"), exports);
|
|
25
|
+
__exportStar(require("./string"), exports);
|
|
26
|
+
__exportStar(require("./test"), exports);
|
|
27
|
+
__exportStar(require("./time"), exports);
|
|
24
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB"}
|
package/dist/iterate.d.ts
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
x: number;
|
|
3
|
-
};
|
|
4
|
-
|
|
5
|
-
x: number;
|
|
6
|
-
y: number;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
z: number;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Iterate over a function like nested for loops
|
|
15
|
-
* each cycle would return an object eg:
|
|
16
|
-
*
|
|
17
|
-
* xLength 3, yLength: 3, zLength: 3
|
|
18
|
-
* ```ts
|
|
19
|
-
* { 0, 0, 0 } ... { 0, 0, 1 } ... { 0, 0, 2 }
|
|
20
|
-
*
|
|
21
|
-
* { 0, 1, 0 } ... { 0, 1, 1 } ... { 0, 1, 2 }
|
|
22
|
-
* ```
|
|
23
|
-
* ...
|
|
24
|
-
* ```ts
|
|
25
|
-
* { 2, 2, 0 } ... { 2, 2, 1 } ... { 2, 2, 2 } <- last object
|
|
26
|
-
* ```
|
|
27
|
-
* Starting index is 0
|
|
28
|
-
*/
|
|
29
|
-
export declare function iterate(xLength: number): {
|
|
30
|
-
for: (fct: ({ x }: x) => any) => void;
|
|
31
|
-
map: <T>(fct: ({ x }: x) => T) => T[];
|
|
32
|
-
nestedMap: <T>(fct: ({ x }: x) => T) => T[];
|
|
33
|
-
};
|
|
34
|
-
export declare function iterate(xLength: number, yLength?: number): {
|
|
35
|
-
for: (fct: ({ x, y }: xy) => any) => void;
|
|
36
|
-
map: <T>(fct: ({ x, y }: xy) => T) => T[];
|
|
37
|
-
nestedMap: <T>(fct: ({ x, y }: xy) => T) => T[][];
|
|
38
|
-
};
|
|
39
|
-
export declare function iterate(xLength: number, yLength?: number, zLength?: number): {
|
|
40
|
-
for: (fct: ({ x, y, z }: xyz) => any) => void;
|
|
41
|
-
map: <T>(fct: ({ x, y, z }: xyz) => T) => T[];
|
|
42
|
-
nestedMap: <T>(fct: ({ x, y, z }: xyz) => T) => T[][][];
|
|
43
|
-
};
|
|
44
|
-
export {};
|
|
1
|
+
type x = {
|
|
2
|
+
x: number;
|
|
3
|
+
};
|
|
4
|
+
type xy = {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
};
|
|
8
|
+
type xyz = {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
z: number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Iterate over a function like nested for loops
|
|
15
|
+
* each cycle would return an object eg:
|
|
16
|
+
*
|
|
17
|
+
* xLength 3, yLength: 3, zLength: 3
|
|
18
|
+
* ```ts
|
|
19
|
+
* { 0, 0, 0 } ... { 0, 0, 1 } ... { 0, 0, 2 }
|
|
20
|
+
*
|
|
21
|
+
* { 0, 1, 0 } ... { 0, 1, 1 } ... { 0, 1, 2 }
|
|
22
|
+
* ```
|
|
23
|
+
* ...
|
|
24
|
+
* ```ts
|
|
25
|
+
* { 2, 2, 0 } ... { 2, 2, 1 } ... { 2, 2, 2 } <- last object
|
|
26
|
+
* ```
|
|
27
|
+
* Starting index is 0
|
|
28
|
+
*/
|
|
29
|
+
export declare function iterate(xLength: number): {
|
|
30
|
+
for: (fct: ({ x }: x) => any) => void;
|
|
31
|
+
map: <T>(fct: ({ x }: x) => T) => T[];
|
|
32
|
+
nestedMap: <T>(fct: ({ x }: x) => T) => T[];
|
|
33
|
+
};
|
|
34
|
+
export declare function iterate(xLength: number, yLength?: number): {
|
|
35
|
+
for: (fct: ({ x, y }: xy) => any) => void;
|
|
36
|
+
map: <T>(fct: ({ x, y }: xy) => T) => T[];
|
|
37
|
+
nestedMap: <T>(fct: ({ x, y }: xy) => T) => T[][];
|
|
38
|
+
};
|
|
39
|
+
export declare function iterate(xLength: number, yLength?: number, zLength?: number): {
|
|
40
|
+
for: (fct: ({ x, y, z }: xyz) => any) => void;
|
|
41
|
+
map: <T>(fct: ({ x, y, z }: xyz) => T) => T[];
|
|
42
|
+
nestedMap: <T>(fct: ({ x, y, z }: xyz) => T) => T[][][];
|
|
43
|
+
};
|
|
44
|
+
export {};
|
package/dist/iterate.js
CHANGED
|
@@ -1,45 +1,44 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.iterate =
|
|
4
|
-
const array_1 = require("./array");
|
|
5
|
-
function iterate(xLength, yLength, zLength) {
|
|
6
|
-
const iterator = (fct, nested = false) => {
|
|
7
|
-
const arr = [];
|
|
8
|
-
// xLength ->
|
|
9
|
-
// tslint:disable-next-line: no-shadowed-variable
|
|
10
|
-
for (let x = 0; x < xLength; x++) {
|
|
11
|
-
if (!yLength)
|
|
12
|
-
arr.push(fct({ x }));
|
|
13
|
-
// yLength ->
|
|
14
|
-
else
|
|
15
|
-
for (let y = 0; y < yLength; y++) {
|
|
16
|
-
if (!zLength)
|
|
17
|
-
arr.push(fct({ x, y }));
|
|
18
|
-
// zLength ->
|
|
19
|
-
else
|
|
20
|
-
for (let z = 0; z < zLength; z++) {
|
|
21
|
-
arr.push(fct({ x, y, z }));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (!nested)
|
|
26
|
-
return arr;
|
|
27
|
-
if (zLength && yLength) {
|
|
28
|
-
const newArr = array_1.arrDivide(arr, yLength * zLength);
|
|
29
|
-
return newArr.map((yArr) => array_1.arrDivide(yArr, zLength));
|
|
30
|
-
}
|
|
31
|
-
else if (yLength) {
|
|
32
|
-
return array_1.arrDivide(arr, yLength);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
return arr;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
return {
|
|
39
|
-
for: (fct) => { iterator(fct); },
|
|
40
|
-
map: (fct) => iterator(fct),
|
|
41
|
-
nestedMap: (fct) => iterator(fct, true),
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
exports.iterate = iterate;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iterate = iterate;
|
|
4
|
+
const array_1 = require("./array");
|
|
5
|
+
function iterate(xLength, yLength, zLength) {
|
|
6
|
+
const iterator = (fct, nested = false) => {
|
|
7
|
+
const arr = [];
|
|
8
|
+
// xLength ->
|
|
9
|
+
// tslint:disable-next-line: no-shadowed-variable
|
|
10
|
+
for (let x = 0; x < xLength; x++) {
|
|
11
|
+
if (!yLength)
|
|
12
|
+
arr.push(fct({ x }));
|
|
13
|
+
// yLength ->
|
|
14
|
+
else
|
|
15
|
+
for (let y = 0; y < yLength; y++) {
|
|
16
|
+
if (!zLength)
|
|
17
|
+
arr.push(fct({ x, y }));
|
|
18
|
+
// zLength ->
|
|
19
|
+
else
|
|
20
|
+
for (let z = 0; z < zLength; z++) {
|
|
21
|
+
arr.push(fct({ x, y, z }));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (!nested)
|
|
26
|
+
return arr;
|
|
27
|
+
if (zLength && yLength) {
|
|
28
|
+
const newArr = (0, array_1.arrDivide)(arr, yLength * zLength);
|
|
29
|
+
return newArr.map((yArr) => (0, array_1.arrDivide)(yArr, zLength));
|
|
30
|
+
}
|
|
31
|
+
else if (yLength) {
|
|
32
|
+
return (0, array_1.arrDivide)(arr, yLength);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
return arr;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
for: (fct) => { iterator(fct); },
|
|
40
|
+
map: (fct) => iterator(fct),
|
|
41
|
+
nestedMap: (fct) => iterator(fct, true),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
45
44
|
//# sourceMappingURL=iterate.js.map
|
package/dist/iterate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../src/iterate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../src/iterate.ts"],"names":[],"mappings":";;AA0CA,0BA2CC;AArFD,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,CAAC;YAC/B,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,CAAC;oBACpC,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,CAAC;4BACpC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC/B,CAAC;gBACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC;QAExB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACrB,MAAM,MAAM,GAAI,IAAA,iBAAS,EAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;QACzD,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACjB,OAAO,IAAA,iBAAS,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,CAAC;QACf,CAAC;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"}
|
package/dist/number.d.ts
CHANGED
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a random whole number between `min` and `max`,
|
|
3
|
-
* `min` and `max` are inclusive.
|
|
4
|
-
* `min` & `max` must be whole numbers
|
|
5
|
-
* @param min - whole number & `< max`
|
|
6
|
-
* @param max - whole number & `> min`
|
|
7
|
-
*/
|
|
8
|
-
export declare const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*
|
|
14
|
-
* @param
|
|
15
|
-
* @
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Returns a random whole number between `min` and `max`,
|
|
3
|
+
* `min` and `max` are inclusive.
|
|
4
|
+
* `min` & `max` must be whole numbers
|
|
5
|
+
* @param min - whole number & `< max`
|
|
6
|
+
* @param max - whole number & `> min`
|
|
7
|
+
*/
|
|
8
|
+
export declare const randInt: (min: number, max: number) => number;
|
|
9
|
+
export declare const rand: (min: number, max: number) => number;
|
|
10
|
+
/** Takes an array of numbers and finds and average */
|
|
11
|
+
export declare const average: (nArr: number[]) => number;
|
|
12
|
+
/**
|
|
13
|
+
* Takes a number `n` & fixes to decimal places `places`
|
|
14
|
+
* @param n - the number to fix decimal places of
|
|
15
|
+
* @param places - number of decimal places to round to
|
|
16
|
+
* @example
|
|
17
|
+
* ```js
|
|
18
|
+
* decPlaces(1.1276, 2) //=> 1.13
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const decPlace: (n: number, places: number) => number;
|
|
22
|
+
/**
|
|
23
|
+
* @example
|
|
24
|
+
* ```js
|
|
25
|
+
* numberWithCommas(1000000) //=> '1,000,000'
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare const numberWithCommas: (n: number | string) => string;
|
|
29
|
+
/**
|
|
30
|
+
* Takes a number || number[] and min & max, will generate a
|
|
31
|
+
* new random number.
|
|
32
|
+
*/
|
|
33
|
+
export declare function newNum(prevNum: number | number[], min: number, max: number): number;
|
package/dist/number.js
CHANGED
|
@@ -1,56 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* `min` and `max
|
|
8
|
-
* `min`
|
|
9
|
-
*
|
|
10
|
-
* @param
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
exports.
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.numberWithCommas = exports.decPlace = exports.average = exports.rand = exports.randInt = void 0;
|
|
4
|
+
exports.newNum = newNum;
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
/**
|
|
7
|
+
* Returns a random whole number between `min` and `max`,
|
|
8
|
+
* `min` and `max` are inclusive.
|
|
9
|
+
* `min` & `max` must be whole numbers
|
|
10
|
+
* @param min - whole number & `< max`
|
|
11
|
+
* @param max - whole number & `> min`
|
|
12
|
+
*/
|
|
13
|
+
const randInt = (min, max) => Math.floor(Math.random() * ((max + 1) - min)) + min;
|
|
14
|
+
exports.randInt = randInt;
|
|
15
|
+
const rand = (min, max) => Math.random() * (max - min) + min;
|
|
16
|
+
exports.rand = rand;
|
|
17
|
+
/** Takes an array of numbers and finds and average */
|
|
18
|
+
const average = (nArr) => nArr.reduce((a = 0, b = 0) => a + b, 0) / nArr.length;
|
|
19
|
+
exports.average = average;
|
|
20
|
+
/**
|
|
21
|
+
* Takes a number `n` & fixes to decimal places `places`
|
|
22
|
+
* @param n - the number to fix decimal places of
|
|
23
|
+
* @param places - number of decimal places to round to
|
|
24
|
+
* @example
|
|
25
|
+
* ```js
|
|
26
|
+
* decPlaces(1.1276, 2) //=> 1.13
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
const decPlace = (n, places) => parseFloat(n.toFixed(places));
|
|
30
|
+
exports.decPlace = decPlace;
|
|
31
|
+
/**
|
|
32
|
+
* @example
|
|
33
|
+
* ```js
|
|
34
|
+
* numberWithCommas(1000000) //=> '1,000,000'
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
const numberWithCommas = (n) => n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
38
|
+
exports.numberWithCommas = numberWithCommas;
|
|
39
|
+
/**
|
|
40
|
+
* Takes a number || number[] and min & max, will generate a
|
|
41
|
+
* new random number.
|
|
42
|
+
*/
|
|
43
|
+
function newNum(prevNum, min, max) {
|
|
44
|
+
let num;
|
|
45
|
+
let loop = 0;
|
|
46
|
+
const dict = (0, _1.isType)(prevNum, 'array') ?
|
|
47
|
+
(0, _1.arrToBoolDict)(prevNum) : { [prevNum]: true };
|
|
48
|
+
do {
|
|
49
|
+
num = (0, exports.randInt)(min, max);
|
|
50
|
+
loop++;
|
|
51
|
+
if (loop > 1_000_000) {
|
|
52
|
+
console.error('Check for infinite loops');
|
|
53
|
+
throw new Error('Looped 1 million times');
|
|
54
|
+
}
|
|
55
|
+
} while (dict[num]);
|
|
56
|
+
return num;
|
|
57
|
+
}
|
|
56
58
|
//# sourceMappingURL=number.js.map
|
package/dist/number.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sourceRoot":"","sources":["../src/number.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../src/number.ts"],"names":[],"mappings":";;;AA4CA,wBAmBC;AA/DD,wBAA0C;AAE1C;;;;;;GAMG;AACI,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAD3C,QAAA,OAAO,WACoC;AAEjD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAC7C,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AADzB,QAAA,IAAI,QACqB;AAEtC,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,MAAM,CAClB,OAA0B,EAAE,GAAW,EAAE,GAAW;IAEpD,IAAI,GAAG,CAAC;IACR,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,IAAI,GAAkB,IAAA,SAAM,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,IAAA,gBAAa,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IAEjD,GAAG,CAAC;QACA,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,IAAI,EAAE,CAAC;QAEP,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE;IAEpB,OAAO,GAAG,CAAC;AACf,CAAC"}
|
package/dist/object.d.ts
CHANGED
|
@@ -1,49 +1,45 @@
|
|
|
1
|
-
import type { StrKeys, ResolvedValue,
|
|
2
|
-
/** Maps over an object just as a [ ].map would on an array */
|
|
3
|
-
export declare function objMap<T, O extends {}>(o: O, funct: (keyVal: {
|
|
4
|
-
key: StrKeys<O>;
|
|
5
|
-
val: O[StrKeys<O>];
|
|
6
|
-
}) => T): { [P in
|
|
7
|
-
/** Filters out keys based on bool value returned by function */
|
|
8
|
-
export declare function objFilter<O extends {}>(o: O, funct: (keyVal: {
|
|
9
|
-
key: StrKeys<O>;
|
|
10
|
-
val: O[StrKeys<O>];
|
|
11
|
-
}) => boolean): { [P in
|
|
12
|
-
/**
|
|
13
|
-
* Removes all keys from object in the `filterOut` array.
|
|
14
|
-
* The original object is not mutated.
|
|
15
|
-
*/
|
|
16
|
-
export declare function objRemoveKeys<T extends {}, K extends keyof T>(obj: T, filterOut: K[]):
|
|
17
|
-
export declare function objKeys<T extends {}>(o: T): StrKeys<T>[];
|
|
18
|
-
export declare const objVals: <T = any>(o: {
|
|
19
|
-
[key: string]: T;
|
|
20
|
-
}) => T[];
|
|
21
|
-
export declare const objKeyVals: <T extends {}>(o: T) => {
|
|
22
|
-
key: Extract<keyof T, string>;
|
|
23
|
-
val: T[Extract<keyof T, string>];
|
|
24
|
-
}[];
|
|
25
|
-
/**
|
|
26
|
-
* Creates a new object from `extract` object and an array of `keys` to
|
|
27
|
-
* transfer
|
|
28
|
-
*/
|
|
29
|
-
export declare function objExtract<T extends {}, K extends keyof T, U extends {
|
|
30
|
-
[P in K]: T[P];
|
|
31
|
-
}>(extract: T, keys: K[]): U;
|
|
32
|
-
/**
|
|
33
|
-
* @param o the object that is to be resolved
|
|
34
|
-
* @param path path to the desired value eg:
|
|
35
|
-
* ```ts
|
|
36
|
-
* "first.second.stuff" => obj.first.second.stuff
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
39
|
-
export declare const objResolve: (o: AnyObj, path: string) => any;
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
*/
|
|
49
|
-
export declare function objPromiseAll<T extends Dict<Promise<any>>>(obj: T): Promise<{ [P in keyof T]: ResolvedValue<T[P]>; }>;
|
|
1
|
+
import type { Omit, StrKeys, ResolvedValue, AnyObj } from '.';
|
|
2
|
+
/** Maps over an object just as a [ ].map would on an array */
|
|
3
|
+
export declare function objMap<T, O extends {}>(o: O, funct: (keyVal: {
|
|
4
|
+
key: StrKeys<O>;
|
|
5
|
+
val: O[StrKeys<O>];
|
|
6
|
+
}) => T): { [P in StrKeys<O>]: T; };
|
|
7
|
+
/** Filters out keys based on bool value returned by function */
|
|
8
|
+
export declare function objFilter<O extends {}>(o: O, funct: (keyVal: {
|
|
9
|
+
key: StrKeys<O>;
|
|
10
|
+
val: O[StrKeys<O>];
|
|
11
|
+
}) => boolean): { [P in StrKeys<O>]?: O[P]; };
|
|
12
|
+
/**
|
|
13
|
+
* Removes all keys from object in the `filterOut` array.
|
|
14
|
+
* The original object is not mutated.
|
|
15
|
+
*/
|
|
16
|
+
export declare function objRemoveKeys<T extends {}, K extends keyof T>(obj: T, filterOut: K[]): Omit<T, K>;
|
|
17
|
+
export declare function objKeys<T extends {}>(o: T): StrKeys<T>[];
|
|
18
|
+
export declare const objVals: <T = any>(o: {
|
|
19
|
+
[key: string]: T;
|
|
20
|
+
}) => T[];
|
|
21
|
+
export declare const objKeyVals: <T extends {}>(o: T) => {
|
|
22
|
+
key: Extract<keyof T, string>;
|
|
23
|
+
val: T[Extract<keyof T, string>];
|
|
24
|
+
}[];
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new object from `extract` object and an array of `keys` to
|
|
27
|
+
* transfer
|
|
28
|
+
*/
|
|
29
|
+
export declare function objExtract<T extends {}, K extends keyof T, U extends {
|
|
30
|
+
[P in K]: T[P];
|
|
31
|
+
}>(extract: T, keys: K[]): U;
|
|
32
|
+
/**
|
|
33
|
+
* @param o the object that is to be resolved
|
|
34
|
+
* @param path path to the desired value eg:
|
|
35
|
+
* ```ts
|
|
36
|
+
* "first.second.stuff" => obj.first.second.stuff
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare const objResolve: (o: AnyObj, path: string) => any;
|
|
40
|
+
/**
|
|
41
|
+
* Takes a dictionary/object made of Promises and Observables and
|
|
42
|
+
* extracts all values. This function will return resolved values from all
|
|
43
|
+
* Observable/Promise on the obj when all promises on object resolve.
|
|
44
|
+
*/
|
|
45
|
+
export declare function objPromiseAll<T extends Dict<Promise<any>>>(obj: T): Promise<{ [P in keyof T]: ResolvedValue<T[P]>; }>;
|