import { combine } from "./combine" import { Property } from "./abstractions" import { map } from "./map" export function or( left: Property, right: Property ): Property { return combine(left, right, (x, y) => x || y) } export function and( left: Property, right: Property ): Property { return combine(left, right, (x, y) => x && y) } // TODO: rename result, test export function not(prop: Property): Property { return map((x) => !x)(prop) }