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 builders@insert.erl
Raw

src/builders@insert.erl

-module(builders@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/builders/insert.gleam", 13).
-spec columnsyay(funsies@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,
<<" yummy.w(value."/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/builders/insert.gleam", 27).
-spec render_builder(funsies@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,
<<"
import funs/"/utf8>>
),
Builder@3 = gleam@string_builder:append(Builder@2, erlang:element(2, Table)),
Builder@4 = gleam@string_builder:append(
Builder@3,
<<"_decoder
import funs/"/utf8>>
),
Builder@5 = gleam@string_builder:append(Builder@4, erlang:element(2, Table)),
Builder@6 = gleam@string_builder:append(
Builder@5,
<<"
import gleam/pgo
import funsies/query/yummy
import gleam/list
import gleam/string
"/utf8>>
),
Builder@7 = gleam@string_builder:append(
Builder@6,
<<"
pub fn insert(
builder: yummy.QueryBuilder,
// columns: List(String),
value: "/utf8>>
),
Builder@8 = gleam@string_builder:append(Builder@7, erlang:element(2, Table)),
Builder@9 = gleam@string_builder:append(Builder@8, <<"."/utf8>>),
Builder@10 = gleam@string_builder:append(
Builder@9,
gleam@string:capitalise(erlang:element(2, Table))
),
Builder@11 = gleam@string_builder:append(
Builder@10,
<<"Row,
) -> yummy.QueryBuilder {
yummy.QueryBuilder(
builder.table,
builder.select_columns,
builder.where_clauses,
builder.order_by_clauses,
list.map(builder.table.columns, fn(c) { c.name }),
// Set insert columns
["/utf8>>
),
Builder@12 = gleam@string_builder:append_builder(
Builder@11,
columnsyay(Table)
),
Builder@13 = gleam@string_builder:append(
Builder@12,
<<"],
// Set insert values
)
}
"/utf8>>
),
Builder@13.
-file("/Users/ashercohen/Desktop/ASHERSOPRO/funsies/src/builders/insert.gleam", 103).
-spec render(funsies@schema:table()) -> binary().
render(Table) ->
gleam@string_builder:to_string(render_builder(Table)).