@typesql/core 0.7.1 → 0.7.3

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 (54) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +11 -0
  3. package/dist/create-sql.d.ts +3 -0
  4. package/dist/create-sql.d.ts.map +1 -1
  5. package/dist/create-sql.js +30 -10
  6. package/dist/create-sql.js.map +1 -1
  7. package/dist/engine/ast.d.ts +2 -0
  8. package/dist/engine/ast.d.ts.map +1 -1
  9. package/dist/engine/cache.d.ts +1 -1
  10. package/dist/engine/infer.d.ts +25 -13
  11. package/dist/engine/infer.d.ts.map +1 -1
  12. package/dist/engine/lexer/lex.d.ts +22 -8
  13. package/dist/engine/lexer/lex.d.ts.map +1 -1
  14. package/dist/engine/named.d.ts +3 -1
  15. package/dist/engine/named.d.ts.map +1 -1
  16. package/dist/engine/parser/ddl.d.ts +14 -6
  17. package/dist/engine/parser/ddl.d.ts.map +1 -1
  18. package/dist/engine/parser/expr.d.ts +246 -343
  19. package/dist/engine/parser/expr.d.ts.map +1 -1
  20. package/dist/engine/parser/fast.d.ts +48 -0
  21. package/dist/engine/parser/fast.d.ts.map +1 -0
  22. package/dist/engine/parser/fast.js +2 -0
  23. package/dist/engine/parser/fast.js.map +1 -0
  24. package/dist/engine/parser/select.d.ts +180 -247
  25. package/dist/engine/parser/select.d.ts.map +1 -1
  26. package/dist/engine/parser/typename.d.ts +1 -1
  27. package/dist/engine/parser/typename.d.ts.map +1 -1
  28. package/dist/engine/parser/util.d.ts +9 -5
  29. package/dist/engine/parser/util.d.ts.map +1 -1
  30. package/dist/engine/typer/params.d.ts +14 -17
  31. package/dist/engine/typer/params.d.ts.map +1 -1
  32. package/dist/query.d.ts +2 -0
  33. package/dist/query.d.ts.map +1 -1
  34. package/dist/query.js +25 -24
  35. package/dist/query.js.map +1 -1
  36. package/dist/runtime/inline.d.ts.map +1 -1
  37. package/dist/runtime/inline.js +12 -8
  38. package/dist/runtime/inline.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/create-sql.ts +58 -12
  41. package/src/engine/ast.ts +6 -1
  42. package/src/engine/cache.ts +1 -1
  43. package/src/engine/infer.ts +74 -40
  44. package/src/engine/lexer/lex.ts +86 -18
  45. package/src/engine/named.ts +13 -1
  46. package/src/engine/parser/ddl.ts +59 -9
  47. package/src/engine/parser/expr.ts +304 -236
  48. package/src/engine/parser/fast.ts +212 -0
  49. package/src/engine/parser/select.ts +370 -274
  50. package/src/engine/parser/typename.ts +6 -1
  51. package/src/engine/parser/util.ts +15 -12
  52. package/src/engine/typer/params.ts +21 -55
  53. package/src/query.ts +30 -30
  54. package/src/runtime/inline.ts +12 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @typesql/core
2
2
 
3
+ ## 0.7.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Add reusable typed queries with sql.prepare(), compiling SQL and fixed fragments once before binding new parameter values.
8
+
9
+ - Fix PostgreSQL parse-tree disagreements in quoted types, function return types, and LIKE options.
10
+
11
+ - Speed up runtime query construction and inline parameter binding while preserving query execution behavior.
12
+
13
+ ## 0.7.2
14
+
15
+ ### Patch Changes
16
+
17
+ - Speed up uncached SQL type checking while preserving query inference and SQL helpers.
18
+
3
19
  ## 0.7.1
4
20
 
5
21
  ### Patch Changes
