drizzle-typebox 0.3.3-aca84cf → 0.3.3-d407048

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
1
  import { Type, TypeRegistry, Kind } from '@sinclair/typebox';
2
- import { isTable, getTableColumns, getViewSelectedFields, is, Column, SQL, isView } from 'drizzle-orm';
2
+ import { extractExtendedColumnType, getTableName, getColumnTable, 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 = Type.Union([Type.String(), Type.Number(), Type.Boolean(), Type.Null()]);
34
26
  const jsonSchema = Type.Union([literalSchema, Type.Array(Type.Any()), Type.Record(Type.String(), Type.Any())]);
35
27
  TypeRegistry.Set('Buffer', (_, value) => value instanceof Buffer); // eslint-disable-line no-instanceof/no-instanceof
@@ -39,179 +31,138 @@ function mapEnumValues(values) {
39
31
  }
40
32
  function columnToSchema(column, t) {
41
33
  let schema;
42
- if (isWithEnum(column)) {
43
- schema = column.enumValues.length ? t.Enum(mapEnumValues(column.enumValues)) : t.String();
44
- }
45
- if (!schema) {
46
- // Handle specific types
47
- if (isColumnType(column, [
48
- 'PgGeometry',
49
- 'PgPointTuple',
50
- 'CockroachGeometry',
51
- ])) {
52
- schema = t.Tuple([t.Number(), t.Number()]);
53
- }
54
- else if (isColumnType(column, [
55
- 'PgGeometryObject',
56
- 'PgPointObject',
57
- 'CockroachGeometryObject',
58
- ])) {
59
- schema = t.Object({ x: t.Number(), y: t.Number() });
60
- }
61
- else if (isColumnType(column, [
62
- 'PgHalfVector',
63
- 'PgVector',
64
- 'SingleStoreVector',
65
- 'CockroachVector',
66
- ])) {
67
- schema = t.Array(t.Number(), column.dimensions
68
- ? {
69
- minItems: column.dimensions,
70
- maxItems: column.dimensions,
71
- }
72
- : undefined);
34
+ const { type, constraint } = extractExtendedColumnType(column);
35
+ switch (type) {
36
+ case 'array': {
37
+ schema = arrayColumnToSchema(column, constraint, t);
38
+ break;
73
39
  }
74
- else if (isColumnType(column, ['PgLine'])) {
75
- schema = t.Tuple([t.Number(), t.Number(), t.Number()]);
40
+ case 'object': {
41
+ schema = objectColumnToSchema(column, constraint, t);
42
+ break;
76
43
  }
77
- else if (isColumnType(column, ['PgLineABC'])) {
78
- schema = t.Object({
79
- a: t.Number(),
80
- b: t.Number(),
81
- c: t.Number(),
82
- });
83
- } // Handle other types
84
- else if (isColumnType(column, ['PgArray', 'CockroachArray'])) {
85
- schema = t.Array(columnToSchema(column.baseColumn, t), column.size
86
- ? {
87
- minItems: column.size,
88
- maxItems: column.size,
89
- }
90
- : undefined);
91
- }
92
- else if (column.dataType === 'array') {
93
- schema = t.Array(t.Any());
94
- }
95
- else if (column.dataType === 'number') {
96
- schema = numberColumnToSchema(column, t);
44
+ case 'number': {
45
+ schema = numberColumnToSchema(column, constraint, t);
46
+ break;
97
47
  }
98
- else if (column.dataType === 'bigint') {
99
- schema = bigintColumnToSchema(column, t);
48
+ case 'bigint': {
49
+ schema = bigintColumnToSchema(column, constraint, t);
50
+ break;
100
51
  }
101
- else if (column.dataType === 'boolean') {
52
+ case 'boolean': {
102
53
  schema = t.Boolean();
54
+ break;
103
55
  }
104
- else if (column.dataType === 'date') {
105
- schema = t.Date();
56
+ case 'string': {
57
+ schema = stringColumnToSchema(column, constraint, t);
58
+ break;
106
59
  }
107
- else if (column.dataType === 'string') {
108
- schema = stringColumnToSchema(column, t);
109
- }
110
- else if (column.dataType === 'json') {
111
- schema = jsonSchema;
112
- }
113
- else if (column.dataType === 'custom') {
60
+ case 'custom': {
114
61
  schema = t.Any();
62
+ break;
115
63
  }
116
- else if (column.dataType === 'buffer') {
117
- schema = bufferSchema;
64
+ default: {
65
+ schema = t.Any();
118
66
  }
119
67
  }
120
- if (!schema) {
121
- schema = t.Any();
122
- }
123
68
  return schema;
124
69
  }
125
- function numberColumnToSchema(column, t) {
126
- let unsigned = column.getSQLType().includes('unsigned') || isColumnType(column, ['MsSqlTinyInt']);
70
+ function numberColumnToSchema(column, constraint, t) {
127
71
  let min;
128
72
  let max;
129
73
  let integer = false;
130
- if (isColumnType(column, [
131
- 'MySqlTinyInt',
132
- 'SingleStoreTinyInt',
133
- 'MsSqlTinyInt',
134
- ])) {
135
- min = unsigned ? 0 : CONSTANTS.INT8_MIN;
136
- max = unsigned ? CONSTANTS.INT8_UNSIGNED_MAX : CONSTANTS.INT8_MAX;
137
- integer = true;
138
- }
139
- else if (isColumnType(column, [
140
- 'PgSmallInt',
141
- 'PgSmallSerial',
142
- 'MySqlSmallInt',
143
- 'SingleStoreSmallInt',
144
- 'MsSqlSmallInt',
145
- 'CockroachSmallInt',
146
- ])) {
147
- min = unsigned ? 0 : CONSTANTS.INT16_MIN;
148
- max = unsigned ? CONSTANTS.INT16_UNSIGNED_MAX : CONSTANTS.INT16_MAX;
149
- integer = true;
150
- }
151
- else if (isColumnType(column, [
152
- 'PgReal',
153
- 'MySqlFloat',
154
- 'MySqlMediumInt',
155
- 'SingleStoreFloat',
156
- 'SingleStoreMediumInt',
157
- 'MsSqlReal',
158
- 'CockroachReal',
159
- ])) {
160
- min = unsigned ? 0 : CONSTANTS.INT24_MIN;
161
- max = unsigned ? CONSTANTS.INT24_UNSIGNED_MAX : CONSTANTS.INT24_MAX;
162
- integer = isColumnType(column, ['MySqlMediumInt', 'SingleStoreMediumInt']);
163
- }
164
- else if (isColumnType(column, [
165
- 'PgInteger',
166
- 'PgSerial',
167
- 'MySqlInt',
168
- 'SingleStoreInt',
169
- 'MsSqlInt',
170
- 'CockroachInteger',
171
- ])) {
172
- min = unsigned ? 0 : CONSTANTS.INT32_MIN;
173
- max = unsigned ? CONSTANTS.INT32_UNSIGNED_MAX : CONSTANTS.INT32_MAX;
174
- integer = true;
175
- }
176
- else if (isColumnType(column, [
177
- 'PgDoublePrecision',
178
- 'MySqlReal',
179
- 'MySqlDouble',
180
- 'SingleStoreReal',
181
- 'SingleStoreDouble',
182
- 'SQLiteReal',
183
- 'MsSqlFloat',
184
- 'CockroachFloat',
185
- ])) {
186
- min = unsigned ? 0 : CONSTANTS.INT48_MIN;
187
- max = unsigned ? CONSTANTS.INT48_UNSIGNED_MAX : CONSTANTS.INT48_MAX;
188
- }
189
- else if (isColumnType(column, [
190
- 'PgBigInt53',
191
- 'PgBigSerial53',
192
- 'MySqlBigInt53',
193
- 'MySqlSerial',
194
- 'MySqlDecimalNumber',
195
- 'SingleStoreBigInt53',
196
- 'SingleStoreSerial',
197
- 'SingleStoreDecimalNumber',
198
- 'SQLiteInteger',
199
- 'CockroachBigInt53',
200
- ])
201
- || (isColumnType(column, ['MsSqlBigInt']) && column.mode === 'number')) {
202
- unsigned = unsigned || isColumnType(column, ['MySqlSerial', 'SingleStoreSerial']);
203
- min = unsigned ? 0 : Number.MIN_SAFE_INTEGER;
204
- max = Number.MAX_SAFE_INTEGER;
205
- integer = !isColumnType(column, ['MySqlDecimalNumber', 'SingleStoreDecimalNumber']);
206
- }
207
- else if (isColumnType(column, ['MySqlYear', 'SingleStoreYear'])) {
208
- min = 1901;
209
- max = 2155;
210
- integer = true;
211
- }
212
- else {
213
- min = Number.MIN_SAFE_INTEGER;
214
- max = Number.MAX_SAFE_INTEGER;
74
+ switch (constraint) {
75
+ case 'int8': {
76
+ min = CONSTANTS.INT8_MIN;
77
+ max = CONSTANTS.INT8_MAX;
78
+ integer = true;
79
+ break;
80
+ }
81
+ case 'uint8': {
82
+ min = 0;
83
+ max = CONSTANTS.INT8_UNSIGNED_MAX;
84
+ integer = true;
85
+ break;
86
+ }
87
+ case 'int16': {
88
+ min = CONSTANTS.INT16_MIN;
89
+ max = CONSTANTS.INT16_MAX;
90
+ integer = true;
91
+ break;
92
+ }
93
+ case 'uint16': {
94
+ min = 0;
95
+ max = CONSTANTS.INT16_UNSIGNED_MAX;
96
+ integer = true;
97
+ break;
98
+ }
99
+ case 'int24': {
100
+ min = CONSTANTS.INT24_MIN;
101
+ max = CONSTANTS.INT24_MAX;
102
+ integer = true;
103
+ break;
104
+ }
105
+ case 'uint24': {
106
+ min = 0;
107
+ max = CONSTANTS.INT24_UNSIGNED_MAX;
108
+ integer = true;
109
+ break;
110
+ }
111
+ case 'int32': {
112
+ min = CONSTANTS.INT32_MIN;
113
+ max = CONSTANTS.INT32_MAX;
114
+ integer = true;
115
+ break;
116
+ }
117
+ case 'uint32': {
118
+ min = 0;
119
+ max = CONSTANTS.INT32_UNSIGNED_MAX;
120
+ integer = true;
121
+ break;
122
+ }
123
+ case 'int53': {
124
+ min = Number.MIN_SAFE_INTEGER;
125
+ max = Number.MAX_SAFE_INTEGER;
126
+ integer = true;
127
+ break;
128
+ }
129
+ case 'uint53': {
130
+ min = 0;
131
+ max = Number.MAX_SAFE_INTEGER;
132
+ integer = true;
133
+ break;
134
+ }
135
+ case 'float': {
136
+ min = CONSTANTS.INT24_MIN;
137
+ max = CONSTANTS.INT24_MAX;
138
+ break;
139
+ }
140
+ case 'ufloat': {
141
+ min = 0;
142
+ max = CONSTANTS.INT24_UNSIGNED_MAX;
143
+ break;
144
+ }
145
+ case 'double': {
146
+ min = CONSTANTS.INT48_MIN;
147
+ max = CONSTANTS.INT48_MAX;
148
+ break;
149
+ }
150
+ case 'udouble': {
151
+ min = 0;
152
+ max = CONSTANTS.INT48_UNSIGNED_MAX;
153
+ break;
154
+ }
155
+ case 'year': {
156
+ min = 1901;
157
+ max = 2155;
158
+ integer = true;
159
+ break;
160
+ }
161
+ default: {
162
+ min = Number.MIN_SAFE_INTEGER;
163
+ max = Number.MAX_SAFE_INTEGER;
164
+ break;
165
+ }
215
166
  }
216
167
  const key = integer ? 'Integer' : 'Number';
217
168
  return t[key]({
@@ -219,89 +170,135 @@ function numberColumnToSchema(column, t) {
219
170
  maximum: max,
220
171
  });
221
172
  }
222
- TypeRegistry.Set('BigIntStringMode', (_, value) => {
223
- if (typeof value !== 'string' || !(/^-?\d+$/.test(value))) {
224
- return false;
225
- }
226
- const bigint = BigInt(value);
227
- if (bigint < CONSTANTS.INT64_MIN || bigint > CONSTANTS.INT64_MAX) {
228
- return false;
173
+ function arrayColumnToSchema(column, constraint, t) {
174
+ switch (constraint) {
175
+ case 'geometry':
176
+ case 'point': {
177
+ return t.Tuple([t.Number(), t.Number()]);
178
+ }
179
+ case 'line': {
180
+ return t.Tuple([t.Number(), t.Number(), t.Number()]);
181
+ }
182
+ case 'vector':
183
+ case 'halfvector': {
184
+ const length = column.length;
185
+ const sizeParam = length
186
+ ? {
187
+ minItems: length,
188
+ maxItems: length,
189
+ }
190
+ : undefined;
191
+ return t.Array(t.Number(), sizeParam);
192
+ }
193
+ case 'basecolumn': {
194
+ const size = column.length;
195
+ const sizeParam = size
196
+ ? {
197
+ minItems: size,
198
+ maxItems: size,
199
+ }
200
+ : undefined;
201
+ return column.baseColumn
202
+ ? t.Array(columnToSchema(column.baseColumn, t), sizeParam)
203
+ : t.Array(t.Any(), sizeParam);
204
+ }
205
+ default: {
206
+ return t.Array(t.Any());
207
+ }
229
208
  }
230
- return true;
231
- });
232
- /** @internal */
233
- const bigintStringModeSchema = {
234
- [Kind]: 'BigIntStringMode',
235
- type: 'string',
236
- };
237
- function bigintColumnToSchema(column, t) {
238
- if (isColumnType(column, ['MsSqlBigInt'])) {
239
- if (column.mode === 'string') {
240
- return bigintStringModeSchema;
209
+ }
210
+ function objectColumnToSchema(column, constraint, t) {
211
+ switch (constraint) {
212
+ case 'buffer': {
213
+ return bufferSchema;
241
214
  }
242
- else if (column.mode === 'number') {
243
- return numberColumnToSchema(column, t);
215
+ case 'date': {
216
+ return t.Date();
217
+ }
218
+ case 'geometry':
219
+ case 'point': {
220
+ return t.Object({
221
+ x: t.Number(),
222
+ y: t.Number(),
223
+ });
224
+ }
225
+ case 'json': {
226
+ return jsonSchema;
227
+ }
228
+ case 'line': {
229
+ return t.Object({
230
+ a: t.Number(),
231
+ b: t.Number(),
232
+ c: t.Number(),
233
+ });
234
+ }
235
+ default: {
236
+ return t.Object({});
244
237
  }
245
238
  }
246
- const unsigned = column.getSQLType().includes('unsigned');
247
- const min = unsigned ? 0n : CONSTANTS.INT64_MIN;
248
- const max = unsigned ? CONSTANTS.INT64_UNSIGNED_MAX : CONSTANTS.INT64_MAX;
249
- return t.BigInt({
250
- minimum: min,
251
- maximum: max,
252
- });
253
239
  }
254
- function stringColumnToSchema(column, t) {
255
- if (isColumnType(column, ['PgUUID', 'CockroachUUID'])) {
256
- return t.String({ format: 'uuid' });
240
+ function bigintColumnToSchema(column, constraint, t) {
241
+ let min;
242
+ let max;
243
+ switch (constraint) {
244
+ case 'int64': {
245
+ min = CONSTANTS.INT64_MIN;
246
+ max = CONSTANTS.INT64_MAX;
247
+ break;
248
+ }
249
+ case 'uint64': {
250
+ min = 0n;
251
+ max = CONSTANTS.INT64_UNSIGNED_MAX;
252
+ break;
253
+ }
257
254
  }
258
- else if (isColumnType(column, ['PgBinaryVector', 'CockroachBinaryVector'])) {
259
- return t.RegExp(/^[01]+$/, column.dimensions ? { maxLength: column.dimensions } : undefined);
255
+ const options = {};
256
+ if (min !== undefined) {
257
+ options.minimum = min;
260
258
  }
261
- let max;
262
- let fixed = false;
263
- // Char columns are padded to a fixed length. The input can be equal or less than the set length
264
- if (isColumnType(column, [
265
- 'PgVarchar',
266
- 'SQLiteText',
267
- 'PgChar',
268
- 'MySqlChar',
269
- 'SingleStoreChar',
270
- 'MsSqlChar',
271
- 'MsSqlVarChar',
272
- 'CockroachChar',
273
- 'CockroachVarchar',
274
- 'CockroachString',
275
- ])) {
276
- max = column.length;
259
+ if (max !== undefined) {
260
+ options.maximum = max;
277
261
  }
278
- else if (isColumnType(column, ['MySqlVarChar', 'SingleStoreVarChar'])) {
279
- max = column.length ?? CONSTANTS.INT16_UNSIGNED_MAX;
262
+ return t.BigInt(Object.keys(options).length > 0 ? options : undefined);
263
+ }
264
+ function stringColumnToSchema(column, constraint, t) {
265
+ const { name: columnName, length, isLengthExact } = column;
266
+ let regex;
267
+ if (constraint === 'binary') {
268
+ regex = /^[01]*$/;
280
269
  }
281
- else if (isColumnType(column, ['MySqlText', 'SingleStoreText'])) {
282
- if (column.textType === 'longtext') {
283
- max = CONSTANTS.INT32_UNSIGNED_MAX;
284
- }
285
- else if (column.textType === 'mediumtext') {
286
- max = CONSTANTS.INT24_UNSIGNED_MAX;
287
- }
288
- else if (column.textType === 'text') {
289
- max = CONSTANTS.INT16_UNSIGNED_MAX;
290
- }
291
- else {
292
- max = CONSTANTS.INT8_UNSIGNED_MAX;
270
+ if (constraint === 'uuid') {
271
+ return t.String({
272
+ format: 'uuid',
273
+ });
274
+ }
275
+ if (constraint === 'enum') {
276
+ const enumValues = column.enumValues;
277
+ if (!enumValues) {
278
+ throw new Error(`Column "${getTableName(getColumnTable(column))}"."${columnName}" is of 'enum' type, but lacks enum values`);
293
279
  }
280
+ return t.Enum(mapEnumValues(enumValues));
294
281
  }
295
282
  const options = {};
296
- if (max !== undefined && fixed) {
297
- options.minLength = max;
298
- options.maxLength = max;
283
+ if (length !== undefined && isLengthExact) {
284
+ options.minLength = length;
285
+ options.maxLength = length;
299
286
  }
300
- else if (max !== undefined) {
301
- options.maxLength = max;
287
+ else if (length !== undefined) {
288
+ options.maxLength = length;
302
289
  }
303
- return t.String(Object.keys(options).length > 0 ? options : undefined);
290
+ return regex
291
+ ? t.RegExp(regex, Object.keys(options).length > 0 ? options : undefined)
292
+ : t.String(Object.keys(options).length > 0 ? options : undefined);
293
+ }
294
+
295
+ function isColumnType(column, columnTypes) {
296
+ return columnTypes.includes(column.columnType);
297
+ }
298
+ function isWithEnum(column) {
299
+ return 'enumValues' in column && Array.isArray(column.enumValues) && column.enumValues.length > 0;
304
300
  }
301
+ const isPgEnum = isWithEnum;
305
302
 
306
303
  function getColumns(tableLike) {
307
304
  return isTable(tableLike) ? getTableColumns(tableLike) : getViewSelectedFields(tableLike);
@@ -349,14 +346,12 @@ const selectConditions = {
349
346
  nullable: (column) => !column.notNull,
350
347
  };
351
348
  const insertConditions = {
352
- never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
353
- || ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
349
+ never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
354
350
  optional: (column) => !column.notNull || (column.notNull && column.hasDefault),
355
351
  nullable: (column) => !column.notNull,
356
352
  };
357
353
  const updateConditions = {
358
- never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
359
- || ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
354
+ never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
360
355
  optional: () => true,
361
356
  nullable: (column) => !column.notNull,
362
357
  };
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":["t"],"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":["t"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-typebox",
3
- "version": "0.3.3-aca84cf",
3
+ "version": "0.3.3-d407048",
4
4
  "description": "Generate Typebox schemas from Drizzle ORM schemas",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,23 +1,22 @@
1
1
  import type * as t from '@sinclair/typebox';
2
- import type { Table, View } from 'drizzle-orm';
3
- import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
2
+ import type { InferInsertModel, InferSelectModel, Table, View } from 'drizzle-orm';
4
3
  import type { PgEnum } from 'drizzle-orm/pg-core';
5
4
  import type { EnumValuesToEnum } from "./column.types.cjs";
6
5
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.cjs";
7
6
  export interface CreateSelectSchema {
8
7
  <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
9
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
8
+ <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
10
9
  <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
11
10
  <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
12
- <TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): t.TEnum<EnumValuesToEnum<TEnum['enumValues']>>;
11
+ <TEnum extends PgEnum<any>>(enum_: TEnum): t.TEnum<EnumValuesToEnum<TEnum['enumValues']>>;
13
12
  }
14
13
  export interface CreateInsertSchema {
15
14
  <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
16
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
15
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
17
16
  }
18
17
  export interface CreateUpdateSchema {
19
18
  <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
20
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
19
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
21
20
  }
22
21
  export interface CreateSchemaFactoryOptions {
23
22
  typeboxInstance?: any;