Conditions

This module provides a collection of utility functions for working with conditional logic and boolean operations.

Value Checking

isDefined(value: unknown): boolean

Checks if a value is defined (not null and not undefined).

isDefined(5) // returns true 
isDefined(null) // returns false 
isDefined(undefined) // returns false 

isNotDefined(value: unknown): boolean

Checks if a value is not defined (`null` or undefined).

isNotDefined(null) // returns true 
isNotDefined(5) // returns false 

isTruthy(value: unknown): boolean

Checks if a value is truthy.

isTruthy(true) // returns true 
isTruthy(1) // returns true 
isTruthy("") // returns false 

isFalsy(value: unknown): boolean

Checks if a value is falsy.

isFalsy(false) // returns true 
isFalsy(0) // returns true 
isFalsy("hello") // returns false 

Comparison Operations

isEqual(a: unknown, b: unknown): boolean

Compares two values for strict equality.

isEqual(5, 5) // returns true 
isEqual(5, "5") // returns false 

isNotEqual(a: unknown, b: unknown): boolean

Compares two values for inequality.

isNotEqual(5, "5") // returns true 
isNotEqual(5, 5) // returns false 

Logical Operations

negate(value: unknown): boolean

Negates a boolean value.

negate(true) // returns false 
negate(false) // returns true 

or(a: unknown, b: unknown): unknown

Performs a logical OR operation.

or(true, false) // returns true 
or(false, false) // returns false 

and(a: unknown, b: unknown): unknown

Performs a logical AND operation.

and(true, true) // returns true 
and(true, false) // returns false 

conditionalReturn<T>(condition: boolean, trueValue: T, falseValue: T): T

Returns one of two values based on a condition.

conditionalReturn(true, "yes", "no") // returns "yes"
conditionalReturn(false, "yes", "no") // returns "no"