Lines n/a 0 / 0
Methods n/a 0 / 0
Classes n/a 0 / 0
Name Lines Methods CRAP
10enum WhereType: string
11{
12    /** A comparison like `column = ?` — keys: column, operator, value, boolean. */
13    case Basic = 'basic';
14
15    /** A range like `column between ? and ?` — keys: column, operator, value, boolean. */
16    case Between = 'between';
17
18    /** A null check like `column is null` — keys: column, operator, boolean. */
19    case Null = 'null';
20
21    /** A raw SQL condition — keys: sql, boolean. */
22    case Raw = 'raw';
23
24    /** A column-to-column comparison — keys: first, operator, second, boolean. */
25    case Column = 'column';
26
27    /** A nested group of wheres — keys: query, boolean. */
28    case Nested = 'nested';
29
30    /**
31     * An `EXISTS`/`NOT EXISTS` subquery — keys: query, negated, boolean.
32     *
33     * One case covers both spellings: `negated` decides whether the
34     * Grammar prefixes `NOT`.
35     */
36    case Exists = 'exists';
37
38    /**
39     * A `column IN (SELECT …)` / `column NOT IN (SELECT …)` subquery —
40     * keys: column, query, negated, boolean.
41     *
42     * One case covers both spellings: `negated` decides whether the
43     * Grammar inserts `NOT`.
44     */
45    case InSub = 'in-sub';
46}