UNPKG

@mcabreradev/filter

Version:

A powerful, SQL-like array filtering library for TypeScript and JavaScript with advanced pattern matching, MongoDB-style operators, deep object comparison, and zero dependencies

22 lines (21 loc) 2.57 kB
import { filter } from './core/index.js'; export { filter }; export { clearFilterCache, getFilterCacheStats } from './core/index.js'; export { filterDebug } from './debug/index.js'; export { filterLazy, filterLazyAsync, filterChunked, filterLazyChunked, filterFirst, filterExists, filterCount, } from './core/index.js'; export { take, skip, map, reduce, toArray, forEach, every, some, find, chunk, flatten, asyncMap, asyncFilter, } from './utils/index.js'; export { validateExpression, validateOptions } from './validation/index.js'; export { mergeConfig, createFilterConfig } from './config/index.js'; export { calculateDistance, isValidGeoPoint } from './utils/index.js'; export { FilterError, InvalidExpressionError, OperatorError, ValidationError, TypeMismatchError, GeospatialError, ConfigurationError, PerformanceLimitError, } from './errors/filter-errors.js'; export { isFilterError, formatErrorMessage, createValidationError, createOperatorError, createTypeMismatchError, createGeospatialError, createConfigurationError, wrapError, extractErrorDetails, getUserFriendlyMessage, ErrorCodes, } from './errors/error-helpers.js'; export { PerformanceMonitor, getPerformanceMonitor, resetPerformanceMonitor, trackPerformance, } from './utils/index.js'; export { isPrimitive, isPlainObject, getNestedValue, setNestedValue, hasNestedPath, isValidPath, getAllNestedKeys, } from './types/helpers/index.js'; export { typedFilter, createTypedFilter, TypedFilterBuilder } from './utils/typed-filter/index.js'; export { evaluateNear, evaluateGeoBox, evaluateGeoPolygon } from './operators/index.js'; export { isValidDate, isValidTimeOfDay, isValidDayOfWeek, isValidRelativeTime, isValidAgeQuery, calculateTimeDifference, calculateAge, isWeekday, isWeekend, } from './utils/index.js'; export { evaluateRecent, evaluateUpcoming, evaluateDayOfWeek, evaluateTimeOfDay, evaluateAge, evaluateIsWeekday, evaluateIsWeekend, evaluateIsBefore, evaluateIsAfter, } from './operators/index.js'; export { useFilter as useFilterReact, useFilteredState as useFilteredStateReact, useDebouncedFilter as useDebouncedFilterReact, usePaginatedFilter as usePaginatedFilterReact, FilterProvider, useFilterContext, } from './integrations/react/index.js'; export { useFilter as useFilterVue, useFilteredState as useFilteredStateVue, useDebouncedFilter as useDebouncedFilterVue, usePaginatedFilter as usePaginatedFilterVue, } from './integrations/vue/index.js'; export { useFilter, useFilteredState, useDebouncedFilter, usePaginatedFilter, } from './integrations/react/index.js'; export default filter;