@typesql/core 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +35 -91
  3. package/dist/engine/ast.d.ts +6 -1
  4. package/dist/engine/ast.d.ts.map +1 -1
  5. package/dist/engine/binder/clauses.d.ts +24 -7
  6. package/dist/engine/binder/clauses.d.ts.map +1 -1
  7. package/dist/engine/binder/from.d.ts +21 -15
  8. package/dist/engine/binder/from.d.ts.map +1 -1
  9. package/dist/engine/binder/narrow.d.ts +5 -2
  10. package/dist/engine/binder/narrow.d.ts.map +1 -1
  11. package/dist/engine/binder/resolve.d.ts +13 -9
  12. package/dist/engine/binder/resolve.d.ts.map +1 -1
  13. package/dist/engine/cache.d.ts +15 -12
  14. package/dist/engine/cache.d.ts.map +1 -1
  15. package/dist/engine/ddl/apply.d.ts +34 -19
  16. package/dist/engine/ddl/apply.d.ts.map +1 -1
  17. package/dist/engine/errors.d.ts +0 -4
  18. package/dist/engine/errors.d.ts.map +1 -1
  19. package/dist/engine/infer.d.ts +20 -13
  20. package/dist/engine/infer.d.ts.map +1 -1
  21. package/dist/engine/inline.d.ts +5 -5
  22. package/dist/engine/inline.d.ts.map +1 -1
  23. package/dist/engine/json.d.ts +30 -25
  24. package/dist/engine/json.d.ts.map +1 -1
  25. package/dist/engine/lexer/lex.d.ts +27 -18
  26. package/dist/engine/lexer/lex.d.ts.map +1 -1
  27. package/dist/engine/lexer/tokens.d.ts +6 -1
  28. package/dist/engine/lexer/tokens.d.ts.map +1 -1
  29. package/dist/engine/lexer/unicode.d.ts +16 -10
  30. package/dist/engine/lexer/unicode.d.ts.map +1 -1
  31. package/dist/engine/parser/ddl.d.ts +11 -8
  32. package/dist/engine/parser/ddl.d.ts.map +1 -1
  33. package/dist/engine/parser/dml.d.ts +35 -62
  34. package/dist/engine/parser/dml.d.ts.map +1 -1
  35. package/dist/engine/parser/expr.d.ts +22 -7
  36. package/dist/engine/parser/expr.d.ts.map +1 -1
  37. package/dist/engine/parser/merge.d.ts +10 -19
  38. package/dist/engine/parser/merge.d.ts.map +1 -1
  39. package/dist/engine/parser/select.d.ts +20 -19
  40. package/dist/engine/parser/select.d.ts.map +1 -1
  41. package/dist/engine/parser/stmt.d.ts +11 -15
  42. package/dist/engine/parser/stmt.d.ts.map +1 -1
  43. package/dist/engine/parser/typename.d.ts +4 -7
  44. package/dist/engine/parser/typename.d.ts.map +1 -1
  45. package/dist/engine/parser/utility.d.ts +19 -12
  46. package/dist/engine/parser/utility.d.ts.map +1 -1
  47. package/dist/engine/project/dml.d.ts +24 -34
  48. package/dist/engine/project/dml.d.ts.map +1 -1
  49. package/dist/engine/project/merge.d.ts +8 -5
  50. package/dist/engine/project/merge.d.ts.map +1 -1
  51. package/dist/engine/project/naming.d.ts +9 -9
  52. package/dist/engine/project/naming.d.ts.map +1 -1
  53. package/dist/engine/splice.d.ts +3 -6
  54. package/dist/engine/splice.d.ts.map +1 -1
  55. package/dist/engine/suggest.d.ts +1 -1
  56. package/dist/engine/suggest.d.ts.map +1 -1
  57. package/dist/engine/typer/catalog.d.ts +27 -29
  58. package/dist/engine/typer/catalog.d.ts.map +1 -1
  59. package/dist/engine/typer/params.d.ts +30 -23
  60. package/dist/engine/typer/params.d.ts.map +1 -1
  61. package/dist/engine/typer/typeof.d.ts +85 -15
  62. package/dist/engine/typer/typeof.d.ts.map +1 -1
  63. package/dist/engine/types.d.ts +4 -17
  64. package/dist/engine/types.d.ts.map +1 -1
  65. package/dist/engine/write.d.ts +5 -4
  66. package/dist/engine/write.d.ts.map +1 -1
  67. package/package.json +1 -5
  68. package/src/engine/ast.ts +6 -1
  69. package/src/engine/binder/clauses.ts +86 -56
  70. package/src/engine/binder/from.ts +45 -41
  71. package/src/engine/binder/narrow.ts +17 -11
  72. package/src/engine/binder/resolve.ts +25 -12
  73. package/src/engine/cache.ts +40 -27
  74. package/src/engine/ddl/apply.ts +158 -133
  75. package/src/engine/errors.ts +0 -10
  76. package/src/engine/infer.ts +64 -38
  77. package/src/engine/inline.ts +35 -33
  78. package/src/engine/json.ts +64 -84
  79. package/src/engine/lexer/lex.ts +100 -34
  80. package/src/engine/lexer/tokens.ts +6 -1
  81. package/src/engine/lexer/unicode.ts +43 -83
  82. package/src/engine/parser/ddl.ts +43 -32
  83. package/src/engine/parser/dml.ts +84 -142
  84. package/src/engine/parser/expr.ts +40 -12
  85. package/src/engine/parser/merge.ts +27 -42
  86. package/src/engine/parser/select.ts +43 -34
  87. package/src/engine/parser/stmt.ts +28 -20
  88. package/src/engine/parser/typename.ts +4 -7
  89. package/src/engine/parser/utility.ts +45 -37
  90. package/src/engine/project/dml.ts +61 -91
  91. package/src/engine/project/merge.ts +12 -12
  92. package/src/engine/project/naming.ts +11 -12
  93. package/src/engine/splice.ts +14 -19
  94. package/src/engine/suggest.ts +9 -9
  95. package/src/engine/typer/catalog.ts +86 -66
  96. package/src/engine/typer/params.ts +62 -74
  97. package/src/engine/typer/pg-functions.ts +55 -55
  98. package/src/engine/typer/typeof.ts +158 -32
  99. package/src/engine/types.ts +8 -27
  100. package/src/engine/write.ts +13 -19
  101. package/dist/editor/call.d.ts +0 -33
  102. package/dist/editor/call.d.ts.map +0 -1
  103. package/dist/editor/call.js +0 -97
  104. package/dist/editor/call.js.map +0 -1
  105. package/dist/editor/complete.d.ts +0 -42
  106. package/dist/editor/complete.d.ts.map +0 -1
  107. package/dist/editor/complete.js +0 -213
  108. package/dist/editor/complete.js.map +0 -1
  109. package/dist/editor/index.d.ts +0 -10
  110. package/dist/editor/index.d.ts.map +0 -1
  111. package/dist/editor/index.js +0 -38
  112. package/dist/editor/index.js.map +0 -1
  113. package/dist/editor/scan.d.ts +0 -53
  114. package/dist/editor/scan.d.ts.map +0 -1
  115. package/dist/editor/scan.js +0 -754
  116. package/dist/editor/scan.js.map +0 -1
  117. package/dist/editor/schema.d.ts +0 -37
  118. package/dist/editor/schema.d.ts.map +0 -1
  119. package/dist/editor/schema.js +0 -132
  120. package/dist/editor/schema.js.map +0 -1
  121. package/src/editor/call.ts +0 -168
  122. package/src/editor/complete.ts +0 -282
  123. package/src/editor/index.ts +0 -60
  124. package/src/editor/scan.ts +0 -841
  125. package/src/editor/schema.ts +0 -187
