@typesql/drizzle 0.2.7 → 0.2.9

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/drizzle
2
2
 
3
+ ## 0.2.9
4
+
5
+ ### Patch Changes
6
+
7
+ - Validate packages against PostgreSQL behavior and built outputs instead of hand-written test suites.
8
+
9
+ - Reorganize core internals and remove source comments and inline API documentation without changing SQL behavior.
10
+
11
+ - Updated dependencies:
12
+ - @typesql/core@0.7.6
13
+
14
+ ## 0.2.8
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies:
19
+ - @typesql/core@0.7.5
20
+
3
21
  ## 0.2.7
4
22
 
5
23
  ### Patch Changes
package/README.md CHANGED
@@ -13,7 +13,6 @@ Requires `drizzle-orm` 0.45 or later, on node-postgres or postgres.js.
13
13
  ## Usage
14
14
 
15
15
  ```ts
16
- // schema.ts: your Drizzle schema
17
16
  import { integer, pgTable, serial, text } from "drizzle-orm/pg-core";
18
17
 
19
18
  export const users = pgTable("users", {
@@ -30,7 +29,6 @@ export const posts = pgTable("posts", {
30
29
  ```
31
30
 
32
31
  ```ts
33
- // db.ts
34
32
  import { drizzle } from "drizzle-orm/node-postgres";
35
33
  import { Pool } from "pg";
36
34
  import { createSql } from "@typesql/drizzle";
@@ -45,7 +43,6 @@ const rows = await sql(
45
43
  WHERE u.id = $1`,
46
44
  1,
47
45
  ).execute();
