@typesql/kysely 0.1.4 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @typesql/kysely
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - `NoResultError`, `Executor` and `TransactionalSql` are no longer re-exported (from `@typesql/drizzle` also `Sql`, `Query`, `RowType`, `ParamsType`, `DefaultTypeMap` and `TypeMap`); import them from `@typesql/core`.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies:
12
+ - @typesql/core@0.5.0
13
+
14
+ ## 0.1.5
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies:
19
+ - @typesql/core@0.4.0
20
+
3
21
  ## 0.1.4
4
22
 
5
23
  ### Patch Changes
package/README.md CHANGED
@@ -9,7 +9,7 @@ type-level only; nothing is generated and no database is contacted.
9
9
  pnpm add @typesql/core @typesql/kysely kysely
10
10
  ```
11
11
 
12
- [Open an example in the TypeScript Playground](https://www.typescriptlang.org/play/#code/PTAEBUE8AcFMGUCKAZUB3AlgFwBagNKQDOsANpKABQACWMsRAjqcANbFmQCUAdKAJoB7AK4AnAh3KgAIgCFQGAHZZYogGYBDAMawq7EuQC0WwQBNYAc1iLQIrNGFZbogFAhQODYtOG0o7CqKXApEoLi6RFo4sAC2GgA0oF6moKIaaKBIqKLCiqGCNpAi4oQGFEpEWF46fAASggBuqmHRqQzCpFhEPC4YMdCCok4A3hJliQAKgpUWogzSGBqksFpYiXRwoADCgqTCMYpQcOv0oADi1qoaKikAvqBqooIxoABE+pyvANy9-YMjoCmu1A90ezze0As31+AyGoFGWjm1wQzBBDyeL1etHoTBYH3I0LcYHxkGMZks1lsjgcazC-hiMVgphcG10AEllAAOUAAXm2u32h3oAB5Kv5FBZEgAjDAWJROAA+oEU+ylzSVYqUktAMrlylASpVMTV4g1WHFFgAfD9WRA+gwqv1efy9gcjrBhdJkYkvSoDaBNRKfcj-YGrTbTgBZQRmZ2vTzQaCQV7+15EDSmQny1SaHQyeTDFygUDCEiiIgALnhReLClMVYuiiuN2FRpN1prxdiGgwpCrYZ+tdAMRj9dA0djho6pEHtcRsGRpgA+tcG5c0i3wPbKhp+h3i7dZwNKpXq0OMGPG82mcKOVhOfvaxpHDhBkuL1W26pZ8WsNhlv25paj+oAOFKpAYEQ0SXuui7ClKMbLF4j6Hi4twuC4Jh5E4phSs6TYZKUnCerIlqUKMpiLMsqyfrAGRTDMcxEAsSwrFg5GgYhtH0YhlDBLc-FcD8WGVAGqJ8vOyLwMwJFkbhQkYe44CtIwwiqBQUrCL25jiGogzoJ4TjYKApiCAw6BkKQiRZA8+nhG0lSJFEKysEySQWD22EtBEu66FU4EMD0Ik4WkahdM66Q9jhUo8AYbEAGIYpQrzHl0ry8HFqyUAA2q8F6vIkrx-lgyyvAAurwaDRHMyVgRBUFMgVbw8k1mikCQvCwAAHisjiwHxPyYQUolITpCEaKIKR8rilAAAbwAAosgC1bOAJY8N2vaJMIPAjmYTkiMolDQDwF7BAAgvAnEnvEnZDvdD2PQ9aSKKwfGgAA8gAagtABKVAfb90h-aAsj8KAJi5OxJ1nTIC3wFsF1XdApDaLAd1PZjtbxb9H2RiWZahMIoDLfFa0AFIfWyABy13hdAn20ydz64G+F7Ojt7PndT0igTwdWQdBGNY5jADqtR-Qt617VNoAACQAIzCyLj1nLjACqEyg+DnOmLNhUJkm6XCcNTgva5suRcZo2qONk0bT1Wh9QNRJDgAegA-IpYAckQF66BoYycHSXjpqsGAFNKSgpIHuJhIIChOFgCcxBgXU6lppA6Uk3iZCgoCqaoGCBS4VvRTw5qh9of4FHxDu9SolAaEQkCKFoVDml1wQ8paZ5JGgUV0l1PDCNApjIuAGgBbV0xpRlsDsaMAsNWO5pqSClXVf1rws6+ojvpmhUtYkCudY7zsKcWZcQ0iKjSaQsmUJ3XBzcDy3gFLON43ToTi5LSQvjZrLRWoBua82ph9Nay9oL61AKfeuTtG4KQEoNGa80lorTWuzL++NSyqF-hLX6UsZbOkVrAneEpRDJiEqAdwqgniiE-IIJwgcGhLHXoINQ3lhyjlANYfYLggA) <!-- playground:kysely --> to hover the types and edit the SQL, with nothing to install.
12
+ [Open an example in the TypeScript Playground](https://www.typescriptlang.org/play/#code/PTAEBUE8AcFMGUCKAZUB3AlgFwBagNKQDOsANpKABQACWMsRAjqcANbFmQCUAdKAJoB7AK4AnAh3KgAIgCFQGAHZZYogGYBDAMawq7EuQC0WwQBNYAc1iLQIrNGFZbogFAhQODYtOG0o7CqKXApEoLi6RFo4sAC2GgA0oF6moKIaaKBIqKLCiqGCNpAi4oQGFEpEWF46fAASggBuqmHRqQzCpFhEPC4uGDHQgqJOAN6gWqKwGirwzKAAvqBqooIxoABEtPRMLPqc6wDcfQNDoy4AkHRwoADCgqTCMYpQcPEXV7oA4taq07Cmb3OpU4gIACoJKhZJkRpBgNKRYFosG9FstVhs9uRDsdBsNQGNwfcFksVmt1tALNi3GBMZBjGZLNZbI4HMiwv4YjF-i4PqAAJLKAAcoAAvLd7o9nvQADwXSr+RQWQEAIwwFiUTgAPqBFI9lc1tfKlEqLqr1cpQNrdTF9eJDVgFRYXAA+I688D9BhVAai8UPJ4vWDS6R-RIhlSW0BGxVhv6R6MWV08+igACygjMvvWnmg0Eg60j6yIGlMVI1qk0Ohk8hGF2EJFERAAXPiLucMKYW99FL8VKZpdbbUnzudYhoMKQWwmjiOYhnO2n55HdaRSDPzhMpn2APrTLs-NJ96UermVDQDYfzGeDSrN1sjjv7nuH-7SgVYQXD84aRw4Ibbx8dT1VR1ywbAESnB1jXXBxlVIDAiGiBdu17V9lQzBEvEvI55l6Ew8icUxlV9HsMmBchg1kZ1KFrc5TDhBEkRbUjQHBSFoVheFESwGjQEGe5mNgDJCVIShgnmLgUS4I58MqKM5jFTc-lmUhKOoojpN6dxwFaRhhFUChlWECdzHENQhnQTwnGwUBTEEBh0DIUhEiyJYLPCNpKkSKJEVYf4kgsccCJaCJz10Ko4IYHpZMItI1C6X10nHQjlQuHgDG4gAxUlKHJCEunWLg0oypFKAAbXWDt1kSdYwKwBF1gAXSK84eDQaJJly2D4MQ-5qo2EV+s0UgSBanhYAAD0RRxYDEo4XBi0BMNM9CNFEFIxR2SgLgAA3gABRZB9pucBQGEca4gnRJzrnMxvJEZRKGgHgO2CABBeA+Pyog3lAP7-oBwGgeB-60kUVgxNAAB5AA1faACUqCh+HpAR0BZH4cYHp457Xpkfb4Bud7PugUhtFgFwQap4HMvhqHUzOhtQmEUAjsy06ACkob5AA5L7bz46G+een9cH-DtfXOiW3p56Q+J4bqEKQynqdVv6AHVagR-azp4W6NtAAASABGFW1epz46YAVVBdHMal0wdsBbMNFzfM3k0xawb8g2kps5bVFW9bxqmrQZrm6kAYAPQAfi0sABSIDtdA0CQynZLxiyRDACkSVVvCSeTSDCQQFCcLBS5iDAJtAIyTOaZJMhQUA9NUDAopcP2Up4B1M+0MCCjEkPppUSgNCISBFC0KgHQm4IRWde8u-ZCa2x4YRoFMP5wA0SKuu+wq15IHixkV3qFwdfSFha1r2tUWb1lFv9RAA0sasGxJjZv4ew9HzTvzQMlcYkxlLMDUpQWeXBtojh2qjI64Ada03pvzBKmttZJF-OLA2JtQAyzljzKGp0z5ISdm2Y2gJeCTRHrNTSEl5pbT2odY6p0JZIIZvWVQoQ0Hwx1vrX0JsnYbC8FCfM0lQDuFUCsUQzFBBOFTg0eEV9BBqBCqAPh1hHguCAA) <!-- playground:kysely --> to hover the types and edit the SQL, with nothing to install.
13
13
 
14
14
  ```ts
