import { Constructor, Expression, expression } from '../expressions' import { BooleanType, TSQueryType } from '../types' export function TextSearchOps (Base: T) { return class TextSearchOps extends Base { match (arg: any): Expression { return expression`${this} @@ ${arg}` } also (arg: Expression): Expression { return expression`${this} && ${arg}` } either (arg: Expression): Expression { return expression`${this} || ${arg}` } no (): Expression { return expression`!! ${this}` } successive (arg: Expression): Expression { return expression`${this} <-> ${arg}` } } }