Packages

A meta-framework for lustre, enabling a full-stack experience

Current section

Files

Jump to
illustrious include illustrious@server_ServerApp.hrl
Raw

include/illustrious@server_ServerApp.hrl

-record(server_app, {
view :: fun((list(binary()), any()) -> lustre@internals@vdom:element(illustrious@state:illustrious_action(any()))),
html_headers :: fun((list(binary()), any()) -> lustre@internals@vdom:element(illustrious@state:illustrious_action(any()))),
default_model :: any(),
updater :: fun((illustrious@state:illustrious_model(any()), illustrious@state:illustrious_action(any())) -> {illustrious@state:illustrious_model(any()),
lustre@effect:effect(illustrious@state:illustrious_action(any()))}),
decoder :: fun((gleam@dynamic:dynamic_()) -> {ok,
illustrious@state:illustrious_action(any())} |
{error, list(gleam@dynamic:decode_error())}),
initializer :: fun((list(binary()), any()) -> {ok, gleam@json:json()} |
{error, any()}),
loader :: fun((list(binary()), any()) -> {ok, gleam@json:json()} |
{error, any()}),
error_serializer :: fun((any()) -> binary())
}).