import type { Universe } from '@ephox/boss'; import { Fun, type Optional } from '@ephox/katamari'; import * as Look from '../../look/Look'; const selector = (_universe: Universe, sel: string): (universe: Universe, item: E) => Optional => { return Look.selector(sel); }; const predicate = (_universe: Universe, pred: (e: E) => boolean): (universe: Universe, item: E) => Optional => { return Look.predicate(pred); }; const exact = (universe: Universe, item: E): (universe: Universe, item: E) => Optional => { const itemMatch = Fun.curry(universe.eq, item); return Look.predicate(itemMatch); }; export { selector, predicate, exact };