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

27 lines (26 loc) 1.64 kB
import type { FilterError } from './filter-errors.js'; import { OperatorError, ValidationError, TypeMismatchError, GeospatialError, ConfigurationError } from './filter-errors.js'; export declare const ErrorCodes: { readonly INVALID_EXPRESSION: "INVALID_EXPRESSION"; readonly OPERATOR_ERROR: "OPERATOR_ERROR"; readonly VALIDATION_ERROR: "VALIDATION_ERROR"; readonly CONFIGURATION_ERROR: "CONFIGURATION_ERROR"; readonly TYPE_MISMATCH: "TYPE_MISMATCH"; readonly GEOSPATIAL_ERROR: "GEOSPATIAL_ERROR"; readonly PERFORMANCE_LIMIT: "PERFORMANCE_LIMIT"; }; export declare function isFilterError(error: unknown): error is FilterError; export declare function formatErrorMessage(message: string, context?: Record<string, unknown>): string; export declare function createValidationError(field: string, errors: string[]): ValidationError; export declare function createOperatorError(operator: string, value: unknown, expected: string): OperatorError; export declare function createTypeMismatchError(field: string, expected: string, received: unknown): TypeMismatchError; export declare function createGeospatialError(coordinates: unknown, reason: string): GeospatialError; export declare function createConfigurationError(option: string, value: unknown, reason: string): ConfigurationError; export declare function wrapError(error: unknown, context?: Record<string, unknown>): FilterError; export declare function extractErrorDetails(error: unknown): { message: string; code?: string; context?: Record<string, unknown>; stack?: string; }; export declare function getUserFriendlyMessage(error: unknown): string;