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),
)