drizzle-zod 0.8.3-2d0c9fd → 0.8.3-391d33b

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';
2
1
  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,6 +22,14 @@ 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
+
25
33
  const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
26
34
  const jsonSchema = z.union([
27
35
  literalSchema,
@@ -33,273 +41,202 @@ function columnToSchema(column, factory) {
33
41
  const z$1 = factory?.zodInstance ?? z;
34
42
  const coerce = factory?.coerce ?? {};
35
43
  let schema;
36
- const { type, constraint } = extractExtendedColumnType(column);
37
- switch (type) {
38
- case 'array': {
39
- schema = arrayColumnToSchema(column, constraint, z$1, coerce);
40
- break;
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;
41
72
  }
42
- case 'object': {
43
- schema = objectColumnToSchema(column, constraint, z$1, coerce);
44
- break;
73
+ else if (column.dataType === 'array') {
74
+ schema = z$1.array(z$1.any());
45
75
  }
46
- case 'number': {
47
- schema = numberColumnToSchema(column, constraint, z$1, coerce);
48
- break;
76
+ else if (column.dataType === 'number') {
77
+ schema = numberColumnToSchema(column, z$1, coerce);
49
78
  }
50
- case 'bigint': {
51
- schema = bigintColumnToSchema(column, constraint, z$1, coerce);
52
- break;
79
+ else if (column.dataType === 'bigint') {
80
+ schema = bigintColumnToSchema(column, z$1, coerce);
53
81
  }
54
- case 'boolean': {
82
+ else if (column.dataType === 'boolean') {
55
83
  schema = coerce === true || coerce.boolean ? z$1.coerce.boolean() : z$1.boolean();
56
- break;
57
84
  }
58
- case 'string': {
59
- schema = stringColumnToSchema(column, constraint, z$1, coerce);
60
- break;
85
+ else if (column.dataType === 'date') {
86
+ schema = coerce === true || coerce.date ? z$1.coerce.date() : z$1.date();
61
87
  }
62
- case 'custom': {
63
- schema = z$1.any();
64
- break;
88
+ else if (column.dataType === 'string') {
89
+ schema = stringColumnToSchema(column, z$1, coerce);
90
+ }
91
+ else if (column.dataType === 'json') {
92
+ schema = jsonSchema;
65
93
  }
66
- default: {
94
+ else if (column.dataType === 'custom') {
67
95
  schema = z$1.any();
68
96
  }
97
+ else if (column.dataType === 'buffer') {
98
+ schema = bufferSchema;
99
+ }
100
+ }
101
+ if (!schema) {
102
+ schema = z$1.any();
69
103
  }
70
104
  return schema;
71
105
  }
72
- function numberColumnToSchema(column, constraint, z, coerce) {
106
+ function numberColumnToSchema(column, z, coerce) {
107
+ let unsigned = column.getSQLType().includes('unsigned');
73
108
  let min;
74
109
  let max;
75
110
  let integer = false;
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
- case 'unsigned': {
164
- min = 0;
165
- max = Number.MAX_SAFE_INTEGER;
166
- break;
167
- }
168
- default: {
169
- min = Number.MIN_SAFE_INTEGER;
170
- max = Number.MAX_SAFE_INTEGER;
171
- break;
172
- }
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;
173
180
  }
174
181
  let schema = coerce === true || coerce?.number
175
- ? integer ? z.coerce.number().int() : z.coerce.number()
182
+ ? integer ? z.coerce.number() : z.coerce.number().int()
176
183
  : integer
177
184
  ? z.int()
178
185
  : z.number();
179
186
  schema = schema.gte(min).lte(max);
180
187
  return schema;
181
188
  }
182
- /** @internal */
183
- const bigintStringModeSchema = z.string().regex(/^-?\d+$/).transform(BigInt).pipe(z.bigint().gte(CONSTANTS.INT64_MIN).lte(CONSTANTS.INT64_MAX)).transform(String);
184
- function bigintColumnToSchema(column, constraint, z, coerce) {
185
- let min;
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
+ }
186
200
  let max;
187
- switch (constraint) {
188
- case 'int64': {
189
- min = CONSTANTS.INT64_MIN;
190
- max = CONSTANTS.INT64_MAX;
191
- break;
192
- }
193
- case 'uint64': {
194
- min = 0n;
195
- max = CONSTANTS.INT64_UNSIGNED_MAX;
196
- break;
197
- }
201
+ let regex;
202
+ let fixed = false;
203
+ if (isColumnType(column, ['PgVarchar', 'SQLiteText'])) {
204
+ max = column.length;
198
205
  }
199
- let schema = coerce === true || coerce?.bigint ? z.coerce.bigint() : z.bigint();
200
- if (min !== undefined)
201
- schema = schema.min(min);
202
- if (max !== undefined)
203
- schema = schema.max(max);
204
- return schema;
205
- }
206
- function arrayColumnToSchema(column, constraint, z, coerce) {
207
- switch (constraint) {
208
- case 'geometry':
209
- case 'point': {
210
- return z.tuple([z.number(), z.number()]);
211
- }
212
- case 'line': {
213
- return z.tuple([z.number(), z.number(), z.number()]);
214
- }
215
- case 'vector':
216
- case 'halfvector': {
217
- const length = column.length;
218
- return length
219
- ? z.array(z.number()).length(length)
220
- : z.array(z.number());
221
- }
222
- case 'int64vector': {
223
- const length = column.length;
224
- return length
225
- ? z.array(z.bigint().min(CONSTANTS.INT64_MIN).max(CONSTANTS.INT64_MAX)).length(length)
226
- : z.array(z.bigint().min(CONSTANTS.INT64_MIN).max(CONSTANTS.INT64_MAX));
227
- }
228
- case 'basecolumn': {
229
- const length = column.length;
230
- const schema = column.baseColumn
231
- ? z.array(columnToSchema(column.baseColumn, {
232
- zodInstance: z,
233
- coerce,
234
- }))
235
- : z.array(z.any());
236
- if (length)
237
- return schema.length(length);
238
- return schema;
239
- }
240
- default: {
241
- return z.array(z.any());
242
- }
206
+ else if (isColumnType(column, ['MySqlVarChar', 'SingleStoreVarChar'])) {
207
+ max = column.length ?? CONSTANTS.INT16_UNSIGNED_MAX;
243
208
  }
244
- }
245
- function objectColumnToSchema(column, constraint, z, coerce) {
246
- switch (constraint) {
247
- case 'buffer': {
248
- return bufferSchema;
249
- }
250
- case 'date': {
251
- return coerce === true || coerce?.date ? z.coerce.date() : z.date();
252
- }
253
- case 'geometry':
254
- case 'point': {
255
- return z.object({
256
- x: z.number(),
257
- y: z.number(),
258
- });
209
+ else if (isColumnType(column, ['MySqlText', 'SingleStoreText'])) {
210
+ if (column.textType === 'longtext') {
211
+ max = CONSTANTS.INT32_UNSIGNED_MAX;
259
212
  }
260
- case 'json': {
261
- return jsonSchema;
213
+ else if (column.textType === 'mediumtext') {
214
+ max = CONSTANTS.INT24_UNSIGNED_MAX;
262
215
  }
263
- case 'line': {
264
- return z.object({
265
- a: z.number(),
266
- b: z.number(),
267
- c: z.number(),
268
- });
216
+ else if (column.textType === 'text') {
217
+ max = CONSTANTS.INT16_UNSIGNED_MAX;
269
218
  }
270
- default: {
271
- return z.looseObject({});
219
+ else {
220
+ max = CONSTANTS.INT8_UNSIGNED_MAX;
272
221
  }
273
222
  }
274
- }
275
- function stringColumnToSchema(column, constraint, z, coerce) {
276
- const { name: columnName, length, isLengthExact } = column;
277
- let regex;
278
- if (constraint === 'binary') {
279
- regex = /^[01]*$/;
223
+ if (isColumnType(column, [
224
+ 'PgChar',
225
+ 'MySqlChar',
226
+ 'SingleStoreChar',
227
+ ])) {
228
+ max = column.length;
229
+ fixed = true;
280
230
  }
281
- if (constraint === 'uuid')
282
- return z.uuid();
283
- if (constraint === 'enum') {
284
- const enumValues = column.enumValues;
285
- if (!enumValues) {
286
- throw new Error(`Column "${getTableName(getColumnTable(column))}"."${columnName}" is of 'enum' type, but lacks enum values`);
287
- }
288
- return z.enum(enumValues);
289
- }
290
- if (constraint === 'int64') {
291
- return bigintStringModeSchema;
231
+ if (isColumnType(column, ['PgBinaryVector'])) {
232
+ regex = /^[01]+$/;
233
+ max = column.dimensions;
292
234
  }
293
235
  let schema = coerce === true || coerce?.string ? z.coerce.string() : z.string();
294
236
  schema = regex ? schema.regex(regex) : schema;
295
- return length && isLengthExact ? schema.length(length) : length ? schema.max(length) : schema;
237
+ return max && fixed ? schema.length(max) : max ? schema.max(max) : schema;
296
238
  }
297
239
 
298
- function isWithEnum(column) {
299
- return 'enumValues' in column && Array.isArray(column.enumValues) && column.enumValues.length > 0;
300
- }
301
- const isPgEnum = isWithEnum;
302
-
303
240
  function getColumns(tableLike) {
304
241
  return isTable(tableLike) ? getTableColumns(tableLike) : getViewSelectedFields(tableLike);
305
242
  }
@@ -346,14 +283,12 @@ const selectConditions = {
346
283
  nullable: (column) => !column.notNull,
347
284
  };
348
285
  const insertConditions = {
349
- never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
350
- || ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
286
+ never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
351
287
  optional: (column) => !column.notNull || (column.notNull && column.hasDefault),
352
288
  nullable: (column) => !column.notNull,
353
289
  };
354
290
  const updateConditions = {
355
- never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
356
- || ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
291
+ never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
357
292
  optional: () => true,
358
293
  nullable: (column) => !column.notNull,
359
294
  };
@@ -391,5 +326,5 @@ function createSchemaFactory(options) {
391
326
  return { createSelectSchema, createInsertSchema, createUpdateSchema };
392
327
  }
393
328
 
394
- export { bufferSchema, createInsertSchema, createSchemaFactory, createSelectSchema, createUpdateSchema, isPgEnum, isWithEnum, jsonSchema, literalSchema };
329
+ export { bufferSchema, createInsertSchema, createSchemaFactory, createSelectSchema, createUpdateSchema, isColumnType, isPgEnum, isWithEnum, jsonSchema, literalSchema };
395
330
  //# sourceMappingURL=index.mjs.map
package/index.mjs.map CHANGED
@@ -1 +1 @@
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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"}
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":";;;AAAO,MAAM,SAAS,GAAG;IACxB,QAAQ,EAAE,CAAC,GAAG;AACd,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,iBAAiB,EAAE,GAAG;IACtB,SAAS,EAAE,CAAC,KAAK;AACjB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,kBAAkB,EAAE,KAAK;IACzB,SAAS,EAAE,CAAC,OAAO;AACnB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,kBAAkB,EAAE,QAAQ;IAC5B,SAAS,EAAE,CAAC,UAAU;AACtB,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,kBAAkB,EAAE,UAAU;IAC9B,SAAS,EAAE,CAAC,eAAe;AAC3B,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,kBAAkB,EAAE,eAAe;IACnC,SAAS,EAAE,CAAC,oBAAoB;AAChC,IAAA,SAAS,EAAE,oBAAoB;AAC/B,IAAA,kBAAkB,EAAE,qBAAqB;CACzC;;ACde,SAAA,YAAY,CAAmB,MAAc,EAAE,WAAqB,EAAA;IACnF,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAEK,SAAU,UAAU,CAAC,MAAc,EAAA;IACxC,OAAO,YAAY,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AACnG,CAAC;AAEM,MAAM,QAAQ,GAA6D;;ACgD3E,MAAM,aAAa,GAAGA,CAAG,CAAC,KAAK,CAAC,CAACA,CAAG,CAAC,MAAM,EAAE,EAAEA,CAAG,CAAC,MAAM,EAAE,EAAEA,CAAG,CAAC,OAAO,EAAE,EAAEA,CAAG,CAAC,IAAI,EAAE,CAAC,EAAE;AACnF,MAAA,UAAU,GAAsBA,CAAG,CAAC,KAAK,CAAC;IACtD,aAAa;AACb,IAAAA,CAAG,CAAC,MAAM,CAACA,CAAG,CAAC,MAAM,EAAE,EAAEA,CAAG,CAAC,GAAG,EAAE,CAAC;AACnC,IAAAA,CAAG,CAAC,KAAK,CAACA,CAAG,CAAC,GAAG,EAAE,CAAC;AACpB,CAAA,EAAE;AACU,MAAA,YAAY,GAAwBA,CAAG,CAAC,MAAM,CAAS,CAAC,CAAC,KAAK,CAAC,YAAY,MAAM,EAAE;AAEhF,SAAA,cAAc,CAC7B,MAAc,EACd,OAIY,EAAA;AAEZ,IAAA,MAAMC,GAAC,GAAe,OAAO,EAAE,WAAW,IAAID,CAAG,CAAC;AAClD,IAAA,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;AACrC,IAAA,IAAI,MAAoB,CAAC;AAEzB,IAAA,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAGC,GAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAGA,GAAC,CAAC,MAAM,EAAE,CAAC;KAC3E;IAED,IAAI,CAAC,MAAM,EAAE;;QAEZ,IAAI,YAAY,CAAsC,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE;AAC9F,YAAA,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,CAACA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC3C;aAAM,IACN,YAAY,CAA6C,MAAM,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,EACtG;YACD,MAAM,GAAGA,GAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACpD;aAAM,IAAI,YAAY,CAAoC,MAAM,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EAAE;YACjG,MAAM,GAAGA,GAAC,CAAC,KAAK,CAACA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,YAAA,MAAM,GAAG,MAAM,CAAC,UAAU,GAAI,MAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;SAC9F;aAAM,IAAI,YAAY,CAAmB,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC9D,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,CAACA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACvD;aAAM,IAAI,YAAY,CAAiB,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE;AAC/D,YAAA,MAAM,GAAGA,GAAC,CAAC,MAAM,CAAC;AACjB,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,aAAA,CAAC,CAAC;AACJ,SAAC;aACI,IAAI,YAAY,CAAoB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;AAC9D,YAAA,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7D,YAAA,MAAM,GAAG,MAAM,CAAC,IAAI,GAAI,MAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;SAClF;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE;YACvC,MAAM,GAAGA,GAAC,CAAC,KAAK,CAACA,GAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SAC1B;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;YACzC,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,GAAGA,GAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAGA,GAAC,CAAC,OAAO,EAAE,CAAC;SAC9E;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;YACtC,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,GAAGA,GAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAGA,GAAC,CAAC,IAAI,EAAE,CAAC;SACrE;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;YACtC,MAAM,GAAG,UAAU,CAAC;SACpB;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACxC,YAAA,MAAM,GAAGA,GAAC,CAAC,GAAG,EAAE,CAAC;SACjB;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,YAAY,CAAC;SACtB;KACD;IAED,IAAI,CAAC,MAAM,EAAE;AACZ,QAAA,MAAM,GAAGA,GAAC,CAAC,GAAG,EAAE,CAAC;KACjB;AAED,IAAA,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAEW,EAAA;IAEX,IAAI,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACxD,IAAA,IAAI,GAAY,CAAC;AACjB,IAAA,IAAI,GAAY,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,YAAY,CAA8C,MAAM,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,EAAE;AAC9G,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;AACxC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC;QAClE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAAuF,MAAM,EAAE;QAC1G,YAAY;QACZ,eAAe;QACf,eAAe;QACf,qBAAqB;AACrB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAEV,MAAM,EAAE;QACT,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,sBAAsB;QACtB,kBAAkB;AAClB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,CAAC;KAC3E;SAAM,IACN,YAAY,CAAuE,MAAM,EAAE;QAC1F,WAAW;QACX,UAAU;QACV,UAAU;QACV,gBAAgB;AAChB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAOV,MAAM,EAAE;QACT,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,mBAAmB;QACnB,YAAY;AACZ,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;KACpE;SAAM,IACN,YAAY,CASX,MAAM,EACN;QACC,YAAY;QACZ,eAAe;QACf,eAAe;QACf,aAAa;QACb,qBAAqB;QACrB,mBAAmB;QACnB,eAAe;AACf,KAAA,CACD,EACA;AACD,QAAA,QAAQ,GAAG,QAAQ,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClF,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC7C,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IAAI,YAAY,CAAwC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE;QACzG,GAAG,GAAG,IAAI,CAAC;QACX,GAAG,GAAG,IAAI,CAAC;QACX,OAAO,GAAG,IAAI,CAAC;KACf;SAAM;AACN,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC9B,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;KAC9B;IAED,IAAI,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM;UAC3C,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;AACvD,UAAE,OAAO;AACT,cAAE,CAAC,CAAC,GAAG,EAAE;AACT,cAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACd,IAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,IAAA,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAEW,EAAA;IAEX,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1D,IAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;AAChD,IAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;IAE1E,MAAM,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAClF,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAEW,EAAA;IAEX,IAAI,YAAY,CAA+C,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;AACnF,QAAA,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;KAChB;AAED,IAAA,IAAI,GAAuB,CAAC;AAC5B,IAAA,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,IAAI,YAAY,CAAmC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE;AACxF,QAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;KACpB;SAAM,IACN,YAAY,CAA8C,MAAM,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,EACxG;QACD,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC;KACpD;SAAM,IAAI,YAAY,CAAwC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE;AACzG,QAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;AACnC,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC5C,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;AACtC,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;aAAM;AACN,YAAA,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC;SAClC;KACD;IAED,IACC,YAAY,CAAsD,MAAM,EAAE;QACzE,QAAQ;QACR,WAAW;QACX,iBAAiB;AACjB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK,GAAG,IAAI,CAAC;KACb;IAED,IAAI,YAAY,CAAsB,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE;QAClE,KAAK,GAAG,SAAS,CAAC;AAClB,QAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;KACxB;IAED,IAAI,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAChF,IAAA,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AAC9C,IAAA,OAAO,GAAG,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AAC3E;;AChTA,SAAS,UAAU,CAAC,SAAuB,EAAA;AAC1C,IAAA,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CACrB,OAA4B,EAC5B,WAAgC,EAChC,UAAsB,EACtB,OAEC,EAAA;IAED,MAAM,aAAa,GAA8B,EAAE,CAAC;AAEpD,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACtD,QAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9G,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACxF,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACzF,SAAS;SACT;AAED,QAAA,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AACjE,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;YAChC,SAAS;SACT;AAED,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC3D,QAAA,MAAM,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AAClE,QAAA,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE/E,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC7B,SAAS;SACT;aAAM;AACN,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;SAC7B;QAED,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAChC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAE,CAAC,QAAQ,EAAE,CAAC;aACpD;AAED,YAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAChC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAE,CAAC,QAAQ,EAAE,CAAC;aACpD;SACD;KACD;AAED,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAQ,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAClB,KAAkB,EAClB,OAEC,EAAA;AAED,IAAA,MAAM,GAAG,GAAa,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,gBAAgB,GAAe;AACpC,IAAA,KAAK,EAAE,MAAM,KAAK;AAClB,IAAA,QAAQ,EAAE,MAAM,KAAK;IACrB,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;AAEF,MAAM,gBAAgB,GAAe;IACpC,KAAK,EAAE,CAAC,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,iBAAiB,EAAE,IAAI,KAAK,QAAQ;AACvG,IAAA,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC;IAC9E,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;AAEF,MAAM,gBAAgB,GAAe;IACpC,KAAK,EAAE,CAAC,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,iBAAiB,EAAE,IAAI,KAAK,QAAQ;AACvG,IAAA,QAAQ,EAAE,MAAM,IAAI;IACpB,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;MAEW,kBAAkB,GAAkC,CAChE,MAAoD,EACpD,MAA4B,KACzB;AACH,IAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrB,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;KAC1B;AACD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;MAEW,kBAAkB,GAAkC,CAChE,MAAa,EACb,MAA4B,KACzB;AACH,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;MAEW,kBAAkB,GAAkC,CAChE,MAAa,EACb,MAA4B,KACzB;AACH,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;AAEI,SAAU,mBAAmB,CAEjC,OAA6C,EAAA;AAC9C,IAAA,MAAM,kBAAkB,GAAgC,CACvD,MAAoD,EACpD,MAA4B,KACzB;AACH,QAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrB,YAAA,OAAO,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC;AACD,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAgC,CACvD,MAAa,EACb,MAA4B,KACzB;AACH,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAgC,CACvD,MAAa,EACb,MAA4B,KACzB;AACH,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AACvE;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-zod",
3
- "version": "0.8.3-2d0c9fd",
3
+ "version": "0.8.3-391d33b",
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": ">=1.0.0-beta.1",
67
+ "drizzle-orm": ">=0.36.0",
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 { CoerceOptions, CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.cjs";
1
+ import type { 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 CoerceOptions>(options?: CreateSchemaFactoryOptions<TCoerce>): {
5
+ export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(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 { CoerceOptions, CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.mjs";
1
+ import type { 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 CoerceOptions>(options?: CreateSchemaFactoryOptions<TCoerce>): {
5
+ export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(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 { CoerceOptions, CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from './schema.types.js';
1
+ import type { 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 CoerceOptions>(options?: CreateSchemaFactoryOptions<TCoerce>): {
5
+ export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(options?: CreateSchemaFactoryOptions<TCoerce>): {
6
6
  createSelectSchema: CreateSelectSchema<TCoerce>;
7
7
  createInsertSchema: CreateInsertSchema<TCoerce>;
8
8
  createUpdateSchema: CreateUpdateSchema<TCoerce>;
@@ -1,28 +1,25 @@
1
- import type { InferInsertModel, InferSelectModel, Table, View } from 'drizzle-orm';
2
- import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
1
+ import type { Table, View } from 'drizzle-orm';
3
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
4
3
  import type { z } from 'zod/v4';
5
4
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.cjs";
6
- export interface CreateSelectSchema<TCoerce extends CoerceOptions> {
5
+ export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
7
6
  <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined, TCoerce>;
8
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
7
+ <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
9
8
  <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
10
9
  <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields'], TCoerce>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine, TCoerce>;
11
- <TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): z.ZodEnum<{
10
+ <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<{
12
11
  [K in TEnum['enumValues'][number]]: K;
13
12
  }>;
14
13
  }
15
- export interface CreateInsertSchema<TCoerce extends CoerceOptions> {
14
+ export interface CreateInsertSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
16
15
  <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined, TCoerce>;
17
- <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>;
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>;
18
17
  }
19
- export interface CreateUpdateSchema<TCoerce extends CoerceOptions> {
18
+ export interface CreateUpdateSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
20
19
  <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined, TCoerce>;
21
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>, TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, 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>;
22
21
  }
23
- export interface CreateSchemaFactoryOptions<TCoerce extends CoerceOptions> {
22
+ export interface CreateSchemaFactoryOptions<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
24
23
  zodInstance?: any;
25
24
  coerce?: TCoerce;
26
25
  }
27
- export type CoerceOptions = Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined;
28
- export type FactoryOptions = CreateSchemaFactoryOptions<CoerceOptions>;