topkat-utils 1.2.13 → 1.2.14
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/CHANGELOG.md +4 -0
- package/dist/src/array-utils.d.ts +1 -1
- package/dist/src/object-utils.d.ts +10 -8
- package/dist/src/object-utils.js +4 -2
- package/dist/src/object-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/object-utils.ts +11 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
### v1.2.14
|
|
2
|
+
* objForceWrite now return main object
|
|
3
|
+
* improve type on objectutils
|
|
4
|
+
|
|
1
5
|
### v1.2.13
|
|
2
6
|
* add ability to hide generated api code in errors by setting { code } value to undefined, null or option.doNotDisplayCode to true
|
|
3
7
|
* allow all casing function to receive an array of string as first argument OR rest param as a string array
|
|
@@ -7,7 +7,7 @@ export declare function shuffleArray(array: any): any;
|
|
|
7
7
|
* @param {Boolean} onlyUniqueValues default:false; may be true or a comparision function; (a,b) => return true if they are the same like (a, b) => a.name === b.name
|
|
8
8
|
* @return obj[addr] eventually processed by the callback
|
|
9
9
|
*/
|
|
10
|
-
export declare function ensureIsArrayAndPush(obj: object, addr: string, valToPush: any, onlyUniqueValues: Function):
|
|
10
|
+
export declare function ensureIsArrayAndPush(obj: object, addr: string, valToPush: any, onlyUniqueValues: Function): unknown;
|
|
11
11
|
/** If a string is provided, return it as array else return the value */
|
|
12
12
|
export declare function strAsArray(arrOrStr: any): any;
|
|
13
13
|
declare type AsArrReturnVal<T, X> = T extends undefined ? (X extends undefined ? void : X) : T extends any[] ? T : T[];
|
|
@@ -25,32 +25,34 @@ export declare function findByAddressAll(obj: Record<string, any>, addr: string,
|
|
|
25
25
|
/** Enforce writing subItems. Eg: user.name.blah will ensure all are set until the writing of the last item
|
|
26
26
|
* NOTE: doesn't work with arrays
|
|
27
27
|
*/
|
|
28
|
-
export declare function objForceWrite(obj:
|
|
28
|
+
export declare function objForceWrite<MainObj extends Record<string, any>>(obj: MainObj, addr: string, item: any): MainObj;
|
|
29
29
|
/** Enforce writing subItems, only if obj.addr is empty.
|
|
30
30
|
* Eg: user.name.blah will ensure all are set until the writing of the last item
|
|
31
31
|
* if user.name.blah has a value it will not change it.
|
|
32
32
|
* NOTE: doesn't work with arrays
|
|
33
33
|
*/
|
|
34
|
-
export declare function objForceWriteIfNotSet(obj:
|
|
34
|
+
export declare function objForceWriteIfNotSet<MainObj extends Record<string, any>>(obj: MainObj, addr: string, item: any): MainObj;
|
|
35
35
|
/** Merge mixins into class. Use it in the constructor like: mergeMixins(this, {myMixin: true}) */
|
|
36
36
|
export declare function mergeMixins(that: any, ...mixins: any[]): void;
|
|
37
|
-
export declare function cloneObject(o:
|
|
37
|
+
export declare function cloneObject<MainObj extends Record<string, any>>(o: MainObj): MainObj;
|
|
38
38
|
/** Deep clone. WILL REMOVE circular references */
|
|
39
|
-
export declare function deepClone<
|
|
39
|
+
export declare function deepClone<MainObj extends Record<string, any>>(obj: MainObj, cache?: any[]): MainObj;
|
|
40
40
|
/**
|
|
41
41
|
* @param {Object} obj the object on which we want to filter the keys
|
|
42
42
|
* @param {function} filterFunc function that returns true if the key match the wanted criteria
|
|
43
43
|
*/
|
|
44
|
-
export declare function filterKeys(obj:
|
|
44
|
+
export declare function filterKeys<MainObj extends Record<string, any>>(obj: MainObj, filter: any): MainObj;
|
|
45
45
|
/**
|
|
46
46
|
* @param {Object} obj the object on which we want to delete a property
|
|
47
47
|
* @param {Array} addrArr addressArray on which to delete the property
|
|
48
48
|
*/
|
|
49
49
|
export declare function deleteByAddress(obj: object, addr: string | string[]): void;
|
|
50
50
|
/** Remove all key/values pair if value is undefined */
|
|
51
|
-
export declare function objFilterUndefined(o:
|
|
51
|
+
export declare function objFilterUndefined<MainObj extends Record<string, any>>(o: MainObj): MainObj;
|
|
52
52
|
/** Lock all 1st level props of an object to read only */
|
|
53
|
-
export declare function readOnly(o:
|
|
53
|
+
export declare function readOnly<MainObj extends Record<string, any>>(o: MainObj): {
|
|
54
|
+
readonly [AA in keyof MainObj]: MainObj[AA];
|
|
55
|
+
};
|
|
54
56
|
/** Fields of the object can be created BUT NOT reassignated */
|
|
55
57
|
export declare function reassignForbidden(o: any): any;
|
|
56
58
|
/** All fileds and subFields of the object will become readOnly */
|
|
@@ -65,7 +67,7 @@ export declare function sortObjKeyAccordingToValue(unorderedObj: any, ascending?
|
|
|
65
67
|
* @param {function} callback (obj[addr]) => processValue. Eg: myObjAddr => myObjAddr.push('bikou')
|
|
66
68
|
* @return obj[addr] eventually processed by the callback
|
|
67
69
|
*/
|
|
68
|
-
export declare function ensureObjectProp(obj:
|
|
70
|
+
export declare function ensureObjectProp<MainObj extends Record<string, any>, Addr extends string>(obj: MainObj, addr: Addr, defaultValue: any, callback: (o: any) => any): MainObj[Addr];
|
|
69
71
|
/** object and array merge
|
|
70
72
|
* @warn /!\ Array will be merged and duplicate values will be deleted /!\
|
|
71
73
|
* @return {Object} new object result from merge
|
package/dist/src/object-utils.js
CHANGED
|
@@ -108,6 +108,7 @@ function objForceWrite(obj, addr, item) {
|
|
|
108
108
|
throw new error_utils_2.DescriptiveError(`itemNotTypeObjectOrArrayInAddrChainForObjForceWrite`, { code: 500, origin: 'Validator', chunks: chunks.map(c => c.replace(/\[(\d+)/, '[$1]')), actualValueOfItem: lastItem[chunk], actualChunk: chunk, chunkIndex: i });
|
|
109
109
|
lastItem = lastItem[chunk];
|
|
110
110
|
});
|
|
111
|
+
return obj;
|
|
111
112
|
}
|
|
112
113
|
exports.objForceWrite = objForceWrite;
|
|
113
114
|
/** Enforce writing subItems, only if obj.addr is empty.
|
|
@@ -269,11 +270,12 @@ exports.sortObjKeyAccordingToValue = sortObjKeyAccordingToValue;
|
|
|
269
270
|
* @param {function} callback (obj[addr]) => processValue. Eg: myObjAddr => myObjAddr.push('bikou')
|
|
270
271
|
* @return obj[addr] eventually processed by the callback
|
|
271
272
|
*/
|
|
272
|
-
function ensureObjectProp(obj, addr, defaultValue, callback
|
|
273
|
+
function ensureObjectProp(obj, addr, defaultValue, callback) {
|
|
273
274
|
(0, error_utils_1.err500IfNotSet)({ obj, addr, defaultValue, callback });
|
|
274
275
|
if (!(0, isset_1.isset)(obj[addr]))
|
|
275
276
|
obj[addr] = defaultValue;
|
|
276
|
-
callback
|
|
277
|
+
if (callback)
|
|
278
|
+
callback(obj[addr]);
|
|
277
279
|
return obj[addr];
|
|
278
280
|
}
|
|
279
281
|
exports.ensureObjectProp = ensureObjectProp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../src/object-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../src/object-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/object-utils.ts
CHANGED
|
@@ -87,9 +87,9 @@ export function findByAddressAll(obj, addr, returnAddresses = false) {
|
|
|
87
87
|
/** Enforce writing subItems. Eg: user.name.blah will ensure all are set until the writing of the last item
|
|
88
88
|
* NOTE: doesn't work with arrays
|
|
89
89
|
*/
|
|
90
|
-
export function objForceWrite(obj:
|
|
90
|
+
export function objForceWrite<MainObj extends Record<string, any>>(obj: MainObj, addr: string, item): MainObj {
|
|
91
91
|
const chunks = addr.replace(/\.?\[(\d+)\]/g, '.[$1').split('.')
|
|
92
|
-
let lastItem = obj
|
|
92
|
+
let lastItem: any = obj
|
|
93
93
|
chunks.forEach((chunkRaw, i) => {
|
|
94
94
|
const chunk = chunkRaw.replace(/^\[/, '')
|
|
95
95
|
if (i === chunks.length - 1) lastItem[chunk] = item
|
|
@@ -100,6 +100,7 @@ export function objForceWrite(obj: ObjectGeneric, addr: string, item) {
|
|
|
100
100
|
} else if (typeof lastItem[chunk] !== 'object') throw new DescriptiveError(`itemNotTypeObjectOrArrayInAddrChainForObjForceWrite`, { code: 500, origin: 'Validator', chunks: chunks.map(c => c.replace(/\[(\d+)/, '[$1]')), actualValueOfItem: lastItem[chunk], actualChunk: chunk, chunkIndex: i })
|
|
101
101
|
lastItem = lastItem[chunk]
|
|
102
102
|
})
|
|
103
|
+
return obj
|
|
103
104
|
}
|
|
104
105
|
|
|
105
106
|
/** Enforce writing subItems, only if obj.addr is empty.
|
|
@@ -107,7 +108,7 @@ export function objForceWrite(obj: ObjectGeneric, addr: string, item) {
|
|
|
107
108
|
* if user.name.blah has a value it will not change it.
|
|
108
109
|
* NOTE: doesn't work with arrays
|
|
109
110
|
*/
|
|
110
|
-
export function objForceWriteIfNotSet(obj:
|
|
111
|
+
export function objForceWriteIfNotSet<MainObj extends Record<string, any>>(obj: MainObj, addr: string, item): MainObj {
|
|
111
112
|
if (!isset(findByAddress(obj, addr))) return objForceWrite(obj, addr, item)
|
|
112
113
|
}
|
|
113
114
|
|
|
@@ -120,12 +121,12 @@ export function mergeMixins(that, ...mixins) {
|
|
|
120
121
|
})
|
|
121
122
|
}
|
|
122
123
|
|
|
123
|
-
export function cloneObject(o) {
|
|
124
|
+
export function cloneObject<MainObj extends Record<string, any>>(o: MainObj): MainObj {
|
|
124
125
|
return JSON.parse(JSON.stringify(o))
|
|
125
126
|
}
|
|
126
127
|
|
|
127
128
|
/** Deep clone. WILL REMOVE circular references */
|
|
128
|
-
export function deepClone<
|
|
129
|
+
export function deepClone<MainObj extends Record<string, any>>(obj: MainObj, cache = []): MainObj {
|
|
129
130
|
|
|
130
131
|
let copy
|
|
131
132
|
// usefull to not modify 1st level objet by lower levels
|
|
@@ -164,7 +165,7 @@ export function deepClone<T>(obj: T, cache = []): T {
|
|
|
164
165
|
* @param {Object} obj the object on which we want to filter the keys
|
|
165
166
|
* @param {function} filterFunc function that returns true if the key match the wanted criteria
|
|
166
167
|
*/
|
|
167
|
-
export function filterKeys(obj:
|
|
168
|
+
export function filterKeys<MainObj extends Record<string, any>>(obj: MainObj, filter): MainObj {
|
|
168
169
|
const clone = cloneObject(obj)
|
|
169
170
|
recursiveGenericFunctionSync(obj, (item, addr, lastElementKey) => {
|
|
170
171
|
if (!filter(lastElementKey)) deleteByAddress(clone, addr.split('.'))
|
|
@@ -188,13 +189,13 @@ export function deleteByAddress(obj: object, addr: string | string[]) {
|
|
|
188
189
|
|
|
189
190
|
|
|
190
191
|
/** Remove all key/values pair if value is undefined */
|
|
191
|
-
export function objFilterUndefined(o) {
|
|
192
|
+
export function objFilterUndefined<MainObj extends Record<string, any>>(o: MainObj): MainObj {
|
|
192
193
|
Object.keys(o).forEach(k => !isset(o[k]) && delete o[k])
|
|
193
194
|
return o
|
|
194
195
|
}
|
|
195
196
|
|
|
196
197
|
/** Lock all 1st level props of an object to read only */
|
|
197
|
-
export function readOnly(o) {
|
|
198
|
+
export function readOnly<MainObj extends Record<string, any>>(o: MainObj): { readonly [AA in keyof MainObj]: MainObj[AA] } {
|
|
198
199
|
const throwErr = () => { throw new DescriptiveError('Cannot modify object that is read only', { code: 500 }) }
|
|
199
200
|
return new Proxy(o, {
|
|
200
201
|
set: throwErr,
|
|
@@ -256,10 +257,10 @@ export function sortObjKeyAccordingToValue(unorderedObj, ascending = true) {
|
|
|
256
257
|
* @param {function} callback (obj[addr]) => processValue. Eg: myObjAddr => myObjAddr.push('bikou')
|
|
257
258
|
* @return obj[addr] eventually processed by the callback
|
|
258
259
|
*/
|
|
259
|
-
export function ensureObjectProp(obj:
|
|
260
|
+
export function ensureObjectProp<MainObj extends Record<string, any>, Addr extends string>(obj: MainObj, addr: Addr, defaultValue, callback: (o: any) => any): MainObj[Addr] {
|
|
260
261
|
err500IfNotSet({ obj, addr, defaultValue, callback })
|
|
261
262
|
if (!isset(obj[addr])) obj[addr] = defaultValue
|
|
262
|
-
callback(obj[addr])
|
|
263
|
+
if (callback) callback(obj[addr])
|
|
263
264
|
return obj[addr]
|
|
264
265
|
}
|
|
265
266
|
|