@cranberry-money/shared-utils 4.9.0 → 4.10.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/dist/filters.d.ts.map +1 -1
- package/dist/filters.js +4 -3
- package/dist/validation.js +3 -3
- package/package.json +1 -1
package/dist/filters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,OAAO,EAAE,CAAC,EACV,aAAa,GAAE,CAAC,MAAM,CAAC,CAAC,EAA+B,GACtD,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,OAAO,EAAE,CAAC,EACV,aAAa,GAAE,CAAC,MAAM,CAAC,CAAC,EAA+B,GACtD,MAAM,CAOR;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,OAAO,EAAE,CAAC,EACV,cAAc,GAAE,CAAC,MAAM,CAAC,CAAC,EAAO,GAC/B,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAE1G;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,OAAO,EAAE,CAAC,EACV,aAAa,GAAE,CAAC,MAAM,CAAC,CAAC,EAA+B,GACtD,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,OAAO,EAAE,CAAC,EACV,aAAa,GAAE,CAAC,MAAM,CAAC,CAAC,EAA+B,GACtD,MAAM,CAOR;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,OAAO,EAAE,CAAC,EACV,cAAc,GAAE,CAAC,MAAM,CAAC,CAAC,EAAO,GAC/B,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAE1G;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAW5F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAE9G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAkBpG;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxG,OAAO,EAAE,CAAC,GACT,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAuBtB"}
|
package/dist/filters.js
CHANGED
|
@@ -31,7 +31,7 @@ export function countActiveFilters(filters, excludeFields = ['searchQuery']) {
|
|
|
31
31
|
export function clearAllFilters(filters, preserveFields = []) {
|
|
32
32
|
const clearedFilters = {};
|
|
33
33
|
// Preserve specified fields
|
|
34
|
-
preserveFields.forEach(
|
|
34
|
+
preserveFields.forEach(field => {
|
|
35
35
|
if (field in filters) {
|
|
36
36
|
clearedFilters[field] = filters[field];
|
|
37
37
|
}
|
|
@@ -66,7 +66,8 @@ export function isFilterEmpty(value) {
|
|
|
66
66
|
*/
|
|
67
67
|
export function removeEmptyFilters(filters) {
|
|
68
68
|
const cleanedFilters = {};
|
|
69
|
-
Object.
|
|
69
|
+
Object.keys(filters).forEach(key => {
|
|
70
|
+
const value = filters[key];
|
|
70
71
|
if (!isFilterEmpty(value)) {
|
|
71
72
|
cleanedFilters[key] = value;
|
|
72
73
|
}
|
|
@@ -94,7 +95,7 @@ export function areFiltersEqual(filters1, filters2) {
|
|
|
94
95
|
if (keys1.length !== keys2.length) {
|
|
95
96
|
return false;
|
|
96
97
|
}
|
|
97
|
-
return keys1.every(
|
|
98
|
+
return keys1.every(key => {
|
|
98
99
|
const value1 = filters1[key];
|
|
99
100
|
const value2 = filters2[key];
|
|
100
101
|
if (Array.isArray(value1) && Array.isArray(value2)) {
|
package/dist/validation.js
CHANGED
|
@@ -85,7 +85,7 @@ export function hasLowercase(str) {
|
|
|
85
85
|
* @returns true if contains special character, false otherwise
|
|
86
86
|
*/
|
|
87
87
|
export function hasSpecialCharacter(str) {
|
|
88
|
-
return /[!@#$%^&*()_
|
|
88
|
+
return /[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(str);
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
91
|
* Validates if a string contains at least one digit
|
|
@@ -118,7 +118,7 @@ export function validatePasswordExtended(password, minLength = 8) {
|
|
|
118
118
|
*/
|
|
119
119
|
export function isValidPhoneNumber(phoneNumber) {
|
|
120
120
|
// Remove common formatting characters
|
|
121
|
-
const cleaned = phoneNumber.replace(/[\s
|
|
121
|
+
const cleaned = phoneNumber.replace(/[\s\-().]/g, '');
|
|
122
122
|
// Check if it's a valid phone number (digits only, 10-15 digits)
|
|
123
123
|
return /^\+?\d{10,15}$/.test(cleaned);
|
|
124
124
|
}
|
|
@@ -217,7 +217,7 @@ export function isNonNegativeNumber(value) {
|
|
|
217
217
|
export function isValidFullName(fullName, minParts = 2) {
|
|
218
218
|
const trimmedName = fullName.trim();
|
|
219
219
|
const nameParts = trimmedName.split(/\s+/);
|
|
220
|
-
return nameParts.length >= minParts && nameParts.every(
|
|
220
|
+
return nameParts.length >= minParts && nameParts.every(part => part.length > 0);
|
|
221
221
|
}
|
|
222
222
|
/**
|
|
223
223
|
* Validates if a date is a valid date of birth (not in future, reasonable age range)
|