-module(ormlette@templates@tables). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([render_builder/1, render/1]). -file("/Users/ashercohen/Desktop/gleam/ormlette/src/ormlette/templates/tables.gleam", 13). -spec render_builder(list(ormlette@schema@create:table())) -> gleam@string_builder:string_builder(). render_builder(Tables) -> Builder = gleam@string_builder:from_string(<<""/utf8>>), Builder@1 = gleam@string_builder:append(Builder, <<" "/utf8>>), Builder@64 = gleam@list:fold( Tables, Builder@1, fun(Builder@2, Table) -> Builder@3 = gleam@string_builder:append( Builder@2, <<" pub type "/utf8>> ), Builder@4 = gleam@string_builder:append( Builder@3, gleam@string:capitalise(erlang:element(2, Table)) ), Builder@5 = gleam@string_builder:append(Builder@4, <<" { "/utf8>>), Builder@6 = gleam@string_builder:append( Builder@5, gleam@string:capitalise(erlang:element(2, Table)) ), Builder@7 = gleam@string_builder:append(Builder@6, <<"( "/utf8>>), Builder@12 = gleam@list:fold( erlang:element(3, Table), Builder@7, fun(Builder@8, Col) -> Builder@9 = gleam@string_builder:append( Builder@8, <<" "/utf8>> ), Builder@10 = gleam@string_builder:append( Builder@9, erlang:element(2, Col) ), Builder@11 = gleam@string_builder:append( Builder@10, <<": String, "/utf8>> ), Builder@11 end ), Builder@13 = gleam@string_builder:append( Builder@12, <<" ) } pub fn "/utf8>> ), Builder@14 = gleam@string_builder:append( Builder@13, gleam@string:lowercase(erlang:element(2, Table)) ), Builder@15 = gleam@string_builder:append( Builder@14, <<"() -> "/utf8>> ), Builder@16 = gleam@string_builder:append( Builder@15, gleam@string:replace( gleam@string:capitalise(erlang:element(2, Table)), <<"_"/utf8>>, <<""/utf8>> ) ), Builder@17 = gleam@string_builder:append( Builder@16, <<"{ "/utf8>> ), Builder@18 = gleam@string_builder:append( Builder@17, gleam@string:capitalise(erlang:element(2, Table)) ), Builder@19 = gleam@string_builder:append(Builder@18, <<"("/utf8>>), Builder@28 = gleam@list:fold( erlang:element(3, Table), Builder@19, fun(Builder@20, Col@1) -> Builder@21 = gleam@string_builder:append( Builder@20, <<" "/utf8>> ), Builder@22 = gleam@string_builder:append( Builder@21, erlang:element(2, Col@1) ), Builder@23 = gleam@string_builder:append( Builder@22, <<": \""/utf8>> ), Builder@24 = gleam@string_builder:append( Builder@23, gleam@string:lowercase(erlang:element(2, Table)) ), Builder@25 = gleam@string_builder:append( Builder@24, <<"."/utf8>> ), Builder@26 = gleam@string_builder:append( Builder@25, erlang:element(2, Col@1) ), Builder@27 = gleam@string_builder:append( Builder@26, <<"\", "/utf8>> ), Builder@27 end ), Builder@29 = gleam@string_builder:append( Builder@28, <<" ) } "/utf8>> ), Builder@62 = gleam@list:fold( ormlette@templates@utils@combine:combine(Table), Builder@29, fun(Builder@30, Combined_table) -> Builder@31 = gleam@string_builder:append( Builder@30, <<" pub type "/utf8>> ), Builder@32 = gleam@string_builder:append( Builder@31, gleam@string:replace( gleam@string:capitalise( erlang:element(2, Combined_table) ), <<"_"/utf8>>, <<""/utf8>> ) ), Builder@33 = gleam@string_builder:append( Builder@32, <<" { "/utf8>> ), Builder@34 = gleam@string_builder:append( Builder@33, gleam@string:replace( gleam@string:capitalise( erlang:element(2, Combined_table) ), <<"_"/utf8>>, <<""/utf8>> ) ), Builder@35 = gleam@string_builder:append( Builder@34, <<"( "/utf8>> ), Builder@42 = gleam@list:fold( ormlette@templates@utils@combine:get_column_info( Combined_table ), Builder@35, fun(Builder@36, Col_info) -> Builder@37 = gleam@string_builder:append( Builder@36, <<" "/utf8>> ), Builder@38 = gleam@string_builder:append( Builder@37, erlang:element(2, Col_info) ), Builder@39 = gleam@string_builder:append( Builder@38, <<"_"/utf8>> ), Builder@40 = gleam@string_builder:append( Builder@39, erlang:element(3, Col_info) ), Builder@41 = gleam@string_builder:append( Builder@40, <<": String, // Use underscore for field names "/utf8>> ), Builder@41 end ), Builder@43 = gleam@string_builder:append( Builder@42, <<" ) } pub fn "/utf8>> ), Builder@44 = gleam@string_builder:append( Builder@43, gleam@string:lowercase( erlang:element(2, Combined_table) ) ), Builder@45 = gleam@string_builder:append( Builder@44, <<"() -> "/utf8>> ), Builder@46 = gleam@string_builder:append( Builder@45, gleam@string:replace( gleam@string:capitalise( erlang:element(2, Combined_table) ), <<"_"/utf8>>, <<""/utf8>> ) ), Builder@47 = gleam@string_builder:append( Builder@46, <<"{ "/utf8>> ), Builder@48 = gleam@string_builder:append( Builder@47, gleam@string:replace( gleam@string:capitalise( erlang:element(2, Combined_table) ), <<"_"/utf8>>, <<""/utf8>> ) ), Builder@49 = gleam@string_builder:append( Builder@48, <<"("/utf8>> ), Builder@60 = gleam@list:fold( ormlette@templates@utils@combine:get_column_info( Combined_table ), Builder@49, fun(Builder@50, Col_info@1) -> Builder@51 = gleam@string_builder:append( Builder@50, <<" "/utf8>> ), Builder@52 = gleam@string_builder:append( Builder@51, erlang:element(2, Col_info@1) ), Builder@53 = gleam@string_builder:append( Builder@52, <<"_"/utf8>> ), Builder@54 = gleam@string_builder:append( Builder@53, erlang:element(3, Col_info@1) ), Builder@55 = gleam@string_builder:append( Builder@54, <<": \""/utf8>> ), Builder@56 = gleam@string_builder:append( Builder@55, gleam@string:lowercase( erlang:element(2, Col_info@1) ) ), Builder@57 = gleam@string_builder:append( Builder@56, <<"."/utf8>> ), Builder@58 = gleam@string_builder:append( Builder@57, erlang:element(3, Col_info@1) ), Builder@59 = gleam@string_builder:append( Builder@58, <<"\", "/utf8>> ), Builder@59 end ), Builder@61 = gleam@string_builder:append( Builder@60, <<" ) } "/utf8>> ), Builder@61 end ), Builder@63 = gleam@string_builder:append(Builder@62, <<" "/utf8>>), Builder@63 end ), Builder@64. -file("/Users/ashercohen/Desktop/gleam/ormlette/src/ormlette/templates/tables.gleam", 124). -spec render(list(ormlette@schema@create:table())) -> binary(). render(Tables) -> gleam@string_builder:to_string(render_builder(Tables)).