15
15
  import { createSql } from "@typesql/kysely";
package/dist/client.d.ts CHANGED
@@ -1,5 +1,6 @@
1
+ import type { Executor } from "@typesql/core";
2
+ import { type SqlDriver } from "@typesql/core/adapter";
1
3
  import { CompiledQuery, type QueryResult } from "kysely";
2
- import { type Executor, type SqlDriver } from "@typesql/core";
3
4
  /**
4
5
  * What the adapter uses from a `Kysely<DB>` or `Transaction<DB>`. Queries run through
5
6
  * `withoutPlugins()`: TypeSQL's row types describe what the driver returns, so result
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAkB,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,IAAI;QAAE,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IACxF,WAAW,IAAI;QAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IACnF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAcD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,QAAQ,CAKrD;AAWD,yDAAyD;AACzD,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,cAAc,CAA6B,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,cAAc,IAAI;QACjB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KAClE,CAAC;IACF,WAAW,IAAI;QACd,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;IACF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CAChC;AAwBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,QAAQ,CAKrD;AAmBD,yDAAyD;AACzD,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,cAAc,CAA6B,CAAC"}
package/dist/client.js CHANGED
@@ -1,14 +1,18 @@
1
+ import { runTransaction } from "@typesql/core/adapter";
1
2
  import { CompiledQuery } from "kysely";
2
- import { runTransaction } from "@typesql/core";
3
3
  function run(db, text, values) {
4
- return db.withoutPlugins().executeQuery(CompiledQuery.raw(text, Array.from(values)));
4
+ return db
5
+ .withoutPlugins()
6
+ .executeQuery(CompiledQuery.raw(text, Array.from(values)));
5
7
  }
6
8
  /**
7
9
  * Kysely reports `numAffectedRows` for INSERT/UPDATE/DELETE/MERGE only; for other statements the
8
10
  * count is the rows returned (SELECT), or 0 (DDL), as Postgres' command tag says.
9
11
  */
10
12
  function rowCount(result) {
11
- return result.numAffectedRows === undefined ? result.rows.length : Number(result.numAffectedRows);
13
+ return result.numAffectedRows === undefined
14
+ ? result.rows.length
15
+ : Number(result.numAffectedRows);
12
16
  }
13
17
  /**
14
18
  * An `Executor` for core's `q.execute()`: runs queries on a Kysely instance (or transaction),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,cAAc,EAAiC,MAAM,eAAe,CAAC;AAc9E,SAAS,GAAG,CAAI,EAAkB,EAAE,IAAY,EAAE,MAA0B;IAC1E,OAAO,EAAE,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAqB,CAAC,CAAC;AAC3G,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,MAA4B;IAC5C,OAAO,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAkB;IACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAU,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3D,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAI,EAAkB,EAAE,KAAa,EAAE,EAAuC;IAChG,IAAI,CAAC,EAAE,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,cAAc,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACpH,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,MAAM,GAA8B,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"client.js","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAoB,MAAM,QAAQ,CAAC;AAkBzD,SAAS,GAAG,CACX,EAAkB,EAClB,IAAY,EACZ,MAA0B;IAE1B,OAAO,EAAE;SACP,cAAc,EAAE;SAChB,YAAY,CACZ,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAqB,CAC/D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,MAA4B;IAC7C,OAAO,MAAM,CAAC,eAAe,KAAK,SAAS;QAC1C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;QACpB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAkB;IAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAU,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1D,CAAC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CACnB,EAAkB,EAClB,KAAa,EACb,EAAuC;IAEvC,IAAI,CAAC,EAAE,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,cAAc,CACpB,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EACrC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACZ,EAAE,SAAS,EAAE,WAAW,KAAK,GAAG,CAAC,EAAE,EAAE,CACrC,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,MAAM,GAA8B,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { ColDesc, PgScalarName, View } from "@typesql/core";
1
+ import type { View } from "@typesql/core";
2
+ import type { ColDesc, PgScalarName } from "@typesql/core/engine";
2
3
  /**
3
4
  * Converting a Kysely `DB` interface (kysely-codegen, prisma-kysely or hand-written) into a
4
5
  * TypeSQL schema. Kysely describes columns with TS types, TypeSQL with Postgres type names, so
@@ -111,15 +112,13 @@ type InnerIns<S, I> = S extends {
111
112
  type Ins<T> = T extends {
112
113
  readonly __insert__: infer I;
113
114
  } ? I : T;
114
- type HasDefault<T> = [
115
- Extract<T, {
116
- readonly __insert__: unknown;
117
- }>
118
- ] extends [never] ? false : undefined extends Ins<T> ? true : [Exclude<Ins<T>, null>] extends [never] ? true : false;
115
+ type HasDefault<T> = [Extract<T, {
116
+ readonly __insert__: unknown;
117
+ }>] extends [
118
+ never
119
+ ] ? false : undefined extends Ins<T> ? true : [Exclude<Ins<T>, null>] extends [never] ? true : false;
119
120
  /** The string-literal union of an enum column (or of its array elements), else never. */
120
- type LiteralUnion<S> = [
121
- S
122
- ] extends [string] ? (string extends S ? never : S) : [S] extends [readonly (infer E)[]] ? ([NonNullable<E>] extends [string] ? (string extends NonNullable<E> ? never : NonNullable<E>) : never) : never;
121
+ type LiteralUnion<S> = [S] extends [string] ? string extends S ? never : S : [S] extends [readonly (infer E)[]] ? [NonNullable<E>] extends [string] ? string extends NonNullable<E> ? never : NonNullable<E> : never : never;
123
122
  /**
124
123
  * Postgres type name from a non-null select type `S` and insert hint `H`. `E` is the name to
125
124
  * use for a string-literal union (an enum). An array select type is a Postgres array unless
@@ -127,24 +126,20 @@ type LiteralUnion<S> = [
127
126
  */
128
127
  type PgTypeOf<S, H, E extends string> = unknown extends S ? "jsonb" : [S] extends [never] ? "text" : [S] extends [readonly (infer El)[]] ? IsJsonInsert<H> extends true ? "jsonb" : `${ScalarOf<ArrayElem<NonNullable<El>>, ArrayElem<ArrayElem<H>>, E>}[]` : ScalarOf<S, H, E>;
129
128
  /** Insert type with no array in it (`string`, `RawBuilder`); `never` (`GeneratedAlways`) tells nothing. */
