include/lightspeed@component@template_compiler_Schema.hrl

-record(schema, {
    name :: binary(),
    attrs :: list(lightspeed@component@template_compiler:attr_schema()),
    slots :: list(lightspeed@component@template_compiler:slot_schema()),
    build_assigns :: fun((list({binary(),
        lightspeed@component@template_compiler:attr_value()})) -> {ok, any()} |
        {error, binary()}),
    build_slots :: fun((list({binary(), lightspeed@component:rendered()})) -> {ok,
            any()} |
        {error, binary()}),
    render :: fun((any(), any()) -> lightspeed@component:rendered())
}).