@pawells/typescript-common 1.3.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -15
- package/build/array/array-chunk.d.ts +1 -1
- package/build/array/array-chunk.d.ts.map +1 -1
- package/build/array/array-chunk.js.map +1 -1
- package/build/array/array-contains.d.ts +4 -1
- package/build/array/array-contains.d.ts.map +1 -1
- package/build/array/array-contains.js +4 -0
- package/build/array/array-contains.js.map +1 -1
- package/build/array/array-count-by.d.ts +3 -1
- package/build/array/array-count-by.d.ts.map +1 -1
- package/build/array/array-count-by.js +4 -1
- package/build/array/array-count-by.js.map +1 -1
- package/build/array/array-difference.d.ts +20 -9
- package/build/array/array-difference.d.ts.map +1 -1
- package/build/array/array-difference.js +25 -8
- package/build/array/array-difference.js.map +1 -1
- package/build/array/array-filter.d.ts +3 -1
- package/build/array/array-filter.d.ts.map +1 -1
- package/build/array/array-filter.js +4 -1
- package/build/array/array-filter.js.map +1 -1
- package/build/array/array-flatten.d.ts +1 -1
- package/build/array/array-flatten.d.ts.map +1 -1
- package/build/array/array-flatten.js.map +1 -1
- package/build/array/array-group-by.d.ts +3 -1
- package/build/array/array-group-by.d.ts.map +1 -1
- package/build/array/array-group-by.js +4 -1
- package/build/array/array-group-by.js.map +1 -1
- package/build/array/array-intersection.d.ts +20 -9
- package/build/array/array-intersection.d.ts.map +1 -1
- package/build/array/array-intersection.js +30 -12
- package/build/array/array-intersection.js.map +1 -1
- package/build/array/array-partition.d.ts +3 -1
- package/build/array/array-partition.d.ts.map +1 -1
- package/build/array/array-partition.js +4 -1
- package/build/array/array-partition.js.map +1 -1
- package/build/array/array-sample.d.ts +6 -2
- package/build/array/array-sample.d.ts.map +1 -1
- package/build/array/array-sample.js +8 -6
- package/build/array/array-sample.js.map +1 -1
- package/build/array/array-shuffle.d.ts +4 -2
- package/build/array/array-shuffle.d.ts.map +1 -1
- package/build/array/array-shuffle.js +6 -3
- package/build/array/array-shuffle.js.map +1 -1
- package/build/array/array-sort-by.d.ts +1 -1
- package/build/array/array-sort-by.d.ts.map +1 -1
- package/build/array/array-sort-by.js.map +1 -1
- package/build/array/assert.d.ts +22 -18
- package/build/array/assert.d.ts.map +1 -1
- package/build/array/assert.js +27 -23
- package/build/array/assert.js.map +1 -1
- package/build/array/types.d.ts +11 -0
- package/build/array/types.d.ts.map +1 -1
- package/build/array/unique.d.ts +3 -1
- package/build/array/unique.d.ts.map +1 -1
- package/build/array/unique.js +4 -1
- package/build/array/unique.js.map +1 -1
- package/build/asserts/generic.d.ts +9 -0
- package/build/asserts/generic.d.ts.map +1 -1
- package/build/asserts/generic.js +30 -8
- package/build/asserts/generic.js.map +1 -1
- package/build/asserts/utils.d.ts +32 -0
- package/build/asserts/utils.d.ts.map +1 -1
- package/build/asserts/utils.js +79 -0
- package/build/asserts/utils.js.map +1 -1
- package/build/boolean/assert.d.ts.map +1 -1
- package/build/boolean/assert.js +2 -5
- package/build/boolean/assert.js.map +1 -1
- package/build/function/compose.d.ts +3 -2
- package/build/function/compose.d.ts.map +1 -1
- package/build/function/compose.js.map +1 -1
- package/build/function/debounce.d.ts +2 -1
- package/build/function/debounce.d.ts.map +1 -1
- package/build/function/debounce.js.map +1 -1
- package/build/function/once.d.ts +1 -0
- package/build/function/once.d.ts.map +1 -1
- package/build/function/once.js +1 -0
- package/build/function/once.js.map +1 -1
- package/build/function/throttle.d.ts +2 -1
- package/build/function/throttle.d.ts.map +1 -1
- package/build/function/throttle.js.map +1 -1
- package/build/index.d.ts +2 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/number/assert.d.ts.map +1 -1
- package/build/number/assert.js +38 -42
- package/build/number/assert.js.map +1 -1
- package/build/object/clone.d.ts.map +1 -1
- package/build/object/clone.js +3 -0
- package/build/object/clone.js.map +1 -1
- package/build/object/equals.d.ts +1 -1
- package/build/object/equals.d.ts.map +1 -1
- package/build/object/equals.js +14 -7
- package/build/object/equals.js.map +1 -1
- package/build/object/filter-cached.js.map +1 -1
- package/build/object/filter.d.ts +7 -1
- package/build/object/filter.d.ts.map +1 -1
- package/build/object/filter.js +36 -61
- package/build/object/filter.js.map +1 -1
- package/build/object/hash.d.ts +1 -1
- package/build/object/hash.d.ts.map +1 -1
- package/build/object/hash.js +1 -0
- package/build/object/hash.js.map +1 -1
- package/build/object/key-value-pairs.d.ts +1 -1
- package/build/object/key-value-pairs.d.ts.map +1 -1
- package/build/object/key-value-pairs.js.map +1 -1
- package/build/object/omit.d.ts +1 -1
- package/build/object/omit.d.ts.map +1 -1
- package/build/object/omit.js.map +1 -1
- package/build/object/pick.d.ts +1 -1
- package/build/object/pick.d.ts.map +1 -1
- package/build/object/pick.js.map +1 -1
- package/build/object/property-paths.d.ts +2 -2
- package/build/object/property-paths.d.ts.map +1 -1
- package/build/object/property-paths.js +7 -2
- package/build/object/property-paths.js.map +1 -1
- package/build/object/security-utils.d.ts +2 -2
- package/build/object/security-utils.d.ts.map +1 -1
- package/build/object/security-utils.js.map +1 -1
- package/build/object/types.d.ts +1 -1
- package/build/object/types.d.ts.map +1 -1
- package/build/string/assert.d.ts.map +1 -1
- package/build/string/assert.js +3 -9
- package/build/string/assert.js.map +1 -1
- package/build/string/case-conversion.d.ts +53 -24
- package/build/string/case-conversion.d.ts.map +1 -1
- package/build/string/case-conversion.js +59 -29
- package/build/string/case-conversion.js.map +1 -1
- package/build/string/comparison.d.ts +20 -0
- package/build/string/comparison.d.ts.map +1 -0
- package/build/string/comparison.js +25 -0
- package/build/string/comparison.js.map +1 -0
- package/build/string/formatting.d.ts +35 -22
- package/build/string/formatting.d.ts.map +1 -1
- package/build/string/formatting.js +35 -22
- package/build/string/formatting.js.map +1 -1
- package/build/string/index.d.ts +1 -0
- package/build/string/index.d.ts.map +1 -1
- package/build/string/index.js +1 -0
- package/build/string/index.js.map +1 -1
- package/build/string/transformation.d.ts +19 -9
- package/build/string/transformation.d.ts.map +1 -1
- package/build/string/transformation.js +21 -10
- package/build/string/transformation.js.map +1 -1
- package/build/string/validation.d.ts +21 -9
- package/build/string/validation.d.ts.map +1 -1
- package/build/string/validation.js +23 -10
- package/build/string/validation.js.map +1 -1
- package/package.json +2 -2
package/build/object/equals.js
CHANGED
|
@@ -55,6 +55,13 @@ export function ObjectEquals(a, b) {
|
|
|
55
55
|
return false;
|
|
56
56
|
if (typeof a !== 'object')
|
|
57
57
|
return false;
|
|
58
|
+
// Type guards for object types after typeof check
|
|
59
|
+
if (a === null || b === null)
|
|
60
|
+
return false;
|
|
61
|
+
if (a === undefined || b === undefined)
|
|
62
|
+
return false;
|
|
63
|
+
const aObj = a;
|
|
64
|
+
const bObj = b;
|
|
58
65
|
// Handle Date objects
|
|
59
66
|
if (a instanceof Date && b instanceof Date) {
|
|
60
67
|
return a.getTime() === b.getTime();
|
|
@@ -78,25 +85,25 @@ export function ObjectEquals(a, b) {
|
|
|
78
85
|
if (Array.isArray(a) !== Array.isArray(b))
|
|
79
86
|
return false;
|
|
80
87
|
// Compare object properties
|
|
81
|
-
const keysA = Object.keys(
|
|
82
|
-
const keysB = Object.keys(
|
|
88
|
+
const keysA = Object.keys(aObj);
|
|
89
|
+
const keysB = Object.keys(bObj);
|
|
83
90
|
if (keysA.length !== keysB.length)
|
|
84
91
|
return false;
|
|
85
92
|
// Also compare symbol properties
|
|
86
|
-
const symbolsA = Object.getOwnPropertySymbols(
|
|
87
|
-
const symbolsB = Object.getOwnPropertySymbols(
|
|
93
|
+
const symbolsA = Object.getOwnPropertySymbols(aObj);
|
|
94
|
+
const symbolsB = Object.getOwnPropertySymbols(bObj);
|
|
88
95
|
if (symbolsA.length !== symbolsB.length)
|
|
89
96
|
return false;
|
|
90
97
|
for (const key of keysA) {
|
|
91
|
-
if (!Object.hasOwn(
|
|
98
|
+
if (!Object.hasOwn(bObj, key))
|
|
92
99
|
return false;
|
|
93
|
-
if (!ObjectEquals(
|
|
100
|
+
if (!ObjectEquals(aObj[key], bObj[key]))
|
|
94
101
|
return false;
|
|
95
102
|
}
|
|
96
103
|
for (const symbol of symbolsA) {
|
|
97
104
|
if (!symbolsB.includes(symbol))
|
|
98
105
|
return false;
|
|
99
|
-
if (!ObjectEquals(
|
|
106
|
+
if (!ObjectEquals(aObj[symbol], bObj[symbol]))
|
|
100
107
|
return false;
|
|
101
108
|
}
|
|
102
109
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equals.js","sourceRoot":"","sources":["../../src/object/equals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"equals.js","sourceRoot":"","sources":["../../src/object/equals.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-cached.js","sourceRoot":"","sources":["../../src/object/filter-cached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,gCAAgC;AAChC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,yBAAyB,GAAG,GAAG,CAAC,CAAC,MAAM;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAmB,UAAsC,EAAE;IAC5F,MAAM,EACL,YAAY,GAAG,sBAAsB,EACrC,YAAY,GAAG,KAAK,EACpB,sBAAsB,GAAG,KAAK,EAC9B,aAAa,GAAG,IAAI,GACpB,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IACtD,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAE3B;;;;;;OAMG;IACH,MAAM,kBAAkB,GAAG,GAAS,EAAE;QACrC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE7B,uCAAuC;QACvC,IAAI,YAAY,GAAgC,IAAI,CAAC;QACrD,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,WAAW,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;gBACpC,YAAY,GAAG,WAAW,CAAC;gBAC3B,eAAe,GAAG,GAAG,CAAC;gBACtB,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;YAChC,CAAC;QACF,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YAClB,6DAA6D;YAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,yBAAyB,CAAC,CAAC;YAC3E,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,OAAO,EAAE,CAAC;gBACV,IAAI,OAAO,IAAI,eAAe;oBAAE,MAAM;YACvC,CAAC;YAED,kDAAkD;YAClD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC/B,CAAC;YAED,kBAAkB,IAAI,OAAO,CAAC;QAC/B,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,CAAC,MAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"filter-cached.js","sourceRoot":"","sources":["../../src/object/filter-cached.ts"],"names":[],"mappings":"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"}
|
package/build/object/filter.d.ts
CHANGED
|
@@ -56,9 +56,15 @@ import type { IObjectFilterOptions, TPropertyFilter } from './types.js';
|
|
|
56
56
|
* // Path validation (security)
|
|
57
57
|
* ObjectFilter(profile, { '../malicious': 'value' }, { validatePaths: true }); // false
|
|
58
58
|
* ObjectFilter(profile, { 'user..name': 'John' }, { validatePaths: true }); // false
|
|
59
|
+
*
|
|
60
|
+
* // Predicate functions as filter values
|
|
61
|
+
* const user = { name: 'John', age: 30, role: 'admin' };
|
|
62
|
+
* ObjectFilter(user, { age: (v) => v > 18 }); // true
|
|
63
|
+
* ObjectFilter(user, { role: (v) => v === 'admin', age: (v) => v > 25 }); // true
|
|
64
|
+
* ObjectFilter(user, { age: (v) => v < 18 }); // false
|
|
59
65
|
* ```
|
|
60
66
|
*/
|
|
61
|
-
export declare function ObjectFilter<T>(object: T, filter: Record<string,
|
|
67
|
+
export declare function ObjectFilter<T>(object: T, filter: Record<string, unknown>, options?: IObjectFilterOptions): boolean;
|
|
62
68
|
/**
|
|
63
69
|
* Filters an object's properties using a predicate function.
|
|
64
70
|
* Creates a new object containing only the properties for which the predicate returns true.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/object/filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/object/filter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiFxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAwCvH;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiBhG"}
|
package/build/object/filter.js
CHANGED
|
@@ -1,36 +1,48 @@
|
|
|
1
1
|
import { ObjectEquals } from './equals.js';
|
|
2
2
|
import { isPropertyPathSafe } from './security-utils.js';
|
|
3
3
|
import { ObjectGetPropertyByPath } from './property-paths.js';
|
|
4
|
+
import { StringEquals } from '../string/comparison.js';
|
|
4
5
|
/**
|
|
5
|
-
* Compares two
|
|
6
|
+
* Compares two values for ObjectFilter with support for predicates, case-insensitive strings,
|
|
7
|
+
* and deep equality via ObjectEquals.
|
|
6
8
|
*
|
|
7
9
|
* @param objValue - The object value to compare
|
|
8
10
|
* @param filterValue - The filter value to compare against
|
|
9
11
|
* @param caseInsensitiveStrings - Whether to use case-insensitive string comparison
|
|
10
|
-
* @
|
|
12
|
+
* @param useDeepEqual - Whether to use deep equality for nested objects
|
|
13
|
+
* @returns True if the values match according to filter comparison rules
|
|
11
14
|
*/
|
|
12
|
-
function
|
|
13
|
-
// Handle
|
|
15
|
+
function compareValuesForFilter(objValue, filterValue, caseInsensitiveStrings = false, useDeepEqual = false) {
|
|
16
|
+
// Handle function as predicate
|
|
17
|
+
if (typeof filterValue === 'function') {
|
|
18
|
+
return filterValue(objValue);
|
|
19
|
+
}
|
|
20
|
+
// Handle case-insensitive string comparison (filter-specific feature)
|
|
14
21
|
if (caseInsensitiveStrings && typeof objValue === 'string' && typeof filterValue === 'string') {
|
|
15
|
-
return objValue
|
|
22
|
+
return StringEquals(objValue, filterValue, true);
|
|
16
23
|
}
|
|
17
|
-
// Special handling for
|
|
18
|
-
if (objValue
|
|
19
|
-
return
|
|
24
|
+
// Special handling for NaN - ObjectEquals handles this, but strict equality doesn't
|
|
25
|
+
if (typeof objValue === 'number' && typeof filterValue === 'number' && isNaN(objValue) && isNaN(filterValue)) {
|
|
26
|
+
return true;
|
|
20
27
|
}
|
|
21
28
|
// Handle array cases: if objValue is an array, use array comparison logic
|
|
22
29
|
if (Array.isArray(objValue)) {
|
|
23
|
-
return objectHandleArrayComparison(objValue, filterValue, caseInsensitiveStrings,
|
|
30
|
+
return objectHandleArrayComparison(objValue, filterValue, caseInsensitiveStrings, useDeepEqual);
|
|
24
31
|
}
|
|
25
32
|
// For deeply nested structures, check if filter is a subset of the object
|
|
26
33
|
if (typeof objValue === 'object' && objValue !== null && typeof filterValue === 'object' && filterValue !== null && !Array.isArray(filterValue)) {
|
|
27
34
|
return ObjectFilter(objValue, filterValue, { useDeepEqual: true, caseInsensitiveStrings });
|
|
28
35
|
}
|
|
29
|
-
//
|
|
30
|
-
|
|
36
|
+
// Use deep equality if requested; otherwise use strict equality
|
|
37
|
+
if (useDeepEqual) {
|
|
38
|
+
return ObjectEquals(objValue, filterValue);
|
|
39
|
+
}
|
|
40
|
+
// Default: strict equality
|
|
41
|
+
return objValue === filterValue;
|
|
31
42
|
}
|
|
32
43
|
/**
|
|
33
|
-
* Handles array filtering logic with support for string inclusion and subset matching
|
|
44
|
+
* Handles array filtering logic with support for string inclusion and subset matching.
|
|
45
|
+
* Uses compareValuesForFilter for consistent comparison logic.
|
|
34
46
|
*
|
|
35
47
|
* @param objValue - The array value from the object
|
|
36
48
|
* @param filterValue - The filter value to match against
|
|
@@ -42,49 +54,16 @@ function objectHandleArrayComparison(objValue, filterValue, caseInsensitiveStrin
|
|
|
42
54
|
// If filterValue is a string, check if it exists in the array
|
|
43
55
|
if (typeof filterValue === 'string') {
|
|
44
56
|
if (caseInsensitiveStrings) {
|
|
45
|
-
return objValue.some((item) => typeof item === 'string' && item
|
|
57
|
+
return objValue.some((item) => typeof item === 'string' && StringEquals(item, filterValue, true));
|
|
46
58
|
}
|
|
47
59
|
return objValue.includes(filterValue);
|
|
48
60
|
}
|
|
49
61
|
// If filterValue is also an array, check if it's a subset
|
|
50
62
|
if (Array.isArray(filterValue)) {
|
|
51
|
-
return filterValue.every((item) => objValue.some((objItem) =>
|
|
63
|
+
return filterValue.every((item) => objValue.some((objItem) => compareValuesForFilter(objItem, item, caseInsensitiveStrings, useDeepEqual)));
|
|
52
64
|
}
|
|
53
65
|
// For non-string, non-array filter values, check direct inclusion
|
|
54
|
-
return objValue.some((item) =>
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Compare values based on filter criteria
|
|
58
|
-
*
|
|
59
|
-
* @param objValue The object value
|
|
60
|
-
* @param filterValue The filter value to compare against
|
|
61
|
-
* @param caseInsensitiveStrings Whether to do case-insensitive string comparison
|
|
62
|
-
* @param useDeepEqual Whether to use deep equality for nested objects
|
|
63
|
-
* @returns True if values match according to specified criteria
|
|
64
|
-
*/
|
|
65
|
-
function objectCompareValues(objValue, filterValue, caseInsensitiveStrings, useDeepEqual = false) {
|
|
66
|
-
// Check if objValue is an array
|
|
67
|
-
if (Array.isArray(objValue)) {
|
|
68
|
-
return objectHandleArrayComparison(objValue, filterValue, caseInsensitiveStrings, useDeepEqual);
|
|
69
|
-
}
|
|
70
|
-
// Handle string comparison with case insensitivity option
|
|
71
|
-
if (caseInsensitiveStrings && typeof objValue === 'string' && typeof filterValue === 'string') {
|
|
72
|
-
return objValue.toLowerCase() === filterValue.toLowerCase();
|
|
73
|
-
}
|
|
74
|
-
// Special handling for NaN
|
|
75
|
-
if (typeof objValue === 'number' && typeof filterValue === 'number' && isNaN(objValue) && isNaN(filterValue)) {
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
// For object filtering with useDeepEqual, check if filterValue is a subset of objValue
|
|
79
|
-
if (useDeepEqual && typeof objValue === 'object' && objValue !== null && typeof filterValue === 'object' && filterValue !== null && !Array.isArray(filterValue)) {
|
|
80
|
-
return ObjectFilter(objValue, filterValue, { useDeepEqual: true, caseInsensitiveStrings });
|
|
81
|
-
}
|
|
82
|
-
// Use deep equality if requested
|
|
83
|
-
if (useDeepEqual) {
|
|
84
|
-
return ObjectEquals(objValue, filterValue);
|
|
85
|
-
}
|
|
86
|
-
// Default strict equality
|
|
87
|
-
return objValue === filterValue;
|
|
66
|
+
return objValue.some((item) => compareValuesForFilter(item, filterValue, caseInsensitiveStrings, useDeepEqual));
|
|
88
67
|
}
|
|
89
68
|
/**
|
|
90
69
|
* Filters an object based on a provided filter using flexible matching criteria.
|
|
@@ -143,6 +122,12 @@ function objectCompareValues(objValue, filterValue, caseInsensitiveStrings, useD
|
|
|
143
122
|
* // Path validation (security)
|
|
144
123
|
* ObjectFilter(profile, { '../malicious': 'value' }, { validatePaths: true }); // false
|
|
145
124
|
* ObjectFilter(profile, { 'user..name': 'John' }, { validatePaths: true }); // false
|
|
125
|
+
*
|
|
126
|
+
* // Predicate functions as filter values
|
|
127
|
+
* const user = { name: 'John', age: 30, role: 'admin' };
|
|
128
|
+
* ObjectFilter(user, { age: (v) => v > 18 }); // true
|
|
129
|
+
* ObjectFilter(user, { role: (v) => v === 'admin', age: (v) => v > 25 }); // true
|
|
130
|
+
* ObjectFilter(user, { age: (v) => v < 18 }); // false
|
|
146
131
|
* ```
|
|
147
132
|
*/
|
|
148
133
|
export function ObjectFilter(object, filter, options = {}) {
|
|
@@ -161,14 +146,9 @@ export function ObjectFilter(object, filter, options = {}) {
|
|
|
161
146
|
if (objValue === undefined) {
|
|
162
147
|
return false;
|
|
163
148
|
}
|
|
164
|
-
// Compare the values
|
|
149
|
+
// Compare the values using the consolidated function
|
|
165
150
|
const filterValue = filter[key];
|
|
166
|
-
if (useDeepEqual) {
|
|
167
|
-
if (!objectDeepComparison(objValue, filterValue, caseInsensitiveStrings)) {
|
|
168
|
-
return false;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
else if (!objectCompareValues(objValue, filterValue, caseInsensitiveStrings, useDeepEqual)) {
|
|
151
|
+
if (!compareValuesForFilter(objValue, filterValue, caseInsensitiveStrings, useDeepEqual)) {
|
|
172
152
|
return false;
|
|
173
153
|
}
|
|
174
154
|
}
|
|
@@ -179,12 +159,7 @@ export function ObjectFilter(object, filter, options = {}) {
|
|
|
179
159
|
if (!(key in object)) {
|
|
180
160
|
return false;
|
|
181
161
|
}
|
|
182
|
-
if (useDeepEqual) {
|
|
183
|
-
if (!objectDeepComparison(objValue, filterValue, caseInsensitiveStrings)) {
|
|
184
|
-
return false;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
else if (!objectCompareValues(objValue, filterValue, caseInsensitiveStrings, useDeepEqual)) {
|
|
162
|
+
if (!compareValuesForFilter(objValue, filterValue, caseInsensitiveStrings, useDeepEqual)) {
|
|
188
163
|
return false;
|
|
189
164
|
}
|
|
190
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/object/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/object/filter.ts"],"names":[],"mappings":"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"}
|
package/build/object/hash.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/object/hash.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/object/hash.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAexF"}
|
package/build/object/hash.js
CHANGED
|
@@ -53,6 +53,7 @@ function defaultHash(data) {
|
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
55
|
export function ObjectHash(obj, hashFunction) {
|
|
56
|
+
// Type guard - obj is used as-is since JSON.stringify accepts unknown
|
|
56
57
|
// Check for circular references before attempting to stringify
|
|
57
58
|
if (ObjectHasCircularReference(obj)) {
|
|
58
59
|
throw new Error('Cannot hash object with circular references');
|
package/build/object/hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/object/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,4EAA4E;AAC5E,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY;IAChC,IAAI,EAAE,GAAG,WAAW,CAAC;IACrB,IAAI,EAAE,GAAG,WAAW,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACpC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;IACxH,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;IACxH,OAAO,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AACpI,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/object/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,4EAA4E;AAC5E,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY;IAChC,IAAI,EAAE,GAAG,WAAW,CAAC;IACrB,IAAI,EAAE,GAAG,WAAW,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACpC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;IACxH,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;IACxH,OAAO,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AACpI,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,YAAuC;IAC/E,sEAAsE;IACtE,+DAA+D;IAC/D,IAAI,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEvC,sDAAsD;IACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* ObjectFromKeyValuePairs([['a', 1], ['b', 2]]); // { a: 1, b: 2 }
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
|
-
export declare function ObjectFromKeyValuePairs<T = unknown>(entries: [string, T][]): Record<string, T>;
|
|
14
|
+
export declare function ObjectFromKeyValuePairs<T = unknown>(entries: readonly [string, T][]): Record<string, T>;
|
|
15
15
|
/**
|
|
16
16
|
* Converts an object into an array of `[key, value]` tuples.
|
|
17
17
|
* The inverse of {@link ObjectFromKeyValuePairs}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-pairs.d.ts","sourceRoot":"","sources":["../../src/object/key-value-pairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"key-value-pairs.d.ts","sourceRoot":"","sources":["../../src/object/key-value-pairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAavG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAExF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-pairs.js","sourceRoot":"","sources":["../../src/object/key-value-pairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAc,
|
|
1
|
+
{"version":3,"file":"key-value-pairs.js","sourceRoot":"","sources":["../../src/object/key-value-pairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAc,OAA+B;IACnF,MAAM,GAAG,GAAG,EAAuB,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,sEAAsE;QACtE,+BAA+B;QAC/B,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;YAC/B,KAAK;YACL,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAc,GAAsB;IACxE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAkB,CAAC;AAC7C,CAAC"}
|
package/build/object/omit.d.ts
CHANGED
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
* ObjectOmit(user, ['password']); // { id: 1, name: 'John' }
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
export declare function ObjectOmit<T extends object, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
|
|
16
|
+
export declare function ObjectOmit<T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Omit<T, K>;
|
|
17
17
|
//# sourceMappingURL=omit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAUtG"}
|
package/build/object/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAsC,GAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAsC,GAAM,EAAE,IAAkB;IACzF,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,EAAgB,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,MAAoB,CAAC;AAC7B,CAAC"}
|
package/build/object/pick.d.ts
CHANGED
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
* ObjectPick(undefined, ['name']); // Returns {}
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
|
49
|
-
export declare function ObjectPick<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
49
|
+
export declare function ObjectPick<T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Pick<T, K>;
|
|
50
50
|
//# sourceMappingURL=pick.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAYtG"}
|
package/build/object/pick.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,UAAU,CAAsC,GAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,UAAU,CAAsC,GAAM,EAAE,IAAkB;IACzF,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,EAAgB,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAClC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC,EAAE,EAAgB,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
* ObjectGetPropertyByPath(user, '', 'default'); // 'default'
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
|
-
export declare function ObjectGetPropertyByPath<T =
|
|
56
|
+
export declare function ObjectGetPropertyByPath<T = unknown>(obj: unknown, path: string, defaultValue?: T): T | undefined;
|
|
57
57
|
/**
|
|
58
58
|
* Sets a nested property on an object using a path string with dot notation.
|
|
59
59
|
* Automatically creates intermediate objects if they don't exist or are not objects.
|
|
@@ -111,5 +111,5 @@ export declare function ObjectGetPropertyByPath<T = any>(obj: any, path: string,
|
|
|
111
111
|
* ObjectSetPropertyByPath(user, '', 'value'); // No effect, safely ignored
|
|
112
112
|
* ```
|
|
113
113
|
*/
|
|
114
|
-
export declare function ObjectSetPropertyByPath<T =
|
|
114
|
+
export declare function ObjectSetPropertyByPath<T = unknown>(obj: unknown, path: string, value: T): void;
|
|
115
115
|
//# sourceMappingURL=property-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-paths.d.ts","sourceRoot":"","sources":["../../src/object/property-paths.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"property-paths.d.ts","sourceRoot":"","sources":["../../src/object/property-paths.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAiChH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAyC/F"}
|
|
@@ -73,10 +73,11 @@ export function ObjectGetPropertyByPath(obj, path, defaultValue) {
|
|
|
73
73
|
return defaultValue;
|
|
74
74
|
}
|
|
75
75
|
// Use Object.hasOwn to prevent prototype chain access
|
|
76
|
-
|
|
76
|
+
const resultObj = result;
|
|
77
|
+
if (!Object.hasOwn(resultObj, key)) {
|
|
77
78
|
return defaultValue;
|
|
78
79
|
}
|
|
79
|
-
result =
|
|
80
|
+
result = resultObj[key];
|
|
80
81
|
}
|
|
81
82
|
return result === undefined ? defaultValue : result;
|
|
82
83
|
}
|
|
@@ -141,6 +142,10 @@ export function ObjectSetPropertyByPath(obj, path, value) {
|
|
|
141
142
|
if (!obj || !path) {
|
|
142
143
|
return;
|
|
143
144
|
}
|
|
145
|
+
// Type guard for object access
|
|
146
|
+
if (typeof obj !== 'object') {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
144
149
|
// Security validation: Check if the path is safe
|
|
145
150
|
if (!isPropertyPathSafe(path)) {
|
|
146
151
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-paths.js","sourceRoot":"","sources":["../../src/object/property-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,UAAU,uBAAuB,
|
|
1
|
+
{"version":3,"file":"property-paths.js","sourceRoot":"","sources":["../../src/object/property-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,UAAU,uBAAuB,CAAc,GAAY,EAAE,IAAY,EAAE,YAAgB;IAChG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,GAAY,GAAG,CAAC;IAE1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,8BAA8B;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3E,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,sDAAsD;QACtD,MAAM,SAAS,GAAG,MAAiC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,MAAY,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAM,UAAU,uBAAuB,CAAc,GAAY,EAAE,IAAY,EAAE,KAAQ;IACxF,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO;IACR,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;IACR,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO;IACR,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;IACR,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO;IACR,CAAC;IAED,IAAI,OAAO,GAAG,GAA8B,CAAC;IAE7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,2CAA2C;QAC3C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7F,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAA4B,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AAC1B,CAAC"}
|
|
@@ -32,7 +32,7 @@ export declare function sanitizePropertyKey(key: string): string | null;
|
|
|
32
32
|
* @param obj - The object to filter
|
|
33
33
|
* @returns New object with only safe keys
|
|
34
34
|
*/
|
|
35
|
-
export declare function filterDangerousKeys<T extends Record<string,
|
|
35
|
+
export declare function filterDangerousKeys<T extends Record<string, unknown>>(obj: T): Partial<T>;
|
|
36
36
|
/**
|
|
37
37
|
* Interface for circular reference detector
|
|
38
38
|
*/
|
|
@@ -55,5 +55,5 @@ export declare function createCircularReferenceDetector(): ICircularReferenceDet
|
|
|
55
55
|
* @param maxLength - Maximum allowed length
|
|
56
56
|
* @returns True if input is safe
|
|
57
57
|
*/
|
|
58
|
-
export declare function isInputSafe(input:
|
|
58
|
+
export declare function isInputSafe(input: unknown, maxLength?: number): boolean;
|
|
59
59
|
//# sourceMappingURL=security-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-utils.d.ts","sourceRoot":"","sources":["../../src/object/security-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAkBtD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAkBxD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"security-utils.d.ts","sourceRoot":"","sources":["../../src/object/security-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAkBtD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAkBxD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAUzF;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,KAAK,IAAI,IAAI,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,0BAA0B,CA6B5E;AAKD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,MAAiC,GAAG,OAAO,CAqBjG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-utils.js","sourceRoot":"","sources":["../../src/object/security-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACxC,WAAW;IACX,aAAa;IACb,WAAW;CACX,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,uBAAuB,GAAG;IAC/B,SAAS,EAAiB,iBAAiB;IAC3C,aAAa,EAAa,wBAAwB;IAClD,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB;IAC1D,MAAM,EAAoB,wBAAwB;IAClD,sBAAsB,EAAK,qCAAqC;CAChE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,yCAAyC;IACzC,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,oCAAoC;IACpC,KAAK,MAAM,OAAO,IAAI,uBAAuB,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,oCAAoC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC9C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,yCAAyC;IACzC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,
|
|
1
|
+
{"version":3,"file":"security-utils.js","sourceRoot":"","sources":["../../src/object/security-utils.ts"],"names":[],"mappings":"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"}
|
package/build/object/types.d.ts
CHANGED
|
@@ -94,7 +94,7 @@ export interface ICachedObjectMapOptions {
|
|
|
94
94
|
* Type for cached object filter functions.
|
|
95
95
|
* @template T The object type being filtered.
|
|
96
96
|
*/
|
|
97
|
-
export type TCachedObjectFilterFunction<T extends object> = (cursor: T, filter: Partial<Record<string,
|
|
97
|
+
export type TCachedObjectFilterFunction<T extends object> = (cursor: T, filter: Partial<Record<string, unknown>>) => Promise<boolean>;
|
|
98
98
|
/**
|
|
99
99
|
* Type for cached object map functions.
|
|
100
100
|
* @template T The object type being mapped.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/object/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/object/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/string/assert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAwCnD;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC/B,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/string/assert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAwCnD;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC/B,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAGtG;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAY9G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,gBAAqB,GAAG,IAAI,CAsBxG"}
|
package/build/string/assert.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SetExceptionClass, SetExceptionMessage, ThrowException } from '../asserts/utils.js';
|
|
1
|
+
import { SetExceptionClass, SetExceptionMessage, ThrowException, AssertValueType } from '../asserts/utils.js';
|
|
2
2
|
import { SimpleError } from '../asserts/errors.js';
|
|
3
3
|
import { LRUCache } from '../lru-cache.js';
|
|
4
4
|
/**
|
|
@@ -69,10 +69,7 @@ export class StringError extends SimpleError {
|
|
|
69
69
|
*/
|
|
70
70
|
export function AssertString(value, exception = {}) {
|
|
71
71
|
SetExceptionClass(exception, StringError);
|
|
72
|
-
|
|
73
|
-
SetExceptionMessage(exception, `Expected string but received ${typeof value}: ${String(value)}`);
|
|
74
|
-
ThrowException(exception);
|
|
75
|
-
}
|
|
72
|
+
AssertValueType(value, 'string', exception);
|
|
76
73
|
}
|
|
77
74
|
/**
|
|
78
75
|
* Asserts that a value is a non-empty string (after trimming whitespace).
|
|
@@ -100,10 +97,7 @@ export function AssertString(value, exception = {}) {
|
|
|
100
97
|
*/
|
|
101
98
|
export function AssertStringNotEmpty(value, exception = {}) {
|
|
102
99
|
SetExceptionClass(exception, StringError);
|
|
103
|
-
|
|
104
|
-
SetExceptionMessage(exception, `Expected non-empty string but received ${typeof value}: ${String(value)}`);
|
|
105
|
-
ThrowException(exception);
|
|
106
|
-
}
|
|
100
|
+
AssertValueType(value, 'string', exception);
|
|
107
101
|
const str = value;
|
|
108
102
|
if (str === '') {
|
|
109
103
|
SetExceptionMessage(exception, 'Expected non-empty string but received empty string');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/string/assert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/string/assert.ts"],"names":[],"mappings":"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"}
|