glendix/js/promise

Provides typed Promise composition at the JavaScript FFI boundary.

Types

Represents a JavaScript Promise rejection reason.

pub type PromiseRejection

Values

pub fn all(
  promises promises: List(promise.Promise(value)),
) -> promise.Promise(List(value))

Waits for every Promise to fulfill.

pub fn await_(
  promise promise: promise.Promise(value),
  then callback: fn(value) -> Nil,
) -> Nil

Runs a callback after a Promise fulfills.

pub fn catch_(
  promise promise: promise.Promise(value),
  with callback: fn(PromiseRejection) -> promise.Promise(value),
) -> promise.Promise(value)

Recovers from a Promise rejection.

pub fn map(
  promise promise: promise.Promise(value),
  with callback: fn(value) -> next,
) -> promise.Promise(next)

Maps a fulfilled Promise value.

pub fn race(
  promises promises: List(promise.Promise(value)),
) -> promise.Promise(value)

Resolves or rejects with the first completed Promise.

pub fn reject(reason reason: String) -> promise.Promise(value)

Creates a rejected Promise with an error message.

pub fn resolve(value value: value) -> promise.Promise(value)

Creates an already fulfilled Promise.

pub fn then_(
  promise promise: promise.Promise(value),
  with callback: fn(value) -> promise.Promise(next),
) -> promise.Promise(next)

Chains a Promise-producing callback.

Search Document