@cranberry-money/shared-utils
Version:
Shared utility functions for Blueberry platform
36 lines • 1.71 kB
JavaScript
export function hasActiveFilters(filters, excludeFields = ['searchQuery']) {
const relevantEntries = Object.entries(filters).filter(([key]) => !excludeFields.includes(key));
return relevantEntries.some(([, value]) => value !== undefined && value !== null && value !== '' && !(Array.isArray(value) && value.length === 0));
}
export function countActiveFilters(filters, excludeFields = ['searchQuery']) {
const relevantEntries = Object.entries(filters).filter(([key]) => !excludeFields.includes(key));
return relevantEntries.filter(([, value]) => value !== undefined && value !== null && value !== '' && !(Array.isArray(value) && value.length === 0)).length;
}
export function updateFilters(currentFilters, updates) {
return { ...currentFilters, ...updates };
}
export function hasActiveInstrumentFilters(filters) {
return hasActiveFilters(filters, ['searchQuery']);
}
export function countActiveInstrumentFilters(filters) {
return countActiveFilters(filters, ['searchQuery']);
}
export function hasActiveTradeFilters(filters) {
return hasActiveFilters(filters, ['searchQuery']);
}
export function countActiveTradeFilters(filters) {
return countActiveFilters(filters, ['searchQuery']);
}
export function hasActiveTransactionFilters(filters) {
return hasActiveFilters(filters, ['searchQuery']);
}
export function countActiveTransactionFilters(filters) {
return countActiveFilters(filters, ['searchQuery']);
}
export function hasActiveTargetTradeFilters(filters) {
return hasActiveFilters(filters, ['searchQuery']);
}
export function countActiveTargetTradeFilters(filters) {
return countActiveFilters(filters, ['searchQuery']);
}
//# sourceMappingURL=filters.js.map