-module(gleamgen@render). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([default_context/0, to_string/1, pretty_list/1, body/2]). -export_type([rendered/0, context/0]). -type rendered() :: {render, glam@doc:document()}. -type context() :: {context, boolean(), boolean()}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/render.gleam", 11). -spec default_context() -> context(). default_context() -> {context, true, true}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/render.gleam", 15). -spec to_string(rendered()) -> binary(). to_string(To_render) -> glam@doc:to_string(erlang:element(2, To_render), 80). -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/render.gleam", 20). -spec pretty_list(list(glam@doc:document())) -> glam@doc:document(). pretty_list(Parameters) -> Comma = glam@doc:concat( [glam@doc:from_string(<<","/utf8>>), {break, <<" "/utf8>>, <<""/utf8>>}] ), Trailing_comma = glam@doc:break(<<""/utf8>>, <<","/utf8>>), Open_paren = glam@doc:concat( [glam@doc:from_string(<<"("/utf8>>), {break, <<""/utf8>>, <<""/utf8>>}] ), Close_paren = glam@doc:concat( [Trailing_comma, glam@doc:from_string(<<")"/utf8>>)] ), _pipe = Parameters, _pipe@1 = glam@doc:join(_pipe, Comma), _pipe@2 = glam@doc:prepend(_pipe@1, Open_paren), _pipe@3 = glam@doc:nest(_pipe@2, 2), _pipe@4 = glam@doc:append(_pipe@3, Close_paren), glam@doc:group(_pipe@4). -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/render.gleam", 36). -spec body(glam@doc:document(), boolean()) -> glam@doc:document(). body(Inside, Force_break) -> Between_brackets = case Force_break of true -> {line, 1}; false -> {break, <<" "/utf8>>, <<""/utf8>>} end, _pipe = Inside, _pipe@1 = glam@doc:prepend( _pipe, glam@doc:concat([glam@doc:from_string(<<"{"/utf8>>), Between_brackets]) ), _pipe@2 = glam@doc:nest(_pipe@1, 2), _pipe@3 = glam@doc:append( _pipe@2, glam@doc:concat([Between_brackets, glam@doc:from_string(<<"}"/utf8>>)]) ), glam@doc:group(_pipe@3).