/** * @tsplus static Maybe.Aspects filter * @tsplus pipeable Maybe filter */ export function filter(f: Refinement): (self: Maybe) => Maybe export function filter(f: Predicate): (self: Maybe) => Maybe export function filter(f: Predicate) { return (self: Maybe): Maybe => self.isNone() ? Maybe.none : f(self.value) ? self : Maybe.none }