@kuindji/typed-sql
Advanced tools
@@ -18,9 +18,35 @@ import type { DatabaseSchema } from "../schema.js"; | ||
| type ConflictSetBlock<N extends string> = N extends `${string} do update set ${infer Rest}` ? ExtractBefore<ExtractBefore<Rest, " where ">, " returning "> : ""; | ||
| type IsMultiRowInsert<N extends string> = N extends `${string} values ${infer After}` ? HasTopLevelTupleSep<After> : false; | ||
| type AfterValues<N extends string> = N extends `${string} values ${infer A}` ? A : N extends `${string} values(${infer A}` ? `(${A}` : never; | ||
| type IsMultiRowInsert<N extends string> = [ | ||
| AfterValues<N> | ||
| ] extends [never] ? false : AfterValues<N> extends infer A extends string ? HasTopLevelTupleSep<A> : false; | ||
| type HasTopLevelTupleSep<S extends string, Depth extends any[] = [], Steps extends any[] = []> = Steps["length"] extends 400 ? false : S extends `''${infer R}` ? HasTopLevelTupleSep<R, Depth, [any, ...Steps]> : S extends `'${infer _Q}'${infer R}` ? HasTopLevelTupleSep<R, Depth, [any, ...Steps]> : S extends `$${infer Tag}$${infer Rest}` ? Rest extends `${infer _Body}$${Tag}$${infer After}` ? HasTopLevelTupleSep<After, Depth, [any, ...Steps]> : false : S extends `(${infer R}` ? HasTopLevelTupleSep<R, [any, ...Depth], [any, ...Steps]> : S extends `)${infer R}` ? Depth extends [any, ...infer Rest extends any[]] ? Rest extends [] ? AfterTupleIsComma<R> : HasTopLevelTupleSep<R, Rest, [any, ...Steps]> : HasTopLevelTupleSep<R, [], [any, ...Steps]> : S extends `${infer _C}${infer R}` ? HasTopLevelTupleSep<R, Depth, [any, ...Steps]> : false; | ||
| type AfterTupleIsComma<S extends string> = S extends `${" " | "\t" | "\n"}${infer R}` ? AfterTupleIsComma<R> : S extends `,${string}` ? true : false; | ||
| type InsertParams<N extends string, S extends DatabaseSchema> = IsMultiRowInsert<N> extends true ? { | ||
| __error: true; | ||
| message: "[SQL Error] multi-row VALUES not supported in the typed path; use the untyped driver call"; | ||
| } : InsertTargetTable<N, S> extends infer Table extends string ? ZipInsert<ExtractInsertColumns<N>, ExtractInsertValues<N>, Table, S> & SetParams<SplitTopLevel<ConflictSetBlock<N>>, Table, S> & WhereParamsFor<N, Table, S> : {}; | ||
| type TupleScan = { | ||
| tuples: readonly string[]; | ||
| rest: string; | ||
| }; | ||
| type CollectTuples<S extends string, Depth extends any[] = [], Cur extends string = "", Ts extends readonly string[] = [], Steps extends any[] = []> = Steps["length"] extends 400 ? { | ||
| tuples: Ts; | ||
| rest: S; | ||
| } : Ts["length"] extends 12 ? { | ||
| tuples: Ts; | ||
| rest: S; | ||
| } : S extends `''${infer R}` ? CollectTuples<R, Depth, `${Cur}''`, Ts, [any, ...Steps]> : S extends `'${infer Q}'${infer R}` ? CollectTuples<R, Depth, `${Cur}'${Q}'`, Ts, [any, ...Steps]> : S extends `$${infer Tag}$${infer Rest2}` ? Rest2 extends `${infer Body}$${Tag}$${infer After}` ? CollectTuples<After, Depth, `${Cur}$${Tag}$${Body}$${Tag}$`, Ts, [any, ...Steps]> : { | ||
| tuples: Ts; | ||
| rest: S; | ||
| } : S extends `(${infer R}` ? Depth extends [] ? CollectTuples<R, [any], "", Ts, [any, ...Steps]> : CollectTuples<R, [any, ...Depth], `${Cur}(`, Ts, [any, ...Steps]> : S extends `)${infer R}` ? Depth extends [any] ? AfterTuple<R, [...Ts, Cur]> : Depth extends [any, ...infer D extends any[]] ? CollectTuples<R, D, `${Cur})`, Ts, [any, ...Steps]> : { | ||
| tuples: Ts; | ||
| rest: ""; | ||
| } : S extends `${infer C}${infer R}` ? Depth extends [] ? CollectTuples<R, [], "", Ts, [any, ...Steps]> : CollectTuples<R, Depth, `${Cur}${C}`, Ts, [any, ...Steps]> : { | ||
| tuples: Ts; | ||
| rest: ""; | ||
| }; | ||
| type AfterTuple<S extends string, Ts extends readonly string[]> = S extends `${" " | "\t" | "\n"}${infer R}` ? AfterTuple<R, Ts> : S extends `,${infer R}` ? CollectTuples<R, [], "", Ts> : { | ||
| tuples: Ts; | ||
| rest: ""; | ||
| }; | ||
| type ZipAllTuples<Ts extends readonly string[], Cols extends readonly string[], Table extends string, S extends DatabaseSchema, Acc = {}> = Ts extends readonly [infer H extends string, ...infer R extends readonly string[]] ? ZipAllTuples<R, Cols, Table, S, Acc & ZipInsert<Cols, SplitCommaSimple<H>, Table, S>> : Acc; | ||
| type MultiRowValuesParams<N extends string, Table extends string, S extends DatabaseSchema> = AfterValues<N> extends infer A extends string ? CollectTuples<A> extends infer R extends TupleScan ? ZipAllTuples<R["tuples"], ExtractInsertColumns<N>, Table, S> & (R["rest"] extends "" ? {} : LooseParamsSkipLit<R["rest"]>) : {} : {}; | ||
| type InsertParams<N extends string, S extends DatabaseSchema> = InsertTargetTable<N, S> extends infer Table extends string ? (IsMultiRowInsert<N> extends true ? MultiRowValuesParams<N, Table, S> : ZipInsert<ExtractInsertColumns<N>, ExtractInsertValues<N>, Table, S>) & SetParams<SplitTopLevel<ConflictSetBlock<N>>, Table, S> & WhereParamsFor<N, Table, S> : {}; | ||
| type ExtractSetBlock<N extends string> = N extends `${string} set ${infer Rest}` ? ExtractBefore<ExtractBefore<Rest, " where ">, " returning "> : ""; | ||
@@ -27,0 +53,0 @@ type SetParams<Pairs extends readonly string[], Table extends string, S extends DatabaseSchema, Acc = {}> = Pairs extends readonly [infer P extends string, ...infer R extends string[]] ? P extends `${infer Left}=${infer Right}` ? ParamName<Right> extends infer Name ? [Name] extends [never] ? SetParams<R, Table, S, Acc & LooseParams<Right>> : Name extends string ? SetParams<R, Table, S, Acc & { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"extract-params.d.ts","sourceRoot":"","sources":["../../src/builder/extract-params.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,KAAK,EACR,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAC5D,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAChE,mBAAmB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACR,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAC1D,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,MAAM,IACtC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAUzE,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AAKrD,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,IACvB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAC5C,CAAC,SAAS,GAAG,MAAM,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACrF,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAG9E,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAC5C,CAAC,SAAS,GAAG,MAAM,YAAY,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,GACtE,CAAC,SAAS,GAAG,MAAM,WAAW,MAAM,EAAE,IAAI,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC,GACzE,EAAE,CAAC;AAET,KAAK,SAAS,CACV,IAAI,SAAS,SAAS,MAAM,EAAE,EAAE,IAAI,SAAS,SAAS,MAAM,EAAE,EAC9D,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,EAAE,GAAG,GAAG,EAAE,IACxD,IAAI,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAC1E,IAAI,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GACxE,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAExB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GACvE,CAAC,SAAS,MAAM,GACZ,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAAE,CAAC,GAChG,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,GACpC,GAAG,GACP,GAAG,GACP,GAAG,CAAC;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAClC,CAAC,SAAS,GAAG,MAAM,kBAAkB,MAAM,IAAI,EAAE,GAC3C,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAG5E,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAClC,CAAC,SAAS,GAAG,MAAM,WAAW,MAAM,KAAK,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAQrF,KAAK,mBAAmB,CACpB,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IACpE,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,KAAK,GAEjC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,GAAG,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GACzE,CAAC,SAAS,IAAI,MAAM,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAEpF,CAAC,SAAS,IAAI,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,GACnC,IAAI,SAAS,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI,MAAM,KAAK,EAAE,GAC/C,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAClD,KAAK,GACb,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAClF,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GACnB,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,SAAS,GAAG,EAAE,CAAC,GAE5C,IAAI,SAAS,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,GACtC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAC7C,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GACnD,CAAC,SAAS,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAClF,KAAK,CAAC;AAGZ,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IACnC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAC/D,CAAC,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,GAC7B,KAAK,CAAC;AAEZ,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IACxD,gBAAgB,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,2FAA2F,CAAA;CAAE,GAC3H,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,SAAS,MAAM,GACtD,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAChE,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GACvD,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAC/B,EAAE,CAAC;AAGb,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IACjC,CAAC,SAAS,GAAG,MAAM,QAAQ,MAAM,IAAI,EAAE,GACjC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;AAE5E,KAAK,SAAS,CACV,KAAK,SAAS,SAAS,MAAM,EAAE,EAAE,KAAK,SAAS,MAAM,EACrD,CAAC,SAAS,cAAc,EAAE,GAAG,GAAG,EAAE,IAClC,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,CAAC,GAC1E,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,KAAK,EAAE,GACpC,SAAS,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,GAE/B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,GACzE,IAAI,SAAS,MAAM,GACf,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG;KAAG,CAAC,IAAI,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;CAAE,CAAC,GACjG,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,GAC/B,GAAG,GACP,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,GAC/B,GAAG,CAAC;AAGV,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAC5B,CAAC,SAAS,GAAG,MAAM,UAAU,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAKrE,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,EAAE,GACtD,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AACpC,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAC3C,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,KAAK,SAAS,CAAC,KAAK,SAAS,SAAS,MAAM,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE,IACvF,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,CAAC,GACtE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAE5D,KAAK,MAAM,CAAC,KAAK,SAAS,SAAS,MAAM,EAAE,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE,IAClE,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,CAAC,GAC9F,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC3B,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GACpC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAClC,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GAC3C,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GACX,GAAG,CAAC;AAElB,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IACjC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,YAAY,MAAM,IAAI,EAAE,GACtD,IAAI,SAAS,GAAG,MAAM,QAAQ,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,GACrD,KAAK,CAAC;AAahB,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,GAAG,EAAE,IAAI,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAqBtE,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IACxE,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,GAC9B,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,GAClC,IAAI,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,KAAK,EAAE,GACvC,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GACpE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GAC5B,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAUjC,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IACpE,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,GAC9B,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GACnC,IAAI,SAAS,IAAI,MAAM,EAAE,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GACtE,QAAQ,CAAC,IAAI,CAAC,SAAS,MAAM,EAAE,SAAS,MAAM,GAC1C,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAC1D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG;KAAG,CAAC,IAAI,EAAE,GAAG,gBAAgB;CAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GACtF,GAAG,GACX,GAAG,CAAC;AAGV,KAAK,QAAQ,GACP,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GACjE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAC/D,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACpD,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,GAAG,EAAE,IACnD,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAC1B,CAAC,SAAS,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GACpD,GAAG,CAAC;AACd,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAC1B,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEhF,KAAK,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IAErG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,YAAY,MAAM,EAAE,QAAQ,MAAM,EAAE,EAAE,GAC/D,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAE/C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,yBAAyB,MAAM,GAAG,EAAE,GAC/D,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,qBAAqB,MAAM,GAAG,EAAE,GAC3D,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,QAAQ,MAAM,KAAK,GAAG,GACjD,SAAS,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,GAC5B,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GACxC,CAAC,SAAS,MAAM,GACZ,eAAe,CAAC,GAAG,CAAC,SAAS,IAAI,GAC7B,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GACxC,WAAW,CAAC,KAAK,CAAC,GACtB,WAAW,CAAC,KAAK,CAAC,GACtB,WAAW,CAAC,KAAK,CAAC,GACtB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,GAC3C,eAAe,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GACjC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,GACvC,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,GAChC,CAAC,SAAS,MAAM,GAKZ,kBAAkB,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,SAAS,MAAM,GACpD,eAAe,CAAC,GAAG,CAAC,SAAS,IAAI,GAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GACnC,WAAW,CAAC,IAAI,CAAC,GACrB,WAAW,CAAC,IAAI,CAAC,GACrB,WAAW,CAAC,IAAI,CAAC,GACrB,WAAW,CAAC,IAAI,CAAC,GACrB,WAAW,CAAC,IAAI,CAAC,CAAC;AAKhC,KAAK,UAAU,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EACtE,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IAC9C,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,EAAE,EAAE,GACvC,IAAI,SAAS,KAAK,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;CAAE,GAC/E,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;CAAE,GACxG;KAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB;CAAE,GAC9B;KAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;CAAE,CAAC;AAGrE,KAAK,eAAe,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAC3E,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IAC9C,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,EAAE,EAAE,GACvC,IAAI,SAAS,KAAK,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;CAAE,GACjF,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;CAAE,GAC1G;KAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB;CAAE,GAC9B;KAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;CAAE,CAAC;AAEvE,KAAK,QAAQ,CAAC,QAAQ,SAAS,MAAM,IACjC,QAAQ,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC3D,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAC3C,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAIrD,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAC7B,CAAC,SAAS,UAAU,MAAM,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,GACtD,CAAC,SAAS,eAAe,MAAM,IAAI,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,GAC7D,CAAC,SAAS,eAAe,MAAM,IAAI,EAAE,GACjC,IAAI,SAAS,GAAG,MAAM,EAAE,OAAO,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GACxE,IAAI,SAAS,GAAG,MAAM,EAAE,OAAO,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GACvE,EAAE,CAAC;AAGT,KAAK,eAAe,CAAC,IAAI,SAAS,MAAM,IACpC,IAAI,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,KAAK,EAAE,GACvC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAClD,CAAC,SAAS,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAC9D,CAAC,SAAS,IAAI,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/B,EAAE,GACN,EAAE,CAAC;AAOb,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IACpC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GACtC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GACxC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GACxC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GACxC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,EAAE,GACpC,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAC1D,IAAI,CAAC,CAAC,CAAC,CAAC;AAMlB,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IACjC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,GACxB,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,GAAG,KAAK,GACxG,IAAI,CAAC;AAEX,KAAK,aAAa,CAAC,GAAG,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EACvE,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IACpE,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,GAC9C,eAAe,CAAC,GAAG,CAAC,SAAS,IAAI,GAC7B,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GACvD,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,GACzB,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAC9B,EAAE,CAAC;AAEb,KAAK,aAAa,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EACrD,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IACpE,eAAe,CAAC,GAAG,CAAC,SAAS,IAAI,GAC3B,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAC9D,WAAW,CAAC,GAAG,CAAC,CAAC;AAK3B,KAAK,aAAa,CAAC,GAAG,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EACvD,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IAC9C,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,EAAE,EAAE,GACvC,IAAI,SAAS,KAAK,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GACjE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAC1F,gBAAgB,GAChB,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAGvD,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,MAAM,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,CAAC;CAAE,GAAG,EAAE,CAAC;AAG1F,KAAK,aAAa,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI,EAAE,CAAC;AAEhE,KAAK,WAAW,CACZ,KAAK,SAAS,SAAS,MAAM,EAAE,EAAE,KAAK,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAC3E,CAAC,SAAS,cAAc,EAAE,GAAG,GAAG,EAAE,IAClC,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,CAAC,GAC1E,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAQlF,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IAChF,UAAU,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GACtC,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GAC3B,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GACpD,EAAE,GACN,EAAE,CAAC;AAiBb,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAYhD,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,GAAG,EAAE,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,IAC/G,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,KAAK,GACjC,KAAK,SAAS,EAAE,GAEZ,CAAC,SAAS,UAAU,MAAM,EAAE,EAAE,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GACvD,CAAC,SAAS,eAAe,MAAM,EAAE,EAAE,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC5D,CAAC,SAAS,eAAe,MAAM,EAAE,EAAE,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC5D,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAC1F,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAC5F,KAAK,GAEL,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAC1F,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GACnB,KAAK,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,GAC9G,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAC5F,KAAK,CAAC;AAGhB,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IACzD,CAAC,SAAS,eAAe,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GACpD,CAAC,SAAS,UAAU,MAAM,EAAE,GACxB,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAClD,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GACzF,CAAC,SAAS,eAAe,MAAM,EAAE,GAC7B,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAIzF,CAAC,SAAS,QAAQ,MAAM,EAAE,GAGtB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACjC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAClD,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC/C,kBAAkB,CAAC,CAAC,CAAC,GACzB,gBAAgB,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,SAAS,GACjD,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAC3D,kBAAkB,CAAC,CAAC,CAAC,GACjC,CAAC,SAAS,UAAU,MAAM,EAAE,GACxB,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAClD,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC/C,kBAAkB,CAAC,CAAC,CAAC,GAC7B,EAAE,CAAC;AAET,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IACpE,wBAAwB,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAGxG,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IAC9D,CAAC,SAAS,eAAe,MAAM,EAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACzD,CAAC,SAAS,UAAU,MAAM,EAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACtD,CAAC,SAAS,eAAe,MAAM,EAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC3D,KAAK,CAAC;AAkBZ,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IACvE,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,YAAY,MAAM,EAAE,GAShD,mBAAmB,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,GAC9E,EAAE,CAAC;AAEb,KAAK,qBAAqB,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IACrE,cAAc,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAC9C,oBAAoB,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAClD,CAAC,SAAS,EAAE,GAAG,EAAE,GACjB,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GACnD,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,GACf,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GACrB,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GACvD,EAAE,GACN,EAAE,GACN,EAAE,CAAC"} | ||
| {"version":3,"file":"extract-params.d.ts","sourceRoot":"","sources":["../../src/builder/extract-params.ts"],"names":[],"mappings":"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"} |
| import type { DatabaseSchema } from "../schema.js"; | ||
| import type { RowTypeForTable } from "../schema.js"; | ||
| import type { TableKeyFromToken } from "../tables.js"; | ||
| import { type DriverParamValue } from "./scanner.js"; | ||
@@ -11,2 +13,21 @@ import type { InsertTag, WriteParamsFor, WriteReturnFor } from "./write-tag.js"; | ||
| }; | ||
| type TableRowFor<Tbl extends string, S extends DatabaseSchema> = RowTypeForTable<TableKeyFromToken<Tbl, S> & string, S>; | ||
| type RowsInputFor<Tbl extends string, S extends DatabaseSchema> = [ | ||
| TableRowFor<Tbl, S> | ||
| ] extends [never] ? Record<string, DriverParamValue> : Partial<TableRowFor<Tbl, S>>; | ||
| type AllowedRowKeys<Tbl extends string, S extends DatabaseSchema> = [ | ||
| TableRowFor<Tbl, S> | ||
| ] extends [never] ? string : keyof TableRowFor<Tbl, S>; | ||
| type PresentKeys<R> = { | ||
| [K in keyof R]-?: undefined extends R[K] ? never : K; | ||
| }[keyof R]; | ||
| type AllPresentKeys<R> = R extends any ? PresentKeys<R> : never; | ||
| type EachArmCovers<Row, All> = Row extends any ? [Exclude<All, PresentKeys<Row>>] extends [never] ? true : false : never; | ||
| type RowsHomogeneous<Row> = [ | ||
| EachArmCovers<Row, AllPresentKeys<Row>> | ||
| ] extends [true] ? true : false; | ||
| type AllRowKeys<R> = R extends any ? keyof R : never; | ||
| type RowsGuard<Row, Allowed> = [ | ||
| Exclude<AllRowKeys<Row>, Allowed> | ||
| ] extends [never] ? [RowsHomogeneous<Row>] extends [true] ? unknown : readonly `[SQL Error] .rows(): all rows must share the same column set`[] : readonly `[SQL Error] .rows(): unknown column key`[]; | ||
| export interface InsertQueryBuilder<S extends DatabaseSchema, T extends InsertTag> { | ||
@@ -24,2 +45,3 @@ into<Tbl extends string>(table: Tbl): InsertQueryBuilder<S, Omit<T, "table"> & { | ||
| valueIf<Col extends string, Text extends string>(cond: boolean, col: Col, text: Text): InsertQueryBuilder<S, PushVal<T, Col, Text, true>>; | ||
| rows<Row extends RowsInputFor<T["table"], S>>(rows: readonly Row[] & RowsGuard<Row, AllowedRowKeys<T["table"], S>>): InsertQueryBuilder<S, T>; | ||
| onConflict<C extends string>(clause: C): InsertQueryBuilder<S, Omit<T, "conflict"> & { | ||
@@ -26,0 +48,0 @@ conflict: C; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/builder/insert.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/builder/insert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAC+C,KAAK,gBAAgB,EAC1E,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhF,KAAK,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,EAAE,IAAI,SAAS,OAAO,IAC3F,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAI7G,KAAK,WAAW,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IACzD,eAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AAO3D,KAAK,YAAY,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IAC1D;IAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACtE,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnC,KAAK,cAAc,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,IAC5D;IAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAa/E,KAAK,WAAW,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACxF,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAIhE,KAAK,aAAa,CAAC,GAAG,EAAE,GAAG,IACvB,GAAG,SAAS,GAAG,GACT,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,GAC/D,KAAK,CAAC;AAChB,KAAK,eAAe,CAAC,GAAG,IACpB;IAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAI5E,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AASrD,KAAK,SAAS,CAAC,GAAG,EAAE,OAAO,IACvB;IAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAC7C,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACjC,OAAO,GACP,SAAS,8DAA8D,EAAE,GAC7E,SAAS,yCAAyC,EAAE,CAAC;AAE/D,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS;IAC7E,IAAI,CAAC,GAAG,SAAS,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAG/F,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC/F,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IACrG,KAAK,CAAC,GAAG,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAC/D,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAChF,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAGvD,IAAI,CAAC,GAAG,SAAS,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EACxC,IAAI,EAAE,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GACrE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAClC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IACjE,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAC/B,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IACnE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,QAAQ,IAAI,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC;IACnD,QAAQ,IAAI,MAAM,CAAC;IACnB,SAAS,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/C;AAyDD,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAC;IAC/D,OAAO,EAAE,EAAE,CAAC;IAAC,UAAU,EAAE,EAAE,CAAC;IAC5B,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,IAAI,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;CAC/E,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,KAAK,kBAAkB,CAAC,CAAC,EAAE,cAAc,CAAC,CAEnG"} |
@@ -1,2 +0,2 @@ | ||
| import { assembleInsertSQL } from "./write-assemble.js"; | ||
| import { assembleInsertSQL, buildRowsClause } from "./write-assemble.js"; | ||
| import { EMPTY_INSERT_STATE } from "./write-state.js"; | ||
@@ -20,5 +20,27 @@ import { assertAllProvided, collectScanned, expandScanned, } from "./scanner.js"; | ||
| } | ||
| rows(rows) { | ||
| // Validates eagerly (fail fast) and stores the synthetic per-cell params; | ||
| // assembleInsertSQL re-derives the same names from state.rows. A prior | ||
| // .rows() call's __tsqlrow_ keys are stripped first so a smaller | ||
| // replacement doesn't leave orphaned params in state. | ||
| const { params } = buildRowsClause(rows); | ||
| const kept = Object.fromEntries(Object.entries(this.st.namedParams).filter(([k]) => !k.startsWith("__tsqlrow_"))); | ||
| return this.next({ | ||
| ...this.st, rows, | ||
| namedParams: { ...kept, ...params }, | ||
| }); | ||
| } | ||
| onConflict(clause) { return this.next({ ...this.st, conflict: clause }); } | ||
| returning(cols) { return this.next({ ...this.st, returning: cols }); } | ||
| withParams(params) { | ||
| // The __tsqlrow_ namespace is reserved for .rows() synthetic params; a | ||
| // user key there would silently overwrite a row value (user params merge | ||
| // last), so reject it outright. | ||
| if (this.st.rows) { | ||
| for (const k of Object.keys(params)) { | ||
| if (k.startsWith("__tsqlrow_")) { | ||
| throw new Error(`Query parameter ":${k}" uses the reserved __tsqlrow_ prefix`); | ||
| } | ||
| } | ||
| } | ||
| return this.next({ ...this.st, namedParams: { ...this.st.namedParams, ...params } }); | ||
@@ -25,0 +47,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../src/builder/insert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAA2B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EACH,iBAAiB,EAAE,cAAc,EAAE,aAAa,GACnD,MAAM,cAAc,CAAC;AA8BtB,MAAM,UAAU;IACiB;IAA7B,YAA6B,EAAsB;QAAtB,OAAE,GAAF,EAAE,CAAoB;IAAG,CAAC;IAC/C,IAAI,CAAC,EAAsB,IAAS,OAAO,IAAI,UAAU,CAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,IAAI,CAAC,KAAa,IAAS,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,6EAA6E;IAC7E,OAAO,CAAC,IAAY,IAAS,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,UAAU,CAAC,CAAS,IAAS,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,KAAK,CAAC,GAAW,EAAE,IAAY;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,CAAC,IAAa,EAAE,GAAW,EAAE,IAAY;QAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,UAAU,CAAC,MAAc,IAAS,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,SAAS,CAAC,IAAY,IAAS,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,UAAU,CAAC,MAAwC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,QAAQ;QACJ,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAC5C,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,SAAS;QACL,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAC5C,OAAO,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACJ;AAQD,MAAM,UAAU,iBAAiB;IAC7B,OAAO,IAAI,UAAU,CAAoB,kBAAkB,CAAqD,CAAC;AACrH,CAAC"} | ||
| {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../src/builder/insert.ts"],"names":[],"mappings":"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"} |
| import type { RuntimeInsertState, RuntimeUpdateState, RuntimeDeleteState } from "./write-state.js"; | ||
| import type { DriverParamValue } from "./scanner.js"; | ||
| export declare function buildRowsClause(rows: ReadonlyArray<Record<string, DriverParamValue>>): { | ||
| colsText: string; | ||
| valuesText: string; | ||
| params: Record<string, DriverParamValue>; | ||
| }; | ||
| export declare function assembleInsertSQL(s: RuntimeInsertState): string; | ||
@@ -3,0 +9,0 @@ export declare function assembleUpdateSQL(s: RuntimeUpdateState): string; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"write-assemble.d.ts","sourceRoot":"","sources":["../../src/builder/write-assemble.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnG,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAmB/D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAmB/D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAM/D"} | ||
| {"version":3,"file":"write-assemble.d.ts","sourceRoot":"","sources":["../../src/builder/write-assemble.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKrD,wBAAgB,eAAe,CAC3B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GACtD;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAAE,CA2BpF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAgC/D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAmB/D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAM/D"} |
@@ -0,2 +1,46 @@ | ||
| // Shared by InsertImpl.rows() (eager validation + synthetic params) and | ||
| // assembleInsertSQL (SQL text). Synthetic names are deterministic | ||
| // (`__tsqlrow_<row>_<col>`), so both call sites agree without shared state. | ||
| export function buildRowsClause(rows) { | ||
| if (rows.length === 0) { | ||
| throw new Error("INSERT .rows() requires at least one row"); | ||
| } | ||
| const cols = Object.keys(rows[0]); | ||
| if (cols.length === 0) { | ||
| throw new Error("INSERT .rows() rows must have at least one column"); | ||
| } | ||
| const params = {}; | ||
| const tuples = rows.map((row, r) => { | ||
| for (const k of Object.keys(row)) { | ||
| if (!cols.includes(k)) { | ||
| throw new Error(`INSERT .rows() row ${r} has column "${k}" not present in the first row`); | ||
| } | ||
| } | ||
| const cells = cols.map((col, c) => { | ||
| if (!(col in row)) { | ||
| throw new Error(`INSERT .rows() row ${r} is missing column "${col}"`); | ||
| } | ||
| const name = `__tsqlrow_${r}_${c}`; | ||
| params[name] = row[col]; | ||
| return `:${name}`; | ||
| }); | ||
| return `(${cells.join(", ")})`; | ||
| }); | ||
| return { colsText: cols.join(", "), valuesText: tuples.join(", "), params }; | ||
| } | ||
| export function assembleInsertSQL(s) { | ||
| // Multi-row VALUES form: column list and tuple list derived from row objects. | ||
| // Must not be combined with .value()/.valueIf() or .fromSelect(). | ||
| if (s.rows) { | ||
| if (s.values.length > 0 || s.fromSelect) { | ||
| throw new Error("INSERT .rows() cannot be combined with .value()/.valueIf() or .fromSelect()"); | ||
| } | ||
| const { colsText, valuesText } = buildRowsClause(s.rows); | ||
| let sql = `insert into ${s.table} (${colsText}) values ${valuesText}`; | ||
| if (s.conflict) | ||
| sql += ` on conflict ${s.conflict}`; | ||
| if (s.returning) | ||
| sql += ` returning ${s.returning}`; | ||
| return sql; | ||
| } | ||
| // INSERT...SELECT form: emit `insert into T (cols) <select body>` instead of a | ||
@@ -3,0 +47,0 @@ // VALUES list. Any `:params` in the SELECT body are scanned positionally by the |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"write-assemble.js","sourceRoot":"","sources":["../../src/builder/write-assemble.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"write-assemble.js","sourceRoot":"","sources":["../../src/builder/write-assemble.ts"],"names":[],"mappings":"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"} |
@@ -11,2 +11,3 @@ import type { DriverParamValue } from "./scanner.js"; | ||
| readonly fromSelect?: string; | ||
| readonly rows?: ReadonlyArray<Record<string, DriverParamValue>>; | ||
| readonly conflict?: string; | ||
@@ -13,0 +14,0 @@ readonly returning?: string; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"write-state.d.ts","sourceRoot":"","sources":["../../src/builder/write-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AAClF,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAIjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1D;AACD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAGvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAIxB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACrF,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1D;AACD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1D;AAGD,eAAO,MAAM,kBAAkB,EAAE,kBAA4E,CAAC;AAC9G,eAAO,MAAM,kBAAkB,EAAE,kBAAoF,CAAC;AACtH,eAAO,MAAM,kBAAkB,EAAE,kBAA2E,CAAC"} | ||
| {"version":3,"file":"write-state.d.ts","sourceRoot":"","sources":["../../src/builder/write-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AAClF,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAIjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAI7B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1D;AACD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAGvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAIxB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACrF,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1D;AACD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC1D;AAGD,eAAO,MAAM,kBAAkB,EAAE,kBAA4E,CAAC;AAC9G,eAAO,MAAM,kBAAkB,EAAE,kBAAoF,CAAC;AACtH,eAAO,MAAM,kBAAkB,EAAE,kBAA2E,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"write-state.js","sourceRoot":"","sources":["../../src/builder/write-state.ts"],"names":[],"mappings":"AAsCA,sFAAsF;AACtF,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAuB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC9G,MAAM,CAAC,MAAM,kBAAkB,GAAuB,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACtH,MAAM,CAAC,MAAM,kBAAkB,GAAuB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC"} | ||
| {"version":3,"file":"write-state.js","sourceRoot":"","sources":["../../src/builder/write-state.ts"],"names":[],"mappings":"AA0CA,sFAAsF;AACtF,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAuB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC9G,MAAM,CAAC,MAAM,kBAAkB,GAAuB,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACtH,MAAM,CAAC,MAAM,kBAAkB,GAAuB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC"} |
@@ -111,3 +111,5 @@ import type { DatabaseSchema, ColumnTypeFromTableKey, RowTypeForTable, RowTypeForTables } from "./schema.js"; | ||
| } ? ExprType<RawExpr, SubTables, SubAliases, S, Steps> : unknown : unknown : unknown : unknown : unknown : unknown : unknown; | ||
| 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; | ||
| 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 : Args extends `${string}) over${string}` ? Func extends "count" | "sum" | "avg" ? number : unknown : Func extends "count" ? number : Func extends "sum" | "avg" ? null extends FirstArgType<Args, Tables, Aliases, S, Steps> ? number | null : number : Func extends "min" | "max" ? FirstArgType<Args, Tables, Aliases, S, Steps> : Func extends "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 : Func extends NumericScalarFn ? null extends UnionArgTypes<Args, Tables, Aliases, S, Steps> ? number | null : number : Func extends StringScalarFn ? null extends UnionArgTypes<Args, Tables, Aliases, S, Steps> ? string | null : string : Func extends "string_agg" ? null extends FirstArgType<Args, Tables, Aliases, S, Steps> ? string | null : string : Func extends "bool_and" | "bool_or" ? null extends FirstArgType<Args, Tables, Aliases, S, Steps> ? boolean | null : boolean : Func extends "array_agg" ? unknown extends FirstArgType<Args, Tables, Aliases, S, Steps> ? unknown : FirstArgType<Args, Tables, Aliases, S, Steps>[] : unknown; | ||
| type NumericScalarFn = "length" | "char_length" | "character_length" | "octet_length" | "bit_length" | "strpos" | "round" | "floor" | "ceil" | "ceiling" | "abs" | "trunc" | "sign" | "mod" | "power" | "sqrt"; | ||
| type StringScalarFn = "upper" | "lower" | "trim" | "btrim" | "ltrim" | "rtrim" | "initcap" | "replace" | "repeat" | "reverse" | "lpad" | "rpad" | "translate" | "md5" | "split_part" | "substr" | "substring" | "to_char"; | ||
| 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; | ||
@@ -114,0 +116,0 @@ 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 { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"} |
+2
-2
@@ -5,6 +5,6 @@ export type { DatabaseSchema } from "./schema.js"; | ||
| import type { DeleteTargetTable, InsertTargetTable, UpdateTargetTable } from "./tables.js"; | ||
| import type { ValidateSQLNormalized, GetReturnTypeNormalized, QueryKind } from "./validation.js"; | ||
| import type { ApplyUngroupedAggNull, ValidateSQLNormalized, GetReturnTypeNormalized, QueryKind } from "./validation.js"; | ||
| import type { RowTypeForTable } from "./schema.js"; | ||
| export type ValidateSQL<Query extends string, Schema extends DatabaseSchema> = string extends Query ? false : Query extends any ? NormalizeQuery<Query> extends infer N extends string ? ValidateSQLNormalized<N, Schema> : false : false; | ||
| export type GetReturnType<Query extends string, Schema extends DatabaseSchema> = string extends Query ? {} : NormalizeQuery<Query> extends infer N extends string ? QueryKind<N> extends "unknown" ? {} : GetReturnTypeNormalized<N, Schema> : {}; | ||
| export type GetReturnType<Query extends string, Schema extends DatabaseSchema> = string extends Query ? {} : NormalizeQuery<Query> extends infer N extends string ? QueryKind<N> extends "unknown" ? {} : GetReturnTypeNormalized<N, Schema> extends infer Row ? ApplyUngroupedAggNull<Row, N> : {} : {}; | ||
| export type QueryResult<Query extends string, Schema extends DatabaseSchema> = GetReturnType<Query, Schema>; | ||
@@ -11,0 +11,0 @@ export type ValidateSelectSQL<Query extends string, Schema extends DatabaseSchema> = ValidateSQL<Query, Schema>; |
@@ -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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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,wFAAwF;AA8ExF,+CAA+C;AAC/C,cAAc,oBAAoB,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,wFAAwF;AAoFxF,+CAA+C;AAC/C,cAAc,oBAAoB,CAAC"} |
| import type { AliasesInQuery, NullableRelations, TablesInQuery } from "../tables.js"; | ||
| import type { AllTrue, Simplify } from "../utils.js"; | ||
| import type { CleanIdent, ExtractAlias, ExtractReturningList, ExtractSelectList, SplitSelectList, StripSubqueries } from "../parsing.js"; | ||
| import type { CleanIdent, ExtractAlias, ExtractAliasResult, ExtractReturningList, ExtractSelectList, SplitSelectList, StripSubqueries, Trim } from "../parsing.js"; | ||
| import type { ColumnExists, DatabaseSchema } from "../schema.js"; | ||
@@ -40,3 +40,13 @@ import type { CteOuterQuery, CteReturn, MultiCteReturn, SingleCteMatch, WithDmlOuter } from "./cte.js"; | ||
| export type ColumnsExistInTable<Cols extends string[], TableKey extends string, S extends DatabaseSchema> = AllTrue<Cols[number] extends infer C ? (C extends string ? ColumnExists<TableKey, CleanIdent<C>, S> : true) : true>; | ||
| type AggFnName = "sum" | "avg" | "min" | "max" | "string_agg" | "array_agg" | "bool_and" | "bool_or"; | ||
| export type ApplyUngroupedAggNull<Row, N extends string> = N extends `select ${string}` ? N extends `${string}${AggFnName}${string}` ? N extends `${string} group by ${string}` ? Row : [Row] extends [object] ? UngroupedAggKeys<SplitSelectList<ExtractSelectList<N>>> extends infer Keys extends string ? [Keys] extends [never] ? Row : { | ||
| [K in keyof Row]: K extends Keys ? Row[K] | null : Row[K]; | ||
| } : Row : Row : Row : Row; | ||
| type UngroupedAggKeys<Exprs extends string[], Acc extends string = never> = Exprs extends [infer H extends string, ...infer Rest extends string[]] ? UngroupedAggKeys<Rest, Acc | AggProjKey<H>> : Acc; | ||
| type AggProjKey<E extends string> = ExtractAliasResult<E> extends { | ||
| expr: infer X extends string; | ||
| alias: infer A; | ||
| } ? AggCallHead<X> extends infer F extends string ? [F] extends [never] ? never : [A] extends [never] ? F : A extends string ? A : F : never : never; | ||
| type AggCallHead<X extends string> = Trim<X> extends `${string} over ${string}` ? never : Trim<X> extends `${infer F}(${string}` ? Trim<F> extends AggFnName ? Trim<F> : never : never; | ||
| export {}; | ||
| //# sourceMappingURL=return-types.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"return-types.d.ts","sourceRoot":"","sources":["../../src/validation/return-types.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"return-types.d.ts","sourceRoot":"","sources":["../../src/validation/return-types.ts"],"names":[],"mappings":"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"} |
+2
-1
| { | ||
| "name": "@kuindji/typed-sql", | ||
| "version": "0.4.0", | ||
| "version": "0.5.0", | ||
| "description": "Type-level SQL parser for TypeScript", | ||
@@ -50,2 +50,3 @@ "author": "Ivan Kuindzhi", | ||
| "typecheck": "node --max-old-space-size=8192 ./node_modules/typescript/bin/tsc --noEmit", | ||
| "perf": "node scripts/perf-budget.mjs", | ||
| "build": "tsc -p tsconfig.build.json", | ||
@@ -52,0 +53,0 @@ "test:dist": "npm run build && node scripts/dist-smoke.mjs", |
+31
-2
@@ -143,3 +143,14 @@ # @kuindji/typed-sql | ||
| // Passing a plain string where a branded column is expected is a compile error. | ||
| // Multi-row VALUES is rejected in the typed path — use the untyped driver call. | ||
| // Multi-row inserts: pass row objects; placeholders and the column list are | ||
| // generated from the first row's keys (all rows must share the same keys; | ||
| // the __tsqlrow_ param-name prefix is reserved for this expansion). | ||
| const bulk = createInsertQuery<Schema>() | ||
| .into("orders") | ||
| .rows([ | ||
| { userId: u1, amount: 100 }, | ||
| { userId: u2, amount: 250 }, | ||
| ]) | ||
| .returning("id"); | ||
| bulk.toString(); // insert into orders (userId, amount) values ($1, $2), ($3, $4) returning id | ||
| ``` | ||
@@ -156,3 +167,16 @@ | ||
| `unknown` rather than a guess. `||` (string concat) → `string`. `extract(…)` | ||
| → `number` (`number | null` when its source may be NULL). Top-level | ||
| → `number` (`number | null` when its source may be NULL). Strict scalar | ||
| functions follow the same NULL-in-NULL-out rule: numeric ones | ||
| (`length`, `char_length`, `round`, `floor`, `ceil`, `abs`, `trunc`, `sign`, | ||
| `mod`, `power`, `sqrt`, `strpos`, …) → `number`, string ones (`trim` family, | ||
| `replace`, `lpad`/`rpad`, `substr`/`substring`, `split_part`, `to_char`, | ||
| `md5`, `upper`, `lower`, …) → `string`, each `| null` when an argument may | ||
| be NULL. Aggregates follow SQL's two NULL paths: **argument nullability | ||
| propagates** (`sum`/`avg`/`min`/`max`/`string_agg`/`bool_and`/`bool_or` over | ||
| a nullable column are `| null` — an all-NULL group aggregates to NULL; | ||
| `array_agg(col)` → `col-type[]`), and in a query with **no `GROUP BY`** | ||
| every whole-aggregate projection except `count` gains `| null` — zero input | ||
| rows produce one NULL row (`select sum(amount) from payments where …` is | ||
| NULL when nothing matches), regardless of column nullability. | ||
| `coalesce(sum(x), 0)` rescues it, in the types as in SQL. Top-level | ||
| arithmetic `A op B` (`+`, `-`, `*`, `/`, `%`) → `number` when **both** | ||
@@ -181,2 +205,7 @@ operands type `number` (`| null` propagates from either side — SQL NULL | ||
| is (Postgres semantics), so `coalesce(x, '')` stays non-null. | ||
| - **Multi-row `VALUES` params are typed per tuple.** In raw SQL, | ||
| `insert into t (a, b) values (:a1, :b1), (:a2, :b2)` binds every `:param` to | ||
| its column's type, tuple by tuple. Very long tuple lists degrade: beyond 12 | ||
| tuples (or an unparseable tail) the remaining params are accepted untyped | ||
| rather than rejected. | ||
@@ -183,0 +212,0 @@ --- |
@@ -65,4 +65,12 @@ // src/builder/extract-params.ts | ||
| // ---- multi-row VALUES detection (spec §3) ---- | ||
| // Post-VALUES text, handling both ` values (` and the no-space ` values(` form | ||
| // (the latter re-prepends the consumed "(" so the collector sees the tuple open). | ||
| type AfterValues<N extends string> = | ||
| N extends `${string} values ${infer A}` ? A | ||
| : N extends `${string} values(${infer A}` ? `(${A}` | ||
| : never; | ||
| type IsMultiRowInsert<N extends string> = | ||
| N extends `${string} values ${infer After}` ? HasTopLevelTupleSep<After> : false; | ||
| [AfterValues<N>] extends [never] ? false | ||
| : AfterValues<N> extends infer A extends string ? HasTopLevelTupleSep<A> : false; | ||
@@ -102,7 +110,72 @@ // Walk After: skip single-quoted literals AND dollar-quoted strings; track paren | ||
| // ---- multi-row VALUES per-tuple param typing ---- | ||
| type TupleScan = { tuples: readonly string[]; rest: string }; | ||
| // Collect each top-level `(...)` tuple body from the post-VALUES text. Mirrors | ||
| // HasTopLevelTupleSep's quote/dollar-quote/paren arms, but ACCUMULATES the | ||
| // current tuple's text (Cur) and the finished bodies (Ts). At depth 0 between | ||
| // tuples, chars are skipped (quote arms still append to Cur there — harmless, | ||
| // Cur resets when the next tuple opens); a closed tuple followed by anything | ||
| // but a comma ends the list cleanly (trailing ON CONFLICT / RETURNING — their | ||
| // params are typed by the conflict/WHERE extractors, so `rest` stays "" and is | ||
| // NOT loose-swept). On step-cap or tuple-cap overrun the unconsumed text comes | ||
| // back in `rest` for a loose sweep — lenient-overrun contract, never an error. | ||
| // Steps reset per tuple via AfterTuple (bounded worker, fresh counter), so the | ||
| // budget is 400 steps per tuple × max 12 tuples. | ||
| type CollectTuples< | ||
| S extends string, Depth extends any[] = [], Cur extends string = "", | ||
| Ts extends readonly string[] = [], Steps extends any[] = [], | ||
| > = Steps["length"] extends 400 ? { tuples: Ts; rest: S } | ||
| : Ts["length"] extends 12 ? { tuples: Ts; rest: S } | ||
| // single-quoted literal: `''` escape first, then a whole literal (verbatim into Cur); | ||
| // at depth 0 (between tuples) these still append to Cur, harmlessly — Cur is discarded when the next tuple opens | ||
| : S extends `''${infer R}` ? CollectTuples<R, Depth, `${Cur}''`, Ts, [any, ...Steps]> | ||
| : S extends `'${infer Q}'${infer R}` ? CollectTuples<R, Depth, `${Cur}'${Q}'`, Ts, [any, ...Steps]> | ||
| // dollar-quoted string: `$tag$ … $tag$`; unterminated → stop, rest loose | ||
| : S extends `$${infer Tag}$${infer Rest2}` | ||
| ? Rest2 extends `${infer Body}$${Tag}$${infer After}` | ||
| ? CollectTuples<After, Depth, `${Cur}$${Tag}$${Body}$${Tag}$`, Ts, [any, ...Steps]> | ||
| : { tuples: Ts; rest: S } | ||
| : S extends `(${infer R}` | ||
| ? Depth extends [] ? CollectTuples<R, [any], "", Ts, [any, ...Steps]> | ||
| : CollectTuples<R, [any, ...Depth], `${Cur}(`, Ts, [any, ...Steps]> | ||
| : S extends `)${infer R}` | ||
| ? Depth extends [any] ? AfterTuple<R, [...Ts, Cur]> | ||
| : Depth extends [any, ...infer D extends any[]] | ||
| ? CollectTuples<R, D, `${Cur})`, Ts, [any, ...Steps]> | ||
| : { tuples: Ts; rest: "" } // stray ")" at depth 0 — stop clean | ||
| : S extends `${infer C}${infer R}` | ||
| ? Depth extends [] ? CollectTuples<R, [], "", Ts, [any, ...Steps]> // between tuples: skip | ||
| : CollectTuples<R, Depth, `${Cur}${C}`, Ts, [any, ...Steps]> | ||
| : { tuples: Ts; rest: "" }; | ||
| // After a closed tuple: a comma (after optional whitespace) starts the next | ||
| // tuple — with a FRESH step counter; anything else ends the list cleanly. | ||
| type AfterTuple<S extends string, Ts extends readonly string[]> = | ||
| S extends `${" " | "\t" | "\n"}${infer R}` ? AfterTuple<R, Ts> | ||
| : S extends `,${infer R}` ? CollectTuples<R, [], "", Ts> | ||
| : { tuples: Ts; rest: "" }; | ||
| // Intersect ZipInsert over every collected tuple — each tuple's i-th value | ||
| // binds to the i-th column, exactly like the single-row path. | ||
| type ZipAllTuples< | ||
| Ts extends readonly string[], Cols extends readonly string[], | ||
| Table extends string, S extends DatabaseSchema, Acc = {}, | ||
| > = Ts extends readonly [infer H extends string, ...infer R extends readonly string[]] | ||
| ? ZipAllTuples<R, Cols, Table, S, Acc & ZipInsert<Cols, SplitCommaSimple<H>, Table, S>> | ||
| : Acc; | ||
| type MultiRowValuesParams<N extends string, Table extends string, S extends DatabaseSchema> = | ||
| AfterValues<N> extends infer A extends string | ||
| ? CollectTuples<A> extends infer R extends TupleScan | ||
| ? ZipAllTuples<R["tuples"], ExtractInsertColumns<N>, Table, S> | ||
| & (R["rest"] extends "" ? {} : LooseParamsSkipLit<R["rest"]>) | ||
| : {} | ||
| : {}; | ||
| type InsertParams<N extends string, S extends DatabaseSchema> = | ||
| IsMultiRowInsert<N> extends true | ||
| ? { __error: true; message: "[SQL Error] multi-row VALUES not supported in the typed path; use the untyped driver call" } | ||
| : InsertTargetTable<N, S> extends infer Table extends string | ||
| ? ZipInsert<ExtractInsertColumns<N>, ExtractInsertValues<N>, Table, S> | ||
| InsertTargetTable<N, S> extends infer Table extends string | ||
| ? (IsMultiRowInsert<N> extends true | ||
| ? MultiRowValuesParams<N, Table, S> | ||
| : ZipInsert<ExtractInsertColumns<N>, ExtractInsertValues<N>, Table, S>) | ||
| & SetParams<SplitTopLevel<ConflictSetBlock<N>>, Table, S> | ||
@@ -109,0 +182,0 @@ & WhereParamsFor<N, Table, S> |
| // src/builder/insert.ts | ||
| import type { DatabaseSchema } from "../schema.js"; | ||
| import { assembleInsertSQL } from "./write-assemble.js"; | ||
| import type { RowTypeForTable } from "../schema.js"; | ||
| import type { TableKeyFromToken } from "../tables.js"; | ||
| import { assembleInsertSQL, buildRowsClause } from "./write-assemble.js"; | ||
| import { EMPTY_INSERT_STATE, type RuntimeInsertState } from "./write-state.js"; | ||
@@ -13,2 +15,60 @@ import { | ||
| // Resolved schema row for the `.into()` token ("orders" or "schema.orders", | ||
| // case-insensitive via TableKeyFromToken). `never` when unresolvable. | ||
| type TableRowFor<Tbl extends string, S extends DatabaseSchema> = | ||
| RowTypeForTable<TableKeyFromToken<Tbl, S> & string, S>; | ||
| // Input row for `.rows()`: any subset of the target table's columns. Supplies | ||
| // the allowed shape — the exact branded-type enforcement happens at the | ||
| // `Row extends RowsInputFor<...>` CONSTRAINT check on the method. Keys are | ||
| // emitted verbatim into SQL, so they must match the schema's exact casing. | ||
| // Unresolvable table → loose record (lenient). | ||
| type RowsInputFor<Tbl extends string, S extends DatabaseSchema> = | ||
| [TableRowFor<Tbl, S>] extends [never] ? Record<string, DriverParamValue> | ||
| : Partial<TableRowFor<Tbl, S>>; | ||
| type AllowedRowKeys<Tbl extends string, S extends DatabaseSchema> = | ||
| [TableRowFor<Tbl, S>] extends [never] ? string : keyof TableRowFor<Tbl, S>; | ||
| // Two checks the Partial constraint alone cannot make: | ||
| // 1. unknown keys — a constraint check is structural, so an excess property in | ||
| // an inferred Row slips through `Row extends Partial<...>`; | ||
| // 2. homogeneity — heterogeneous array literals infer Row as a UNION. The | ||
| // best-common-type of `[{a;b},{a}]` is `{a;b} | {a; b?: undefined}` — the | ||
| // missing key reappears as `b?: undefined`, so a plain `keyof` comparison | ||
| // sees identical key sets. Compare PRESENT keys instead (a key whose value | ||
| // is exactly `undefined` in an arm is absent there): every arm's present-key | ||
| // set must equal the union of all arms' present keys. A genuine nullable | ||
| // column (`note: string | null`) keeps its key — `undefined extends string | | ||
| // null` is false — so same-keys-different-value-types rows stay homogeneous. | ||
| type PresentKeys<R> = { [K in keyof R]-?: undefined extends R[K] ? never : K }[keyof R]; | ||
| type AllPresentKeys<R> = R extends any ? PresentKeys<R> : never; | ||
| // Every arm's present-key set must equal the union over all arms — i.e. no arm | ||
| // is missing a key some other arm has. `All` is captured from the whole union | ||
| // up front, then `EachArmCovers` distributes the per-arm comparison against it. | ||
| type EachArmCovers<Row, All> = | ||
| Row extends any | ||
| ? [Exclude<All, PresentKeys<Row>>] extends [never] ? true : false | ||
| : never; | ||
| type RowsHomogeneous<Row> = | ||
| [EachArmCovers<Row, AllPresentKeys<Row>>] extends [true] ? true : false; | ||
| // All keys INCLUDING the `?: undefined` phantom arms that best-common-type | ||
| // inference adds to a heterogeneous union — used for the unknown-key check ONLY, | ||
| // never for homogeneity (homogeneity compares PRESENT keys; see above). | ||
| type AllRowKeys<R> = R extends any ? keyof R : never; | ||
| // MECHANISM: `RowsGuard` is intersected with the `readonly Row[]` array | ||
| // parameter type. On the failing branches it resolves to an array whose ELEMENT | ||
| // is an unsatisfiable `[SQL Error] …` string literal, so the user's rows array | ||
| // is no longer assignable to the intersected parameter type — the | ||
| // array-intersection is what forces the mismatch to land on the `.rows(...)` | ||
| // argument rather than producing an opaque error elsewhere. The `[SQL Error]` | ||
| // prefix keeps these greppable/consistent with the codebase's type-level error | ||
| // convention (see `IsSqlError` / `ValidQuery` in `./db.ts`). | ||
| type RowsGuard<Row, Allowed> = | ||
| [Exclude<AllRowKeys<Row>, Allowed>] extends [never] | ||
| ? [RowsHomogeneous<Row>] extends [true] | ||
| ? unknown | ||
| : readonly `[SQL Error] .rows(): all rows must share the same column set`[] | ||
| : readonly `[SQL Error] .rows(): unknown column key`[]; | ||
| export interface InsertQueryBuilder<S extends DatabaseSchema, T extends InsertTag> { | ||
@@ -24,2 +84,7 @@ into<Tbl extends string>(table: Tbl): InsertQueryBuilder<S, Omit<T, "table"> & { table: Tbl }>; | ||
| InsertQueryBuilder<S, PushVal<T, Col, Text, true>>; | ||
| // Subset of the target table's columns with their exact (branded) types; all | ||
| // rows must share one column set (RowsGuard enforces unknown-key + homogeneity). | ||
| rows<Row extends RowsInputFor<T["table"], S>>( | ||
| rows: readonly Row[] & RowsGuard<Row, AllowedRowKeys<T["table"], S>>, | ||
| ): InsertQueryBuilder<S, T>; | ||
| onConflict<C extends string>(clause: C): | ||
@@ -52,5 +117,30 @@ InsertQueryBuilder<S, Omit<T, "conflict"> & { conflict: C }>; | ||
| } | ||
| rows(rows: ReadonlyArray<Record<string, DriverParamValue>>): any { | ||
| // Validates eagerly (fail fast) and stores the synthetic per-cell params; | ||
| // assembleInsertSQL re-derives the same names from state.rows. A prior | ||
| // .rows() call's __tsqlrow_ keys are stripped first so a smaller | ||
| // replacement doesn't leave orphaned params in state. | ||
| const { params } = buildRowsClause(rows); | ||
| const kept = Object.fromEntries( | ||
| Object.entries(this.st.namedParams).filter(([k]) => !k.startsWith("__tsqlrow_")), | ||
| ); | ||
| return this.next({ | ||
| ...this.st, rows, | ||
| namedParams: { ...kept, ...params }, | ||
| }); | ||
| } | ||
| onConflict(clause: string): any { return this.next({ ...this.st, conflict: clause }); } | ||
| returning(cols: string): any { return this.next({ ...this.st, returning: cols }); } | ||
| withParams(params: Record<string, DriverParamValue>): any { | ||
| // The __tsqlrow_ namespace is reserved for .rows() synthetic params; a | ||
| // user key there would silently overwrite a row value (user params merge | ||
| // last), so reject it outright. | ||
| if (this.st.rows) { | ||
| for (const k of Object.keys(params)) { | ||
| if (k.startsWith("__tsqlrow_")) { | ||
| throw new Error( | ||
| `Query parameter ":${k}" uses the reserved __tsqlrow_ prefix`); | ||
| } | ||
| } | ||
| } | ||
| return this.next({ ...this.st, namedParams: { ...this.st.namedParams, ...params } }); | ||
@@ -57,0 +147,0 @@ } |
| // src/builder/write-assemble.ts | ||
| import type { RuntimeInsertState, RuntimeUpdateState, RuntimeDeleteState } from "./write-state.js"; | ||
| import type { DriverParamValue } from "./scanner.js"; | ||
| // Shared by InsertImpl.rows() (eager validation + synthetic params) and | ||
| // assembleInsertSQL (SQL text). Synthetic names are deterministic | ||
| // (`__tsqlrow_<row>_<col>`), so both call sites agree without shared state. | ||
| export function buildRowsClause( | ||
| rows: ReadonlyArray<Record<string, DriverParamValue>>, | ||
| ): { colsText: string; valuesText: string; params: Record<string, DriverParamValue> } { | ||
| if (rows.length === 0) { | ||
| throw new Error("INSERT .rows() requires at least one row"); | ||
| } | ||
| const cols = Object.keys(rows[0]); | ||
| if (cols.length === 0) { | ||
| throw new Error("INSERT .rows() rows must have at least one column"); | ||
| } | ||
| const params: Record<string, DriverParamValue> = {}; | ||
| const tuples = rows.map((row, r) => { | ||
| for (const k of Object.keys(row)) { | ||
| if (!cols.includes(k)) { | ||
| throw new Error( | ||
| `INSERT .rows() row ${r} has column "${k}" not present in the first row`); | ||
| } | ||
| } | ||
| const cells = cols.map((col, c) => { | ||
| if (!(col in row)) { | ||
| throw new Error(`INSERT .rows() row ${r} is missing column "${col}"`); | ||
| } | ||
| const name = `__tsqlrow_${r}_${c}`; | ||
| params[name] = row[col]; | ||
| return `:${name}`; | ||
| }); | ||
| return `(${cells.join(", ")})`; | ||
| }); | ||
| return { colsText: cols.join(", "), valuesText: tuples.join(", "), params }; | ||
| } | ||
| export function assembleInsertSQL(s: RuntimeInsertState): string { | ||
| // Multi-row VALUES form: column list and tuple list derived from row objects. | ||
| // Must not be combined with .value()/.valueIf() or .fromSelect(). | ||
| if (s.rows) { | ||
| if (s.values.length > 0 || s.fromSelect) { | ||
| throw new Error( | ||
| "INSERT .rows() cannot be combined with .value()/.valueIf() or .fromSelect()"); | ||
| } | ||
| const { colsText, valuesText } = buildRowsClause(s.rows); | ||
| let sql = `insert into ${s.table} (${colsText}) values ${valuesText}`; | ||
| if (s.conflict) sql += ` on conflict ${s.conflict}`; | ||
| if (s.returning) sql += ` returning ${s.returning}`; | ||
| return sql; | ||
| } | ||
| // INSERT...SELECT form: emit `insert into T (cols) <select body>` instead of a | ||
@@ -6,0 +54,0 @@ // VALUES list. Any `:params` in the SELECT body are scanned positionally by the |
@@ -13,2 +13,6 @@ // src/builder/write-state.ts | ||
| readonly fromSelect?: string; | ||
| // Multi-row VALUES form: row objects whose keys (taken from the FIRST row, | ||
| // insertion order) become the column list. When set, `values`/`fromSelect` | ||
| // must be empty (assembleInsertSQL throws otherwise). | ||
| readonly rows?: ReadonlyArray<Record<string, DriverParamValue>>; | ||
| readonly conflict?: string; | ||
@@ -15,0 +19,0 @@ readonly returning?: string; |
+8
-2
@@ -9,3 +9,3 @@ // Pure type-level SQL validation and result inference. | ||
| import type { DeleteTargetTable, InsertTargetTable, UpdateTargetTable } from "./tables.js"; | ||
| import type { ValidateSQLNormalized, GetReturnTypeNormalized, QueryKind } from "./validation.js"; | ||
| import type { ApplyUngroupedAggNull, ValidateSQLNormalized, GetReturnTypeNormalized, QueryKind } from "./validation.js"; | ||
| import type { RowTypeForTable } from "./schema.js"; | ||
@@ -35,3 +35,9 @@ | ||
| ? {} | ||
| : GetReturnTypeNormalized<N, Schema> | ||
| // Ungrouped aggregates are NULL over zero input rows — | ||
| // `ApplyUngroupedAggNull` adds `| null` to whole-aggregate | ||
| // projections when the query has no GROUP BY (see | ||
| // validation/return-types.ts). | ||
| : GetReturnTypeNormalized<N, Schema> extends infer Row | ||
| ? ApplyUngroupedAggNull<Row, N> | ||
| : {} | ||
| : {}; | ||
@@ -38,0 +44,0 @@ |
| // SELECT/RETURNING result inference + select-return assembly. | ||
| import type { AliasesInQuery, NullableRelations, TablesInQuery } from "../tables.js"; | ||
| import type { AllTrue, Simplify } from "../utils.js"; | ||
| import type { CleanIdent, ExtractAlias, ExtractReturningList, ExtractSelectList, SplitSelectList, StripSubqueries } from "../parsing.js"; | ||
| import type { CleanIdent, ExtractAlias, ExtractAliasResult, ExtractReturningList, ExtractSelectList, SplitSelectList, StripSubqueries, Trim } from "../parsing.js"; | ||
| import type { ColumnExists, DatabaseSchema } from "../schema.js"; | ||
@@ -278,1 +278,80 @@ import type { CteOuterQuery, CteReturn, MultiCteReturn, SingleCteMatch, WithDmlOuter } from "./cte.js"; | ||
| AllTrue<Cols[number] extends infer C ? (C extends string ? ColumnExists<TableKey, CleanIdent<C>, S> : true) : true>; | ||
| // ---------------------------------------------------------------------------- | ||
| // Ungrouped-aggregate nullability post-pass | ||
| // | ||
| // SQL aggregates (except count) return NULL over EMPTY input. With GROUP BY | ||
| // every output row's group is non-empty, so argument nullability (handled in | ||
| // `FunctionReturn`) is the whole story. WITHOUT group by, the single output | ||
| // row is NULL for every aggregate when the source has zero rows — regardless | ||
| // of column nullability (`select sum(amount) from payments where user_id = $1` | ||
| // is NULL when nothing matches). This post-pass adds `| null` to | ||
| // whole-aggregate projections of ungrouped queries at the GetReturnType | ||
| // funnel. | ||
| // | ||
| // Lenient by design (missing `| null` in rare shapes is the accepted trade; | ||
| // falsely adding it to a grouped query is not): | ||
| // - only plain `select`-headed queries (a `with` query's ExtractSelectList | ||
| // yields the CTE body's list, so CTE outer selects are skipped); | ||
| // - a ` group by ` ANYWHERE in the query (even a subquery's) skips the pass; | ||
| // - window applications (` over `) and aggregates nested under a non-aggregate | ||
| // call head (`coalesce(sum(x), 0)` — correctly non-null!) don't match. | ||
| type AggFnName = "sum" | "avg" | "min" | "max" | "string_agg" | "array_agg" | "bool_and" | "bool_or"; | ||
| export type ApplyUngroupedAggNull<Row, N extends string> = | ||
| N extends `select ${string}` | ||
| // Containment gate on the bare NAME (not `name(`): the call paren may | ||
| // be space-separated (`array_agg ( name )`). Over-matching substrings | ||
| // (`checksum`) is fine — `AggCallHead` is the precise check. | ||
| ? N extends `${string}${AggFnName}${string}` | ||
| ? N extends `${string} group by ${string}` | ||
| ? Row | ||
| : [Row] extends [object] | ||
| ? UngroupedAggKeys<SplitSelectList<ExtractSelectList<N>>> extends infer Keys extends string | ||
| ? [Keys] extends [never] | ||
| ? Row | ||
| : { [K in keyof Row]: K extends Keys ? Row[K] | null : Row[K] } | ||
| : Row | ||
| : Row | ||
| : Row | ||
| : Row; | ||
| type UngroupedAggKeys<Exprs extends string[], Acc extends string = never> = | ||
| Exprs extends [infer H extends string, ...infer Rest extends string[]] | ||
| ? UngroupedAggKeys<Rest, Acc | AggProjKey<H>> | ||
| : Acc; | ||
| // The result key of a projection whose call head is a known aggregate: | ||
| // the alias when present, the function name otherwise (matching | ||
| // `FunctionKeyFromExpr` naming for unaliased projections). | ||
| type AggProjKey<E extends string> = | ||
| ExtractAliasResult<E> extends { expr: infer X extends string; alias: infer A } | ||
| ? AggCallHead<X> extends infer F extends string | ||
| ? [F] extends [never] | ||
| ? never | ||
| : [A] extends [never] | ||
| ? F | ||
| : A extends string | ||
| ? A | ||
| : F | ||
| : never | ||
| : never; | ||
| // The aggregate name when the projection's call HEAD (the text before the | ||
| // FIRST paren) is a known aggregate and the expression is not a window | ||
| // application. Deliberately prefix-only — no trailing `)` requirement — so | ||
| // outer casts (`sum(...)::float8`) and trailing arithmetic (`sum(a) - sum(b)`, | ||
| // where NULL propagates anyway) still qualify; do NOT route through | ||
| // `StripOuterCast` here: it matches the LEFTMOST `::`, which an inner-arg cast | ||
| // (`sum(convert(p."amount"::numeric, …))::float8`) hijacks, truncating the | ||
| // expression. A non-aggregate head (`coalesce(...)`, `(select ...)`, | ||
| // `price * sum(b)`) yields never. | ||
| type AggCallHead<X extends string> = | ||
| Trim<X> extends `${string} over ${string}` | ||
| ? never | ||
| : Trim<X> extends `${infer F}(${string}` | ||
| ? Trim<F> extends AggFnName | ||
| ? Trim<F> | ||
| : never | ||
| : never; |
Sorry, the diff of this file is too big to display
1170638
3.84%13374
3.84%272
11.93%