48
- // { email: string; display_name: string | null; title: string }[]
49
46
  ```
50
47
 
51
48
  Good to know:
package/dist/casing.d.ts CHANGED
@@ -2,13 +2,8 @@ type Lower = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "
2
2
  type Upper = Uppercase<Lower>;
3
3
  type Digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
4
4
  type Cls<C extends string> = C extends Lower ? "l" : C extends Digit ? "d" : C extends Upper ? "u" : "o";
5
- /** A new word starts at `C` (class `K`) after a char of class `P`, `R` being the rest of the input. */
6
5
  type Starts<P, K, R extends string> = K extends "u" ? P extends "l" | "d" ? true : P extends "u" ? R extends `${Lower}${string}` ? true : false : false : K extends "d" ? P extends "u" ? true : false : false;
7
6
  type Push<A extends string[], W extends string> = W extends "" ? A : [...A, W];
8
- /**
9
- * Words of an identifier, as Drizzle's `casing` splits them
10
- * (`/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g`): `"userID2fa"` → `["user", "ID", "2fa"]`.
11
- */
12
7
  export type Words<S extends string, W extends string = "", Acc extends string[] = [], P = "o"> = S extends `${infer C}${infer R}` ? Cls<C> extends "o" ? Words<R, "", Push<Acc, W>, "o"> : Starts<P, Cls<C>, R> extends true ? Words<R, C, Push<Acc, W>, Cls<C>> : Words<R, `${W}${C}`, Acc, Cls<C>> : Push<Acc, W>;
13
8
  type Snake<Ws extends string[], Acc extends string = ""> = Ws extends [
14
9
  infer W extends string,
@@ -18,9 +13,7 @@ type Camel<Ws extends string[], Acc extends string = ""> = Ws extends [
18
13
  infer W extends string,
19
14
  ...infer R extends string[]
20
15
  ] ? Camel<R, Acc extends "" ? Lowercase<W> : `${Acc}${Capitalize<W>}`> : Acc;
21
- /** Drizzle's `toSnakeCase`: `"displayName"` → `"display_name"`. */
22
16
  export type ToSnakeCase<S extends string> = Snake<Words<S>>;
23
- /** Drizzle's `toCamelCase`: `"display_name"` → `"displayName"`. */
24
17
  export type ToCamelCase<S extends string> = Camel<Words<S>>;
25
18
  export {};
26
19
  //# sourceMappingURL=casing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"casing.d.ts","sourceRoot":"","sources":["../src/casing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"casing.d.ts","sourceRoot":"","sources":["../src/casing.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,21 +1,11 @@
1
1
  import type { Executor } from "@typesql/core";
2
2
  import type { SqlDriver } from "@typesql/core/adapter";
3
- /**
4
- * What the adapter uses from a Drizzle database (`drizzle(client)` from `drizzle-orm/node-postgres`,
5
- * `drizzle-orm/postgres-js`, ...) or a transaction from `db.transaction(fn)`.
6
- */
7
3
  export interface DrizzleDatabase {
8
4
  readonly _: {
9
5
  readonly session: object;
10
6
  };
11
7
  transaction<T>(fn: (tx: DrizzleDatabase) => Promise<T>): Promise<T>;
12
8
  }
13
- /**
14
- * An `Executor` for core's `q.execute()`: runs queries on the driver client under `db`, so rows
15
- * come back as the driver parses them (Drizzle's column mappers are not involved), and resolves to
16
- * `{ rows, rowCount }` so `q.executeCount()` works.
17
- */
18
9
  export declare function executor(db: DrizzleDatabase): Executor;
19
- /** How `createSql(db)` runs queries and transactions. */
20
10
  export declare const driver: SqlDriver<DrizzleDatabase>;
21
11
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpE;AAyBD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,eAAe,GAAG,QAAQ,CAgBtD;AAWD,yDAAyD;AACzD,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,eAAe,CAA6B,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpE;AAmBD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,eAAe,GAAG,QAAQ,CAgBtD;AAUD,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,eAAe,CAA6B,CAAC"}
package/dist/client.js CHANGED
@@ -1,8 +1,3 @@
1
- /**
2
- * The driver client under `db`: the `Pool`, `Client` or postgres.js `sql` given to `drizzle()`,
3
- * or, inside `db.transaction(fn)`, the connection the transaction runs on. Drizzle keeps it as
4
- * `session.client`.
5
- */
6
1
  function clientOf(db) {
7
2
  const client = db._.session.client;
8
3
  if (client &&
@@ -10,11 +5,6 @@ function clientOf(db) {
10
5
  return client;
11
6
  throw new Error("typesql: createSql(db) needs a Drizzle database on node-postgres or postgres.js (its session client has no query or unsafe method)");
12
7
  }
13
- /**
14
- * An `Executor` for core's `q.execute()`: runs queries on the driver client under `db`, so rows
15
- * come back as the driver parses them (Drizzle's column mappers are not involved), and resolves to
16
- * `{ rows, rowCount }` so `q.executeCount()` works.
17
- */
18
8
  export function executor(db) {
19
9
  return async (text, values) => {
20
10
  const client = clientOf(db);
@@ -26,10 +16,8 @@ export function executor(db) {
26
16
  return { rows: result.rows, rowCount: result.rowCount ?? null };
27
17
  };
28
18
  }
29
- /** Run `fn` inside `db.transaction(fn)`; Drizzle nests a transaction inside one with a savepoint. */
30
19
  function transaction(db, _depth, fn) {
31
20
  return db.transaction(fn);
32
21
  }
33
- /** How `createSql(db)` runs queries and transactions. */
34
22
  export const driver = { executor, transaction };
35
23
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH,SAAS,QAAQ,CAAC,EAAmB;IACpC,MAAM,MAAM,GAAI,EAAE,CAAC,CAAC,CAAC,OAA8C,CAAC,MAAM,CAAC;IAC3E,IACC,MAAM;QACN,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC;QAE3E,OAAO,MAAM,CAAC;IACf,MAAM,IAAI,KAAK,CACd,oIAAoI,CACpI,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAmB;IAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAClC,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAClB,CAAmD,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,KAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAG5D,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;IACjE,CAAC,CAAC;AACH,CAAC;AAED,qGAAqG;AACrG,SAAS,WAAW,CACnB,EAAmB,EACnB,MAAc,EACd,EAAuC;IAEvC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,MAAM,GAA+B,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAaA,SAAS,QAAQ,CAAC,EAAmB;IACpC,MAAM,MAAM,GAAI,EAAE,CAAC,CAAC,CAAC,OAA8C,CAAC,MAAM,CAAC;IAC3E,IACC,MAAM;QACN,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC;QAE3E,OAAO,MAAM,CAAC;IACf,MAAM,IAAI,KAAK,CACd,oIAAoI,CACpI,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAmB;IAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAClC,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAClB,CAAmD,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,KAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAG5D,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;IACjE,CAAC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CACnB,EAAmB,EACnB,MAAc,EACd,EAAuC;IAEvC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAA+B,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
@@ -1,15 +1,10 @@
1
1
  import type { Col, Generated, Nullable, NullableGenerated } from "@typesql/core";
2
2
  import type { ToCamelCase, ToSnakeCase } from "./casing.js";
3
- /** Settings of your Drizzle setup that the column types do not record. */
4
3
  export interface FromDrizzleOptions {
5
- /** The `casing` passed to `drizzle()`: applied to column names, as Drizzle does at runtime. */
6
4
  readonly casing?: "snake_case" | "camelCase" | undefined;
7
- /** Type of `timestamp()` columns not marked with `pgType` (Drizzle's types drop `withTimezone`). Default `"timestamp"`. */
8
5
  readonly timestamp?: "timestamp" | "timestamptz" | undefined;
9
- /** Type of `time()` columns not marked with `pgType`. Default `"time"`. */
10
6
  readonly time?: "time" | "timetz" | undefined;
11
7
  }
12
- /** Postgres type of each pg-core `columnType` with a fixed SQL type. */
13
8
  export interface DrizzleColumnTypes {
14
9
  PgSmallInt: "int2";
15
10
  PgInteger: "int4";
@@ -83,7 +78,6 @@ type ColumnConfig = {
83
78
  readonly data: unknown;
84
79
  readonly baseColumn: unknown;
85
80
  };
86
- /** Values of an exported `pgEnum` (array or object form). */
87
81
  type EnumValues<X> = X extends {
88
82
  readonly enumValues: readonly [string, ...string[]];
89
83
  } ? X["enumValues"][number] : X extends () => {
@@ -91,23 +85,19 @@ type EnumValues<X> = X extends {
91
85
  readonly data: infer D extends string;
92
86
  };
93
87
  } ? D : never;
94
- /** `$types` registry: exported enums by export name. */
95
88
  type Enums<S> = {
96
89
  -readonly [K in keyof S as S[K] extends EnumLike ? K : never]: EnumValues<S[K]>;
97
90
  };
98
91
  type LastOf<U> = (U extends unknown ? (x: () => U) => void : never) extends (x: infer F) => void ? F extends () => infer L ? L : never : never;
99
- /** Name of the exported enum whose values are exactly `V` (any one when several match), else `text`. */
100
92
  type EnumName<V, E> = {
101
93
  [K in keyof E]: [E[K]] extends [V] ? ([V] extends [E[K]] ? K : never) : never;
102
94
  }[keyof E] extends infer N ? [N] extends [never] ? "text" : LastOf<N> & string : never;
103
95
  type Opt<Opts, K extends keyof FromDrizzleOptions, D> = Opts extends {
104
96
  readonly [P in K]: infer V extends string;
105
97
  } ? V : D;
106
- /** Postgres type of a column config. */
107
98
  type PgTypeOf<D extends ColumnConfig, Opts = {}, E = {}> = D extends {
108
99
  readonly typesqlType: infer T extends string;
109
100
  } ? T : D["columnType"] extends keyof DrizzleColumnTypes ? DrizzleColumnTypes[D["columnType"]] : D["columnType"] extends "PgArray" ? D["baseColumn"] extends ColumnLike ? `${PgTypeOf<D["baseColumn"]["_"], Opts, E>}[]` : "unknown[]" : D["columnType"] extends "PgTimestamp" | "PgTimestampString" ? Opt<Opts, "timestamp", "timestamp"> : D["columnType"] extends "PgTime" ? Opt<Opts, "time", "time"> : D["columnType"] extends "PgEnumColumn" ? EnumName<(D["enumValues"] & readonly string[])[number], E> : D["columnType"] extends "PgEnumObjectColumn" ? EnumName<D["data"], E> : "unknown";
110
- /** The descriptor as the matching core helper (`Col`, `Nullable`, `Generated`, `NullableGenerated`). */
111
101
  type Desc<T extends string, N, H> = N extends true ? H extends true ? NullableGenerated<T> : Nullable<T> : H extends true ? Generated<T> : Col<T>;
112
102
  type ColOf<D extends ColumnConfig, Opts, E> = Desc<PgTypeOf<D, Opts, E>, D["notNull"] extends true ? false : true, D["hasDefault"] extends true ? D["hasRuntimeDefault"] extends true ? false : true : false>;
113
103
  type Cased<N extends string, Opts> = Opts extends {
@@ -129,7 +119,6 @@ type ViewColumns<F, Opts, E> = {
129
119
  type Relation<X, Opts, E> = X extends TableLike ? Columns<X["_"]["columns"], Opts, E> : X extends ViewLike ? {
130
120
  readonly $view: ViewColumns<X["_"]["selectedFields"], Opts, E>;
131
121
  } : never;
132
- /** Postgres schema of a table outside `public`. */
133
122
  type SchemaOf<X> = X extends TableLike ? Exclude<X["_"]["schema"], undefined | "public"> : never;
134
123
  type NameIn<X, N> = X extends TableLike ? X["_"]["schema"] extends N ? X["_"]["name"] : never : never;
135
124
  type TopName<X> = X extends TableLike ? [SchemaOf<X>] extends [never] ? X["_"]["name"] : never : X extends ViewLike ? X["_"]["name"] : never;
@@ -147,14 +136,6 @@ type Build<S, Opts, E = Enums<S>> = {
147
136
  type Flat<T> = {
148
137
  [K in keyof T]: T[K];
149
138
  } & {};
150
- /**
151
- * A TypeSQL schema from Drizzle `pg-core` definitions: `FromDrizzle<typeof schema>` with
152
- * `import * as schema from "./schema"`. Also accepts a record of tables or a single table.
153
- *
154
- * Keys are SQL names (tables, columns, `pgSchema` namespaces); views become `View<…>`;
155
- * exported `pgEnum`s are registered under `$types` by export name. Anything else exported
156
- * (relations, sequences, helpers) is ignored.
157
- */
158
139
  export type FromDrizzle<Schema, Opts extends FromDrizzleOptions = {}> = Schema extends TableLike | ViewLike ? Flat<Build<{
159
140
  [K in Schema["_"]["name"]]: Schema;
160
141
  }, Opts>> : Flat<Build<Schema, Opts>>;
@@ -1 +1 @@
1
- {"version":3,"file":"from-drizzle.d.ts","sourceRoot":"","sources":["../src/from-drizzle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"from-drizzle.d.ts","sourceRoot":"","sources":["../src/from-drizzle.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,13 +4,6 @@ import type { FromDrizzle, FromDrizzleOptions } from "./from-drizzle.js";
4
4
  export { type DrizzleDatabase, executor } from "./client.js";
5
5
  export type { DrizzleColumnTypes, FromDrizzle, FromDrizzleOptions, } from "./from-drizzle.js";
6
6
  export { pgType } from "./pg-type.js";
7
- /** What `createSql<typeof schema>(db)` returns: core's `Sql` over `FromDrizzle<Schema, Opts>`, with `transaction(fn)`. */
8
7
  export type DrizzleSql<Schema, TM = DefaultTypeMap, Opts extends FromDrizzleOptions = {}> = TransactionalSql<FromDrizzle<Schema, Opts>, TM>;
9
- /**
10
- * `createSql` from core with the schema converted from Drizzle definitions:
11
- * `createSql<typeof schema>(db)`, or `createSql<typeof schema, PgTypeMap>(db)` for a driver's type map.
12
- * The queries' `execute*` methods run on `db` (a Drizzle database or transaction, on node-postgres
13
- * or postgres.js), and `sql.transaction(fn)` runs `fn` with a `sql` bound to `db.transaction`.
14
- */
15
8
  export declare function createSql<Schema, TM = DefaultTypeMap, Opts extends FromDrizzleOptions = {}>(db?: DrizzleDatabase): DrizzleSql<Schema, TM, Opts>;
16
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,KAAK,eAAe,EAAU,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EACX,kBAAkB,EAClB,WAAW,EACX,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,0HAA0H;AAC1H,MAAM,MAAM,UAAU,CACrB,MAAM,EACN,EAAE,GAAG,cAAc,EACnB,IAAI,SAAS,kBAAkB,GAAG,EAAE,IACjC,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,SAAS,CACxB,MAAM,EACN,EAAE,GAAG,cAAc,EACnB,IAAI,SAAS,kBAAkB,GAAG,EAAE,EACnC,EAAE,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAKpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,KAAK,eAAe,EAAU,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EACX,kBAAkB,EAClB,WAAW,EACX,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,UAAU,CACrB,MAAM,EACN,EAAE,GAAG,cAAc,EACnB,IAAI,SAAS,kBAAkB,GAAG,EAAE,IACjC,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAEpD,wBAAgB,SAAS,CACxB,MAAM,EACN,EAAE,GAAG,cAAc,EACnB,IAAI,SAAS,kBAAkB,GAAG,EAAE,EACnC,EAAE,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAKpD"}
package/dist/index.js CHANGED
@@ -2,12 +2,6 @@ import { createTransactionalSql } from "@typesql/core/adapter";
2
2
  import { driver } from "./client.js";
3
3
  export { executor } from "./client.js";
4
4
  export { pgType } from "./pg-type.js";
5
- /**
6
- * `createSql` from core with the schema converted from Drizzle definitions:
7
- * `createSql<typeof schema>(db)`, or `createSql<typeof schema, PgTypeMap>(db)` for a driver's type map.
8
- * The queries' `execute*` methods run on `db` (a Drizzle database or transaction, on node-postgres
9
- * or postgres.js), and `sql.transaction(fn)` runs `fn` with a `sql` bound to `db.transaction`.
10
- */
11
5
  export function createSql(db) {
12
6
  return createTransactionalSql(db, driver);
13
7
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAwB,MAAM,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAwB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAStC;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAIvB,EAAoB;IACrB,OAAO,sBAAsB,CAC5B,EAAE,EACF,MAAM,CAC0B,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAwB,MAAM,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAwB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAQtC,MAAM,UAAU,SAAS,CAIvB,EAAoB;IACrB,OAAO,sBAAsB,CAC5B,EAAE,EACF,MAAM,CAC0B,CAAC;AACnC,CAAC"}
package/dist/pg-type.d.ts CHANGED
@@ -1,8 +1,3 @@
1
- /**
2
- * Pin the Postgres type of a Drizzle column for `FromDrizzle`, where the column type alone
3
- * cannot tell it: `pgType(timestamp("at", { withTimezone: true }), "timestamptz")`, or a
4
- * `customType` column. Returns the builder unchanged at runtime.
5
- */
6
1
  export declare function pgType<B, const T extends string>(builder: B, type: T): B & {
7
2
  readonly _: {
8
3
  readonly typesqlType: T;
@@ -1 +1 @@
1
- {"version":3,"file":"pg-type.d.ts","sourceRoot":"","sources":["../src/pg-type.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,CAAC,GACL,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAGjD"}
1
+ {"version":3,"file":"pg-type.d.ts","sourceRoot":"","sources":["../src/pg-type.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,CAAC,GACL,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAGjD"}
package/dist/pg-type.js CHANGED
@@ -1,8 +1,3 @@
1
- /**
2
- * Pin the Postgres type of a Drizzle column for `FromDrizzle`, where the column type alone
3
- * cannot tell it: `pgType(timestamp("at", { withTimezone: true }), "timestamptz")`, or a
4
- * `customType` column. Returns the builder unchanged at runtime.
5
- */
6
1
  export function pgType(builder, type) {
7
2
  void type;
8
3
  return builder;
@@ -1 +1 @@
1
- {"version":3,"file":"pg-type.js","sourceRoot":"","sources":["../src/pg-type.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,MAAM,CACrB,OAAU,EACV,IAAO;IAEP,KAAK,IAAI,CAAC;IACV,OAAO,OAA0D,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"pg-type.js","sourceRoot":"","sources":["../src/pg-type.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CACrB,OAAU,EACV,IAAO;IAEP,KAAK,IAAI,CAAC;IACV,OAAO,OAA0D,CAAC;AACnE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typesql/drizzle",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Use Drizzle ORM table definitions as a TypeSQL schema.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -28,20 +28,18 @@
28
28
  "access": "public"
29
29
  },
30
30
  "dependencies": {
31
- "@typesql/core": "0.7.4"
31
+ "@typesql/core": "0.7.6"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "drizzle-orm": ">=0.45"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/pg": "^8.23.1",
38
- "@typesql/pg": "0.2.7",
38
+ "@typesql/pg": "0.2.9",
39
39
  "drizzle-orm": "^0.45.4",
40
40
  "pg": "^8.23.1",
41
- "postgres": "^3.4.9",
42
41
  "tsrs": "0.18.0-ts7.1.0-dev.20260929",
43
- "typescript": "7.1.0-beta",
44
- "vitest": "^5.0.4"
42
+ "typescript": "7.1.0-beta"
45
43
  },
46
44
  "homepage": "https://typesql.karsli.net/adapters/drizzle",
47
45
  "bugs": {
@@ -63,7 +61,6 @@
63
61
  ],
64
62
  "scripts": {
65
63
  "build": "tsrs -p tsconfig.build.json",
66
- "typecheck": "tsrs -p tsconfig.json --noEmit",
67
- "test": "vitest run"
64
+ "typecheck": "tsrs -p tsconfig.json --noEmit"
68
65
  }
69
66
  }
package/src/casing.ts CHANGED
@@ -36,7 +36,6 @@ type Cls<C extends string> = C extends Lower
36
36
  ? "u"
37
37
  : "o";
38
38
 
39
- /** A new word starts at `C` (class `K`) after a char of class `P`, `R` being the rest of the input. */
40
39
  type Starts<P, K, R extends string> = K extends "u"
41
40
  ? P extends "l" | "d"
42
41
  ? true
@@ -53,10 +52,6 @@ type Starts<P, K, R extends string> = K extends "u"
53
52
 
54
53
  type Push<A extends string[], W extends string> = W extends "" ? A : [...A, W];
55
54
 
56
- /**
57
- * Words of an identifier, as Drizzle's `casing` splits them
58
- * (`/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g`): `"userID2fa"` → `["user", "ID", "2fa"]`.
59
- */
60
55
  export type Words<
61
56
  S extends string,
62
57
  W extends string = "",
@@ -83,7 +78,5 @@ type Camel<Ws extends string[], Acc extends string = ""> = Ws extends [
83
78
  ? Camel<R, Acc extends "" ? Lowercase<W> : `${Acc}${Capitalize<W>}`>
84
79
  : Acc;
85
80
 
86
- /** Drizzle's `toSnakeCase`: `"displayName"` → `"display_name"`. */
87
81
  export type ToSnakeCase<S extends string> = Snake<Words<S>>;
88
- /** Drizzle's `toCamelCase`: `"display_name"` → `"displayName"`. */
89
82
  export type ToCamelCase<S extends string> = Camel<Words<S>>;
package/src/client.ts CHANGED
@@ -1,26 +1,16 @@
1
1
  import type { Executor } from "@typesql/core";
2
2
  import type { SqlDriver } from "@typesql/core/adapter";
3
3
 
4
- /**
5
- * What the adapter uses from a Drizzle database (`drizzle(client)` from `drizzle-orm/node-postgres`,
6
- * `drizzle-orm/postgres-js`, ...) or a transaction from `db.transaction(fn)`.
7
- */
8
4
  export interface DrizzleDatabase {
9
5
  readonly _: { readonly session: object };
10
6
  transaction<T>(fn: (tx: DrizzleDatabase) => Promise<T>): Promise<T>;
11
7
  }
12
8
 
13
- /** The driver client a Drizzle session holds: node-postgres' `query` or postgres.js' `unsafe`. */
14
9
  interface DriverClient {
15
10
  query?(text: string, values: unknown[]): Promise<unknown>;
16
11
  unsafe?(text: string, values: unknown[]): PromiseLike<unknown>;
17
12
  }
18
13
 
19
- /**
20
- * The driver client under `db`: the `Pool`, `Client` or postgres.js `sql` given to `drizzle()`,
21
- * or, inside `db.transaction(fn)`, the connection the transaction runs on. Drizzle keeps it as
22
- * `session.client`.
23
- */
24
14
  function clientOf(db: DrizzleDatabase): DriverClient {
25
15
  const client = (db._.session as { readonly client?: DriverClient }).client;
26
16
  if (
@@ -33,11 +23,6 @@ function clientOf(db: DrizzleDatabase): DriverClient {
33
23
  );
34
24
  }
35
25
 
36
- /**
37
- * An `Executor` for core's `q.execute()`: runs queries on the driver client under `db`, so rows
38
- * come back as the driver parses them (Drizzle's column mappers are not involved), and resolves to
39
- * `{ rows, rowCount }` so `q.executeCount()` works.
40
- */
41
26
  export function executor(db: DrizzleDatabase): Executor {
42
27
  return async (text, values) => {
43
28
  const client = clientOf(db);
@@ -56,7 +41,6 @@ export function executor(db: DrizzleDatabase): Executor {
56
41
  };
57
42
  }
58
43
 
59
- /** Run `fn` inside `db.transaction(fn)`; Drizzle nests a transaction inside one with a savepoint. */
60
44
  function transaction<T>(
61
45
  db: DrizzleDatabase,
62
46
  _depth: number,
@@ -65,5 +49,4 @@ function transaction<T>(
65
49
  return db.transaction(fn);
66
50
  }
67
51
 
68
- /** How `createSql(db)` runs queries and transactions. */
69
52
  export const driver: SqlDriver<DrizzleDatabase> = { executor, transaction };
@@ -6,17 +6,12 @@ import type {
6
6
  } from "@typesql/core";
7
7
  import type { ToCamelCase, ToSnakeCase } from "./casing.js";
8
8
 
9
- /** Settings of your Drizzle setup that the column types do not record. */
10
9
  export interface FromDrizzleOptions {
11
- /** The `casing` passed to `drizzle()`: applied to column names, as Drizzle does at runtime. */
12
10
  readonly casing?: "snake_case" | "camelCase" | undefined;
13
- /** Type of `timestamp()` columns not marked with `pgType` (Drizzle's types drop `withTimezone`). Default `"timestamp"`. */
14
11
  readonly timestamp?: "timestamp" | "timestamptz" | undefined;
15
- /** Type of `time()` columns not marked with `pgType`. Default `"time"`. */
16
12
  readonly time?: "time" | "timetz" | undefined;
17
13
  }
18
14
 
19
- /** Postgres type of each pg-core `columnType` with a fixed SQL type. */
20
15
  export interface DrizzleColumnTypes {
21
16
  PgSmallInt: "int2";
22
17
  PgInteger: "int4";
@@ -90,7 +85,6 @@ type ColumnConfig = {
90
85
  readonly baseColumn: unknown;
91
86
  };
92
87
 
93
- /** Values of an exported `pgEnum` (array or object form). */
94
88
  type EnumValues<X> = X extends {
95
89
  readonly enumValues: readonly [string, ...string[]];
96
90
  }
@@ -99,7 +93,6 @@ type EnumValues<X> = X extends {
99
93
  ? D
100
94
  : never;
101
95
 
102
- /** `$types` registry: exported enums by export name. */
103
96
  type Enums<S> = {
104
97
  -readonly [K in keyof S as S[K] extends EnumLike ? K : never]: EnumValues<
105
98
  S[K]
@@ -114,7 +107,6 @@ type LastOf<U> = (U extends unknown ? (x: () => U) => void : never) extends (
114
107
  : never
115
108
  : never;
116
109
 
117
- /** Name of the exported enum whose values are exactly `V` (any one when several match), else `text`. */
118
110
  type EnumName<V, E> = {
119
111
  [K in keyof E]: [E[K]] extends [V] ? ([V] extends [E[K]] ? K : never) : never;
120
112
  }[keyof E] extends infer N
@@ -129,7 +121,6 @@ type Opt<Opts, K extends keyof FromDrizzleOptions, D> = Opts extends {
129
121
  ? V
130
122
  : D;
131
123
 
132
- /** Postgres type of a column config. */
133
124
  type PgTypeOf<D extends ColumnConfig, Opts = {}, E = {}> = D extends {
134
125
  readonly typesqlType: infer T extends string;
135
126
  }
@@ -150,7 +141,6 @@ type PgTypeOf<D extends ColumnConfig, Opts = {}, E = {}> = D extends {
150
141
  ? EnumName<D["data"], E>
151
142
  : "unknown";
152
143
 
153
- /** The descriptor as the matching core helper (`Col`, `Nullable`, `Generated`, `NullableGenerated`). */
154
144
  type Desc<T extends string, N, H> = N extends true
155
145
  ? H extends true
156
146
  ? NullableGenerated<T>
@@ -204,7 +194,6 @@ type Relation<X, Opts, E> = X extends TableLike
204
194
  ? { readonly $view: ViewColumns<X["_"]["selectedFields"], Opts, E> }
205
195
  : never;
206
196
 
207
- /** Postgres schema of a table outside `public`. */
208
197
  type SchemaOf<X> = X extends TableLike
209
198
  ? Exclude<X["_"]["schema"], undefined | "public">
210
199
  : never;
@@ -231,14 +220,6 @@ type Build<S, Opts, E = Enums<S>> = {
231
220
 
232
221
  type Flat<T> = { [K in keyof T]: T[K] } & {};
233
222
 
234
- /**
235
- * A TypeSQL schema from Drizzle `pg-core` definitions: `FromDrizzle<typeof schema>` with
236
- * `import * as schema from "./schema"`. Also accepts a record of tables or a single table.
237
- *
238
- * Keys are SQL names (tables, columns, `pgSchema` namespaces); views become `View<…>`;
239
- * exported `pgEnum`s are registered under `$types` by export name. Anything else exported
240
- * (relations, sequences, helpers) is ignored.
241
- */
242
223
  export type FromDrizzle<
243
224
  Schema,
244
225
  Opts extends FromDrizzleOptions = {},
package/src/index.ts CHANGED
@@ -11,19 +11,12 @@ export type {
11
11
  } from "./from-drizzle.js";
12
12
  export { pgType } from "./pg-type.js";
13
13
 
14
- /** What `createSql<typeof schema>(db)` returns: core's `Sql` over `FromDrizzle<Schema, Opts>`, with `transaction(fn)`. */
15
14
  export type DrizzleSql<
16
15
  Schema,
17
16
  TM = DefaultTypeMap,
18
17
  Opts extends FromDrizzleOptions = {},
19
18
  > = TransactionalSql<FromDrizzle<Schema, Opts>, TM>;
20
19
 
21
- /**
22
- * `createSql` from core with the schema converted from Drizzle definitions:
23
- * `createSql<typeof schema>(db)`, or `createSql<typeof schema, PgTypeMap>(db)` for a driver's type map.
24
- * The queries' `execute*` methods run on `db` (a Drizzle database or transaction, on node-postgres
25
- * or postgres.js), and `sql.transaction(fn)` runs `fn` with a `sql` bound to `db.transaction`.
26
- */
27
20
  export function createSql<
28
21
  Schema,
29
22
  TM = DefaultTypeMap,
package/src/pg-type.ts CHANGED
@@ -1,8 +1,3 @@
1
- /**
2
- * Pin the Postgres type of a Drizzle column for `FromDrizzle`, where the column type alone
3
- * cannot tell it: `pgType(timestamp("at", { withTimezone: true }), "timestamptz")`, or a
4
- * `customType` column. Returns the builder unchanged at runtime.
5
- */
6
1
  export function pgType<B, const T extends string>(
7
2
  builder: B,
8
3
  type: T,