130
- type IsJsonInsert<H> = [
131
- H
132
- ] extends [never] ? false : [Extract<H, readonly unknown[]>] extends [never] ? true : false;
129
+ type IsJsonInsert<H> = [H] extends [never] ? false : [Extract<H, readonly unknown[]>] extends [never] ? true : false;
133
130
  /** Element type of an array (one more level for multi-dimensional arrays: Postgres types them alike). */
134
131
  type ArrayElem<T> = T extends readonly (infer E)[] ? E : T;
135
- type ScalarOf<S, H, E extends string> = unknown extends S ? "jsonb" : [S] extends [string] ? (string extends S ? StringKind<H> : E) : [S] extends [number] ? "int4" : [S] extends [bigint] ? "int8" : [S] extends [boolean] ? "bool" : [S] extends [Date] ? "timestamptz" : [S] extends [Uint8Array] ? "bytea" : [S] extends [readonly unknown[]] ? "jsonb" : [S] extends [object] ? ObjectKind<S> : "jsonb";
132
+ type ScalarOf<S, H, E extends string> = unknown extends S ? "jsonb" : [S] extends [string] ? string extends S ? StringKind<H> : E : [S] extends [number] ? "int4" : [S] extends [bigint] ? "int8" : [S] extends [boolean] ? "bool" : [S] extends [Date] ? "timestamptz" : [S] extends [Uint8Array] ? "bytea" : [S] extends [readonly unknown[]] ? "jsonb" : [S] extends [object] ? ObjectKind<S> : "jsonb";
136
133
  /** kysely-codegen selects `int8` and `numeric` as `string`; the insert type tells them apart. */
137
- type StringKind<H> = [
138
- H
139
- ] extends [never] ? "text" : bigint extends H ? "int8" : number extends H ? "numeric" : "text";
134
+ type StringKind<H> = [H] extends [never] ? "text" : bigint extends H ? "int8" : number extends H ? "numeric" : "text";
140
135
  /** Index signatures (`Record<string, …>`) are jsonb: their `keyof` is `string`, which every key check would match. */
141
136
  type ObjectKind<S> = string extends keyof S ? "jsonb" : "days" extends keyof S ? "interval" : "radius" extends keyof S ? "circle" : "x" | "y" extends keyof S ? "point" : "jsonb";
142
137
  /** Name of a `$types` entry whose union is exactly `U` (when exactly one matches), else `Default`. */
143
- type EnumName<U, Reg, Default extends string> = RegistryMatch<U, Reg> extends infer N extends string ? ([N] extends [never] ? Default : IsSingle<N> extends true ? N : Default) : Default;
138
+ type EnumName<U, Reg, Default extends string> = RegistryMatch<U, Reg> extends infer N extends string ? [N] extends [never] ? Default : IsSingle<N> extends true ? N : Default : Default;
144
139
  type RegistryMatch<U, Reg> = {
145
- [N in keyof Reg & string]: [U] extends [Reg[N]] ? ([Reg[N]] extends [U] ? N : never) : never;
140
+ [N in keyof Reg & string]: [U] extends [Reg[N]] ? [Reg[N]] extends [U] ? N : never : never;
146
141
  }[keyof Reg & string];
147
- type IsSingle<N, All = N> = N extends unknown ? ([Exclude<All, N>] extends [never] ? true : false) : never;
142
+ type IsSingle<N, All = N> = N extends unknown ? [Exclude<All, N>] extends [never] ? true : false : never;
148
143
  type OverrideType<V> = V extends string ? V : V extends {
149
144
  readonly type: infer X extends string;
150
145
  } ? X : never;
@@ -154,12 +149,16 @@ type ColumnTypeName<T, V, Reg, Default extends string> = [
154
149
  ] extends [never] ? PgTypeOf<NonNullable<Sel<T>>, Exclude<Hint<T>, null | undefined>, EnumName<LiteralUnion<NonNullable<Sel<T>>>, Reg, Default>> : OverrideType<V>;
155
150
  type Column<T, V, Reg, Default extends string> = {
156
151
  readonly type: ColumnTypeName<T, V, Reg, Default>;
157
- readonly nullable: [V] extends [{
158
- readonly nullable: infer B extends boolean;
159
- }] ? B : null extends Sel<T> ? true : false;
160
- readonly hasDefault: [V] extends [{
161
- readonly hasDefault: infer B extends boolean;
162
- }] ? B : HasDefault<T>;
152
+ readonly nullable: [V] extends [
153
+ {
154
+ readonly nullable: infer B extends boolean;
155
+ }
156
+ ] ? B : null extends Sel<T> ? true : false;
157
+ readonly hasDefault: [V] extends [
158
+ {
159
+ readonly hasDefault: infer B extends boolean;
160
+ }
161
+ ] ? B : HasDefault<T>;
163
162
  };
164
163
  type BaseName<T extends string> = T extends `${infer B}[]` ? B : T;
165
164
  /** `[name, values]` when a column's type is an enum (not a built-in type) and its values are a literal union. */
