topkat-utils 1.2.40 → 1.2.42
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/.eslintrc +13 -2
- package/CHANGELOG.md +6 -0
- package/README.md +6 -3
- package/dist/src/env-utils.d.ts +2 -2
- package/dist/src/env-utils.js +2 -2
- package/dist/src/object-utils.d.ts +5 -5
- package/dist/src/object-utils.js +14 -13
- package/dist/src/object-utils.js.map +1 -1
- package/dist/src/string-utils.d.ts +10 -16
- package/dist/src/string-utils.js +43 -6
- package/dist/src/string-utils.js.map +1 -1
- package/package.json +4 -2
- package/src/env-utils.ts +2 -2
- package/src/object-utils.ts +32 -7
- package/src/string-utils.ts +38 -27
package/.eslintrc
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"parser": "@typescript-eslint/parser",
|
|
2
3
|
"env": {
|
|
3
4
|
"es6": true,
|
|
4
5
|
"node": true,
|
|
@@ -6,7 +7,8 @@
|
|
|
6
7
|
"browser": true
|
|
7
8
|
},
|
|
8
9
|
"extends": [
|
|
9
|
-
"eslint:recommended"
|
|
10
|
+
"eslint:recommended",
|
|
11
|
+
"plugin:@typescript-eslint/recommended"
|
|
10
12
|
],
|
|
11
13
|
"parserOptions": {
|
|
12
14
|
"ecmaVersion": 2018,
|
|
@@ -42,6 +44,15 @@
|
|
|
42
44
|
{
|
|
43
45
|
"allowSingleLine": true
|
|
44
46
|
}
|
|
45
|
-
]
|
|
47
|
+
],
|
|
48
|
+
"@typescript-eslint/indent": [
|
|
49
|
+
"warn",
|
|
50
|
+
4
|
|
51
|
+
],
|
|
52
|
+
"@typescript-eslint/no-explicit-any": 0,
|
|
53
|
+
"@typescript-eslint/no-unused-vars": 1,
|
|
54
|
+
"@typescript-eslint/no-empty-function": 1,
|
|
55
|
+
"@typescript-eslint/triple-slash-reference": 0,
|
|
56
|
+
"@typescript-eslint/ban-types": 0
|
|
46
57
|
}
|
|
47
58
|
}
|
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -6,10 +6,11 @@ It's strength is that it has a straight functional naming and is fast and lightw
|
|
|
6
6
|
|
|
7
7
|
``` javascript
|
|
8
8
|
const topkatUtils = {
|
|
9
|
-
isset, //
|
|
9
|
+
isset, // check undefined or null values but not falsey
|
|
10
10
|
random, // random number between two values
|
|
11
11
|
cln, // clean string for print. Eg: undefined, null, NaN => '-'
|
|
12
12
|
pad, // simple padStart for numbers
|
|
13
|
+
isObject, // check is value is a "straight" object (not null, not date, not an array, not undefined...)
|
|
13
14
|
/** return the number or the closest number of the range
|
|
14
15
|
* * nb min max => returns
|
|
15
16
|
* * 7 5 10 => 7 // in the range
|
|
@@ -26,13 +27,14 @@ const topkatUtils = {
|
|
|
26
27
|
sortUrlsByDeepnessInArrayOrObject,
|
|
27
28
|
// like nodeJs path.join() but for urls
|
|
28
29
|
urlPathJoin,
|
|
29
|
-
// miniTemplater(`Hello {{
|
|
30
|
+
// miniTemplater(`Hello {{name}}`, { name: 'John' }) => `Hello John`
|
|
30
31
|
miniTemplater,
|
|
31
|
-
// is number between
|
|
32
32
|
asArray,
|
|
33
33
|
compareArrays,
|
|
34
|
+
// is number between
|
|
34
35
|
isBetween,
|
|
35
36
|
simpleObjectMaskOrSelect,
|
|
37
|
+
// get the environment variables (Eg. NODE_ENV) with parsed values ("true" => true, "4" => 4). On env variables all values are strings
|
|
36
38
|
ENV,
|
|
37
39
|
parseBool,
|
|
38
40
|
|
|
@@ -98,6 +100,7 @@ const topkatUtils = {
|
|
|
98
100
|
upperCase,
|
|
99
101
|
capitalize1st,
|
|
100
102
|
camelCaseToWords,
|
|
103
|
+
nbOccurenceInString,
|
|
101
104
|
|
|
102
105
|
firstMatch,
|
|
103
106
|
allMatches,
|
package/dist/src/env-utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Parse one dimention object undefined, true, false, null represented as string will be converted to primitives */
|
|
2
2
|
export declare function parseEnv(env: any): {};
|
|
3
|
-
/** READ ONLY,
|
|
4
|
-
* use it like ENV().
|
|
3
|
+
/** READ ONLY, get the environment variables (Eg. NODE_ENV) with parsed values ("true" => true, "4" => 4, "null" => null). On env variables all values are strings
|
|
4
|
+
* use it like ENV().NODE_ENV
|
|
5
5
|
*/
|
|
6
6
|
export declare function ENV(): {
|
|
7
7
|
[key: string]: any;
|
package/dist/src/env-utils.js
CHANGED
|
@@ -23,8 +23,8 @@ function parseEnv(env) {
|
|
|
23
23
|
return newEnv;
|
|
24
24
|
}
|
|
25
25
|
exports.parseEnv = parseEnv;
|
|
26
|
-
/** READ ONLY,
|
|
27
|
-
* use it like ENV().
|
|
26
|
+
/** READ ONLY, get the environment variables (Eg. NODE_ENV) with parsed values ("true" => true, "4" => 4, "null" => null). On env variables all values are strings
|
|
27
|
+
* use it like ENV().NODE_ENV
|
|
28
28
|
*/
|
|
29
29
|
function ENV() {
|
|
30
30
|
const throwErr = () => { throw new Error('Please use process.env to write to env'); };
|
|
@@ -76,12 +76,12 @@ export declare function ensureObjectProp<MainObj extends Record<string, any>, Ad
|
|
|
76
76
|
* @warn /!\ Array will be merged and duplicate values will be deleted /!\
|
|
77
77
|
* @return {Object} new object result from merge
|
|
78
78
|
* NOTE: objects in params will NOT be modified*/
|
|
79
|
-
export declare function mergeDeep(...objects:
|
|
79
|
+
export declare function mergeDeep<O1 extends Record<string, any>, O2 extends Record<string, any> = Record<string, any>, O3 extends Record<string, any> = Record<string, any>, O4 extends Record<string, any> = Record<string, any>, O5 extends Record<string, any> = Record<string, any>, O6 extends Record<string, any> = Record<string, any>>(...objects: [O1, O2?, O3?, O4?, O5?, O6?]): O1 & O2 & O3 & O4 & O5 & O6;
|
|
80
80
|
/** object and array merge
|
|
81
81
|
* @warn /!\ Array will be replaced by the latest object /!\
|
|
82
82
|
* @return {Object} new object result from merge
|
|
83
83
|
* NOTE: objects in params will NOT be modified */
|
|
84
|
-
export declare function mergeDeepOverrideArrays(...objects:
|
|
84
|
+
export declare function mergeDeepOverrideArrays<O1 extends Record<string, any>, O2 extends Record<string, any> = Record<string, any>, O3 extends Record<string, any> = Record<string, any>, O4 extends Record<string, any> = Record<string, any>, O5 extends Record<string, any> = Record<string, any>, O6 extends Record<string, any> = Record<string, any>>(...objects: [O1, O2?, O3?, O4?, O5?, O6?]): O1 & O2 & O3 & O4 & O5 & O6;
|
|
85
85
|
/** object and array merge
|
|
86
86
|
* @param {Function} replacerForArrays item[key] = (prevValue, currentVal) => () When 2 values are arrays,
|
|
87
87
|
* @param {Function} replacerForObjects item[key] = (prevValue, currentVal) => () When 2 values are objects,
|
|
@@ -90,13 +90,13 @@ export declare function mergeDeepOverrideArrays(...objects: any[]): any;
|
|
|
90
90
|
* @return {Object} new object result from merge
|
|
91
91
|
* NOTE: objects in params will NOT be modified
|
|
92
92
|
*/
|
|
93
|
-
export declare function mergeDeepConfigurable(replacerForArrays: ((prev: any, curr: any) => any) | undefined, replacerForObjects: any, replacerDefault
|
|
93
|
+
export declare function mergeDeepConfigurable<O1 extends Record<string, any>, O2 extends Record<string, any> = Record<string, any>, O3 extends Record<string, any> = Record<string, any>, O4 extends Record<string, any> = Record<string, any>, O5 extends Record<string, any> = Record<string, any>, O6 extends Record<string, any> = Record<string, any>>(replacerForArrays: ((prev: any, curr: any) => any) | undefined, replacerForObjects: any, replacerDefault: ((prev: any, curr: any) => any) | undefined, ...objects: [O1, O2?, O3?, O4?, O5?, O6?]): O1 & O2 & O3 & O4 & O5 & O6;
|
|
94
94
|
/** { a: {b:2}} => {'a.b':2} useful for translations
|
|
95
95
|
* NOTE: will remove circular references
|
|
96
96
|
*/
|
|
97
97
|
export declare function flattenObject(data: any, config?: {
|
|
98
98
|
withoutArraySyntax?: boolean;
|
|
99
99
|
withArraySyntaxMinified?: boolean;
|
|
100
|
-
}):
|
|
100
|
+
}): Record<string, any>;
|
|
101
101
|
/** {'a.b':2} => { a: {b:2}} */
|
|
102
|
-
export declare function unflattenObject(data: any):
|
|
102
|
+
export declare function unflattenObject(data: Record<string, any>): Record<string, any>;
|
package/dist/src/object-utils.js
CHANGED
|
@@ -317,19 +317,20 @@ exports.mergeDeepOverrideArrays = mergeDeepOverrideArrays;
|
|
|
317
317
|
*/
|
|
318
318
|
function mergeDeepConfigurable(replacerForArrays = (prev, curr) => curr, replacerForObjects, replacerDefault = (prev, curr) => curr, ...objects) {
|
|
319
319
|
return objects.reduce((actuallyMerged, obj) => {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
320
|
+
if (obj && typeof obj === 'object')
|
|
321
|
+
Object.keys(obj).forEach(key => {
|
|
322
|
+
const previousVal = actuallyMerged[key];
|
|
323
|
+
const currentVal = obj[key];
|
|
324
|
+
if (Array.isArray(previousVal) && Array.isArray(currentVal)) {
|
|
325
|
+
actuallyMerged[key] = replacerForArrays(previousVal, currentVal);
|
|
326
|
+
}
|
|
327
|
+
else if ((0, is_object_1.isObject)(previousVal) && (0, is_object_1.isObject)(currentVal)) {
|
|
328
|
+
actuallyMerged[key] = replacerForObjects(previousVal, currentVal);
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
actuallyMerged[key] = replacerDefault(previousVal, currentVal);
|
|
332
|
+
}
|
|
333
|
+
});
|
|
333
334
|
return actuallyMerged;
|
|
334
335
|
}, {});
|
|
335
336
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../src/object-utils.ts"],"names":[],"mappings":";;;AAIA,+CAA8C;AAC9C,6CAA2D;AAC3D,mCAA+B;AAC/B,2CAAsC;AACtC,+CAAgD;AAEhD;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,MAAqB,EAAE,sBAAgC,EAAE,MAAM,GAAG,IAAI,EAAE,sCAAsC,GAAG,KAAK;IAC3J,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACxC,IAAI,MAAM;YAAE,OAAO,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;;YACtD,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IACF,IAAI,sCAAsC,EAAE;QACxC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;QACrE,OAAO,MAAM,CAAA;KAChB;SAAM;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3D,OAAO,SAAS,CAAA;QACpB,CAAC,EAAE,EAAE,CAAC,CAAA;KACT;AACL,CAAC;AAfD,4DAeC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CAAC,GAAkB,EAAE,IAAY;IAChD,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAM;IAClD,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,uBAAuB;IACtF,IAAI,QAAQ,GAAG,GAAG,CAAA;IAClB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACzB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QACzB,OAAO,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;AACN,CAAC;AARD,kBAQC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,GAAkB,EAAE,IAAuB;IACrE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACjC,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;IAC7I,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,6BAA6B;IAC3H,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAA,aAAK,EAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAA,aAAK,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAAE,OAAM;;YACjF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC,EAAE,GAAG,CAAC,CAAA;IACP,OAAO,MAAM,CAAA;AACjB,CAAC;AATD,sCASC;AAMD,SAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,GAAG,KAAK;IAC/D,IAAA,4BAAc,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7B,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,GAAG,CAAA;IAC3B,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI;SACnC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,6BAA6B;SAC7D,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;SACxB,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,sCAAsC;UAChE,GAAG,CAAC,CAAA;IAEV,MAAM,aAAa,GAAU,EAAE,CAAA;IAE/B,IAAA,yCAA4B,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QAChD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;IACF,OAAO,aAAa,CAAA;AACxB,CAAC;AAfD,4CAeC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAsC,GAAY,EAAE,IAAY,EAAE,IAAI,EAAE,UAA8C,EAAE;IACjJ,MAAM,EAAE,oBAAoB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,eAAe,GAAG,CAAC,oBAAoB,CAAA;IAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/D,IAAI,QAAQ,GAAQ,GAAG,CAAA;IACvB,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,eAAe;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;SAC9C;aAAM,IAAI,CAAC,IAAA,aAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAChC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC/B,IAAI,IAAA,aAAK,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;;gBAClE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;SAC5B;aAAM,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE;YAC5C,MAAM,IAAI,8BAAgB,CAAC,qDAAqD,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;SACtP;QACD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACd,CAAC;AApBD,sCAoBC;AAED,SAAgB,iBAAiB,CAAsC,GAAY,EAAE,IAAY;IAC7F,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9E,CAAC;AAFD,8CAEC;AAEY,QAAA,iBAAiB,GAAG,iBAAiB,CAAA;AAElD;;;;GAIG;AACH,SAAgB,qBAAqB,CAAsC,GAAY,EAAE,IAAY,EAAE,IAAI;IACvG,IAAI,CAAC,IAAA,aAAK,EAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;;QACtE,OAAO,GAAG,CAAA;AACnB,CAAC;AAHD,sDAGC;AAED,kGAAkG;AAClG,SAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,MAAM;IACvC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACnB,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;SAC/B;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAND,kCAMC;AAED,SAAgB,WAAW,CAAsC,CAAU;IACvE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC;AAFD,kCAEC;AAED,kDAAkD;AAClD,SAAgB,SAAS,CAAsC,GAAY,EAAE,KAAK,GAAG,EAAE;IAEnF,IAAI,IAAiB,CAAA;IACrB,wDAAwD;IACxD,+EAA+E;IAC/E,MAAM,QAAQ,GAAU,CAAC,GAAG,KAAK,CAAC,CAAA;IAClC,IAAI,GAAG,YAAY,IAAI;QAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAQ,CAAA;IAEpD,eAAe;IACf,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,EAAS,CAAA;QAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,GAAG,EAAE,CAAA;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAe,CAAC,CAAA;SAC/C;QACD,OAAO,IAAI,CAAA;KACd;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE;QAC5F,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,EAAS,CAAA;QAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,GAAG,EAAE,CAAA;QACT,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;YACjB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBAChD,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAe,CAAC,CAAA;aACnD;SACJ;QACD,OAAO,IAAI,CAAA;KACd;IAED,OAAO,GAAG,CAAA,CAAC,oBAAoB;AACnC,CAAC;AAhCD,8BAgCC;AAGD;;;GAGG;AACH,SAAgB,UAAU,CAAsC,GAAY,EAAE,MAAM;IAChF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAA,yCAA4B,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;QAC7D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAAE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AAChB,CAAC;AAND,gCAMC;AACD;;;GAGG;AACH,SAAgB,eAAe,CAAC,GAAW,EAAE,IAAuB;IAChE,IAAI,OAAO,GAAG,GAAG,CAAA;IACjB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,WAAW,CAAC,CAAA;;YACpD,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;KACtC;AACL,CAAC;AARD,0CAQC;AAID,wDAAwD;AACxD,SAAgB,kBAAkB,CAAsC,CAAU;IAC9E,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,aAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,OAAO,CAAC,CAAA;AACZ,CAAC;AAHD,gDAGC;AAED,yDAAyD;AACzD,SAAgB,QAAQ,CAAsC,CAAU;IACpE,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,8BAAgB,CAAC,wCAAwC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IAC9G,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE;QAChB,GAAG,EAAE,QAAQ;QACb,cAAc,EAAE,QAAQ;QACxB,cAAc,EAAE,QAAQ;KAC3B,CAAC,CAAA;AACN,CAAC;AAPD,4BAOC;AAED,+DAA+D;AAC/D,SAAgB,iBAAiB,CAAC,CAAC;IAC/B,OAAO,IAAI,KAAK,CAAC,CAAC,EAAE;QAChB,cAAc,EAAE,UAAU,IAAI,EAAE,GAAG,EAAE,KAAK;YACtC,IAAI,GAAG,IAAI,IAAI;gBAAE,MAAM,IAAI,8BAAgB,CAAC,gCAAgC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;iBACtH;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACjB,OAAO,IAAI,CAAA;aACd;QACL,CAAC;QACD,cAAc,EAAE,UAAU,CAAC,EAAE,GAAG;YAC5B,MAAM,IAAI,8BAAgB,CAAC,8BAA8B,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5G,CAAC;KACJ,CAAC,CAAA;AACN,CAAC;AAbD,8CAaC;AAED,kEAAkE;AAClE,SAAgB,cAAc,CAAC,MAAM;IACjC,IAAA,yCAA4B,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE;QACrE,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACjB,CAAC;AALD,wCAKC;AAED,SAAgB,2BAA2B,CAAC,GAAG;IAC3C,IAAI,GAAG,EAAE;QACL,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,IAAA,aAAK,EAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC3B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;aAC3B;QACL,CAAC,CAAC,CAAA;QACF,OAAO,eAAe,CAAC,YAAY,CAAC,CAAA;KACvC;;QAAM,OAAO,GAAG,CAAA;AACrB,CAAC;AAVD,kEAUC;AAED,SAAgB,0BAA0B,CAAC,YAAY,EAAE,SAAS,GAAG,IAAI;IACrE,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SACpB,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAC5D,OAAO,UAAU,CAAA;AACrB,CAAC;AAPD,gEAOC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAA2D,GAAY,EAAE,IAAU,EAAE,YAAY,EAAE,QAAyB;IACxJ,IAAA,4BAAc,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrD,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAA;IAC/C,IAAI,QAAQ;QAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACjC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AALD,4CAKC;AAGD;;;iDAGiD;AACjD,SAAgB,SAAS,CAAC,GAAG,OAAO;IAChC,OAAO,qBAAqB,CACxB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAC5G,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,EAC/D,SAAS,EACT,GAAG,OAAO,CACb,CAAA;AACL,CAAC;AAPD,8BAOC;AAED;;;kDAGkD;AAClD,SAAgB,uBAAuB,CAAC,GAAG,OAAO;IAC9C,OAAO,qBAAqB,CACxB,SAAS,EACT,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,uBAAuB,CAAC,WAAW,EAAE,UAAU,CAAC,EAC7E,SAAS,EACT,GAAG,OAAO,CACb,CAAA;AACL,CAAC;AAPD,0DAOC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO;IAClJ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;YACvC,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACzD,cAAc,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;aACnE;iBAAM,IAAI,IAAA,oBAAQ,EAAC,WAAW,CAAC,IAAI,IAAA,oBAAQ,EAAC,UAAU,CAAC,EAAE;gBACtD,cAAc,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;aACpE;iBAAM;gBACH,cAAc,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;aACjE;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,cAAc,CAAA;IACzB,CAAC,EAAE,EAAE,CAAC,CAAA;AACV,CAAC;AAjBD,sDAiBC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,IAAI,EAAE,SAA8E,EAAE;IAChH,MAAM,EAAE,kBAAkB,GAAG,KAAK,EAAE,uBAAuB,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAC9E,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,WAAW,GAAU,EAAE,CAAA,CAAC,2CAA2C;IACzE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;YAClB,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,IAAI,kBAAkB;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;iBACxC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBACzF,IAAI,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;aAChC;SACJ;aAAM,IAAI,IAAA,oBAAQ,EAAC,GAAG,CAAC,EAAE,EAAE,YAAY;YACpC,IAAI;gBACA,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA,CAAC,iDAAiD;;oBAChG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAE1B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;gBAE7C,KAAK,MAAM,CAAC,IAAI,GAAG;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,oDAAoD;gBAE3I,IAAI,OAAO,IAAI,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;aACzC;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;aAC3E;SACJ;;YAAM,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IAC7B,CAAC,CAAA;IACD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACjB,OAAO,MAAM,CAAA;AACjB,CAAC;AA9BD,sCA8BC;AAED,+BAA+B;AAC/B,SAAgB,eAAe,CAAC,IAAI;IAChC,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAClF,OAAO,IAAI,CAAA;AACf,CAAC;AAJD,0CAIC"}
|
|
1
|
+
{"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../src/object-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,23 @@
|
|
|
1
1
|
import { ObjectGeneric } from "./types";
|
|
2
2
|
/**Eg: camelCase */
|
|
3
|
-
export declare function camelCase(wordBits: string[]): string;
|
|
4
|
-
export declare function camelCase(...wordBits: string[]): string;
|
|
3
|
+
export declare function camelCase(...wordBits: string[] | [string[]]): string;
|
|
5
4
|
/**Eg: snake_case
|
|
6
5
|
* trimmed but not lowerCased
|
|
7
6
|
*/
|
|
8
|
-
export declare function snakeCase(wordBits: string[]): string;
|
|
9
|
-
export declare function snakeCase(...wordBits: string[]): string;
|
|
7
|
+
export declare function snakeCase(...wordBits: string[] | [string[]]): string;
|
|
10
8
|
/**Eg: kebab-case
|
|
11
9
|
* trimmed AND lowerCased
|
|
12
10
|
* undefined, null... => ''
|
|
13
11
|
*/
|
|
14
|
-
export declare function kebabCase(wordBits: string[]): string;
|
|
15
|
-
export declare function kebabCase(...wordBits: string[]): string;
|
|
12
|
+
export declare function kebabCase(...wordBits: string[] | [string[]]): string;
|
|
16
13
|
/**Eg: PascalCase undefined, null... => '' */
|
|
17
|
-
export declare function pascalCase(wordBits: string[]): string;
|
|
18
|
-
export declare function pascalCase(...wordBits: string[]): string;
|
|
14
|
+
export declare function pascalCase(...wordBits: string[] | [string[]]): string;
|
|
19
15
|
/**Eg: Titlecase undefined, null... => '' */
|
|
20
|
-
export declare function titleCase(wordBits: string[]): string;
|
|
21
|
-
export declare function titleCase(...wordBits: string[]): string;
|
|
16
|
+
export declare function titleCase(...wordBits: string[] | [string[]]): string;
|
|
22
17
|
/**Eg: UPPERCASE undefined, null... => '' */
|
|
23
|
-
export declare function upperCase(wordBits: string[]): string;
|
|
24
|
-
export declare function upperCase(...wordBits: string[]): string;
|
|
18
|
+
export declare function upperCase(...wordBits: string[] | [string[]]): string;
|
|
25
19
|
/**Eg: lowercase undefined, null... => '' */
|
|
26
|
-
export declare function lowerCase(wordBits: string[]): string;
|
|
27
|
-
export declare function lowerCase(...wordBits: string[]): string;
|
|
20
|
+
export declare function lowerCase(...wordBits: string[] | [string[]]): string;
|
|
28
21
|
export declare function capitalize1st(str?: string): string;
|
|
29
22
|
export declare function camelCaseToWords(str: string): string[];
|
|
30
23
|
/** GIVEN A STRING '{ blah;2}, ['nested,(what,ever)']' AND A SEPARATOR ",""
|
|
@@ -63,11 +56,11 @@ export declare function convertAccentedCharacters(str: string, config?: {
|
|
|
63
56
|
export declare function generateToken(length?: number, unique?: boolean, mode?: 'alphanumeric' | 'hexadecimal'): any;
|
|
64
57
|
export declare function generateObjectId(): any;
|
|
65
58
|
/** Useful to join differents bits of url with normalizing slashes
|
|
66
|
-
* * urlPathJoin('https://', 'www.kikou.lol/', '/user', '//2//') => https://www.kikou.lol/user/2
|
|
59
|
+
* * urlPathJoin('https://', 'www.kikou.lol/', '/user', '//2//') => https://www.kikou.lol/user/2
|
|
67
60
|
* * urlPathJoin('http:/', 'kikou.lol') => https://www.kikou.lol
|
|
68
61
|
*/
|
|
69
62
|
export declare function urlPathJoin(...bits: string[]): string;
|
|
70
|
-
/** file path using ONLY SLASH and not antislash on windows. Remove also starting and trailing slashes */
|
|
63
|
+
/** @deprecated use urlPathJoin instead // file path using ONLY SLASH and not antislash on windows. Remove also starting and trailing slashes */
|
|
71
64
|
export declare function pathJoinSafe(...pathBits: string[]): string;
|
|
72
65
|
export type MiniTemplaterOptions = {
|
|
73
66
|
valueWhenNotSet: string;
|
|
@@ -84,3 +77,4 @@ export type MiniTemplaterOptions = {
|
|
|
84
77
|
export declare function miniTemplater(content: string, varz: ObjectGeneric, options?: Partial<MiniTemplaterOptions>): string;
|
|
85
78
|
/** Clean output for outside world. All undefined / null / NaN / Infinity values are changed to '-' */
|
|
86
79
|
export declare function cln(val: any, replacerInCaseItIsUndefinNaN?: string): any;
|
|
80
|
+
export declare function nbOccurenceInString(baseString: string, searchedString: string, allowOverlapping?: boolean): number;
|
package/dist/src/string-utils.js
CHANGED
|
@@ -1,42 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cln = exports.miniTemplater = exports.pathJoinSafe = exports.urlPathJoin = exports.generateObjectId = exports.generateToken = exports.convertAccentedCharacters = exports.getValuesBetweenStrings = exports.getValuesBetweenSeparator = exports.camelCaseToWords = exports.capitalize1st = exports.lowerCase = exports.upperCase = exports.titleCase = exports.pascalCase = exports.kebabCase = exports.snakeCase = exports.camelCase = void 0;
|
|
3
|
+
exports.nbOccurenceInString = exports.cln = exports.miniTemplater = exports.pathJoinSafe = exports.urlPathJoin = exports.generateObjectId = exports.generateToken = exports.convertAccentedCharacters = exports.getValuesBetweenStrings = exports.getValuesBetweenSeparator = exports.camelCaseToWords = exports.capitalize1st = exports.lowerCase = exports.upperCase = exports.titleCase = exports.pascalCase = exports.kebabCase = exports.snakeCase = exports.camelCase = void 0;
|
|
4
4
|
//----------------------------------------
|
|
5
5
|
// STRING UTILS
|
|
6
6
|
//----------------------------------------
|
|
7
7
|
const error_utils_1 = require("./error-utils");
|
|
8
8
|
const isset_1 = require("./isset");
|
|
9
|
-
const getWordBits = wb => Array.isArray(wb[0]) ? wb[0] : wb;
|
|
9
|
+
const getWordBits = (wb) => Array.isArray(wb[0]) ? wb[0] : wb;
|
|
10
|
+
/**Eg: camelCase */
|
|
10
11
|
function camelCase(...wordBits) {
|
|
11
12
|
const wordBitsReal = getWordBits(wordBits);
|
|
12
13
|
return wordBitsReal.filter(e => e).map((w, i) => i === 0 ? w : capitalize1st(w)).join('');
|
|
13
14
|
}
|
|
14
15
|
exports.camelCase = camelCase;
|
|
16
|
+
/**Eg: snake_case
|
|
17
|
+
* trimmed but not lowerCased
|
|
18
|
+
*/
|
|
15
19
|
function snakeCase(...wordBits) {
|
|
16
20
|
const wordBitsReal = getWordBits(wordBits);
|
|
17
21
|
return wordBitsReal.filter(e => e).map(w => w.trim()).join('_');
|
|
18
22
|
}
|
|
19
23
|
exports.snakeCase = snakeCase;
|
|
24
|
+
/**Eg: kebab-case
|
|
25
|
+
* trimmed AND lowerCased
|
|
26
|
+
* undefined, null... => ''
|
|
27
|
+
*/
|
|
20
28
|
function kebabCase(...wordBits) {
|
|
21
29
|
const wordBitsReal = getWordBits(wordBits);
|
|
22
30
|
return wordBitsReal.filter(e => e).map(w => w.trim().toLowerCase()).join('-');
|
|
23
31
|
}
|
|
24
32
|
exports.kebabCase = kebabCase;
|
|
33
|
+
/**Eg: PascalCase undefined, null... => '' */
|
|
25
34
|
function pascalCase(...wordBits) {
|
|
26
35
|
const wordBitsReal = getWordBits(wordBits);
|
|
27
36
|
return wordBitsReal.filter(e => e).map((w, i) => capitalize1st(w)).join('');
|
|
28
37
|
}
|
|
29
38
|
exports.pascalCase = pascalCase;
|
|
39
|
+
/**Eg: Titlecase undefined, null... => '' */
|
|
30
40
|
function titleCase(...wordBits) {
|
|
31
41
|
const wordBitsReal = getWordBits(wordBits);
|
|
32
42
|
return capitalize1st(wordBitsReal.filter(e => e).map(w => w.trim()).join(''));
|
|
33
43
|
}
|
|
34
44
|
exports.titleCase = titleCase;
|
|
45
|
+
/**Eg: UPPERCASE undefined, null... => '' */
|
|
35
46
|
function upperCase(...wordBits) {
|
|
36
47
|
const wordBitsReal = getWordBits(wordBits);
|
|
37
48
|
return wordBitsReal.filter(e => e).map(w => w.trim().toUpperCase()).join('');
|
|
38
49
|
}
|
|
39
50
|
exports.upperCase = upperCase;
|
|
51
|
+
/**Eg: lowercase undefined, null... => '' */
|
|
40
52
|
function lowerCase(...wordBits) {
|
|
41
53
|
const wordBitsReal = getWordBits(wordBits);
|
|
42
54
|
return wordBitsReal.filter(e => e).map(w => w.trim().toLowerCase()).join('');
|
|
@@ -186,16 +198,23 @@ function generateObjectId() {
|
|
|
186
198
|
}
|
|
187
199
|
exports.generateObjectId = generateObjectId;
|
|
188
200
|
/** Useful to join differents bits of url with normalizing slashes
|
|
189
|
-
* * urlPathJoin('https://', 'www.kikou.lol/', '/user', '//2//') => https://www.kikou.lol/user/2
|
|
201
|
+
* * urlPathJoin('https://', 'www.kikou.lol/', '/user', '//2//') => https://www.kikou.lol/user/2
|
|
190
202
|
* * urlPathJoin('http:/', 'kikou.lol') => https://www.kikou.lol
|
|
191
203
|
*/
|
|
192
204
|
function urlPathJoin(...bits) {
|
|
193
|
-
return bits
|
|
205
|
+
return bits
|
|
206
|
+
.join('/')
|
|
207
|
+
.replace(/\/+/g, '/') // replace double slash
|
|
208
|
+
.replace(/(^\/|\/$)/g, '') // remove starting and trailing slash
|
|
209
|
+
.replace(/(https?:)\/\/?/, '$1//'); // make sure there is 2 slashes after http(s)
|
|
194
210
|
}
|
|
195
211
|
exports.urlPathJoin = urlPathJoin;
|
|
196
|
-
/** file path using ONLY SLASH and not antislash on windows. Remove also starting and trailing slashes */
|
|
212
|
+
/** @deprecated use urlPathJoin instead // file path using ONLY SLASH and not antislash on windows. Remove also starting and trailing slashes */
|
|
197
213
|
function pathJoinSafe(...pathBits) {
|
|
198
|
-
return pathBits
|
|
214
|
+
return pathBits
|
|
215
|
+
.join('/')
|
|
216
|
+
.replace(/\/+/g, '/') // replace double slash
|
|
217
|
+
.replace(/(^\/|\/$)/g, ''); // remove starting and trailing slash
|
|
199
218
|
}
|
|
200
219
|
exports.pathJoinSafe = pathJoinSafe;
|
|
201
220
|
/** Replace variables in a string like: `Hello {{userName}}!`
|
|
@@ -213,4 +232,22 @@ exports.miniTemplater = miniTemplater;
|
|
|
213
232
|
/** Clean output for outside world. All undefined / null / NaN / Infinity values are changed to '-' */
|
|
214
233
|
function cln(val, replacerInCaseItIsUndefinNaN = '-') { return ['undefined', undefined, 'indéfini', 'NaN', NaN, Infinity, null].includes(val) ? replacerInCaseItIsUndefinNaN : val; }
|
|
215
234
|
exports.cln = cln;
|
|
235
|
+
function nbOccurenceInString(baseString, searchedString, allowOverlapping = false) {
|
|
236
|
+
if (searchedString.length === 0)
|
|
237
|
+
return baseString.length + 1;
|
|
238
|
+
let n = 0;
|
|
239
|
+
let pos = 0;
|
|
240
|
+
let step = allowOverlapping ? 1 : searchedString.length;
|
|
241
|
+
while (true) {
|
|
242
|
+
pos = baseString.indexOf(searchedString, pos);
|
|
243
|
+
if (pos >= 0) {
|
|
244
|
+
++n;
|
|
245
|
+
pos += step;
|
|
246
|
+
}
|
|
247
|
+
else
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
return n;
|
|
251
|
+
}
|
|
252
|
+
exports.nbOccurenceInString = nbOccurenceInString;
|
|
216
253
|
//# sourceMappingURL=string-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/string-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,eAAe;AACf,0CAA0C;AAC1C,+CAAqD;AAErD,mCAA+B;AAE/B,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/string-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "topkat-utils",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.42",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"types": "index.ts",
|
|
6
6
|
"main": "dist",
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
"@types/node": "^18.11.18",
|
|
23
23
|
"bump-simple": "^1.0.0",
|
|
24
24
|
"eslint": "^8.0.0",
|
|
25
|
-
"typescript": "^4.9.5"
|
|
25
|
+
"typescript": "^4.9.5",
|
|
26
|
+
"@typescript-eslint/eslint-plugin": "latest",
|
|
27
|
+
"@typescript-eslint/parser": "latest"
|
|
26
28
|
}
|
|
27
29
|
}
|
package/src/env-utils.ts
CHANGED
|
@@ -16,8 +16,8 @@ export function parseEnv(env) {
|
|
|
16
16
|
return newEnv
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
/** READ ONLY,
|
|
20
|
-
* use it like ENV().
|
|
19
|
+
/** READ ONLY, get the environment variables (Eg. NODE_ENV) with parsed values ("true" => true, "4" => 4, "null" => null). On env variables all values are strings
|
|
20
|
+
* use it like ENV().NODE_ENV
|
|
21
21
|
*/
|
|
22
22
|
export function ENV(): { [key: string]: any } {
|
|
23
23
|
const throwErr = () => { throw new Error('Please use process.env to write to env') }
|
package/src/object-utils.ts
CHANGED
|
@@ -282,7 +282,14 @@ export function ensureObjectProp<MainObj extends Record<string, any>, Addr exten
|
|
|
282
282
|
* @warn /!\ Array will be merged and duplicate values will be deleted /!\
|
|
283
283
|
* @return {Object} new object result from merge
|
|
284
284
|
* NOTE: objects in params will NOT be modified*/
|
|
285
|
-
export function mergeDeep
|
|
285
|
+
export function mergeDeep<
|
|
286
|
+
O1 extends Record<string, any>,
|
|
287
|
+
O2 extends Record<string, any> = Record<string, any>,
|
|
288
|
+
O3 extends Record<string, any> = Record<string, any>,
|
|
289
|
+
O4 extends Record<string, any> = Record<string, any>,
|
|
290
|
+
O5 extends Record<string, any> = Record<string, any>,
|
|
291
|
+
O6 extends Record<string, any> = Record<string, any>,
|
|
292
|
+
>(...objects: [O1, O2?, O3?, O4?, O5?, O6?]) : O1 & O2 & O3 & O4 & O5 & O6 {
|
|
286
293
|
return mergeDeepConfigurable(
|
|
287
294
|
(previousVal, currentVal) => [...previousVal, ...currentVal].filter((elm, i, arr) => arr.indexOf(elm) === i),
|
|
288
295
|
(previousVal, currentVal) => mergeDeep(previousVal, currentVal),
|
|
@@ -295,7 +302,14 @@ export function mergeDeep(...objects) {
|
|
|
295
302
|
* @warn /!\ Array will be replaced by the latest object /!\
|
|
296
303
|
* @return {Object} new object result from merge
|
|
297
304
|
* NOTE: objects in params will NOT be modified */
|
|
298
|
-
export function mergeDeepOverrideArrays
|
|
305
|
+
export function mergeDeepOverrideArrays<
|
|
306
|
+
O1 extends Record<string, any>,
|
|
307
|
+
O2 extends Record<string, any> = Record<string, any>,
|
|
308
|
+
O3 extends Record<string, any> = Record<string, any>,
|
|
309
|
+
O4 extends Record<string, any> = Record<string, any>,
|
|
310
|
+
O5 extends Record<string, any> = Record<string, any>,
|
|
311
|
+
O6 extends Record<string, any> = Record<string, any>,
|
|
312
|
+
>(...objects: [O1, O2?, O3?, O4?, O5?, O6?]) : O1 & O2 & O3 & O4 & O5 & O6 {
|
|
299
313
|
return mergeDeepConfigurable(
|
|
300
314
|
undefined,
|
|
301
315
|
(previousVal, currentVal) => mergeDeepOverrideArrays(previousVal, currentVal),
|
|
@@ -312,9 +326,20 @@ export function mergeDeepOverrideArrays(...objects) {
|
|
|
312
326
|
* @return {Object} new object result from merge
|
|
313
327
|
* NOTE: objects in params will NOT be modified
|
|
314
328
|
*/
|
|
315
|
-
export function mergeDeepConfigurable
|
|
329
|
+
export function mergeDeepConfigurable<
|
|
330
|
+
O1 extends Record<string, any>,
|
|
331
|
+
O2 extends Record<string, any> = Record<string, any>,
|
|
332
|
+
O3 extends Record<string, any> = Record<string, any>,
|
|
333
|
+
O4 extends Record<string, any> = Record<string, any>,
|
|
334
|
+
O5 extends Record<string, any> = Record<string, any>,
|
|
335
|
+
O6 extends Record<string, any> = Record<string, any>,
|
|
336
|
+
>(
|
|
337
|
+
replacerForArrays = (prev, curr) => curr, replacerForObjects,
|
|
338
|
+
replacerDefault = (prev, curr) => curr,
|
|
339
|
+
...objects: [O1, O2?, O3?, O4?, O5?, O6?]
|
|
340
|
+
): O1 & O2 & O3 & O4 & O5 & O6 {
|
|
316
341
|
return objects.reduce((actuallyMerged, obj) => {
|
|
317
|
-
Object.keys(obj).forEach(key => {
|
|
342
|
+
if(obj && typeof obj === 'object') Object.keys(obj).forEach(key => {
|
|
318
343
|
const previousVal = actuallyMerged[key]
|
|
319
344
|
const currentVal = obj[key]
|
|
320
345
|
|
|
@@ -328,13 +353,13 @@ export function mergeDeepConfigurable(replacerForArrays = (prev, curr) => curr,
|
|
|
328
353
|
})
|
|
329
354
|
|
|
330
355
|
return actuallyMerged
|
|
331
|
-
}, {})
|
|
356
|
+
}, {}) as any
|
|
332
357
|
}
|
|
333
358
|
|
|
334
359
|
/** { a: {b:2}} => {'a.b':2} useful for translations
|
|
335
360
|
* NOTE: will remove circular references
|
|
336
361
|
*/
|
|
337
|
-
export function flattenObject(data, config: { withoutArraySyntax?: boolean, withArraySyntaxMinified?: boolean } = {}) {
|
|
362
|
+
export function flattenObject(data, config: { withoutArraySyntax?: boolean, withArraySyntaxMinified?: boolean } = {}): Record<string, any> {
|
|
338
363
|
const { withoutArraySyntax = false, withArraySyntaxMinified = false } = config
|
|
339
364
|
const result = {}
|
|
340
365
|
const seenObjects: any[] = [] // avoidCircular reference to infinite loop
|
|
@@ -367,7 +392,7 @@ export function flattenObject(data, config: { withoutArraySyntax?: boolean, with
|
|
|
367
392
|
}
|
|
368
393
|
|
|
369
394
|
/** {'a.b':2} => { a: {b:2}} */
|
|
370
|
-
export function unflattenObject(data) {
|
|
395
|
+
export function unflattenObject(data: Record<string, any>): Record<string, any> {
|
|
371
396
|
const newO = {}
|
|
372
397
|
for (const [addr, value] of Object.entries(data)) objForceWrite(newO, addr, value)
|
|
373
398
|
return newO
|
package/src/string-utils.ts
CHANGED
|
@@ -5,12 +5,10 @@ import { err500IfEmptyOrNotSet } from "./error-utils"
|
|
|
5
5
|
import { ObjectGeneric } from "./types"
|
|
6
6
|
import { isset } from "./isset"
|
|
7
7
|
|
|
8
|
-
const getWordBits = wb => Array.isArray(wb[0]) ? wb[0] : wb
|
|
8
|
+
const getWordBits = (wb: string[] | [string[]]): string[] => Array.isArray(wb[0]) ? wb[0] : wb as any
|
|
9
9
|
|
|
10
10
|
/**Eg: camelCase */
|
|
11
|
-
export function camelCase(wordBits: string[]): string
|
|
12
|
-
export function camelCase(...wordBits: string[]): string
|
|
13
|
-
export function camelCase(...wordBits): string {
|
|
11
|
+
export function camelCase(...wordBits: string[] | [string[]]): string {
|
|
14
12
|
const wordBitsReal = getWordBits(wordBits)
|
|
15
13
|
return wordBitsReal.filter(e => e).map((w, i) => i === 0 ? w : capitalize1st(w)).join('')
|
|
16
14
|
}
|
|
@@ -18,9 +16,7 @@ export function camelCase(...wordBits): string {
|
|
|
18
16
|
/**Eg: snake_case
|
|
19
17
|
* trimmed but not lowerCased
|
|
20
18
|
*/
|
|
21
|
-
export function snakeCase(wordBits: string[]): string
|
|
22
|
-
export function snakeCase(...wordBits: string[]): string
|
|
23
|
-
export function snakeCase(...wordBits): string {
|
|
19
|
+
export function snakeCase(...wordBits: string[] | [string[]]): string {
|
|
24
20
|
const wordBitsReal = getWordBits(wordBits)
|
|
25
21
|
return wordBitsReal.filter(e => e).map(w => w.trim()).join('_')
|
|
26
22
|
}
|
|
@@ -28,40 +24,30 @@ export function snakeCase(...wordBits): string {
|
|
|
28
24
|
* trimmed AND lowerCased
|
|
29
25
|
* undefined, null... => ''
|
|
30
26
|
*/
|
|
31
|
-
export function kebabCase(wordBits: string[]): string
|
|
32
|
-
export function kebabCase(...wordBits: string[]): string
|
|
33
|
-
export function kebabCase(...wordBits): string {
|
|
27
|
+
export function kebabCase(...wordBits: string[] | [string[]]): string {
|
|
34
28
|
const wordBitsReal = getWordBits(wordBits)
|
|
35
29
|
return wordBitsReal.filter(e => e).map(w => w.trim().toLowerCase()).join('-')
|
|
36
30
|
}
|
|
37
31
|
/**Eg: PascalCase undefined, null... => '' */
|
|
38
|
-
export function pascalCase(wordBits: string[]): string
|
|
39
|
-
export function pascalCase(...wordBits: string[]): string
|
|
40
|
-
export function pascalCase(...wordBits): string {
|
|
32
|
+
export function pascalCase(...wordBits: string[] | [string[]]): string {
|
|
41
33
|
const wordBitsReal = getWordBits(wordBits)
|
|
42
34
|
return wordBitsReal.filter(e => e).map((w, i) => capitalize1st(w)).join('')
|
|
43
35
|
}
|
|
44
36
|
|
|
45
37
|
/**Eg: Titlecase undefined, null... => '' */
|
|
46
|
-
export function titleCase(wordBits: string[]): string
|
|
47
|
-
export function titleCase(...wordBits: string[]): string
|
|
48
|
-
export function titleCase(...wordBits): string {
|
|
38
|
+
export function titleCase(...wordBits: string[] | [string[]]): string {
|
|
49
39
|
const wordBitsReal = getWordBits(wordBits)
|
|
50
40
|
return capitalize1st(wordBitsReal.filter(e => e).map(w => w.trim()).join(''))
|
|
51
41
|
}
|
|
52
42
|
|
|
53
43
|
/**Eg: UPPERCASE undefined, null... => '' */
|
|
54
|
-
export function upperCase(wordBits: string[]): string
|
|
55
|
-
export function upperCase(...wordBits: string[]): string
|
|
56
|
-
export function upperCase(...wordBits): string {
|
|
44
|
+
export function upperCase(...wordBits: string[] | [string[]]): string {
|
|
57
45
|
const wordBitsReal = getWordBits(wordBits)
|
|
58
46
|
return wordBitsReal.filter(e => e).map(w => w.trim().toUpperCase()).join('')
|
|
59
47
|
}
|
|
60
48
|
|
|
61
49
|
/**Eg: lowercase undefined, null... => '' */
|
|
62
|
-
export function lowerCase(wordBits: string[]): string
|
|
63
|
-
export function lowerCase(...wordBits: string[]): string
|
|
64
|
-
export function lowerCase(...wordBits): string {
|
|
50
|
+
export function lowerCase(...wordBits: string[] | [string[]]): string {
|
|
65
51
|
const wordBitsReal = getWordBits(wordBits)
|
|
66
52
|
return wordBitsReal.filter(e => e).map(w => w.trim().toLowerCase()).join('')
|
|
67
53
|
}
|
|
@@ -205,16 +191,23 @@ export function generateObjectId() {
|
|
|
205
191
|
|
|
206
192
|
|
|
207
193
|
/** Useful to join differents bits of url with normalizing slashes
|
|
208
|
-
* * urlPathJoin('https://', 'www.kikou.lol/', '/user', '//2//') => https://www.kikou.lol/user/2
|
|
194
|
+
* * urlPathJoin('https://', 'www.kikou.lol/', '/user', '//2//') => https://www.kikou.lol/user/2
|
|
209
195
|
* * urlPathJoin('http:/', 'kikou.lol') => https://www.kikou.lol
|
|
210
196
|
*/
|
|
211
197
|
export function urlPathJoin(...bits: string[]) {
|
|
212
|
-
return bits
|
|
198
|
+
return bits
|
|
199
|
+
.join('/')
|
|
200
|
+
.replace(/\/+/g, '/') // replace double slash
|
|
201
|
+
.replace(/(^\/|\/$)/g, '') // remove starting and trailing slash
|
|
202
|
+
.replace(/(https?:)\/\/?/, '$1//') // make sure there is 2 slashes after http(s)
|
|
213
203
|
}
|
|
214
204
|
|
|
215
|
-
/** file path using ONLY SLASH and not antislash on windows. Remove also starting and trailing slashes */
|
|
205
|
+
/** @deprecated use urlPathJoin instead // file path using ONLY SLASH and not antislash on windows. Remove also starting and trailing slashes */
|
|
216
206
|
export function pathJoinSafe(...pathBits: string[]) {
|
|
217
|
-
return pathBits
|
|
207
|
+
return pathBits
|
|
208
|
+
.join('/')
|
|
209
|
+
.replace(/\/+/g, '/') // replace double slash
|
|
210
|
+
.replace(/(^\/|\/$)/g, '') // remove starting and trailing slash
|
|
218
211
|
}
|
|
219
212
|
|
|
220
213
|
|
|
@@ -242,4 +235,22 @@ export function miniTemplater(content: string, varz: ObjectGeneric, options: Par
|
|
|
242
235
|
|
|
243
236
|
|
|
244
237
|
/** Clean output for outside world. All undefined / null / NaN / Infinity values are changed to '-' */
|
|
245
|
-
export function cln(val, replacerInCaseItIsUndefinNaN = '-') { return ['undefined', undefined, 'indéfini', 'NaN', NaN, Infinity, null].includes(val) ? replacerInCaseItIsUndefinNaN : val }
|
|
238
|
+
export function cln(val, replacerInCaseItIsUndefinNaN = '-') { return ['undefined', undefined, 'indéfini', 'NaN', NaN, Infinity, null].includes(val) ? replacerInCaseItIsUndefinNaN : val }
|
|
239
|
+
|
|
240
|
+
export function nbOccurenceInString(baseString: string, searchedString:string, allowOverlapping: boolean = false) {
|
|
241
|
+
|
|
242
|
+
if (searchedString.length === 0) return baseString.length + 1
|
|
243
|
+
|
|
244
|
+
let n = 0
|
|
245
|
+
let pos = 0
|
|
246
|
+
let step = allowOverlapping ? 1 : searchedString.length
|
|
247
|
+
|
|
248
|
+
while (true) {
|
|
249
|
+
pos = baseString.indexOf(searchedString, pos);
|
|
250
|
+
if (pos >= 0) {
|
|
251
|
+
++n;
|
|
252
|
+
pos += step;
|
|
253
|
+
} else break;
|
|
254
|
+
}
|
|
255
|
+
return n;
|
|
256
|
+
}
|