/** @TODO replace with import from @directus/utils */ import { getFilterOperatorsForType } from '../../utils/get-filter-operators-for-type'; import type { ClientFilterOperator } from '@directus/types'; import { FilterValidator, FilterEmptyValidator } from '@query/filter'; import { GeneratedFilter } from '..'; export const type = 'alias'; export const filterOperatorList = getFilterOperatorsForType(type); export const generateFilterForDataType = (filter: ClientFilterOperator, _possibleValues: any): GeneratedFilter[] => { if (!filterOperatorList.includes(filter)) { throw new Error(`Invalid filter operator for ${type}: ${filter}`); } switch (filter) { default: throw new Error(`Unimplemented filter operator for ${type}: ${filter}`); } }; export const getValidatorFunction = (filter: ClientFilterOperator): FilterValidator => { if (!filterOperatorList.includes(filter)) { throw new Error(`Invalid filter operator for ${type}: ${filter}`); } switch (filter) { default: throw new Error(`Unimplemented filter operator for ${type}: ${filter}`); } }; export const getEmptyAllowedFunction = (filter: ClientFilterOperator): FilterEmptyValidator => { if (!filterOperatorList.includes(filter)) { throw new Error(`Invalid filter operator for ${type}: ${filter}`); } switch (filter) { default: throw new Error(`Unimplemented filter operator for ${type}: ${filter}`); } };