import { getSimpleValue } from './value-getter'; import { IdType } from '@servicetitan/data-query'; interface OperatorOpts { valueSelector?: (item: TO) => IdType; rowValueSelector?: (item: any) => IdType | undefined; } export const selectColumnMenuFilterOperators = { getContains: (opts?: OperatorOpts) => { const { valueSelector = getSimpleValue, rowValueSelector = getSimpleValue } = opts ?? {}; return (value: any, options?: TO[]) => options?.some(opt => valueSelector(opt) === rowValueSelector(value)); }, getEquals: (opts?: OperatorOpts) => { const { valueSelector = getSimpleValue, rowValueSelector = getSimpleValue } = opts ?? {}; return (value: any, option?: TO) => option === undefined ? false : valueSelector(option) === rowValueSelector(value); }, };