Options
All
  • Public
  • Public/Protected
  • All
Menu

monads-co

Index

Type Aliases

CallHKT<F, I>: (F & { input: I })["output"]

This type function lets you apply a type to a HKT.

example
declare function <A, B, C extends HKT>map(self: CallHKT<C, A>, mapping: (value: A) => B): CallHKT<C, B>

Type Parameters

Functions

  • Err<ValueT, ErrorT>(value: ErrorT): Result<ValueT, ErrorT>
  • Used to construct an Err value, for example:

    example
    type ErrorMessage = string

    function safeDivide(a: number, b: number): Result<number, ErrorMessage> {
    if (b === 0) {
    return Err("Can't divide by zero")
    } else {
    return Ok(a / b)
    }
    }

    Type Parameters

    • ValueT

    • ErrorT

    Parameters

    • value: ErrorT

    Returns Result<ValueT, ErrorT>

  • Maybe<ValueT>(value?: null | ValueT): Optional<NonNullable<ValueT>>
  • Like Some() or None() but it doesn't mind if you give it a value or not.

    Type Parameters

    • ValueT

    Parameters

    • Optional value: null | ValueT

    Returns Optional<NonNullable<ValueT>>

  • Used to construct Some value, for example:

    example
    // Gets all but the start of the string; IE "string" -> "tring"
    function getStringTail(input: string): Optional<string> {
    if (input.length <= 1) {
    return None()
    } else {
    return Some(input.slice(1))
    }
    }

    Type Parameters

    • ValueT

    Returns Optional<ValueT>

  • Ok<ValueT, ErrorT>(value: ValueT): Result<ValueT, ErrorT>
  • Used to construct an Ok value, for example:

    example
    type ErrorMessage = string

    function safeDivide(a: number, b: number): Result<number, ErrorMessage> {
    if (b === 0) {
    return Err("Can't divide by zero")
    } else {
    return Ok(a / b)
    }
    }

    Type Parameters

    • ValueT

    • ErrorT

    Parameters

    • value: ValueT

    Returns Result<ValueT, ErrorT>

  • Some<ValueT>(value: ValueT): Optional<ValueT>
  • Used to construct Some value, for example:

    example
    // Gets all but the start of the string; IE "string" -> "tring"
    function getStringTail(input: string): Optional<string> {
    if (input.length <= 1) {
    return None()
    } else {
    return Some(input.slice(1))
    }
    }

    Type Parameters

    • ValueT

    Parameters

    • value: ValueT

    Returns Optional<ValueT>

Generated using TypeDoc