package/CHANGELOG.md CHANGED
@@ -1,5 +1,89 @@
1
1
  # @typesql/core
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - `@typesql/core/editor` is removed: editor completions moved to `@typesql/language-server`, which the VS Code extension bundles.
8
+
9
+ ### Patch Changes
10
+
11
+ - `SELECT … INTO` inside a WITH query is rejected with PostgreSQL's `SELECT ... INTO is not allowed here` (it was read as a data-modifying WITH query), and that error points at the new table's name, as in PostgreSQL.
12
+
13
+ - Lexer errors read like PostgreSQL's: an unterminated literal names where it starts (`unterminated quoted string at or near "'abc"`, `unterminated bit string literal …`), and a character no token starts with is `syntax error at or near "\\"`.
14
+
15
+ - `UPDATE … SET (a) = x` with a source that is neither `ROW(…)` nor a subquery is an error, as in PostgreSQL (`source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression`).
16
+
17
+ - A window function in the operand of `IN (SELECT …)` is checked like any other (`window "w" does not exist`).
18
+
19
+ - `SELECT … INTO` without a table name is a syntax error, as in PostgreSQL, instead of being accepted.
20
+
21
+ - `$1 BETWEEN a AND b` types the parameter as `a` (`$1 BETWEEN id AND big` → `number`, not `string | number | bigint`), as in PostgreSQL, which resolves `$1 >= a` first.
22
+
23
+ - Bit strings (`B'101'`, `X'1F'`) are typed `bit` instead of `text`, and a digit that does not belong is an error (`"2" is not a valid binary digit`), as in PostgreSQL.
24
+
25
+ - `DECLARE` rejects contradictory options (`ASENSITIVE` with `INSENSITIVE`, `SCROLL` with `NO SCROLL`), and errors after `NO`, `WITH` / `WITHOUT` and a lone sign in `FETCH` point at the token PostgreSQL names.
26
+
27
+ - Subscripts of `point`, `line` (`float8`), `lseg`, `box` (`point`) and `name` (`"char"`) are typed as in PostgreSQL instead of `unknown`, and a `UESCAPE` at the end of the statement reports `UESCAPE must be followed by a simple string literal at end of input`.
28
+
29
+ - Syntax errors after a `WITH` that is not followed by `(` in CREATE TABLE / VIEW, after `UPDATE` without `SET` or `DO` without `NOTHING` in a MERGE action, and after an `AS` without a label point at the token PostgreSQL points at.
30
+
31
+ - A call decoration the function does not take is an error, as in PostgreSQL: `*`, `DISTINCT`, `FILTER` or `OVER` on a plain function (`lower(x) FILTER (…)`), a window function without `OVER`, and `count()` without `*`.
32
+
33
+ - A parameter in a numeric-category argument (`abs($1)`, `width_bucket($1, …)`) is `float8` (`number`) instead of `numeric`, and `to_tsvector($1)` / `ts_headline($1, …)` take text instead of jsonb, as PostgreSQL resolves them.
34
+
35
+ - A JSON step that misses (`x -> 'nope'`, an index past the end, a key on an array) is SQL NULL, so `coalesce(x -> 'nope', '[]')` is typed `[]` instead of `[] | null`.
36
+
37
+ - Subscripts in a row on an array (`a[1][2]`, `a[1][1:2]`) apply to the array together, as in PostgreSQL: they are typed as its element, or as the array when one is a slice, instead of `unknown`.
38
+
39
+ - Error messages name the `"char"` and `bit varying` types as PostgreSQL does (`cannot subscript type bit varying …`).
40
+
41
+ - A column of `CREATE TABLE … AS SELECT NULL AS x` or of a view over `SELECT NULL` is `text`, as in PostgreSQL, instead of a column that only takes `null`.
42
+
43
+ - A window function inside the array of `x = ANY (ARRAY[…])` is checked like any other (`window "w" does not exist`).
44
+
45
+ - An array slice is nullable when a bound is (`nums[n:2]`, `nums[NULL:2]`), as in PostgreSQL, and a subscript chain with a slice (`nums[1][1:2]`) is NULL only through a NULL array or subscript (out of range it is an empty array).
46
+
47
+ - `SUBSTRING` and `OVERLAY` of a `varbit` are typed `bit`, as in PostgreSQL.
48
+
49
+ - Subscripting an enum (`mood[1]`, in a query or as an assignment target) reports PostgreSQL's `cannot subscript type mood because it does not support subscripting`.
50
+
51
+ - The README is shorter: install, one example and links to the docs site, which now has the details it used to repeat.
52
+
53
+ - A sort order in an `ON CONFLICT` target (`ON CONFLICT (email DESC)`, `NULLS FIRST`) is an error, as in PostgreSQL.
54
+
55
+ - An ORDER BY / GROUP BY position written with leading zeros (`ORDER BY 01`) is that position, and one past the int4 range is a non-integer constant, as in PostgreSQL.
56
+
57
+ - `x IN (SELECT …)` and `x = ANY (SELECT …)` over a subquery without columns report `subquery has too few columns`, as PostgreSQL does.
58
+
59
+ - "Trailing junk" errors quote the whole junk token (`123abc`, `100__000`, `$0_1`), and invalid Unicode escapes in `E'…'` strings say where they are, as PostgreSQL does.
60
+
61
+ - An assignment target with `.*` (`SET col.* = …`, `INSERT INTO t (col.*)`) reports PostgreSQL's `row expansion via "*" is not supported here` at the column.
62
+
63
+ - Subscripting a value of a type without subscripts (`json`, `text`, …) is an error in any expression, and a `jsonb` slice is too, as in PostgreSQL; they were typed `unknown`.
64
+
65
+ - `ORDER BY` / `GROUP BY` / `DISTINCT ON` position errors (`ORDER BY position 2 is not in select list`) point at the number, as in PostgreSQL.
66
+
67
+ - A national character literal `N'abc'` is a `character` value (`string`), as in PostgreSQL, instead of `unknown`.
68
+
69
+ - `SELECT DISTINCT *` checks its ORDER BY too: an expression that is not in the select list (`ORDER BY id + 1`) is an error, as in PostgreSQL.
70
+
71
+ - A row compared with a subquery (`(a, b) = (SELECT x, y …)`) is a nullable boolean and needs a subquery of the same width, as in PostgreSQL; it was rejected as a scalar subquery with more than one column.
72
+
73
+ - DDL errors name relations as PostgreSQL does: a missing schema in `ALTER TABLE`, `DROP TABLE`, `INHERITS` or `LIKE` reports `schema "s" does not exist`, a missing relation there is spelled as written (`relation "public.t" does not exist`), `DROP` / `is not a table` messages use the bare name, and two parents with different column types report `inherited column "x" has a type conflict`.
74
+
75
+ - A typed literal with a schema-qualified type name, `pg_catalog.int4 '1'`, is accepted (the schema is dropped, as in casts) instead of being a syntax error.
76
+
77
+ - A missing relation written with `public.` keeps it in the error (`relation "public.t" does not exist`), and errors about a schema-qualified name point at the name, as in PostgreSQL.
78
+
79
+ - `INSERT INTO t AS excluded … ON CONFLICT DO UPDATE SET c = excluded.c` is an error (`table reference "excluded" is ambiguous`), as in PostgreSQL.
80
+
81
+ - Syntax errors in `1 + ANY 2`, `f(1 => x)`, `current_date()` and `localtime('a')` point at the token PostgreSQL points at, and `current_user(1)` is a syntax error, as in PostgreSQL.
82
+
83
+ - The merged column of `FULL JOIN … USING` / `NATURAL FULL JOIN` is nullable when either side's column is (a row without a match carries that side's NULL), as in PostgreSQL; it was non-null unless both were nullable.
84
+
85
+ - `U&'…' uescapeé` (UESCAPE followed by a non-ASCII letter) reads as an alias, as in PostgreSQL, instead of an error.
86
+
3
87
  ## 0.5.0
