Hyperlinkv0.8.0-beta.28

Boolean

Boolean.impliesconsteffect/Boolean.ts:369
(that: boolean): (self: boolean) => boolean
(self: boolean, that: boolean): boolean

Combines two booleans using an implication: (!self || that).

When to use

Use to model logical implication between a condition and a consequence.

Example (Checking boolean implication)

import { Boolean } from "effect"
import * as assert from "node:assert"

assert.deepStrictEqual(Boolean.implies(true, true), true)
assert.deepStrictEqual(Boolean.implies(true, false), false)
assert.deepStrictEqual(Boolean.implies(false, true), true)
assert.deepStrictEqual(Boolean.implies(false, false), true)
combinators
Source effect/Boolean.ts:3694 lines
export const implies: {
  (that: boolean): (self: boolean) => boolean
  (self: boolean, that: boolean): boolean
} = dual(2, (self, that) => self ? that : true)