import { Comparable } from './comparable' import { Condition } from './condition' import { Is } from './is' export function And( values: (T | Condition)[] ): Condition { const conditions: Condition[] = values.map((value) => value instanceof Condition ? value : Is(value) ) return new Condition( conditions, (prop) => `(${conditions.map((condition) => condition.format(prop)).join(' AND ')})` ) }