@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
TypeScript
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;