@kuindji/typed-sql 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +11 -3
  2. package/dist/columns.d.ts +11 -3
  3. package/dist/columns.d.ts.map +1 -1
  4. package/dist/expressions.d.ts +73 -8
  5. package/dist/expressions.d.ts.map +1 -1
  6. package/dist/parsing/extract.d.ts +13 -9
  7. package/dist/parsing/extract.d.ts.map +1 -1
  8. package/dist/parsing/normalize.d.ts +3 -1
  9. package/dist/parsing/normalize.d.ts.map +1 -1
  10. package/dist/parsing/pg-literals.d.ts +10 -2
  11. package/dist/parsing/pg-literals.d.ts.map +1 -1
  12. package/dist/parsing/split.d.ts +27 -3
  13. package/dist/parsing/split.d.ts.map +1 -1
  14. package/dist/parsing/string-utils.d.ts +2 -4
  15. package/dist/parsing/string-utils.d.ts.map +1 -1
  16. package/dist/parsing/tokenize.d.ts +27 -17
  17. package/dist/parsing/tokenize.d.ts.map +1 -1
  18. package/dist/partial.d.ts +6 -6
  19. package/dist/partial.d.ts.map +1 -1
  20. package/dist/tables.d.ts +58 -13
  21. package/dist/tables.d.ts.map +1 -1
  22. package/dist/validation/dispatch.d.ts +7 -5
  23. package/dist/validation/dispatch.d.ts.map +1 -1
  24. package/dist/validation/joins.d.ts +3 -3
  25. package/dist/validation/joins.d.ts.map +1 -1
  26. package/dist/validation/validate-columns.d.ts +14 -14
  27. package/dist/validation/validate-columns.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/columns.ts +168 -32
  30. package/src/expressions.ts +550 -57
  31. package/src/parsing/extract.ts +72 -32
  32. package/src/parsing/normalize.ts +54 -8
  33. package/src/parsing/pg-literals.ts +32 -10
  34. package/src/parsing/split.ts +236 -72
  35. package/src/parsing/string-utils.ts +15 -15
  36. package/src/parsing/tokenize.ts +224 -146
  37. package/src/partial.ts +9 -15
  38. package/src/tables.ts +546 -214
  39. package/src/validation/dispatch.ts +58 -52
  40. package/src/validation/joins.ts +15 -19
  41. package/src/validation/validate-columns.ts +54 -64
package/README.md CHANGED
@@ -151,9 +151,17 @@ A few deliberate behaviors you'll observe when using the library:
151
151
 
152
152
  - **Ambiguous expressions type as `unknown`.** The inferrer types an expression
153
153
  only when its type is unambiguous — `CASE` and unmodeled functions are
154
- `unknown` rather than a guess. `||` (string concat) → `string`. An unaliased
155
- function/aggregate projection is named after the function (`count(*)`
156
- `{ count: number }`); an unaliased `CASE` is named `case`.
154
+ `unknown` rather than a guess. `||` (string concat) → `string`. `extract(…)`
155
+ `number` (`number | null` when its source may be NULL). Top-level
156
+ arithmetic `A op B` (`+`, `-`, `*`, `/`, `%`) `number` when **both**
157
+ operands type `number` (`| null` propagates from either side — SQL NULL
158
+ arithmetic is NULL, and an operand from the nullable side of an outer join
159
+ counts as nullable); operands can be columns, literals, function calls, or
160
+ parenthesized arithmetic, and chains recurse (`a + b * 2`,
161
+ `sum(price) / count(id)`). Anything else — a non-number operand, unary
162
+ minus, unmodeled operators like `<<` or single `|` — stays `unknown`. An
163
+ unaliased function/aggregate projection is named after the function
164
+ (`count(*)` → `{ count: number }`); an unaliased `CASE` is named `case`.
157
165
  - **Projected literals widen to their base type** — `select 'GBP' as cur` →
158
166
  `{ cur: string }`, `select 42 as n` → `{ n: number }`, not `{ cur: "GBP" }` /
159
167
  `{ n: 42 }`. Locked literal types reject every other value in mutable
package/dist/columns.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { DatabaseSchema, ColumnExists, ColumnExistsInAnyTable, ResolveColumnName, TableExists } from "./schema.js";
2
2
  import type { AliasesInQuery, IsAliasName, TableKeyFromToken, TableKeyValid, TablesInQuery } from "./tables.js";
3
- import type { CanPrecedeColumn, CleanExpr, CleanIdent, HasSpecial, IsParamPlaceholder, IsQualifiedRefCandidate, IsRuntimeStringFragment, IsSqlConstant, OperatorToken, ReplaceAll, SqlReserved, SplitOnDotClean } from "./parsing.js";
3
+ import type { CanPrecedeColumn, CleanExpr, CleanIdent, CleanLooseToken, DQuoteSpaceSentinel, HasSpecial, IsParamPlaceholder, IsQualifiedRefCandidate, IsRuntimeStringFragment, IsSqlConstant, LooseScanView, OperatorToken, ReplaceAll, SqlReserved, SplitOnDotClean } from "./parsing.js";
4
4
  import type { IsNever } from "./utils.js";