@@ -1 +1 @@
1
- {"version":3,"file":"from-kysely.d.ts","sources":["../src/from-kysely.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEjE;;;;;;;;;GASG;AAIH;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvD,6FAA6F;AAC7F,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;CAAE,CAAC;AAEpF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,EAAE,EAAE,SAAS,SAAS,eAAe,GAAG,EAAE,EAAE,OAAO,SAAS,aAAa,GAAG,EAAE,IAAI;IACvG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,QAAQ,GACzF,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,GACpC,CAAC,SAAS,UAAU,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,GACjE,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,GACzE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF,8GAA8G;AAC9G,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IACpC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GACxB,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GACzE,CAAC,CAAC;AAEN;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACzF,QAAQ,CAAC,QAAQ,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC;AAIF,KAAK,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAE7F,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AACvE,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,SAAS,OAAO,EAAE,GAAG,SAAS,MAAM,IAC5E,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAC5B,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,SAAS,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAC/H,GAAG,CAAC;AAEV,wFAAwF;AACxF,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,IACjC,CAAC,SAAS,QAAQ,GAAG,CAAC,GACpB,CAAC,SAAS,UAAU,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAC1C,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAC7C,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEf,6FAA6F;AAC7F,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,UAAU,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAEnG,KAAK,WAAW,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI;IAC/C,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;CAC3H,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AACjE,KAAK,gBAAgB,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAEtE,2DAA2D;AAC3D,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AAEnE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,IACvC,CAAC,SAAS,MAAM,EAAE,GACd,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACnD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAClF,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAC9E,KAAK,CAAC;AAEZ,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,SAAS,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IACtD,CAAC,UAAU,CAAC,IAAI,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;CAC5H,CAAC;AAIF,4HAA4H;AAC5H,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3E,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxE,kGAAkG;AAClG,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7G,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3E,yGAAyG;AACzG,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjE,KAAK,UAAU,CAAC,CAAC,IACf;IAAC,OAAO,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GACpE,SAAS,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAC/B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAC9C,KAAK,CAAC;AAEV,yFAAyF;AACzF,KAAK,YAAY,CAAC,CAAC,IACjB;IAAC,CAAC;CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GACnD,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,SAAS,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAC3I,KAAK,CAAC;AAEV;;;;GAIG;AACH,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,IAClC,OAAO,SAAS,CAAC,GAAG,OAAO,GACzB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAC5B,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,OAAO,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAChH,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAExB,2GAA2G;AAC3G,KAAK,YAAY,CAAC,CAAC,IACjB;IAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GACzB,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GACvD,KAAK,CAAC;AAEV,yGAAyG;AACzG,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3D,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,IAClC,OAAO,SAAS,CAAC,GAAG,OAAO,GACzB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAC7D,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,GAC7B,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,GAC7B,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,GAC9B,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,GAClC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,GAClC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,EAAE,CAAC,GAAG,OAAO,GAC1C,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC;AAEZ,iGAAiG;AACjG,KAAK,UAAU,CAAC,CAAC,IACf;IAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAC1B,MAAM,SAAS,CAAC,GAAG,MAAM,GACzB,MAAM,SAAS,CAAC,GAAG,SAAS,GAC5B,MAAM,CAAC;AAEX,sHAAsH;AACtH,KAAK,UAAU,CAAC,CAAC,IACf,MAAM,SAAS,MAAM,CAAC,GAAG,OAAO,GAC9B,MAAM,SAAS,MAAM,CAAC,GAAG,UAAU,GACnC,QAAQ,SAAS,MAAM,CAAC,GAAG,QAAQ,GACnC,GAAG,GAAG,GAAG,SAAS,MAAM,CAAC,GAAG,OAAO,GACnC,OAAO,CAAC;AAEZ,sGAAsG;AACtG,KAAK,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,SAAS,MAAM,IAC1C,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC;AAC5I,KAAK,aAAa,CAAC,CAAC,EAAE,GAAG,IAAI;KAC1B,CAAC,IAAI,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK;CAC7F,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC;AACtB,KAAK,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAE3G,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAE9G,0EAA0E;AAC1E,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,SAAS,MAAM,IACnD;IAAC,YAAY,CAAC,CAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAC7B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,GAC5H,YAAY,CAAC,CAAC,CAAC,CAAC;AAEtB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,SAAS,MAAM,IAAI;IAC/C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,OAAO,CAAA;KAAE,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;IACzH,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,OAAO,CAAA;KAAE,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;CACzG,CAAC;AAIF,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAEnE,iHAAiH;AACjH,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,SAAS,MAAM,IAC9C;IAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GACzD,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GACzE,CAAC,SAAS,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvE,KAAK,CAAC;AAEZ,KAAK,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,SAAS,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;KACxD,CAAC,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;CACvG,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC;AAEtB,KAAK,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IACvB;KAAG,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GACtF;KAAG,CAAC,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;CAAE,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;AAEvI,KAAK,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI;KAC7B,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC7C,CAAC"}
1
+ {"version":3,"file":"from-kysely.d.ts","sources":["../src/from-kysely.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,8 @@
1
- import { type DefaultTypeMap, type RowKeys, type TransactionalSql } from "@typesql/core";
1
+ import type { DefaultTypeMap, RowKeys, TransactionalSql } from "@typesql/core";
2
2
  import { type KyselyExecutor } from "./client.js";
3
3
  import type { FromKysely, KyselyOptions, KyselyOverrides } from "./from-kysely.js";
4
- export { NoResultError, type Executor, type TransactionalSql } from "@typesql/core";
5
- export type { FromKysely, KyselyOverrides, KyselyOptions, TableOverride, ColumnOverride, InferColumn, SnakeCase } from "./from-kysely.js";
6
4
  export { executor, type KyselyExecutor } from "./client.js";
5
+ export type { ColumnOverride, FromKysely, InferColumn, KyselyOptions, KyselyOverrides, SnakeCase, TableOverride, } from "./from-kysely.js";
7
6
  /** What `createSql<DB>(db)` returns: core's `Sql` over `FromKysely<DB, ...>`, with `transaction(fn)`. */
8
7
  export type KyselySql<DB, TM = DefaultTypeMap, Overrides extends KyselyOverrides = {}, Options extends KyselyOptions = {}, Keys extends RowKeys = "preserve"> = TransactionalSql<FromKysely<DB, Overrides, Options>, TM, Keys>;
9
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,cAAc,EAAE,KAAK,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAClI,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpF,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1I,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5D,yGAAyG;AACzG,MAAM,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,SAAS,eAAe,GAAG,EAAE,EAAE,OAAO,SAAS,aAAa,GAAG,EAAE,EAAE,IAAI,SAAS,OAAO,GAAG,UAAU,IAC1J,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAEjE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,SAAS,eAAe,GAAG,EAAE,EAAE,OAAO,SAAS,aAAa,GAAG,EAAE,EAC3H,EAAE,EAAE,cAAc,GAAG,SAAS,EAC9B,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACzC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACtD,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,SAAS,eAAe,GAAG,EAAE,EAAE,OAAO,SAAS,aAAa,GAAG,EAAE,EAC3H,EAAE,CAAC,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,GAC1C,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,OAAO,EAEP,gBAAgB,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EACX,UAAU,EACV,aAAa,EACb,eAAe,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,SAAS,EACT,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,yGAAyG;AACzG,MAAM,MAAM,SAAS,CACpB,EAAE,EACF,EAAE,GAAG,cAAc,EACnB,SAAS,SAAS,eAAe,GAAG,EAAE,EACtC,OAAO,SAAS,aAAa,GAAG,EAAE,EAClC,IAAI,SAAS,OAAO,GAAG,UAAU,IAC9B,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACxB,EAAE,EACF,EAAE,GAAG,cAAc,EACnB,SAAS,SAAS,eAAe,GAAG,EAAE,EACtC,OAAO,SAAS,aAAa,GAAG,EAAE,EAElC,EAAE,EAAE,cAAc,GAAG,SAAS,EAC9B,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACxC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACtD,wBAAgB,SAAS,CACxB,EAAE,EACF,EAAE,GAAG,cAAc,EACnB,SAAS,SAAS,eAAe,GAAG,EAAE,EACtC,OAAO,SAAS,aAAa,GAAG,EAAE,EAElC,EAAE,CAAC,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,GACzC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
- import { createTransactionalSql } from "@typesql/core";
1
+ import { createTransactionalSql } from "@typesql/core/adapter";
2
2
  import { driver } from "./client.js";
3
- export { NoResultError } from "@typesql/core";
4
3
  export { executor } from "./client.js";
5
4
  export function createSql(db, options) {
6
5
  return createTransactionalSql(db, driver, options);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA6E,MAAM,eAAe,CAAC;AAClI,OAAO,EAAE,MAAM,EAAuB,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAwC,MAAM,eAAe,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAC;AA6B5D,MAAM,UAAU,SAAS,CACvB,EAAmB,EACnB,OAAoB;IAEpB,OAAO,sBAAsB,CAAyD,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7G,CAAC"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAuB,MAAM,aAAa,CAAC;AAO1D,OAAO,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAC;AAqD5D,MAAM,UAAU,SAAS,CAMxB,EAAmB,EACnB,OAAoB;IAEpB,OAAO,sBAAsB,CAI3B,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typesql/kysely",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Use Kysely database interfaces (kysely-codegen, prisma-kysely) as a TypeSQL schema.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -28,7 +28,7 @@
28
28
  "access": "public"
29
29
  },
30
30
  "dependencies": {
31
- "@typesql/core": "0.3.0"
31
+ "@typesql/core": "0.5.0"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "kysely": ">=0.27"
package/src/client.ts CHANGED
@@ -1,5 +1,6 @@
1
+ import type { Executor } from "@typesql/core";
2
+ import { runTransaction, type SqlDriver } from "@typesql/core/adapter";
1
3
  import { CompiledQuery, type QueryResult } from "kysely";
2
- import { runTransaction, type Executor, type SqlDriver } from "@typesql/core";
3
4
 
4
5
  /**
5
6
  * What the adapter uses from a `Kysely<DB>` or `Transaction<DB>`. Queries run through
@@ -8,13 +9,25 @@ import { runTransaction, type Executor, type SqlDriver } from "@typesql/core";
8
9
  * { rowKeys: "camelCase" })` renames the top-level keys instead, in the types too).
9
10
  */
10
11
  export interface KyselyExecutor {
11
- withoutPlugins(): { executeQuery<R>(query: CompiledQuery<R>): Promise<QueryResult<R>> };
12
- transaction(): { execute<T>(fn: (trx: KyselyExecutor) => Promise<T>): Promise<T> };
13
- readonly isTransaction: boolean;
12
+ withoutPlugins(): {
13
+ executeQuery<R>(query: CompiledQuery<R>): Promise<QueryResult<R>>;
14
+ };
15
+ transaction(): {
16
+ execute<T>(fn: (trx: KyselyExecutor) => Promise<T>): Promise<T>;
17
+ };
18
+ readonly isTransaction: boolean;
14
19
  }
15
20
 
16
- function run<R>(db: KyselyExecutor, text: string, values: readonly unknown[]): Promise<QueryResult<R>> {
17
- return db.withoutPlugins().executeQuery(CompiledQuery.raw(text, Array.from(values)) as CompiledQuery<R>);
21
+ function run<R>(
22
+ db: KyselyExecutor,
23
+ text: string,
24
+ values: readonly unknown[],
25
+ ): Promise<QueryResult<R>> {
26
+ return db
27
+ .withoutPlugins()
28
+ .executeQuery(
29
+ CompiledQuery.raw(text, Array.from(values)) as CompiledQuery<R>,
30
+ );
18
31
  }
19
32
 
20
33
  /**
@@ -22,7 +35,9 @@ function run<R>(db: KyselyExecutor, text: string, values: readonly unknown[]): P
22
35
  * count is the rows returned (SELECT), or 0 (DDL), as Postgres' command tag says.
23
36
  */
24
37
  function rowCount(result: QueryResult<unknown>): number {
25
- return result.numAffectedRows === undefined ? result.rows.length : Number(result.numAffectedRows);
38
+ return result.numAffectedRows === undefined
39
+ ? result.rows.length
40
+ : Number(result.numAffectedRows);
26
41
  }
27
42
 
28
43
  /**
@@ -30,19 +45,27 @@ function rowCount(result: QueryResult<unknown>): number {
30
45
  * without its plugins, and resolves to `{ rows, rowCount }` so `q.executeCount()` works.
31
46
  */
32
47
  export function executor(db: KyselyExecutor): Executor {
33
- return async (text, values) => {
34
- const result = await run<unknown>(db, text, values);
35
- return { rows: result.rows, rowCount: rowCount(result) };
36
- };
48
+ return async (text, values) => {
49
+ const result = await run<unknown>(db, text, values);
50
+ return { rows: result.rows, rowCount: rowCount(result) };
51
+ };
37
52
  }
38
53
 
39
54
  /**
40
55
  * Run `fn` inside `db.transaction().execute()`. A Kysely `Transaction` cannot start another one,
41
56
  * so inside one `fn` runs in a savepoint.
42
57
  */
43
- function transaction<T>(db: KyselyExecutor, depth: number, fn: (trx: KyselyExecutor) => Promise<T>): Promise<T> {
44
- if (!db.isTransaction) return db.transaction().execute(fn);
45
- return runTransaction((statement) => run(db, statement, []), () => fn(db), { savepoint: `typesql_${depth + 1}` });
58
+ function transaction<T>(
59
+ db: KyselyExecutor,
60
+ depth: number,
61
+ fn: (trx: KyselyExecutor) => Promise<T>,
62
+ ): Promise<T> {
63
+ if (!db.isTransaction) return db.transaction().execute(fn);
64
+ return runTransaction(
65
+ (statement) => run(db, statement, []),
66
+ () => fn(db),
67
+ { savepoint: `typesql_${depth + 1}` },
68
+ );
46
69
  }
47
70
 
48
71
  /** How `createSql(db)` runs queries and transactions. */
@@ -1,4 +1,5 @@
1
- import type { ColDesc, PgScalarName, View } from "@typesql/core";
1
+ import type { View } from "@typesql/core";
2
+ import type { ColDesc, PgScalarName } from "@typesql/core/engine";
2
3
 
3
4
  /**
4
5
  * Converting a Kysely `DB` interface (kysely-codegen, prisma-kysely or hand-written) into a
@@ -21,7 +22,9 @@ import type { ColDesc, PgScalarName, View } from "@typesql/core";
21
22
  export type ColumnOverride = string | Partial<ColDesc>;
22
23
 
23
24
  /** Overrides for one table: column key → `ColumnOverride`, plus `$view: true` for a view. */
24
- export type TableOverride = { readonly [column: string]: ColumnOverride | boolean };
25
+ export type TableOverride = {
26
+ readonly [column: string]: ColumnOverride | boolean;
27
+ };
25
28
 
26
29
  /**
27
30
  * Overrides for `FromKysely`, keyed by the `DB` interface's own table keys (`"auth.users"`,
@@ -56,52 +59,82 @@ export type KyselyOptions = { readonly camelCase?: boolean };
56
59
  * `"auth.users"` becomes `Schema["auth"]["users"]`; `"public.users"` becomes `Schema["users"]`.
57
60
  * String-literal unions become enums registered in `Schema["$types"]` (see `KyselyOverrides`).
58
61
  */
59
- export type FromKysely<DB, Overrides extends KyselyOverrides = {}, Options extends KyselyOptions = {}> = {
60
- -readonly [K in (keyof DB & string) | "$types" as OuterKey<K, Options>]-?: K extends "$types"
61
- ? EnumRegistry<DB, Overrides, Options>
62
- : K extends `public.${string}` ? TableOf<DB, K, Overrides, Options>
63
- : K extends `${infer S}.${string}` ? NamespaceOf<DB, S, Overrides, Options>
64
- : TableOf<DB, K, Overrides, Options>;
62
+ export type FromKysely<
63
+ DB,
64
+ Overrides extends KyselyOverrides = {},
65
+ Options extends KyselyOptions = {},
66
+ > = {
67
+ -readonly [K in (keyof DB & string) | "$types" as OuterKey<
68
+ K,
69
+ Options
70
+ >]-?: K extends "$types"
71
+ ? EnumRegistry<DB, Overrides, Options>
72
+ : K extends `public.${string}`
73
+ ? TableOf<DB, K, Overrides, Options>
74
+ : K extends `${infer S}.${string}`
75
+ ? NamespaceOf<DB, S, Overrides, Options>
76
+ : TableOf<DB, K, Overrides, Options>;
65
77
  };
66
78
 
67
79
  /** Kysely's default snake_case mapping (`CamelCasePlugin`'s `createSnakeCaseMapper()`), at the type level. */
68
80
  export type SnakeCase<S extends string> =
69
- S extends Lowercase<S> ? S
70
- : S extends `${infer H}${infer R}` ? SnakeRest<R, IsUpper<H>, Lowercase<H>>
71
- : S;
81
+ S extends Lowercase<S>
82
+ ? S
83
+ : S extends `${infer H}${infer R}`
84
+ ? SnakeRest<R, IsUpper<H>, Lowercase<H>>
85
+ : S;
72
86
 
73
87
  /**
74
88
  * Postgres type name, nullability and default inferred from one Kysely column type (no
75
89
  * overrides; string-literal unions are reported as `"enum"`, or `"enum[]"`).
76
90
  */
77
91
  export type InferColumn<T> = {
78
- readonly type: PgTypeOf<NonNullable<Sel<T>>, Exclude<Hint<T>, null | undefined>, "enum">;
79
- readonly nullable: null extends Sel<T> ? true : false;
80
- readonly hasDefault: HasDefault<T>;
92
+ readonly type: PgTypeOf<
93
+ NonNullable<Sel<T>>,
94
+ Exclude<Hint<T>, null | undefined>,
95
+ "enum"
96
+ >;
97
+ readonly nullable: null extends Sel<T> ? true : false;
98
+ readonly hasDefault: HasDefault<T>;
81
99
  };
82
100
 
83
101
  // ───────────────────────────── keys and namespaces ─────────────────────────────
84
102
 
85
- type Sn<S extends string, Opt> = Opt extends { readonly camelCase: true } ? SnakeCase<S> : S;
103
+ type Sn<S extends string, Opt> = Opt extends { readonly camelCase: true }
104
+ ? SnakeCase<S>
105
+ : S;
86
106
 
87
107
  type IsUpper<C extends string> = C extends Lowercase<C> ? false : true;
88
- type SnakeRest<S extends string, PrevUpper extends boolean, Acc extends string> =
89
- S extends `${infer C}${infer R}`
90
- ? SnakeRest<R, IsUpper<C>, `${Acc}${IsUpper<C> extends true ? (PrevUpper extends true ? Lowercase<C> : `_${Lowercase<C>}`) : C}`>
91
- : Acc;
108
+ type SnakeRest<
109
+ S extends string,
110
+ PrevUpper extends boolean,
111
+ Acc extends string,
112
+ > = S extends `${infer C}${infer R}`
113
+ ? SnakeRest<
114
+ R,
115
+ IsUpper<C>,
116
+ `${Acc}${IsUpper<C> extends true ? (PrevUpper extends true ? Lowercase<C> : `_${Lowercase<C>}`) : C}`
117
+ >
118
+ : Acc;
92
119
 
93
120
  /** Top-level key of a `DB` key: `"auth.users"` → `auth`, `"public.users"` → `users`. */
94
- type OuterKey<K extends string, Opt> =
95
- K extends "$types" ? K
96
- : K extends `public.${infer T}` ? Sn<T, Opt>
97
- : K extends `${infer S}.${string}` ? Sn<S, Opt>
98
- : Sn<K, Opt>;
121
+ type OuterKey<K extends string, Opt> = K extends "$types"
122
+ ? K
123
+ : K extends `public.${infer T}`
124
+ ? Sn<T, Opt>
125
+ : K extends `${infer S}.${string}`
126
+ ? Sn<S, Opt>
127
+ : Sn<K, Opt>;
99
128
 
100
129
  /** SQL name of a table key, schema-qualified unless `public`: used to name derived enums. */
101
- type SqlTableName<K extends string, Opt> = K extends `public.${infer T}` ? Sn<T, Opt> : Sn<K, Opt>;
130
+ type SqlTableName<K extends string, Opt> = K extends `public.${infer T}`
131
+ ? Sn<T, Opt>
132
+ : Sn<K, Opt>;
102
133
 
103
134
  type NamespaceOf<DB, S extends string, O, Opt> = {
104
- -readonly [K in keyof DB & `${S}.${string}` as K extends `${S}.${infer T}` ? Sn<T, Opt> : never]-?: TableOf<DB, K, O, Opt>;
135
+ -readonly [K in keyof DB & `${S}.${string}` as K extends `${S}.${infer T}`
136
+ ? Sn<T, Opt>
137
+ : never]-?: TableOf<DB, K, O, Opt>;
105
138
  };
106
139
 
107
140
  type TableOverrides<O, K> = K extends keyof O ? O[K] : undefined;
@@ -110,15 +143,33 @@ type ColumnOverrideOf<TO, C> = C extends keyof TO ? TO[C] : undefined;
110
143
  /** User enum registry (`Overrides["$types"]`), or `{}`. */
111
144
  type Registry<O> = O extends { readonly $types: infer R } ? R : {};
112
145
 
113
- type TableOf<DB, K extends string, O, Opt> =
114
- K extends keyof DB
115
- ? TableOverrides<O, K> extends { readonly $view: true }
116
- ? View<Columns<DB[K], TableOverrides<O, K>, SqlTableName<K, Opt>, Registry<O>, Opt>>
117
- : Columns<DB[K], TableOverrides<O, K>, SqlTableName<K, Opt>, Registry<O>, Opt>
118
- : never;
146
+ type TableOf<DB, K extends string, O, Opt> = K extends keyof DB
147
+ ? TableOverrides<O, K> extends { readonly $view: true }
148
+ ? View<
149
+ Columns<
150
+ DB[K],
151
+ TableOverrides<O, K>,
152
+ SqlTableName<K, Opt>,
153
+ Registry<O>,
154
+ Opt
155
+ >
156
+ >
157
+ : Columns<
158
+ DB[K],
159
+ TableOverrides<O, K>,
160
+ SqlTableName<K, Opt>,
161
+ Registry<O>,
162
+ Opt
163
+ >
164
+ : never;
119
165
 
120
166
  type Columns<Tbl, TO, TName extends string, Reg, Opt> = {
121
- -readonly [C in keyof Tbl & string as Sn<C, Opt>]-?: Column<Tbl[C], ColumnOverrideOf<TO, C>, Reg, `${TName}.${Sn<C, Opt>}`>;
167
+ -readonly [C in keyof Tbl & string as Sn<C, Opt>]-?: Column<
168
+ Tbl[C],
169
+ ColumnOverrideOf<TO, C>,
170
+ Reg,
171
+ `${TName}.${Sn<C, Opt>}`
172
+ >;
122
173
  };
123
174
 
124
175
  // ───────────────────────────── columns ─────────────────────────────
@@ -127,91 +178,159 @@ type Columns<Tbl, TO, TName extends string, Reg, Opt> = {
127
178
  type Sel<T> = T extends { readonly __select__: infer S } ? InnerSel<S> : T;
128
179
  type InnerSel<S> = S extends { readonly __select__: infer S2 } ? S2 : S;
129
180
  /** Insert type of the innermost `ColumnType`: tells `Int8`/`Numeric` apart from plain strings. */
130
- type Hint<T> = T extends { readonly __select__: infer S; readonly __insert__: infer I } ? InnerIns<S, I> : T;
181
+ type Hint<T> = T extends {
182
+ readonly __select__: infer S;
183
+ readonly __insert__: infer I;
184
+ }
185
+ ? InnerIns<S, I>
186
+ : T;
131
187
  type InnerIns<S, I> = S extends { readonly __insert__: infer I2 } ? I2 : I;
132
188
  /** Outer insert type: `undefined` in it (`Generated`) or `never` (`GeneratedAlways`) means a default. */
133
189
  type Ins<T> = T extends { readonly __insert__: infer I } ? I : T;
134
190
 
135
- type HasDefault<T> =
136
- [Extract<T, { readonly __insert__: unknown }>] extends [never] ? false
137
- : undefined extends Ins<T> ? true
138
- : [Exclude<Ins<T>, null>] extends [never] ? true
139
- : false;
191
+ type HasDefault<T> = [Extract<T, { readonly __insert__: unknown }>] extends [
192
+ never,
193
+ ]
194
+ ? false
195
+ : undefined extends Ins<T>
196
+ ? true
197
+ : [Exclude<Ins<T>, null>] extends [never]
198
+ ? true
199
+ : false;
140
200
 
141
201
  /** The string-literal union of an enum column (or of its array elements), else never. */
142
- type LiteralUnion<S> =
143
- [S] extends [string] ? (string extends S ? never : S)
144
- : [S] extends [readonly (infer E)[]] ? ([NonNullable<E>] extends [string] ? (string extends NonNullable<E> ? never : NonNullable<E>) : never)
145
- : never;
202
+ type LiteralUnion<S> = [S] extends [string]
203
+ ? string extends S
204
+ ? never
205
+ : S
206
+ : [S] extends [readonly (infer E)[]]
207
+ ? [NonNullable<E>] extends [string]
208
+ ? string extends NonNullable<E>
209
+ ? never
210
+ : NonNullable<E>
211
+ : never
212
+ : never;
146
213
 
147
214
  /**
148
215
  * Postgres type name from a non-null select type `S` and insert hint `H`. `E` is the name to
149
216
  * use for a string-literal union (an enum). An array select type is a Postgres array unless
150
217
  * the insert type has no array in it: `JSONColumnType<string[]>` inserts as `string`.
151
218
  */
152
- type PgTypeOf<S, H, E extends string> =
153
- unknown extends S ? "jsonb"
154
- : [S] extends [never] ? "text"
155
- : [S] extends [readonly (infer El)[]]
156
- ? IsJsonInsert<H> extends true ? "jsonb" : `${ScalarOf<ArrayElem<NonNullable<El>>, ArrayElem<ArrayElem<H>>, E>}[]`
157
- : ScalarOf<S, H, E>;
219
+ type PgTypeOf<S, H, E extends string> = unknown extends S
220
+ ? "jsonb"
221
+ : [S] extends [never]
222
+ ? "text"
223
+ : [S] extends [readonly (infer El)[]]
224
+ ? IsJsonInsert<H> extends true
225
+ ? "jsonb"
226
+ : `${ScalarOf<ArrayElem<NonNullable<El>>, ArrayElem<ArrayElem<H>>, E>}[]`
227
+ : ScalarOf<S, H, E>;
158
228
 
159
229
  /** Insert type with no array in it (`string`, `RawBuilder`); `never` (`GeneratedAlways`) tells nothing. */
160
- type IsJsonInsert<H> =
161
- [H] extends [never] ? false
162
- : [Extract<H, readonly unknown[]>] extends [never] ? true
163
- : false;
230
+ type IsJsonInsert<H> = [H] extends [never]
231
+ ? false
232
+ : [Extract<H, readonly unknown[]>] extends [never]
233
+ ? true
234
+ : false;
164
235
 
165
236
  /** Element type of an array (one more level for multi-dimensional arrays: Postgres types them alike). */
166
237
  type ArrayElem<T> = T extends readonly (infer E)[] ? E : T;
167
238
 
168
- type ScalarOf<S, H, E extends string> =
169
- unknown extends S ? "jsonb"
170
- : [S] extends [string] ? (string extends S ? StringKind<H> : E)
171
- : [S] extends [number] ? "int4"
172
- : [S] extends [bigint] ? "int8"
173
- : [S] extends [boolean] ? "bool"
174
- : [S] extends [Date] ? "timestamptz"
175
- : [S] extends [Uint8Array] ? "bytea"
176
- : [S] extends [readonly unknown[]] ? "jsonb"
177
- : [S] extends [object] ? ObjectKind<S>
178
- : "jsonb"; // mixed unions such as kysely-codegen's `JsonValue`
239
+ type ScalarOf<S, H, E extends string> = unknown extends S
240
+ ? "jsonb"
241
+ : [S] extends [string]
242
+ ? string extends S
243
+ ? StringKind<H>
244
+ : E
245
+ : [S] extends [number]
246
+ ? "int4"
247
+ : [S] extends [bigint]
248
+ ? "int8"
249
+ : [S] extends [boolean]
250
+ ? "bool"
251
+ : [S] extends [Date]
252
+ ? "timestamptz"
253
+ : [S] extends [Uint8Array]
254
+ ? "bytea"
255
+ : [S] extends [readonly unknown[]]
256
+ ? "jsonb"
257
+ : [S] extends [object]
258
+ ? ObjectKind<S>
259
+ : "jsonb"; // mixed unions such as kysely-codegen's `JsonValue`
179
260
 
180
261
  /** kysely-codegen selects `int8` and `numeric` as `string`; the insert type tells them apart. */
181
- type StringKind<H> =
182
- [H] extends [never] ? "text"
183
- : bigint extends H ? "int8"
184
- : number extends H ? "numeric"
185
- : "text";
262
+ type StringKind<H> = [H] extends [never]
263
+ ? "text"
264
+ : bigint extends H
265
+ ? "int8"
266
+ : number extends H
267
+ ? "numeric"
268
+ : "text";
186
269
 
187
270
  /** Index signatures (`Record<string, …>`) are jsonb: their `keyof` is `string`, which every key check would match. */
188
- type ObjectKind<S> =
189
- string extends keyof S ? "jsonb"
190
- : "days" extends keyof S ? "interval"
191
- : "radius" extends keyof S ? "circle"
192
- : "x" | "y" extends keyof S ? "point"
193
- : "jsonb";
271
+ type ObjectKind<S> = string extends keyof S
272
+ ? "jsonb"
273
+ : "days" extends keyof S
274
+ ? "interval"
275
+ : "radius" extends keyof S
276
+ ? "circle"
277
+ : "x" | "y" extends keyof S
278
+ ? "point"
279
+ : "jsonb";
194
280
 
195
281
  /** Name of a `$types` entry whose union is exactly `U` (when exactly one matches), else `Default`. */
196
282
  type EnumName<U, Reg, Default extends string> =
197
- RegistryMatch<U, Reg> extends infer N extends string ? ([N] extends [never] ? Default : IsSingle<N> extends true ? N : Default) : Default;
283
+ RegistryMatch<U, Reg> extends infer N extends string
284
+ ? [N] extends [never]
285
+ ? Default
286
+ : IsSingle<N> extends true
287
+ ? N
288
+ : Default
289
+ : Default;
198
290
  type RegistryMatch<U, Reg> = {
199
- [N in keyof Reg & string]: [U] extends [Reg[N]] ? ([Reg[N]] extends [U] ? N : never) : never;
291
+ [N in keyof Reg & string]: [U] extends [Reg[N]]
292
+ ? [Reg[N]] extends [U]
293
+ ? N
294
+ : never
295
+ : never;
200
296
  }[keyof Reg & string];
201
- type IsSingle<N, All = N> = N extends unknown ? ([Exclude<All, N>] extends [never] ? true : false) : never;
202
-
203
- type OverrideType<V> = V extends string ? V : V extends { readonly type: infer X extends string } ? X : never;
297
+ type IsSingle<N, All = N> = N extends unknown
298
+ ? [Exclude<All, N>] extends [never]
299
+ ? true
300
+ : false
301
+ : never;
302
+
303
+ type OverrideType<V> = V extends string
304
+ ? V
305
+ : V extends { readonly type: infer X extends string }
306
+ ? X
307
+ : never;
204
308
 
205
309
  /** Final type name of a column: the override's, else the inferred one. */
206
- type ColumnTypeName<T, V, Reg, Default extends string> =
207
- [OverrideType<V>] extends [never]
208
- ? PgTypeOf<NonNullable<Sel<T>>, Exclude<Hint<T>, null | undefined>, EnumName<LiteralUnion<NonNullable<Sel<T>>>, Reg, Default>>
209
- : OverrideType<V>;
310
+ type ColumnTypeName<T, V, Reg, Default extends string> = [
311
+ OverrideType<V>,
312
+ ] extends [never]
313
+ ? PgTypeOf<
314
+ NonNullable<Sel<T>>,
315
+ Exclude<Hint<T>, null | undefined>,
316
+ EnumName<LiteralUnion<NonNullable<Sel<T>>>, Reg, Default>
317
+ >
318
+ : OverrideType<V>;
210
319
 
211
320
  type Column<T, V, Reg, Default extends string> = {
212
- readonly type: ColumnTypeName<T, V, Reg, Default>;
213
- readonly nullable: [V] extends [{ readonly nullable: infer B extends boolean }] ? B : null extends Sel<T> ? true : false;
214
- readonly hasDefault: [V] extends [{ readonly hasDefault: infer B extends boolean }] ? B : HasDefault<T>;
321
+ readonly type: ColumnTypeName<T, V, Reg, Default>;
322
+ readonly nullable: [V] extends [
323
+ { readonly nullable: infer B extends boolean },
324
+ ]
325
+ ? B
326
+ : null extends Sel<T>
327
+ ? true
328
+ : false;
329
+ readonly hasDefault: [V] extends [
330
+ { readonly hasDefault: infer B extends boolean },
331
+ ]
332
+ ? B
333
+ : HasDefault<T>;
215
334
  };
216
335
 
217
336
  // ───────────────────────────── enums ─────────────────────────────
@@ -219,20 +338,39 @@ type Column<T, V, Reg, Default extends string> = {
219
338
  type BaseName<T extends string> = T extends `${infer B}[]` ? B : T;
220
339
 
221
340
  /** `[name, values]` when a column's type is an enum (not a built-in type) and its values are a literal union. */
222
- type EnumEntry<T, V, Reg, Default extends string> =
223
- [LiteralUnion<NonNullable<Sel<T>>>] extends [never] ? never
224
- : BaseName<ColumnTypeName<T, V, Reg, Default>> extends infer N extends string
225
- ? N extends PgScalarName ? never : [N, LiteralUnion<NonNullable<Sel<T>>>]
226
- : never;
341
+ type EnumEntry<T, V, Reg, Default extends string> = [
342
+ LiteralUnion<NonNullable<Sel<T>>>,
343
+ ] extends [never]
344
+ ? never
345
+ : BaseName<ColumnTypeName<T, V, Reg, Default>> extends infer N extends string
346
+ ? N extends PgScalarName
347
+ ? never
348
+ : [N, LiteralUnion<NonNullable<Sel<T>>>]
349
+ : never;
227
350
 
228
351
  type TableEnums<Tbl, TO, TName extends string, Reg, Opt> = {
229
- [C in keyof Tbl & string]-?: EnumEntry<Tbl[C], ColumnOverrideOf<TO, C>, Reg, `${TName}.${Sn<C, Opt>}`>;
352
+ [C in keyof Tbl & string]-?: EnumEntry<
353
+ Tbl[C],
354
+ ColumnOverrideOf<TO, C>,
355
+ Reg,
356
+ `${TName}.${Sn<C, Opt>}`
357
+ >;
230
358
  }[keyof Tbl & string];
231
359
 
232
360
  type EnumEntries<DB, O, Opt> =
233
- | { [N in keyof Registry<O> & string]: [N, Registry<O>[N]] }[keyof Registry<O> & string]
234
- | { [K in keyof DB & string]-?: TableEnums<DB[K], TableOverrides<O, K>, SqlTableName<K, Opt>, Registry<O>, Opt> }[keyof DB & string];
361
+ | {
362
+ [N in keyof Registry<O> & string]: [N, Registry<O>[N]];
363
+ }[keyof Registry<O> & string]
364
+ | {
365
+ [K in keyof DB & string]-?: TableEnums<
366
+ DB[K],
367
+ TableOverrides<O, K>,
368
+ SqlTableName<K, Opt>,
369
+ Registry<O>,
370
+ Opt
371
+ >;
372
+ }[keyof DB & string];
235
373
 
236
374
  type EnumRegistry<DB, O, Opt> = {
237
- [E in EnumEntries<DB, O, Opt> as E[0]]: E[1];
375
+ [E in EnumEntries<DB, O, Opt> as E[0]]: E[1];
238
376
  };
package/src/index.ts CHANGED
@@ -1,14 +1,36 @@
1
- import { createTransactionalSql, type DefaultTypeMap, type RowKeys, type SqlOptions, type TransactionalSql } from "@typesql/core";
1
+ import type {
2
+ DefaultTypeMap,
3
+ RowKeys,
4
+ SqlOptions,
5
+ TransactionalSql,
6
+ } from "@typesql/core";
7
+ import { createTransactionalSql } from "@typesql/core/adapter";
2
8
  import { driver, type KyselyExecutor } from "./client.js";
3
- import type { FromKysely, KyselyOptions, KyselyOverrides } from "./from-kysely.js";
9
+ import type {
10
+ FromKysely,
11
+ KyselyOptions,
12
+ KyselyOverrides,
13
+ } from "./from-kysely.js";
4
14
 
5
- export { NoResultError, type Executor, type TransactionalSql } from "@typesql/core";
6
- export type { FromKysely, KyselyOverrides, KyselyOptions, TableOverride, ColumnOverride, InferColumn, SnakeCase } from "./from-kysely.js";
7
15
  export { executor, type KyselyExecutor } from "./client.js";
16
+ export type {
17
+ ColumnOverride,
18
+ FromKysely,
19
+ InferColumn,
20
+ KyselyOptions,
21
+ KyselyOverrides,
22
+ SnakeCase,
23
+ TableOverride,
24
+ } from "./from-kysely.js";
8
25
 
9
26
  /** What `createSql<DB>(db)` returns: core's `Sql` over `FromKysely<DB, ...>`, with `transaction(fn)`. */
10
- export type KyselySql<DB, TM = DefaultTypeMap, Overrides extends KyselyOverrides = {}, Options extends KyselyOptions = {}, Keys extends RowKeys = "preserve"> =
11
- TransactionalSql<FromKysely<DB, Overrides, Options>, TM, Keys>;
27
+ export type KyselySql<
28
+ DB,
29
+ TM = DefaultTypeMap,
30
+ Overrides extends KyselyOverrides = {},
31
+ Options extends KyselyOptions = {},
32
+ Keys extends RowKeys = "preserve",
33
+ > = TransactionalSql<FromKysely<DB, Overrides, Options>, TM, Keys>;
12
34
 
13
35
  /**
14
36
  * `createSql` from core with a Kysely `DB` interface as the schema:
@@ -25,17 +47,36 @@ export type KyselySql<DB, TM = DefaultTypeMap, Overrides extends KyselyOverrides
25
47
  *
26
48
  * const sql = createSql<DB, DefaultTypeMap, {}, { camelCase: true }>(db, { rowKeys: "camelCase" });
27
49
  */
28
- export function createSql<DB, TM = DefaultTypeMap, Overrides extends KyselyOverrides = {}, Options extends KyselyOptions = {}>(
29
- db: KyselyExecutor | undefined,
30
- options: { readonly rowKeys: "camelCase" },
50
+ export function createSql<
51
+ DB,
52
+ TM = DefaultTypeMap,
53
+ Overrides extends KyselyOverrides = {},
54
+ Options extends KyselyOptions = {},
55
+ >(
56
+ db: KyselyExecutor | undefined,
57
+ options: { readonly rowKeys: "camelCase" },
31
58
  ): KyselySql<DB, TM, Overrides, Options, "camelCase">;
32
- export function createSql<DB, TM = DefaultTypeMap, Overrides extends KyselyOverrides = {}, Options extends KyselyOptions = {}>(
33
- db?: KyselyExecutor,
34
- options?: { readonly rowKeys?: "preserve" },
59
+ export function createSql<
60
+ DB,
61
+ TM = DefaultTypeMap,
62
+ Overrides extends KyselyOverrides = {},
63
+ Options extends KyselyOptions = {},
64
+ >(
65
+ db?: KyselyExecutor,
66
+ options?: { readonly rowKeys?: "preserve" },
35
67
  ): KyselySql<DB, TM, Overrides, Options>;
36
- export function createSql<DB, TM = DefaultTypeMap, Overrides extends KyselyOverrides = {}, Options extends KyselyOptions = {}>(
37
- db?: KyselyExecutor,
38
- options?: SqlOptions,
68
+ export function createSql<
69
+ DB,
70
+ TM = DefaultTypeMap,
71
+ Overrides extends KyselyOverrides = {},
72
+ Options extends KyselyOptions = {},
73
+ >(
74
+ db?: KyselyExecutor,
75
+ options?: SqlOptions,
39
76
  ): KyselySql<DB, TM, Overrides, Options, RowKeys> {
40
- return createTransactionalSql<FromKysely<DB, Overrides, Options>, TM, KyselyExecutor>(db, driver, options);
77
+ return createTransactionalSql<
78
+ FromKysely<DB, Overrides, Options>,
79
+ TM,
80
+ KyselyExecutor
81
+ >(db, driver, options);
41
82
  }