-module(galchemy@ast@predicate). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src\\galchemy\\ast\\predicate.gleam"). -export_type([comparison_op/0, predicate/0]). -type comparison_op() :: eq | neq | gt | gte | lt | lte. -type predicate() :: {comparison, galchemy@ast@expression:expression(), comparison_op(), galchemy@ast@expression:expression()} | {'and', predicate(), predicate()} | {'or', predicate(), predicate()} | {'not', predicate()} | {in_list, galchemy@ast@expression:expression(), list(galchemy@ast@expression:expression())} | {is_null, galchemy@ast@expression:expression()} | {is_not_null, galchemy@ast@expression:expression()} | {like, galchemy@ast@expression:expression(), galchemy@ast@expression:expression()} | {ilike, galchemy@ast@expression:expression(), galchemy@ast@expression:expression()}.