Current section
Files
Jump to
Current section
Files
src/ormlette@templates@generate.erl
-module(ormlette@templates@generate).
-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/generate.gleam", 8).
-spec render_builder(list(binary())) -> gleam@string_builder:string_builder().
render_builder(Paths) ->
Builder = gleam@string_builder:from_string(<<""/utf8>>),
Builder@1 = gleam@string_builder:append(
Builder,
<<"
import ormlette/templates/tables
import ormlette/templates/utils/to_string
import ormlette/templates/decoder_type
"/utf8>>
),
Builder@6 = gleam@list:fold(
Paths,
Builder@1,
fun(Builder@2, P) ->
Builder@3 = gleam@string_builder:append(
Builder@2,
<<"
import schema/"/utf8>>
),
Builder@4 = gleam@string_builder:append(Builder@3, P),
Builder@5 = gleam@string_builder:append(Builder@4, <<"
"/utf8>>),
Builder@5
end
),
Builder@7 = gleam@string_builder:append(
Builder@6,
<<"
pub fn main() {
tables.render(["/utf8>>
),
Builder@13 = gleam@list:fold(
Paths,
Builder@7,
fun(Builder@8, P@1) ->
Builder@9 = gleam@string_builder:append(Builder@8, P@1),
Builder@10 = gleam@string_builder:append(Builder@9, <<"."/utf8>>),
Builder@11 = gleam@string_builder:append(Builder@10, P@1),
Builder@12 = gleam@string_builder:append(
Builder@11,
<<"_table(), "/utf8>>
),
Builder@12
end
),
Builder@14 = gleam@string_builder:append(
Builder@13,
<<"])
|> to_string.to_file(\"src/eggs/tables.gleam\", to_string.Write)
decoder_type.render(["/utf8>>
),
Builder@20 = gleam@list:fold(
Paths,
Builder@14,
fun(Builder@15, P@2) ->
Builder@16 = gleam@string_builder:append(Builder@15, P@2),
Builder@17 = gleam@string_builder:append(Builder@16, <<"."/utf8>>),
Builder@18 = gleam@string_builder:append(Builder@17, P@2),
Builder@19 = gleam@string_builder:append(
Builder@18,
<<"_table(), "/utf8>>
),
Builder@19
end
),
Builder@21 = gleam@string_builder:append(
Builder@20,
<<"])
|> to_string.to_file(\"src/eggs/decode.gleam\", to_string.Write)
}"/utf8>>
),
Builder@21.
-file("/Users/ashercohen/Desktop/gleam/ormlette/src/ormlette/templates/generate.gleam", 56).
-spec render(list(binary())) -> binary().
render(Paths) ->
gleam@string_builder:to_string(render_builder(Paths)).