package/README.md CHANGED
@@ -59,6 +59,17 @@ sql("SELECT emial FROM users");
59
59
  | [`@typesql/drizzle`](https://www.npmjs.com/package/@typesql/drizzle) | Drizzle, with its schema |
60
60
  | [`@typesql/prisma`](https://www.npmjs.com/package/@typesql/prisma) | Prisma Client, with its schema |
61
61
 
62
+ ## Reusable queries
63
+
64
+ Compile a query once and bind different values with the same inferred types:
65
+
66
+ ```ts
67
+ const findUser = sql.prepare("SELECT id, email FROM users WHERE id = $1");
68
+ const query = findUser(7); // normal Query, with execute* methods
69
+ ```
70
+
71
+ Named parameters and fixed fragments work too. The `pg` and `postgres` adapters also request server-side preparation when these queries execute. See the [prepared query API](https://typesql.karsli.net/reference/api#sql-prepare-text-slots).
72
+
62
73
  ## Documentation
63
74
 
64
75
  The full guide is at **[typesql.karsli.net](https://typesql.karsli.net)**. It covers the [schema](https://typesql.karsli.net/guide/schema), [parameters](https://typesql.karsli.net/guide/parameters), [writing data](https://typesql.karsli.net/guide/writing-data), [dynamic SQL](https://typesql.karsli.net/guide/dynamic-sql), [migrations](https://typesql.karsli.net/guide/migrations), the [type cache](https://typesql.karsli.net/guide/performance) and [known limits](https://typesql.karsli.net/guide/limits).
@@ -268,6 +268,9 @@ type CallRet<DB, TM, Keys extends RowKeys, Q extends string> = [Q] extends [
268
268
  */
269
269
  export interface Sql<DB, TM, Keys extends RowKeys = "preserve"> {
270
270
  <const Q extends string>(query: GateCallCheck<DB, TM, Keys, Q> & Q, ...params: BoxCallArgs<DB, TM, Keys, Q>): CallRet<DB, TM, Keys, Q>;
271
+ /** Compile once, then bind fresh parameters on each call. Adapters may also prepare on the server. */
272
+ prepare<const Q extends string>(query: GateCallCheck<DB, TM, Keys, Q> & Q): (...params: BoxCallArgs<DB, TM, Keys, Q>) => CallRet<DB, TM, Keys, Q>;
273
+ prepare<const Q extends string, const S extends SlotMap>(query: GateSlottedCheck<DB, TM, Q, S> & Q, slots: S & SlotsFor<Q, S>): (...params: BoxSlottedArgs<DB, TM, Q, S>) => Query<KeyedRow<RowOf<DB, TM, SplicedOr<Q, S>>, Keys>, ParamsOf<DB, TM, SplicedOr<Q, S>>, SplicedOr<Q, S>>;
271
274
  <const Q extends string, const S extends SlotMap>(query: GateSlottedCheck<DB, TM, Q, S> & Q, slots: S & SlotsFor<Q, S>, ...params: BoxSlottedArgs<DB, TM, Q, S>): Query<KeyedRow<RowOf<DB, TM, SplicedOr<Q, S>>, Keys>, ParamsOf<DB, TM, SplicedOr<Q, S>>, SplicedOr<Q, S>>;
272
275
  /**
273
276
  * Escape hatch: bypass inference and assert the row type. Accepts slots, `:name` and inline
@@ -1 +1 @@
1
- {"version":3,"file":"create-sql.d.ts","sourceRoot":"","sources":["../src/create-sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-sql.d.ts","sourceRoot":"","sources":["../src/create-sql.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,18 @@ function isSlotMap(v) {
17
17
  }
18
18
  const SLOT_RE = /\{[A-Za-z_][A-Za-z0-9_]*\}/;
19
19
  const NAMED_RE = /(^|[^:]):[A-Za-z_]/;
20
+ function namedValues(names, args) {
21
+ const obj = args[0];
22
+ if (args.length !== 1 || obj === null || typeof obj !== "object") {
23
+ throw new Error("typesql: a statement with :name parameters takes exactly one object argument");
24
+ }
25
+ const record = obj;
26
+ return names.map((name) => {
27
+ if (!(name in record))
28
+ throw new Error(`typesql: missing named parameter :${name}`);
29
+ return takeValue(record[name]);
30
+ });
31
+ }
20
32
  /**
21
33
  * Same order as the types: `:name` → `$1..$k`, inline params → `$k+1…`, then fragments are
22
34
  * spliced with their parameters renumbered after those.
@@ -33,16 +45,7 @@ function build(text, rest) {
33
45
  if (NAMED_RE.test(text)) {
34
46
  const rn = rewriteNamedOnce(text);
35
47
  if (rn.names.length > 0) {
36
- const obj = outer[0];
37
- if (outer.length !== 1 || obj === null || typeof obj !== "object") {
38
- throw new Error("typesql: a statement with :name parameters takes exactly one object argument");
39
- }
40
- const record = obj;
41
- values = rn.names.map((n) => {
42
- if (!(n in record))
43
- throw new Error(`typesql: missing named parameter :${n}`);
44
- return takeValue(record[n]);
45
- });
48
+ values = namedValues(rn.names, outer);
46
49
  positional = rn.text;
47
50
  }
48
51
  }
@@ -62,6 +65,23 @@ export function createSql(executor, options) {
62
65
  return makeQuery(text, values, executor, rowKeys);
63
66
  };
64
67
  const api = Object.assign(call, {
68
+ prepare: (query, slots = {}) => {
69
+ const rn = rewriteNamedOnce(query);
70
+ const count = maxParam(rn.text);
71
+ const initial = new Array(count).fill(undefined);
72
+ const base = build(rn.text, initial);
73
+ const compiled = splice(base.text, slots, base.values);
74
+ const fixed = compiled.values.slice(count);
75
+ const prepared = executor?.prepare?.(compiled.text) ?? executor;
76
+ return (...args) => {
77
+ const values = rn.names.length > 0
78
+ ? namedValues(rn.names, args)
79
+ : args.map(takeValue);
80
+ if (values.length !== count)
81
+ throw new Error(`typesql: prepared query expects ${count} parameters, got ${values.length}`);
82
+ return makeQuery(compiled.text, [...values, ...fixed], prepared, rowKeys);
83
+ };
84
+ },
65
85
  as: (query, ...rest) => {
66
86
  const { text, values } = build(query, rest);
67
87
  return makeQuery(text, values, executor, rowKeys);
@@ -1 +1 @@
1
- {"version":3,"file":"create-sql.js","sourceRoot":"","sources":["../src/create-sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-sql.js","sourceRoot":"","sources":["../src/create-sql.ts"],"names":[],"mappings":"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"}
@@ -661,6 +661,8 @@ export type TableConstraint = {
661
661
  export type LikeClause = {
662
662
  readonly ref: TableRef;
663
663
  readonly defaults: boolean;
664
+ /** Independent parser flags; schema inference combines all default-producing kinds. */
665
+ readonly options?: "defaults" | "identity" | "generated";
664
666
  };
665
667
  export type CreateTable = {
666
668
  readonly t: "create_table";
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/engine/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/engine/ast.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ export interface DdlCacheKeys {
51
51
  * Version of the engine's output. An entry computed by another version is never used. It is a
52
52
  * hash of the type-level sources, kept up to date by `node scripts/cache-version.ts`.
53
53
  */
54
- export type CacheVersion = "0bcf710b83e8";
54
+ export type CacheVersion = "d87110ee3cda";
55
55
  /** A relation, function or catalog entry that did not exist when the entry was computed. */
56
56
  export interface Missing {
57
57
  readonly "typesql.missing": true;
@@ -7,6 +7,7 @@ import type { JsonValue } from "./inline.js";
7
7
  import type { Lex } from "./lexer/lex.js";
8
8
  import type { IdTok, Toks, WordTok } from "./lexer/tokens.js";
9
9
  import type { NamedParams, RewriteNamed } from "./named.js";
10
+ import type { FastSelect } from "./parser/fast.js";
10
11
  import type { IntoName } from "./parser/select.js";
11
12
  import type { ParseProgram } from "./parser/stmt.js";
12
13
  import type { Nx } from "./parser/util.js";
@@ -14,7 +15,7 @@ import type { ParamsOfDml } from "./project/dml.js";
14
15
  import type { ProjectStmt } from "./project/stmt.js";
15
16
  import type { WithHint } from "./suggest.js";
16
17
  import type { IntLitValue } from "./typer/operators.js";
17
- import type { MaxParam, NullTest, ParamMap, ParamsOfSelect, ParamsToMap } from "./typer/params.js";
18
+ import type { MaxParam, NullTest, ParamsOfSelect, ParamsToMap } from "./typer/params.js";
18
19
  import type { Cols, ColsToMap, Simplify } from "./types.js";
19
20
  /**
20
21
  * Full pipeline for one statement. Cached by TypeScript per `(DB, Q)`, so the three
@@ -23,14 +24,25 @@ import type { Cols, ColsToMap, Simplify } from "./types.js";
23
24
  * Result: `{ kind, cols, params, max, names, stmt }` or `SqlError<Message, TokenIndex>`.
24
25
  * `names` lists `:name` parameters in order of first appearance (`[]` for `$n` statements).
25
26
  */
26
- export type Analyze<DB, Q extends string> = RewriteNamed<Q> extends infer RN ? RN extends [infer Q1 extends string, infer Names] ? Lex<Q1> extends infer T ? T extends Toks ? ParseProgram<T> extends infer S ? S extends Stmt ? ProjectStmt<S, DB, [], {}> extends infer C ? C extends Cols | null ? {
27
+ export type Analyze<DB, Q extends string> = RewriteNamed<Q> extends infer RN ? RN extends [infer Q1 extends string, infer Names] ? FastSelect<Q1> extends infer F ? [F] extends [never] ? AnalyzeGeneral<DB, Q1, Names> : F extends {
28
+ stmt: infer S extends Stmt;
29
+ max: infer M extends number;
30
+ } ? ProjectStmt<S, DB, [], {}> extends infer C ? C extends Cols | null ? {
31
+ readonly kind: S["t"];
32
+ readonly cols: C;
33
+ readonly params: M extends 0 ? {} : ParamsToMap<ParamsOfStmt<S, DB>>;
34
+ readonly max: M;
35
+ readonly names: Names;
36
+ readonly stmt: S;
37
+ } : AnalyzeGeneral<DB, Q1, Names> : never : AnalyzeGeneral<DB, Q1, Names> : never : RN : never;
38
+ type AnalyzeGeneral<DB, Q1 extends string, Names> = Lex<Q1> extends infer T ? T extends Toks ? ParseProgram<T> extends infer S ? S extends Stmt ? ProjectStmt<S, DB, [], {}> extends infer C ? C extends Cols | null ? {
27
39
  readonly kind: S["t"];
28
40
  readonly cols: C;
29
41
  readonly params: MaxParam<T> extends 0 ? {} : ParamsToMap<ParamsOfStmt<S, DB>>;
30
42
  readonly max: MaxParam<T>;
31
43
  readonly names: Names;
32
44
  readonly stmt: S;
33
- } : Reposition<C, T, DB> : never : Reposition<S, T, DB> : never : T : never : RN : never;
45
+ } : Reposition<C, T, DB> : never : Reposition<S, T, DB> : never : T : never;
34
46
  /**
35
47
  * `Analyze` without `stmt`, from the type cache when it has a fresh entry for `(DB, Q)` (see
36
48
  * cache.ts). What the projections below read; `Analyze` itself is never cached.
@@ -89,9 +101,7 @@ type FindNumFrom<T extends Toks, I extends number, N extends string, Minus exten
89
101
  readonly v: "-";
90
102
  } ? I : null> : FindNumFrom<T, Nx<I>, N, null> : 0;
91
103
  /** Row type of a statement (`never` for DML without RETURNING and for DDL). */
92
- export type RowOf<DB, TM, Q extends string> = Analysis<DB, Q> extends {
93
- readonly cols: infer C;
94
- } ? C extends Cols ? BuildRow<ColsToMap<C>, TM, DB> : never : never;
104
+ export type RowOf<DB, TM, Q extends string> = Analysis<DB, Q>["cols" & keyof Analysis<DB, Q>] extends infer C ? C extends Cols ? BuildRow<ColsToMap<C>, TM, DB> : never : never;
95
105
  export type BuildRow<M extends {
96
106
  readonly [k: string]: {
97
107
  readonly type: string;
@@ -100,12 +110,16 @@ export type BuildRow<M extends {
100
110
  }, TM, DB> = Simplify<{
101
111
  -readonly [K in keyof M]: TsOf<TM, DB, M[K]>;
102
112
  }>;
103
- /** Parameter tuple of a statement. Untyped params are `unknown`. */
113
+ /**
114
+ * Parameter tuple of a statement. Untyped params are `unknown`.
115
+ * Read the parameter map by indexed access: inferring or constraining the whole map forces
116
+ * every nested parameter pass to resolve while relating union analyses from SQL fragments.
117
+ */
104
118
  export type ParamsOf<DB, TM, Q extends string> = Analysis<DB, Q> extends {
105
- readonly params: infer P extends ParamMap;
106
119
  readonly max: infer N extends number;
107
- } ? BuildParams<P, N, TM, DB, 1, []> : [];
108
- type BuildParams<P extends ParamMap, N extends number, TM, DB, I extends number, Acc extends unknown[]> = Acc["length"] extends N ? Acc : BuildParams<P, N, TM, DB, Inc<I>, [
120
+ } ? BuildParams<Analysis<DB, Q>["params" & keyof Analysis<DB, Q>], N, TM, DB, 1, [
121
+ ]> : [];
122
+ type BuildParams<P, N extends number, TM, DB, I extends number, Acc extends unknown[]> = Acc["length"] extends N ? Acc : BuildParams<P, N, TM, DB, Inc<I>, [
109
123
  ...Acc,
110
124
  ParamTs<P[I & keyof P], TM, DB>
111
125
  ]>;
@@ -128,9 +142,7 @@ type Inc<I extends number> = Nx<I>;
128
142
  * node-postgres sends a JS array as a Postgres array literal, so a json / jsonb parameter takes
129
143
  * no raw array, but a `sql.json(value)` (sent as JSON text by every driver) or any other value.
130
144
  */
131
- export type ArgsOf<DB, TM, Q extends string> = Analysis<DB, Q> extends {
132
- readonly params: infer P;
133
- } ? JsonArgs<ParamsOf<DB, TM, Q>, P> : [];
145
+ export type ArgsOf<DB, TM, Q extends string> = JsonArgs<ParamsOf<DB, TM, Q>, Analysis<DB, Q>["params" & keyof Analysis<DB, Q>]>;
134
146
  type JsonArgs<Ps, P> = {
135
147
  [I in keyof Ps]: I extends `${infer N extends number}` ? Nx<N> extends keyof P ? JsonArg<Ps[I], P[Nx<N>]> : Ps[I] : Ps[I];
136
148
  };
@@ -1 +1 @@
1
- {"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/engine/infer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EACX,cAAc,EACd,SAAS,EACT,YAAY,EACZ,cAAc,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,WAAW,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,IACvC,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,GAC7B,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,MAAM,KAAK,CAAC,GAChD,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,GACtB,CAAC,SAAS,IAAI,GACb,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAC9B,CAAC,SAAS,IAAI,GACb,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,GACzC,CAAC,SAAS,IAAI,GAAG,IAAI,GACpB;IACA,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GACnC,EAAE,GACF,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;CACjB,GACA,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GACrB,KAAK,GACN,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GACrB,KAAK,GACN,CAAC,GACF,KAAK,GACN,EAAE,GACH,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,GAC5E,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GACpC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAClB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,GACd,CAAC,GACF,KAAK,GACN,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAElB,KAAK,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,UAAU,GACzD,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GACpC,CAAC,SAAS,OAAO,GAChB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GAC7B,CAAC,SAAS;IACT,QAAQ,CAAC,CAAC,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,UAAU,CAAC;CACvC,GACA,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GACpC,KAAK,CAAC;AAEX;;;;;;GAMG;AACH,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,KAAK,IAC5C,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAClC,EAAE,SAAS,IAAI,GACd,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC/C,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GAChB,CAAC,CAAC;AAEN;;;;;;;GAOG;AACH,KAAK,WAAW,CACf,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,IAAI,IACX,CAAC,SAAS,YAAY,MAAM,IAAI,IAAI,MAAM,EAAE,GAC7C,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GACrB,CAAC,SACE,GAAG,MAAM,IAAI,OAAO,MAAM,EAAE,GAC5B,mBAAmB,MAAM,IAAI,aAAa,MAAM,EAAE,GAClD,sDAAsD,MAAM,IAAI,EAAE,GAClE,GAAG,MAAM,mBAAmB,MAAM,IAAI,WAAW,MAAM,EAAE,GAC3D,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GACrB,CAAC,SAAS,UAAU,MAAM,IAAI,MAAM,IAAI,IAAI,MAAM,EAAE,GACnD,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACtC,CAAC,SAAS,wCAAwC,GACjD,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,GACzB,CAAC,SAAS,qCAAqC,GAC9C,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAC1B,CAAC,SAAS,GAAG,MAAM,EAAE,IAAI,MAAM,aAAa,MAAM,CAAC,wBAAwB,GAC1E,WAAW,CACX,CAAC,EACD,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC7B,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAC/B,IAAI,CACJ,GACA,CAAC,SAAS,QAAQ,MAAM,EAAE,UAAU,MAAM,EAAE,GAC3C,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,CAAC,SAAS,GAAG,MAAM,EAAE,UAAU,MAAM,oBAAoB,GACxD,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,KAAK,YAAY,CAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,IAAI,IACX,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GAClD,SAAS,CACT,CAAC,EACD,IAAI,EAEJ,IAAI,SAAS,GAAG,MAAM,KAAK,IAAI,MAAM,EAAE,GACpC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAC1C,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CACxB,GACA,CAAC,CAAC;AACL,6DAA6D;AAC7D,KAAK,SAAS,CACb,CAAC,SAAS,IAAI,EACd,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,MAAM,IAChB,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AACjD,2EAA2E;AAC3E,KAAK,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,IAAI,MAAM,CAC7E,CAAC,EACD,OAAO,CAAC,EAAE,CAAC,EACX,IAAI,CACJ,CAAC;AACF,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,IAAI,SAAS,MAAM,IACjD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAC5C,CAAC,SAAS,CAAC,CAAC,GACX,IAAI,GACJ,CAAC,GACF,IAAI,CAAC;AACT,iEAAiE;AACjE,KAAK,OAAO,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;IAChE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACnB,GACE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GACb,CAAC,GACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GACjB,EAAE,CAAC,CAAC,CAAC,GACL,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GACrB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GACzB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACb,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC,CAAC,CAAC;AACN;;;GAGG;AACH,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,IACzD,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,GACzB,IAAI,SAAS,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,GACvC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9B,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GACf,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC;;;;GAIG;AACH,KAAK,WAAW,CACf,CAAC,SAAS,IAAI,EACd,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,KAAK,SAAS,MAAM,GAAG,IAAI,IACxB,CAAC,CAAC,CAAC,CAAC,SAAS;IAChB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACnB,GACE,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CAAE,GACnE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GACvB,KAAK,SAAS,MAAM,GACnB,KAAK,GACL,CAAC,GACF,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAC/B,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,GACtD,WAAW,CACX,CAAC,EACD,EAAE,CAAC,CAAC,CAAC,EACL,CAAC,EACD,KAAK,SAAS,MAAM,GACjB,KAAK,GACL,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAA;CAAE,GAC/B,CAAC,GACD,IAAI,CACR,GACA,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAChC,CAAC,CAAC;AACL,+EAA+E;AAC/E,MAAM,MAAM,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,MAAM,IACzC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/C,CAAC,SAAS,IAAI,GACb,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAC9B,KAAK,GACN,KAAK,CAAC;AAEV,MAAM,MAAM,QAAQ,CACnB,CAAC,SAAS;IACT,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5E,EACD,EAAE,EACF,EAAE,IACC,QAAQ,CAAC;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAAC;AAE/D,oEAAoE;AACpE,MAAM,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,MAAM,IAC5C,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,QAAQ,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CACrC,GACE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAChC,EAAE,CAAC;AAEP,KAAK,WAAW,CACf,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,MAAM,EAChB,EAAE,EACF,EAAE,EACF,CAAC,SAAS,MAAM,EAChB,GAAG,SAAS,OAAO,EAAE,IAClB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GACxB,GAAG,GACH,WAAW,CACX,CAAC,EACD,CAAC,EACD,EAAE,EACF,EAAE,EACF,GAAG,CAAC,CAAC,CAAC,EACN;IAAC,GAAG,GAAG;IAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;CAAC,CACzC,CAAC;AACJ;;;;;;GAMG;AACH,KAAK,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IACrB,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,GACxD,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAClB,KAAK,GACL,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpE,CAAC,GAAG,IAAI,GACR,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACrC,CAAC,GACD,CAAC,GAAG,IAAI,GACX,KAAK,CAAC;AACV,KAAK,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAC/B,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CAAE,GAChD,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,GACrC,KAAK,CACR,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC3B,CAAC,GACD,KAAK,CAAC;AACT,KAAK,GAAG,CAAC,CAAC,SAAS,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,MAAM,IAC1C,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAChC,EAAE,CAAC;AACP,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,GACnD,EAAE,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GACpB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACxB,EAAE,CAAC,CAAC,CAAC,GACN,EAAE,CAAC,CAAC,CAAC;CACR,CAAC;AACF,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAAC,SAAS;IAC9E,KAAK;CACL,GACE,CAAC,GACD,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACxB;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC5B,CAAC,OAAO,SAAS,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,GACpE,SAAS,GACT,iBAAiB,CAAC;AACrB;;;GAGG;AACH,KAAK,aAAa,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,IAAI,GACJ,SAAS,GACT,CAAC,MAAM,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GACtC;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAChE,uDAAuD;AACvD,UAAU,iBAAiB;IAC1B,QAAQ,CAAC,sCAAsC,EAAE,KAAK,CAAC;CACvD;AAED,gGAAgG;AAChG,MAAM,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,IACvC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,MAAM,IAC9C,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,SAAS,MAAM,EAAE,GACrD,CAAC,SAAS,SAAS,EAAE,GACpB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACjB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAC5C,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,IACxC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAEtE,mDAAmD;AACnD,MAAM,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,IACtC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,GAC1E,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAC/B,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAClB,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,GAClB,CAAC,GACF,KAAK,GACN,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEtB,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../src/engine/infer.ts"],"names":[],"mappings":"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"}
@@ -21,17 +21,29 @@ type Nx<I extends number> = Next[I];
21
21
  * Helpers that can fail (`TakeQuoted`, `SkipBlock`) return `null`, never
22
22
  * `never`: `never extends [infer A, infer B]` takes the true branch.
23
23
  */
24
- export type Lex<Q extends string> = LexAll<Q, []>;
24
+ export type Lex<Q extends string> = LexLines<Q, []>;
25
+ /**
26
+ * Lex complete lines independently so statements and fragment alternatives share tokens for
27
+ * identical lines. A line that fails may open a multiline token: retry its full remaining
28
+ * text, retaining the original token index and error snippet. The budget bounds this extra
29
+ * recursion; the original chunked scanner handles the remaining input after it runs out.
30
+ */
31
+ type LexLines<S extends string, Acc extends readonly unknown[], B extends number = 0> = B extends ChunkSize ? LexCommas<S, Acc> : S extends `${infer Line}\n${infer Rest}` ? CanSplitLine<Line, Rest> extends false ? LexCommas<S, Acc> : LexCommas<Line, []> extends infer R ? R extends readonly unknown[] ? LexLines<Rest, [...Acc, ...R], Nx<B>> : LexCommas<S, Acc> : never : LexCommas<S, Acc>;
32
+ /** A comma is a lexical boundary unless it lies in an unfinished quote or comment. */
33
+ type LexCommas<S extends string, Acc extends readonly unknown[], B extends number = 0> = B extends ChunkSize ? LexAll<S, Acc> : S extends `${infer Part},${infer Rest}` ? Part extends `${string}--${string}` ? LexAll<S, Acc> : LexAll<Part, []> extends infer R ? R extends readonly unknown[] ? LexCommas<Rest, [...Acc, ...R, OpTok<",">], Nx<B>> : LexAll<S, Acc> : never : LexAll<S, Acc>;
34
+ /** Unicode UESCAPE and adjacent quoted-string continuations can consume the next line. */
35
+ type CanSplitLine<Line extends string, Rest extends string> = Line extends `${string}${"U&" | "u&"}${string}` ? false : Line extends `${string}'${string}` ? NextLineQuote<Rest> extends true ? false : true : true;
36
+ type NextLineQuote<S extends string, B extends number = 0> = B extends ChunkSize ? true : S extends `${Ws}${infer R}` ? NextLineQuote<R, Nx<B>> : S extends `'${string}` ? true : false;
25
37
  /** Iterations per chunk: restart the loop before the 1000-iteration tail-recursion cap. */
26
38
  type ChunkSize = 250;
27
- type LexAll<S extends string, Acc extends readonly Tok[]> = LexChunk<S, [], 0> extends infer R ? R extends ["done", infer T extends readonly Tok[]] ? [...Acc, ...T] : R extends [
39
+ type LexAll<S extends string, Acc extends readonly unknown[]> = LexChunk<S, [], 0> extends infer R ? R extends ["done", infer T extends readonly unknown[]] ? [...Acc, ...T] : R extends [
28
40
  "more",
29
- infer T extends readonly Tok[],
41
+ infer T extends readonly unknown[],
30
42
  infer Rest extends string
31
43
  ] ? LexAll<Rest, [...Acc, ...T]> : R extends [
32
44
  "err",
33
45
  infer M extends string,
34
- infer T extends readonly Tok[]
46
+ infer T extends readonly unknown[]
35
47
  ] ? SqlError<M, [...Acc, ...T]["length"]> : never : never;
36
48
  type LexChunk<S extends string, Acc extends readonly Tok[], B extends number> = S extends "" ? ["done", Acc] : B extends ChunkSize ? ["more", Acc, S] : LexStep<S, Acc, Nx<B>>;
37
49
  /** Error marker carrying the chunk-local tokens so the outer loop can compute the token index. */
@@ -84,7 +96,10 @@ type JunkAt<R extends string> = R extends `${infer C}${infer R1}` ? C extends No
84
96
  /** The identifier characters at the start of `R`. */
85
97
  type IdRun<R extends string, Acc extends string = ""> = R extends `${infer C}${infer R1}` ? C extends NonIdAscii ? Acc : IdRun<R1, `${Acc}${C}`> : Acc;
86
98
  /** An unquoted identifier or keyword starting with `C`, its ASCII letters folded to lowercase. */
87
- type LexWord<R extends string, C extends string, Acc extends readonly Tok[], B extends number> = TakeWord<R, C> extends [infer V extends string, infer R2 extends string] ? LexChunk<R2, [...Acc, WordTok<FoldAscii<V, "">>], B> : never;
99
+ type LexWord<R extends string, C extends string, Acc extends readonly Tok[], B extends number> = TakeWord<R, C extends Upper ? Lowercase<C> : C> extends [
100
+ infer V extends string,
101
+ infer R2 extends string
102
+ ] ? LexChunk<R2, [...Acc, WordTok<V>], B> : never;
88
103
  /**
89
104
  * After operator character `C` (Postgres `scan.l`): `--` and a block comment, a single-character
90
105
  * operator (the common case: no other operator character follows), or the longest run of
@@ -123,9 +138,8 @@ type TakeEString<S extends string, Acc extends string> = TakeEscaped<S, ""> exte
123
138
  type Continuation<R extends string> = R extends `${infer W}'${infer R1}` ? W extends `${string}\n${string}` ? AllWs<W> extends true ? R1 : null : null : null;
124
139
  type AllWs<W extends string> = W extends `${infer C}${infer R}` ? C extends Ws ? AllWs<R> : false : true;
125
140
  /** The identifier characters (all but `NonIdAscii`) at the start of `S`, after `Acc`: `[word, rest]`. */
126
- type TakeWord<S extends string, Acc extends string> = S extends `${infer C}${infer R}` ? C extends NonIdAscii ? [Acc, S] : TakeWord<R, `${Acc}${C}`> : [Acc, S];
127
- /** Lowercase ASCII letters only (Postgres folding in UTF-8 databases). */
128
- type FoldAscii<S extends string, Acc extends string> = S extends `${infer C}${infer R}` ? FoldAscii<R, `${Acc}${C extends Upper ? Lowercase<C> : C}`> : Acc;
141
+ type TakeWord<S extends string, Acc extends string> = S extends `${infer A}${infer B}${infer C}${infer D}${infer R}` ? A extends NonIdAscii ? [Acc, S] : B extends NonIdAscii ? [`${Acc}${FoldChar<A>}`, `${B}${C}${D}${R}`] : C extends NonIdAscii ? [`${Acc}${FoldChar<A>}${FoldChar<B>}`, `${C}${D}${R}`] : D extends NonIdAscii ? [`${Acc}${FoldChar<A>}${FoldChar<B>}${FoldChar<C>}`, `${D}${R}`] : TakeWord<R, `${Acc}${FoldChar<A>}${FoldChar<B>}${FoldChar<C>}${FoldChar<D>}`> : S extends `${infer C}${infer R}` ? C extends NonIdAscii ? [Acc, S] : TakeWord<R, `${Acc}${FoldChar<C>}`> : [Acc, S];
142
+ type FoldChar<C extends string> = C extends Upper ? Lowercase<C> : C;
129
143
  type TakeDigits<S extends string, Acc extends string> = S extends `${infer C}${infer R}` ? C extends Digit ? TakeDigits<R, `${Acc}${C}`> : [Acc, S] : [Acc, S];
130
144
  /**
131
145
  * `0x…`, `0o…`, `0b…`, or `digits [ . [digits] ] [ e [+-] digits ]` (or `. digits …`), with