@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 • 1.23 kB
JavaScript
export const TYPE_NAMES = {
BOOLEAN: 'boolean',
NULL: 'null',
NUMBER: 'number',
STRING: 'string',
OBJECT: 'object',
FUNCTION: 'function',
UNDEFINED: 'undefined',
};
export const WILDCARD_PERCENT = '%';
export const WILDCARD_UNDERSCORE = '_';
export const NEGATION_PREFIX = '!';
export const ANY_PROPERTY_KEY = '$';
export const OPERATORS = {
GT: '$gt',
GTE: '$gte',
LT: '$lt',
LTE: '$lte',
EQ: '$eq',
NE: '$ne',
IN: '$in',
NIN: '$nin',
CONTAINS: '$contains',
SIZE: '$size',
STARTS_WITH: '$startsWith',
ENDS_WITH: '$endsWith',
AND: '$and',
OR: '$or',
NOT: '$not',
REGEX: '$regex',
MATCH: '$match',
NEAR: '$near',
GEO_BOX: '$geoBox',
GEO_POLYGON: '$geoPolygon',
RECENT: '$recent',
UPCOMING: '$upcoming',
DAY_OF_WEEK: '$dayOfWeek',
TIME_OF_DAY: '$timeOfDay',
AGE: '$age',
IS_WEEKDAY: '$isWeekday',
IS_WEEKEND: '$isWeekend',
IS_BEFORE: '$isBefore',
IS_AFTER: '$isAfter',
};
export const OPERATOR_KEYS = Object.values(OPERATORS);
export const DEFAULT_CONFIG = {
caseSensitive: false,
maxDepth: 3,
enableCache: false,
debug: false,
};
//# sourceMappingURL=filter.constants.js.map