topkat-utils 1.2.105 → 1.2.106
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/coverage/clover.xml +2 -2
- package/coverage/lcov-report/clean-stack-trace.ts.html +1 -1
- package/coverage/lcov-report/config.ts.html +1 -1
- package/coverage/lcov-report/error-utils.ts.html +1 -1
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/is-empty.ts.html +1 -1
- package/coverage/lcov-report/is-nodejs.ts.html +1 -1
- package/coverage/lcov-report/is-object.ts.html +1 -1
- package/coverage/lcov-report/isset.ts.html +1 -1
- package/coverage/lcov-report/logger-utils.ts.html +1 -1
- package/coverage/lcov-report/loop-utils.ts.html +1 -1
- package/coverage/lcov-report/object-utils.ts.html +1 -1
- package/coverage/lcov-report/regexp-utils.ts.html +1 -1
- package/coverage/lcov-report/remove-circular-json-stringify.ts.html +1 -1
- package/coverage/lcov-report/string-utils.ts.html +1 -1
- package/coverage/lcov-report/timer-utils.ts.html +1 -1
- package/coverage/lcov-report/transaction-utils.ts.html +1 -1
- package/dist/src/array-utils.d.ts +1 -1
- package/dist/src/array-utils.js +2 -2
- package/dist/src/array-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/array-utils.ts +4 -4
package/coverage/clover.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
2
|
+
<coverage generated="1732911993198" clover="3.2.0">
|
|
3
|
+
<project timestamp="1732911993198" name="All files">
|
|
4
4
|
<metrics statements="1725" coveredstatements="664" conditionals="54" coveredconditionals="31" methods="123" coveredmethods="13" elements="1902" coveredelements="708" complexity="0" loc="1725" ncloc="1725" packages="1" files="15" classes="15"/>
|
|
5
5
|
<file name="clean-stack-trace.ts" path="/Users/garcias/DEV/MODULES/topkat-utils/src/clean-stack-trace.ts">
|
|
6
6
|
<metrics statements="40" coveredstatements="40" conditionals="10" coveredconditionals="7" methods="1" coveredmethods="1"/>
|
|
@@ -190,7 +190,7 @@ export function cleanStackTrace(stack) {
|
|
|
190
190
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
191
191
|
Code coverage generated by
|
|
192
192
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
193
|
-
at 2024-11-
|
|
193
|
+
at 2024-11-29T20:26:33.182Z
|
|
194
194
|
</div>
|
|
195
195
|
<script src="prettify.js"></script>
|
|
196
196
|
<script>
|
|
@@ -325,7 +325,7 @@ type RecursivePartial<T> = {
|
|
|
325
325
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
326
326
|
Code coverage generated by
|
|
327
327
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
328
|
-
at 2024-11-
|
|
328
|
+
at 2024-11-29T20:26:33.182Z
|
|
329
329
|
</div>
|
|
330
330
|
<script src="prettify.js"></script>
|
|
331
331
|
<script>
|
|
@@ -685,7 +685,7 @@ export const failSafe = tryCatch // ALIAS
|
|
|
685
685
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
686
686
|
Code coverage generated by
|
|
687
687
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
688
|
-
at 2024-11-
|
|
688
|
+
at 2024-11-29T20:26:33.182Z
|
|
689
689
|
</div>
|
|
690
690
|
<script src="prettify.js"></script>
|
|
691
691
|
<script>
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
312
312
|
Code coverage generated by
|
|
313
313
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
314
|
-
at 2024-11-
|
|
314
|
+
at 2024-11-29T20:26:33.182Z
|
|
315
315
|
</div>
|
|
316
316
|
<script src="prettify.js"></script>
|
|
317
317
|
<script>
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
89
89
|
Code coverage generated by
|
|
90
90
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
91
|
-
at 2024-11-
|
|
91
|
+
at 2024-11-29T20:26:33.182Z
|
|
92
92
|
</div>
|
|
93
93
|
<script src="prettify.js"></script>
|
|
94
94
|
<script>
|
|
@@ -94,7 +94,7 @@ export function isNodeJs(): boolean {
|
|
|
94
94
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
95
|
Code coverage generated by
|
|
96
96
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
97
|
-
at 2024-11-
|
|
97
|
+
at 2024-11-29T20:26:33.182Z
|
|
98
98
|
</div>
|
|
99
99
|
<script src="prettify.js"></script>
|
|
100
100
|
<script>
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
77
77
|
Code coverage generated by
|
|
78
78
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
79
|
-
at 2024-11-
|
|
79
|
+
at 2024-11-29T20:26:33.182Z
|
|
80
80
|
</div>
|
|
81
81
|
<script src="prettify.js"></script>
|
|
82
82
|
<script>
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
77
77
|
Code coverage generated by
|
|
78
78
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
79
|
-
at 2024-11-
|
|
79
|
+
at 2024-11-29T20:26:33.182Z
|
|
80
80
|
</div>
|
|
81
81
|
<script src="prettify.js"></script>
|
|
82
82
|
<script>
|
|
@@ -1141,7 +1141,7 @@ type loadingSpinnerTypes = 'arrow' | 'dots'
|
|
|
1141
1141
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1142
1142
|
Code coverage generated by
|
|
1143
1143
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1144
|
-
at 2024-11-
|
|
1144
|
+
at 2024-11-29T20:26:33.182Z
|
|
1145
1145
|
</div>
|
|
1146
1146
|
<script src="prettify.js"></script>
|
|
1147
1147
|
<script>
|
|
@@ -388,7 +388,7 @@ export <span class="fstat-no" title="function not covered" >async function recur
|
|
|
388
388
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
389
389
|
Code coverage generated by
|
|
390
390
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
391
|
-
at 2024-11-
|
|
391
|
+
at 2024-11-29T20:26:33.182Z
|
|
392
392
|
</div>
|
|
393
393
|
<script src="prettify.js"></script>
|
|
394
394
|
<script>
|
|
@@ -1378,7 +1378,7 @@ export const entries = objEntries</pre></td></tr></table></pre>
|
|
|
1378
1378
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1379
1379
|
Code coverage generated by
|
|
1380
1380
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1381
|
-
at 2024-11-
|
|
1381
|
+
at 2024-11-29T20:26:33.182Z
|
|
1382
1382
|
</div>
|
|
1383
1383
|
<script src="prettify.js"></script>
|
|
1384
1384
|
<script>
|
|
@@ -190,7 +190,7 @@ import { C } from './logger-utils'
|
|
|
190
190
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
191
191
|
Code coverage generated by
|
|
192
192
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
193
|
-
at 2024-11-
|
|
193
|
+
at 2024-11-29T20:26:33.182Z
|
|
194
194
|
</div>
|
|
195
195
|
<script src="prettify.js"></script>
|
|
196
196
|
<script>
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
125
125
|
Code coverage generated by
|
|
126
126
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
127
|
-
at 2024-11-
|
|
127
|
+
at 2024-11-29T20:26:33.182Z
|
|
128
128
|
</div>
|
|
129
129
|
<script src="prettify.js"></script>
|
|
130
130
|
<script>
|
|
@@ -907,7 +907,7 @@ export type MiniTemplaterOptions = {
|
|
|
907
907
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
908
908
|
Code coverage generated by
|
|
909
909
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
910
|
-
at 2024-11-
|
|
910
|
+
at 2024-11-29T20:26:33.182Z
|
|
911
911
|
</div>
|
|
912
912
|
<script src="prettify.js"></script>
|
|
913
913
|
<script>
|
|
@@ -274,7 +274,7 @@ export <span class="fstat-no" title="function not covered" >async function retry
|
|
|
274
274
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
275
275
|
Code coverage generated by
|
|
276
276
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
277
|
-
at 2024-11-
|
|
277
|
+
at 2024-11-29T20:26:33.182Z
|
|
278
278
|
</div>
|
|
279
279
|
<script src="prettify.js"></script>
|
|
280
280
|
<script>
|
|
@@ -259,7 +259,7 @@ export <span class="fstat-no" title="function not covered" >async function waitF
|
|
|
259
259
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
260
260
|
Code coverage generated by
|
|
261
261
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
262
|
-
at 2024-11-
|
|
262
|
+
at 2024-11-29T20:26:33.182Z
|
|
263
263
|
</div>
|
|
264
264
|
<script src="prettify.js"></script>
|
|
265
265
|
<script>
|
|
@@ -40,7 +40,7 @@ export declare function arrayCount(item: any, arr: any[] | readonly any[]): numb
|
|
|
40
40
|
/**
|
|
41
41
|
* @param {Function} comparisonFunction default: (itemToPush, itemAlreadyInArray) => itemToPush === itemAlreadyInArray; comparison function to consider the added item duplicate
|
|
42
42
|
*/
|
|
43
|
-
export declare function pushIfNotExist(arrayToPushInto:
|
|
43
|
+
export declare function pushIfNotExist<T>(arrayToPushInto: T[], valueOrArrayOfValuesToBePushed: T | T[], comparisonFunction?: (a: T, b: T) => boolean): T[];
|
|
44
44
|
export declare function isNotEmptyArray(arr: any): boolean;
|
|
45
45
|
export declare function randomItemInArray<T extends Array<any> | (readonly any[])>(array: T): T[number];
|
|
46
46
|
export {};
|
package/dist/src/array-utils.js
CHANGED
|
@@ -41,7 +41,7 @@ function ensureIsArrayAndPush(obj, addr, valToPush, onlyUniqueValues) {
|
|
|
41
41
|
exports.ensureIsArrayAndPush = ensureIsArrayAndPush;
|
|
42
42
|
/** If a string is provided, return it as array else return the value */
|
|
43
43
|
function strAsArray(arrOrStr) {
|
|
44
|
-
return typeof arrOrStr === 'string' ? [arrOrStr] : arrOrStr;
|
|
44
|
+
return (typeof arrOrStr === 'string' ? [arrOrStr] : arrOrStr);
|
|
45
45
|
}
|
|
46
46
|
exports.strAsArray = strAsArray;
|
|
47
47
|
/** If not an array provided, return the array with the value
|
|
@@ -51,7 +51,7 @@ function asArray(item, returnValueIfUndefined) {
|
|
|
51
51
|
if (typeof item === 'undefined')
|
|
52
52
|
return returnValueIfUndefined;
|
|
53
53
|
else
|
|
54
|
-
return Array.isArray(item) ? item : [item];
|
|
54
|
+
return (Array.isArray(item) ? item : [item]);
|
|
55
55
|
}
|
|
56
56
|
exports.asArray = asArray;
|
|
57
57
|
/** @return {object} { inCommon, notInB, notInA } */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-utils.js","sourceRoot":"","sources":["../../src/array-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,cAAc;AACd,0CAA0C;AAC1C,iDAAiD;AACjD,mCAA+B;AAE/B,sEAAsE;AACtE,SAAgB,YAAY,CAA2B,KAAiB;IACpE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KAC9C;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAND,oCAMC;AAGD;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,GAAW,EAAE,IAAY,EAAE,SAAc,EAAE,gBAA2B;IACvG,OAAO,IAAA,+BAAgB,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE;QAC9C,IAAI,IAAA,aAAK,EAAC,gBAAgB,CAAC,EAAE;YACzB,IAAI,cAAc,GAAG,KAAK,CAAA;YAC1B,IAAI,OAAO,gBAAgB,KAAK,UAAU;gBAAE,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;;gBAC1G,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAClD,IAAI,CAAC,cAAc;gBAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAChD;;YAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACN,CAAC;AATD,oDASC;AAED,wEAAwE;AACxE,SAAgB,UAAU,CAAI,QAAW;IACrC,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"array-utils.js","sourceRoot":"","sources":["../../src/array-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/array-utils.ts
CHANGED
|
@@ -35,7 +35,7 @@ export function ensureIsArrayAndPush(obj: object, addr: string, valToPush: any,
|
|
|
35
35
|
|
|
36
36
|
/** If a string is provided, return it as array else return the value */
|
|
37
37
|
export function strAsArray<T>(arrOrStr: T): T extends string ? string[] : T {
|
|
38
|
-
return typeof arrOrStr === 'string' ? [arrOrStr] : arrOrStr as any
|
|
38
|
+
return (typeof arrOrStr === 'string' ? [arrOrStr] : arrOrStr) as any
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
type AsArrReturnVal<T, X> = T extends undefined ? (X extends undefined ? void : X) : T extends any[] ? T : T[]
|
|
@@ -44,7 +44,7 @@ type AsArrReturnVal<T, X> = T extends undefined ? (X extends undefined ? void :
|
|
|
44
44
|
*/
|
|
45
45
|
export function asArray<T extends any[] | any, X>(item: T, returnValueIfUndefined?: X): AsArrReturnVal<T, X> {
|
|
46
46
|
if (typeof item === 'undefined') return returnValueIfUndefined as any
|
|
47
|
-
else return Array.isArray(item) ? item : [item] as any
|
|
47
|
+
else return (Array.isArray(item) ? item : [item]) as any
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
/** @return {object} { inCommon, notInB, notInA } */
|
|
@@ -96,8 +96,8 @@ export function arrayCount(item: any, arr: any[] | readonly any[]): number {
|
|
|
96
96
|
/**
|
|
97
97
|
* @param {Function} comparisonFunction default: (itemToPush, itemAlreadyInArray) => itemToPush === itemAlreadyInArray; comparison function to consider the added item duplicate
|
|
98
98
|
*/
|
|
99
|
-
export function pushIfNotExist(arrayToPushInto:
|
|
100
|
-
const valuesToPush = asArray(valueOrArrayOfValuesToBePushed).filter(a => !arrayToPushInto.some(b => comparisonFunction(a, b)))
|
|
99
|
+
export function pushIfNotExist<T>(arrayToPushInto: T[], valueOrArrayOfValuesToBePushed: T | T[], comparisonFunction = (a: T, b: T) => a === b): T[] {
|
|
100
|
+
const valuesToPush = (asArray(valueOrArrayOfValuesToBePushed) as T[]).filter(a => !arrayToPushInto.some(b => comparisonFunction(a, b)))
|
|
101
101
|
arrayToPushInto.push(...valuesToPush)
|
|
102
102
|
return arrayToPushInto
|
|
103
103
|
}
|