-module(lightspeed@component@story). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/lightspeed/component/story.gleam"). -export([story/4, name/1, render/1]). -export_type([story/2]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(" Story helpers for function-component template fixtures.\n"). -type story(IIY, IIZ) :: {story, binary(), fun((IIY, IIZ) -> lightspeed@component:rendered()), IIY, IIZ}. -file("src/lightspeed/component/story.gleam", 17). ?DOC(" Build one story.\n"). -spec story( binary(), fun((IJA, IJB) -> lightspeed@component:rendered()), IJA, IJB ) -> story(IJA, IJB). story(Name, Component, Assigns, Slots) -> {story, Name, Component, Assigns, Slots}. -file("src/lightspeed/component/story.gleam", 27). ?DOC(" Story name.\n"). -spec name(story(any(), any())) -> binary(). name(Story) -> erlang:element(2, Story). -file("src/lightspeed/component/story.gleam", 32). ?DOC(" Render story output.\n"). -spec render(story(any(), any())) -> lightspeed@component:rendered(). render(Story) -> lightspeed@component@template:render( erlang:element(3, Story), erlang:element(4, Story), erlang:element(5, Story) ).