@kuindji/sql-type-parser
Advanced tools
| /** | ||
| * Common builder utilities shared across query builders. | ||
| * | ||
| * Phase 3: runtime ConditionTreeBuilder + base .when() helper. | ||
| */ | ||
| import type { WhereExpr } from "./ast.js"; | ||
| export type ConditionTreePart = WhereExpr | ConditionTreeState; | ||
| export interface ConditionTreeState { | ||
| readonly operator: "and" | "or"; | ||
| readonly parts: ReadonlyArray<{ | ||
| readonly id: string; | ||
| readonly condition: WhereExpr | ConditionTreeState; | ||
| }>; | ||
| } | ||
| type UppercaseOperator<Op extends "and" | "or"> = Op extends "and" ? "AND" : "OR"; | ||
| type AppendCondition<Current extends string, Part extends string, Op extends "and" | "or"> = string extends Current | Part ? string : Current extends "()" ? `(${Part})` : Current extends `(${infer Body})` ? `(${Body} ${UppercaseOperator<Op>} ${Part})` : string; | ||
| /** | ||
| * Immutable condition tree builder used by SELECT/UPDATE/DELETE. | ||
| * | ||
| * Runtime-only; type-level behavior is driven by WhereExpr types, but we also | ||
| * carry a lightweight string literal of the rendered expression when inputs | ||
| * are literal strings to keep BuilderSQL precise. | ||
| */ | ||
| export declare class ConditionTreeBuilder<Op extends "and" | "or" = "and" | "or", Expr extends string = string> { | ||
| private readonly state; | ||
| private constructor(); | ||
| /** Create a new condition tree with the given operator. */ | ||
| static create<Op extends "and" | "or">(operator: Op): ConditionTreeBuilder<Op, "()">; | ||
| /** Internal accessor used by query builders to read the tree state. */ | ||
| getState(): ConditionTreeState; | ||
| /** | ||
| * Add a new condition part. | ||
| * | ||
| * Currently this treats string fragments as opaque expressions and uses them | ||
| * directly in toString(); query builders are responsible for validating & | ||
| * parsing them into WhereExpr when integrating with the type-level parser. | ||
| */ | ||
| add<Part extends string | ConditionTreeBuilder<any, any>>(part: Part, id?: string): ConditionTreeBuilder<Op, AppendCondition<Expr, Part extends ConditionTreeBuilder<any, infer PExpr extends string> ? PExpr : Part extends string ? Part : string, Op>>; | ||
| /** Remove a condition part by ID (no-op if not found). */ | ||
| remove(id: string): ConditionTreeBuilder<Op, Expr>; | ||
| /** | ||
| * Conditional modification helper shared by all builders. | ||
| * | ||
| * Runtime semantics: | ||
| * - If condition is true: the callback is executed and its result returned. | ||
| * - If condition is false: the callback is skipped and `this` is returned. | ||
| * | ||
| * Type-level behavior for specific builders is implemented separately. | ||
| */ | ||
| when<Next extends ConditionTreeBuilder<any, any>>(condition: boolean, callback: (b: ConditionTreeBuilder<Op, Expr>) => Next): ConditionTreeBuilder<Op, Expr> | Next; | ||
| /** | ||
| * String representation used by query builders for WHERE/HAVING clauses. | ||
| * | ||
| * - Entire expression is wrapped in parentheses. | ||
| * - Logical operators rendered as uppercase AND/OR. | ||
| */ | ||
| toString(): Expr; | ||
| private static renderPart; | ||
| private static isConditionTreeState; | ||
| private static generateId; | ||
| } | ||
| /** | ||
| * Convenience helper for creating a condition tree. | ||
| * Prefer this over calling ConditionTreeBuilder.create directly. | ||
| */ | ||
| export declare function createConditionTree<Op extends "and" | "or">(operator: Op): ConditionTreeBuilder<Op, "()">; | ||
| /** | ||
| * Generic runtime `.when` helper for all builders. | ||
| * | ||
| * This is a small convenience wrapper that implements the shared | ||
| * runtime semantics: | ||
| * | ||
| * - If condition is true: execute callback and return its result. | ||
| * - If condition is false: skip callback and return builder unchanged. | ||
| */ | ||
| export declare function whenRuntime<B>(builder: B, condition: boolean, callback: (b: B) => B): B; | ||
| /** Runtime parameter value type supported by query builders. */ | ||
| export type QueryParamValue = string | number | boolean | null; | ||
| type BuildArray<N extends number, Acc extends unknown[] = []> = number extends N ? unknown[] : Acc["length"] extends N ? Acc : BuildArray<N, [...Acc, unknown]>; | ||
| /** | ||
| * Compute the string literal representing the placeholders for a parameter | ||
| * tuple, offset by the number of existing parameters. Falls back to `string` | ||
| * when counts are not known as literals. | ||
| */ | ||
| export type ParamString<Params extends readonly QueryParamValue[], Offset extends number = 0, Seen extends unknown[] = BuildArray<Offset>, Acc extends string = ""> = Params extends readonly [ | ||
| any, | ||
| ...infer Rest extends readonly QueryParamValue[] | ||
| ] ? ParamString<Rest, Offset, [ | ||
| ...Seen, | ||
| unknown | ||
| ], Acc extends "" ? `$${[...Seen, unknown]["length"]}` : `${Acc}, $${[...Seen, unknown]["length"]}`> : Acc; | ||
| /** | ||
| * Append new parameters onto an existing list and return both the combined | ||
| * params and the positional placeholder string (e.g. "$1, $2"). | ||
| */ | ||
| export declare function appendParamsRuntime(existing: readonly QueryParamValue[], params: readonly QueryParamValue[]): { | ||
| readonly params: readonly QueryParamValue[]; | ||
| readonly paramString: string; | ||
| }; | ||
| /** | ||
| * Build the placeholder string for a set of parameters with a given offset. | ||
| */ | ||
| export declare function buildParamString(params: readonly QueryParamValue[], offset: number): string; | ||
| export {}; | ||
| //# sourceMappingURL=builder.d.ts.map |
| {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/common/builder.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * Common builder utilities shared across query builders. | ||
| * | ||
| * Phase 3: runtime ConditionTreeBuilder + base .when() helper. | ||
| */ | ||
| /** | ||
| * Immutable condition tree builder used by SELECT/UPDATE/DELETE. | ||
| * | ||
| * Runtime-only; type-level behavior is driven by WhereExpr types, but we also | ||
| * carry a lightweight string literal of the rendered expression when inputs | ||
| * are literal strings to keep BuilderSQL precise. | ||
| */ | ||
| export class ConditionTreeBuilder { | ||
| state; | ||
| constructor(state) { | ||
| this.state = state; | ||
| } | ||
| /** Create a new condition tree with the given operator. */ | ||
| static create(operator) { | ||
| return new ConditionTreeBuilder({ | ||
| operator, | ||
| parts: [], | ||
| }); | ||
| } | ||
| /** Internal accessor used by query builders to read the tree state. */ | ||
| getState() { | ||
| return this.state; | ||
| } | ||
| /** | ||
| * Add a new condition part. | ||
| * | ||
| * Currently this treats string fragments as opaque expressions and uses them | ||
| * directly in toString(); query builders are responsible for validating & | ||
| * parsing them into WhereExpr when integrating with the type-level parser. | ||
| */ | ||
| add(part, id) { | ||
| const partId = id ?? ConditionTreeBuilder.generateId(); | ||
| const condition = part instanceof ConditionTreeBuilder | ||
| ? part.getState() | ||
| : part; | ||
| // Replace existing part with same ID, or append if not found. | ||
| const existingIndex = this.state.parts.findIndex(p => p.id === partId); | ||
| const nextParts = existingIndex === -1 | ||
| ? [...this.state.parts, { id: partId, condition }] | ||
| : this.state.parts.map((p, idx) => idx === existingIndex ? { id: partId, condition } : p); | ||
| return new ConditionTreeBuilder({ | ||
| operator: this.state.operator, | ||
| parts: nextParts, | ||
| }); | ||
| } | ||
| /** Remove a condition part by ID (no-op if not found). */ | ||
| remove(id) { | ||
| const nextParts = this.state.parts.filter(p => p.id !== id); | ||
| if (nextParts.length === this.state.parts.length) { | ||
| return this; | ||
| } | ||
| return new ConditionTreeBuilder({ | ||
| operator: this.state.operator, | ||
| parts: nextParts, | ||
| }); | ||
| } | ||
| /** | ||
| * Conditional modification helper shared by all builders. | ||
| * | ||
| * Runtime semantics: | ||
| * - If condition is true: the callback is executed and its result returned. | ||
| * - If condition is false: the callback is skipped and `this` is returned. | ||
| * | ||
| * Type-level behavior for specific builders is implemented separately. | ||
| */ | ||
| when(condition, callback) { | ||
| return condition ? callback(this) : this; | ||
| } | ||
| /** | ||
| * String representation used by query builders for WHERE/HAVING clauses. | ||
| * | ||
| * - Entire expression is wrapped in parentheses. | ||
| * - Logical operators rendered as uppercase AND/OR. | ||
| */ | ||
| toString() { | ||
| if (this.state.parts.length === 0) { | ||
| return "()"; | ||
| } | ||
| const op = this.state.operator.toUpperCase(); | ||
| const rendered = this.state.parts | ||
| .map(part => ConditionTreeBuilder.renderPart(part.condition)) | ||
| .filter(s => s.length > 0) | ||
| .join(` ${op} `); | ||
| return `(${rendered})`; | ||
| } | ||
| // --------------------------------------------------------------------------- | ||
| // Internal helpers | ||
| // --------------------------------------------------------------------------- | ||
| static renderPart(condition) { | ||
| if (ConditionTreeBuilder.isConditionTreeState(condition)) { | ||
| const nested = new ConditionTreeBuilder(condition).toString(); | ||
| return nested; | ||
| } | ||
| // For now treat WhereExpr as an opaque string at runtime. | ||
| return String(condition ?? "").trim(); | ||
| } | ||
| static isConditionTreeState(value) { | ||
| return (typeof value === "object" | ||
| && value !== null | ||
| && value.operator !== undefined | ||
| && Array.isArray(value.parts)); | ||
| } | ||
| static generateId() { | ||
| // Simple, stable ID for runtime usage; callers can override via explicit id. | ||
| return `cond_${Math.random().toString(36).slice(2, 10)}`; | ||
| } | ||
| } | ||
| /** | ||
| * Convenience helper for creating a condition tree. | ||
| * Prefer this over calling ConditionTreeBuilder.create directly. | ||
| */ | ||
| export function createConditionTree(operator) { | ||
| return ConditionTreeBuilder.create(operator); | ||
| } | ||
| /** | ||
| * Generic runtime `.when` helper for all builders. | ||
| * | ||
| * This is a small convenience wrapper that implements the shared | ||
| * runtime semantics: | ||
| * | ||
| * - If condition is true: execute callback and return its result. | ||
| * - If condition is false: skip callback and return builder unchanged. | ||
| */ | ||
| export function whenRuntime(builder, condition, callback) { | ||
| return condition ? callback(builder) : builder; | ||
| } | ||
| /** | ||
| * Append new parameters onto an existing list and return both the combined | ||
| * params and the positional placeholder string (e.g. "$1, $2"). | ||
| */ | ||
| export function appendParamsRuntime(existing, params) { | ||
| const base = existing ?? []; | ||
| const nextParams = [...base, ...params]; | ||
| const paramString = buildParamString(params, base.length); | ||
| return { | ||
| params: nextParams, | ||
| paramString, | ||
| }; | ||
| } | ||
| /** | ||
| * Build the placeholder string for a set of parameters with a given offset. | ||
| */ | ||
| export function buildParamString(params, offset) { | ||
| if (!params || params.length === 0) { | ||
| return ""; | ||
| } | ||
| return params.map((_, idx) => `$${offset + idx + 1}`).join(", "); | ||
| } | ||
| //# sourceMappingURL=builder.js.map |
| {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/common/builder.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * SELECT Query Builder - Type-Level State & Utilities | ||
| * | ||
| * Phase 2 focuses on type-level pieces only: | ||
| * - Core builder state types | ||
| * - Join strictness and replacement rules | ||
| * - State-to-AST conversion scaffolding | ||
| * | ||
| * Runtime builder implementation is added in Phase 3 and later. | ||
| */ | ||
| import { ConditionTreeBuilder } from "../common/builder.js"; | ||
| import type { ParamString, QueryParamValue } from "../common/builder.js"; | ||
| import type { ColumnRefType, CTEDefinition, JoinClause, OrderByItem, TableSource, WhereExpr } from "../common/ast.js"; | ||
| import type { Flatten, MatchError } from "../common/utils.js"; | ||
| import type { SelectClause, SelectItem, UnionClause, UnionOperatorType } from "./ast.js"; | ||
| import type { DatabaseSchema } from "../common/schema.js"; | ||
| import type { ParseTableRef } from "./parser.js"; | ||
| /** | ||
| * Lightweight, non-AST builder state tag used for result typing. | ||
| * | ||
| * This deliberately does NOT mirror the full SQL AST. It only tracks: | ||
| * - `fromTable`: the primary table name (for simple table-driven cases) | ||
| * - `row`: the current inferred result row type | ||
| * - `contextSQL`: the FROM/JOIN fragment used to build a per-column | ||
| * synthetic query for `QueryResult`, so that aliasing and joins are | ||
| * resolved by the existing parser + matcher. | ||
| * | ||
| * The heavy AST-centric state types (`SelectBuilderState`, etc.) below | ||
| * remain available for future, more advanced builder phases, but are not | ||
| * threaded through the runtime builder generics to keep TypeScript | ||
| * instantiation depth manageable. | ||
| */ | ||
| export interface BuilderStateTag<FromTable extends string | undefined = string | undefined, Row = unknown, ContextSQL extends string | undefined = string | undefined> { | ||
| readonly fromTable: FromTable; | ||
| readonly row: Row; | ||
| readonly contextSQL: ContextSQL; | ||
| } | ||
| /** | ||
| * Lightweight type-level tag that tracks the assembled SQL fragments for a | ||
| * builder. This is used only for type-level SQL reconstruction and optional | ||
| * validation; it has no runtime representation. | ||
| * | ||
| * All fields store clause *fragments* (for example, `select` stores the column | ||
| * list without the SELECT keyword) so that assembly logic can mirror | ||
| * `assembleSelectSQL` closely. | ||
| */ | ||
| export interface BuilderSqlTag<Select extends string | ClauseList | undefined = undefined, From extends string | undefined = undefined, Joins extends string | ClauseList | undefined = undefined, Where extends string | undefined = undefined, GroupBy extends string | undefined = undefined, Having extends string | undefined = undefined, OrderBy extends string | undefined = undefined, Limit extends number | undefined = undefined, Params extends readonly QueryParamValue[] = readonly []> { | ||
| readonly select: Select; | ||
| readonly from: From; | ||
| readonly joins: Joins; | ||
| readonly where: Where; | ||
| readonly groupBy: GroupBy; | ||
| readonly having: Having; | ||
| readonly orderBy: OrderBy; | ||
| readonly limit: Limit; | ||
| readonly params: Params; | ||
| } | ||
| /** | ||
| * Initial empty SQL tag: no clauses present. | ||
| */ | ||
| export type EmptySqlState = BuilderSqlTag; | ||
| /** | ||
| * Initial lightweight builder state: no FROM table, no context, and an | ||
| * empty result row. | ||
| */ | ||
| export type EmptyBuilderState = BuilderStateTag<undefined, {}, undefined>; | ||
| type DefaultSchemaName<Schema extends DatabaseSchema> = Schema["defaultSchema"] extends infer D extends string ? D : never; | ||
| type SchemaTables<Schema extends DatabaseSchema> = Schema["schemas"][DefaultSchemaName<Schema>]; | ||
| export type TableNameOf<Schema extends DatabaseSchema> = Extract<keyof SchemaTables<Schema>, string>; | ||
| type IsTuple<T extends readonly any[]> = number extends T["length"] ? false : true; | ||
| /** | ||
| * Convert a union of types into an intersection (A | B -> A & B). | ||
| * Used to merge column rows derived from non-tuple string arrays. | ||
| */ | ||
| type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never; | ||
| type ToStringArray<T extends string | readonly string[]> = T extends readonly [infer First extends string, ...infer Rest extends string[]] ? [First, ...Rest] : T extends readonly (infer S extends string)[] ? S[] : [T]; | ||
| /** | ||
| * Helper to detect literal string types (as opposed to plain `string`). | ||
| */ | ||
| type IsLiteralString<T> = T extends string ? string extends T ? false : true : false; | ||
| /** Strip simple PostgreSQL-style casts (`expr::type`). */ | ||
| type StripCast<S extends string> = S extends `${infer Base}::${string}` ? Base : S; | ||
| type TrimStr<S extends string> = S extends ` ${infer T}` ? TrimStr<T> : S extends `${infer T} ` ? TrimStr<T> : S; | ||
| type LastAlias<S extends string> = TrimStr<S> extends `${infer _Head} AS ${infer Rest}` ? LastAlias<Rest> : TrimStr<S>; | ||
| type ExtractAlias<S extends string> = TrimStr<S> extends `${string} AS ${string}` ? LastAlias<S> : undefined; | ||
| type ExprWithoutAlias<S extends string> = ExtractAlias<S> extends infer A ? A extends string ? TrimStr<S> extends `${infer Expr} AS ${A}` ? TrimStr<Expr> : TrimStr<S> : TrimStr<S> : TrimStr<S>; | ||
| type SplitAlias<S extends string> = [ | ||
| ExprWithoutAlias<S>, | ||
| ExtractAlias<S> | ||
| ]; | ||
| /** Extract the final identifier part of a column expression (alias wins). */ | ||
| type ExtractColumnIdentifier<S extends string> = SplitAlias<S> extends [ | ||
| infer Expr extends string, | ||
| infer Alias extends string | undefined | ||
| ] ? Alias extends string ? Alias : StripCast<Expr> extends `${string}.${infer Tail}` ? Tail : StripCast<Expr> : StripCast<S>; | ||
| /** Look up a column's TS type from the default schema tables. */ | ||
| type ColumnTypeFromSchema<Schema extends DatabaseSchema, ColName extends string> = { | ||
| [Table in keyof SchemaTables<Schema>]: ColName extends keyof SchemaTables<Schema>[Table] ? SchemaTables<Schema>[Table][ColName] : never; | ||
| }[keyof SchemaTables<Schema>] extends infer R ? [R] extends [never] ? unknown : R : unknown; | ||
| /** Compute the result type for a simple column expression. */ | ||
| type ColumnTypeForExpr<Schema extends DatabaseSchema, Expr extends string> = Expr extends `${string}::${string}` ? string : ColumnTypeFromSchema<Schema, ExtractColumnIdentifier<Expr>>; | ||
| type ExpressionType<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Expr extends string> = Expr extends `${string}::${string}` ? string : Expr extends `CAST${string}` ? string : Expr extends `COUNT${string}` ? number : Expr extends `(SELECT COUNT${string})` ? number : ColumnTypeForExpr<Schema, Expr> extends never ? unknown : ColumnTypeForExpr<Schema, Expr>; | ||
| type ColumnRow<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Col extends string> = SplitAlias<Col> extends [ | ||
| infer Expr extends string, | ||
| infer Alias extends string | undefined | ||
| ] ? { | ||
| [K in Alias extends string ? Alias : ExtractColumnIdentifier<Expr>]: ExpressionType<Schema, State, Expr>; | ||
| } : { | ||
| [K in ExtractColumnIdentifier<Col>]: ExpressionType<Schema, State, Col>; | ||
| }; | ||
| type ColumnsArrayToRow<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Cols extends readonly string[], Acc = {}> = Cols extends readonly [ | ||
| infer First extends string, | ||
| ...infer Rest extends readonly string[] | ||
| ] ? ColumnsArrayToRow<Schema, State, Rest, Acc & ColumnRow<Schema, State, First>> : Acc; | ||
| type ColumnsToRow<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, ColSpec extends string | readonly string[]> = ColSpec extends string ? ColumnRow<Schema, State, ColSpec> : ColSpec extends readonly (infer S extends string)[] ? IsTuple<ColSpec> extends true ? ColumnsArrayToRow<Schema, State, ColSpec> : UnionToIntersection<ColumnRow<Schema, State, S>> : {}; | ||
| type AddColumnsForSchema<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, ColSpec extends string | readonly string[]> = BuilderStateTag<State["fromTable"], State["row"] & ColumnsToRow<Schema, State, ColSpec>, State["contextSQL"]>; | ||
| /** | ||
| * Join an array of string literal parts with a separator. | ||
| */ | ||
| type JoinWith<Parts extends string[], Sep extends string, Acc extends string = ""> = Parts extends [infer First extends string, ...infer Rest extends string[]] ? JoinWith<Rest, Sep, Acc extends "" ? First : `${Acc}${Sep}${First}`> : Acc; | ||
| /** | ||
| * Convert column spec (string or string[]) into a comma-separated column list. | ||
| */ | ||
| type ColsToString<Cols extends string | readonly string[]> = ToStringArray<Cols> extends infer Arr extends string[] ? JoinWith<Arr, ", "> : ""; | ||
| export type SqlClausePart = { | ||
| readonly id: string; | ||
| readonly sql: string; | ||
| }; | ||
| type ClauseList = readonly SqlClausePart[]; | ||
| type NormalizeClauseList<Value> = Value extends ClauseList ? Value : Value extends string ? readonly [ | ||
| { | ||
| readonly id: "__legacy"; | ||
| readonly sql: Value; | ||
| } | ||
| ] : readonly []; | ||
| type ClauseListOrUndefined<Parts extends ClauseList> = Parts["length"] extends 0 ? undefined : Parts; | ||
| type ClauseListToString<Parts extends ClauseList, Sep extends string, Acc extends string = ""> = Parts extends readonly [ | ||
| infer First extends SqlClausePart, | ||
| ...infer Rest extends ClauseList | ||
| ] ? ClauseListToString<Rest, Sep, Acc extends "" ? First["sql"] : `${Acc}${Sep}${First["sql"]}`> : Acc; | ||
| type ClauseListStringOrUndefined<Parts extends ClauseList, Sep extends string> = Parts["length"] extends 0 ? undefined : ClauseListToString<Parts, Sep>; | ||
| type UpsertClausePart<Parts extends ClauseList, Id extends string, Sql extends string, Seen extends boolean = false, Acc extends ClauseList = readonly []> = Parts extends readonly [ | ||
| infer First extends SqlClausePart, | ||
| ...infer Rest extends ClauseList | ||
| ] ? First["id"] extends Id ? UpsertClausePart<Rest, Id, Sql, true, readonly [ | ||
| ...Acc, | ||
| { | ||
| readonly id: Id; | ||
| readonly sql: Sql; | ||
| } | ||
| ]> : UpsertClausePart<Rest, Id, Sql, Seen, readonly [...Acc, First]> : Seen extends true ? Acc : readonly [...Acc, { | ||
| readonly id: Id; | ||
| readonly sql: Sql; | ||
| }]; | ||
| type RemoveClausePart<Parts extends ClauseList, Id extends string, Acc extends ClauseList = readonly []> = Parts extends readonly [ | ||
| infer First extends SqlClausePart, | ||
| ...infer Rest extends ClauseList | ||
| ] ? RemoveClausePart<Rest, Id, First["id"] extends Id ? Acc : readonly [...Acc, First]> : Acc; | ||
| type ClauseValueToString<Value, Sep extends string> = Value extends string ? Value : Value extends ClauseList ? ClauseListStringOrUndefined<Value, Sep> : undefined; | ||
| type SelectClauseString<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = ClauseValueToString<Sql["select"], ", ">; | ||
| type JoinClauseString<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = ClauseValueToString<Sql["joins"], " ">; | ||
| type ContextSqlFromTag<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = Sql["from"] extends infer From extends string ? JoinClauseString<Sql> extends infer Joins extends string ? Joins extends "" ? `FROM ${From}` : `FROM ${From} ${Joins}` : `FROM ${From}` : JoinClauseString<Sql> extends infer Joins extends string ? Joins : undefined; | ||
| /** | ||
| * Add columns to the SELECT fragment in the SQL tag. | ||
| */ | ||
| type WithSelectSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Cols extends string | readonly string[], Id extends string | undefined> = BuilderSqlTag<ClauseListOrUndefined<UpsertClausePart<NormalizeClauseList<Sql["select"]>, Id extends string ? Id : `select_${NormalizeClauseList<Sql["select"]>["length"]}`, ColsToString<Cols>>>, Sql["from"], Sql["joins"], Sql["where"], Sql["groupBy"], Sql["having"], Sql["orderBy"], Sql["limit"], Sql["params"]>; | ||
| /** | ||
| * Set or replace the FROM fragment in the SQL tag. | ||
| * | ||
| * For subqueries we conservatively fall back to `string`, which will prevent | ||
| * full SQL literal reconstruction but keeps types sound. | ||
| */ | ||
| type WithFromSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Src> = BuilderSqlTag<Sql["select"], Src extends string ? Src : string, Sql["joins"], Sql["where"], Sql["groupBy"], Sql["having"], Sql["orderBy"], Sql["limit"], Sql["params"]>; | ||
| /** | ||
| * Append a JOIN fragment to the SQL tag. | ||
| */ | ||
| type WithJoinSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, JoinSql extends string, Id extends string | undefined> = BuilderSqlTag<Sql["select"], Sql["from"], ClauseListOrUndefined<UpsertClausePart<NormalizeClauseList<Sql["joins"]>, Id extends string ? Id : `join_${NormalizeClauseList<Sql["joins"]>["length"]}`, JoinSql>>, Sql["where"], Sql["groupBy"], Sql["having"], Sql["orderBy"], Sql["limit"], Sql["params"]>; | ||
| type WithoutSelectSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Id extends string> = BuilderSqlTag<ClauseListOrUndefined<RemoveClausePart<NormalizeClauseList<Sql["select"]>, Id>>, Sql["from"], Sql["joins"], Sql["where"], Sql["groupBy"], Sql["having"], Sql["orderBy"], Sql["limit"], Sql["params"]>; | ||
| type WithoutJoinSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Id extends string> = BuilderSqlTag<Sql["select"], Sql["from"], ClauseListOrUndefined<RemoveClausePart<NormalizeClauseList<Sql["joins"]>, Id>>, Sql["where"], Sql["groupBy"], Sql["having"], Sql["orderBy"], Sql["limit"], Sql["params"]>; | ||
| type StateFromSql<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = BuilderStateTag<State["fromTable"], BuilderFullRow<Schema, Sql>, ContextSqlFromTag<Sql>>; | ||
| /** | ||
| * Normalize a WHERE / HAVING condition to a string fragment. | ||
| */ | ||
| type ConditionToSql<Cond> = Cond extends ConditionTreeBuilder<any, infer Expr extends string> ? Expr : Cond extends string ? Cond : string; | ||
| /** | ||
| * Append a WHERE fragment (combined with AND) to the SQL tag. | ||
| */ | ||
| type WithWhereSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Cond> = BuilderSqlTag<Sql["select"], Sql["from"], Sql["joins"], Sql["where"] extends string ? `${Sql["where"]} AND ${ConditionToSql<Cond>}` : ConditionToSql<Cond>, Sql["groupBy"], Sql["having"], Sql["orderBy"], Sql["limit"], Sql["params"]>; | ||
| /** | ||
| * Append a GROUP BY fragment (combined with commas) to the SQL tag. | ||
| */ | ||
| type WithGroupBySql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Cols extends string | readonly string[], Id extends string | undefined> = BuilderSqlTag<Sql["select"], Sql["from"], Sql["joins"], Sql["where"], Sql["groupBy"] extends string ? `${Sql["groupBy"]}, ${ColsToString<Cols>}` : ColsToString<Cols>, Sql["having"], Sql["orderBy"], Sql["limit"], Sql["params"]>; | ||
| /** | ||
| * Append a HAVING fragment (combined with AND) to the SQL tag. | ||
| */ | ||
| type WithHavingSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Cond> = BuilderSqlTag<Sql["select"], Sql["from"], Sql["joins"], Sql["where"], Sql["groupBy"], Sql["having"] extends string ? `${Sql["having"]} AND ${ConditionToSql<Cond>}` : ConditionToSql<Cond>, Sql["orderBy"], Sql["limit"], Sql["params"]>; | ||
| /** | ||
| * Append an ORDER BY fragment (combined with commas) to the SQL tag. | ||
| */ | ||
| type WithOrderBySql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Cols extends string | readonly string[], Id extends string | undefined> = BuilderSqlTag<Sql["select"], Sql["from"], Sql["joins"], Sql["where"], Sql["groupBy"], Sql["having"], Sql["orderBy"] extends string ? `${Sql["orderBy"]}, ${ColsToString<Cols>}` : ColsToString<Cols>, Sql["limit"], Sql["params"]>; | ||
| /** | ||
| * Set or replace the LIMIT fragment in the SQL tag. | ||
| */ | ||
| type WithLimitSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Limit extends number> = BuilderSqlTag<Sql["select"], Sql["from"], Sql["joins"], Sql["where"], Sql["groupBy"], Sql["having"], Sql["orderBy"], Limit, Sql["params"]>; | ||
| /** | ||
| * Append parameter values to the SQL tag metadata while keeping all other | ||
| * clause fragments unchanged. | ||
| */ | ||
| type WithParamsSql<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, Params extends readonly QueryParamValue[]> = BuilderSqlTag<Sql["select"], Sql["from"], Sql["joins"], Sql["where"], Sql["groupBy"], Sql["having"], Sql["orderBy"], Sql["limit"], readonly [...Sql["params"], ...Params]>; | ||
| /** | ||
| * Assemble a SQL string from a BuilderSqlTag. This mirrors the core ordering | ||
| * of `assembleSelectSQL` for SELECT/FROM/JOIN/WHERE/GROUP BY/HAVING/ORDER BY | ||
| * and LIMIT. | ||
| */ | ||
| export type AssembleBuilderSql<P extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = (SelectClauseString<P> extends string ? `SELECT ${SelectClauseString<P>}` : "SELECT *") extends infer Sel extends string ? (P["from"] extends string ? `${Sel} FROM ${P["from"]}` : Sel) extends infer SelFrom extends string ? (JoinClauseString<P> extends string ? `${SelFrom} ${JoinClauseString<P>}` : SelFrom) extends infer SelFromJoin extends string ? (P["where"] extends string ? `${SelFromJoin} WHERE ${P["where"]}` : SelFromJoin) extends infer SelWhere extends string ? (P["groupBy"] extends string ? `${SelWhere} GROUP BY ${P["groupBy"]}` : SelWhere) extends infer SelGroup extends string ? (P["having"] extends string ? `${SelGroup} HAVING ${P["having"]}` : SelGroup) extends infer SelHaving extends string ? (P["orderBy"] extends string ? `${SelHaving} ORDER BY ${P["orderBy"]}` : SelHaving) extends infer SelOrder extends string ? P["limit"] extends number ? `${SelOrder} LIMIT ${P["limit"]}` : SelOrder : never : never : never : never : never : never : never; | ||
| type WithFromForSchema<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Src> = Src extends string ? ParseTableRef<Src> extends infer Ref ? Ref extends { | ||
| table: infer T extends string; | ||
| } ? T extends TableNameOf<Schema> ? BuilderStateTag<T, State["row"], `FROM ${Src}`> : BuilderStateTag<State["fromTable"], State["row"], `FROM ${Src}`> : BuilderStateTag<State["fromTable"], State["row"], `FROM ${Src}`> : BuilderStateTag<State["fromTable"], State["row"], `FROM ${Src}`> : Src extends SelectQueryBuilder<Schema, BuilderStateTag<any, any, any>, any> ? BuilderStateTag<State["fromTable"], State["row"], State["contextSQL"]> : State; | ||
| type WithJoinContext<State extends BuilderStateTag<any, any, any>, JoinSql extends string> = BuilderStateTag<State["fromTable"], State["row"], State["contextSQL"] extends string ? `${State["contextSQL"]} ${JoinSql}` : JoinSql>; | ||
| type OptionalizeNewKeys<BeforeRow, AfterRow> = { | ||
| [K in keyof AfterRow]-?: K extends keyof BeforeRow ? AfterRow[K] : AfterRow[K] | undefined; | ||
| }; | ||
| type MergeConditionalState<Before extends BuilderStateTag<any, any, any>, After extends BuilderStateTag<any, any, any>> = BuilderStateTag<Before["fromTable"] | After["fromTable"], Flatten<Before["row"] & OptionalizeNewKeys<Before["row"], After["row"]>>, Before["contextSQL"] | After["contextSQL"]>; | ||
| type CallbackResultState<Schema extends DatabaseSchema, S extends BuilderStateTag<any, any, any>, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, CB> = CB extends (b: SelectQueryBuilder<Schema, S, Sql>, ...args: any[]) => SelectQueryBuilder<Schema, infer AfterState extends BuilderStateTag<any, any, any>, any> ? AfterState : S; | ||
| type CallbackResultSql<Schema extends DatabaseSchema, S extends BuilderStateTag<any, any, any>, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>, CB> = CB extends (b: SelectQueryBuilder<Schema, S, Sql>, ...args: any[]) => SelectQueryBuilder<Schema, any, infer AfterSql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> ? AfterSql : Sql; | ||
| /** | ||
| * Runtime representation of builder state mirrors SelectBuilderState but | ||
| * can store raw string fragments for SQL assembly alongside AST fragments | ||
| * tracked at the type level. | ||
| */ | ||
| export interface RuntimeSelectState extends SelectBuilderState { | ||
| /** | ||
| * Raw SELECT fragments by ID (used for SQL string assembly). | ||
| * The type-level part continues to use SelectBuilderState["select"]. | ||
| */ | ||
| readonly selectSql: { | ||
| readonly [id: string]: string[]; | ||
| }; | ||
| /** Raw FROM fragment (if present) */ | ||
| readonly fromSql?: string; | ||
| /** Raw JOIN fragments by ID (preserving order via joins array) */ | ||
| readonly joinSql: { | ||
| readonly [id: string]: string; | ||
| }; | ||
| /** Raw WHERE fragments by ID (can include ConditionTreeBuilder usage) */ | ||
| readonly whereSql: { | ||
| readonly [id: string]: string; | ||
| }; | ||
| /** Raw GROUP BY fragments by ID */ | ||
| readonly groupBySql: { | ||
| readonly [id: string]: string; | ||
| }; | ||
| /** Raw HAVING fragments by ID */ | ||
| readonly havingSql: { | ||
| readonly [id: string]: string; | ||
| }; | ||
| /** Raw ORDER BY fragments by ID */ | ||
| readonly orderBySql: { | ||
| readonly [id: string]: string; | ||
| }; | ||
| /** Raw CTE fragments by ID */ | ||
| readonly cteSql: { | ||
| readonly [id: string]: string; | ||
| }; | ||
| /** Raw UNION fragment (if any) */ | ||
| readonly unionSql?: string; | ||
| /** Collected query parameter values (positional) */ | ||
| readonly params: ReadonlyArray<QueryParamValue>; | ||
| } | ||
| /** | ||
| * Public SELECT builder interface. | ||
| * | ||
| * - `Schema` is the database schema used for type inference. | ||
| * - `State` is a lightweight tag (`BuilderStateTag`) that tracks the | ||
| * primary FROM table and the currently inferred result row type. | ||
| * - `Sql` is a lightweight tag (`BuilderSqlTag`) that tracks assembled SQL | ||
| * fragments for type-level reconstruction and validation. | ||
| */ | ||
| export interface SelectQueryBuilder<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any> = EmptySqlState> { | ||
| /** | ||
| * Optional runtime-only accessor for debugging / tests. | ||
| */ | ||
| readonly _state: RuntimeSelectState; | ||
| /** | ||
| * Add columns to the SELECT list. | ||
| * | ||
| * Type-level: updates SelectBuilderState.select using ParseColumnList. | ||
| */ | ||
| select<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, AddColumnsForSchema<Schema, State, Cols>, WithSelectSql<Sql, Cols, Id>>; | ||
| /** | ||
| * Set the FROM source (table or subquery as raw SQL). | ||
| * | ||
| * Type-level: updates SelectBuilderState.from using ParseTableRef. | ||
| */ | ||
| from<Src extends string | SelectQueryBuilder<Schema, BuilderStateTag<any, any, any>, any>>(source: Src): SelectQueryBuilder<Schema, WithFromForSchema<Schema, State, Src>, WithFromSql<Sql, Src>>; | ||
| /** | ||
| * Add a raw JOIN fragment. | ||
| * | ||
| * Phase 7 note: this currently affects only the runtime SQL string. The | ||
| * lightweight type-level state tag does not track join structure; columns | ||
| * from joined tables are inferred purely from their qualified names when | ||
| * selected (for example, "orders.total"). | ||
| */ | ||
| join<JoinSql extends string, Id extends string | undefined = undefined>(joinSql: JoinSql, id?: Id): SelectQueryBuilder<Schema, WithJoinContext<State, JoinSql>, WithJoinSql<Sql, JoinSql, Id>>; | ||
| /** | ||
| * Remove SELECT fragments by ID (runtime) while updating type-level SQL. | ||
| * | ||
| * Type-level: on the top level, removes the referenced SELECT fragment; when | ||
| * used inside `.when()`, MergeConditionalState preserves prior columns so | ||
| * conditional removals are effectively no-ops. | ||
| */ | ||
| removeSelect<Id extends string>(id: Id): SelectQueryBuilder<Schema, StateFromSql<Schema, State, WithoutSelectSql<Sql, Id>>, WithoutSelectSql<Sql, Id>>; | ||
| /** | ||
| * Remove JOIN fragments by ID (runtime) while updating type-level SQL and | ||
| * context string for column inference. | ||
| * | ||
| * Type-level: same semantics as removeSelect regarding conditional usage. | ||
| */ | ||
| removeJoin<Id extends string>(id: Id): SelectQueryBuilder<Schema, StateFromSql<Schema, State, WithoutJoinSql<Sql, Id>>, WithoutJoinSql<Sql, Id>>; | ||
| /** | ||
| * Add a WHERE condition (string or ConditionTreeBuilder). | ||
| */ | ||
| where<Cond extends string | ConditionTreeBuilder>(condition: Cond, id?: string): SelectQueryBuilder<Schema, State, WithWhereSql<Sql, Cond>>; | ||
| /** | ||
| * Add GROUP BY columns (string or array). | ||
| */ | ||
| groupBy<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, State, WithGroupBySql<Sql, Cols, Id>>; | ||
| /** | ||
| * Add a HAVING condition (string or ConditionTreeBuilder). | ||
| */ | ||
| having<Cond extends string | ConditionTreeBuilder>(condition: Cond, id?: string): SelectQueryBuilder<Schema, State, WithHavingSql<Sql, Cond>>; | ||
| /** | ||
| * Add ORDER BY columns (string or array). | ||
| */ | ||
| orderBy<const Cols extends string | readonly string[], Id extends string | undefined = undefined>(columns: Cols, id?: Id): SelectQueryBuilder<Schema, State, WithOrderBySql<Sql, Cols, Id>>; | ||
| /** | ||
| * Set LIMIT value. | ||
| */ | ||
| limit<const L extends number>(limit: L): SelectQueryBuilder<Schema, State, WithLimitSql<Sql, L>>; | ||
| /** | ||
| * Add positional parameters and receive their placeholder string. | ||
| * | ||
| * Parameters are accumulated on the builder and exposed via `getParams()`. | ||
| */ | ||
| withParams<const Params extends readonly QueryParamValue[], CB extends (b: SelectQueryBuilder<Schema, State, WithParamsSql<Sql, Params>>, paramString: ParamString<Params, Sql["params"]["length"]>) => SelectQueryBuilder<Schema, any, any>>(params: Params, callback: CB): SelectQueryBuilder<Schema, CallbackResultState<Schema, State, WithParamsSql<Sql, Params>, CB>, CallbackResultSql<Schema, State, WithParamsSql<Sql, Params>, CB>>; | ||
| /** | ||
| * Conditional execution helper; runtime behavior is shared via whenRuntime. | ||
| * | ||
| * Type-level: the callback is treated as always-executed. Columns and joins | ||
| * added inside `.when()` are merged into State, with new columns marked as | ||
| * optional (their types unioned with `undefined`). | ||
| */ | ||
| when<CB extends (b: SelectQueryBuilder<Schema, State, Sql>) => SelectQueryBuilder<Schema, any, any>>(condition: boolean, callback: CB): SelectQueryBuilder<Schema, MergeConditionalState<State, CallbackResultState<Schema, State, Sql, CB>>, CallbackResultSql<Schema, State, Sql, CB>>; | ||
| /** | ||
| * Generate the SQL string from the internal runtime state. | ||
| * Branded return type exposes the inferred result type. | ||
| */ | ||
| toBrandedString(): string & { | ||
| __type: BuilderResultBrand<Schema, State, Sql>; | ||
| }; | ||
| /** Retrieve accumulated positional query parameters. */ | ||
| getParams(): ReadonlyArray<QueryParamValue>; | ||
| /** | ||
| * Generate the SQL string from the internal runtime state without branding. | ||
| */ | ||
| toString(): string; | ||
| } | ||
| /** | ||
| * Entry point for creating a new SELECT builder. | ||
| * | ||
| * Schema is a generic-only parameter; there is no runtime schema value. | ||
| */ | ||
| export declare function createSelectQuery<Schema extends DatabaseSchema>(): SelectQueryBuilder<Schema, EmptyBuilderState, EmptySqlState>; | ||
| /** | ||
| * Assemble a SQL string from runtime builder state. | ||
| * | ||
| * This utility: | ||
| * - Uses user-provided fragments as-is (no parsing or normalization). | ||
| * - Inserts SQL keywords (SELECT, FROM, WHERE, etc.) in uppercase. | ||
| * - Skips empty clauses entirely. | ||
| * - Defaults to SELECT * when no select fragments are present. | ||
| */ | ||
| export declare function assembleSelectSQL(state: RuntimeSelectState): string; | ||
| /** | ||
| * Empty initial state for the SELECT builder. | ||
| * | ||
| * Mirrors the specification in BUILDER_SPECIFICATION.md. | ||
| */ | ||
| export type EmptyState = { | ||
| select: {}; | ||
| from: undefined; | ||
| joins: []; | ||
| where: {}; | ||
| groupBy: {}; | ||
| having: {}; | ||
| orderBy: {}; | ||
| limit: undefined; | ||
| offset: undefined; | ||
| ctes: {}; | ||
| distinct: false; | ||
| union: undefined; | ||
| }; | ||
| /** | ||
| * Join strictness levels used for replacement validation. | ||
| * | ||
| * Derived from JoinType but flattened to the minimal hierarchy used | ||
| * by the builder (INNER > LEFT = RIGHT > FULL > CROSS). | ||
| */ | ||
| export type JoinStrictness = "INNER" | "LEFT" | "RIGHT" | "FULL" | "CROSS"; | ||
| /** | ||
| * Main builder state interface for SELECT queries. | ||
| * | ||
| * All fields are purely type-level; runtime representation is added later. | ||
| */ | ||
| export interface SelectBuilderState { | ||
| /** | ||
| * Map of user-provided IDs to select item arrays. | ||
| * ID-based replacement overwrites the array at the given key. | ||
| */ | ||
| readonly select: { | ||
| readonly [id: string]: SelectItem[]; | ||
| }; | ||
| /** FROM clause source (table or derived table) */ | ||
| readonly from: TableSource | undefined; | ||
| /** | ||
| * Ordered list of JOIN clauses with metadata for replacement rules. | ||
| */ | ||
| readonly joins: ReadonlyArray<{ | ||
| readonly id: string; | ||
| readonly ast: JoinClause; | ||
| readonly strictness: JoinStrictness; | ||
| readonly optional: boolean; | ||
| }>; | ||
| /** WHERE clause fragments, keyed by ID */ | ||
| readonly where: { | ||
| readonly [id: string]: WhereExpr; | ||
| }; | ||
| /** GROUP BY fragments, keyed by ID */ | ||
| readonly groupBy: { | ||
| readonly [id: string]: ColumnRefType[]; | ||
| }; | ||
| /** HAVING clause fragments, keyed by ID */ | ||
| readonly having: { | ||
| readonly [id: string]: WhereExpr; | ||
| }; | ||
| /** ORDER BY fragments, keyed by ID */ | ||
| readonly orderBy: { | ||
| readonly [id: string]: OrderByItem[]; | ||
| }; | ||
| /** LIMIT value */ | ||
| readonly limit: number | undefined; | ||
| /** OFFSET value */ | ||
| readonly offset: number | undefined; | ||
| /** CTE definitions, keyed by ID */ | ||
| readonly ctes: { | ||
| readonly [id: string]: CTEDefinition; | ||
| }; | ||
| /** DISTINCT flag */ | ||
| readonly distinct: boolean; | ||
| /** Union clause with another query (if any) */ | ||
| readonly union: UnionClause | undefined; | ||
| } | ||
| /** | ||
| * Error state used when validation fails at the builder level. | ||
| * | ||
| * Matches MatchError<string> from common/utils for consistency, and | ||
| * preserves the previous valid state for tooling. | ||
| */ | ||
| export type ErrorState = MatchError<string> & { | ||
| readonly previousState: SelectBuilderState; | ||
| }; | ||
| /** | ||
| * Convenience union for "any" builder state. | ||
| */ | ||
| export type SelectBuilderAnyState = SelectBuilderState | ErrorState; | ||
| /** | ||
| * Result type of builder `.toBrandedString()` branding. | ||
| * | ||
| * We keep the lightweight row accumulated in `BuilderStateTag["row"]`, but | ||
| * enrich it with any additional columns that appear in the assembled SQL | ||
| * fragments (for example, columns selected only inside `.when()` blocks), | ||
| * using the existing `QueryResult` matcher. | ||
| */ | ||
| export type BuilderResultType<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = Flatten<State["row"]> & { | ||
| [K in Exclude<keyof BuilderFullRow<Schema, Sql>, keyof Flatten<State["row"]>>]: BuilderFullRow<Schema, Sql>[K] | undefined; | ||
| }; | ||
| /** | ||
| * Extract the assembled SQL string literal for a given builder type. | ||
| */ | ||
| export type BuilderSQL<B> = B extends SelectQueryBuilder<any, any, infer Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> ? AssembleBuilderSql<Sql> : never; | ||
| /** | ||
| * Extract the internal lightweight builder state tag from a builder type. | ||
| */ | ||
| export type BuilderStateOf<B> = B extends SelectQueryBuilder<any, infer S extends BuilderStateTag<any, any, any>, any> ? S : never; | ||
| /** | ||
| * Internal helper: validate that all referenced tables in the assembled | ||
| * SQL fragments exist in the schema. This is a shallow, table-only check | ||
| * (no column or expression validation) to avoid hitting type recursion | ||
| * limits while still surfacing obvious FROM/JOIN mistakes. | ||
| */ | ||
| type BuilderFromTableSpec<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = Sql["from"] extends infer F extends string ? F extends `${infer T} ${string}` ? T : F : never; | ||
| type BuilderJoinTablesSpec<Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = JoinClauseString<Sql> extends infer J extends string ? ExtractJoinTables<J> : never; | ||
| type ExtractJoinTables<S extends string> = S extends `${string}JOIN ${infer Rest}` ? Rest extends `${infer TableSpec} ${infer Tail}` ? TableSpec | ExtractJoinTables<Tail> : Rest : never; | ||
| type BuilderCheckTable<Schema extends DatabaseSchema, TableSpec extends string> = IsLiteralString<TableSpec> extends false ? true : TableSpec extends `${infer SchemaName}.${infer TableName}` ? SchemaName extends keyof Schema["schemas"] ? TableName extends keyof Schema["schemas"][SchemaName] ? true : `Table '${TableName}' not found in schema '${SchemaName}'` : `Schema '${SchemaName}' not found` : TableSpec extends keyof SchemaTables<Schema> ? true : `Table '${TableSpec}' not found in default schema '${DefaultSchemaName<Schema>}'`; | ||
| type BuilderCheckTables<Schema extends DatabaseSchema, Specs extends string> = [Specs] extends [never] ? true : true extends { | ||
| [K in Specs]: BuilderCheckTable<Schema, K> extends true ? true : never; | ||
| }[Specs] ? true : { | ||
| [K in Specs]: BuilderCheckTable<Schema, K> extends true ? never : BuilderCheckTable<Schema, K>; | ||
| }[Specs]; | ||
| type BuilderTablesValid<Schema extends DatabaseSchema, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = BuilderCheckTable<Schema, BuilderFromTableSpec<Sql>> extends infer FromResult ? FromResult extends true ? BuilderCheckTables<Schema, BuilderJoinTablesSpec<Sql> & string> : FromResult : true; | ||
| /** Split a comma-separated SELECT list into individual column expressions. */ | ||
| type SplitSelectList<S extends string> = S extends `${infer First}, ${infer Rest}` ? [First, ...SplitSelectList<Rest>] : [S]; | ||
| /** Map a SELECT list string into a row type using ColumnRow. */ | ||
| type SelectListToRow<Schema extends DatabaseSchema, Sel extends string> = SplitSelectList<Sel> extends infer Cols extends readonly string[] ? ColumnsArrayToRow<Schema, BuilderStateTag<any, any, any>, Cols> : {}; | ||
| /** Helper: row inferred from the assembled SELECT fragment. */ | ||
| type BuilderFullRow<Schema extends DatabaseSchema, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = SelectClauseString<Sql> extends infer Sel extends string ? SelectListToRow<Schema, Sel> : {}; | ||
| type BuilderReturnForParts<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = BuilderTablesValid<Schema, Sql> extends true ? Flatten<State["row"]> : MatchError<BuilderTablesValid<Schema, Sql> & string>; | ||
| /** | ||
| * Result type of the builder query string. | ||
| */ | ||
| export type BuilderReturnType<B> = B extends SelectQueryBuilder<infer Schema extends DatabaseSchema, infer State extends BuilderStateTag<any, any, any>, infer Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> ? BuilderReturnForParts<Schema, State, Sql> : never; | ||
| /** | ||
| * Internal helper: branded result type for `.toBrandedString()`. | ||
| * | ||
| * It reuses the lightweight row stored on the BuilderStateTag. Table-level | ||
| * errors (FROM/JOIN) are surfaced as a MatchError on the branded `__type`. | ||
| */ | ||
| type BuilderResultBrand<Schema extends DatabaseSchema, State extends BuilderStateTag<any, any, any>, Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> = BuilderReturnForParts<Schema, State, Sql>; | ||
| /** | ||
| * Validate a builder by assembling its SQL string and running the existing | ||
| * ValidateSQL helper over it. This runs once per builder (when the type is | ||
| * referenced), not per method, to keep type instantiation depth manageable. | ||
| */ | ||
| export type ValidateBuilder<B> = B extends SelectQueryBuilder<infer Schema extends DatabaseSchema, any, infer Sql extends BuilderSqlTag<any, any, any, any, any, any, any, any, any>> ? BuilderTablesValid<Schema, Sql> : never; | ||
| /** | ||
| * Type-level predicate describing whether a join with OldStrictness | ||
| * may be replaced by a join with NewStrictness. | ||
| * | ||
| * Follows the hierarchy: | ||
| * INNER > LEFT = RIGHT > FULL > CROSS | ||
| * | ||
| * - You may tighten (weaken-or-equal → stricter). | ||
| * - You must not loosen (stricter → weaker). | ||
| */ | ||
| export type CanReplaceJoin<OldStrictness extends JoinStrictness, NewStrictness extends JoinStrictness> = OldStrictness extends "INNER" ? NewStrictness extends "INNER" ? true : false : OldStrictness extends "LEFT" | "RIGHT" ? NewStrictness extends "INNER" | "LEFT" | "RIGHT" ? true : false : OldStrictness extends "FULL" ? NewStrictness extends "FULL" | "LEFT" | "RIGHT" | "INNER" ? true : false : OldStrictness extends "CROSS" ? NewStrictness extends JoinStrictness ? true : false : false; | ||
| /** | ||
| * Utility for mapping a JoinType from the AST to JoinStrictness. | ||
| * | ||
| * This is only used at the type level; runtime mapping is added later | ||
| * alongside the concrete builder implementation. | ||
| */ | ||
| export type JoinTypeToStrictness<T extends string> = T extends "INNER" ? "INNER" : T extends "LEFT" | "LEFT OUTER" ? "LEFT" : T extends "RIGHT" | "RIGHT OUTER" ? "RIGHT" : T extends "FULL" | "FULL OUTER" ? "FULL" : T extends "CROSS" ? "CROSS" : never; | ||
| /** | ||
| * Extract all SELECT items from the state's select map and flatten them. | ||
| * | ||
| * Order is not preserved and is not semantically significant for | ||
| * type-level behavior; the result is modelled as a SelectItem[]. | ||
| * | ||
| * When no select fragments exist, callers should treat this as | ||
| * "no explicit columns" and default to SELECT * at the SQL/string level. | ||
| */ | ||
| export type SelectItemsFromState<State extends SelectBuilderState> = State["select"][keyof State["select"]] extends infer V ? V extends SelectItem[] ? V[number][] : SelectItem[] : SelectItem[]; | ||
| /** | ||
| * Convert a builder state into a SelectClause AST. | ||
| * | ||
| * This is a structural projection only; it does not perform validation | ||
| * or apply defaulting rules like "SELECT *" when no select() was called. | ||
| * | ||
| * - Columns: flattened select items (or "*" when explicitly requested | ||
| * by the caller via WithDefaultColumns). | ||
| * - FROM / JOIN / WHERE / GROUP BY / HAVING / ORDER BY / LIMIT / OFFSET / | ||
| * DISTINCT / CTEs / UNION: mapped 1:1 from state fields. | ||
| */ | ||
| export type StateToSelectClause<State extends SelectBuilderState, Columns extends SelectItem[] | "*" = SelectItemsFromState<State>> = SelectClause<Columns, NonNullable<State["from"]>, State["joins"] extends ReadonlyArray<infer J> ? J extends { | ||
| ast: infer A extends JoinClause; | ||
| } ? A[] : undefined : undefined, State["where"][keyof State["where"]] | undefined, State["groupBy"][keyof State["groupBy"]] extends infer GB ? GB extends ColumnRefType[] ? GB[number][] : ColumnRefType[] | undefined : ColumnRefType[] | undefined, State["having"][keyof State["having"]] | undefined, State["orderBy"][keyof State["orderBy"]] extends infer OB ? OB extends OrderByItem[] ? OB[number][] : OrderByItem[] | undefined : OrderByItem[] | undefined, State["limit"], State["offset"], State["distinct"], State["ctes"][keyof State["ctes"]] extends infer C ? C extends CTEDefinition ? C[] : CTEDefinition[] | undefined : CTEDefinition[] | undefined>; | ||
| /** | ||
| * Helper to wrap a SelectClause produced from state in a UnionClause | ||
| * when the state's union field is present. | ||
| * | ||
| * This is a small convenience for later phases that need to pass a | ||
| * SelectClause-or-UnionClause into validator/matcher logic. | ||
| */ | ||
| export type StateToSelectQueryClause<State extends SelectBuilderState, Columns extends SelectItem[] | "*" = SelectItemsFromState<State>> = State["union"] extends UnionClause<infer Left extends SelectClause, infer Op extends UnionOperatorType, infer Right> ? UnionClause<Left, Op, Right> : StateToSelectClause<State, Columns>; | ||
| export {}; | ||
| //# sourceMappingURL=builder.d.ts.map |
| {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/select/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEH,oBAAoB,EAEvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,KAAK,EACR,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAa,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,KAAK,EAER,YAAY,EACZ,UAAU,EACV,WAAW,EACX,iBAAiB,EACpB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAMlE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe,CAC5B,SAAS,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EACzD,GAAG,GAAG,OAAO,EACb,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAE1D,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa,CAC1B,MAAM,SAAS,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,EAC1D,IAAI,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAC3C,KAAK,SAAS,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,EACzD,KAAK,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAC5C,OAAO,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAC9C,MAAM,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAC7C,OAAO,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAC9C,KAAK,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAC5C,MAAM,SAAS,SAAS,eAAe,EAAE,GAAG,SAAS,EAAE;IAEvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;AAM1E,KAAK,iBAAiB,CAAC,MAAM,SAAS,cAAc,IAChD,MAAM,CAAC,eAAe,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;AAEvE,KAAK,YAAY,CACb,MAAM,SAAS,cAAc,IAC7B,MAAM,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAEjD,MAAM,MAAM,WAAW,CACnB,MAAM,SAAS,cAAc,IAC7B,OAAO,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAOhD,KAAK,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GACrE,IAAI,CAAC;AAEX;;;GAGG;AACH,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAC1B,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAC7C,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GAC5B,KAAK,CAAC;AAEZ,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IAEnD,CAAC,SACG,SAAS,CAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,MAAM,IAAI,SAAS,MAAM,EAAE,CAAE,GACrE,CAAE,KAAK,EAAE,GAAG,IAAI,CAAE,GAClB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GACnD,CAAE,CAAC,CAAE,CAAC;AAQhB;;GAEG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,KAAK,GAAG,IAAI,GACtE,KAAK,CAAC;AAEZ,0DAA0D;AAC1D,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,KAAK,MAAM,EAAE,GAAG,IAAI,GACxE,CAAC,CAAC;AAER,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAC/D,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GACpC,CAAC,CAAC;AAER,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,SACzC,GAAG,MAAM,KAAK,OAAO,MAAM,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,GACjD,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjB,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,SAC5C,GAAG,MAAM,OAAO,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GACrC,SAAS,CAAC;AAEhB,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GACnE,CAAC,SAAS,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,IAAI,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAC1D,OAAO,CAAC,CAAC,CAAC,GACd,OAAO,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjB,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI;IAChC,gBAAgB,CAAC,CAAC,CAAC;IACnB,YAAY,CAAC,CAAC,CAAC;CAClB,CAAC;AAMF,6EAA6E;AAC7E,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS;IACnE,MAAM,IAAI,SAAS,MAAM;IACzB,MAAM,KAAK,SAAS,MAAM,GAAG,SAAS;CACzC,GAAG,KAAK,SAAS,MAAM,GAAG,KAAK,GAC1B,SAAS,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,EAAE,GAAG,IAAI,GACxD,SAAS,CAAC,IAAI,CAAC,GACf,SAAS,CAAC,CAAC,CAAC,CAAC;AAEnB,iEAAiE;AACjE,KAAK,oBAAoB,CACrB,MAAM,SAAS,cAAc,EAC7B,OAAO,SAAS,MAAM,IACtB;KACC,KAAK,IAAI,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,SAAS,MAAM,YAAY,CACrE,MAAM,CACT,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GACzC,KAAK;CACd,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GACvC,CAAE,CAAC,CAAE,SAAS,CAAE,KAAK,CAAE,GAAG,OAAO,GACjC,CAAC,GACD,OAAO,CAAC;AAEd,8DAA8D;AAC9D,KAAK,iBAAiB,CAClB,MAAM,SAAS,cAAc,EAC7B,IAAI,SAAS,MAAM,IACnB,IAAI,SAAS,GAAG,MAAM,KAAK,MAAM,EAAE,GAAG,MAAM,GAC1C,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AAElE,KAAK,cAAc,CACf,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,IAAI,SAAS,MAAM,IACnB,IAAI,SAAS,GAAG,MAAM,KAAK,MAAM,EAAE,GAAG,MAAM,GAC1C,IAAI,SAAS,OAAO,MAAM,EAAE,GAAG,MAAM,GACrC,IAAI,SAAS,QAAQ,MAAM,EAAE,GAAG,MAAM,GACtC,IAAI,SAAS,gBAAgB,MAAM,GAAG,GAAG,MAAM,GAC/C,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,GAAG,OAAO,GACvD,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEtC,KAAK,SAAS,CACV,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,GAAG,SAAS,MAAM,IAClB,UAAU,CAAC,GAAG,CAAC,SAAS;IACxB,MAAM,IAAI,SAAS,MAAM;IACzB,MAAM,KAAK,SAAS,MAAM,GAAG,SAAS;CACzC,GAAG;KACK,CAAC,IAAI,KAAK,SAAS,MAAM,GAAG,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAC9D,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;CAC1C,GACC;KACG,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,cAAc,CAC/C,MAAM,EACN,KAAK,EACL,GAAG,CACN;CACJ,CAAC;AAEN,KAAK,iBAAiB,CAClB,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,IAAI,SAAS,SAAS,MAAM,EAAE,EAC9B,GAAG,GAAG,EAAE,IACR,IAAI,SAAS,SAAS;IACtB,MAAM,KAAK,SAAS,MAAM;IAC1B,GAAG,MAAM,IAAI,SAAS,SAAS,MAAM,EAAE;CAC1C,GAAG,iBAAiB,CACb,MAAM,EACN,KAAK,EACL,IAAI,EAIJ,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CACxC,GACC,GAAG,CAAC;AAEV,KAAK,YAAY,CACb,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,OAAO,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IAG1C,OAAO,SAAS,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,GAIpD,OAAO,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,EAAE,GAC/C,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,GACzB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,GAC7C,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GACpD,EAAE,CAAC;AAEb,KAAK,mBAAmB,CACpB,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,OAAO,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IAC1C,eAAe,CACf,KAAK,CAAC,WAAW,CAAC,EAClB,KAAK,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACnD,KAAK,CAAC,YAAY,CAAC,CACtB,CAAC;AAUF;;GAEG;AACH,KAAK,QAAQ,CACT,KAAK,SAAS,MAAM,EAAE,EACtB,GAAG,SAAS,MAAM,EAClB,GAAG,SAAS,MAAM,GAAG,EAAE,IACvB,KAAK,SAAS,CAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GAAG,MAAM,IAAI,SAAS,MAAM,EAAE,CAAE,GAC1E,QAAQ,CACN,IAAI,EACJ,GAAG,EACH,GAAG,SAAS,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,CAClD,GACC,GAAG,CAAC;AAEV;;GAEG;AACH,KAAK,YAAY,CACb,IAAI,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IACvC,aAAa,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAC1E,EAAE,CAAC;AAGT,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CAAE,CAAC;AAC3E,KAAK,UAAU,GAAG,SAAS,aAAa,EAAE,CAAC;AAE3C,KAAK,mBAAmB,CAAC,KAAK,IAAI,KAAK,SAAS,UAAU,GAAG,KAAK,GAC5D,KAAK,SAAS,MAAM,GAAG,SAAS;IAC1B;QAAE,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;KAAE;CACpD,GACH,SAAS,EAAE,CAAC;AAElB,KAAK,qBAAqB,CAAC,KAAK,SAAS,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC1E,SAAS,GACT,KAAK,CAAC;AAEZ,KAAK,kBAAkB,CACnB,KAAK,SAAS,UAAU,EACxB,GAAG,SAAS,MAAM,EAClB,GAAG,SAAS,MAAM,GAAG,EAAE,IACvB,KAAK,SAAS,SAAS;IACvB,MAAM,KAAK,SAAS,aAAa;IACjC,GAAG,MAAM,IAAI,SAAS,UAAU;CACnC,GAAG,kBAAkB,CACd,IAAI,EACJ,GAAG,EACH,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAChE,GACC,GAAG,CAAC;AAEV,KAAK,2BAA2B,CAC5B,KAAK,SAAS,UAAU,EACxB,GAAG,SAAS,MAAM,IAClB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAE3E,KAAK,gBAAgB,CACjB,KAAK,SAAS,UAAU,EACxB,EAAE,SAAS,MAAM,EACjB,GAAG,SAAS,MAAM,EAClB,IAAI,SAAS,OAAO,GAAG,KAAK,EAC5B,GAAG,SAAS,UAAU,GAAG,SAAS,EAAE,IACpC,KAAK,SAAS,SAAS;IACvB,MAAM,KAAK,SAAS,aAAa;IACjC,GAAG,MAAM,IAAI,SAAS,UAAU;CACnC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,gBAAgB,CACjC,IAAI,EACJ,EAAE,EACF,GAAG,EACH,IAAI,EACJ,SAAS;IACL,GAAG,GAAG;IACN;QAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;KAAE;CAC1C,CACJ,GACH,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAE,GAAG,GAAG,EAAE,KAAK,CAAE,CAAC,GACjE,IAAI,SAAS,IAAI,GAAG,GAAG,GACvB,SAAS,CAAE,GAAG,GAAG,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CAAE,CAAE,CAAC;AAEnE,KAAK,gBAAgB,CACjB,KAAK,SAAS,UAAU,EACxB,EAAE,SAAS,MAAM,EACjB,GAAG,SAAS,UAAU,GAAG,SAAS,EAAE,IACpC,KAAK,SAAS,SAAS;IACvB,MAAM,KAAK,SAAS,aAAa;IACjC,GAAG,MAAM,IAAI,SAAS,UAAU;CACnC,GAAG,gBAAgB,CACZ,IAAI,EACJ,EAAE,EACF,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,SAAS,CAAE,GAAG,GAAG,EAAE,KAAK,CAAE,CAC5D,GACC,GAAG,CAAC;AAEV,KAAK,mBAAmB,CAAC,KAAK,EAAE,GAAG,SAAS,MAAM,IAAI,KAAK,SAAS,MAAM,GACpE,KAAK,GACL,KAAK,SAAS,UAAU,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,GAClE,SAAS,CAAC;AAEhB,KAAK,kBAAkB,CACnB,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;AAE7C,KAAK,gBAAgB,CACjB,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AAE3C,KAAK,iBAAiB,CAClB,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,GAAG,CAAC,MAAM,CAAC,SAAS,MAAM,IAAI,SAAS,MAAM,GAC3C,gBAAgB,CAAC,GAAG,CAAC,SAAS,MAAM,KAAK,SAAS,MAAM,GACpD,KAAK,SAAS,EAAE,GAAG,QAAQ,IAAI,EAAE,GAAG,QAAQ,IAAI,IAAI,KAAK,EAAE,GAC/D,QAAQ,IAAI,EAAE,GACd,gBAAgB,CAAC,GAAG,CAAC,SAAS,MAAM,KAAK,SAAS,MAAM,GAAG,KAAK,GAChE,SAAS,CAAC;AAEhB;;GAEG;AACH,KAAK,aAAa,CACd,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,IAAI,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EACvC,EAAE,SAAS,MAAM,GAAG,SAAS,IAC7B,aAAa,CACb,qBAAqB,CACjB,gBAAgB,CACZ,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAClC,EAAE,SAAS,MAAM,GAAG,EAAE,GAChB,UAAU,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAC9D,YAAY,CAAC,IAAI,CAAC,CACrB,CACJ,EACD,GAAG,CAAC,MAAM,CAAC,EACX,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF;;;;;GAKG;AACH,KAAK,WAAW,CACZ,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,GAAG,IACH,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,SAAS,MAAM,GAAG,GAAG,GAAG,MAAM,EACjC,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF;;GAEG;AACH,KAAK,WAAW,CACZ,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,OAAO,SAAS,MAAM,EACtB,EAAE,SAAS,MAAM,GAAG,SAAS,IAC7B,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,CAAC,EACX,qBAAqB,CACjB,gBAAgB,CACZ,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EACjC,EAAE,SAAS,MAAM,GAAG,EAAE,GAChB,QAAQ,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAC3D,OAAO,CACV,CACJ,EACD,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF,KAAK,gBAAgB,CACjB,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,EAAE,SAAS,MAAM,IACjB,aAAa,CACb,qBAAqB,CACjB,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3D,EACD,GAAG,CAAC,MAAM,CAAC,EACX,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF,KAAK,cAAc,CACf,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,EAAE,SAAS,MAAM,IACjB,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,CAAC,EACX,qBAAqB,CACjB,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1D,EACD,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF,KAAK,YAAY,CACb,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,eAAe,CACf,KAAK,CAAC,WAAW,CAAC,EAClB,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,iBAAiB,CAAC,GAAG,CAAC,CACzB,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,CAAC,IAAI,IAAI,IAAI,SAC5B,oBAAoB,CAAC,GAAG,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC,GAAG,IAAI,GACzD,IAAI,SAAS,MAAM,GAAG,IAAI,GAC1B,MAAM,CAAC;AAEb;;GAEG;AACH,KAAK,YAAY,CACb,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,IAAI,IACJ,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,CAAC,EACX,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,SAAS,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,cAAc,CAAC,IAAI,CAAC,EAAE,GACrE,cAAc,CAAC,IAAI,CAAC,EAC1B,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,CACf,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,IAAI,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EACvC,EAAE,SAAS,MAAM,GAAG,SAAS,IAC7B,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,CAAC,EACX,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,SAAS,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,EAAE,GACpE,YAAY,CAAC,IAAI,CAAC,EACxB,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF;;GAEG;AACH,KAAK,aAAa,CACd,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,IAAI,IACJ,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,CAAC,EACX,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,SAAS,MAAM,GACtB,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,cAAc,CAAC,IAAI,CAAC,EAAE,GAC9C,cAAc,CAAC,IAAI,CAAC,EAC1B,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,CACf,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,IAAI,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EACvC,EAAE,SAAS,MAAM,GAAG,SAAS,IAC7B,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,CAAC,EACX,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,SAAS,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,EAAE,GACpE,YAAY,CAAC,IAAI,CAAC,EACxB,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF;;GAEG;AACH,KAAK,YAAY,CACb,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,KAAK,SAAS,MAAM,IACpB,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,CAAC,EACX,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,KAAK,EACL,GAAG,CAAC,QAAQ,CAAC,CAChB,CAAC;AAEF;;;GAGG;AACH,KAAK,aAAa,CACd,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,MAAM,SAAS,SAAS,eAAe,EAAE,IACzC,aAAa,CACb,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,MAAM,CAAC,EACX,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,QAAQ,CAAC,EACb,GAAG,CAAC,SAAS,CAAC,EACd,GAAG,CAAC,OAAO,CAAC,EACZ,SAAS,CAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAE,CAC3C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAC1B,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAGpE,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,UAAU,kBAAkB,CAAC,CAAC,CAAC,EAAE,GACnE,UAAU,CAAC,SAAS,MAAM,GAAG,SAAS,MAAM,GAE5C,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,SAC3D,MAAM,OAAO,SAAS,MAAM,GAE1B,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,MAAM,GAC/B,GAAG,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,GACnC,OAAO,CAAC,SAAS,MAAM,WAAW,SAAS,MAAM,GAEjD,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,MAAM,GACtB,GAAG,WAAW,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,GACpC,WAAW,CAAC,SAAS,MAAM,QAAQ,SAAS,MAAM,GAElD,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,GACxB,GAAG,QAAQ,aAAa,CAAC,CAAC,SAAS,CAAC,EAAE,GACtC,QAAQ,CAAC,SAAS,MAAM,QAAQ,SAAS,MAAM,GAE/C,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,MAAM,GACvB,GAAG,QAAQ,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,GACnC,QAAQ,CAAC,SAAS,MAAM,SAAS,SAAS,MAAM,GAEhD,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,GACxB,GAAG,SAAS,aAAa,CAAC,CAAC,SAAS,CAAC,EAAE,GACvC,SAAS,CAAC,SACZ,MAAM,QAAQ,SAAS,MAAM,GAE3B,CAAC,CAAC,OAAO,CAAC,SAAS,MAAM,GACrB,GAAG,QAAQ,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,GACrC,QAAQ,GACZ,KAAK,GACT,KAAK,GACT,KAAK,GACT,KAAK,GACT,KAAK,GACT,KAAK,GACL,KAAK,CAAC;AA6FhB,KAAK,iBAAiB,CAClB,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,GAAG,IACH,GAAG,SAAS,MAAM,GAChB,aAAa,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,GAChC,GAAG,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CAAE,GAC1C,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAAG,eAAe,CACzC,CAAC,EACD,KAAK,CAAC,KAAK,CAAC,EACZ,QAAQ,GAAG,EAAE,CAChB,GACH,eAAe,CACb,KAAK,CAAC,WAAW,CAAC,EAClB,KAAK,CAAC,KAAK,CAAC,EACZ,QAAQ,GAAG,EAAE,CAChB,GACH,eAAe,CACb,KAAK,CAAC,WAAW,CAAC,EAClB,KAAK,CAAC,KAAK,CAAC,EACZ,QAAQ,GAAG,EAAE,CAChB,GACH,eAAe,CACb,KAAK,CAAC,WAAW,CAAC,EAClB,KAAK,CAAC,KAAK,CAAC,EACZ,QAAQ,GAAG,EAAE,CAChB,GAKC,GAAG,SAAS,kBAAkB,CAC5B,MAAM,EACN,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9B,GAAG,CACN,GAAG,eAAe,CACX,KAAK,CAAC,WAAW,CAAC,EAClB,KAAK,CAAC,KAAK,CAAC,EACZ,KAAK,CAAC,YAAY,CAAC,CACtB,GACH,KAAK,CAAC;AAEZ,KAAK,eAAe,CAChB,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,OAAO,SAAS,MAAM,IACtB,eAAe,CACf,KAAK,CAAC,WAAW,CAAC,EAClB,KAAK,CAAC,KAAK,CAAC,EACZ,KAAK,CAAC,YAAY,CAAC,SAAS,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,OAAO,EAAE,GAClE,OAAO,CAChB,CAAC;AAIF,KAAK,kBAAkB,CACnB,SAAS,EACT,QAAQ,IACR;KACC,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,GAC1D,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS;CAChC,CAAC;AAEF,KAAK,qBAAqB,CACtB,MAAM,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC7C,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAC5C,eAAe,CACf,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,EACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EACxE,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAC7C,CAAC;AAEF,KAAK,mBAAmB,CACpB,MAAM,SAAS,cAAc,EAC7B,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACxC,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,EAAE,IACF,EAAE,SAAS,CACX,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EACrC,GAAG,IAAI,EAAE,GAAG,EAAE,KACb,kBAAkB,CACnB,MAAM,EACN,MAAM,UAAU,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACvD,GAAG,CACN,GAAG,UAAU,GACR,CAAC,CAAC;AAER,KAAK,iBAAiB,CAClB,MAAM,SAAS,cAAc,EAC7B,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACxC,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,EAAE,IACF,EAAE,SAAS,CACX,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EACrC,GAAG,IAAI,EAAE,GAAG,EAAE,KACb,kBAAkB,CACnB,MAAM,EACN,GAAG,EACH,MAAM,QAAQ,SAAS,aAAa,CAChC,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACN,CACJ,GAAG,QAAQ,GACN,GAAG,CAAC;AAMV;;;;GAIG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC1D;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAAE,CAAC;IACzD,qCAAqC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;IACrD,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;IACtD,mCAAmC;IACnC,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;IACxD,iCAAiC;IACjC,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;IACvD,mCAAmC;IACnC,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;IACxD,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;IACpD,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CACnD;AA8BD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB,CAC/B,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAClE,aAAa;IAEjB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAEpC;;;;OAIG;IACH,MAAM,CACF,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EAC7C,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAEzC,OAAO,EAAE,IAAI,EACb,EAAE,CAAC,EAAE,EAAE,GACR,kBAAkB,CACjB,MAAM,EACN,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EACxC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAC/B,CAAC;IAEF;;;;OAIG;IACH,IAAI,CACA,GAAG,SACG,MAAM,GACN,kBAAkB,CAChB,MAAM,EACN,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9B,GAAG,CACN,EAEL,MAAM,EAAE,GAAG,GACZ,kBAAkB,CACjB,MAAM,EACN,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EACrC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CACxB,CAAC;IAEF;;;;;;;OAOG;IACH,IAAI,CACA,OAAO,SAAS,MAAM,EACtB,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAEzC,OAAO,EAAE,OAAO,EAChB,EAAE,CAAC,EAAE,EAAE,GACR,kBAAkB,CACjB,MAAM,EACN,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,EAC/B,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAChC,CAAC;IAEF;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAC1B,EAAE,EAAE,EAAE,GACP,kBAAkB,CACjB,MAAM,EACN,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EACtD,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAC5B,CAAC;IAEF;;;;;OAKG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EACxB,EAAE,EAAE,EAAE,GACP,kBAAkB,CACjB,MAAM,EACN,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EACpD,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAC1B,CAAC;IAEF;;OAEG;IACH,KAAK,CACD,IAAI,SAAS,MAAM,GAAG,oBAAoB,EAE1C,SAAS,EAAE,IAAI,EACf,EAAE,CAAC,EAAE,MAAM,GACZ,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAE9D;;OAEG;IACH,OAAO,CACH,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EAC7C,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAEzC,OAAO,EAAE,IAAI,EACb,EAAE,CAAC,EAAE,EAAE,GACR,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpE;;OAEG;IACH,MAAM,CACF,IAAI,SAAS,MAAM,GAAG,oBAAoB,EAE1C,SAAS,EAAE,IAAI,EACf,EAAE,CAAC,EAAE,MAAM,GACZ,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/D;;OAEG;IACH,OAAO,CACH,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,EAC7C,EAAE,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EAEzC,OAAO,EAAE,IAAI,EACb,EAAE,CAAC,EAAE,EAAE,GACR,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpE;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACxB,KAAK,EAAE,CAAC,GACT,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAE3D;;;;OAIG;IACH,UAAU,CACN,KAAK,CAAC,MAAM,SAAS,SAAS,eAAe,EAAE,EAC/C,EAAE,SAAS,CACP,CAAC,EAAE,kBAAkB,CACjB,MAAM,EACN,KAAK,EACL,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAC7B,EACD,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KACxD,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAEzC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,EAAE,GACb,kBAAkB,CACjB,MAAM,EACN,mBAAmB,CACf,MAAM,EACN,KAAK,EACL,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,EAC1B,EAAE,CACL,EACD,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CACnE,CAAC;IAEF;;;;;;OAMG;IACH,IAAI,CACA,EAAE,SAAS,CACP,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KACxC,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAEzC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,EAAE,GACb,kBAAkB,CACjB,MAAM,EACN,qBAAqB,CACjB,KAAK,EACL,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC9C,EACD,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5C,CAAC;IAEF;;;OAGG;IACH,eAAe,IAAI,MAAM,GAAG;QACxB,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KAClD,CAAC;IAEF,wDAAwD;IACxD,SAAS,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;IAE5C;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;CACtB;AAofD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,SAAS,cAAc,KAC5B,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAYhE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAwGnE;AAMD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,MAAM,EAAE,EAAE,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,EAAE,CAAC;IACV,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;IACZ,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,EAAE,EAAE,CAAC;IACZ,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,EAAE,CAAC;IACT,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;KAAE,CAAC;IAE1D,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;QACzB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;QACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;KAAE,CAAC;IAEtD,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;KAAE,CAAC;IAE9D,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;KAAE,CAAC;IAEvD,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;KAAE,CAAC;IAE5D,kBAAkB;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,mBAAmB;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;KAAE,CAAC;IAEzD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG;IAC1C,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,UAAU,CAAC;AA+DpE;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,CACzB,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAEpE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GACrB;KAEM,CAAC,IAAI,OAAO,CACR,MAAM,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC9B,GACF,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CAChD,CAAC;AAMN;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CACpD,GAAG,EACH,GAAG,EACH,MAAM,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAC/E,GAAG,kBAAkB,CAAC,GAAG,CAAC,GACrB,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CACxD,GAAG,EACH,MAAM,CAAC,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9C,GAAG,CACN,GAAG,CAAC,GACC,KAAK,CAAC;AAWZ;;;;;GAKG;AACH,KAAK,oBAAoB,CACrB,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,GAAG,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GACxC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,GACpC,CAAC,GACD,KAAK,CAAC;AAEZ,KAAK,qBAAqB,CACtB,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,gBAAgB,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,GACzE,KAAK,CAAC;AAEZ,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SACxC,GAAG,MAAM,QAAQ,MAAM,IAAI,EAAE,GAC3B,IAAI,SAAS,GAAG,MAAM,SAAS,IAAI,MAAM,IAAI,EAAE,GAC3C,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,GACvC,IAAI,GACJ,KAAK,CAAC;AAEZ,KAAK,iBAAiB,CAClB,MAAM,SAAS,cAAc,EAC7B,SAAS,SAAS,MAAM,IACxB,eAAe,CAAC,SAAS,CAAC,SAAS,KAAK,GAAG,IAAI,GAC7C,SAAS,SAAS,GAAG,MAAM,UAAU,IAAI,MAAM,SAAS,EAAE,GACtD,UAAU,SAAS,MAAM,MAAM,CAAC,SAAS,CAAC,GACtC,SAAS,SAAS,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAC5D,UAAU,SAAS,0BAA0B,UAAU,GAAG,GAC9D,WAAW,UAAU,aAAa,GACtC,SAAS,SAAS,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,GACnD,UAAU,SAAS,kCAAkC,iBAAiB,CACpE,MAAM,CACT,GAAG,CAAC;AAET,KAAK,kBAAkB,CACnB,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,MAAM,IACpB,CAAE,KAAK,CAAE,SAAS,CAAE,KAAK,CAAE,GAAG,IAAI,GAChC,IAAI,SAAS;KACV,CAAC,IAAI,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,GACxD,KAAK;CACd,CAAC,KAAK,CAAC,GAAG,IAAI,GACb;KACG,CAAC,IAAI,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,GACzD,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;CACrC,CAAC,KAAK,CAAC,CAAC;AAEb,KAAK,kBAAkB,CACnB,MAAM,SAAS,cAAc,EAC7B,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,iBAAiB,CACjB,MAAM,EACN,oBAAoB,CAAC,GAAG,CAAC,CAC5B,SAAS,MAAM,UAAU,GAAG,UAAU,SAAS,IAAI,GAAG,kBAAkB,CAC7D,MAAM,EACN,qBAAqB,CAAC,GAAG,CAAC,GAAG,MAAM,CACtC,GACH,UAAU,GACV,IAAI,CAAC;AAOX,8EAA8E;AAC9E,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SACtC,GAAG,MAAM,KAAK,KAAK,MAAM,IAAI,EAAE,GAAG,CAAE,KAAK,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAE,GACnE,CAAE,CAAC,CAAE,CAAC;AAEZ,gEAAgE;AAChE,KAAK,eAAe,CAChB,MAAM,SAAS,cAAc,EAC7B,GAAG,SAAS,MAAM,IAClB,eAAe,CAAC,GAAG,CAAC,SAAS,MAAM,IAAI,SAAS,SAAS,MAAM,EAAE,GAC/D,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAC/D,EAAE,CAAC;AAET,+DAA+D;AAC/D,KAAK,cAAc,CACf,MAAM,SAAS,cAAc,EAC7B,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,kBAAkB,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,SAAS,MAAM,GACtD,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,EAAE,CAAC;AAET,KAAK,qBAAqB,CACtB,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAClE,UAAU,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAC3D,MAAM,MAAM,SAAS,cAAc,EACnC,MAAM,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAClD,MAAM,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAC/E,GAAG,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GACvC,KAAK,CAAC;AAEZ;;;;;GAKG;AACH,KAAK,kBAAkB,CACnB,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5C,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACtE,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAE9C;;;;GAIG;AACH,MAAM,MAAM,eAAe,CACvB,CAAC,IACD,CAAC,SAAS,kBAAkB,CAC5B,MAAM,MAAM,SAAS,cAAc,EACnC,GAAG,EACH,MAAM,GAAG,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAC/E,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,KAAK,CAAC;AAMZ;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,CACtB,aAAa,SAAS,cAAc,EACpC,aAAa,SAAS,cAAc,IAGpC,aAAa,SAAS,OAAO,GAAG,aAAa,SAAS,OAAO,GAAG,IAAI,GAAG,KAAK,GAEtE,aAAa,SAAS,MAAM,GAAG,OAAO,GAClC,aAAa,SAAS,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,GAEnE,aAAa,SAAS,MAAM,GAAG,aAAa,SACpC,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GAAG,IAAI,GAClB,KAAK,GAET,aAAa,SAAS,OAAO,GACzB,aAAa,SAAS,cAAc,GAAG,IAAI,GAAG,KAAK,GACvD,KAAK,CAAC;AAEhB;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAC5B,CAAC,SAAS,MAAM,IAChB,CAAC,SAAS,OAAO,GAAG,OAAO,GACzB,CAAC,SAAS,MAAM,GAAG,YAAY,GAAG,MAAM,GACxC,CAAC,SAAS,OAAO,GAAG,aAAa,GAAG,OAAO,GAC3C,CAAC,SAAS,MAAM,GAAG,YAAY,GAAG,MAAM,GACxC,CAAC,SAAS,OAAO,GAAG,OAAO,GAC3B,KAAK,CAAC;AAMZ;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,CAC5B,KAAK,SAAS,kBAAkB,IAChC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,GACpD,CAAC,SAAS,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GACpC,UAAU,EAAE,GACZ,UAAU,EAAE,CAAC;AAEnB;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,CAC3B,KAAK,SAAS,kBAAkB,EAChC,OAAO,SAAS,UAAU,EAAE,GAAG,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAChE,YAAY,CACZ,OAAO,EACP,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAC1B,KAAK,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GACvC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC,SAAS,UAAU,CAAC;CAAE,GAAG,CAAC,EAAE,GAAG,SAAS,GAChE,SAAS,EAKf,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,EAChD,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,GACnD,EAAE,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,GACzC,aAAa,EAAE,GAAG,SAAS,GAC3B,aAAa,EAAE,GAAG,SAAS,EACjC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,EAClD,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,GACnD,EAAE,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,GACvC,WAAW,EAAE,GAAG,SAAS,GACzB,WAAW,EAAE,GAAG,SAAS,EAC/B,KAAK,CAAC,OAAO,CAAC,EACd,KAAK,CAAC,QAAQ,CAAC,EACf,KAAK,CAAC,UAAU,CAAC,EACjB,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAC5C,CAAC,SAAS,aAAa,GAAG,CAAC,EAAE,GAC7B,aAAa,EAAE,GAAG,SAAS,GAC3B,aAAa,EAAE,GAAG,SAAS,CACpC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,CAChC,KAAK,SAAS,kBAAkB,EAChC,OAAO,SAAS,UAAU,EAAE,GAAG,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAChE,KAAK,CAAC,OAAO,CAAC,SAAS,WAAW,CAClC,MAAM,IAAI,SAAS,YAAY,EAC/B,MAAM,EAAE,SAAS,iBAAiB,EAClC,MAAM,KAAK,CACd,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,GAC1B,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC"} |
| /** | ||
| * SELECT Query Builder - Type-Level State & Utilities | ||
| * | ||
| * Phase 2 focuses on type-level pieces only: | ||
| * - Core builder state types | ||
| * - Join strictness and replacement rules | ||
| * - State-to-AST conversion scaffolding | ||
| * | ||
| * Runtime builder implementation is added in Phase 3 and later. | ||
| */ | ||
| import { appendParamsRuntime, } from "../common/builder.js"; | ||
| /** | ||
| * Default empty runtime state corresponding to EmptyState. | ||
| */ | ||
| const EMPTY_RUNTIME_STATE = { | ||
| select: {}, | ||
| from: undefined, | ||
| joins: [], | ||
| where: {}, | ||
| groupBy: {}, | ||
| having: {}, | ||
| orderBy: {}, | ||
| limit: undefined, | ||
| offset: undefined, | ||
| ctes: {}, | ||
| distinct: false, | ||
| union: undefined, | ||
| params: [], | ||
| selectSql: {}, | ||
| fromSql: undefined, | ||
| joinSql: {}, | ||
| whereSql: {}, | ||
| groupBySql: {}, | ||
| havingSql: {}, | ||
| orderBySql: {}, | ||
| cteSql: {}, | ||
| unionSql: undefined, | ||
| }; | ||
| /** | ||
| * Internal concrete implementation. Methods always return a new instance | ||
| * to preserve immutability and allow type-level State to progress. | ||
| */ | ||
| class SelectQueryBuilderImpl { | ||
| _state; | ||
| constructor(state) { | ||
| this._state = state ?? EMPTY_RUNTIME_STATE; | ||
| } | ||
| // ----------------------------------------------------------------------- | ||
| // Immutable state cloning helper | ||
| // ----------------------------------------------------------------------- | ||
| clone(patch) { | ||
| return { | ||
| ...this._state, | ||
| ...patch, | ||
| }; | ||
| } | ||
| // ----------------------------------------------------------------------- | ||
| // Core builder methods | ||
| // ----------------------------------------------------------------------- | ||
| select(columns, id) { | ||
| const rawCols = Array.isArray(columns) | ||
| ? columns | ||
| : [columns]; | ||
| // Keep all provided columns for runtime SQL so array selects are fully | ||
| // rendered; type-level typing continues to use AddColumnsForSchema. | ||
| const cols = rawCols.length > 0 ? [...rawCols] : []; | ||
| const key = id | ||
| ?? `select_${Object.keys(this._state.selectSql).length.toString()}`; | ||
| const nextSelectSql = { | ||
| ...this._state.selectSql, | ||
| [key]: cols, | ||
| }; | ||
| const nextState = this.clone({ selectSql: nextSelectSql }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| from(source) { | ||
| let fromSql; | ||
| if (typeof source === "string") { | ||
| fromSql = source; | ||
| } | ||
| else { | ||
| // Runtime subquery: we only embed the SQL string; type-level | ||
| // typing for subqueries is handled separately via QueryResult | ||
| // when using string-based APIs. | ||
| fromSql = `(${source.toString()})`; | ||
| } | ||
| const nextState = this.clone({ fromSql }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| where(condition, id) { | ||
| const key = id | ||
| ?? `where_${Object.keys(this._state.whereSql).length.toString()}`; | ||
| const sql = typeof condition === "string" | ||
| ? condition | ||
| : condition.toString(); | ||
| const nextWhereSql = { | ||
| ...this._state.whereSql, | ||
| [key]: sql, | ||
| }; | ||
| const nextState = this.clone({ whereSql: nextWhereSql }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| groupBy(columns, id) { | ||
| const rawCols = Array.isArray(columns) ? [...columns] : [columns]; | ||
| const key = id | ||
| ?? `group_${Object.keys(this._state.groupBySql).length.toString()}`; | ||
| const nextGroupBySql = { | ||
| ...this._state.groupBySql, | ||
| [key]: rawCols.join(", "), | ||
| }; | ||
| const nextState = this.clone({ groupBySql: nextGroupBySql }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| having(condition, id) { | ||
| const key = id | ||
| ?? `having_${Object.keys(this._state.havingSql).length.toString()}`; | ||
| const sql = typeof condition === "string" | ||
| ? condition | ||
| : condition.toString(); | ||
| const nextHavingSql = { | ||
| ...this._state.havingSql, | ||
| [key]: sql, | ||
| }; | ||
| const nextState = this.clone({ havingSql: nextHavingSql }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| orderBy(columns, id) { | ||
| const rawCols = Array.isArray(columns) ? [...columns] : [columns]; | ||
| const key = id | ||
| ?? `order_${Object.keys(this._state.orderBySql).length.toString()}`; | ||
| const nextOrderBySql = { | ||
| ...this._state.orderBySql, | ||
| [key]: rawCols.join(", "), | ||
| }; | ||
| const nextState = this.clone({ orderBySql: nextOrderBySql }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| join(joinSql, id) { | ||
| const key = id | ||
| ?? `join_${this._state.joins.length.toString()}`; | ||
| const nextJoinSql = { | ||
| ...this._state.joinSql, | ||
| [key]: joinSql, | ||
| }; | ||
| const existing = this._state.joins.find(j => j.id === key); | ||
| const newEntry = existing ?? { | ||
| id: key, | ||
| ast: undefined, | ||
| strictness: "INNER", | ||
| optional: false, | ||
| }; | ||
| const filtered = this._state.joins.filter(j => j.id !== key); | ||
| const nextJoins = [ | ||
| ...filtered, | ||
| newEntry, | ||
| ]; | ||
| const nextState = this.clone({ | ||
| joinSql: nextJoinSql, | ||
| joins: nextJoins, | ||
| }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| removeSelect(id) { | ||
| const nextSelectSql = { ...this._state.selectSql }; | ||
| if (!(id in nextSelectSql)) { | ||
| return this; | ||
| } | ||
| delete nextSelectSql[id]; | ||
| const nextState = this.clone({ selectSql: nextSelectSql }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| removeJoin(id) { | ||
| const nextJoinSql = { ...this._state.joinSql }; | ||
| const hadSql = id in nextJoinSql; | ||
| delete nextJoinSql[id]; | ||
| const nextJoins = this._state.joins.filter(j => j.id !== id); | ||
| if (!hadSql && nextJoins.length === this._state.joins.length) { | ||
| return this; | ||
| } | ||
| const nextState = this.clone({ | ||
| joinSql: nextJoinSql, | ||
| joins: nextJoins, | ||
| }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| limit(limit) { | ||
| const nextState = this.clone({ limit }); | ||
| return new SelectQueryBuilderImpl(nextState); | ||
| } | ||
| withParams(params, callback) { | ||
| const { params: nextParams, paramString } = appendParamsRuntime(this._state.params, params); | ||
| const nextState = this.clone({ params: nextParams }); | ||
| const builderWithParams = new SelectQueryBuilderImpl(nextState); | ||
| const result = callback(builderWithParams, paramString); | ||
| const mergedParams = result._state.params.length >= nextParams.length | ||
| ? result._state.params | ||
| : nextParams; | ||
| const mergedState = { | ||
| ...result._state, | ||
| params: mergedParams, | ||
| }; | ||
| return new SelectQueryBuilderImpl(mergedState); | ||
| } | ||
| // ----------------------------------------------------------------------- | ||
| // Shared runtime .when() | ||
| // ----------------------------------------------------------------------- | ||
| when(condition, callback) { | ||
| // Runtime: execute the callback only when the condition is true. When | ||
| // it runs, keep the callback's full runtime state (including SELECT | ||
| // fragments) so assembled SQL reflects the conditional changes. The | ||
| // type-level state still marks new columns as optional. | ||
| if (!condition) { | ||
| return this; | ||
| } | ||
| const result = callback(this); | ||
| return new SelectQueryBuilderImpl(result._state); | ||
| } | ||
| getParams() { | ||
| return this._state.params; | ||
| } | ||
| // ----------------------------------------------------------------------- | ||
| // SQL String Assembly | ||
| // ----------------------------------------------------------------------- | ||
| toBrandedString() { | ||
| // Runtime: just assemble SQL string from fragments. | ||
| const sql = assembleSelectSQL(this._state); | ||
| return sql; | ||
| } | ||
| toString() { | ||
| return assembleSelectSQL(this._state); | ||
| } | ||
| } | ||
| /** | ||
| * Entry point for creating a new SELECT builder. | ||
| * | ||
| * Schema is a generic-only parameter; there is no runtime schema value. | ||
| */ | ||
| export function createSelectQuery() { | ||
| return new SelectQueryBuilderImpl(EMPTY_RUNTIME_STATE); | ||
| } | ||
| // ============================================================================ | ||
| // SQL Assembly Utility (runtime-only) | ||
| // ============================================================================ | ||
| /** | ||
| * Assemble a SQL string from runtime builder state. | ||
| * | ||
| * This utility: | ||
| * - Uses user-provided fragments as-is (no parsing or normalization). | ||
| * - Inserts SQL keywords (SELECT, FROM, WHERE, etc.) in uppercase. | ||
| * - Skips empty clauses entirely. | ||
| * - Defaults to SELECT * when no select fragments are present. | ||
| */ | ||
| export function assembleSelectSQL(state) { | ||
| const parts = []; | ||
| // WITH clause (CTEs) | ||
| const cteIds = Object.keys(state.cteSql); | ||
| if (cteIds.length > 0) { | ||
| const withParts = cteIds.map(id => state.cteSql[id]).join(", "); | ||
| parts.push(`WITH ${withParts}`); | ||
| } | ||
| // SELECT clause | ||
| const selectIds = Object.keys(state.selectSql); | ||
| if (selectIds.length === 0) { | ||
| parts.push("SELECT *"); | ||
| } | ||
| else { | ||
| const selectFragments = []; | ||
| for (const id of selectIds) { | ||
| const cols = state.selectSql[id]; | ||
| if (cols && cols.length > 0) { | ||
| selectFragments.push(cols.join(", ")); | ||
| } | ||
| } | ||
| const selectSql = selectFragments.length > 0 | ||
| ? selectFragments.join(", ") | ||
| : "*"; | ||
| parts.push(state.distinct | ||
| ? `SELECT DISTINCT ${selectSql}` | ||
| : `SELECT ${selectSql}`); | ||
| } | ||
| // FROM clause | ||
| if (state.fromSql) { | ||
| parts.push(`FROM ${state.fromSql}`); | ||
| } | ||
| // JOIN clauses – in the order of joins[] | ||
| for (const join of state.joins) { | ||
| const sql = state.joinSql[join.id]; | ||
| if (sql) { | ||
| parts.push(sql); | ||
| } | ||
| } | ||
| // WHERE clause | ||
| const whereIds = Object.keys(state.whereSql); | ||
| if (whereIds.length > 0) { | ||
| const whereParts = whereIds | ||
| .map(id => state.whereSql[id]) | ||
| .filter(Boolean); | ||
| if (whereParts.length > 0) { | ||
| parts.push(`WHERE ${whereParts.join(" AND ")}`); | ||
| } | ||
| } | ||
| // GROUP BY | ||
| const groupIds = Object.keys(state.groupBySql); | ||
| if (groupIds.length > 0) { | ||
| const groupParts = groupIds | ||
| .map(id => state.groupBySql[id]) | ||
| .filter(Boolean); | ||
| if (groupParts.length > 0) { | ||
| parts.push(`GROUP BY ${groupParts.join(", ")}`); | ||
| } | ||
| } | ||
| // HAVING | ||
| const havingIds = Object.keys(state.havingSql); | ||
| if (havingIds.length > 0) { | ||
| const havingParts = havingIds | ||
| .map(id => state.havingSql[id]) | ||
| .filter(Boolean); | ||
| if (havingParts.length > 0) { | ||
| parts.push(`HAVING ${havingParts.join(" AND ")}`); | ||
| } | ||
| } | ||
| // ORDER BY | ||
| const orderIds = Object.keys(state.orderBySql); | ||
| if (orderIds.length > 0) { | ||
| const orderParts = orderIds | ||
| .map(id => state.orderBySql[id]) | ||
| .filter(Boolean); | ||
| if (orderParts.length > 0) { | ||
| parts.push(`ORDER BY ${orderParts.join(", ")}`); | ||
| } | ||
| } | ||
| // LIMIT / OFFSET | ||
| if (typeof state.limit === "number") { | ||
| parts.push(`LIMIT ${state.limit}`); | ||
| } | ||
| if (typeof state.offset === "number") { | ||
| parts.push(`OFFSET ${state.offset}`); | ||
| } | ||
| // UNION clause – appended as-is if provided | ||
| if (state.unionSql) { | ||
| parts.push(state.unionSql); | ||
| } | ||
| return parts.join(" "); | ||
| } | ||
| //# sourceMappingURL=builder.js.map |
| {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/select/builder.ts"],"names":[],"mappings":"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"} |
@@ -48,9 +48,10 @@ /** | ||
| * A complex expression (like JSON operations, function calls, etc.) | ||
| * Contains all column references found in the expression for validation | ||
| * and the result type from casting | ||
| * Contains all column references found in the expression for validation, | ||
| * the result type from casting, and the original expression string for assembly | ||
| */ | ||
| export type ComplexExpr<ColumnRefs extends ValidatableColumnRef[] = ValidatableColumnRef[], CastType extends string | undefined = string | undefined> = { | ||
| export type ComplexExpr<ColumnRefs extends ValidatableColumnRef[] = ValidatableColumnRef[], CastType extends string | undefined = string | undefined, OriginalExpr extends string = string> = { | ||
| readonly type: "ComplexExpr"; | ||
| readonly columnRefs: ColumnRefs; | ||
| readonly castType: CastType; | ||
| readonly originalExpr: OriginalExpr; | ||
| }; | ||
@@ -57,0 +58,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/common/ast.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/common/ast.ts"],"names":[],"mappings":"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"} |
@@ -7,6 +7,8 @@ /** | ||
| */ | ||
| export type { NormalizeSQL, NextToken, ExtractUntil, SplitByComma, FromTerminators, WhereTerminators, OrderByTerminators, StartsWith, CountOpen, CountClose, ParensBalanced, UnionOperator, } from "./tokenizer.js"; | ||
| export type { Trim, RemoveQuotes, Join, ToUpperCase, Increment, Decrement, Flatten, ParseError, IsParseError, MatchError, IsMatchError, IsStringLiteral, HasTemplateHoles, DynamicQuery, IsDynamicQuery, DynamicQueryResult, } from "./utils.js"; | ||
| export type { DatabaseSchema, TableDefinition, SchemaDefinition, RelationType, ColumnReference, Relation, Relations, GetDefaultSchema, GetTableNames, GetColumnNames, GetColumnType, HasRelations, GetRelationNames, GetRelation, FindRelationsFrom, FindRelationsTo, } from "./schema.js"; | ||
| export type { QueryType, UnboundColumnRef, TableColumnRef, ValidatableColumnRef, TableWildcard, SimpleColumnRefType, ComplexExpr, ColumnRefType, TableRef, SubquerySelectClause, DerivedTableRef, CTEDefinition, TableSource, ComparisonOp, LogicalOp, LiteralValue, BinaryExpr, UnparsedExpr, ParsedCondition, LogicalExprAny, WhereExpr, LogicalExpr, JoinType, JoinClause, SortDirection, OrderByItem, AggregateFunc, AggregateExpr, MapSQLTypeToTS, } from "./ast.js"; | ||
| export type { CountClose, CountOpen, ExtractUntil, FromTerminators, NextToken, NormalizeSQL, OrderByTerminators, ParensBalanced, SplitByComma, StartsWith, UnionOperator, WhereTerminators, } from "./tokenizer.js"; | ||
| export type { Decrement, DynamicQuery, DynamicQueryResult, Flatten, HasTemplateHoles, Increment, IsDynamicQuery, IsMatchError, IsParseError, IsStringLiteral, Join, MatchError, ParseError, RemoveQuotes, ToUpperCase, Trim, } from "./utils.js"; | ||
| export { appendParamsRuntime, buildParamString, ConditionTreeBuilder, createConditionTree, whenRuntime, } from "./builder.js"; | ||
| export type { ParamString, QueryParamValue } from "./builder.js"; | ||
| export type { ColumnReference, DatabaseSchema, FindRelationsFrom, FindRelationsTo, GetColumnNames, GetColumnType, GetDefaultSchema, GetRelation, GetRelationNames, GetTableNames, HasRelations, Relation, Relations, RelationType, SchemaDefinition, TableDefinition, } from "./schema.js"; | ||
| export type { AggregateExpr, AggregateFunc, BinaryExpr, ColumnRefType, ComparisonOp, ComplexExpr, CTEDefinition, DerivedTableRef, JoinClause, JoinType, LiteralValue, LogicalExpr, LogicalExprAny, LogicalOp, MapSQLTypeToTS, OrderByItem, ParsedCondition, QueryType, SimpleColumnRefType, SortDirection, SubquerySelectClause, TableColumnRef, TableRef, TableSource, TableWildcard, UnboundColumnRef, UnparsedExpr, ValidatableColumnRef, WhereExpr, } from "./ast.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,cAAc,EACd,aAAa,GACd,MAAM,gBAAgB,CAAA;AAGvB,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EAEZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,kBAAkB,GACnB,MAAM,YAAY,CAAA;AAGnB,YAAY,EAEV,cAAc,EACd,eAAe,EACf,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,SAAS,EAGT,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,YAAY,EAEV,SAAS,EAGT,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,aAAa,EAGb,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,EAGX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,SAAS,EACT,WAAW,EAGX,QAAQ,EACR,UAAU,EAGV,aAAa,EACb,WAAW,EAGX,aAAa,EACb,aAAa,EAGb,cAAc,GACf,MAAM,UAAU,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACR,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACR,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,YAAY,EAEZ,eAAe,EACf,IAAI,EACJ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,IAAI,GACP,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACd,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGjE,YAAY,EACR,eAAe,EAEf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,aAAa,EAEb,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EAET,YAAY,EACZ,gBAAgB,EAChB,eAAe,GAClB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACR,aAAa,EAEb,aAAa,EACb,UAAU,EACV,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EACf,UAAU,EAEV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EAET,cAAc,EACd,WAAW,EACX,eAAe,EAEf,SAAS,EACT,mBAAmB,EAEnB,aAAa,EACb,oBAAoB,EACpB,cAAc,EAEd,QAAQ,EACR,WAAW,EACX,aAAa,EAEb,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,SAAS,GACZ,MAAM,UAAU,CAAC"} |
@@ -7,3 +7,4 @@ /** | ||
| */ | ||
| export {}; | ||
| // Re-export common builder utilities | ||
| export { appendParamsRuntime, buildParamString, ConditionTreeBuilder, createConditionTree, whenRuntime, } from "./builder.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuCH,qCAAqC;AACrC,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACd,MAAM,cAAc,CAAC"} |
+19
-1
@@ -23,2 +23,3 @@ /** | ||
| */ | ||
| import type { BuilderResultType, SelectQueryBuilder, ValidateBuilder } from "./select/builder.js"; | ||
| import type { DatabaseSchema, QueryResult } from "./select/matcher.js"; | ||
@@ -37,2 +38,8 @@ import type { ValidateSelectSQL } from "./select/validator.js"; | ||
| /** | ||
| * Validates a SELECT query builder at compile time. | ||
| * If valid, returns the builder type. | ||
| * If invalid, returns an error message type that will be shown in IDE tooltips. | ||
| */ | ||
| export type ValidQueryBuilder<Schema extends DatabaseSchema, B extends SelectQueryBuilder<Schema, any, any>> = ValidateBuilder<B> extends infer V ? V extends true ? B : `[SQL Error] ${V & string}` : never; | ||
| /** | ||
| * Result type for a SELECT query (flattened for better IDE display) | ||
@@ -53,2 +60,10 @@ */ | ||
| /** | ||
| * Result type for a SELECT query builder (flattened for better IDE display) | ||
| */ | ||
| export type SelectBuilderResult<B extends SelectQueryBuilder<any, any, any>> = B extends SelectQueryBuilder<infer Schema extends DatabaseSchema, infer State, infer Sql> ? Prettify<BuilderResultType<Schema, State, Sql>> : never; | ||
| /** | ||
| * Array of result rows for a query builder (flattened for better IDE display) | ||
| */ | ||
| export type SelectBuilderResultArray<B extends SelectQueryBuilder<any, any, any>> = SelectBuilderResult<B>[]; | ||
| /** | ||
| * A function that executes SQL and returns rows | ||
@@ -93,3 +108,6 @@ * This is what users provide - their actual database call | ||
| */ | ||
| export declare function createSelectFn<Schema extends DatabaseSchema>(handler: QueryHandler): <Q extends string>(query: ValidQuery<Q, Schema>, params?: unknown[]) => Promise<(QueryResult<Q, Schema> extends infer T ? { [K in keyof T]: T[K]; } : never)[]>; | ||
| export declare function createSelectFn<Schema extends DatabaseSchema>(handler: QueryHandler): { | ||
| <Q extends string>(query: ValidQuery<Q, Schema>, params?: unknown[]): Promise<SelectResultArray<Q, Schema>>; | ||
| <B extends SelectQueryBuilder<Schema, any, any>>(query: ValidQueryBuilder<Schema, B>, params?: unknown[]): Promise<SelectBuilderResultArray<B>>; | ||
| }; | ||
| /** | ||
@@ -96,0 +114,0 @@ * Check if a query is valid |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAO9D;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAClB,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,cAAc,IAC7B,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,GAC1C,CAAC,SAAS,IAAI,GACd,CAAC,GACD,eAAe,CAAC,GAAG,MAAM,EAAE,GAC3B,KAAK,CAAA;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,CACpB,GAAG,SAAS,MAAM,EAClB,MAAM,SAAS,cAAc,IAC7B,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;AAEtC;;GAEG;AACH,MAAM,MAAM,iBAAiB,CACzB,GAAG,SAAS,MAAM,EAClB,MAAM,SAAS,cAAc,IAC7B,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;AAExC;;;GAGG;AACH,KAAK,QAAQ,CAAC,CAAC,IAAI;KACd,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvB,GAAG,EAAE,CAAA;AAON;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAM1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,cAAc,EAAE,OAAO,EAAE,YAAY,IACxD,CAAC,SAAS,MAAM,EACnC,OAAO,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,EAC5B,SAAS,OAAO,EAAE,KAGe,OAAO,CAAC,6CA3D5C,CAAC,gCA2DmD,CAAC,CAEzD;AAQD;;;GAGG;AACH,MAAM,MAAM,aAAa,CACrB,GAAG,SAAS,MAAM,EAClB,MAAM,SAAS,cAAc,IAC7B,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA"} | ||
| {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACR,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAM/D;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAClB,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS,cAAc,IAC7B,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,GAC/D,eAAe,CAAC,GAAG,MAAM,EAAE,GAC3B,KAAK,CAAC;AAEZ;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CACzB,MAAM,SAAS,cAAc,EAC7B,CAAC,SAAS,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAC9C,eAAe,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,GACrD,eAAe,CAAC,GAAG,MAAM,EAAE,GAC3B,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,YAAY,CACpB,GAAG,SAAS,MAAM,EAClB,MAAM,SAAS,cAAc,IAC7B,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,iBAAiB,CACzB,GAAG,SAAS,MAAM,EAClB,MAAM,SAAS,cAAc,IAC7B,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;AAEzC;;;GAGG;AACH,KAAK,QAAQ,CAAC,CAAC,IACT;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvB,GACC,EAAE,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC3B,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAC3C,CAAC,SAAS,kBAAkB,CAC5B,MAAM,MAAM,SAAS,cAAc,EACnC,MAAM,KAAK,EACX,MAAM,GAAG,CACZ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,GAC7C,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,wBAAwB,CAChC,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAC3C,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;AAM7B;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAM1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,cAAc,EACxD,OAAO,EAAE,YAAY;KAEL,CAAC,SAAS,MAAM,SACrB,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,WACnB,OAAO,EAAE,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;KAExB,CAAC,SAAS,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,SACnD,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,WAC1B,OAAO,EAAE,GACnB,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;EAkB1C;AAMD;;;GAGG;AACH,MAAM,MAAM,aAAa,CACrB,GAAG,SAAS,MAAM,EAClB,MAAM,SAAS,cAAc,IAC7B,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC"} |
+9
-3
@@ -62,6 +62,12 @@ /** | ||
| export function createSelectFn(handler) { | ||
| return function select(query, params) { | ||
| return handler(query, params); | ||
| }; | ||
| function select(query, params) { | ||
| if (typeof query === "string") { | ||
| return handler(query, params); | ||
| } | ||
| const sql = query.toString(); | ||
| const finalParams = params ?? [...query.getParams()]; | ||
| return handler(sql, finalParams); | ||
| } | ||
| return select; | ||
| } | ||
| //# sourceMappingURL=db.js.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA+DH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,cAAc,CAAgC,OAAqB;IAC/E,OAAO,SAAS,MAAM,CAClB,KAA4B,EAC5B,MAAkB;QAGlB,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAsB,CAAC;IACvD,CAAC,CAAA;AACL,CAAC"} | ||
| {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAiGH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,cAAc,CAC1B,OAAqB;IAYrB,SAAS,MAAM,CACX,KAE0C,EAC1C,MAAkB;QAElB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAiB,CAAC;QAClD,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAE,CAAC;QACvD,OAAO,OAAO,CAAC,GAAG,EAAE,WAAW,CAAiB,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"} |
+11
-7
@@ -29,10 +29,14 @@ /** | ||
| */ | ||
| export type { ParseSQL, DetectQueryType, ParseSelectSQL, ParseInsertSQL, ParseUpdateSQL, ParseDeleteSQL, IsSelectQuery, IsInsertQuery, IsUpdateQuery, IsDeleteQuery, AnySQLQuery, } from "./router.js"; | ||
| export type { NormalizeSQL, NextToken, ExtractUntil, SplitByComma, FromTerminators, WhereTerminators, OrderByTerminators, StartsWith, CountOpen, CountClose, ParensBalanced, Trim, RemoveQuotes, Flatten, ParseError, IsParseError, MatchError, IsMatchError, Increment, Decrement, IsStringLiteral, HasTemplateHoles, DynamicQuery, IsDynamicQuery, DynamicQueryResult, DatabaseSchema, TableDefinition, SchemaDefinition, RelationType, ColumnReference, Relation, Relations, GetDefaultSchema, GetTableNames, GetColumnNames, GetColumnType, HasRelations, GetRelationNames, GetRelation, FindRelationsFrom, FindRelationsTo, QueryType, UnboundColumnRef, TableColumnRef, ValidatableColumnRef, TableWildcard, SimpleColumnRefType, ComplexExpr, ColumnRefType, TableRef, SubquerySelectClause, DerivedTableRef, CTEDefinition, TableSource, ComparisonOp, LogicalOp, LiteralValue, BinaryExpr, UnparsedExpr, ParsedCondition, LogicalExprAny, WhereExpr, LogicalExpr, JoinType, JoinClause, SortDirection, OrderByItem, AggregateFunc, AggregateExpr, MapSQLTypeToTS, } from "./common/index.js"; | ||
| export type { SQLSelectQuery, ColumnRef, LiteralExpr, SubqueryExpr, ExistsExpr, IntervalExpr, ExtendedColumnRefType, SQLConstantExpr, SQLConstantName, SelectClause, SelectItem, SelectColumns, UnionClause, UnionClauseAny, UnionOperatorType, MatchSelectQuery, QueryResult, ValidateQuery, ValidateSQL, ValidateSelectSQL, ValidateSelectOptions, } from "./select/index.js"; | ||
| export type { SQLInsertQuery, InsertClause, InsertColumnList, InsertColumnRef, InsertValue, InsertValueRow, InsertValuesClause, InsertSelectClause, InsertSource, ReturningClause, OnConflictClause, ConflictTarget, ConflictAction, ConflictUpdateSet, MatchInsertQuery, InsertResult, InsertInput, ValidateInsertResult, ValidateInsertSQL, ValidateInsertOptions, IsValidInsert, GetInsertTableColumns, } from "./insert/index.js"; | ||
| export type { SQLUpdateQuery, UpdateClause, SetClause, SetAssignment, SetValue, UpdateFromClause, UpdateReturningClause, ReturningItem, QualifiedColumnRef, QualifiedWildcard, ReturningQualifier, MatchUpdateQuery, UpdateResult, ValidateUpdateResult, ValidateUpdateSQL, ValidateUpdateOptions, IsValidUpdate, GetUpdateTableColumns, } from "./update/index.js"; | ||
| export type { SQLDeleteQuery, DeleteClause, UsingClause, DeleteReturningClause, MatchDeleteQuery, DeleteResult, ValidateDeleteResult, ValidateDeleteSQL, ValidateDeleteOptions, IsValidDelete, GetDeleteTableColumns, } from "./delete/index.js"; | ||
| export type { AnySQLQuery, DetectQueryType, IsDeleteQuery, IsInsertQuery, IsSelectQuery, IsUpdateQuery, ParseDeleteSQL, ParseInsertSQL, ParseSelectSQL, ParseSQL, ParseUpdateSQL, } from "./router.js"; | ||
| export type { AggregateExpr, AggregateFunc, BinaryExpr, ColumnReference, ColumnRefType, ComparisonOp, ComplexExpr, CountClose, CountOpen, CTEDefinition, DatabaseSchema, Decrement, DerivedTableRef, DynamicQuery, DynamicQueryResult, ExtractUntil, FindRelationsFrom, FindRelationsTo, Flatten, FromTerminators, GetColumnNames, GetColumnType, GetDefaultSchema, GetRelation, GetRelationNames, GetTableNames, HasRelations, HasTemplateHoles, Increment, IsDynamicQuery, IsMatchError, IsParseError, IsStringLiteral, JoinClause, JoinType, LiteralValue, LogicalExpr, LogicalExprAny, LogicalOp, MapSQLTypeToTS, MatchError, NextToken, NormalizeSQL, OrderByItem, OrderByTerminators, ParensBalanced, ParsedCondition, ParseError, QueryType, Relation, Relations, RelationType, RemoveQuotes, SchemaDefinition, SimpleColumnRefType, SortDirection, SplitByComma, StartsWith, SubquerySelectClause, TableColumnRef, TableDefinition, TableRef, TableSource, TableWildcard, Trim, UnboundColumnRef, UnparsedExpr, ValidatableColumnRef, WhereExpr, WhereTerminators, } from "./common/index.js"; | ||
| export { createConditionTree, } from "./common/index.js"; | ||
| export type { ParamString, QueryParamValue } from "./common/index.js"; | ||
| export type { ColumnRef, ExistsExpr, ExtendedColumnRefType, IntervalExpr, LiteralExpr, MatchSelectClause, MatchSelectQuery, ParseOrderByItems, ParseWhereClause, QueryResult, SelectBuilderAnyState, SelectBuilderState, SelectClause, SelectColumns, SelectEmptyState, SelectErrorState, SelectItem, SQLConstantExpr, SQLConstantName, SQLSelectQuery, SubqueryExpr, UnionClause, UnionClauseAny, UnionOperatorType, ValidateQuery, ValidateSelectClause, ValidateSelectOptions, ValidateSelectSQL, ValidateSQL, } from "./select/index.js"; | ||
| export type { AssembleBuilderSql, BuilderResultType, BuilderReturnType, BuilderSQL, BuilderSqlTag, BuilderStateOf, BuilderStateTag, CanReplaceJoin, EmptyBuilderState, EmptySqlState, EmptyState, ErrorState, JoinStrictness, JoinTypeToStrictness, RuntimeSelectState, SelectItemsFromState, SelectQueryBuilder, StateToSelectClause, StateToSelectQueryClause, TableNameOf, ValidateBuilder, } from "./select/builder.js"; | ||
| export { assembleSelectSQL, createSelectQuery } from "./select/index.js"; | ||
| export type { ConflictAction, ConflictTarget, ConflictUpdateSet, GetInsertTableColumns, InsertClause, InsertColumnList, InsertColumnRef, InsertInput, InsertResult, InsertSelectClause, InsertSource, InsertValue, InsertValueRow, InsertValuesClause, IsValidInsert, MatchInsertQuery, OnConflictClause, ReturningClause, SQLInsertQuery, ValidateInsertOptions, ValidateInsertResult, ValidateInsertSQL, } from "./insert/index.js"; | ||
| export type { GetUpdateTableColumns, IsValidUpdate, MatchUpdateQuery, QualifiedColumnRef, QualifiedWildcard, ReturningItem, ReturningQualifier, SetAssignment, SetClause, SetValue, SQLUpdateQuery, UpdateClause, UpdateFromClause, UpdateResult, UpdateReturningClause, ValidateUpdateOptions, ValidateUpdateResult, ValidateUpdateSQL, } from "./update/index.js"; | ||
| export type { DeleteClause, DeleteResult, DeleteReturningClause, GetDeleteTableColumns, IsValidDelete, MatchDeleteQuery, SQLDeleteQuery, UsingClause, ValidateDeleteOptions, ValidateDeleteResult, ValidateDeleteSQL, } from "./delete/index.js"; | ||
| export { createSelectFn } from "./db.js"; | ||
| export type { ValidQuery, SelectResult, SelectResultArray, IsValidSelect } from "./db.js"; | ||
| export type { IsValidSelect, SelectBuilderResult, SelectBuilderResultArray, SelectResult, SelectResultArray, ValidQuery, ValidQueryBuilder, } from "./db.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+10
-0
@@ -29,2 +29,12 @@ /** | ||
| */ | ||
| // Re-export common builder runtime utilities | ||
| export { | ||
| // appendParamsRuntime, | ||
| // buildParamString, | ||
| // ConditionTreeBuilder, | ||
| createConditionTree, | ||
| // whenRuntime, | ||
| } from "./common/index.js"; | ||
| // Re-export SELECT builder runtime helpers | ||
| export { assembleSelectSQL, createSelectQuery } from "./select/index.js"; | ||
| // ============================================================================ | ||
@@ -31,0 +41,0 @@ // Runtime API helpers |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAwQH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAwGH,6CAA6C;AAC7C,OAAO;AACH,uBAAuB;AACvB,oBAAoB;AACpB,wBAAwB;AACxB,mBAAmB;AACnB,eAAe;EAClB,MAAM,mBAAmB,CAAC;AA4E3B,2CAA2C;AAC3C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAkGzE,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"} |
@@ -9,4 +9,4 @@ /** | ||
| */ | ||
| import type { AggregateExpr, ColumnRefType, CTEDefinition, JoinClause, OrderByItem, SubquerySelectClause, TableSource, TableWildcard, WhereExpr } from "../common/ast.js"; | ||
| import type { Flatten } from "../common/utils.js"; | ||
| import type { ColumnRefType, TableWildcard, TableSource, CTEDefinition, JoinClause, WhereExpr, OrderByItem, AggregateExpr, SubquerySelectClause } from "../common/ast.js"; | ||
| /** | ||
@@ -78,3 +78,7 @@ * A literal value expression used directly in SELECT columns | ||
| */ | ||
| export type SelectItem = ColumnRef | AggregateExpr | TableWildcard; | ||
| export type SelectItem = (ColumnRef & { | ||
| readonly optional?: boolean; | ||
| }) | (AggregateExpr & { | ||
| readonly optional?: boolean; | ||
| }) | TableWildcard; | ||
| /** | ||
@@ -81,0 +85,0 @@ * Array of selected columns |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/select/ast.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/select/ast.ts"],"names":[],"mappings":"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"} |
@@ -12,6 +12,8 @@ /** | ||
| */ | ||
| export type { ParseSelectSQL } from "./parser.js"; | ||
| export type { SQLSelectQuery, ColumnRef, LiteralExpr, SubqueryExpr, ExistsExpr, IntervalExpr, ExtendedColumnRefType, SQLConstantExpr, SQLConstantName, SelectClause, SelectItem, SelectColumns, UnionClause, UnionClauseAny, UnionOperatorType, } from "./ast.js"; | ||
| export type { MatchSelectQuery, MatchError, QueryResult, ValidateQuery, ValidateSQL, DatabaseSchema, } from "./matcher.js"; | ||
| export type { ValidateSelectSQL, ValidateSelectOptions, } from "./validator.js"; | ||
| export type { ExtractColumnName, ExtractJoinType, IsComplexExpression, IsSimpleIdentifier, ParseColumnList, ParseColumnRefType, ParseOrderByItem, ParseOrderByItems, ParseSelectSQL, ParseSingleColumn, ParseSingleJoin, ParseTableRef, ParseWhereClause, ScanTokensForColumnRefs, } from "./parser.js"; | ||
| export type { ColumnRef, ExistsExpr, ExtendedColumnRefType, IntervalExpr, LiteralExpr, SelectClause, SelectColumns, SelectItem, SQLConstantExpr, SQLConstantName, SQLSelectQuery, SubqueryExpr, UnionClause, UnionClauseAny, UnionOperatorType, } from "./ast.js"; | ||
| export type { DatabaseSchema, MatchError, MatchSelectClause, MatchSelectQuery, QueryResult, ValidateQuery, ValidateSQL, } from "./matcher.js"; | ||
| export type { ValidateSelectClause, ValidateSelectOptions, ValidateSelectSQL, } from "./validator.js"; | ||
| export type { BuilderReturnType, BuilderSQL, EmptyState as SelectEmptyState, ErrorState as SelectErrorState, SelectBuilderAnyState, SelectBuilderState, ValidateBuilder, } from "./builder.js"; | ||
| export { assembleSelectSQL, createSelectQuery } from "./builder.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/select/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,YAAY,EAEV,cAAc,EAGd,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,qBAAqB,EAGrB,eAAe,EACf,eAAe,EAGf,YAAY,EACZ,UAAU,EACV,aAAa,EAGb,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,UAAU,CAAA;AAGjB,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,cAAc,CAAA;AAGrB,YAAY,EACV,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/select/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,YAAY,EACR,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,uBAAuB,GAC1B,MAAM,aAAa,CAAC;AAGrB,YAAY,EAER,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,aAAa,EACb,UAAU,EAEV,eAAe,EACf,eAAe,EAEf,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,cAAc,EACd,iBAAiB,GACpB,MAAM,UAAU,CAAC;AAGlB,YAAY,EACR,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,WAAW,GACd,MAAM,cAAc,CAAC;AAGtB,YAAY,EACR,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACR,iBAAiB,EACjB,UAAU,EACV,UAAU,IAAI,gBAAgB,EAC9B,UAAU,IAAI,gBAAgB,EAC9B,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"} |
@@ -12,3 +12,3 @@ /** | ||
| */ | ||
| export {}; | ||
| export { assembleSelectSQL, createSelectQuery } from "./builder.js"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/select/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/select/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAyEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"} |
+26
-10
@@ -7,8 +7,8 @@ /** | ||
| */ | ||
| import type { SQLSelectQuery, SelectClause, ColumnRef, LiteralExpr, SubqueryExpr, ExistsExpr, IntervalExpr, UnionClause, UnionClauseAny, UnionOperatorType, SelectItem, SQLConstantExpr, SQLConstantName } from "./ast.js"; | ||
| import type { TableColumnRef, UnboundColumnRef, TableWildcard, ComplexExpr, TableRef, TableSource, DerivedTableRef, CTEDefinition, JoinClause, AggregateExpr, SubquerySelectClause, MapSQLTypeToTS } from "../common/ast.js"; | ||
| import type { Flatten, MatchError, IsMatchError, DynamicQuery, DynamicQueryResult, IsStringLiteral } from "../common/utils.js"; | ||
| import type { ColumnRef, ExistsExpr, IntervalExpr, LiteralExpr, SelectClause, SelectItem, SQLConstantExpr, SQLConstantName, SQLSelectQuery, SubqueryExpr, UnionClause, UnionClauseAny, UnionOperatorType } from "./ast.js"; | ||
| import type { AggregateExpr, ComplexExpr, CTEDefinition, DerivedTableRef, JoinClause, MapSQLTypeToTS, SubquerySelectClause, TableColumnRef, TableRef, TableSource, TableWildcard, UnboundColumnRef } from "../common/ast.js"; | ||
| import type { DatabaseSchema, GetDefaultSchema } from "../common/schema.js"; | ||
| import type { DynamicQuery, DynamicQueryResult, Flatten, IsMatchError, IsStringLiteral, MatchError } from "../common/utils.js"; | ||
| export type { DatabaseSchema } from "../common/schema.js"; | ||
| export type { MatchError } from "../common/utils.js"; | ||
| export type { DatabaseSchema } from "../common/schema.js"; | ||
| /** | ||
@@ -51,3 +51,3 @@ * Match a parsed SQL SELECT query against a schema to get the result type | ||
| */ | ||
| type MatchSelectClause<Select, Schema extends DatabaseSchema> = Select extends SelectClause<infer Columns, infer From, infer Joins, infer _Where, infer _GroupBy, infer _Having, infer _OrderBy, infer _Limit, infer _Offset, infer _Distinct, infer CTEs> ? BuildTableContextWithCTEs<From, Joins, CTEs, Schema> extends infer Context ? Context extends MatchError<string> ? Context : MatchColumns<Columns, Context, Schema> : never : MatchError<"Invalid SELECT clause">; | ||
| export type MatchSelectClause<Select, Schema extends DatabaseSchema> = Select extends SelectClause<infer Columns, infer From, infer Joins, infer _Where, infer _GroupBy, infer _Having, infer _OrderBy, infer _Limit, infer _Offset, infer _Distinct, infer CTEs> ? BuildTableContextWithCTEs<From, Joins, CTEs, Schema> extends infer Context ? Context extends MatchError<string> ? Context : MatchColumns<Columns, Context, Schema> : never : MatchError<"Invalid SELECT clause">; | ||
| /** | ||
@@ -154,10 +154,21 @@ * Build a context with CTE support | ||
| /** | ||
| * Helper: check if a SelectItem has been marked as optional | ||
| */ | ||
| type IsOptionalSelectItem<Col> = Col extends { | ||
| readonly optional: true; | ||
| } ? true : false; | ||
| /** | ||
| * Match a single column (ColumnRef, AggregateExpr, or TableWildcard) | ||
| * Note: We use [ColType] extends [...] to prevent distribution over union types | ||
| * Optional columns (from conditional selects/joins) are unioned with `undefined`. | ||
| */ | ||
| type MatchSingleColumn<Col, Context, Schema extends DatabaseSchema> = Col extends ColumnRef<infer Ref, infer Alias> ? ResolveColumnRef<Ref, Context, Schema> extends infer ColType ? [ColType] extends [MatchError<string>] ? { | ||
| [K in Alias]: ColType; | ||
| } : IsOptionalSelectItem<Col> extends true ? { | ||
| [K in Alias]: ColType | undefined; | ||
| } : { | ||
| [K in Alias]: ColType; | ||
| } : never : Col extends TableWildcard<infer TableOrAlias, infer WildcardSchema> ? ResolveTableWildcard<TableOrAlias, WildcardSchema, Context, Schema> : Col extends AggregateExpr<infer Func, infer Arg, infer Alias> ? { | ||
| } : never : Col extends TableWildcard<infer TableOrAlias, infer WildcardSchema> ? ResolveTableWildcard<TableOrAlias, WildcardSchema, Context, Schema> : Col extends AggregateExpr<infer Func, infer Arg, infer Alias> ? IsOptionalSelectItem<Col> extends true ? { | ||
| [K in Alias]: GetAggregateResultType<Func, Arg, Context, Schema> | undefined; | ||
| } : { | ||
| [K in Alias]: GetAggregateResultType<Func, Arg, Context, Schema>; | ||
@@ -320,10 +331,15 @@ } : MatchError<"Unknown column type">; | ||
| /** | ||
| * Validate a SQL query against a schema | ||
| * Returns true if valid, or error message if invalid | ||
| * Validate a SQL query against a schema. | ||
| * | ||
| * This uses the dedicated validator for comprehensive validation. | ||
| * By default this performs full validation (all clauses). Callers that need a | ||
| * lighter validation path (for example, builder fragment checks) can pass | ||
| * `Options` with `validateAllFields: false` to skip deep WHERE/JOIN/HAVING | ||
| * clause validation while still validating SELECT columns and table/alias | ||
| * resolution. | ||
| * | ||
| * This delegates to the dedicated validator implementation. | ||
| * | ||
| * @see ValidateSelectSQL in ./validator.js for the implementation | ||
| */ | ||
| export type ValidateSQL<SQL extends string, Schema extends DatabaseSchema> = import("./validator.js").ValidateSelectSQL<SQL, Schema>; | ||
| export type ValidateSQL<SQL extends string, Schema extends DatabaseSchema, Options = undefined> = [Options] extends [undefined] ? import("./validator.js").ValidateSelectSQL<SQL, Schema> : import("./validator.js").ValidateSelectSQL<SQL, Schema, Options & import("./validator.js").ValidateSelectOptions>; | ||
| //# sourceMappingURL=matcher.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/select/matcher.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/select/matcher.ts"],"names":[],"mappings":"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"} |
+182
-43
@@ -8,6 +8,6 @@ /** | ||
| */ | ||
| import type { SelectClause, SelectItem, ColumnRef, LiteralExpr, SubqueryExpr, ExistsExpr, IntervalExpr, ExtendedColumnRefType, UnionClause, UnionClauseAny, UnionOperatorType, SQLSelectQuery, SQLConstantExpr, SQLConstantName } from "./ast.js"; | ||
| import type { TableRef, TableSource, DerivedTableRef, CTEDefinition, TableColumnRef, UnboundColumnRef, TableWildcard, ComplexExpr, ValidatableColumnRef, ColumnRefType, WhereExpr, JoinClause, JoinType, OrderByItem, AggregateExpr, AggregateFunc, ParsedCondition } from "../common/ast.js"; | ||
| import type { NormalizeSQL, NextToken, ExtractUntil, SplitByComma, FromTerminators, WhereTerminators, OrderByTerminators, StartsWith } from "../common/tokenizer.js"; | ||
| import type { Trim, ParseError, RemoveQuotes, Increment, Decrement } from "../common/utils.js"; | ||
| import type { ColumnRef, ExistsExpr, ExtendedColumnRefType, IntervalExpr, LiteralExpr, SelectClause, SelectItem, SQLConstantExpr, SQLConstantName, SQLSelectQuery, SubqueryExpr, UnionClause, UnionClauseAny, UnionOperatorType } from "./ast.js"; | ||
| import type { AggregateExpr, AggregateFunc, ColumnRefType, ComplexExpr, CTEDefinition, DerivedTableRef, JoinClause, JoinType, OrderByItem, ParsedCondition, TableColumnRef, TableRef, TableSource, TableWildcard, UnboundColumnRef, ValidatableColumnRef, WhereExpr } from "../common/ast.js"; | ||
| import type { ExtractUntil, FromTerminators, NextToken, NormalizeSQL, OrderByTerminators, SplitByComma, StartsWith, WhereTerminators } from "../common/tokenizer.js"; | ||
| import type { Decrement, Increment, ParseError, RemoveQuotes, Trim } from "../common/utils.js"; | ||
| /** | ||
@@ -17,2 +17,28 @@ * Parse a SQL SELECT query string into an AST | ||
| export type ParseSelectSQL<T extends string> = ParseQueryOrUnion<NormalizeSQL<T>>; | ||
| /** Parse a table reference string into TableRef AST */ | ||
| export type { ParseTableRef }; | ||
| /** Parse a single column expression into SelectItem AST */ | ||
| export type { ParseSingleColumn }; | ||
| /** Parse a list of column expressions into SelectItem[] */ | ||
| export type { ParseColumnList }; | ||
| /** Parse a column reference type (table.column, column, etc.) */ | ||
| export type { ParseColumnRefType }; | ||
| /** Extract column name for default alias */ | ||
| export type { ExtractColumnName }; | ||
| /** Check if expression is complex (contains functions, operators, etc.) */ | ||
| export type { IsComplexExpression }; | ||
| /** Scan tokens and extract all column references from a condition */ | ||
| export type { ScanTokensForColumnRefs }; | ||
| /** Parse a WHERE clause into ParsedCondition AST fragment */ | ||
| export type { ParseWhereClause }; | ||
| /** Parse ORDER BY item into OrderByItem AST */ | ||
| export type { ParseOrderByItem }; | ||
| /** Parse ORDER BY list into OrderByItem[] AST */ | ||
| export type { ParseOrderByItems }; | ||
| /** Extract join type from JOIN clause */ | ||
| export type { ExtractJoinType }; | ||
| /** Parse a single JOIN clause */ | ||
| export type { ParseSingleJoin }; | ||
| /** Check if string is a simple identifier */ | ||
| export type { IsSimpleIdentifier }; | ||
| /** | ||
@@ -45,7 +71,13 @@ * Parse a query that may contain UNION/INTERSECT/EXCEPT operators | ||
| rest: infer AfterCTEs extends string; | ||
| } ? NextToken<AfterCTEs> extends ["SELECT", infer SelectRest extends string] ? ParseSelectBodyWithCTEsAndRest<SelectRest, CTEs> : ParseError<"Expected SELECT after WITH clause"> : CTEResult : never; | ||
| } ? NextToken<AfterCTEs> extends [ | ||
| "SELECT", | ||
| infer SelectRest extends string | ||
| ] ? ParseSelectBodyWithCTEsAndRest<SelectRest, CTEs> : ParseError<"Expected SELECT after WITH clause"> : CTEResult : never; | ||
| /** | ||
| * Check if there's a union operator and parse accordingly | ||
| */ | ||
| type CheckForUnion<Left extends SelectClause, Rest extends string> = Trim<Rest> extends "" ? SQLSelectQuery<Left> : ParseUnionOperator<Rest> extends [infer Op extends UnionOperatorType, infer AfterOp extends string] ? ParseSelectQueryWithRest<AfterOp> extends infer RightResult ? RightResult extends { | ||
| type CheckForUnion<Left extends SelectClause, Rest extends string> = Trim<Rest> extends "" ? SQLSelectQuery<Left> : ParseUnionOperator<Rest> extends [ | ||
| infer Op extends UnionOperatorType, | ||
| infer AfterOp extends string | ||
| ] ? ParseSelectQueryWithRest<AfterOp> extends infer RightResult ? RightResult extends { | ||
| query: infer RightQ extends SelectClause; | ||
@@ -57,3 +89,6 @@ rest: infer AfterRight extends string; | ||
| */ | ||
| type CheckForMoreUnions<Left extends SelectClause, Op extends UnionOperatorType, Right extends SelectClause, Rest extends string> = Trim<Rest> extends "" ? SQLSelectQuery<UnionClause<Left, Op, Right>> : ParseUnionOperator<Rest> extends [infer NextOp extends UnionOperatorType, infer AfterNextOp extends string] ? ParseSelectQueryWithRest<AfterNextOp> extends infer NextRightResult ? NextRightResult extends { | ||
| type CheckForMoreUnions<Left extends SelectClause, Op extends UnionOperatorType, Right extends SelectClause, Rest extends string> = Trim<Rest> extends "" ? SQLSelectQuery<UnionClause<Left, Op, Right>> : ParseUnionOperator<Rest> extends [ | ||
| infer NextOp extends UnionOperatorType, | ||
| infer AfterNextOp extends string | ||
| ] ? ParseSelectQueryWithRest<AfterNextOp> extends infer NextRightResult ? NextRightResult extends { | ||
| query: infer NextRightQ extends SelectClause; | ||
@@ -85,3 +120,6 @@ rest: infer AfterNextRight extends string; | ||
| infer AfterName extends string | ||
| ] ? NextToken<AfterName> extends ["AS", infer AfterAS extends string] ? NextToken<AfterAS> extends ["(", infer AfterParen extends string] ? ExtractCTEQuery<AfterParen> extends [infer QueryStr extends string, infer Rest extends string] ? ParseSelectQuery<QueryStr> extends SQLSelectQuery<infer Query extends SelectClause> ? { | ||
| ] ? NextToken<AfterName> extends ["AS", infer AfterAS extends string] ? NextToken<AfterAS> extends ["(", infer AfterParen extends string] ? ExtractCTEQuery<AfterParen> extends [ | ||
| infer QueryStr extends string, | ||
| infer Rest extends string | ||
| ] ? ParseSelectQuery<QueryStr> extends SQLSelectQuery<infer Query extends SelectClause> ? { | ||
| cte: CTEDefinition<RemoveQuotes<Name>, Query>; | ||
@@ -189,3 +227,6 @@ rest: Rest; | ||
| */ | ||
| type ParseIntervalColumn<T extends string> = ExtractIntervalWithAlias<Trim<T>> extends [infer IntervalResult extends ExtendedColumnRefType, infer Alias extends string] ? ColumnRef<IntervalResult, Alias> : ColumnRef<IntervalExpr<string>, "interval">; | ||
| type ParseIntervalColumn<T extends string> = ExtractIntervalWithAlias<Trim<T>> extends [ | ||
| infer IntervalResult extends ExtendedColumnRefType, | ||
| infer Alias extends string | ||
| ] ? ColumnRef<IntervalResult, Alias> : ColumnRef<IntervalExpr<string>, "interval">; | ||
| /** | ||
@@ -200,3 +241,9 @@ * Extract INTERVAL expression and optional alias | ||
| */ | ||
| type ExtractIntervalAliasFromRest<T extends string> = Trim<T> extends `AS ${infer AliasRest}` ? NextToken<Trim<AliasRest>> extends [infer Alias extends string, infer _Rest extends string] ? RemoveQuotes<Alias> : "interval" : Trim<T> extends `${string} AS ${infer AliasRest}` ? NextToken<Trim<AliasRest>> extends [infer Alias extends string, infer _Rest extends string] ? RemoveQuotes<Alias> : "interval" : "interval"; | ||
| type ExtractIntervalAliasFromRest<T extends string> = Trim<T> extends `AS ${infer AliasRest}` ? NextToken<Trim<AliasRest>> extends [ | ||
| infer Alias extends string, | ||
| infer _Rest extends string | ||
| ] ? RemoveQuotes<Alias> : "interval" : Trim<T> extends `${string} AS ${infer AliasRest}` ? NextToken<Trim<AliasRest>> extends [ | ||
| infer Alias extends string, | ||
| infer _Rest extends string | ||
| ] ? RemoveQuotes<Alias> : "interval" : "interval"; | ||
| /** | ||
@@ -224,7 +271,11 @@ * Parse a SQL constant column expression | ||
| */ | ||
| type ParseCastColumn<T extends string> = ExtractCastContent<Trim<T>> extends [infer CastExpr extends string, infer CastType extends string, infer Rest extends string] ? Trim<Rest> extends `AS ${infer Alias}` ? ColumnRef<ParseCastExpr<CastExpr, CastType>, RemoveQuotes<Alias>> : ColumnRef<ParseCastExpr<CastExpr, CastType>, ExtractCastAlias<CastExpr>> : ColumnRef<ComplexExpr<[], undefined>, "cast">; | ||
| type ParseCastColumn<T extends string> = ExtractCastContent<Trim<T>> extends [ | ||
| infer CastExpr extends string, | ||
| infer CastType extends string, | ||
| infer Rest extends string | ||
| ] ? Trim<Rest> extends `AS ${infer Alias}` ? ColumnRef<ParseCastExpr<CastExpr, CastType>, RemoveQuotes<Alias>> : ColumnRef<ParseCastExpr<CastExpr, CastType>, ExtractCastAlias<CastExpr>> : ColumnRef<ComplexExpr<[], undefined>, "cast">; | ||
| /** | ||
| * Parse the CAST expression into a ComplexExpr with the cast type | ||
| */ | ||
| type ParseCastExpr<Expr extends string, CastType extends string> = ComplexExpr<ExtractAllColumnRefs<Expr>, CastType>; | ||
| type ParseCastExpr<Expr extends string, CastType extends string> = ComplexExpr<ExtractAllColumnRefs<Expr>, CastType, `CAST ( ${Expr} AS ${CastType} )`>; | ||
| /** | ||
@@ -245,3 +296,6 @@ * Extract alias from CAST expression (use the expression name or "cast") | ||
| */ | ||
| type ExtractCastParts<T extends string> = T extends `${infer Expr} AS ${infer TypeAndRest}` ? ExtractCastType<TypeAndRest> extends [infer CastType extends string, infer Rest extends string] ? [Trim<Expr>, Trim<CastType>, Trim<Rest>] : never : never; | ||
| type ExtractCastParts<T extends string> = T extends `${infer Expr} AS ${infer TypeAndRest}` ? ExtractCastType<TypeAndRest> extends [ | ||
| infer CastType extends string, | ||
| infer Rest extends string | ||
| ] ? [Trim<Expr>, Trim<CastType>, Trim<Rest>] : never : never; | ||
| /** | ||
@@ -262,3 +316,6 @@ * Extract the type and remainder after the closing paren | ||
| */ | ||
| type ParseExistsColumn<T extends string> = ExtractExistsWithAlias<Trim<T>> extends [infer ExistsResult extends ExtendedColumnRefType, infer Alias extends string] ? ColumnRef<ExistsResult, Alias> : ColumnRef<ComplexExpr<[], undefined>, "exists">; | ||
| type ParseExistsColumn<T extends string> = ExtractExistsWithAlias<Trim<T>> extends [ | ||
| infer ExistsResult extends ExtendedColumnRefType, | ||
| infer Alias extends string | ||
| ] ? ColumnRef<ExistsResult, Alias> : ColumnRef<ComplexExpr<[], undefined>, "exists">; | ||
| /** | ||
@@ -273,3 +330,6 @@ * Extract EXISTS expression and optional alias | ||
| */ | ||
| type ExtractExistsInnerAndAlias<Rest extends string, Negated extends boolean> = ExtractUntilClosingParen<Rest, 1, ""> extends [infer Inner extends string, infer Remainder extends string] ? ParseExistsInnerQuery<Inner, Negated> extends infer Result ? ExtractAliasFromRemainder<Remainder> extends infer Alias extends string ? [Result, Alias] : [Result, "exists"] : [ComplexExpr<[], undefined>, "exists"] : [ComplexExpr<[], undefined>, "exists"]; | ||
| type ExtractExistsInnerAndAlias<Rest extends string, Negated extends boolean> = ExtractUntilClosingParen<Rest, 1, ""> extends [ | ||
| infer Inner extends string, | ||
| infer Remainder extends string | ||
| ] ? ParseExistsInnerQuery<Inner, Negated> extends infer Result ? ExtractAliasFromRemainder<Remainder> extends infer Alias extends string ? [Result, Alias] : [Result, "exists"] : [ComplexExpr<[], undefined>, "exists"] : [ComplexExpr<[], undefined>, "exists"]; | ||
| /** | ||
@@ -283,3 +343,6 @@ * Parse the inner SELECT query for EXISTS | ||
| */ | ||
| type ExtractAliasFromRemainder<T extends string> = Trim<T> extends `AS ${infer AliasRest}` ? NextToken<AliasRest> extends [infer Alias extends string, infer _Rest extends string] ? RemoveQuotes<Alias> : "exists" : "exists"; | ||
| type ExtractAliasFromRemainder<T extends string> = Trim<T> extends `AS ${infer AliasRest}` ? NextToken<AliasRest> extends [ | ||
| infer Alias extends string, | ||
| infer _Rest extends string | ||
| ] ? RemoveQuotes<Alias> : "exists" : "exists"; | ||
| /** | ||
@@ -297,3 +360,6 @@ * Check if the expression is a scalar subquery (starts with parenthesized SELECT) | ||
| */ | ||
| type ParseSubqueryExpr<T extends string> = ExtractParenthesizedContent<Trim<T>> extends [infer Inner extends string, infer Remainder extends string] ? ParseSelectQuery<Inner> extends SQLSelectQuery<infer Query extends SelectClause> ? SubqueryExpr<Query, ExtractSubqueryCastType<Remainder>> : ParseSelectQuery<Inner> extends ParseError<infer E> ? ComplexExpr<[], undefined> : ComplexExpr<[], undefined> : ComplexExpr<[], undefined>; | ||
| type ParseSubqueryExpr<T extends string> = ExtractParenthesizedContent<Trim<T>> extends [ | ||
| infer Inner extends string, | ||
| infer Remainder extends string | ||
| ] ? ParseSelectQuery<Inner> extends SQLSelectQuery<infer Query extends SelectClause> ? SubqueryExpr<Query, ExtractSubqueryCastType<Remainder>> : ParseSelectQuery<Inner> extends ParseError<infer E> ? ComplexExpr<[], undefined> : ComplexExpr<[], undefined> : ComplexExpr<[], undefined>; | ||
| /** | ||
@@ -312,3 +378,6 @@ * Extract the cast type that may follow a subquery's closing parenthesis | ||
| */ | ||
| type ExtractUntilClosingParen<T extends string, Depth extends number, Acc extends string> = Depth extends 0 ? [Trim<Acc>, Trim<T>] : NextToken<T> extends [infer Token extends string, infer Rest extends string] ? Token extends "(" ? ExtractUntilClosingParen<Rest, Increment<Depth>, `${Acc} ${Token}`> : Token extends ")" ? Decrement<Depth> extends 0 ? [Trim<Acc>, Trim<Rest>] : ExtractUntilClosingParen<Rest, Decrement<Depth>, `${Acc} ${Token}`> : ExtractUntilClosingParen<Rest, Depth, `${Acc} ${Token}`> : [Trim<Acc>, ""]; | ||
| type ExtractUntilClosingParen<T extends string, Depth extends number, Acc extends string> = Depth extends 0 ? [Trim<Acc>, Trim<T>] : NextToken<T> extends [ | ||
| infer Token extends string, | ||
| infer Rest extends string | ||
| ] ? Token extends "(" ? ExtractUntilClosingParen<Rest, Increment<Depth>, `${Acc} ${Token}`> : Token extends ")" ? Decrement<Depth> extends 0 ? [Trim<Acc>, Trim<Rest>] : ExtractUntilClosingParen<Rest, Decrement<Depth>, `${Acc} ${Token}`> : ExtractUntilClosingParen<Rest, Depth, `${Acc} ${Token}`> : [Trim<Acc>, ""]; | ||
| /** | ||
@@ -347,8 +416,11 @@ * Check if this is a function call (pattern: identifier ( ... )) | ||
| */ | ||
| type ParseComplexColumn<T extends string> = T extends `${infer Expr} AS ${infer Alias}` ? ColumnRef<ParseComplexExpr<Trim<Expr>>, RemoveQuotes<Alias>> : ColumnRef<ParseComplexExpr<T>, ExtractComplexColumnName<T>>; | ||
| type ComplexLastAlias<T extends string> = Trim<T> extends `${infer _Head} AS ${infer Rest}` ? ComplexLastAlias<Rest> : Trim<T>; | ||
| type ComplexExprWithoutAlias<T extends string> = Trim<T> extends `${infer Expr} AS ${infer Rest}` ? Rest extends `${infer _Inner} AS ${infer _RestTail}` ? ComplexExprWithoutAlias<`${Expr} AS ${Rest}`> : Trim<Expr> : Trim<T>; | ||
| type ParseComplexColumn<T extends string> = ColumnRef<ParseComplexExpr<ComplexExprWithoutAlias<T>>, Trim<T> extends `${string} AS ${string}` ? ComplexLastAlias<T> : ExtractComplexColumnName<T>>; | ||
| /** | ||
| * Parse a complex expression into ComplexExpr AST | ||
| * Extracts all column references for validation and the final cast type | ||
| * Extracts all column references for validation, the final cast type, | ||
| * and stores the original expression for assembly | ||
| */ | ||
| type ParseComplexExpr<T extends string> = ComplexExpr<ExtractAllColumnRefs<T>, ExtractFinalCastType<T>>; | ||
| type ParseComplexExpr<T extends string> = ComplexExpr<ExtractAllColumnRefs<T>, ExtractFinalCastType<T>, T>; | ||
| /** | ||
@@ -358,3 +430,4 @@ * Extract all column references from a complex expression | ||
| */ | ||
| type ExtractAllColumnRefs<T extends string> = ScanTokensForColumnRefs<Trim<T>, []>; | ||
| type ExtractAllColumnRefs<T extends string> = ScanTokensForColumnRefs<Trim<T>, [ | ||
| ]>; | ||
| /** | ||
@@ -365,3 +438,9 @@ * Scan tokens one by one looking for column reference patterns | ||
| */ | ||
| type ScanTokensForColumnRefs<T extends string, Acc extends ValidatableColumnRef[]> = Trim<T> extends "" ? Acc : NextToken<Trim<T>> extends [infer Token extends string, infer Rest extends string] ? IsExistsToken<Token, Rest> extends true ? SkipExistsAndContinue<Token, Rest, Acc> : IsFunctionName<Token, Rest> extends true ? ScanTokensForColumnRefs<Rest, Acc> : ExtractColumnFromToken<Token> extends infer ColRef ? [ColRef] extends [never] ? ScanTokensForColumnRefs<Rest, Acc> : ColRef extends ValidatableColumnRef ? ScanTokensForColumnRefs<Rest, [...Acc, ColRef]> : ScanTokensForColumnRefs<Rest, Acc> : ScanTokensForColumnRefs<Rest, Acc> : Acc; | ||
| type ScanTokensForColumnRefs<T extends string, Acc extends ValidatableColumnRef[], Depth extends number = 20> = Depth extends 0 ? Acc : Trim<T> extends "" ? Acc : NextToken<Trim<T>> extends [ | ||
| infer Token extends string, | ||
| infer Rest extends string | ||
| ] ? IsExistsToken<Token, Rest> extends true ? SkipExistsAndContinue<Token, Rest, Acc, Decrement<Depth>> : IsFunctionName<Token, Rest> extends true ? ScanTokensForColumnRefs<Rest, Acc, Decrement<Depth>> : ExtractColumnFromToken<Token> extends infer ColRef ? [ColRef] extends [never] ? ScanTokensForColumnRefs<Rest, Acc, Decrement<Depth>> : ColRef extends ValidatableColumnRef ? ScanTokensForColumnRefs<Rest, [ | ||
| ...Acc, | ||
| ColRef | ||
| ], Decrement<Depth>> : ScanTokensForColumnRefs<Rest, Acc, Decrement<Depth>> : ScanTokensForColumnRefs<Rest, Acc, Decrement<Depth>> : Acc; | ||
| /** | ||
@@ -372,3 +451,6 @@ * Check if we're at an EXISTS or NOT EXISTS token | ||
| */ | ||
| type IsExistsToken<Token extends string, Rest extends string> = Token extends "EXISTS" ? NextToken<Trim<Rest>> extends ["(", string] ? true : false : Token extends "NOT" ? NextToken<Trim<Rest>> extends ["EXISTS", infer AfterExists extends string] ? NextToken<Trim<AfterExists>> extends ["(", string] ? true : false : false : false; | ||
| type IsExistsToken<Token extends string, Rest extends string> = Token extends "EXISTS" ? NextToken<Trim<Rest>> extends ["(", string] ? true : false : Token extends "NOT" ? NextToken<Trim<Rest>> extends [ | ||
| "EXISTS", | ||
| infer AfterExists extends string | ||
| ] ? NextToken<Trim<AfterExists>> extends ["(", string] ? true : false : false : false; | ||
| /** | ||
@@ -378,3 +460,9 @@ * Skip EXISTS/NOT EXISTS subquery and continue scanning | ||
| */ | ||
| type SkipExistsAndContinue<Token extends string, Rest extends string, Acc extends ValidatableColumnRef[]> = Token extends "NOT" ? NextToken<Trim<Rest>> extends ["EXISTS", infer AfterExists extends string] ? NextToken<Trim<AfterExists>> extends ["(", infer AfterParen extends string] ? SkipUntilClosingParen<AfterParen, 1> extends infer Remainder extends string ? ScanTokensForColumnRefs<Remainder, Acc> : Acc : ScanTokensForColumnRefs<AfterExists, Acc> : ScanTokensForColumnRefs<Rest, Acc> : NextToken<Trim<Rest>> extends ["(", infer AfterParen extends string] ? SkipUntilClosingParen<AfterParen, 1> extends infer Remainder extends string ? ScanTokensForColumnRefs<Remainder, Acc> : Acc : ScanTokensForColumnRefs<Rest, Acc>; | ||
| type SkipExistsAndContinue<Token extends string, Rest extends string, Acc extends ValidatableColumnRef[], Depth extends number> = Token extends "NOT" ? NextToken<Trim<Rest>> extends [ | ||
| "EXISTS", | ||
| infer AfterExists extends string | ||
| ] ? NextToken<Trim<AfterExists>> extends [ | ||
| "(", | ||
| infer AfterParen extends string | ||
| ] ? SkipUntilClosingParen<AfterParen, 1> extends infer Remainder extends string ? ScanTokensForColumnRefs<Remainder, Acc, Depth> : Acc : ScanTokensForColumnRefs<AfterExists, Acc, Depth> : ScanTokensForColumnRefs<Rest, Acc, Depth> : NextToken<Trim<Rest>> extends ["(", infer AfterParen extends string] ? SkipUntilClosingParen<AfterParen, 1> extends infer Remainder extends string ? ScanTokensForColumnRefs<Remainder, Acc, Depth> : Acc : ScanTokensForColumnRefs<Rest, Acc, Depth>; | ||
| /** | ||
@@ -384,3 +472,6 @@ * Skip tokens until we find the matching closing parenthesis | ||
| */ | ||
| type SkipUntilClosingParen<T extends string, Depth extends number> = Depth extends 0 ? T : NextToken<Trim<T>> extends [infer Token extends string, infer Rest extends string] ? Token extends "(" ? SkipUntilClosingParen<Rest, Increment<Depth>> : Token extends ")" ? SkipUntilClosingParen<Rest, Decrement<Depth>> : SkipUntilClosingParen<Rest, Depth> : ""; | ||
| type SkipUntilClosingParen<T extends string, Depth extends number> = Depth extends 0 ? T : NextToken<Trim<T>> extends [ | ||
| infer Token extends string, | ||
| infer Rest extends string | ||
| ] ? Token extends "(" ? SkipUntilClosingParen<Rest, Increment<Depth>> : Token extends ")" ? SkipUntilClosingParen<Rest, Decrement<Depth>> : SkipUntilClosingParen<Rest, Depth> : ""; | ||
| /** | ||
@@ -425,3 +516,3 @@ * Check if a token is a function name (followed by opening parenthesis) | ||
| */ | ||
| type IsKeywordOrOperator<T extends string> = T extends `'${string}'` ? true : T extends "SELECT" | "FROM" | "WHERE" | "AND" | "OR" | "NOT" | "IN" | "IS" | "NULL" | "TRUE" | "FALSE" | "LIKE" | "ILIKE" | "BETWEEN" | "EXISTS" | "CASE" | "WHEN" | "THEN" | "ELSE" | "END" | "AS" | "ON" | "JOIN" | "LEFT" | "RIGHT" | "INNER" | "OUTER" | "FULL" | "CROSS" | "GROUP" | "BY" | "HAVING" | "ORDER" | "ASC" | "DESC" | "LIMIT" | "OFFSET" | "UNION" | "INTERSECT" | "EXCEPT" | "ALL" | "DISTINCT" | "COUNT" | "SUM" | "AVG" | "MIN" | "MAX" | "COALESCE" | "NULLIF" | "CAST" | "FOR" | "USING" | "WITH" | "OVER" | "PARTITION" | "ROWS" | "RANGE" | "PRECEDING" | "FOLLOWING" | "INTERVAL" | "YEAR" | "MONTH" | "DAY" | "HOUR" | "MINUTE" | "SECOND" | "MILLISECOND" | "MICROSECOND" | "YEARS" | "MONTHS" | "DAYS" | "HOURS" | "MINUTES" | "SECONDS" | "MILLISECONDS" | "MICROSECONDS" | "WEEK" | "WEEKS" | "TO" | "NULLS" | "FIRST" | "LAST" ? true : T extends SQLConstantName ? true : T extends "=" | "!=" | "<>" | "<" | ">" | "<=" | ">=" ? true : T extends "for" | "from" | "using" | "with" | "over" | "partition" | "rows" | "range" ? true : T extends `$${number}` | `$${string}` | `:${string}` ? true : T extends `${number}` ? true : false; | ||
| type IsKeywordOrOperator<T extends string> = T extends `'${string}'` ? true : T extends "SELECT" | "FROM" | "WHERE" | "AND" | "OR" | "NOT" | "IN" | "IS" | "NULL" | "null" | "TRUE" | "true" | "FALSE" | "false" | "LIKE" | "ILIKE" | "BETWEEN" | "EXISTS" | "CASE" | "WHEN" | "THEN" | "ELSE" | "END" | "AS" | "ON" | "JOIN" | "LEFT" | "RIGHT" | "INNER" | "OUTER" | "FULL" | "CROSS" | "GROUP" | "BY" | "HAVING" | "ORDER" | "ASC" | "DESC" | "LIMIT" | "OFFSET" | "UNION" | "INTERSECT" | "EXCEPT" | "ALL" | "DISTINCT" | "COUNT" | "SUM" | "AVG" | "MIN" | "MAX" | "COALESCE" | "NULLIF" | "CAST" | "FOR" | "USING" | "WITH" | "OVER" | "PARTITION" | "ROWS" | "RANGE" | "PRECEDING" | "FOLLOWING" | "INTERVAL" | "YEAR" | "MONTH" | "DAY" | "HOUR" | "MINUTE" | "SECOND" | "MILLISECOND" | "MICROSECOND" | "YEARS" | "MONTHS" | "DAYS" | "HOURS" | "MINUTES" | "SECONDS" | "MILLISECONDS" | "MICROSECONDS" | "WEEK" | "WEEKS" | "TO" | "NULLS" | "FIRST" | "LAST" ? true : T extends SQLConstantName ? true : T extends "=" | "!=" | "<>" | "<" | ">" | "<=" | ">=" ? true : T extends "for" | "from" | "using" | "with" | "over" | "partition" | "rows" | "range" ? true : T extends `$${number}` | `$${string}` | `:${string}` ? true : T extends `${number}` ? true : false; | ||
| /** | ||
@@ -469,3 +560,6 @@ * Extract the column name before the :: cast operator | ||
| ParseSchemaTableWildcard<Trim<T>> | ||
| ] extends [never] ? ParseSimpleTableWildcard<T> : ParseSchemaTableWildcard<Trim<T>> extends [infer Schema extends string, infer Table extends string] ? TableWildcard<Table, Schema> : ParseSimpleTableWildcard<T>; | ||
| ] extends [never] ? ParseSimpleTableWildcard<T> : ParseSchemaTableWildcard<Trim<T>> extends [ | ||
| infer Schema extends string, | ||
| infer Table extends string | ||
| ] ? TableWildcard<Table, Schema> : ParseSimpleTableWildcard<T>; | ||
| /** | ||
@@ -488,3 +582,7 @@ * Parse simple table.* pattern (no schema) | ||
| ParseThreePartIdentifier<Trim<T>> | ||
| ] extends [never] ? ParseTwoOrOnePartIdentifier<T> : ParseThreePartIdentifier<Trim<T>> extends [infer Schema extends string, infer Table extends string, infer Col extends string] ? TableColumnRef<Table, Col, Schema> : ParseTwoOrOnePartIdentifier<T>; | ||
| ] extends [never] ? ParseTwoOrOnePartIdentifier<T> : ParseThreePartIdentifier<Trim<T>> extends [ | ||
| infer Schema extends string, | ||
| infer Table extends string, | ||
| infer Col extends string | ||
| ] ? TableColumnRef<Table, Col, Schema> : ParseTwoOrOnePartIdentifier<T>; | ||
| /** | ||
@@ -520,3 +618,6 @@ * Parse two-part (table.column) or single-part (column) identifier | ||
| */ | ||
| type ParseDerivedTable<T extends string> = ExtractUntilClosingParen<T, 1, ""> extends [infer QueryStr extends string, infer AfterParen extends string] ? ParseSelectQuery<Trim<QueryStr>> extends SQLSelectQuery<infer Query extends SelectClause> ? ParseDerivedTableAlias<Trim<AfterParen>> extends { | ||
| type ParseDerivedTable<T extends string> = ExtractUntilClosingParen<T, 1, ""> extends [ | ||
| infer QueryStr extends string, | ||
| infer AfterParen extends string | ||
| ] ? ParseSelectQuery<Trim<QueryStr>> extends SQLSelectQuery<infer Query extends SelectClause> ? ParseDerivedTableAlias<Trim<AfterParen>> extends { | ||
| alias: infer Alias extends string; | ||
@@ -531,6 +632,15 @@ rest: infer Rest extends string; | ||
| */ | ||
| type ParseDerivedTableAlias<T extends string> = NextToken<T> extends ["AS", infer AfterAS extends string] ? NextToken<AfterAS> extends [infer Alias extends string, infer Rest extends string] ? { | ||
| type ParseDerivedTableAlias<T extends string> = NextToken<T> extends [ | ||
| "AS", | ||
| infer AfterAS extends string | ||
| ] ? NextToken<AfterAS> extends [ | ||
| infer Alias extends string, | ||
| infer Rest extends string | ||
| ] ? { | ||
| alias: RemoveQuotes<Alias>; | ||
| rest: Rest; | ||
| } : ParseError<"Expected alias after AS"> : NextToken<T> extends [infer First extends string, infer Rest extends string] ? First extends FromTerminators ? ParseError<"Derived table requires an alias"> : { | ||
| } : ParseError<"Expected alias after AS"> : NextToken<T> extends [ | ||
| infer First extends string, | ||
| infer Rest extends string | ||
| ] ? First extends FromTerminators ? ParseError<"Derived table requires an alias"> : { | ||
| alias: RemoveQuotes<First>; | ||
@@ -542,3 +652,15 @@ rest: Rest; | ||
| */ | ||
| type ParseTableRef<T extends string> = Trim<T> extends `${infer SchemaOrTable} AS ${infer Alias}` ? ParseSchemaTable<SchemaOrTable> extends [infer Schema extends string | undefined, infer Table extends string] ? TableRef<Table, RemoveQuotes<Alias>, Schema> : TableRef<RemoveQuotes<SchemaOrTable>, RemoveQuotes<Alias>, undefined> : Trim<T> extends `${infer SchemaOrTable} ${infer Alias}` ? Alias extends FromTerminators ? ParseSchemaTable<SchemaOrTable> extends [infer Schema extends string | undefined, infer Table extends string] ? TableRef<Table, Table, Schema> : TableRef<RemoveQuotes<SchemaOrTable>, RemoveQuotes<SchemaOrTable>, undefined> : ParseSchemaTable<SchemaOrTable> extends [infer Schema extends string | undefined, infer Table extends string] ? TableRef<Table, RemoveQuotes<Alias>, Schema> : TableRef<RemoveQuotes<SchemaOrTable>, RemoveQuotes<Alias>, undefined> : ParseSchemaTable<T> extends [infer Schema extends string | undefined, infer Table extends string] ? TableRef<Table, Table, Schema> : TableRef<RemoveQuotes<T>, RemoveQuotes<T>, undefined>; | ||
| type ParseTableRef<T extends string> = Trim<T> extends `${infer SchemaOrTable} AS ${infer Alias}` ? ParseSchemaTable<SchemaOrTable> extends [ | ||
| infer Schema extends string | undefined, | ||
| infer Table extends string | ||
| ] ? TableRef<Table, RemoveQuotes<Alias>, Schema> : TableRef<RemoveQuotes<SchemaOrTable>, RemoveQuotes<Alias>, undefined> : Trim<T> extends `${infer SchemaOrTable} ${infer Alias}` ? Alias extends FromTerminators ? ParseSchemaTable<SchemaOrTable> extends [ | ||
| infer Schema extends string | undefined, | ||
| infer Table extends string | ||
| ] ? TableRef<Table, Table, Schema> : TableRef<RemoveQuotes<SchemaOrTable>, RemoveQuotes<SchemaOrTable>, undefined> : ParseSchemaTable<SchemaOrTable> extends [ | ||
| infer Schema extends string | undefined, | ||
| infer Table extends string | ||
| ] ? TableRef<Table, RemoveQuotes<Alias>, Schema> : TableRef<RemoveQuotes<SchemaOrTable>, RemoveQuotes<Alias>, undefined> : ParseSchemaTable<T> extends [ | ||
| infer Schema extends string | undefined, | ||
| infer Table extends string | ||
| ] ? TableRef<Table, Table, Schema> : TableRef<RemoveQuotes<T>, RemoveQuotes<T>, undefined>; | ||
| /** | ||
@@ -629,12 +751,18 @@ * Parse schema.table syntax, returns [schema, table] or [undefined, table] | ||
| */ | ||
| type ParseSingleJoin<T extends string> = [ | ||
| ExtractJoinType<T> | ||
| ] extends [never] ? ParsePlainJoin<T> : ParseTypedJoin<T, ExtractJoinType<T>>; | ||
| type ParseSingleJoin<T extends string> = [ExtractJoinType<T>] extends [ | ||
| never | ||
| ] ? ParsePlainJoin<T> : ParseTypedJoin<T, ExtractJoinType<T>>; | ||
| /** | ||
| * Parse a plain JOIN (without INNER/LEFT/etc prefix) - treated as INNER JOIN | ||
| */ | ||
| type ParsePlainJoin<T extends string> = NextToken<T> extends ["JOIN", infer AfterJoin extends string] ? ExtractUntil<AfterJoin, "ON" | FromTerminators> extends [ | ||
| type ParsePlainJoin<T extends string> = NextToken<T> extends [ | ||
| "JOIN", | ||
| infer AfterJoin extends string | ||
| ] ? ExtractUntil<AfterJoin, "ON" | FromTerminators> extends [ | ||
| infer TablePart extends string, | ||
| infer OnPart extends string | ||
| ] ? StartsWith<OnPart, "ON"> extends true ? NextToken<OnPart> extends ["ON", infer ConditionPart extends string] ? ExtractUntil<ConditionPart, FromTerminators | "JOIN" | "INNER" | "LEFT" | "RIGHT" | "FULL" | "CROSS"> extends [ | ||
| ] ? StartsWith<OnPart, "ON"> extends true ? NextToken<OnPart> extends [ | ||
| "ON", | ||
| infer ConditionPart extends string | ||
| ] ? ExtractUntil<ConditionPart, FromTerminators | "JOIN" | "INNER" | "LEFT" | "RIGHT" | "FULL" | "CROSS"> extends [ | ||
| infer Condition extends string, | ||
@@ -655,6 +783,12 @@ infer Rest extends string | ||
| */ | ||
| type ParseTypedJoin<T extends string, JoinTypeResult> = JoinTypeResult extends [infer JType extends JoinType, infer AfterType extends string] ? NextToken<AfterType> extends ["JOIN", infer AfterJoin extends string] ? ExtractUntil<AfterJoin, "ON" | FromTerminators> extends [ | ||
| type ParseTypedJoin<T extends string, JoinTypeResult> = JoinTypeResult extends [ | ||
| infer JType extends JoinType, | ||
| infer AfterType extends string | ||
| ] ? NextToken<AfterType> extends ["JOIN", infer AfterJoin extends string] ? ExtractUntil<AfterJoin, "ON" | FromTerminators> extends [ | ||
| infer TablePart extends string, | ||
| infer OnPart extends string | ||
| ] ? StartsWith<OnPart, "ON"> extends true ? NextToken<OnPart> extends ["ON", infer ConditionPart extends string] ? ExtractUntil<ConditionPart, FromTerminators | "JOIN" | "INNER" | "LEFT" | "RIGHT" | "FULL" | "CROSS"> extends [ | ||
| ] ? StartsWith<OnPart, "ON"> extends true ? NextToken<OnPart> extends [ | ||
| "ON", | ||
| infer ConditionPart extends string | ||
| ] ? ExtractUntil<ConditionPart, FromTerminators | "JOIN" | "INNER" | "LEFT" | "RIGHT" | "FULL" | "CROSS"> extends [ | ||
| infer Condition extends string, | ||
@@ -833,3 +967,6 @@ infer Rest extends string | ||
| rest: ""; | ||
| } : NextToken<T> extends ["LIMIT", infer Rest extends string] ? NextToken<Rest> extends [infer Num extends string, infer Remaining extends string] ? { | ||
| } : NextToken<T> extends ["LIMIT", infer Rest extends string] ? NextToken<Rest> extends [ | ||
| infer Num extends string, | ||
| infer Remaining extends string | ||
| ] ? { | ||
| limit: ParseNumber<Num>; | ||
@@ -850,3 +987,6 @@ rest: Remaining; | ||
| rest: ""; | ||
| } : NextToken<T> extends ["OFFSET", infer Rest extends string] ? NextToken<Rest> extends [infer Num extends string, infer Remaining extends string] ? { | ||
| } : NextToken<T> extends ["OFFSET", infer Rest extends string] ? NextToken<Rest> extends [ | ||
| infer Num extends string, | ||
| infer Remaining extends string | ||
| ] ? { | ||
| offset: ParseNumber<Num>; | ||
@@ -865,3 +1005,2 @@ rest: Remaining; | ||
| type ParseNumber<T extends string> = T extends `${infer N extends number}` ? N : undefined; | ||
| export {}; | ||
| //# sourceMappingURL=parser.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/select/parser.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/select/parser.ts"],"names":[],"mappings":"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"} |
@@ -25,9 +25,9 @@ /** | ||
| */ | ||
| import type { SQLSelectQuery, SelectClause, ColumnRef, SubqueryExpr, UnionClause, UnionClauseAny, SelectItem } from "./ast.js"; | ||
| import type { TableColumnRef, UnboundColumnRef, TableWildcard, ComplexExpr, ValidatableColumnRef, TableRef, TableSource, DerivedTableRef, CTEDefinition, JoinClause, AggregateExpr, SubquerySelectClause, MapSQLTypeToTS, ParsedCondition, ColumnRefType, OrderByItem } from "../common/ast.js"; | ||
| import type { Flatten, MatchError, ParseError, HasTemplateHoles } from "../common/utils.js"; | ||
| import type { ColumnRef, SelectClause, SelectItem, SQLSelectQuery, SubqueryExpr, UnionClause, UnionClauseAny } from "./ast.js"; | ||
| import type { AggregateExpr, ColumnRefType, ComplexExpr, CTEDefinition, DerivedTableRef, JoinClause, MapSQLTypeToTS, OrderByItem, ParsedCondition, SubquerySelectClause, TableColumnRef, TableRef, TableSource, TableWildcard, UnboundColumnRef, ValidatableColumnRef } from "../common/ast.js"; | ||
| import type { DatabaseSchema, GetDefaultSchema } from "../common/schema.js"; | ||
| import type { Flatten, HasTemplateHoles, MatchError, ParseError } from "../common/utils.js"; | ||
| import type { ParseSelectSQL } from "./parser.js"; | ||
| export type { DatabaseSchema } from "../common/schema.js"; | ||
| export type { MatchError } from "../common/utils.js"; | ||
| export type { DatabaseSchema } from "../common/schema.js"; | ||
| /** | ||
@@ -87,3 +87,3 @@ * Options for controlling SELECT query validation depth | ||
| */ | ||
| export type ValidateSelectSQL<SQL extends string, Schema extends DatabaseSchema, Options extends ValidateSelectOptions = DefaultValidateOptions> = HasTemplateHoles<SQL> extends true ? true : ParseSelectSQL<SQL> extends infer Parsed ? Parsed extends ParseError<infer E> ? E : Parsed extends SQLSelectQuery<infer QueryContent> ? ValidateQueryContent<QueryContent, Schema, Options> : "Failed to parse query" : never; | ||
| export type ValidateSelectSQL<SQL extends string, Schema extends DatabaseSchema, Options extends ValidateSelectOptions = DefaultValidateOptions> = SQL extends SQL ? HasTemplateHoles<SQL> extends true ? true : ParseSelectSQL<SQL> extends infer Parsed ? Parsed extends ParseError<infer E> ? E : Parsed extends SQLSelectQuery<infer QueryContent> ? ValidateQueryContent<QueryContent, Schema, Options> : "Failed to parse query" : never : never; | ||
| /** | ||
@@ -110,3 +110,3 @@ * Validate the query content (SelectClause or UnionClause) | ||
| */ | ||
| type ValidateSelectClause<Select, Schema extends DatabaseSchema, Options extends ValidateSelectOptions = DefaultValidateOptions> = Select extends SelectClause<infer Columns, infer From, infer Joins, infer Where, infer GroupBy, infer Having, infer OrderBy, infer _Limit, infer _Offset, infer _Distinct, infer CTEs> ? BuildValidationContext<From, Joins, CTEs, Schema> extends infer Context ? Context extends MatchError<infer E> ? E : ValidateColumns<Columns, Context, Schema> extends infer ColResult ? ColResult extends true ? Options["validateAllFields"] extends false ? true : ValidateAllClauses<Joins, Where, GroupBy, Having, OrderBy, Context, Schema> : ColResult : "Column validation failed" : "Context building failed" : "Invalid SELECT clause"; | ||
| export type ValidateSelectClause<Select, Schema extends DatabaseSchema, Options extends ValidateSelectOptions = DefaultValidateOptions> = Select extends SelectClause<infer Columns, infer From, infer Joins, infer Where, infer GroupBy, infer Having, infer OrderBy, infer _Limit, infer _Offset, infer _Distinct, infer CTEs> ? BuildValidationContext<From, Joins, CTEs, Schema> extends infer Context ? Context extends MatchError<infer E> ? E : ValidateColumns<Columns, Context, Schema> extends infer ColResult ? ColResult extends true ? Options["validateAllFields"] extends false ? true : ValidateAllClauses<Joins, Where, GroupBy, Having, OrderBy, Context, Schema> : ColResult : "Column validation failed" : "Context building failed" : "Invalid SELECT clause"; | ||
| /** | ||
@@ -113,0 +113,0 @@ * Validate all clause field references (JOIN ON, WHERE, GROUP BY, HAVING, ORDER BY) |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/select/validator.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/select/validator.ts"],"names":[],"mappings":"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"} |
+3
-2
| { | ||
| "name": "@kuindji/sql-type-parser", | ||
| "version": "0.3.12", | ||
| "version": "0.4.0", | ||
| "description": "Type-level SQL parser for TypeScript", | ||
@@ -50,5 +50,6 @@ "author": "Ivan Kuindzhi", | ||
| "prepublishOnly": "npm run build", | ||
| "test": "tsc --noEmit" | ||
| "test": "tsc --noEmit && bun test tests/**/*.test.ts" | ||
| }, | ||
| "devDependencies": { | ||
| "@types/bun": "^1.3.3", | ||
| "typescript": "^5.0.0" | ||
@@ -55,0 +56,0 @@ }, |
+85
-20
| # Type-Level SQL Parser | ||
| > 🎵 _Vibe-coded with Claude Opus 4.5_ | ||
| > 🎵 _Generated with Claude Opus 4.5 and GPT 5.1_ | ||
| > | ||
@@ -9,7 +9,15 @@ > 🙏 _Inspired by and built upon [telefrek/sql](https://github.com/telefrek/sql) - a TypeScript SQL parsing series_ | ||
| - **Compile-time SQL parsing**: Parse SQL queries entirely within TypeScript's type system | ||
| - **Type-safe result inference**: Automatically infer result types from SQL queries | ||
| - **Query validation**: Catch SQL errors at compile time, not runtime | ||
| - **Zero runtime overhead**: Pure type-level operations with no runtime code | ||
| - **Compile-time SQL parsing**: Parse SQL queries entirely within TypeScript's type system. | ||
| - **Type-safe result inference**: Automatically infer result types from SQL queries. | ||
| - **Lightweight query validation**: Catch obvious schema mistakes (missing tables/columns) at compile time. | ||
| - **Optional runtime helpers**: Build SQL with a small SELECT query builder and DB helpers, while keeping types in sync. | ||
| ### Design goals | ||
| This library is intentionally pragmatic: | ||
| - **Focus on result shapes**: The primary goal is to understand what rows your query returns. | ||
| - **Schema-aware names**: Where possible, it checks that table and column names exist in your schema. | ||
| - **Not a full SQL implementation**: It does not aim to completely validate SQL syntax or every dialect feature; many complex expressions are treated as opaque strings. | ||
| ## Installation | ||
@@ -25,3 +33,3 @@ | ||
| ```typescript | ||
| ```ts | ||
| type MySchema = { | ||
@@ -54,3 +62,3 @@ defaultSchema: "public"; | ||
| ```typescript | ||
| ```ts | ||
| import type { QueryResult } from "@kuindji/sql-type-parser"; | ||
@@ -62,4 +70,4 @@ | ||
| type JoinResult = QueryResult< | ||
| `SELECT u.name, o.total | ||
| FROM users AS u | ||
| `SELECT u.name, o.total | ||
| FROM users AS u | ||
| INNER JOIN orders AS o ON u.id = o.user_id`, | ||
@@ -71,2 +79,53 @@ MySchema | ||
| ### `SelectQueryBuilder` and `createSelectQuery` | ||
| If you prefer to build queries fluently instead of writing raw strings, you can use the SELECT query builder. It assembles an SQL string at runtime and keeps a schema-aware row type at compile time. | ||
| ```ts | ||
| import { createSelectQuery } from "@kuindji/sql-type-parser"; | ||
| import type { BuilderReturnType, BuilderSQL } from "@kuindji/sql-type-parser"; | ||
| import type { ECommerceSchema } from "./schema"; | ||
| const ActiveUsers = createSelectQuery<ECommerceSchema>() | ||
| .select([ "id", "email" ]) | ||
| .from("users") | ||
| .where("is_active = TRUE"); | ||
| type ActiveUsersSQL = BuilderSQL<typeof ActiveUsers>; | ||
| // "SELECT id, email FROM users WHERE is_active = TRUE" | ||
| type ActiveUsersRow = BuilderReturnType<typeof ActiveUsers>; | ||
| // { id: number; email: string } | ||
| const sql = ActiveUsers.toString(); // runtime SQL string | ||
| ``` | ||
| The builder: | ||
| - **Respects your schema** when selecting columns, so the inferred row type matches your tables. | ||
| - **Treats most WHERE/JOIN fragments as opaque strings**: it does shallow checks for table and column names where it can, but it does not try to fully parse every expression. | ||
| - **Is designed for "typed query building"**, not as a strict SQL linter. | ||
| See `examples/select` for more complete builder and DB integration examples. | ||
| ### `createSelectFn<Schema>` | ||
| To plug this library into your existing database client, you can wrap it with `createSelectFn`. You pass in a function that actually executes SQL, and you get back a `select` function that is typed from your schema and queries. | ||
| ```ts | ||
| import { createSelectFn } from "@kuindji/sql-type-parser"; | ||
| type Schema = MySchema; | ||
| const select = createSelectFn<Schema>((sql, params) => | ||
| pool.query(sql, params).then(result => result.rows) | ||
| ); | ||
| // Query string is checked against Schema and result is inferred | ||
| const users = await select("SELECT id, name FROM users WHERE id = $1", [ 1 ]); | ||
| // users: Array<{ id: number; name: string }> | ||
| ``` | ||
| The returned function can also accept a `SelectQueryBuilder` instead of a raw string, so you can build queries fluently and still run them through your normal DB interface. | ||
| ### `ValidateSQL<SQL, Schema>` | ||
@@ -76,3 +135,3 @@ | ||
| ```typescript | ||
| ```ts | ||
| import type { ValidateSQL } from "@kuindji/sql-type-parser"; | ||
@@ -87,2 +146,4 @@ | ||
| Validation is intentionally shallow: it focuses on tables and columns that can be resolved from your schema, and does not guarantee that every possible SQL construct is valid for your database. | ||
| ### `InsertResult<SQL, Schema>` | ||
@@ -92,3 +153,3 @@ | ||
| ```typescript | ||
| ```ts | ||
| import type { InsertResult } from "@kuindji/sql-type-parser"; | ||
@@ -107,3 +168,3 @@ | ||
| ```typescript | ||
| ```ts | ||
| import type { UpdateResult } from "@kuindji/sql-type-parser"; | ||
@@ -122,3 +183,3 @@ | ||
| ```typescript | ||
| ```ts | ||
| import type { DeleteResult } from "@kuindji/sql-type-parser"; | ||
@@ -137,3 +198,3 @@ | ||
| ```typescript | ||
| ```ts | ||
| import type { ParseSQL, SQLSelectQuery } from "@kuindji/sql-type-parser"; | ||
@@ -147,3 +208,3 @@ | ||
| The parser handles SELECT, INSERT, UPDATE, and DELETE queries with: | ||
| The parser understands a wide range of common SELECT, INSERT, UPDATE, and DELETE queries, including: | ||
@@ -155,14 +216,18 @@ - JOINs (INNER, LEFT, RIGHT, FULL, CROSS) | ||
| - UNION, INTERSECT, EXCEPT | ||
| - PostgreSQL syntax (JSON operators, type casting, arrays) | ||
| - MySQL syntax (backtick quotes, specific functions) | ||
| - A mix of PostgreSQL and MySQL style syntax where practical | ||
| See [SPECIFICATION.md](./SPECIFICATION.md) for full details. | ||
| Support is geared toward typical application queries and type inference rather than exhaustively modelling every dialect and edge case. | ||
| ## Limitations | ||
| - TypeScript's recursion limits may be hit with very complex queries | ||
| - Quoted identifiers with spaces not supported: use `"user-id"` not `"user id"` | ||
| - **Not a full SQL engine**: some syntactically invalid queries may still type-check if table and column names look reasonable. | ||
| - **Expression coverage is intentionally shallow**: complex expressions, vendor-specific functions or casts are often treated as opaque and may infer as `unknown` or `string`. | ||
| - **Schema-driven checks**: if a table or column is missing from your TypeScript schema, the library cannot warn about it. | ||
| - **TypeScript recursion limits** may be hit with very complex queries. | ||
| - **Quoted identifiers with spaces are not supported**: use `"user-id"` instead of `"user id"`. | ||
| The intent is to give you useful feedback about **result types** and **schema usage**, not to be a perfect replacement for your database’s own SQL validator. | ||
| ## License | ||
| MIT |
820630
18.28%147
5.76%8151
20.86%221
41.67%2
100%