drizzle-zod 0.8.3-e8ab855 → 0.8.3-fd8bfcc

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/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
+ import { extractExtendedColumnType, getTableName, getColumnTable, isTable, getTableColumns, getViewSelectedFields, is, Column, SQL, isView } from 'drizzle-orm';
1
2
  import { z } from 'zod/v4';
2
- import { isTable, getTableColumns, getViewSelectedFields, is, Column, SQL, isView } from 'drizzle-orm';
3
3
 
4
4
  const CONSTANTS = {
5
5
  INT8_MIN: -128,
@@ -22,14 +22,6 @@ const CONSTANTS = {
22
22
  INT64_UNSIGNED_MAX: 18446744073709551615n,
23
23
  };
24
24
 
25
- function isColumnType(column, columnTypes) {
26
- return columnTypes.includes(column.columnType);
27
- }
28
- function isWithEnum(column) {
29
- return 'enumValues' in column && Array.isArray(column.enumValues) && column.enumValues.length > 0;
30
- }
31
- const isPgEnum = isWithEnum;
32
-
33
25
  const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
34
26
  const jsonSchema = z.union([
35
27
  literalSchema,
@@ -41,202 +33,257 @@ function columnToSchema(column, factory) {
41
33
  const z$1 = factory?.zodInstance ?? z;
42
34
  const coerce = factory?.coerce ?? {};
43
35
  let schema;
44
- if (isWithEnum(column)) {
45
- schema = column.enumValues.length ? z$1.enum(column.enumValues) : z$1.string();
46
- }
47
- if (!schema) {
48
- // Handle specific types
49
- if (isColumnType(column, ['PgGeometry', 'PgPointTuple'])) {
50
- schema = z$1.tuple([z$1.number(), z$1.number()]);
51
- }
52
- else if (isColumnType(column, ['PgGeometryObject', 'PgPointObject'])) {
53
- schema = z$1.object({ x: z$1.number(), y: z$1.number() });
54
- }
55
- else if (isColumnType(column, ['PgHalfVector', 'PgVector'])) {
56
- schema = z$1.array(z$1.number());
57
- schema = column.dimensions ? schema.length(column.dimensions) : schema;
58
- }
59
- else if (isColumnType(column, ['PgLine'])) {
60
- schema = z$1.tuple([z$1.number(), z$1.number(), z$1.number()]);
61
- }
62
- else if (isColumnType(column, ['PgLineABC'])) {
63
- schema = z$1.object({
64
- a: z$1.number(),
65
- b: z$1.number(),
66
- c: z$1.number(),
67
- });
68
- } // Handle other types
69
- else if (isColumnType(column, ['PgArray'])) {
70
- schema = z$1.array(columnToSchema(column.baseColumn, factory));
71
- schema = column.size ? schema.length(column.size) : schema;
36
+ const { type, constraint } = extractExtendedColumnType(column);
37
+ switch (type) {
38
+ case 'array': {
39
+ schema = arrayColumnToSchema(column, constraint, z$1, coerce);
40
+ break;
72
41
  }
73
- else if (column.dataType === 'array') {
74
- schema = z$1.array(z$1.any());
42
+ case 'object': {
43
+ schema = objectColumnToSchema(column, constraint, z$1, coerce);
44
+ break;
75
45
  }
76
- else if (column.dataType === 'number') {
77
- schema = numberColumnToSchema(column, z$1, coerce);
46
+ case 'number': {
47
+ schema = numberColumnToSchema(column, constraint, z$1, coerce);
48
+ break;
78
49
  }
79
- else if (column.dataType === 'bigint') {
80
- schema = bigintColumnToSchema(column, z$1, coerce);
50
+ case 'bigint': {
51
+ schema = bigintColumnToSchema(column, constraint, z$1, coerce);
52
+ break;
81
53
  }
82
- else if (column.dataType === 'boolean') {
54
+ case 'boolean': {
83
55
  schema = coerce === true || coerce.boolean ? z$1.coerce.boolean() : z$1.boolean();
56
+ break;
84
57
  }
85
- else if (column.dataType === 'date') {
86
- schema = coerce === true || coerce.date ? z$1.coerce.date() : z$1.date();
87
- }
88
- else if (column.dataType === 'string') {
89
- schema = stringColumnToSchema(column, z$1, coerce);
90
- }
91
- else if (column.dataType === 'json') {
92
- schema = jsonSchema;
58
+ case 'string': {
59
+ schema = stringColumnToSchema(column, constraint, z$1, coerce);
60
+ break;
93
61
  }
94
- else if (column.dataType === 'custom') {
62
+ case 'custom': {
95
63
  schema = z$1.any();
64
+ break;
96
65
  }
97
- else if (column.dataType === 'buffer') {
98
- schema = bufferSchema;
66
+ default: {
67
+ schema = z$1.any();
99
68
  }
100
69
  }
101
- if (!schema) {
102
- schema = z$1.any();
103
- }
104
70
  return schema;
105
71
  }
106
- function numberColumnToSchema(column, z, coerce) {
107
- let unsigned = column.getSQLType().includes('unsigned');
72
+ function numberColumnToSchema(column, constraint, z, coerce) {
108
73
  let min;
109
74
  let max;
110
75
  let integer = false;
111
- if (isColumnType(column, ['MySqlTinyInt', 'SingleStoreTinyInt'])) {
112
- min = unsigned ? 0 : CONSTANTS.INT8_MIN;
113
- max = unsigned ? CONSTANTS.INT8_UNSIGNED_MAX : CONSTANTS.INT8_MAX;
114
- integer = true;
115
- }
116
- else if (isColumnType(column, [
117
- 'PgSmallInt',
118
- 'PgSmallSerial',
119
- 'MySqlSmallInt',
120
- 'SingleStoreSmallInt',
121
- ])) {
122
- min = unsigned ? 0 : CONSTANTS.INT16_MIN;
123
- max = unsigned ? CONSTANTS.INT16_UNSIGNED_MAX : CONSTANTS.INT16_MAX;
124
- integer = true;
125
- }
126
- else if (isColumnType(column, [
127
- 'PgReal',
128
- 'MySqlFloat',
129
- 'MySqlMediumInt',
130
- 'SingleStoreMediumInt',
131
- 'SingleStoreFloat',
132
- ])) {
133
- min = unsigned ? 0 : CONSTANTS.INT24_MIN;
134
- max = unsigned ? CONSTANTS.INT24_UNSIGNED_MAX : CONSTANTS.INT24_MAX;
135
- integer = isColumnType(column, ['MySqlMediumInt', 'SingleStoreMediumInt']);
136
- }
137
- else if (isColumnType(column, [
138
- 'PgInteger',
139
- 'PgSerial',
140
- 'MySqlInt',
141
- 'SingleStoreInt',
142
- ])) {
143
- min = unsigned ? 0 : CONSTANTS.INT32_MIN;
144
- max = unsigned ? CONSTANTS.INT32_UNSIGNED_MAX : CONSTANTS.INT32_MAX;
145
- integer = true;
146
- }
147
- else if (isColumnType(column, [
148
- 'PgDoublePrecision',
149
- 'MySqlReal',
150
- 'MySqlDouble',
151
- 'SingleStoreReal',
152
- 'SingleStoreDouble',
153
- 'SQLiteReal',
154
- ])) {
155
- min = unsigned ? 0 : CONSTANTS.INT48_MIN;
156
- max = unsigned ? CONSTANTS.INT48_UNSIGNED_MAX : CONSTANTS.INT48_MAX;
157
- }
158
- else if (isColumnType(column, [
159
- 'PgBigInt53',
160
- 'PgBigSerial53',
161
- 'MySqlBigInt53',
162
- 'MySqlSerial',
163
- 'SingleStoreBigInt53',
164
- 'SingleStoreSerial',
165
- 'SQLiteInteger',
166
- ])) {
167
- unsigned = unsigned || isColumnType(column, ['MySqlSerial', 'SingleStoreSerial']);
168
- min = unsigned ? 0 : Number.MIN_SAFE_INTEGER;
169
- max = Number.MAX_SAFE_INTEGER;
170
- integer = true;
171
- }
172
- else if (isColumnType(column, ['MySqlYear', 'SingleStoreYear'])) {
173
- min = 1901;
174
- max = 2155;
175
- integer = true;
176
- }
177
- else {
178
- min = Number.MIN_SAFE_INTEGER;
179
- max = Number.MAX_SAFE_INTEGER;
76
+ switch (constraint) {
77
+ case 'int8': {
78
+ min = CONSTANTS.INT8_MIN;
79
+ max = CONSTANTS.INT8_MAX;
80
+ integer = true;
81
+ break;
82
+ }
83
+ case 'uint8': {
84
+ min = 0;
85
+ max = CONSTANTS.INT8_UNSIGNED_MAX;
86
+ integer = true;
87
+ break;
88
+ }
89
+ case 'int16': {
90
+ min = CONSTANTS.INT16_MIN;
91
+ max = CONSTANTS.INT16_MAX;
92
+ integer = true;
93
+ break;
94
+ }
95
+ case 'uint16': {
96
+ min = 0;
97
+ max = CONSTANTS.INT16_UNSIGNED_MAX;
98
+ integer = true;
99
+ break;
100
+ }
101
+ case 'int24': {
102
+ min = CONSTANTS.INT24_MIN;
103
+ max = CONSTANTS.INT24_MAX;
104
+ integer = true;
105
+ break;
106
+ }
107
+ case 'uint24': {
108
+ min = 0;
109
+ max = CONSTANTS.INT24_UNSIGNED_MAX;
110
+ integer = true;
111
+ break;
112
+ }
113
+ case 'int32': {
114
+ min = CONSTANTS.INT32_MIN;
115
+ max = CONSTANTS.INT32_MAX;
116
+ integer = true;
117
+ break;
118
+ }
119
+ case 'uint32': {
120
+ min = 0;
121
+ max = CONSTANTS.INT32_UNSIGNED_MAX;
122
+ integer = true;
123
+ break;
124
+ }
125
+ case 'int53': {
126
+ min = Number.MIN_SAFE_INTEGER;
127
+ max = Number.MAX_SAFE_INTEGER;
128
+ integer = true;
129
+ break;
130
+ }
131
+ case 'uint53': {
132
+ min = 0;
133
+ max = Number.MAX_SAFE_INTEGER;
134
+ integer = true;
135
+ break;
136
+ }
137
+ case 'float': {
138
+ min = CONSTANTS.INT24_MIN;
139
+ max = CONSTANTS.INT24_MAX;
140
+ break;
141
+ }
142
+ case 'ufloat': {
143
+ min = 0;
144
+ max = CONSTANTS.INT24_UNSIGNED_MAX;
145
+ break;
146
+ }
147
+ case 'double': {
148
+ min = CONSTANTS.INT48_MIN;
149
+ max = CONSTANTS.INT48_MAX;
150
+ break;
151
+ }
152
+ case 'udouble': {
153
+ min = 0;
154
+ max = CONSTANTS.INT48_UNSIGNED_MAX;
155
+ break;
156
+ }
157
+ case 'year': {
158
+ min = 1901;
159
+ max = 2155;
160
+ integer = true;
161
+ break;
162
+ }
163
+ default: {
164
+ min = Number.MIN_SAFE_INTEGER;
165
+ max = Number.MAX_SAFE_INTEGER;
166
+ break;
167
+ }
180
168
  }
181
169
  let schema = coerce === true || coerce?.number
182
- ? integer ? z.coerce.number() : z.coerce.number().int()
170
+ ? integer ? z.coerce.number().int() : z.coerce.number()
183
171
  : integer
184
172
  ? z.int()
185
173
  : z.number();
186
174
  schema = schema.gte(min).lte(max);
187
175
  return schema;
188
176
  }
189
- function bigintColumnToSchema(column, z, coerce) {
190
- const unsigned = column.getSQLType().includes('unsigned');
191
- const min = unsigned ? 0n : CONSTANTS.INT64_MIN;
192
- const max = unsigned ? CONSTANTS.INT64_UNSIGNED_MAX : CONSTANTS.INT64_MAX;
193
- const schema = coerce === true || coerce?.bigint ? z.coerce.bigint() : z.bigint();
194
- return schema.gte(min).lte(max);
195
- }
196
- function stringColumnToSchema(column, z, coerce) {
197
- if (isColumnType(column, ['PgUUID'])) {
198
- return z.uuid();
199
- }
177
+ function bigintColumnToSchema(column, constraint, z, coerce) {
178
+ let min;
200
179
  let max;
201
- let regex;
202
- let fixed = false;
203
- if (isColumnType(column, ['PgVarchar', 'SQLiteText'])) {
204
- max = column.length;
180
+ switch (constraint) {
181
+ case 'int64': {
182
+ min = CONSTANTS.INT64_MIN;
183
+ max = CONSTANTS.INT64_MAX;
184
+ break;
185
+ }
186
+ case 'uint64': {
187
+ min = 0n;
188
+ max = CONSTANTS.INT64_UNSIGNED_MAX;
189
+ break;
190
+ }
205
191
  }
206
- else if (isColumnType(column, ['MySqlVarChar', 'SingleStoreVarChar'])) {
207
- max = column.length ?? CONSTANTS.INT16_UNSIGNED_MAX;
192
+ let schema = coerce === true || coerce?.bigint ? z.coerce.bigint() : z.bigint();
193
+ if (min !== undefined)
194
+ schema = schema.min(min);
195
+ if (max !== undefined)
196
+ schema = schema.max(max);
197
+ return schema;
198
+ }
199
+ function arrayColumnToSchema(column, constraint, z, coerce) {
200
+ switch (constraint) {
201
+ case 'geometry':
202
+ case 'point': {
203
+ return z.tuple([z.number(), z.number()]);
204
+ }
205
+ case 'line': {
206
+ return z.tuple([z.number(), z.number(), z.number()]);
207
+ }
208
+ case 'vector':
209
+ case 'halfvector': {
210
+ const length = column.length;
211
+ return length
212
+ ? z.array(z.number()).length(length)
213
+ : z.array(z.number());
214
+ }
215
+ case 'basecolumn': {
216
+ const length = column.length;
217
+ const schema = column.baseColumn
218
+ ? z.array(columnToSchema(column.baseColumn, {
219
+ zodInstance: z,
220
+ coerce,
221
+ }))
222
+ : z.array(z.any());
223
+ if (length)
224
+ return schema.length(length);
225
+ return schema;
226
+ }
227
+ default: {
228
+ return z.array(z.any());
229
+ }
208
230
  }
209
- else if (isColumnType(column, ['MySqlText', 'SingleStoreText'])) {
210
- if (column.textType === 'longtext') {
211
- max = CONSTANTS.INT32_UNSIGNED_MAX;
231
+ }
232
+ function objectColumnToSchema(column, constraint, z, coerce) {
233
+ switch (constraint) {
234
+ case 'buffer': {
235
+ return bufferSchema;
212
236
  }
213
- else if (column.textType === 'mediumtext') {
214
- max = CONSTANTS.INT24_UNSIGNED_MAX;
237
+ case 'date': {
238
+ return coerce === true || coerce?.date ? z.coerce.date() : z.date();
215
239
  }
216
- else if (column.textType === 'text') {
217
- max = CONSTANTS.INT16_UNSIGNED_MAX;
240
+ case 'geometry':
241
+ case 'point': {
242
+ return z.object({
243
+ x: z.number(),
244
+ y: z.number(),
245
+ });
218
246
  }
219
- else {
220
- max = CONSTANTS.INT8_UNSIGNED_MAX;
247
+ case 'json': {
248
+ return jsonSchema;
249
+ }
250
+ case 'line': {
251
+ return z.object({
252
+ a: z.number(),
253
+ b: z.number(),
254
+ c: z.number(),
255
+ });
256
+ }
257
+ default: {
258
+ return z.looseObject({});
221
259
  }
222
260
  }
223
- if (isColumnType(column, [
224
- 'PgChar',
225
- 'MySqlChar',
226
- 'SingleStoreChar',
227
- ])) {
228
- max = column.length;
229
- fixed = true;
261
+ }
262
+ function stringColumnToSchema(column, constraint, z, coerce) {
263
+ const { name: columnName, length, isLengthExact } = column;
264
+ let regex;
265
+ if (constraint === 'binary') {
266
+ regex = /^[01]*$/;
230
267
  }
231
- if (isColumnType(column, ['PgBinaryVector'])) {
232
- regex = /^[01]+$/;
233
- max = column.dimensions;
268
+ if (constraint === 'uuid')
269
+ return z.uuid();
270
+ if (constraint === 'enum') {
271
+ const enumValues = column.enumValues;
272
+ if (!enumValues) {
273
+ throw new Error(`Column "${getTableName(getColumnTable(column))}"."${columnName}" is of 'enum' type, but lacks enum values`);
274
+ }
275
+ return z.enum(enumValues);
234
276
  }
235
277
  let schema = coerce === true || coerce?.string ? z.coerce.string() : z.string();
236
278
  schema = regex ? schema.regex(regex) : schema;
237
- return max && fixed ? schema.length(max) : max ? schema.max(max) : schema;
279
+ return length && isLengthExact ? schema.length(length) : length ? schema.max(length) : schema;
238
280
  }
239
281
 
282
+ function isWithEnum(column) {
283
+ return 'enumValues' in column && Array.isArray(column.enumValues) && column.enumValues.length > 0;
284
+ }
285
+ const isPgEnum = isWithEnum;
286
+
240
287
  function getColumns(tableLike) {
241
288
  return isTable(tableLike) ? getTableColumns(tableLike) : getViewSelectedFields(tableLike);
242
289
  }
@@ -326,5 +373,5 @@ function createSchemaFactory(options) {
326
373
  return { createSelectSchema, createInsertSchema, createUpdateSchema };
327
374
  }
328
375
 
329
- export { bufferSchema, createInsertSchema, createSchemaFactory, createSelectSchema, createUpdateSchema, isColumnType, isPgEnum, isWithEnum, jsonSchema, literalSchema };
376
+ export { bufferSchema, createInsertSchema, createSchemaFactory, createSelectSchema, createUpdateSchema, isPgEnum, isWithEnum, jsonSchema, literalSchema };
330
377
  //# sourceMappingURL=index.mjs.map
package/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/utils.ts","../src/column.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["zod","z"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/column.ts","../src/utils.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["zod","z"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-zod",
3
- "version": "0.8.3-e8ab855",
3
+ "version": "0.8.3-fd8bfcc",
4
4
  "description": "Generate Zod schemas from Drizzle ORM schemas",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -64,7 +64,7 @@
64
64
  "author": "Drizzle Team",
65
65
  "license": "Apache-2.0",
66
66
  "peerDependencies": {
67
- "drizzle-orm": ">=0.36.0",
67
+ "drizzle-orm": ">=1.0.0-beta.1",
68
68
  "zod": "^3.25.0 || ^4.0.0"
69
69
  },
70
70
  "devDependencies": {
package/schema.d.cts CHANGED
@@ -1,8 +1,8 @@
1
- import type { CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.cjs";
1
+ import type { CoerceOptions, CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.cjs";
2
2
  export declare const createSelectSchema: CreateSelectSchema<undefined>;
3
3
  export declare const createInsertSchema: CreateInsertSchema<undefined>;
4
4
  export declare const createUpdateSchema: CreateUpdateSchema<undefined>;
5
- export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(options?: CreateSchemaFactoryOptions<TCoerce>): {
5
+ export declare function createSchemaFactory<TCoerce extends CoerceOptions>(options?: CreateSchemaFactoryOptions<TCoerce>): {
6
6
  createSelectSchema: CreateSelectSchema<TCoerce>;
7
7
  createInsertSchema: CreateInsertSchema<TCoerce>;
8
8
  createUpdateSchema: CreateUpdateSchema<TCoerce>;
package/schema.d.mts CHANGED
@@ -1,8 +1,8 @@
1
- import type { CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.mjs";
1
+ import type { CoerceOptions, CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.mjs";
2
2
  export declare const createSelectSchema: CreateSelectSchema<undefined>;
3
3
  export declare const createInsertSchema: CreateInsertSchema<undefined>;
4
4
  export declare const createUpdateSchema: CreateUpdateSchema<undefined>;
5
- export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(options?: CreateSchemaFactoryOptions<TCoerce>): {
5
+ export declare function createSchemaFactory<TCoerce extends CoerceOptions>(options?: CreateSchemaFactoryOptions<TCoerce>): {
6
6
  createSelectSchema: CreateSelectSchema<TCoerce>;
7
7
  createInsertSchema: CreateInsertSchema<TCoerce>;
8
8
  createUpdateSchema: CreateUpdateSchema<TCoerce>;
package/schema.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import type { CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from './schema.types.js';
1
+ import type { CoerceOptions, CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from './schema.types.js';
2
2
  export declare const createSelectSchema: CreateSelectSchema<undefined>;
3
3
  export declare const createInsertSchema: CreateInsertSchema<undefined>;
4
4
  export declare const createUpdateSchema: CreateUpdateSchema<undefined>;
5
- export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(options?: CreateSchemaFactoryOptions<TCoerce>): {
5
+ export declare function createSchemaFactory<TCoerce extends CoerceOptions>(options?: CreateSchemaFactoryOptions<TCoerce>): {
6
6
  createSelectSchema: CreateSelectSchema<TCoerce>;
7
7
  createInsertSchema: CreateInsertSchema<TCoerce>;
8
8
  createUpdateSchema: CreateUpdateSchema<TCoerce>;
@@ -1,25 +1,27 @@
1
- import type { Table, View } from 'drizzle-orm';
1
+ import type { InferInsertModel, InferSelectModel, Table, View } from 'drizzle-orm';
2
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
3
  import type { z } from 'zod/v4';
4
4
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.cjs";
5
- export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
5
+ export interface CreateSelectSchema<TCoerce extends CoerceOptions> {
6
6
  <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined, TCoerce>;
7
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
7
+ <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
8
8
  <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
9
9
  <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields'], TCoerce>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine, TCoerce>;
10
10
  <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<{
11
11
  [K in TEnum['enumValues'][number]]: K;
12
12
  }>;
13
13
  }
14
- export interface CreateInsertSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
14
+ export interface CreateInsertSchema<TCoerce extends CoerceOptions> {
15
15
  <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined, TCoerce>;
16
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine, TCoerce>;
16
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>, TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine, TCoerce>;
17
17
  }
18
- export interface CreateUpdateSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
18
+ export interface CreateUpdateSchema<TCoerce extends CoerceOptions> {
19
19
  <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined, TCoerce>;
20
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, TCoerce>;
20
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>, TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, TCoerce>;
21
21
  }
22
- export interface CreateSchemaFactoryOptions<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
22
+ export interface CreateSchemaFactoryOptions<TCoerce extends CoerceOptions> {
23
23
  zodInstance?: any;
24
24
  coerce?: TCoerce;
25
25
  }
26
+ export type CoerceOptions = Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined;
27
+ export type FactoryOptions = CreateSchemaFactoryOptions<CoerceOptions>;
@@ -1,25 +1,27 @@
1
- import type { Table, View } from 'drizzle-orm';
1
+ import type { InferInsertModel, InferSelectModel, Table, View } from 'drizzle-orm';
2
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
3
  import type { z } from 'zod/v4';
4
4
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.mjs";
5
- export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
5
+ export interface CreateSelectSchema<TCoerce extends CoerceOptions> {
6
6
  <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined, TCoerce>;
7
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
7
+ <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
8
8
  <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
9
9
  <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields'], TCoerce>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine, TCoerce>;
10
10
  <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<{
11
11
  [K in TEnum['enumValues'][number]]: K;
12
12
  }>;
13
13
  }
14
- export interface CreateInsertSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
14
+ export interface CreateInsertSchema<TCoerce extends CoerceOptions> {
15
15
  <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined, TCoerce>;
16
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine, TCoerce>;
16
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>, TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine, TCoerce>;
17
17
  }
18
- export interface CreateUpdateSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
18
+ export interface CreateUpdateSchema<TCoerce extends CoerceOptions> {
19
19
  <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined, TCoerce>;
20
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, TCoerce>;
20
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>, TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, TCoerce>;
21
21
  }
22
- export interface CreateSchemaFactoryOptions<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
22
+ export interface CreateSchemaFactoryOptions<TCoerce extends CoerceOptions> {
23
23
  zodInstance?: any;
24
24
  coerce?: TCoerce;
25
25
  }
26
+ export type CoerceOptions = Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined;
27
+ export type FactoryOptions = CreateSchemaFactoryOptions<CoerceOptions>;