@bitbeater/ecma-utils 2.7.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 +23 -0
- package/dist/bytes.d.ts +65 -0
- package/dist/bytes.d.ts.map +1 -0
- package/dist/bytes.js +68 -0
- package/dist/bytes.js.map +1 -0
- package/dist/collection/CircularArray.d.ts +98 -0
- package/dist/collection/CircularArray.d.ts.map +1 -0
- package/dist/collection/CircularArray.js +134 -0
- package/dist/collection/CircularArray.js.map +1 -0
- package/dist/collection/EvictingDequeue.d.ts +22 -0
- package/dist/collection/EvictingDequeue.d.ts.map +1 -0
- package/dist/collection/EvictingDequeue.js +57 -0
- package/dist/collection/EvictingDequeue.js.map +1 -0
- package/dist/collection/collection.d.ts +4 -0
- package/dist/collection/collection.d.ts.map +1 -0
- package/dist/collection/collection.js +23 -0
- package/dist/collection/collection.js.map +1 -0
- package/dist/collection/collectionOperations.d.ts +125 -0
- package/dist/collection/collectionOperations.d.ts.map +1 -0
- package/dist/collection/collectionOperations.js +193 -0
- package/dist/collection/collectionOperations.js.map +1 -0
- package/dist/cons.d.ts +34 -0
- package/dist/cons.d.ts.map +1 -0
- package/dist/cons.js +49 -0
- package/dist/cons.js.map +1 -0
- package/dist/consts.d.ts +2 -0
- package/dist/consts.d.ts.map +1 -0
- package/dist/consts.js +5 -0
- package/dist/consts.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +95 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +172 -0
- package/dist/logger.js.map +1 -0
- package/dist/math.d.ts +183 -0
- package/dist/math.d.ts.map +1 -0
- package/dist/math.js +263 -0
- package/dist/math.js.map +1 -0
- package/dist/net/http.d.ts +22 -0
- package/dist/net/http.d.ts.map +1 -0
- package/dist/net/http.js +74 -0
- package/dist/net/http.js.map +1 -0
- package/dist/object.d.ts +98 -0
- package/dist/object.d.ts.map +1 -0
- package/dist/object.js +127 -0
- package/dist/object.js.map +1 -0
- package/dist/path/path.d.ts +2 -0
- package/dist/path/path.d.ts.map +1 -0
- package/dist/path/path.js +8 -0
- package/dist/path/path.js.map +1 -0
- package/dist/promises.d.ts +3 -0
- package/dist/promises.d.ts.map +1 -0
- package/dist/promises.js +13 -0
- package/dist/promises.js.map +1 -0
- package/dist/random.d.ts +46 -0
- package/dist/random.d.ts.map +1 -0
- package/dist/random.js +76 -0
- package/dist/random.js.map +1 -0
- package/dist/revivers.d.ts +25 -0
- package/dist/revivers.d.ts.map +1 -0
- package/dist/revivers.js +34 -0
- package/dist/revivers.js.map +1 -0
- package/dist/strings.d.ts +16 -0
- package/dist/strings.d.ts.map +1 -0
- package/dist/strings.js +34 -0
- package/dist/strings.js.map +1 -0
- package/dist/time/time.d.ts +189 -0
- package/dist/time/time.d.ts.map +1 -0
- package/dist/time/time.js +315 -0
- package/dist/time/time.js.map +1 -0
- package/dist/time/timer.d.ts +93 -0
- package/dist/time/timer.d.ts.map +1 -0
- package/dist/time/timer.js +182 -0
- package/dist/time/timer.js.map +1 -0
- package/dist/time.d.ts +189 -0
- package/dist/time.d.ts.map +1 -0
- package/dist/time.js +308 -0
- package/dist/time.js.map +1 -0
- package/dist/utils/task_duration_tracker.d.ts +102 -0
- package/dist/utils/task_duration_tracker.d.ts.map +1 -0
- package/dist/utils/task_duration_tracker.js +144 -0
- package/dist/utils/task_duration_tracker.js.map +1 -0
- package/dist/utils/utils.d.ts +24 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +47 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +68 -0
package/dist/object.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPathKeys = getPathKeys;
|
|
4
|
+
exports.isPlainObject = isPlainObject;
|
|
5
|
+
exports.keysOf = keysOf;
|
|
6
|
+
/**
|
|
7
|
+
* Returns an array of a given object's keys paths (own and nested key names) in a reccursive manner, iterated in the same order that a normal loop would.
|
|
8
|
+
*
|
|
9
|
+
* @example ```ts
|
|
10
|
+
* const object={
|
|
11
|
+
* str:"hello",
|
|
12
|
+
* nr:1,
|
|
13
|
+
* fn: (a:number,b:number)=> a+b,
|
|
14
|
+
* arr:[1,2,3],
|
|
15
|
+
* nestedObject:{
|
|
16
|
+
* str:"world",
|
|
17
|
+
* nr:2,
|
|
18
|
+
* fn: (a:number,b:number)=> a+b,
|
|
19
|
+
* arr:[4.5],
|
|
20
|
+
* }
|
|
21
|
+
* };
|
|
22
|
+
*
|
|
23
|
+
* getPathKeys(object)
|
|
24
|
+
*
|
|
25
|
+
* // RETURNS:
|
|
26
|
+
* // [ 'str',
|
|
27
|
+
* // 'nr',
|
|
28
|
+
* // 'fn',
|
|
29
|
+
* // 'arr',
|
|
30
|
+
* // 'nestedObject',
|
|
31
|
+
* // 'nestedObject.str',
|
|
32
|
+
* // 'nestedObject.nr',
|
|
33
|
+
* // 'nestedObject.fn',
|
|
34
|
+
* // 'nestedObject.arr' ]
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example ```ts
|
|
38
|
+
* const object={
|
|
39
|
+
* str:"hello",
|
|
40
|
+
* nestedObject:{
|
|
41
|
+
* str:"world",
|
|
42
|
+
* nr:2,
|
|
43
|
+
* fn: (a:number,b:number)=> a+b,
|
|
44
|
+
* arr:[4.5],
|
|
45
|
+
* }
|
|
46
|
+
* };
|
|
47
|
+
*
|
|
48
|
+
* getPathKeys(object,{omitFirstLevel:true})
|
|
49
|
+
*
|
|
50
|
+
* // RETURNS:
|
|
51
|
+
* // [ 'str',
|
|
52
|
+
* // 'nestedObject.str',
|
|
53
|
+
* // 'nestedObject.nr',
|
|
54
|
+
* // 'nestedObject.fn',
|
|
55
|
+
* // 'nestedObject.arr' ]
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @param obj object from which to derive the paths
|
|
59
|
+
* @param options options object
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
function getPathKeys(obj, options) {
|
|
63
|
+
if (!obj)
|
|
64
|
+
return;
|
|
65
|
+
if (typeof obj === 'string')
|
|
66
|
+
return;
|
|
67
|
+
const pathKeys = [];
|
|
68
|
+
for (const rawKey of Object.keys(obj)) {
|
|
69
|
+
const value = obj[rawKey];
|
|
70
|
+
if (typeof value === 'function' && options?.ignoreFunctions)
|
|
71
|
+
continue;
|
|
72
|
+
const key = Array.isArray(obj) ? '[' + rawKey + ']' : rawKey;
|
|
73
|
+
if (Array.isArray(value) || typeof value !== 'object' || !options?.omitFirstLevel)
|
|
74
|
+
pathKeys.push(key);
|
|
75
|
+
if (typeof value === 'object') {
|
|
76
|
+
if (Array.isArray(value) && !options?.unfoldArrays)
|
|
77
|
+
continue;
|
|
78
|
+
const secondLevelSeparator = Array.isArray(value) ? '' : '.';
|
|
79
|
+
const secondLevelKeys = getPathKeys(value, options);
|
|
80
|
+
if (!secondLevelKeys?.length)
|
|
81
|
+
continue;
|
|
82
|
+
const secondLevelPathKeys = secondLevelKeys.map(k => key + secondLevelSeparator + k);
|
|
83
|
+
pathKeys.push(...secondLevelPathKeys);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return pathKeys;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Checks if a value is a plain object (not null, not array, not date, not promise, not function)
|
|
90
|
+
*
|
|
91
|
+
* @param v value to check
|
|
92
|
+
* @returns boolean indicating if the value is a plain object
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* isPlainObject({}) // => true
|
|
97
|
+
* isPlainObject({ a: 1, b: { c: 2 } }) // => true
|
|
98
|
+
* isPlainObject(() => {}) // => false
|
|
99
|
+
* isPlainObject(null) // => false
|
|
100
|
+
* isPlainObject(undefined) // => false
|
|
101
|
+
* isPlainObject([]) // => false
|
|
102
|
+
* isPlainObject(new Date()) // => false
|
|
103
|
+
* isPlainObject("hello") // => false
|
|
104
|
+
* isPlainObject(123) // => false
|
|
105
|
+
* isPlainObject(true) // => false
|
|
106
|
+
* isPlainObject(Symbol("sym")) // => false
|
|
107
|
+
* isPlainObject(BigInt(123)) // => false
|
|
108
|
+
* isPlainObject(Promise.resolve(123)) // => false
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
function isPlainObject(v) {
|
|
112
|
+
return typeof v === 'object' && v !== null && !(v instanceof Date) && !Array.isArray(v) && !(v instanceof Promise);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* returns the keys of an object as an array, with proper typing.
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* const obj = { a: 1, b: 2, c: 3 };
|
|
119
|
+
* const keys = keysOf(obj); // ['a', 'b', 'c']
|
|
120
|
+
* ```
|
|
121
|
+
* @param o
|
|
122
|
+
* @returns
|
|
123
|
+
*/
|
|
124
|
+
function keysOf(o) {
|
|
125
|
+
return Object.keys(o);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":";;AA8DA,kCA2BC;AAyBD,sCAEC;AAYD,wBAEC;AA5HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,SAAgB,WAAW,CAAC,GAAQ,EAAE,OAAyB;IAC9D,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO;IAEpC,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,EAAE,eAAe;YAAE,SAAS;QAEtE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAE7D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,cAAc;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY;gBAAE,SAAS;YAE7D,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAE7D,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,eAAe,EAAE,MAAM;gBAAE,SAAS;YACvC,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,oBAAoB,GAAG,CAAC,CAAC,CAAC;YACrF,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,aAAa,CAAC,CAAU;IACvC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,CAAC;AACpH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,MAAM,CAAmB,CAAI;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAgB,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/path/path.ts"],"names":[],"mappings":"AAAA,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/path/path.ts"],"names":[],"mappings":"AAAA,SAAS,gBAAgB,CAAC,IAAY;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,YAAY,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promises.d.ts","sourceRoot":"","sources":["../src/promises.ts"],"names":[],"mappings":"AAAA,wBAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE1C;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C"}
|
package/dist/promises.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.of = of;
|
|
4
|
+
exports.delay = delay;
|
|
5
|
+
function of(data) {
|
|
6
|
+
return Promise.resolve(data);
|
|
7
|
+
}
|
|
8
|
+
function delay(ms) {
|
|
9
|
+
return new Promise((resolve, _reject) => {
|
|
10
|
+
setTimeout(resolve, ms);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=promises.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promises.js","sourceRoot":"","sources":["../src/promises.ts"],"names":[],"mappings":";;AAAA,gBAEC;AAED,sBAIC;AARD,SAAgB,EAAE,CAAI,IAAQ;IAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,KAAK,CAAC,EAAU;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QACvC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/random.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a random floating-point number between min and max (inclusive).
|
|
3
|
+
* @param min The minimum value.
|
|
4
|
+
* @param max The maximum value.
|
|
5
|
+
* @returns A random floating-point number between min and max.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getRandom(min?: number, max?: number): number;
|
|
8
|
+
/**
|
|
9
|
+
* Returns a random integer between min and max (inclusive).
|
|
10
|
+
* @param min The minimum value.
|
|
11
|
+
* @param max The maximum value.
|
|
12
|
+
* @returns A random integer between min and max.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getRandomInt(min?: number, max?: number): number;
|
|
15
|
+
/**
|
|
16
|
+
* Returns a random boolean value.
|
|
17
|
+
* @param trueProbability A number between 0 and 1 representing the probability of returning true. Default is 0.5.
|
|
18
|
+
* @returns A random boolean value.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getRandomBool(trueProbability?: number): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Returns either 1 or -1, with equal probability.
|
|
23
|
+
* @returns Either 1 or -1.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getRandomSign(positiveProbability?: number): 1 | -1;
|
|
26
|
+
/**]
|
|
27
|
+
* Returns a random character from the given string of characters.
|
|
28
|
+
* @param chars A string containing the characters to choose from. Default is alphanumeric characters.
|
|
29
|
+
* @returns A random character from the given string.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getRandomChar(chars?: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Returns a random string of the specified length using the given characters.
|
|
34
|
+
* @param length The length of the random string to generate.
|
|
35
|
+
* @param chars A string containing the characters to choose from. Default is alphanumeric characters.
|
|
36
|
+
* @returns A random string of the specified length.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getRandomString(length: number, chars?: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Returns a random date between the specified start and end dates.
|
|
41
|
+
* @param start The start date (inclusive).
|
|
42
|
+
* @param end The end date (inclusive).
|
|
43
|
+
* @returns A random date between the start and end dates.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getRandomDate(start?: Date, end?: Date): Date;
|
|
46
|
+
//# sourceMappingURL=random.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,SAAmB,EAAE,GAAG,SAAmB,GAAG,MAAM,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AAEH,wBAAgB,aAAa,CAAC,eAAe,SAAM,GAAG,OAAO,CAE5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,mBAAmB,SAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAmE,GAAG,MAAM,CAE9G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAmE,GAAG,MAAM,CAMhI;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,OAAc,EAAE,GAAG,OAAwB,GAAG,IAAI,CAEpF"}
|
package/dist/random.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRandom = getRandom;
|
|
4
|
+
exports.getRandomInt = getRandomInt;
|
|
5
|
+
exports.getRandomBool = getRandomBool;
|
|
6
|
+
exports.getRandomSign = getRandomSign;
|
|
7
|
+
exports.getRandomChar = getRandomChar;
|
|
8
|
+
exports.getRandomString = getRandomString;
|
|
9
|
+
exports.getRandomDate = getRandomDate;
|
|
10
|
+
const collectionOperations_1 = require("./collection/collectionOperations");
|
|
11
|
+
const time_1 = require("./time/time");
|
|
12
|
+
/**
|
|
13
|
+
* Returns a random floating-point number between min and max (inclusive).
|
|
14
|
+
* @param min The minimum value.
|
|
15
|
+
* @param max The maximum value.
|
|
16
|
+
* @returns A random floating-point number between min and max.
|
|
17
|
+
*/
|
|
18
|
+
function getRandom(min = Number.MIN_VALUE, max = Number.MAX_VALUE) {
|
|
19
|
+
return Math.random() * (max - min) + min;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns a random integer between min and max (inclusive).
|
|
23
|
+
* @param min The minimum value.
|
|
24
|
+
* @param max The maximum value.
|
|
25
|
+
* @returns A random integer between min and max.
|
|
26
|
+
*/
|
|
27
|
+
function getRandomInt(min, max) {
|
|
28
|
+
return Math.floor(getRandom(min, max));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns a random boolean value.
|
|
32
|
+
* @param trueProbability A number between 0 and 1 representing the probability of returning true. Default is 0.5.
|
|
33
|
+
* @returns A random boolean value.
|
|
34
|
+
*/
|
|
35
|
+
function getRandomBool(trueProbability = 0.5) {
|
|
36
|
+
return Math.random() < trueProbability;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Returns either 1 or -1, with equal probability.
|
|
40
|
+
* @returns Either 1 or -1.
|
|
41
|
+
*/
|
|
42
|
+
function getRandomSign(positiveProbability = 0.5) {
|
|
43
|
+
return getRandomBool(positiveProbability) ? 1 : -1;
|
|
44
|
+
}
|
|
45
|
+
/**]
|
|
46
|
+
* Returns a random character from the given string of characters.
|
|
47
|
+
* @param chars A string containing the characters to choose from. Default is alphanumeric characters.
|
|
48
|
+
* @returns A random character from the given string.
|
|
49
|
+
*/
|
|
50
|
+
function getRandomChar(chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') {
|
|
51
|
+
return (0, collectionOperations_1.takeRandomElement)(chars.split(''));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Returns a random string of the specified length using the given characters.
|
|
55
|
+
* @param length The length of the random string to generate.
|
|
56
|
+
* @param chars A string containing the characters to choose from. Default is alphanumeric characters.
|
|
57
|
+
* @returns A random string of the specified length.
|
|
58
|
+
*/
|
|
59
|
+
function getRandomString(length, chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') {
|
|
60
|
+
let result = '';
|
|
61
|
+
for (let i = 0; i < length; i++) {
|
|
62
|
+
result += getRandomChar(chars);
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Returns a random date between the specified start and end dates.
|
|
68
|
+
* @param start The start date (inclusive).
|
|
69
|
+
* @param end The end date (inclusive).
|
|
70
|
+
* @returns A random date between the start and end dates.
|
|
71
|
+
*/
|
|
72
|
+
function getRandomDate(start = new Date(0), end = new Date(time_1.MAX_JS_DATE)) {
|
|
73
|
+
return new Date(getRandomInt(start.getTime(), end.getTime()));
|
|
74
|
+
}
|
|
75
|
+
/// return new Date(getRandomInt(start.getTime(), end.getTime()));
|
|
76
|
+
//# sourceMappingURL=random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":";;AASA,8BAEC;AAQD,oCAEC;AAQD,sCAEC;AAMD,sCAEC;AAOD,sCAEC;AAQD,0CAMC;AAQD,sCAEC;AAxED,4EAAsE;AACtE,sCAA0C;AAE1C;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAAC,SAAS;IACvE,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,GAAY,EAAE,GAAY;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AAEH,SAAgB,aAAa,CAAC,eAAe,GAAG,GAAG;IAClD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,mBAAmB,GAAG,GAAG;IACtD,OAAO,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,KAAK,GAAG,gEAAgE;IACrG,OAAO,IAAA,wCAAiB,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,MAAc,EAAE,KAAK,GAAG,gEAAgE;IACvH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,kBAAW,CAAC;IAC7E,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,kEAAkE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#using_the_reviver_parameter
|
|
3
|
+
*/
|
|
4
|
+
export type Reviver<T> = (key: string, value: any) => T;
|
|
5
|
+
/**
|
|
6
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#using_the_reviver_parameter
|
|
7
|
+
*/
|
|
8
|
+
export type Replacer<T> = Reviver<T> | (number | string)[] | null;
|
|
9
|
+
/**
|
|
10
|
+
* revive
|
|
11
|
+
* @param _key
|
|
12
|
+
* @param value
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
export declare const ISO_8601StringtoDate: Reviver<Date>;
|
|
16
|
+
/**
|
|
17
|
+
* merge multiple reviver in one, the resulted value is equal to the result of the first reviver that resolve,
|
|
18
|
+
* so reviver order determine theire priority
|
|
19
|
+
*
|
|
20
|
+
* @param revivers
|
|
21
|
+
* @returns
|
|
22
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#using_the_reviver_parameter
|
|
23
|
+
*/
|
|
24
|
+
export declare function mergeRevivers(...revivers: Reviver<any>[]): Reviver<any>;
|
|
25
|
+
//# sourceMappingURL=revivers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revivers.d.ts","sourceRoot":"","sources":["../src/revivers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,IAAI,CAA+H,CAAC;AAE/K;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CASvE"}
|
package/dist/revivers.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ISO_8601StringtoDate = void 0;
|
|
4
|
+
exports.mergeRevivers = mergeRevivers;
|
|
5
|
+
const consts_1 = require("./consts");
|
|
6
|
+
/**
|
|
7
|
+
* revive
|
|
8
|
+
* @param _key
|
|
9
|
+
* @param value
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
const ISO_8601StringtoDate = (_key, value) => (typeof value === 'string' && consts_1.ISO_8601_DATE_FORMAT_REX.test(value) ? new Date(value) : value);
|
|
13
|
+
exports.ISO_8601StringtoDate = ISO_8601StringtoDate;
|
|
14
|
+
/**
|
|
15
|
+
* merge multiple reviver in one, the resulted value is equal to the result of the first reviver that resolve,
|
|
16
|
+
* so reviver order determine theire priority
|
|
17
|
+
*
|
|
18
|
+
* @param revivers
|
|
19
|
+
* @returns
|
|
20
|
+
* @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#using_the_reviver_parameter
|
|
21
|
+
*/
|
|
22
|
+
function mergeRevivers(...revivers) {
|
|
23
|
+
if (!revivers?.length)
|
|
24
|
+
return;
|
|
25
|
+
return (key, value) => {
|
|
26
|
+
for (const reviver of revivers) {
|
|
27
|
+
const revived = reviver(key, value);
|
|
28
|
+
if (revived !== value)
|
|
29
|
+
return revived;
|
|
30
|
+
}
|
|
31
|
+
return value;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=revivers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revivers.js","sourceRoot":"","sources":["../src/revivers.ts"],"names":[],"mappings":";;;AA4BA,sCASC;AArCD,qCAAoD;AAYpD;;;;;GAKG;AACI,MAAM,oBAAoB,GAAkB,CAAC,IAAY,EAAE,KAAU,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,iCAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAAlK,QAAA,oBAAoB,wBAA8I;AAE/K;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,GAAG,QAAwB;IACxD,IAAI,CAAC,QAAQ,EAAE,MAAM;QAAE,OAAO;IAC9B,OAAO,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE;QAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC;QACvC,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare function isJson(str: string): boolean;
|
|
2
|
+
/**
|
|
3
|
+
* convert a template string to a normal string.
|
|
4
|
+
* example:
|
|
5
|
+
* ```ts
|
|
6
|
+
* const name = 'world';
|
|
7
|
+
* const str = templateToString`hello ${name}!`;
|
|
8
|
+
* // str = 'hello world!'
|
|
9
|
+
*
|
|
10
|
+
* @param template
|
|
11
|
+
* @param expressions
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function templateToString(template: TemplateStringsArray, ...expressions: TemplateExpression[]): string;
|
|
15
|
+
export type TemplateExpression = string | number | Array<string | number>;
|
|
16
|
+
//# sourceMappingURL=strings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAS7G;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC"}
|
package/dist/strings.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isJson = isJson;
|
|
4
|
+
exports.templateToString = templateToString;
|
|
5
|
+
function isJson(str) {
|
|
6
|
+
try {
|
|
7
|
+
JSON.parse(str);
|
|
8
|
+
}
|
|
9
|
+
catch (e) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* convert a template string to a normal string.
|
|
16
|
+
* example:
|
|
17
|
+
* ```ts
|
|
18
|
+
* const name = 'world';
|
|
19
|
+
* const str = templateToString`hello ${name}!`;
|
|
20
|
+
* // str = 'hello world!'
|
|
21
|
+
*
|
|
22
|
+
* @param template
|
|
23
|
+
* @param expressions
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
function templateToString(template, ...expressions) {
|
|
27
|
+
const merged = [];
|
|
28
|
+
for (let i = 0; i < template.length; i++) {
|
|
29
|
+
merged.push(template[i]);
|
|
30
|
+
merged.push(expressions[i]);
|
|
31
|
+
}
|
|
32
|
+
return merged.join('');
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=strings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":";;AAAA,wBAOC;AAcD,4CASC;AA9BD,SAAgB,MAAM,CAAC,GAAW;IACjC,IAAI,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAC,QAA8B,EAAE,GAAG,WAAiC;IACpG,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
export declare const MAX_JS_DATE = 8640000000000000;
|
|
2
|
+
/** in millis */
|
|
3
|
+
export declare const millis = 1;
|
|
4
|
+
/** in millis */
|
|
5
|
+
export declare const second: number;
|
|
6
|
+
/** in millis */
|
|
7
|
+
export declare const minute: number;
|
|
8
|
+
/** in millis */
|
|
9
|
+
export declare const hour: number;
|
|
10
|
+
/** in millis */
|
|
11
|
+
export declare const day: number;
|
|
12
|
+
/** in millis */
|
|
13
|
+
export declare const week: number;
|
|
14
|
+
/**
|
|
15
|
+
* In millis
|
|
16
|
+
* The average month is 365/12 = 30.42 days in a regular year and 366/12 = 30.50 days in a leap year. The Gregorian (western) solar calendar has 365.2425/12 = 30.436875 days on the average, varying between 28 and 31 days.
|
|
17
|
+
*/
|
|
18
|
+
export declare const solarYear: number;
|
|
19
|
+
/** in millis */
|
|
20
|
+
export declare const month: number;
|
|
21
|
+
/** in millis */
|
|
22
|
+
export declare const year: number;
|
|
23
|
+
/** 366 days */
|
|
24
|
+
export declare const leapYear: number;
|
|
25
|
+
/** 29 days */
|
|
26
|
+
export declare const leapFebruary: number;
|
|
27
|
+
/** in millis */
|
|
28
|
+
export declare const january: number;
|
|
29
|
+
/** in millis */
|
|
30
|
+
export declare const february: number;
|
|
31
|
+
/** in millis */
|
|
32
|
+
export declare const march: number;
|
|
33
|
+
/** in millis */
|
|
34
|
+
export declare const april: number;
|
|
35
|
+
/** in millis */
|
|
36
|
+
export declare const may: number;
|
|
37
|
+
/** in millis */
|
|
38
|
+
export declare const june: number;
|
|
39
|
+
/** in millis */
|
|
40
|
+
export declare const july: number;
|
|
41
|
+
/** in millis */
|
|
42
|
+
export declare const august: number;
|
|
43
|
+
/** in millis */
|
|
44
|
+
export declare const september: number;
|
|
45
|
+
/** in millis */
|
|
46
|
+
export declare const october: number;
|
|
47
|
+
/** in millis */
|
|
48
|
+
export declare const november: number;
|
|
49
|
+
/** in millis */
|
|
50
|
+
export declare const december: number;
|
|
51
|
+
export declare const months: number[];
|
|
52
|
+
export declare const leapMonths: number[];
|
|
53
|
+
export interface Duration {
|
|
54
|
+
years?: number;
|
|
55
|
+
months?: number;
|
|
56
|
+
weeks?: number;
|
|
57
|
+
days?: number;
|
|
58
|
+
hours?: number;
|
|
59
|
+
minutes?: number;
|
|
60
|
+
seconds?: number;
|
|
61
|
+
milliseconds?: number;
|
|
62
|
+
}
|
|
63
|
+
export interface Interval {
|
|
64
|
+
start?: Date;
|
|
65
|
+
end?: Date;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* parse a duration into millisecconds
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```js
|
|
72
|
+
* durationToMilliSeconds({seconds:1}) // => 1000
|
|
73
|
+
* durationToMilliSeconds({minutes:1}) // => 60_000
|
|
74
|
+
* durationToMilliSeconds({hours:1}) // => 3_600_000
|
|
75
|
+
* durationToMilliSeconds({minutes:1,seconds:1}) // => 61_000
|
|
76
|
+
* durationToMilliSeconds({hours:1,minutes:1,seconds:1}) // => 3_661_000
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare function durationToMilliSeconds(duration: Duration): number;
|
|
80
|
+
export declare function millisecondsToDuration(millis: number): Duration;
|
|
81
|
+
/**
|
|
82
|
+
* parse a duration into millisecconds
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```js
|
|
86
|
+
* durationToMilliSeconds({seconds:1}) // => 1
|
|
87
|
+
* durationToMilliSeconds({minutes:1}) // => 60
|
|
88
|
+
* durationToMilliSeconds({hours:1}) // => 3_600
|
|
89
|
+
* durationToMilliSeconds({minutes:1,seconds:1}) // => 61
|
|
90
|
+
* durationToMilliSeconds({hours:1,minutes:1,seconds:1}) // => 3_661
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare function durationToSeconds(duration: Duration): number;
|
|
94
|
+
/**
|
|
95
|
+
* check if the duration is larger than the interval
|
|
96
|
+
*/
|
|
97
|
+
export declare function isDurationBiggerThanInterval(interval: Interval, duration: Duration): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* divide the given interval into smaller intervals, each having the duration equal to the given duration
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```js
|
|
103
|
+
* const start=new Date('2000-01-01');
|
|
104
|
+
* const end=new Date('2000-01-10');
|
|
105
|
+
*
|
|
106
|
+
* splitIntervalByDuration({start, end},{days:1});
|
|
107
|
+
* // [
|
|
108
|
+
* // {start:2000-01-01, end:2000-01-02},
|
|
109
|
+
* // {start:2000-01-02, end:2000-01-03},
|
|
110
|
+
* // {start:2000-01-03, end:2000-01-04},
|
|
111
|
+
* // {start:2000-01-04, end:2000-01-05},
|
|
112
|
+
* // {start:2000-01-05, end:2000-01-06},
|
|
113
|
+
* // {start:2000-01-06, end:2000-01-07},
|
|
114
|
+
* // {start:2000-01-07, end:2000-01-08},
|
|
115
|
+
* // {start:2000-01-08, end:2000-01-09},
|
|
116
|
+
* // {start:2000-01-09, end:2000-01-10},
|
|
117
|
+
* // ]
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export declare function splitIntervalByDuration(interval: Interval, duration: Duration): Interval[];
|
|
121
|
+
/**
|
|
122
|
+
* multiply the given duration
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```js
|
|
126
|
+
* const duration={moths:2, days:3, hours:4};
|
|
127
|
+
*
|
|
128
|
+
* multiplyDuration(duration:Duration,multiplier:number) // => {moths:4, days:6, hours:8}
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare function multiplyDuration(duration: Duration, multiplier: number): Duration;
|
|
132
|
+
/**
|
|
133
|
+
* add the given durations
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```js
|
|
137
|
+
* const duration1={moths:2, days:3, hours:4};
|
|
138
|
+
* const duration2={moths:2, days:3, hours:4};
|
|
139
|
+
* const duration3={moths:2, days:3, hours:4};
|
|
140
|
+
*
|
|
141
|
+
* addDurations(duration1,duration2,duration3) // => {moths:6, days:9, hours:12}
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
export declare function addDurations(...durations: Duration[]): Duration;
|
|
145
|
+
export declare function isValidDate(value: any): value is Date;
|
|
146
|
+
/**
|
|
147
|
+
* Format a date into sql datetime value
|
|
148
|
+
* @param date
|
|
149
|
+
* @returns
|
|
150
|
+
* * @example
|
|
151
|
+
* ```js
|
|
152
|
+
* const date = new Date();
|
|
153
|
+
* toSqlDate() // => "2017-06-29 17:54:04"
|
|
154
|
+
*
|
|
155
|
+
*/
|
|
156
|
+
export declare function toSqlDate(date: Date): string;
|
|
157
|
+
/**
|
|
158
|
+
* Convert an interval to a duration
|
|
159
|
+
* @param interval
|
|
160
|
+
* @returns
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* const interval = { start: new Date('2000-01-01'), end: new Date('2000-01-10') };
|
|
165
|
+
* const duration = IntervalToDuration(interval);
|
|
166
|
+
* // { years: 0, months: 0, weeks: 0, days: 9, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 }
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
export declare function intervalToDuration(interval: Interval): Duration;
|
|
170
|
+
/**
|
|
171
|
+
* Humanize a duration object into a human-readable string.
|
|
172
|
+
* @example
|
|
173
|
+
* ```js
|
|
174
|
+
* const duration = { years: 1, months: 2, days: 3, hours: 4, minutes: 5, seconds: 6 };
|
|
175
|
+
* humanizeDuration(duration) // => "1 year, 2 months, 3 days, 4 hours, 5 minutes and 6 seconds"
|
|
176
|
+
* ```
|
|
177
|
+
* * @example
|
|
178
|
+
* ```js
|
|
179
|
+
* const duration = { seconds: 4000 };
|
|
180
|
+
* humanizeDuration(duration) // => "1 hour, 6 minutes and 40 seconds"
|
|
181
|
+
* ```
|
|
182
|
+
* @param inDuration
|
|
183
|
+
* @param options
|
|
184
|
+
* @returns
|
|
185
|
+
*/
|
|
186
|
+
export declare function humanizeDuration(inDuration: Duration, options?: {
|
|
187
|
+
reduce?: boolean;
|
|
188
|
+
}): string;
|
|
189
|
+
//# sourceMappingURL=time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/time/time.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,mBAAU,CAAC;AAEnC,gBAAgB;AAChB,eAAO,MAAM,MAAM,IAAI,CAAC;AACxB,gBAAgB;AAChB,eAAO,MAAM,MAAM,QAAgB,CAAC;AACpC,gBAAgB;AAChB,eAAO,MAAM,MAAM,QAAc,CAAC;AAClC,gBAAgB;AAChB,eAAO,MAAM,IAAI,QAAc,CAAC;AAChC,gBAAgB;AAChB,eAAO,MAAM,GAAG,QAAY,CAAC;AAC7B,gBAAgB;AAChB,eAAO,MAAM,IAAI,QAAU,CAAC;AAC5B;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAe,CAAC;AACtC,gBAAgB;AAChB,eAAO,MAAM,KAAK,QAAiB,CAAC;AACpC,gBAAgB;AAChB,eAAO,MAAM,IAAI,QAAY,CAAC;AAC9B,eAAe;AACf,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC,cAAc;AACd,eAAO,MAAM,YAAY,QAAW,CAAC;AAErC,gBAAgB;AAChB,eAAO,MAAM,OAAO,QAAW,CAAC;AAChC,gBAAgB;AAChB,eAAO,MAAM,QAAQ,QAAW,CAAC;AACjC,gBAAgB;AAChB,eAAO,MAAM,KAAK,QAAW,CAAC;AAC9B,gBAAgB;AAChB,eAAO,MAAM,KAAK,QAAW,CAAC;AAC9B,gBAAgB;AAChB,eAAO,MAAM,GAAG,QAAW,CAAC;AAC5B,gBAAgB;AAChB,eAAO,MAAM,IAAI,QAAW,CAAC;AAC7B,gBAAgB;AAChB,eAAO,MAAM,IAAI,QAAW,CAAC;AAC7B,gBAAgB;AAChB,eAAO,MAAM,MAAM,QAAW,CAAC;AAC/B,gBAAgB;AAChB,eAAO,MAAM,SAAS,QAAW,CAAC;AAClC,gBAAgB;AAChB,eAAO,MAAM,OAAO,QAAW,CAAC;AAChC,gBAAgB;AAChB,eAAO,MAAM,QAAQ,QAAW,CAAC;AACjC,gBAAgB;AAChB,eAAO,MAAM,QAAQ,QAAW,CAAC;AAEjC,eAAO,MAAM,MAAM,UAAqG,CAAC;AAEzH,eAAO,MAAM,UAAU,UAAyG,CAAC;AAEjI,MAAM,WAAW,QAAQ;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACxB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,GAAG,CAAC,EAAE,IAAI,CAAC;CACX;AACD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAWjE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CA2B/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAK5F;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAmB1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAUjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAsB/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,IAAI,CAErD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAqB/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CA4B7F"}
|