phrase

Types

pub type Phrase(full_data, data, retained, context) {
  Phrase(
    select: fn(full_data) -> Option(data),
    create: Option(fn(data, Option(context)) -> retained),
    update: Option(
      fn(data, data, Option(retained), Option(context)) ->
        retained,
    ),
    destroy: Option(fn(Option(retained), Option(context)) -> Nil),
    retained: Option(retained),
    prev: Option(data),
    play: fn(Option(full_data), Option(context)) ->
      Phrase(full_data, data, retained, context),
  )
}

Constructors

  • Phrase(
      select: fn(full_data) -> Option(data),
      create: Option(fn(data, Option(context)) -> retained),
      update: Option(
        fn(data, data, Option(retained), Option(context)) -> retained,
      ),
      destroy: Option(fn(Option(retained), Option(context)) -> Nil),
      retained: Option(retained),
      prev: Option(data),
      play: fn(Option(full_data), Option(context)) ->
        Phrase(full_data, data, retained, context),
    )

Functions

pub fn compose(
  select select: fn(a) -> Option(b),
  create create: Option(fn(b, Option(c)) -> d),
  update update: Option(fn(b, b, Option(d), Option(c)) -> d),
  destroy destroy: Option(fn(Option(d), Option(c)) -> Nil),
) -> Phrase(a, b, d, c)
pub fn identity_selector(a: a) -> Option(a)
Search Document