fp-ts-std
Version:
The missing pseudo-standard library for fp-ts.
98 lines • 2.58 kB
TypeScript
/**
* Various functions to aid in working with booleans. You may also find the
* `Predicate` module relevant.
*
* @since 0.1.0
*/
import type * as Bounded_ from "fp-ts/Bounded";
import type { Endomorphism } from "fp-ts/Endomorphism";
type Bounded<A> = Bounded_.Bounded<A>;
import type { Enum as _Enum } from "./Enum";
type Enum<A> = _Enum<A>;
/**
* Invert a boolean.
*
* @example
* import { invert } from 'fp-ts-std/Boolean'
*
* assert.strictEqual(invert(true), false)
* assert.strictEqual(invert(false), true)
*
* @category 3 Functions
* @since 0.4.0
*/
export declare const invert: Endomorphism<boolean>;
/**
* Returns `true` if both arguments are `true`, else `false`. Equivalent to
* logical conjunction.
*
* @example
* import { and } from 'fp-ts-std/Boolean'
*
* assert.strictEqual(and(true)(true), true)
* assert.strictEqual(and(true)(false), false)
*
* @category 3 Functions
* @since 0.4.0
*/
export declare const and: (x: boolean) => Endomorphism<boolean>;
/**
* Returns `true` if one or both arguments are `true`, else `false`. Equivalent
* to logical disjunction.
*
* @example
* import { or } from 'fp-ts-std/Boolean'
*
* assert.strictEqual(or(true)(false), true)
* assert.strictEqual(or(false)(false), false)
*
* @category 3 Functions
* @since 0.4.0
*/
export declare const or: (x: boolean) => Endomorphism<boolean>;
/**
* Returns `true` if one argument is `true` and the other is `false`, else
* `false`. Equivalent to exclusive logical disjunction.
*
* @example
* import { xor } from 'fp-ts-std/Boolean'
*
* assert.strictEqual(xor(true)(false), true)
* assert.strictEqual(xor(true)(true), false)
*
* @category 3 Functions
* @since 0.4.0
*/
export declare const xor: (x: boolean) => Endomorphism<boolean>;
/**
* A `Bounded` instance for booleans.
*
* @example
* import { Bounded } from 'fp-ts-std/Boolean'
*
* assert.strictEqual(Bounded.top, true)
* assert.strictEqual(Bounded.bottom, false)
*
* @category 1 Typeclass Instances
* @since 0.17.0
*/
export declare const Bounded: Bounded<boolean>;
/**
* An `Enum` instance for booleans.
*
* @example
* import * as O from 'fp-ts/Option'
* import { Enum } from 'fp-ts-std/Boolean'
*
* assert.deepStrictEqual(Enum.succ(false), O.some(true))
* assert.deepStrictEqual(Enum.succ(true), O.none)
*
* assert.deepStrictEqual(Enum.pred(true), O.some(false))
* assert.deepStrictEqual(Enum.pred(false), O.none)
*
* @category 1 Typeclass Instances
* @since 0.17.0
*/
export declare const Enum: Enum<boolean>;
export {};
//# sourceMappingURL=Boolean.d.ts.map