@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
52 lines (51 loc) • 1.94 kB
TypeScript
import type { FilterConfig } from '../types';
export declare const TYPE_NAMES: {
readonly BOOLEAN: "boolean";
readonly NULL: "null";
readonly NUMBER: "number";
readonly STRING: "string";
readonly OBJECT: "object";
readonly FUNCTION: "function";
readonly UNDEFINED: "undefined";
};
export declare const WILDCARD_PERCENT = "%";
export declare const WILDCARD_UNDERSCORE = "_";
export declare const NEGATION_PREFIX = "!";
export declare const ANY_PROPERTY_KEY = "$";
export declare const OPERATORS: {
readonly GT: "$gt";
readonly GTE: "$gte";
readonly LT: "$lt";
readonly LTE: "$lte";
readonly EQ: "$eq";
readonly NE: "$ne";
readonly IN: "$in";
readonly NIN: "$nin";
readonly CONTAINS: "$contains";
readonly SIZE: "$size";
readonly STARTS_WITH: "$startsWith";
readonly ENDS_WITH: "$endsWith";
readonly AND: "$and";
readonly OR: "$or";
readonly NOT: "$not";
readonly REGEX: "$regex";
readonly MATCH: "$match";
readonly NEAR: "$near";
readonly GEO_BOX: "$geoBox";
readonly GEO_POLYGON: "$geoPolygon";
readonly RECENT: "$recent";
readonly UPCOMING: "$upcoming";
readonly DAY_OF_WEEK: "$dayOfWeek";
readonly TIME_OF_DAY: "$timeOfDay";
readonly AGE: "$age";
readonly IS_WEEKDAY: "$isWeekday";
readonly IS_WEEKEND: "$isWeekend";
readonly IS_BEFORE: "$isBefore";
readonly IS_AFTER: "$isAfter";
};
export declare const OPERATOR_KEYS: ("$gt" | "$gte" | "$lt" | "$lte" | "$eq" | "$ne" | "$in" | "$nin" | "$contains" | "$size" | "$startsWith" | "$endsWith" | "$and" | "$or" | "$not" | "$regex" | "$match" | "$near" | "$geoBox" | "$geoPolygon" | "$recent" | "$upcoming" | "$dayOfWeek" | "$timeOfDay" | "$age" | "$isWeekday" | "$isWeekend" | "$isBefore" | "$isAfter")[];
export declare const SORT_DIRECTIONS: {
readonly ASC: "asc";
readonly DESC: "desc";
};
export declare const DEFAULT_CONFIG: FilterConfig;