-module(galchemy@ast@query). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src\\galchemy\\ast\\query.gleam"). -export_type(['query'/0, insert_query/0, delete_query/0, update_query/0]). -type 'query'() :: {select, galchemy@ast@expression:select_query()} | {insert, insert_query()} | {update, update_query()} | {delete, delete_query()}. -type insert_query() :: {insert_query, galchemy@ast@schema:table(), list(list({galchemy@ast@schema:column_meta(), galchemy@ast@expression:expression()})), list(galchemy@ast@expression:select_item())}. -type delete_query() :: {delete_query, galchemy@ast@schema:table(), gleam@option:option(galchemy@ast@expression:predicate()), list(galchemy@ast@expression:select_item())}. -type update_query() :: {update_query, galchemy@ast@schema:table(), list({galchemy@ast@schema:column_meta(), galchemy@ast@expression:expression()}), gleam@option:option(galchemy@ast@expression:predicate()), list(galchemy@ast@expression:select_item())}.