5
5
  export type ColumnRef<TableKey extends string, Column extends string> = {
6
6
  tableKey: TableKey;
@@ -20,8 +20,15 @@ export type ColumnRefValidWith<ColRef extends string, Tables extends string, Ali
20
20
  export type ColumnRefValidLoose<ColRef extends string, N extends string, S extends DatabaseSchema> = TablesInQuery<N, S> extends infer Tables extends string ? AliasesInQuery<N, S> extends infer Aliases extends string ? ColumnRefValidLooseWith<ColRef, Tables, Aliases, S> : ColumnRefValid<ColRef, N, S> : ColumnRefValid<ColRef, N, S>;
21
21
  export type ColumnRefValidLooseWith<ColRef extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = IsNever<Tables> extends true ? ColumnRefValidNoTables<ColRef, S> : ColumnRefValidWith<ColRef, Tables, Aliases, S>;
22
22
  export type ColumnRefValidNoTables<ColRef extends string, S extends DatabaseSchema> = SplitOnDotClean<ColRef> extends [infer A extends string, infer B extends string, infer C extends string] ? TableExists<S, A, B> extends true ? ColumnExists<`${A}.${B}`, C, S> : false : SplitOnDotClean<ColRef> extends [infer A extends string, infer B extends string] ? TableExists<S, S["defaultSchema"], A> extends true ? ColumnExists<`${S["defaultSchema"]}.${A}`, B, S> : ColumnExistsInAnyTable<B, S> : ColumnExistsInAnyTable<CleanIdent<ColRef>, S>;
23
- export type QualifiedColumnRefs<Tokens extends string[], S extends DatabaseSchema, Tables extends string, Aliases extends string, Acc extends string = never, Prev extends string = "", Steps extends any[] = []> = Steps["length"] extends 900 ? Acc : Tokens extends [infer T extends string, ...infer Rest extends string[]] ? T extends `${string}.${string}` ? Prev extends "from" | "join" | "update" | "into" | "delete" ? QualifiedColumnRefs<Rest, S, Tables, Aliases, Acc, T, [any, ...Steps]> : IsQualifiedRefCandidate<T> extends true ? QualifiedColumnRefs<Rest, S, Tables, Aliases, Acc | T, T, [any, ...Steps]> : QualifiedColumnRefs<Rest, S, Tables, Aliases, Acc, T, [any, ...Steps]> : QualifiedColumnRefs<Rest, S, Tables, Aliases, Acc, T, [any, ...Steps]> : Acc;
24
- export type UnqualifiedColumnRefs<Tokens extends string[], S extends DatabaseSchema, Tables extends string, Aliases extends string, Acc extends string = never, Prev extends string = "", Steps extends any[] = []> = Steps["length"] extends 900 ? Acc : Tokens extends [infer T extends string, infer Next extends string, ...infer Rest extends string[]] ? IsUnqualifiedColumnCandidate<T, Prev, Next, Tables, Aliases, S> extends true ? UnqualifiedColumnRefs<[Next, ...Rest], S, Tables, Aliases, Acc | T, T, [any, ...Steps]> : UnqualifiedColumnRefs<[Next, ...Rest], S, Tables, Aliases, Acc, T, [any, ...Steps]> : Tokens extends [infer T extends string] ? IsUnqualifiedColumnCandidate<T, Prev, "", Tables, Aliases, S> extends true ? Acc | T : Acc : Acc;
23
+ export type QualifiedRefScan<Seg extends string> = LooseScanView<Seg> extends infer V extends string ? QrsWalk<V> : never;
24
+ type QrsWalk<V extends string, Acc extends string = never, Prev extends string = "", PrevRaw extends string = "", Kept extends any[] = [], Steps extends any[] = []> = Steps["length"] extends 2000 ? QrsLast<V, Acc, Prev> : Kept["length"] extends 900 ? Acc : V extends `${infer H} ${infer R}` ? CleanLooseToken<ReplaceAll<H, DQuoteSpaceSentinel, " ">> extends infer M extends string ? M extends "" ? QrsWalk<R, Acc, Prev, PrevRaw, Kept, [any, ...Steps]> : M extends "from" ? PrevRaw extends "distinct" ? QrsWalk<R, Acc, Prev, "from", Kept, [any, ...Steps]> : QrsWalk<R, Acc, "from", "from", [any, ...Kept], [any, ...Steps]> : M extends `${string}.${string}` ? Prev extends "from" | "join" | "update" | "into" | "delete" ? QrsWalk<R, Acc, M, M, [any, ...Kept], [any, ...Steps]> : IsQualifiedRefCandidate<M> extends true ? QrsWalk<R, Acc | M, M, M, [any, ...Kept], [any, ...Steps]> : QrsWalk<R, Acc, M, M, [any, ...Kept], [any, ...Steps]> : QrsWalk<R, Acc, M, M, [any, ...Kept], [any, ...Steps]> : never : QrsLast<V, Acc, Prev>;
25
+ type QrsLast<H extends string, Acc extends string, Prev extends string> = CleanLooseToken<ReplaceAll<H, DQuoteSpaceSentinel, " ">> extends infer M extends string ? M extends `${string}.${string}` ? Prev extends "from" | "join" | "update" | "into" | "delete" ? Acc : IsQualifiedRefCandidate<M> extends true ? Acc | M : Acc : Acc : never;
26
+ export type UnqualifiedRefScan<Seg extends string, S extends DatabaseSchema, Tables extends string, Aliases extends string> = LooseScanView<Seg> extends infer V extends string ? UrsWalk<V, S, Tables, Aliases> : never;
27
+ type UrsWalk<V extends string, S extends DatabaseSchema, Tables extends string, Aliases extends string, Acc extends string = never, PrevPrev extends string = "", Pend extends string = "", PrevRaw extends string = "", Kept extends any[] = [], Steps extends any[] = []> = Steps["length"] extends 2000 ? UrsLast<V, S, Tables, Aliases, Acc, PrevPrev, Pend, PrevRaw> : Kept["length"] extends 900 ? Acc : V extends `${infer H} ${infer R}` ? CleanLooseToken<ReplaceAll<H, DQuoteSpaceSentinel, " ">> extends infer M extends string ? M extends "" ? UrsWalk<R, S, Tables, Aliases, Acc, PrevPrev, Pend, PrevRaw, Kept, [any, ...Steps]> : M extends "from" ? PrevRaw extends "distinct" ? UrsWalk<R, S, Tables, Aliases, Acc, PrevPrev, Pend, "from", Kept, [any, ...Steps]> : UrsShift<R, S, Tables, Aliases, Acc, PrevPrev, Pend, M, Kept, Steps> : UrsShift<R, S, Tables, Aliases, Acc, PrevPrev, Pend, M, Kept, Steps> : never : UrsLast<V, S, Tables, Aliases, Acc, PrevPrev, Pend, PrevRaw>;
28
+ type UrsShift<R extends string, S extends DatabaseSchema, Tables extends string, Aliases extends string, Acc extends string, PrevPrev extends string, Pend extends string, M extends string, Kept extends any[], Steps extends any[]> = IsUnqualifiedColumnCandidate<Pend, PrevPrev, M, Tables, Aliases, S> extends true ? UrsWalk<R, S, Tables, Aliases, Acc | Pend, Pend, M, M, [any, ...Kept], [any, ...Steps]> : UrsWalk<R, S, Tables, Aliases, Acc, Pend, M, M, [any, ...Kept], [any, ...Steps]>;
29
+ type UrsLast<H extends string, S extends DatabaseSchema, Tables extends string, Aliases extends string, Acc extends string, PrevPrev extends string, Pend extends string, PrevRaw extends string> = CleanLooseToken<ReplaceAll<H, DQuoteSpaceSentinel, " ">> extends infer M extends string ? M extends "" ? UrsEnd<S, Tables, Aliases, Acc, PrevPrev, Pend> : M extends "from" ? PrevRaw extends "distinct" ? UrsEnd<S, Tables, Aliases, Acc, PrevPrev, Pend> : UrsLast2<S, Tables, Aliases, Acc, PrevPrev, Pend, M> : UrsLast2<S, Tables, Aliases, Acc, PrevPrev, Pend, M> : never;
30
+ type UrsLast2<S extends DatabaseSchema, Tables extends string, Aliases extends string, Acc extends string, PrevPrev extends string, Pend extends string, M extends string> = IsUnqualifiedColumnCandidate<Pend, PrevPrev, M, Tables, Aliases, S> extends true ? UrsEnd<S, Tables, Aliases, Acc | Pend, Pend, M> : UrsEnd<S, Tables, Aliases, Acc, Pend, M>;
31
+ type UrsEnd<S extends DatabaseSchema, Tables extends string, Aliases extends string, Acc extends string, PrevPrev extends string, Pend extends string> = IsUnqualifiedColumnCandidate<Pend, PrevPrev, "", Tables, Aliases, S> extends true ? Acc | Pend : Acc;
25
32
  export type UnqualifiedColumnValid<Col extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = IsNever<Tables> extends true ? ColumnExistsInAnyTable<CleanIdent<Col>, S> : [ResolveTableKeyForUnqualified<Tables, Aliases, S, CleanIdent<Col>>] extends [never] ? false : true;
26
33
  export type IsUnqualifiedColumnCandidate<Token extends string, Prev extends string, Next extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = Token extends "" ? false : IsRuntimeStringFragment<Token> extends true ? false : Token extends OperatorToken ? false : Token extends `${string}.${string}` ? false : Token extends `'${string}'` ? false : Token extends `${string}'${string}` ? false : Token extends `${number}` ? false : IsParamPlaceholder<Token> extends true ? false : IsSqlConstant<Token> extends true ? false : HasSpecial<Token> extends true ? false : CleanIdent<Token> extends SqlReserved ? false : IsAliasName<Token, Aliases> extends true ? false : Prev extends "as" ? false : Prev extends "from" | "join" | "update" | "into" | "delete" ? false : Next extends "(" ? false : Next extends `'${string}` ? false : Prev extends "," ? (IsTableName<Token, S> extends true ? false : CanPrecedeColumn<Prev>) : IsNever<Tables> extends true ? IsTableName<Token, S> extends true ? false : CanPrecedeColumn<Prev> : CanPrecedeColumn<Prev>;
27
34
  export type IsTableName<Token extends string, S extends DatabaseSchema> = TableKeyFromToken<Token, S> extends infer TableKey extends string ? TableKeyValid<TableKey, S> : false;
@@ -30,4 +37,5 @@ export type ResolveTableKeyForUnqualified<Tables extends string, Aliases extends
30
37
  export type ResolveAlias<Name extends string, Aliases extends string> = Aliases extends `${infer A}=>${infer T}` ? A extends Name ? T : never : never;
31
38
  export type TableKeysByName<Name extends string, Tables extends string> = Tables extends `${infer Schema}.${infer Table}` ? Table extends Name ? `${Schema}.${Table}` : never : never;
32
39
  export type TablesWithColumn<Tables extends string, Column extends string, S extends DatabaseSchema> = Tables extends `${infer Schema}.${infer Table}` ? ColumnExists<`${Schema}.${Table}`, Column, S> extends true ? `${Schema}.${Table}` : never : never;
40
+ export {};
33
41
  //# sourceMappingURL=columns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { DatabaseSchema, ColumnTypeFromTableKey, RowTypeForTable, RowTypeForTables } from "./schema.js";
2
- import type { ColumnRef, ColumnRefValidLooseWith, ParseColumnRef, QualifiedColumnRefs, ResolveTableKey, UnqualifiedColumnRefs, UnqualifiedColumnValid } from "./columns.js";
2
+ import type { ColumnRef, ColumnRefValidLooseWith, ParseColumnRef, QualifiedRefScan, ResolveTableKey, UnqualifiedRefScan, UnqualifiedColumnValid } from "./columns.js";
3
3
  import type { AliasesInQuery, TablesInQuery } from "./tables.js";
4
- import type { CleanExpr, CleanIdent, ExtractAlias, ExtractAliasResult, ExtractBefore, ExtractBeforeFromTopLevel, IsIdentifier, IsParamPlaceholder, IsRuntimeStringFragment, IsSqlConstant, SqlConstantType, SplitBalancedParen, SplitTopLevel, TokenizeLoose, Trim } from "./parsing.js";
4
+ import type { CleanExpr, CleanIdent, ExtractAlias, ExtractAliasResult, ExtractBefore, ExtractBeforeFromTopLevel, IsIdentifier, IsParamPlaceholder, IsRuntimeStringFragment, IsSqlConstant, SqlConstantType, SplitBalancedParen, SplitTopLevel, Trim } from "./parsing.js";
5
5
  import type { AllTrue } from "./utils.js";
6
6
  export type IsIgnorableRuntimeExpr<E extends string> = IsRuntimeStringFragment<E> extends true ? true : [E] extends [" "] ? true : false;
7
7
  export type ExprToObject<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Nullable extends string = never> = IsIgnorableRuntimeExpr<E> extends true ? {} : ExtractAliasResult<E> extends {
@@ -22,7 +22,13 @@ export type ApplyJoinNull<T, E extends string, Nullable extends string> = [
22
22
  ] extends [never] ? T : RefQualifier<E> extends infer Q extends string ? [Q] extends [never] ? T : Q extends Nullable ? T | null : T : T;
23
23
  export type RefQualifier<E extends string> = StripOuterCast<E> extends infer Inner extends string ? CleanExpr<Inner> extends `${infer Q}.${string}` ? CleanIdent<Q> : never : never;
24
24
  export type StripOuterCast<E extends string> = CleanExpr<E> extends `${infer Inner}::${string}` ? Inner : CleanExpr<E> extends `cast(${infer Inner} as ${string})` ? Inner : CleanExpr<E> extends `cast (${infer Inner} as ${string})` ? Inner : E;
25
- export type ApplyProjectionNull<T, E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Nullable extends string> = CleanExpr<StripOuterCast<E>> extends `coalesce(${infer Args})` ? CoalesceAllArgsNullable<SplitTopLevel<Args>, Tables, Aliases, S, Nullable> extends true ? T | null : T : ApplyJoinNull<T, E, Nullable>;
25
+ export type ApplyProjectionNull<T, E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Nullable extends string> = CleanExpr<StripOuterCast<E>> extends `coalesce(${infer Args})` ? CoalesceAllArgsNullable<SplitTopLevel<Args>, Tables, Aliases, S, Nullable> extends true ? T | null : T : [Nullable] extends [never] ? T : [T] extends [never] ? ApplyJoinNull<T, E, Nullable> : [T] extends [number | null] ? E extends `${string}${"+" | "-" | "*" | "/" | "%"}${string}` ? ArithRefJoinNullable<E, Tables, Aliases, S, Nullable> extends true ? T | null : ApplyJoinNull<T, E, Nullable> : ApplyJoinNull<T, E, Nullable> : ApplyJoinNull<T, E, Nullable>;
26
+ type ArithRefJoinNullable<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Nullable extends string, Steps extends any[] = []> = Steps["length"] extends 8 ? false : UnwrapRedundantParens<Trim<E>> extends infer SC extends string ? SC extends `${string}${"+" | "-" | "*" | "/" | "%"}${string}` ? SplitTopLevelOp<SC> extends infer SR ? [SR] extends [never] ? ArithOperandJoinNullable<SC, Tables, Aliases, S, Nullable> : SR extends {
27
+ __op: [infer L extends string, infer Op extends string, infer R extends string];
28
+ } ? Op extends "||" ? false : ArithRefJoinNullable<Trim<L>, Tables, Aliases, S, Nullable, [any, ...Steps]> extends true ? true : ArithRefJoinNullable<Trim<R>, Tables, Aliases, S, Nullable, [any, ...Steps]> : ArithOperandJoinNullable<SC, Tables, Aliases, S, Nullable> : false : ArithOperandJoinNullable<SC, Tables, Aliases, S, Nullable> : false;
29
+ type ArithOperandJoinNullable<SC extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Nullable extends string> = CleanExpr<StripOuterCast<SC>> extends `coalesce(${infer Args})` ? CoalesceAllArgsNullable<SplitTopLevel<Args>, Tables, Aliases, S, Nullable> : SC extends `${string}(${string}` ? NullableQualRefIn<SC, Nullable> : RefQualifier<SC> extends infer Q extends string ? [Q] extends [never] ? false : Q extends Nullable ? true : false : false;
30
+ type NullableQualRefIn<E extends string, Nullable extends string> = true extends (Nullable extends string ? QualRefIn<E, Nullable> : never) ? true : false;
31
+ type QualRefIn<E extends string, Q extends string> = E extends `${Q}.${string}` ? true : E extends `${string}${" " | "(" | "," | "+" | "-" | "*" | "/" | "%"}${Q}.${string}` ? true : false;
26
32
  export type CoalesceAllArgsNullable<Args extends string[], Tables extends string, Aliases extends string, S extends DatabaseSchema, Nullable extends string, Steps extends any[] = []> = Steps["length"] extends 30 ? true : Args extends [infer H extends string, ...infer Rest extends string[]] ? CoalesceArgNullable<H, Tables, Aliases, S, Nullable> extends true ? CoalesceAllArgsNullable<Rest, Tables, Aliases, S, Nullable, [any, ...Steps]> : false : true;
27
33
  export type CoalesceArgNullable<Arg extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Nullable extends string> = RefQualifier<Arg> extends infer Q extends string ? [Q] extends [never] ? null extends ExprType<Arg, Tables, Aliases, S> ? true : false : Q extends Nullable ? true : null extends ExprType<Arg, Tables, Aliases, S> ? true : false : null extends ExprType<Arg, Tables, Aliases, S> ? true : false;
28
34
  export type MaybeNullableRow<Row, Qualifier extends string, Nullable extends string> = [
@@ -34,16 +40,75 @@ export type ExprKey<E extends string, Tables extends string, Aliases extends str
34
40
  export type ColumnKeyFromExpr<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = ParseColumnRef<CleanExpr<E>, Tables, Aliases, S> extends infer Ref ? Ref extends ColumnRef<any, any> ? Ref["column"] : never : never;
35
41
  export type FunctionKeyFromExpr<E extends string> = CleanExpr<E> extends `case ${string}` ? "case" : CleanExpr<E> extends `${infer Func}(${string}` ? CleanIdent<Func> : CleanExpr<E> extends `${infer Func} (${string}` ? CleanIdent<Func> : never;
36
42
  export type IsBoolExpr<CE extends string> = CE extends `case ${string}` ? false : CE extends `${string}${"<" | ">" | "=" | "!"}${string}` ? HasTopLevelCompare<CE> : false;
37
- export type HasTopLevelCompare<S extends string, Depth extends any[] = [], Steps extends any[] = [], InQ extends boolean = false, InDQ extends boolean = false> = Steps["length"] extends 400 ? false : S extends `${infer C}${infer Rest}` ? InQ extends true ? HasTopLevelCompare<Rest, Depth, [any, ...Steps], C extends "'" ? false : true, InDQ> : InDQ extends true ? HasTopLevelCompare<Rest, Depth, [any, ...Steps], InQ, C extends `"` ? false : true> : C extends "'" ? HasTopLevelCompare<Rest, Depth, [any, ...Steps], true, InDQ> : C extends `"` ? HasTopLevelCompare<Rest, Depth, [any, ...Steps], InQ, true> : C extends "(" ? HasTopLevelCompare<Rest, [any, ...Depth], [any, ...Steps], InQ, InDQ> : C extends ")" ? HasTopLevelCompare<Rest, Depth extends [any, ...infer D] ? D : [], [any, ...Steps], InQ, InDQ> : Depth["length"] extends 0 ? S extends `->>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `->${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `#>>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `#>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `@>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `<@${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `::${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `<<${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : S extends `>>${infer R}` ? HasTopLevelCompare<R, Depth, [any, ...Steps], InQ, InDQ> : C extends "<" | ">" | "=" | "!" ? true : HasTopLevelCompare<Rest, Depth, [any, ...Steps], InQ, InDQ> : HasTopLevelCompare<Rest, Depth, [any, ...Steps], InQ, InDQ> : false;
43
+ export type HasTopLevelCompare<S extends string> = HtcJump<S, [], []>;
44
+ type HtcJump<S extends string, Depth extends any[], Steps extends any[]> = Steps["length"] extends 400 ? false : S extends `${infer P}'${infer R}` ? P extends `${string}"${string}` | `${string}(${string}` | `${string})${string}` ? HtcJump2<S, Depth, Steps> : HtcRunCheck<P, Depth> extends true ? true : R extends `${string}'${infer R2}` ? HtcJump<R2, Depth, [any, ...Steps]> : false : HtcJump2<S, Depth, Steps>;
45
+ type HtcJump2<S extends string, Depth extends any[], Steps extends any[]> = S extends `${infer P}"${infer R}` ? P extends `${string}(${string}` | `${string})${string}` ? HtcJump3<S, Depth, Steps> : HtcRunCheck<P, Depth> extends true ? true : R extends `${string}"${infer R2}` ? HtcJump<R2, Depth, [any, ...Steps]> : false : HtcJump3<S, Depth, Steps>;
46
+ type HtcJump3<S extends string, Depth extends any[], Steps extends any[]> = S extends `${infer P}(${infer R}` ? P extends `${string})${string}` ? HtcJump4<S, Depth, Steps> : HtcRunCheck<P, Depth> extends true ? true : HtcJump<R, [any, ...Depth], [any, ...Steps]> : HtcJump4<S, Depth, Steps>;
47
+ type HtcJump4<S extends string, Depth extends any[], Steps extends any[]> = S extends `${infer P})${infer R}` ? HtcRunCheck<P, Depth> extends true ? true : HtcJump<R, Depth extends [any, ...infer D] ? D : [], [any, ...Steps]> : HtcRunCheck<S, Depth>;
48
+ type HtcRunCheck<P extends string, Depth extends any[]> = Depth["length"] extends 0 ? P extends `${string}${"=" | "!"}${string}` ? true : P extends `${string}${"<" | ">"}${string}` ? HtcRunScan<P> : false : false;
49
+ type HtcRunScan<R extends string, Steps extends any[] = []> = Steps["length"] extends 50 ? false : R extends `${infer A}<${infer B}` ? A extends `${string}>${string}` ? HtcRunGt<R, Steps> : B extends `@${infer B2}` ? HtcRunScan<B2, [any, ...Steps]> : B extends `<${infer B2}` ? HtcRunScan<B2, [any, ...Steps]> : true : HtcRunGt<R, Steps>;
50
+ type HtcRunGt<R extends string, Steps extends any[]> = R extends `${infer A}>${infer B}` ? A extends `${string}${"-" | "#" | "@"}` ? B extends `>${infer B2}` ? HtcRunScan<B2, [any, ...Steps]> : HtcRunScan<B, [any, ...Steps]> : B extends `>${infer B2}` ? HtcRunScan<B2, [any, ...Steps]> : true : false;
51
+ type SplitTopLevelOp<S extends string> = StoDrive<StoWorker<S>>;
52
+ type StoDrive<R> = [
53
+ R
54
+ ] extends [never] ? never : R extends {
55
+ __c: [infer S2 extends string, infer D extends any[], infer A extends string];
56
+ } ? StoDrive<StoWorker<S2, D, A, []>> : R;
57
+ type StoWorker<S extends string, Depth extends any[] = [], Acc extends string = "", Steps extends any[] = []> = Steps["length"] extends 80 ? {
58
+ __c: [S, Depth, Acc];
59
+ } : StoJump1<S, Depth, Acc, Steps>;
60
+ type StoRunGate<P extends string, Depth extends any[], Acc extends string, Tail extends string> = Depth["length"] extends 0 ? StoRunScan<P, Acc, Tail> : never;
61
+ type StoJump1<S extends string, Depth extends any[], Acc extends string, Steps extends any[]> = S extends `${infer P}'${infer R}` ? P extends `${string}"${string}` | `${string}(${string}` | `${string})${string}` ? StoJump2<S, Depth, Acc, Steps> : StoRunGate<P, Depth, Acc, `'${R}`> extends infer RR ? [RR] extends [never] ? R extends `${infer Span}'${infer R2}` ? StoWorker<R2, Depth, `${Acc}${P}'${Span}'`, [any, ...Steps]> : never : RR : never : StoJump2<S, Depth, Acc, Steps>;
62
+ type StoJump2<S extends string, Depth extends any[], Acc extends string, Steps extends any[]> = S extends `${infer P}"${infer R}` ? P extends `${string}(${string}` | `${string})${string}` ? StoJump3<S, Depth, Acc, Steps> : StoRunGate<P, Depth, Acc, `"${R}`> extends infer RR ? [RR] extends [never] ? R extends `${infer Span}"${infer R2}` ? StoWorker<R2, Depth, `${Acc}${P}"${Span}"`, [any, ...Steps]> : never : RR : never : StoJump3<S, Depth, Acc, Steps>;
63
+ type StoJump3<S extends string, Depth extends any[], Acc extends string, Steps extends any[]> = S extends `${infer P}(${infer R}` ? P extends `${string})${string}` ? StoJump4<S, Depth, Acc, Steps> : StoRunGate<P, Depth, Acc, `(${R}`> extends infer RR ? [RR] extends [never] ? StoWorker<R, [any, ...Depth], `${Acc}${P}(`, [any, ...Steps]> : RR : never : StoJump4<S, Depth, Acc, Steps>;
64
+ type StoJump4<S extends string, Depth extends any[], Acc extends string, Steps extends any[]> = S extends `${infer P})${infer R}` ? StoRunGate<P, Depth, Acc, `)${R}`> extends infer RR ? [RR] extends [never] ? StoWorker<R, Depth extends [any, ...infer D] ? D : [], `${Acc}${P})`, [any, ...Steps]> : RR : never : StoRunGate<S, Depth, Acc, "">;
65
+ type StoRunScan<P extends string, Acc extends string, Tail extends string> = P extends `${infer A}+${infer B}` ? A extends `${string}${"-" | "*" | "/" | "%" | "|"}${string}` ? StoRunScan2<P, Acc, Tail> : {
66
+ __op: [`${Acc}${A}`, "+", `${B}${Tail}`];
67
+ } : StoRunScan2<P, Acc, Tail>;
68
+ type StoRunScan2<P extends string, Acc extends string, Tail extends string> = P extends `${infer A}-${infer B}` ? A extends `${string}${"*" | "/" | "%" | "|"}${string}` ? StoRunScan3<P, Acc, Tail> : B extends `>${infer B2}` ? StoRunScan<B2, `${Acc}${A}->`, Tail> : {
69
+ __op: [`${Acc}${A}`, "-", `${B}${Tail}`];
70
+ } : StoRunScan3<P, Acc, Tail>;
71
+ type StoRunScan3<P extends string, Acc extends string, Tail extends string> = P extends `${infer A}*${infer B}` ? A extends `${string}${"/" | "%" | "|"}${string}` ? StoRunScan4<P, Acc, Tail> : {
72
+ __op: [`${Acc}${A}`, "*", `${B}${Tail}`];
73
+ } : StoRunScan4<P, Acc, Tail>;
74
+ type StoRunScan4<P extends string, Acc extends string, Tail extends string> = P extends `${infer A}/${infer B}` ? A extends `${string}${"%" | "|"}${string}` ? StoRunScan5<P, Acc, Tail> : {
75
+ __op: [`${Acc}${A}`, "/", `${B}${Tail}`];
76
+ } : StoRunScan5<P, Acc, Tail>;
77
+ type StoRunScan5<P extends string, Acc extends string, Tail extends string> = P extends `${infer A}%${infer B}` ? A extends `${string}|${string}` ? StoRunScan6<P, Acc, Tail> : {
78
+ __op: [`${Acc}${A}`, "%", `${B}${Tail}`];
79
+ } : StoRunScan6<P, Acc, Tail>;
80
+ type StoRunScan6<P extends string, Acc extends string, Tail extends string> = P extends `${infer A}|${infer B}` ? B extends `|${infer B2}` ? B2 extends `/${string}` ? {
81
+ __ab: true;
82
+ } : Trim<`${Acc}${A}`> extends "" ? {
83
+ __ab: true;
84
+ } : {
85
+ __op: [`${Acc}${A}`, "||", `${B2}${Tail}`];
86
+ } : {
87
+ __ab: true;
88
+ } : never;
89
+ type ArithCombineType<L extends string, R extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = Trim<L> extends "" ? unknown : ArithCombineTypes<ExprType<Trim<L>, Tables, Aliases, S, [any, ...Steps]>, R, Tables, Aliases, S, Steps>;
90
+ type ArithCombineTypes<LT, R extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = Trim<R> extends "" ? unknown : ArithNumClass<LT> extends infer LN ? LN extends false ? unknown : ArithNumClass<ExprType<Trim<R>, Tables, Aliases, S, [any, ...Steps]>> extends infer RN ? RN extends false ? unknown : "nullable" extends LN | RN ? number | null : number : unknown : unknown;
91
+ type ArithNumClass<T> = [
92
+ T
93
+ ] extends [never] ? false : [T] extends [number] ? "num" : [T] extends [number | null] ? "nullable" : false;
94
+ type ArithViaScan<CE extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[], NoOp> = SplitTopLevelOp<CE> extends infer SR ? [SR] extends [never] ? NoOp : SR extends {
95
+ __op: [infer L extends string, infer Op extends string, infer R extends string];
96
+ } ? Op extends "||" ? string : ArithCombineType<L, R, Tables, Aliases, S, Steps> : unknown : never;
97
+ type TopLevelArithType<CE extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = CE extends `${string}${"+" | "-" | "*" | "/" | "%"}${string}` ? ArithViaScan<CE, Tables, Aliases, S, Steps, unknown> : unknown;
98
+ type FuncOrArithType<CE extends string, Func extends string, Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = Func extends `${string}${"+" | "-" | "*" | "/" | "%" | "|"}${string}` ? ArithViaScan<CE, Tables, Aliases, S, Steps, FunctionReturn<CleanIdent<Func>, Args, Tables, Aliases, S, [any, ...Steps]>> : Args extends `${string})${string}` ? CE extends `${string}(${infer AfterOpen}` ? SplitBalancedParen<`(${AfterOpen}`> extends {
99
+ inner: infer Inner extends string;
100
+ rest: infer Rest extends string;
101
+ } ? Trim<Rest> extends "" ? FunctionReturn<CleanIdent<Func>, Inner, Tables, Aliases, S, [any, ...Steps]> : FuncRestDispatch<Trim<Rest>, Func, Args, Inner, Tables, Aliases, S, Steps> : FunctionReturn<CleanIdent<Func>, Args, Tables, Aliases, S, [any, ...Steps]> : FunctionReturn<CleanIdent<Func>, Args, Tables, Aliases, S, [any, ...Steps]> : FunctionReturn<CleanIdent<Func>, Args, Tables, Aliases, S, [any, ...Steps]>;
102
+ type FuncRestDispatch<RestT extends string, Func extends string, Args extends string, Inner extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = RestT extends `||${infer R}` ? R extends `/${string}` ? unknown : string : RestT extends `+${infer R}` ? ArithCombineTypes<FunctionReturn<CleanIdent<Func>, Inner, Tables, Aliases, S, [any, ...Steps]>, R, Tables, Aliases, S, Steps> : RestT extends `-${infer R}` ? R extends `>${string}` ? FunctionReturn<CleanIdent<Func>, Args, Tables, Aliases, S, [any, ...Steps]> : ArithCombineTypes<FunctionReturn<CleanIdent<Func>, Inner, Tables, Aliases, S, [any, ...Steps]>, R, Tables, Aliases, S, Steps> : RestT extends `*${infer R}` ? ArithCombineTypes<FunctionReturn<CleanIdent<Func>, Inner, Tables, Aliases, S, [any, ...Steps]>, R, Tables, Aliases, S, Steps> : RestT extends `/${infer R}` ? ArithCombineTypes<FunctionReturn<CleanIdent<Func>, Inner, Tables, Aliases, S, [any, ...Steps]>, R, Tables, Aliases, S, Steps> : RestT extends `%${infer R}` ? ArithCombineTypes<FunctionReturn<CleanIdent<Func>, Inner, Tables, Aliases, S, [any, ...Steps]>, R, Tables, Aliases, S, Steps> : FunctionReturn<CleanIdent<Func>, Args, Tables, Aliases, S, [any, ...Steps]>;
38
103
  type UnwrapRedundantParens<E extends string, Steps extends any[] = []> = Steps["length"] extends 12 ? E : E extends `(select ${string})` ? E : E extends `(${string}` ? SplitBalancedParen<E> extends {
39
104
  inner: infer Inner extends string;
40
105
  rest: "";
41
106
  } ? UnwrapRedundantParens<Trim<Inner>, [any, ...Steps]> : E : E;
42
- export type ExprType<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 25 ? unknown : IsIgnorableRuntimeExpr<E> extends true ? unknown : UnwrapRedundantParens<CleanExpr<E>> extends infer CE extends string ? IsRuntimeStringFragment<CE> extends true ? unknown : CE extends "*" ? RowTypeForTables<Tables, S> : CE extends `${infer T}.*` ? RowTypeForTable<ResolveTableKey<CleanIdent<T>, Tables, Aliases, S>, S> : CE extends `(select ${infer SubBody})` ? ScalarSubqueryType<SubBody, S, [any, ...Steps]> : IsBoolExpr<CE> extends true ? boolean : IsCaseExpr<CE> extends true ? unknown : [OuterCastName<CE>] extends [never] ? CE extends `cast(${infer Inner} as ${infer CastTypeName})` ? ExprType<Inner, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<CastTypeName> : CE extends `cast (${infer Inner} as ${infer CastTypeName})` ? ExprType<Inner, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<CastTypeName> : CE extends `${infer Func}(${infer Args})` ? FunctionReturn<CleanIdent<Func>, Args, Tables, Aliases, S, [any, ...Steps]> : CE extends `${infer Func} (${infer Args})` ? FunctionReturn<CleanIdent<Func>, Args, Tables, Aliases, S, [any, ...Steps]> : CE extends `${string}||${string}` ? string : CE extends `${infer JBase}->>${string}` ? ExprType<JBase, Tables, Aliases, S, [any, ...Steps]> extends never ? never : string : CE extends `${infer JBase}#>>${string}` ? ExprType<JBase, Tables, Aliases, S, [any, ...Steps]> extends never ? never : string : CE extends "null" ? null : CE extends `'${infer L}'` ? string : CE extends `${number}` ? number : CE extends "true" ? boolean : CE extends "false" ? boolean : IsSqlConstant<CE> extends true ? SqlConstantType<CE> : IsParamPlaceholder<CE> extends true ? unknown : [ParseColumnRef<CE, Tables, Aliases, S>] extends [infer Ref] ? [Ref] extends [never] ? IsIdentifier<CE> extends true ? never : unknown : Ref extends ColumnRef<infer TableKey extends string, infer Column extends string> ? ColumnTypeFromTableKey<TableKey, Column, S> : IsIdentifier<CE> extends true ? never : unknown : unknown : OuterCastName<CE> extends `${string}->>${string}` ? string : OuterCastName<CE> extends `${string}#>>${string}` ? string : CastInnerIsSimpleRef<OuterCastInner<CE>> extends true ? ExprType<OuterCastInner<CE>, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<OuterCastName<CE>> : SqlTypeToTs<OuterCastName<CE>> : unknown;
107
+ export type ExprType<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 25 ? unknown : IsIgnorableRuntimeExpr<E> extends true ? unknown : UnwrapRedundantParens<CleanExpr<E>> extends infer CE extends string ? IsRuntimeStringFragment<CE> extends true ? unknown : CE extends "*" ? RowTypeForTables<Tables, S> : CE extends `${infer T}.*` ? RowTypeForTable<ResolveTableKey<CleanIdent<T>, Tables, Aliases, S>, S> : CE extends `(select ${infer SubBody})` ? ScalarSubqueryType<SubBody, S, [any, ...Steps]> : IsBoolExpr<CE> extends true ? boolean : IsCaseExpr<CE> extends true ? unknown : [OuterCastName<CE>] extends [never] ? CE extends `cast(${infer Inner} as ${infer CastTypeName})` ? ExprType<Inner, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<CastTypeName> : CE extends `cast (${infer Inner} as ${infer CastTypeName})` ? ExprType<Inner, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<CastTypeName> : CE extends `${infer Func}(${infer Args})` ? FuncOrArithType<CE, Func, Args, Tables, Aliases, S, Steps> : CE extends `${infer Func} (${infer Args})` ? FuncOrArithType<CE, Func, Args, Tables, Aliases, S, Steps> : CE extends `${string}||${string}` ? string : CE extends `${infer JBase}->>${string}` ? ExprType<JBase, Tables, Aliases, S, [any, ...Steps]> extends never ? never : string : CE extends `${infer JBase}#>>${string}` ? ExprType<JBase, Tables, Aliases, S, [any, ...Steps]> extends never ? never : string : CE extends "null" ? null : CE extends `'${infer L}'` ? string : CE extends `${number}` ? number : CE extends "true" ? boolean : CE extends "false" ? boolean : IsSqlConstant<CE> extends true ? SqlConstantType<CE> : IsParamPlaceholder<CE> extends true ? unknown : [ParseColumnRef<CE, Tables, Aliases, S>] extends [infer Ref] ? [Ref] extends [never] ? IsIdentifier<CE> extends true ? never : TopLevelArithType<CE, Tables, Aliases, S, Steps> : Ref extends ColumnRef<infer TableKey extends string, infer Column extends string> ? ColumnTypeFromTableKey<TableKey, Column, S> : IsIdentifier<CE> extends true ? never : TopLevelArithType<CE, Tables, Aliases, S, Steps> : unknown : OuterCastName<CE> extends `${string}->>${string}` ? string : OuterCastName<CE> extends `${string}#>>${string}` ? string : CastInnerIsSimpleRef<OuterCastInner<CE>> extends true ? ExprType<OuterCastInner<CE>, Tables, Aliases, S, [any, ...Steps]> extends never ? never : SqlTypeToTs<OuterCastName<CE>> : SqlTypeToTs<OuterCastName<CE>> : unknown;
43
108
  export type ScalarSubqueryType<SubBody extends string, S extends DatabaseSchema, Steps extends any[]> = ExtractBeforeFromTopLevel<SubBody> extends infer SL extends string ? SplitTopLevel<SL> extends [infer First extends string, ...infer _Rest] ? First extends string ? `select ${SubBody}` extends infer SubQuery extends string ? TablesInQuery<SubQuery, S> extends infer SubTables extends string ? AliasesInQuery<SubQuery, S> extends infer SubAliases extends string ? ExtractAliasResult<First> extends {
44
109
  expr: infer RawExpr extends string;
45
110
  } ? ExprType<RawExpr, SubTables, SubAliases, S, Steps> : unknown : unknown : unknown : unknown : unknown : unknown : unknown;
46
- export type FunctionReturn<Func extends string, Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 25 ? unknown : ArgsValid<Args, Tables, Aliases, S, Steps> extends false ? never : Func extends "count" ? number : Func extends "sum" | "avg" ? number : Func extends "min" | "max" ? FirstArgType<Args, Tables, Aliases, S, Steps> : Func extends "upper" | "lower" | "concat" ? string : Func extends "coalesce" ? UnionArgTypes<Args, Tables, Aliases, S, Steps> : unknown;
111
+ export type FunctionReturn<Func extends string, Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 25 ? unknown : ArgsValid<Args, Tables, Aliases, S, Steps> extends false ? never : Func extends "count" ? number : Func extends "sum" | "avg" ? number : Func extends "min" | "max" ? FirstArgType<Args, Tables, Aliases, S, Steps> : Func extends "upper" | "lower" | "concat" ? string : Func extends "coalesce" ? UnionArgTypes<Args, Tables, Aliases, S, Steps> : Func extends "extract" ? null extends FirstArgType<Args, Tables, Aliases, S, Steps> ? number | null : number : unknown;
47
112
  export type ExprsValid<Exprs extends string[], N extends string, S extends DatabaseSchema> = TablesInQuery<N, S> extends infer Tables extends string ? AliasesInQuery<N, S> extends infer Aliases extends string ? ExprsValidList<Exprs, Tables, Aliases, S> : true : true;
48
113
  export type ExprValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, LocalRels extends string = never> = IsIgnorableRuntimeExpr<E> extends true ? true : ExtractAlias<E> extends {
49
114
  expr: infer RawExpr extends string;
@@ -58,8 +123,8 @@ export type ExtractFuncArgList<E extends string> = E extends `${infer _Func}(${i
58
123
  export type ArgsArithRefsValid<Args extends string[], Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = []> = Steps["length"] extends 30 ? true : Args extends [infer H extends string, ...infer Rest extends string[]] ? Trim<H> extends infer TH extends string ? ExprColumnRefsValid<TH, Tables, Aliases, S> extends false ? false : ArgsArithRefsValid<Rest, Tables, Aliases, S, [any, ...Steps]> : ArgsArithRefsValid<Rest, Tables, Aliases, S, [any, ...Steps]> : true;
59
124
  export type NeedsTokenRefValidation<E extends string> = CleanExpr<E> extends `${string}::${string}` ? false : CleanExpr<E> extends `cast(${string} as ${string})` ? false : CleanExpr<E> extends `cast (${string} as ${string})` ? false : CleanExpr<E> extends `${string}(${string}` ? false : CleanExpr<E> extends `${string} (${string}` ? false : true;
60
125
  export type ExprColumnRefsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = ExprQualifiedRefsValid<E, Tables, Aliases, S> extends true ? ExprUnqualifiedRefsValid<E, Tables, Aliases, S> : false;
61
- export type ExprQualifiedRefsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = QualifiedColumnRefs<TokenizeLoose<E>, S, Tables, Aliases> extends infer Cols ? AllTrue<Cols extends string ? ColumnRefValidLooseWith<Cols, Tables, Aliases, S> : true> : true;
62
- export type ExprUnqualifiedRefsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = UnqualifiedColumnRefs<TokenizeLoose<E>, S, Tables, Aliases> extends infer Cols ? AllTrue<Cols extends string ? UnqualifiedColumnValid<Cols, Tables, Aliases, S> : true> : true;
126
+ export type ExprQualifiedRefsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = QualifiedRefScan<E> extends infer Cols ? AllTrue<Cols extends string ? ColumnRefValidLooseWith<Cols, Tables, Aliases, S> : true> : true;
127
+ export type ExprUnqualifiedRefsValid<E extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema> = UnqualifiedRefScan<E, S, Tables, Aliases> extends infer Cols ? AllTrue<Cols extends string ? UnqualifiedColumnValid<Cols, Tables, Aliases, S> : true> : true;
63
128
  export type ExprsValidList<Exprs extends string[], Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[] = [], LocalRels extends string = never> = Steps["length"] extends 100 ? true : Exprs extends [infer H extends string, ...infer Rest extends string[]] ? ExprValid<H, Tables, Aliases, S, LocalRels> extends true ? ExprsValidList<Rest, Tables, Aliases, S, [any, ...Steps], LocalRels> : false : true;
64
129
  export type FirstArgType<Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = SplitTopLevel<Args> extends [infer First extends string, ...infer _] ? ExprType<First, Tables, Aliases, S, Steps> : unknown;
65
130
  export type UnionArgTypes<Args extends string, Tables extends string, Aliases extends string, S extends DatabaseSchema, Steps extends any[]> = SplitTopLevel<Args> extends infer Parts extends string[] ? Parts[number] extends infer P extends string ? ExprType<P, Tables, Aliases, S, Steps> : unknown : unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,21 @@ import type { ExtractBefore, ExtractBeforeFromTopLevel, SplitCommaSimple, SplitT
3
3
  export type ExtractSelectList<N extends string> = N extends `${infer _}select ${infer After}` ? StripDistinct<ExtractBeforeFromTopLevel<After>> : N extends `${infer _}with ${string} select ${infer After}` ? StripDistinct<ExtractBeforeFromTopLevel<After>> : "";
4
4
  export type ExtractReturningList<N extends string> = FirstTopLevelReturningTail<N>;
5
5
  export type FirstTopLevelReturningTail<S extends string> = string extends S ? "" : S extends `${string}'${string}` ? FirstTopLevelReturningTailWalk<S> : S extends `${string}"${string}` ? FirstTopLevelReturningTailWalk<S> : S extends `${string} returning ${infer After}` ? After : "";
6
- type FirstTopLevelReturningTailWalk<S extends string, InString extends boolean = false, InDString extends boolean = false, Steps extends any[] = []> = string extends S ? "" : Steps["length"] extends 1200 ? S extends `${string} returning ${infer After}` ? After : "" : InString extends true ? S extends `${infer C}${infer Rest}` ? FirstTopLevelReturningTailWalk<Rest, C extends "'" ? false : true, InDString, [any, ...Steps]> : "" : InDString extends true ? S extends `${infer C}${infer Rest}` ? FirstTopLevelReturningTailWalk<Rest, InString, C extends `"` ? false : true, [any, ...Steps]> : "" : S extends ` returning ${infer After}` ? After : S extends `${infer C}${infer Rest}` ? FirstTopLevelReturningTailWalk<Rest, C extends "'" ? true : false, C extends `"` ? true : false, [any, ...Steps]> : "";
6
+ type FirstTopLevelReturningTailWalk<S extends string, Steps extends any[] = []> = string extends S ? "" : Steps["length"] extends 400 ? S extends `${string} returning ${infer After}` ? After : "" : S extends `${infer Before} returning ${infer After}` ? Before extends `${string}'${string}` | `${string}"${string}` ? FtrtQuoteJump<S, Steps> : After : "";
7
+ type FtrtQuoteJump<S extends string, Steps extends any[]> = S extends `${infer P}'${infer R}` ? P extends `${string}"${string}` ? FtrtDQuoteJump<S, Steps> : R extends `${string}'${infer R2}` ? FirstTopLevelReturningTailWalk<R2, [any, ...Steps]> : "" : FtrtDQuoteJump<S, Steps>;
8
+ type FtrtDQuoteJump<S extends string, Steps extends any[]> = S extends `${string}"${infer R}` ? R extends `${string}"${infer R2}` ? FirstTopLevelReturningTailWalk<R2, [any, ...Steps]> : "" : "";
7
9
  type SplitBalancedParenWorker<S extends string, Depth extends any[] = [], Acc extends string = "", InString extends boolean = false, Steps extends any[] = []> = Steps["length"] extends 350 ? {
8
10
  __c: [S, Depth, Acc, InString];
9
- } : S extends `${infer C}${infer Rest}` ? C extends "'" ? SplitBalancedParenWorker<Rest, Depth, `${Acc}${C}`, InString extends true ? false : true, [any, ...Steps]> : InString extends true ? SplitBalancedParenWorker<Rest, Depth, `${Acc}${C}`, InString, [any, ...Steps]> : C extends "(" ? Depth["length"] extends 0 ? SplitBalancedParenWorker<Rest, [any], Acc, InString, [any, ...Steps]> : SplitBalancedParenWorker<Rest, [any, ...Depth], `${Acc}${C}`, InString, [any, ...Steps]> : C extends ")" ? Depth extends [any, ...infer D extends any[]] ? D["length"] extends 0 ? {
10
- inner: Acc;
11
- rest: Rest;
12
- } : SplitBalancedParenWorker<Rest, D, `${Acc}${C}`, InString, [any, ...Steps]> : {
13
- inner: Acc;
14
- rest: Rest;
15
- } : SplitBalancedParenWorker<Rest, Depth, `${Acc}${C}`, InString, [any, ...Steps]> : {
16
- inner: Acc;
11
+ } : InString extends true ? S extends `${infer P}'${infer R}` ? SplitBalancedParenWorker<R, Depth, `${Acc}${P}'`, false, [any, ...Steps]> : {
12
+ inner: `${Acc}${S}`;
13
+ rest: "";
14
+ } : S extends `${infer P}'${infer R}` ? P extends `${string}(${string}` | `${string})${string}` ? SbpParenJump<S, Depth, Acc, Steps> : SplitBalancedParenWorker<R, Depth, `${Acc}${P}'`, true, [any, ...Steps]> : SbpParenJump<S, Depth, Acc, Steps>;
15
+ type SbpParenJump<S extends string, Depth extends any[], Acc extends string, Steps extends any[]> = S extends `${infer P}(${infer R}` ? P extends `${string})${string}` ? SbpCloseJump<S, Depth, Acc, Steps> : Depth["length"] extends 0 ? SplitBalancedParenWorker<R, [any], `${Acc}${P}`, false, [any, ...Steps]> : SplitBalancedParenWorker<R, [any, ...Depth], `${Acc}${P}(`, false, [any, ...Steps]> : SbpCloseJump<S, Depth, Acc, Steps>;
16
+ type SbpCloseJump<S extends string, Depth extends any[], Acc extends string, Steps extends any[]> = S extends `${infer P})${infer R}` ? Depth extends [any, any, ...infer D extends any[]] ? SplitBalancedParenWorker<R, [any, ...D], `${Acc}${P})`, false, [any, ...Steps]> : {
17
+ inner: `${Acc}${P}`;
18
+ rest: R;
19
+ } : {
20
+ inner: `${Acc}${S}`;
17
21
  rest: "";
18
22
  };
19
23
  export type SplitBalancedParen<S extends string> = SplitBalancedParenDrive<SplitBalancedParenWorker<S>>;
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/parsing/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/parsing/extract.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,9 @@ type LcKeepWorker<S extends string, InSingleQuote extends boolean, InDoubleQuote
40
40
  type LcKeepQuoteJump<S extends string, InSingleQuote extends boolean, InDoubleQuote extends boolean, Acc extends string, Steps extends any[]> = S extends `${infer P}'${infer R}` ? P extends `${string}"${string}` ? S extends `${infer P2}"${infer R2}` ? LcKeepWorker<R2, InSingleQuote, true, `${Acc}${Lowercase<P2>}"`, [any, ...Steps]> : `${Acc}${Lowercase<S>}` : LcKeepWorker<R, true, InDoubleQuote, `${Acc}${Lowercase<P>}'`, [any, ...Steps]> : S extends `${infer P2}"${infer R2}` ? LcKeepWorker<R2, InSingleQuote, true, `${Acc}${Lowercase<P2>}"`, [any, ...Steps]> : `${Acc}${Lowercase<S>}`;
41
41
  export type NormalizeQueryKeepParams<S extends string> = RewriteExtractCall<Trim<RemoveTrailingSemicolon<CollapseDotSpaces<LowercaseOutsideQuotesKeepParams<CollapseSpaces<ReplaceWhitespace<StripComments<NeutralizePgLiterals<S>>>>>>>>>;
42
42
  export type ReplaceWhitespace<S extends string> = HasLineBreaks<S> extends true ? ReplaceWhitespaceRuns<S> : S;
43
- type ReplaceWhitespaceRuns<S extends string, Steps extends any[] = []> = string extends S ? S : Steps["length"] extends 1500 ? S : S extends `${infer A}\n${infer B}` ? ReplaceWhitespaceRuns<`${A} ${B}`, [any, ...Steps]> : S extends `${infer A}\t${infer B}` ? ReplaceWhitespaceRuns<`${A} ${B}`, [any, ...Steps]> : S extends `${infer A}\r${infer B}` ? ReplaceWhitespaceRuns<`${A} ${B}`, [any, ...Steps]> : S;
43
+ type ReplaceWhitespaceRuns<S extends string, Acc extends string = "", Steps extends any[] = []> = string extends S ? S : Steps["length"] extends 1500 ? `${Acc}${S}` : S extends `${infer A}\n${infer B}` ? A extends `${string}\t${string}` | `${string}\r${string}` ? RwrTabCr<S, Acc, Steps> : ReplaceWhitespaceRuns<ConsumeWsRun<B>, `${Acc}${A} `, [any, ...Steps]> : RwrTabCr<S, Acc, Steps>;
44
+ type RwrTabCr<S extends string, Acc extends string, Steps extends any[]> = S extends `${infer A}\t${infer B}` ? A extends `${string}\r${string}` ? S extends `${infer A2}\r${infer B2}` ? ReplaceWhitespaceRuns<ConsumeWsRun<B2>, `${Acc}${A2} `, [any, ...Steps]> : `${Acc}${S}` : ReplaceWhitespaceRuns<ConsumeWsRun<B>, `${Acc}${A} `, [any, ...Steps]> : S extends `${infer A2}\r${infer B2}` ? ReplaceWhitespaceRuns<ConsumeWsRun<B2>, `${Acc}${A2} `, [any, ...Steps]> : `${Acc}${S}`;
45
+ type ConsumeWsRun<S extends string, Steps extends any[] = []> = Steps["length"] extends 64 ? S : S extends ` ${infer R}` ? ConsumeWsRun<R, [any, ...Steps]> : S extends ` ${infer R}` ? ConsumeWsRun<R, [any, ...Steps]> : S extends ` ${infer R}` ? ConsumeWsRun<R, [any, ...Steps]> : S extends `\t${infer R}` ? ConsumeWsRun<R, [any, ...Steps]> : S extends `\n${infer R}` ? ConsumeWsRun<R, [any, ...Steps]> : S extends `\r${infer R}` ? ConsumeWsRun<R, [any, ...Steps]> : S;
44
46
  export type ExceedsLengthBudget<S extends string, Steps extends any[] = []> = string extends S ? true : Steps["length"] extends 50 ? S extends "" ? false : true : S extends "" ? false : ExceedsLengthBudget<Drop10Chars<S>, [any, ...Steps]>;
45
47
  export type Drop10Chars<S extends string> = S extends `${infer _A}${infer _B}${infer _C}${infer _D}${infer _E}${infer _F}${infer _G}${infer _H}${infer _I}${infer _J}${infer R}` ? R : "";
46
48
  export type HasLineBreaks<S extends string> = S extends `${string}\n${string}` ? true : S extends `${string}\t${string}` ? true : S extends `${string}\r${string}` ? true : false;