4
88
 
5
89
  ### Minor Changes
package/README.md CHANGED
@@ -1,124 +1,68 @@
1
1
  # @typesql/core
2
2
 
3
- Type-level Postgres SQL for TypeScript. You write a SQL string literal; the compiler parses it
4
- **inside the type system** and gives you the exact row type, the parameter types, and (for DDL)
5
- the resulting schema. No codegen, no database connection, no build step. Zero runtime
6
- dependencies.
3
+ Write Postgres SQL in TypeScript and get exact types for rows and parameters. TypeSQL parses your SQL inside the type checker: no codegen, no database connection, no build step.
7
4
 
8
- Tested against PostgreSQL's own regression suite: on all 49,999 statements of PostgreSQL 18's
9
- regression tests that can be checked statically, the parser accepts exactly what Postgres accepts
10
- and rejects its syntax errors ([how it is tested](https://typesql.karsli.net/guide/postgres-compatibility)).
5
+ ## Install
11
6
 
12
7
  ```sh
13
- pnpm add @typesql/core
8
+ npm install @typesql/core
14
9
  ```
15
10
 
16
- [Open an example in the TypeScript Playground](https://www.typescriptlang.org/play/#code/PTAEBUE8AcFMGUCKAZAXKACgewM4BcBzAJ1h1CWQBpRoBDInWAE1ACNIIYEBjIgS2h4A5GTxdQOSPlgBbAHSgAokz55QeABaxyKULQB2LDVgBusIuq3quOVACgQoIlgDuZAyzpFaM2HnNkAGZYADYhrtQeoDJ8+LQA1qR6JKDcWDLQfCHa5s4MoFj6ltr4-PoEcnZ8GVhEagDedgCQYnCgAMKhlM28sLT+8ACOId0t4gDisPrm-cyjrdoAcgCuYbSs2fPiGPQ+OFBwW20ASq4HsN0AvqCBzjKgAEQAAgs4w8BpJA8A3HZV+v4iIFaNxtAARABCoEaTWWjAY6BhTT4THQk2m3n8TAAPA8+ACACwPAB831Ajg0tHcoCYsGBqzw6Cwgj4hVoIQKRQAkot4IpjuBmk1ZLQsuhOiFcf4AB54Em-JpNFQ4aAhWiQAD6+h8sHQKzWG1gUtgsvlQt6syYGv6aKmMyxUuqpDwPkEAC8zU1LgroLg8LZoUKUbaMZbcfi8AAOT1NWjLTS1DXBjqhcOEmN4VTZcWph4yuWkoWsLBMSB61Zqw3G02Fr2-S5-NL6fASYagAC8qRIsyGkshxIAFABKX4OMDIRQAMXAoAAUgB5HnRBJJTTafgEDRqHAo7T6CvrbJkgAkAEZ1CuyKpROJbulQMs5CjKk2W4MO62QgPmgADPkT9oZ0fFFqEfEUsmoaA5EzPBsjsUAEMQpDkMnY55wAWQfeEyGWUAJ2nOdF0WGg-TIaBQHnYioLjBMiCTFhO2Aph4OQ1jEIAdQACX5RQHyfBjQDPH9RgAdm6Ec7AWUBThcD8ZPObEFiwQJQEGQtHAQgA9AB+STtl2GQyE7HZvEMhSlJUtTfg00AdL+RwAEECGIWACFmdxDFSUJlhkIptV8IJQnCWTsHwFyAzSZYAQHAAqIdQFiBKAUjSIJDwMoCAfQxzFAfQS1gABaX0wpIHAX0KFs4n9D83i-X9-0UQC9HjYw6JAryorwWKh2oGRaGlAcYOyeKHPgUA1X8FtUIwkj8DIcY0IAVQwUAIQATWa2j6OEuwJKk+AXWqzt5K4RSuGUtL+hwdSwC03Sx1ALl9BCfFtBMdlliSegSimNQqUEoovB1QEPJYbgtG4RIWFoNz8RbFwtBSNcOG+rDmHK5s1HAjlOweWgmFoJ4TVdbI5DSGQfjsV81AtLEauGb8mh-Hk+QFR7FnAec0fyAdsfigA1BzkEWxQxoHY96lquQgZkXm+qyIdLni45FHARbjkWHlxgSphqFp5hrTwHa9vEdpuzp46zlOiyuz6LEbsQuyHvQ2IXUSdwUnJzJslAXJajIQpih0ZA0oyhRJz4aVihkexaoHP9FAAmd9F8UBpswuEAh-EdyTAP2iHQNIQh8ooHhT2AHhpLAkjyrHpVduw4+Z3l+RnHlOdm6rBqzWABaFkWxbPIdhMeTjYDCLAHhzxx8-QGjWvohKyEWecZ0WRbkBDqJKTIPKaTpOMQjwOwgA) <!-- playground:core --> to hover the types and edit the SQL, with nothing to install.
17
-
18
- Add the adapter for your driver to run queries: [`@typesql/pg`](https://www.npmjs.com/package/@typesql/pg)
19
- (node-postgres) or [`@typesql/postgres`](https://www.npmjs.com/package/@typesql/postgres)
20
- (postgres.js). Already describing your database for an ORM? `@typesql/kysely`,
21
- `@typesql/drizzle` and `@typesql/prisma` take the schema from it.
11
+ Requires TypeScript 7.1 or later and Node.js 26 or later.
22
12
 
23
13
  ## Usage
24
14
 
15
+ Describe your tables with Postgres type names, then write queries:
16
+
25
17
  ```ts
26
18
  import { createSql, type Col, type Generated, type Nullable } from "@typesql/core";
27
19
 
28
20
  interface DB {
29
21
  users: {
30
- id: Generated<"int4">; // has a default → optional on INSERT
31
- email: Col<"text">;
32
- display_name: Nullable<"text">;
33
- created_at: Generated<"timestamptz">;
22
+ id: Generated<"int4">; // has a default, so optional on INSERT
23
+ email: Col<"text">; // NOT NULL
24
+ display_name: Nullable<"text">; // NULL allowed
34
25
  };
35
26
  posts: {
36
27
  id: Generated<"int8">;
37
28
  author_id: Col<"int4">;
38
29
  title: Col<"text">;
39
- body: Nullable<"text">;
40
30
  };
41
31
  }
42
32
 
43
33
  const sql = createSql<DB>();
44
34
 
45
- const q = sql(`SELECT u.id, u.email, p.title
46
- FROM users u LEFT JOIN posts p ON p.author_id = u.id
47
- WHERE u.id = $1`, 7);
48
- // ^? Query<{ id: number; email: string; title: string | null }, [number | null]>
49
-
50
- q.text; // the SQL, sent to Postgres as is
51
- q.values; // [7]
52
-
53
- sql("SELECT nme FROM users");
54
- // ~~~~~~~~~~~~~~~~~~~~~~ SqlError<"column \"nme\" does not exist", 1>
35
+ const query = sql(
36
+ `SELECT u.email, p.title
37
+ FROM users u LEFT JOIN posts p ON p.author_id = u.id
38
+ WHERE u.id = $1`,
39
+ 7,
40
+ );
41
+ // row: { email: string; title: string | null }
42
+ // params: [number | null]
43
+
44
+ sql("SELECT emial FROM users");
45
+ // error: column "emial" does not exist. Perhaps you meant the column "email"?
55
46
  ```
56
47
 
57
- The SQL must be a string literal (tagged templates cannot be inferred by TypeScript). Values
58
- can be passed positionally (`$1`), by name (`:email` with an object), or inline with
59
- `${sql.param(value)}` (`${sql.json(value)}` for JSON); all are sent as bind parameters and
60
- checked against their context.
61
-
62
- ## What you get
63
-
64
- - **Rows and parameters** for `SELECT` (joins, subqueries, CTEs, set operations, aggregates,
65
- window functions) and `INSERT`/`UPDATE`/`DELETE … RETURNING`.
66
- - **Nullability** from the schema, outer joins, `WHERE` filters and expressions (`COALESCE`,
67
- aggregates, `CASE`).
68
- - **Typed JSON**: `json_build_object`, `json_agg`, `to_json(t)` and `->` / `#>` give the JSON's
69
- structure, typed as Postgres serializes it.
70
- - **Postgres column naming** (`?column?`, `count`, `lower`) and Postgres-worded compile errors.
71
- - **Fragments**: `sql.fragment`, `sql.id`, `sql.join` (also over runtime arrays of typed
72
- elements), `sql.raw`, spliced into inference with `$n` renumbering.
73
- - **Write helpers**: `sql.param(x)` sends `DEFAULT` for `undefined`; `sql.set(table, partial)`
74
- and `sql.values(table, rows)` build typed `SET` lists and `VALUES` rows from objects.
75
- - **DDL**: `ApplyDdl<DB, "ALTER TABLE …">` and the `migrations()` builder derive the schema from
76
- your migrations.
77
- - **Running queries**: with `createSql(executor)` (or an adapter's `createSql(client)`), queries
78
- have `execute()`, `executeTakeFirst()`, `executeTakeFirstOrThrow()` and `executeCount()` (the
79
- affected row count). An `Executor` resolves to the rows or to `{ rows, rowCount }`. An
80
- adapter's `sql` also has `sql.transaction(fn)`, which runs `fn` with a `sql` bound to one
81
- transaction (`TransactionalSql`).
82
- - **camelCase rows**: `createSql(executor, { rowKeys: "camelCase" })` renames the rows'
83
- top-level keys (`created_at` → `createdAt`, as Kysely's `CamelCasePlugin` does) in the types
84
- and at runtime, leaving JSON values alone.
85
- - **Escape hatch**: `sql.as<Row>(…)` for SQL the engine cannot type.
86
-
87
- ## Schema
88
-
89
- Columns are declared with Postgres type names; a type map turns them into TypeScript types
90
- (`DefaultTypeMap` matches node-postgres: `int8` and `numeric` rows are `string`; their parameters
91
- also take numbers and bigints, and date parameters take `Date | string`):
92
-
93
- | Helper | Meaning |
94
- |---|---|
95
- | `Col<"text">` | `NOT NULL`, no default |
96
- | `Nullable<"text">` | `NULL` allowed |
97
- | `Generated<"int4">` | has a default: optional in `INSERT` |
98
- | `NullableGenerated<"text">` | both |
99
- | `Enum<"mood">` | values in `DB["$types"]["mood"]` |
100
- | `Json<T>` | `jsonb` holding `T`: rows read `T`, `->` indexes into it, `${sql.json(v)}` writes it |
101
- | `View<{ … }>` | read-only relation |
48
+ [Open the example in the TypeScript Playground](https://www.typescriptlang.org/play/#code/PTAEBUE8AcFMGUCKAZAXKACgewM4BcBzAJ1h1CWQBpRoBDInWAE1ACNIIYEBjIgS2h4A5GTxdQOSPlgBbAHSgAokz55QeABaxyKULQB2LDVgBusIuq3quOVACgQoIlgDuZAyzpFaM2HnNkAGZYADYhrtQeoDJ8+LQA1qR6JKDcWDLQfCHa5s4MoFj6ltr4-PoEcnZ8GVhEagDedgCQYnCgAMKhlM28sLT+8ACOId0t4gDisPrm-cyjrdoAcgCuYbSs2fPiGPQ+OFBwW20ASq4HsN0AvqCBzjKgAEQAAgs4w8BpJA8A3HZV+v4iIFaNxtAARABCoEaTWWjAY6BhTT4THQk2m3n8TAAPA8+ACACwPAB831Ajg0tHcoCYsGBqzw6Cwgj4hVoIQKRQAkot4IpjuBmk1ZLQsuhOiFcf4AB54Em-JpNFQ4aAhWiQAD6+h8sHQKzWG1gUtgsvlQt6syYGv6aKmMyxUuqpDwPkEAC8zU1LgroLg8LZoUKUbaMZbcfi8AAOT1NWjLTS1DXBjqhcOEmN4VTZcWph4yuWkoWsLBMSB61Zqw3G02Fr2-S5-NL6fASYagAC8qRIsyGkshxIAFABKX4OMDIRQAMXAoAAUgB5HnRBJJTTafgEDRqHAo7T6CvrbJkgAkAEZ1CuyKpROJbulQMs5CjKk2W4MO62QgPmgADPkT9oZ0fFFqEfEUsmoaA5EzPBsjsUAEMQpDkMnY55wAWQfeEyGWUAJ2nOdF0WGg-TIaBQHnYioLjBMiCTFhO2Aph4OQ1jEIAdQACX5RQHyfBjQDPH9RgAdm6Ec7AWUBThcD8ZPObEFiwQJQEGQtHAQgA9AB+STtl2GQyE7HZvEMhSlJUtTfg00AdL+RwAEECGIWACFmdxDFSUJlhkIptV8IJQnCWTsHwFyAzSZYAQHAAqIdQFiBKAUjSIJDwMoCAfQxzFAfQS1gABaX0wpIHAX0KFs4n9D83i-X9-0UQC9HjYw6JAryorwWKh2oGRaGlAcYOyeKHPgUA1X8FtUIwkj8DIcY0IAVQwUAIQATWa2j6OEuwJKk+AXWqzt5K4RSuGUtL+hwdSwC03Sx1ALl9BCfFtBMdlliSegSimNQqUEoovB1QEPJYbgtG4RIWFoNz8RbFwtBSNcOG+rDmHK5s1HAjlOweWgmFoJ4TVdbI5DSGQfjsV81AtLEauGb8mh-Hk+QFR7FnAec0fyAdsfigA1BzkEWxQxoHY96lquQgZkXm+qyIdLni45FHARbjkWHlxgSphqFp5hrTwHa9vEdpuzp46zlOiyuz6LEbsQuyHvQ2IXUSdwUnJzJslAXJajIQpih0ZA0oyhRJz4aVihkexaoHP9FAAmd9F8UBpswuEAh-EdyTAP2iHQNIQh8ooHhT2AHhpLAkjyrHpVduw4+Z3l+RnHlOdm6rBqzWABaFkWxbPIdhMeTjYDCLAHhzxx8-QGjWvohKyEWecZ0WRbkBDqJKTIPKaTpOMQjwOwgA) <!-- playground:core -->: edit the SQL and hover the types, with nothing to install. The Playground runs TypeScript 6, so treat it as a demo.
102
49
 
103
- Other Postgres schemas nest (`DB["auth"]["sessions"]` is `auth.sessions`). For
104
- `pg_stat_activity`, `pg_tables`, `information_schema.columns` and other system catalogs, add the
105
- opt-in slice: `createSql<DB & PgCatalog>()`.
50
+ ## Run queries
106
51
 
107
- ## Requirements
52
+ `@typesql/core` types your queries. To run them, add the package for your driver or ORM:
108
53
 
109
- TypeScript 7.1 or later (the native compiler; `7.1.0-beta` works) and Node.js 26 or later.
110
- PostgreSQL semantics only.
111
-
112
- Optionally, a [type cache](https://typesql.karsli.net/guide/performance#type-cache)
113
- file, which TypeScript 7.1's content mappers let this package serve and keep up to date, saves
114
- recomputing query types on every `tsc` run and every edit.
54
+ | Package | Runs queries on |
55
+ |---|---|
56
+ | [`@typesql/pg`](https://www.npmjs.com/package/@typesql/pg) | node-postgres |
57
+ | [`@typesql/postgres`](https://www.npmjs.com/package/@typesql/postgres) | postgres.js |
58
+ | [`@typesql/kysely`](https://www.npmjs.com/package/@typesql/kysely) | Kysely, with its `DB` interface as the schema |
59
+ | [`@typesql/drizzle`](https://www.npmjs.com/package/@typesql/drizzle) | Drizzle, with its schema |
60
+ | [`@typesql/prisma`](https://www.npmjs.com/package/@typesql/prisma) | Prisma Client, with its schema |
115
61
 
116
62
  ## Documentation
117
63
 
118
- [Guide](https://typesql.karsli.net/guide/introduction) ·
119
- [API reference](https://typesql.karsli.net/reference/api) ·
120
- [DDL support](https://typesql.karsli.net/reference/ddl) ·
121
- [Errors](https://typesql.karsli.net/guide/errors) ·
122
- [Limits](https://typesql.karsli.net/guide/limits) ·
123
- [Type cache](https://typesql.karsli.net/guide/performance#type-cache) ·
124
- [VS Code extension](https://typesql.karsli.net/guide/editor)
64
+ 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).
65
+
66
+ ## License
67
+
68
+ [MIT](LICENSE)
@@ -42,11 +42,16 @@ export type Param = {
42
42
  export type DefaultExpr = {
43
43
  readonly t: "default";
44
44
  };
45
- /** Typed literal: `DATE '2020-01-01'`, `interval '1 day'`, `int4 '1'`. `type` is canonical. */
45
+ /**
46
+ * Typed literal: `DATE '2020-01-01'`, `interval '1 day'`, `int4 '1'`. `type` is canonical. A
47
+ * bit string (`B'101'`, `X'1F'`) is one of type `bit` with `bits: true` (digits as written): it
48
+ * names no column.
49
+ */
46
50
  export type TypedLit = {
47
51
  readonly t: "typed";
48
52
  readonly type: string;
49
53
  readonly v: string;
54
+ readonly bits?: true;
50
55
  };
51
56
  /** Binary operator, including `and`/`or` (op lowercased for word operators). */
52
57
  export type BinOp = {
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sources":["../../src/engine/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sources":["../../src/engine/ast.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Expr, NamedWindow, Target, WindowSpec } from "../ast.js";
2
2
  import type { AnyErr, ErrMsg, SqlError } from "../errors.js";
3
3
  import type { Nx } from "../parser/util.js";
4
4
  import type { AnyShaped, BaseOf } from "../shape.js";
5
+ import type { NumLitType } from "../typer/operators.js";
5
6
  import type { TypeList, TypeOf } from "../typer/typeof.js";
6
7
  import type { ColInfo, Cols, Ctx } from "../types.js";
7
8
  /**
@@ -27,6 +28,8 @@ type DisplayNames = {
27
28
  bool: "boolean";
28
29
  varchar: "character varying";
29
30
  bpchar: "character";
31
+ char: '"char"';
32
+ varbit: "bit varying";
30
33
  timestamptz: "timestamp with time zone";
31
34
  timestamp: "timestamp without time zone";
32
35
  timetz: "time with time zone";
@@ -79,7 +82,9 @@ type AllSame<L extends readonly unknown[]> = L extends readonly [
79
82
  ] ? R extends readonly [] ? true : InList<H, R> extends true ? AllSame<R> : false : true;
80
83
  type DigitsOnly<V extends string> = V extends `${infer C}${infer R}` ? C extends "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ? DigitsOnly<R> : false : true;
81
84
  /** `ORDER BY 2`: the target expression at that position, `null` when unknown (a `*` precedes it), or an error. */
82
- type Ordinal<V extends string, Clause extends string, Ts extends readonly Target[], Cs extends Cols> = DigitsOnly<V> extends false ? SqlError<`non-integer constant in ${Clause}`, null> : HasStar<Cs> extends true ? null : V extends `${infer N extends number}` ? N extends 0 ? SqlError<`${Clause} position ${V} is not in select list`, null> : [null, ...Ts][N] extends infer T ? T extends Target ? T["e"] : SqlError<`${Clause} position ${V} is not in select list`, null> : never : SqlError<`non-integer constant in ${Clause}`, null>;
85
+ type Ordinal<V extends string, Clause extends string, Ts extends readonly Target[], Cs extends Cols> = DigitsOnly<V> extends false ? SqlError<`non-integer constant in ${Clause}`, null> : NumLitType<NoLeadingZeros<V>> extends "int4" ? HasStar<Cs> extends true ? null : NoLeadingZeros<V> extends `${infer N extends number}` ? N extends 0 ? SqlError<`${Clause} position 0 is not in select list`, null> : [null, ...Ts][N] extends infer T ? T extends Target ? T["e"] : SqlError<`${Clause} position ${N} is not in select list`, null> : never : never : SqlError<`non-integer constant in ${Clause}`, null>;
86
+ /** `007` → `7` (an ordinal is the integer the literal denotes). */
87
+ export type NoLeadingZeros<V extends string> = V extends `0${infer R}` ? R extends "" ? "0" : NoLeadingZeros<R> : V;
83
88
  type CheckExpr<E extends Expr, C extends Ctx> = TypeOf<E, C> extends infer T ? (T extends ColInfo ? E : T) : never;
84
89
  /** Resolve one ORDER BY / DISTINCT ON item (SQL92 rules: output names first). */
85
90
  type ResolveSortKey<E extends Expr, Clause extends string, Ts extends readonly Target[], Cs extends Cols, C extends Ctx> = E extends {
@@ -123,16 +128,21 @@ export type CheckDistinctOnOrder<D extends readonly unknown[], O extends readonl
123
128
  type DistinctWalk<D extends readonly unknown[], O extends readonly unknown[], Skipped extends boolean, Seen extends readonly unknown[], I extends number> = O[I] extends undefined ? Skipped extends true ? AllIn<D, Seen> extends true ? true : DistinctOnErr : true : InList<O[I], D> extends true ? Skipped extends true ? DistinctOnErr : DistinctWalk<D, O, false, [...Seen, O[I]], Nx<I>> : DistinctWalk<D, O, true, Seen, Nx<I>>;
124
129
  type AllIn<D extends readonly unknown[], Seen extends readonly unknown[]> = D extends readonly [infer H, ...infer R] ? InList<H, Seen> extends true ? AllIn<R, Seen> : false : true;
125
130
  type DistinctOnErr = SqlError<"SELECT DISTINCT ON expressions must match initial ORDER BY expressions", null>;
126
- /** `SELECT DISTINCT ... ORDER BY o`: every ORDER BY expression must be one of the targets. */
127
- export type CheckDistinctOrder<O extends readonly unknown[], Ts extends readonly Target[], Cs extends Cols> = HasStar<Cs> extends true ? true : DistinctOrderWalk<O, TargetExprs<Ts, [], 0>, 0>;
131
+ /**
132
+ * `SELECT DISTINCT ... ORDER BY o`: every ORDER BY expression must be one of the targets. With a
133
+ * `*` target a column reference is taken to be one of its columns.
134
+ */
135
+ export type CheckDistinctOrder<O extends readonly unknown[], Ts extends readonly Target[], Cs extends Cols> = DistinctOrderWalk<O, TargetExprs<Ts, [], 0>, HasStar<Cs>, 0>;
128
136
  type TargetExprs<Ts extends readonly Target[], Acc extends readonly unknown[], I extends number> = Ts[I] extends undefined ? Acc : TargetExprs<Ts, [...Acc, Ts[I]["e"]], Nx<I>>;
129
- type DistinctOrderWalk<O extends readonly unknown[], Es extends readonly unknown[], I extends number> = O[I] extends undefined ? true : O[I] extends null ? DistinctOrderWalk<O, Es, Nx<I>> : InList<O[I], Es> extends true ? DistinctOrderWalk<O, Es, Nx<I>> : SqlError<"for SELECT DISTINCT, ORDER BY expressions must appear in select list", null>;
137
+ type DistinctOrderWalk<O extends readonly unknown[], Es extends readonly unknown[], Star extends boolean, I extends number> = O[I] extends undefined ? true : O[I] extends null ? DistinctOrderWalk<O, Es, Star, Nx<I>> : InList<O[I], Es> extends true ? DistinctOrderWalk<O, Es, Star, Nx<I>> : [Star, O[I]] extends [true, {
138
+ readonly t: "col";
139
+ }] ? DistinctOrderWalk<O, Es, Star, Nx<I>> : SqlError<"for SELECT DISTINCT, ORDER BY expressions must appear in select list", null>;
130
140
  /** ORDER BY of a set operation: output names and positions only. */
131
141
  export type CheckOutputOrder<Items extends readonly Expr[], Cs extends Cols, I extends number = 0> = Items[I] extends undefined ? true : OutputOrderItem<Items[I], Cs> extends infer R ? R extends AnyErr ? R : CheckOutputOrder<Items, Cs, Nx<I>> : never;
132
142
  type OutputOrderItem<E extends Expr, Cs extends Cols> = E extends {
133
143
  readonly t: "num";
134
144
  readonly v: infer V extends string;
135
- } ? DigitsOnly<V> extends false ? SqlError<"non-integer constant in ORDER BY", null> : HasStar<Cs> extends true ? true : V extends `${infer N extends number}` ? N extends 0 ? PosErr<V> : [null, ...Cs][N] extends undefined ? PosErr<V> : true : PosErr<V> : E extends {
145
+ } ? DigitsOnly<V> extends false ? SqlError<"non-integer constant in ORDER BY", null> : NumLitType<NoLeadingZeros<V>> extends "int4" ? HasStar<Cs> extends true ? true : NoLeadingZeros<V> extends `${infer N extends number}` ? [null, ...Cs][N] extends undefined ? PosErr<`${N}`> : N extends 0 ? PosErr<"0"> : true : never : SqlError<"non-integer constant in ORDER BY", null> : E extends {
136
146
  readonly t: "str";
137
147
  } ? SqlError<"non-integer constant in ORDER BY", null> : E extends {
138
148
  readonly t: "col";
@@ -169,7 +179,11 @@ type CheckSpecs<Ss, Defs extends WindowDefs, C extends Ctx> = [Ss] extends [
169
179
  never
170
180
  ] ? true : (Ss extends WindowSpec ? CheckWindowSpec<Ss, Defs, C> extends infer X ? X extends boolean ? never : X : never : never) extends infer Errs ? [Errs] extends [never] ? true : FirstOf<Errs> : never;
171
181
  type FirstOf<U> = (U extends unknown ? (u: U) => void : never) extends (u: infer F) => void ? F : U;
172
- type LeafTag = "col" | "num" | "str" | "bool" | "null" | "param" | "default" | "typed" | "star" | "sub" | "exists" | "arraysub" | "insub";
182
+ /**
183
+ * Nodes without a window inside: leaves, and subqueries (their own query level). A shortcut: the
184
+ * last branch of `Wins` gives `never` for them too (`x IN (SELECT …)` is not one: its `x` is walked).
185
+ */
186
+ type LeafTag = "col" | "num" | "str" | "bool" | "null" | "param" | "default" | "typed" | "star" | "sub" | "exists" | "arraysub";
173
187
  /**
174
188
  * Window specifications of the calls in an expression, as a union (`never` when there are
175
189
  * none). Subqueries are not entered (they are their own query level). Plain recursion over
@@ -221,7 +235,10 @@ type Wins<E> = E extends {
221
235
  } ? Wins<E["e"]> | Wins<E["zone"]> : E extends {
222
236
  readonly t: "quant";
223
237
  readonly l: unknown;
224
- } ? Wins<E["l"]> : E extends {
238
+ readonly r: unknown;
239
+ } ? Wins<E["l"]> | (E["r"] extends {
240
+ readonly t: "select";
241
+ } ? never : Wins<E["r"]>) : E extends {
225
242
  readonly e: unknown;
226
243
  } ? Wins<E["e"]> : never;
227
244
  /** Left-nested operator chains (`a || b || c ...`) are walked down the left spine iteratively. */
@@ -1 +1 @@
1
- {"version":3,"file":"clauses.d.ts","sources":["../../../src/engine/binder/clauses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clauses.d.ts","sources":["../../../src/engine/binder/clauses.ts"],"names":[],"mappings":"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"}