Packages

A fun, friendly, and type-safe ORM for Gleam! Compose type-safe SQL queries, generate decoders and types from schemas, and with a fun CLI!

Current section

Files

Jump to
funsies src templates@insert.erl
Raw

src/templates@insert.erl

-module(templates@insert).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([render_builder/1, render/1]).
-file("/Users/ashercohen/Desktop/ASHERSOPRO/funsies/src/templates/insert.gleam", 12).
-spec columns(db@schema:table()) -> gleam@string_builder:string_builder().
columns(Table) ->
Builder = gleam@string_builder:from_string(<<""/utf8>>),
Builder@3 = gleam@list:fold(
erlang:element(3, Table),
Builder,
fun(Builder@1, Col) ->
Builder@2 = gleam@string_builder:append(
Builder@1,
gleam@string:replace(
gleam@string:capitalise(erlang:element(2, Col)),
<<"_"/utf8>>,
<<""/utf8>>
)
),
Builder@2
end
),
Builder@3.
-file("/Users/ashercohen/Desktop/ASHERSOPRO/funsies/src/templates/insert.gleam", 28).
-spec columns2(db@schema:table()) -> gleam@string_builder:string_builder().
columns2(Table) ->
Builder = gleam@string_builder:from_string(<<""/utf8>>),
Builder@3 = gleam@list:fold(
erlang:element(3, Table),
Builder,
fun(Builder@1, Col) ->
Builder@2 = gleam@string_builder:append(
Builder@1,
gleam@string:replace(
erlang:element(2, Col),
<<"_"/utf8>>,
<<""/utf8>>
)
),
Builder@2
end
),
Builder@3.
-file("/Users/ashercohen/Desktop/ASHERSOPRO/funsies/src/templates/insert.gleam", 41).
-spec columnsyay(db@schema:table()) -> gleam@string_builder:string_builder().
columnsyay(Table) ->
Builder = gleam@string_builder:from_string(<<""/utf8>>),
Builder@5 = gleam@list:fold(
erlang:element(3, Table),
Builder,
fun(Builder@1, Col) ->
Builder@2 = gleam@string_builder:append(Builder@1, <<" "/utf8>>),
Builder@3 = gleam@string_builder:append(
Builder@2,
erlang:element(2, Col)
),
Builder@4 = gleam@string_builder:append(Builder@3, <<", "/utf8>>),
Builder@4
end
),
Builder@5.
-file("/Users/ashercohen/Desktop/ASHERSOPRO/funsies/src/templates/insert.gleam", 55).
-spec num(db@schema:table()) -> gleam@string_builder:string_builder().
num(Table) ->
Builder = gleam@string_builder:from_string(<<""/utf8>>),
Builder@5 = gleam@list:fold(
gleam@iterator:to_list(
gleam@iterator:range(1, erlang:length(erlang:element(3, Table)))
),
Builder,
fun(Builder@1, I) ->
Builder@2 = gleam@string_builder:append(Builder@1, <<" $"/utf8>>),
Builder@3 = gleam@string_builder:append(
Builder@2,
gleam@int:to_string(I)
),
Builder@4 = gleam@string_builder:append(Builder@3, <<", "/utf8>>),
Builder@4
end
),
Builder@5.
-file("/Users/ashercohen/Desktop/ASHERSOPRO/funsies/src/templates/insert.gleam", 73).
-spec render_builder(db@schema:table()) -> gleam@string_builder:string_builder().
render_builder(Table) ->
Builder = gleam@string_builder:from_string(<<""/utf8>>),
Builder@1 = gleam@string_builder:append(Builder, <<"
"/utf8>>),
Builder@2 = gleam@string_builder:append(Builder@1, <<"
"/utf8>>),
Builder@3 = gleam@string_builder:append(Builder@2, <<"
"/utf8>>),
Builder@4 = gleam@string_builder:append(Builder@3, <<"
"/utf8>>),
Builder@5 = gleam@string_builder:append(Builder@4, <<"
"/utf8>>),
Builder@6 = gleam@string_builder:append(
Builder@5,
<<"
import funs/"/utf8>>
),
Builder@7 = gleam@string_builder:append(Builder@6, erlang:element(2, Table)),
Builder@8 = gleam@string_builder:append(
Builder@7,
<<"_decoder
import funs/"/utf8>>
),
Builder@9 = gleam@string_builder:append(Builder@8, erlang:element(2, Table)),
Builder@10 = gleam@string_builder:append(
Builder@9,
<<"
import gleam/pgo
pub fn insert(db: pgo.Connection, values: List(Value)) -> Result("/utf8>>
),
Builder@11 = gleam@string_builder:append(
Builder@10,
erlang:element(2, Table)
),
Builder@12 = gleam@string_builder:append(Builder@11, <<"."/utf8>>),
Builder@13 = gleam@string_builder:append(
Builder@12,
gleam@string:capitalise(erlang:element(2, Table))
),
Builder@14 = gleam@string_builder:append(
Builder@13,
<<"Row, pgo.QueryError) {
let query = \"INSERT INTO "/utf8>>
),
Builder@15 = gleam@string_builder:append(
Builder@14,
erlang:element(2, Table)
),
Builder@16 = gleam@string_builder:append(Builder@15, <<" ("/utf8>>),
Builder@17 = gleam@string_builder:append_builder(
Builder@16,
columnsyay(Table)
),
Builder@18 = gleam@string_builder:append(Builder@17, <<") VALUES ("/utf8>>),
Builder@19 = gleam@string_builder:append_builder(Builder@18, num(Table)),
Builder@20 = gleam@string_builder:append(
Builder@19,
<<")\"
pgo.execute(db, [values], "/utf8>>
),
Builder@21 = gleam@string_builder:append(
Builder@20,
erlang:element(2, Table)
),
Builder@22 = gleam@string_builder:append(Builder@21, <<"."/utf8>>),
Builder@23 = gleam@string_builder:append(
Builder@22,
erlang:element(2, Table)
),
Builder@24 = gleam@string_builder:append(
Builder@23,
<<"_decoder_)
}
"/utf8>>
),
Builder@24.
-file("/Users/ashercohen/Desktop/ASHERSOPRO/funsies/src/templates/insert.gleam", 170).
-spec render(db@schema:table()) -> binary().
render(Table) ->
gleam@string_builder:to_string(render_builder(Table)).