drizzle-valibot 0.4.2-08bb2d5 → 0.4.2-08e4e66

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.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var v = require('valibot');
4
3
  var drizzleOrm = require('drizzle-orm');
4
+ var v = require('valibot');
5
5
 
6
6
  function _interopNamespaceDefault(e) {
7
7
  var n = Object.create(null);
@@ -43,14 +43,6 @@ const CONSTANTS = {
43
43
  INT64_UNSIGNED_MAX: 18446744073709551615n,
44
44
  };
45
45
 
46
- function isColumnType(column, columnTypes) {
47
- return columnTypes.includes(column.columnType);
48
- }
49
- function isWithEnum(column) {
50
- return 'enumValues' in column && Array.isArray(column.enumValues) && column.enumValues.length > 0;
51
- }
52
- const isPgEnum = isWithEnum;
53
-
54
46
  const literalSchema = v__namespace.union([v__namespace.string(), v__namespace.number(), v__namespace.boolean(), v__namespace.null()]);
55
47
  const jsonSchema = v__namespace.union([
56
48
  literalSchema,
@@ -63,168 +55,143 @@ function mapEnumValues(values) {
63
55
  }
64
56
  function columnToSchema(column) {
65
57
  let schema;
66
- if (isWithEnum(column)) {
67
- schema = column.enumValues.length ? v__namespace.enum(mapEnumValues(column.enumValues)) : v__namespace.string();
68
- }
69
- if (!schema) {
70
- // Handle specific types
71
- if (isColumnType(column, [
72
- 'PgGeometry',
73
- 'PgPointTuple',
74
- 'CockroachGeometry',
75
- ])) {
76
- schema = v__namespace.tuple([v__namespace.number(), v__namespace.number()]);
77
- }
78
- else if (isColumnType(column, [
79
- 'PgGeometryObject',
80
- 'PgPointObject',
81
- 'CockroachGeometryObject',
82
- ])) {
83
- schema = v__namespace.object({ x: v__namespace.number(), y: v__namespace.number() });
84
- }
85
- else if (isColumnType(column, [
86
- 'PgHalfVector',
87
- 'PgVector',
88
- 'SingleStoreVector',
89
- 'CockroachVector',
90
- ])) {
91
- schema = v__namespace.array(v__namespace.number());
92
- schema = column.dimensions ? v__namespace.pipe(schema, v__namespace.length(column.dimensions)) : schema;
93
- }
94
- else if (isColumnType(column, ['PgLine'])) {
95
- schema = v__namespace.tuple([v__namespace.number(), v__namespace.number(), v__namespace.number()]);
96
- v__namespace.array(v__namespace.array(v__namespace.number()));
97
- }
98
- else if (isColumnType(column, ['PgLineABC'])) {
99
- schema = v__namespace.object({ a: v__namespace.number(), b: v__namespace.number(), c: v__namespace.number() });
100
- } // Handle other types
101
- else if (isColumnType(column, ['PgArray', 'CockroachArray'])) {
102
- schema = v__namespace.array(columnToSchema(column.baseColumn));
103
- schema = column.size ? v__namespace.pipe(schema, v__namespace.length(column.size)) : schema;
104
- }
105
- else if (column.dataType === 'array') {
106
- schema = v__namespace.array(v__namespace.any());
107
- }
108
- else if (column.dataType === 'number') {
109
- schema = numberColumnToSchema(column);
110
- }
111
- else if (column.dataType === 'bigint') {
112
- schema = bigintColumnToSchema(column);
113
- }
114
- else if (column.dataType === 'boolean') {
115
- schema = v__namespace.boolean();
58
+ const { type, constraint } = drizzleOrm.extractExtendedColumnType(column);
59
+ switch (type) {
60
+ case 'array': {
61
+ schema = arrayColumnToSchema(column, constraint);
62
+ break;
63
+ }
64
+ case 'object': {
65
+ schema = objectColumnToSchema(column, constraint);
66
+ break;
116
67
  }
117
- else if (column.dataType === 'date') {
118
- schema = v__namespace.date();
68
+ case 'number': {
69
+ schema = numberColumnToSchema(column, constraint);
70
+ break;
119
71
  }
120
- else if (column.dataType === 'string') {
121
- schema = stringColumnToSchema(column);
72
+ case 'bigint': {
73
+ schema = bigintColumnToSchema(column, constraint);
74
+ break;
122
75
  }
123
- else if (column.dataType === 'json') {
124
- schema = jsonSchema;
76
+ case 'boolean': {
77
+ schema = v__namespace.boolean();
78
+ break;
125
79
  }
126
- else if (column.dataType === 'custom') {
80
+ case 'string': {
81
+ schema = stringColumnToSchema(column, constraint);
82
+ break;
83
+ }
84
+ case 'custom': {
127
85
  schema = v__namespace.any();
86
+ break;
128
87
  }
129
- else if (column.dataType === 'buffer') {
130
- schema = bufferSchema;
88
+ default: {
89
+ schema = v__namespace.any();
131
90
  }
132
91
  }
133
- if (!schema) {
134
- schema = v__namespace.any();
135
- }
136
92
  return schema;
137
93
  }
138
- function numberColumnToSchema(column) {
139
- let unsigned = column.getSQLType().includes('unsigned') || isColumnType(column, ['MsSqlTinyInt']);
94
+ function numberColumnToSchema(column, constraint) {
140
95
  let min;
141
96
  let max;
142
97
  let integer = false;
143
- if (isColumnType(column, [
144
- 'MySqlTinyInt',
145
- 'SingleStoreTinyInt',
146
- 'MsSqlTinyInt',
147
- ])) {
148
- min = unsigned ? 0 : CONSTANTS.INT8_MIN;
149
- max = unsigned ? CONSTANTS.INT8_UNSIGNED_MAX : CONSTANTS.INT8_MAX;
150
- integer = true;
151
- }
152
- else if (isColumnType(column, [
153
- 'PgSmallInt',
154
- 'PgSmallSerial',
155
- 'MySqlSmallInt',
156
- 'SingleStoreSmallInt',
157
- 'MsSqlSmallInt',
158
- 'CockroachSmallInt',
159
- ])) {
160
- min = unsigned ? 0 : CONSTANTS.INT16_MIN;
161
- max = unsigned ? CONSTANTS.INT16_UNSIGNED_MAX : CONSTANTS.INT16_MAX;
162
- integer = true;
163
- }
164
- else if (isColumnType(column, [
165
- 'PgReal',
166
- 'MySqlFloat',
167
- 'MySqlMediumInt',
168
- 'SingleStoreFloat',
169
- 'SingleStoreMediumInt',
170
- 'MsSqlReal',
171
- 'CockroachReal',
172
- ])) {
173
- min = unsigned ? 0 : CONSTANTS.INT24_MIN;
174
- max = unsigned ? CONSTANTS.INT24_UNSIGNED_MAX : CONSTANTS.INT24_MAX;
175
- integer = isColumnType(column, ['MySqlMediumInt', 'SingleStoreMediumInt']);
176
- }
177
- else if (isColumnType(column, [
178
- 'PgInteger',
179
- 'PgSerial',
180
- 'MySqlInt',
181
- 'SingleStoreInt',
182
- 'MsSqlInt',
183
- 'CockroachInteger',
184
- ])) {
185
- min = unsigned ? 0 : CONSTANTS.INT32_MIN;
186
- max = unsigned ? CONSTANTS.INT32_UNSIGNED_MAX : CONSTANTS.INT32_MAX;
187
- integer = true;
188
- }
189
- else if (isColumnType(column, [
190
- 'PgDoublePrecision',
191
- 'MySqlReal',
192
- 'MySqlDouble',
193
- 'SingleStoreReal',
194
- 'SingleStoreDouble',
195
- 'SQLiteReal',
196
- 'MsSqlFloat',
197
- 'CockroachFloat',
198
- ])) {
199
- min = unsigned ? 0 : CONSTANTS.INT48_MIN;
200
- max = unsigned ? CONSTANTS.INT48_UNSIGNED_MAX : CONSTANTS.INT48_MAX;
201
- }
202
- else if (isColumnType(column, [
203
- 'PgBigInt53',
204
- 'PgBigSerial53',
205
- 'MySqlBigInt53',
206
- 'MySqlSerial',
207
- 'MySqlDecimalNumber',
208
- 'SingleStoreBigInt53',
209
- 'SingleStoreSerial',
210
- 'SingleStoreDecimalNumber',
211
- 'SQLiteInteger',
212
- 'CockroachBigInt53',
213
- ])
214
- || (isColumnType(column, ['MsSqlBigInt']) && column.mode === 'number')) {
215
- unsigned = unsigned || isColumnType(column, ['MySqlSerial', 'SingleStoreSerial']);
216
- min = unsigned ? 0 : Number.MIN_SAFE_INTEGER;
217
- max = Number.MAX_SAFE_INTEGER;
218
- integer = !isColumnType(column, ['MySqlDecimalNumber', 'SingleStoreDecimalNumber']);
219
- }
220
- else if (isColumnType(column, ['MySqlYear', 'SingleStoreYear'])) {
221
- min = 1901;
222
- max = 2155;
223
- integer = true;
224
- }
225
- else {
226
- min = Number.MIN_SAFE_INTEGER;
227
- max = Number.MAX_SAFE_INTEGER;
98
+ switch (constraint) {
99
+ case 'int8': {
100
+ min = CONSTANTS.INT8_MIN;
101
+ max = CONSTANTS.INT8_MAX;
102
+ integer = true;
103
+ break;
104
+ }
105
+ case 'uint8': {
106
+ min = 0;
107
+ max = CONSTANTS.INT8_UNSIGNED_MAX;
108
+ integer = true;
109
+ break;
110
+ }
111
+ case 'int16': {
112
+ min = CONSTANTS.INT16_MIN;
113
+ max = CONSTANTS.INT16_MAX;
114
+ integer = true;
115
+ break;
116
+ }
117
+ case 'uint16': {
118
+ min = 0;
119
+ max = CONSTANTS.INT16_UNSIGNED_MAX;
120
+ integer = true;
121
+ break;
122
+ }
123
+ case 'int24': {
124
+ min = CONSTANTS.INT24_MIN;
125
+ max = CONSTANTS.INT24_MAX;
126
+ integer = true;
127
+ break;
128
+ }
129
+ case 'uint24': {
130
+ min = 0;
131
+ max = CONSTANTS.INT24_UNSIGNED_MAX;
132
+ integer = true;
133
+ break;
134
+ }
135
+ case 'int32': {
136
+ min = CONSTANTS.INT32_MIN;
137
+ max = CONSTANTS.INT32_MAX;
138
+ integer = true;
139
+ break;
140
+ }
141
+ case 'uint32': {
142
+ min = 0;
143
+ max = CONSTANTS.INT32_UNSIGNED_MAX;
144
+ integer = true;
145
+ break;
146
+ }
147
+ case 'int53': {
148
+ min = Number.MIN_SAFE_INTEGER;
149
+ max = Number.MAX_SAFE_INTEGER;
150
+ integer = true;
151
+ break;
152
+ }
153
+ case 'uint53': {
154
+ min = 0;
155
+ max = Number.MAX_SAFE_INTEGER;
156
+ integer = true;
157
+ break;
158
+ }
159
+ case 'float': {
160
+ min = CONSTANTS.INT24_MIN;
161
+ max = CONSTANTS.INT24_MAX;
162
+ break;
163
+ }
164
+ case 'ufloat': {
165
+ min = 0;
166
+ max = CONSTANTS.INT24_UNSIGNED_MAX;
167
+ break;
168
+ }
169
+ case 'double': {
170
+ min = CONSTANTS.INT48_MIN;
171
+ max = CONSTANTS.INT48_MAX;
172
+ break;
173
+ }
174
+ case 'udouble': {
175
+ min = 0;
176
+ max = CONSTANTS.INT48_UNSIGNED_MAX;
177
+ break;
178
+ }
179
+ case 'year': {
180
+ min = 1901;
181
+ max = 2155;
182
+ integer = true;
183
+ break;
184
+ }
185
+ case 'unsigned': {
186
+ min = 0;
187
+ max = Number.MAX_SAFE_INTEGER;
188
+ break;
189
+ }
190
+ default: {
191
+ min = Number.MIN_SAFE_INTEGER;
192
+ max = Number.MAX_SAFE_INTEGER;
193
+ break;
194
+ }
228
195
  }
229
196
  const actions = [v__namespace.minValue(min), v__namespace.maxValue(max)];
230
197
  if (integer) {
@@ -233,77 +200,136 @@ function numberColumnToSchema(column) {
233
200
  return v__namespace.pipe(v__namespace.number(), ...actions);
234
201
  }
235
202
  /** @internal */
236
- const bigintStringModeSchema = v__namespace.pipe(v__namespace.string(), v__namespace.regex(/^-?\d+$/), v__namespace.transform((v) => BigInt(v)), v__namespace.minValue(CONSTANTS.INT64_MIN), v__namespace.maxValue(CONSTANTS.INT64_MAX), v__namespace.transform((v) => v.toString()));
237
- function bigintColumnToSchema(column) {
238
- if (isColumnType(column, ['MsSqlBigInt'])) {
239
- if (column.mode === 'string') {
240
- return bigintStringModeSchema;
203
+ const bigintStringModeSchema = v__namespace.pipe(v__namespace.string(), v__namespace.regex(/^-?\d+$/),
204
+ // eslint-disable-next-line unicorn/prefer-native-coercion-functions
205
+ v__namespace.transform((v) => BigInt(v)), v__namespace.minValue(CONSTANTS.INT64_MIN), v__namespace.maxValue(CONSTANTS.INT64_MAX), v__namespace.transform((v) => v.toString()));
206
+ function bigintColumnToSchema(column, constraint) {
207
+ let min;
208
+ let max;
209
+ switch (constraint) {
210
+ case 'int64': {
211
+ min = CONSTANTS.INT64_MIN;
212
+ max = CONSTANTS.INT64_MAX;
213
+ break;
241
214
  }
242
- else if (column.mode === 'number') {
243
- return numberColumnToSchema(column);
215
+ case 'uint64': {
216
+ min = 0n;
217
+ max = CONSTANTS.INT64_UNSIGNED_MAX;
218
+ break;
244
219
  }
245
220
  }
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 v__namespace.pipe(v__namespace.bigint(), v__namespace.minValue(min), v__namespace.maxValue(max));
221
+ const actions = [];
222
+ if (min !== undefined)
223
+ actions.push(v__namespace.minValue(min));
224
+ if (max !== undefined)
225
+ actions.push(v__namespace.maxValue(max));
226
+ return actions.length > 0 ? v__namespace.pipe(v__namespace.bigint(), ...actions) : v__namespace.bigint();
250
227
  }
251
- function stringColumnToSchema(column) {
252
- if (isColumnType(column, ['PgUUID', 'CockroachUUID'])) {
253
- return v__namespace.pipe(v__namespace.string(), v__namespace.uuid());
254
- }
255
- let max;
256
- let regex;
257
- let fixed = false;
258
- // Char columns are padded to a fixed length. The input can be equal or less than the set length
259
- if (isColumnType(column, [
260
- 'PgVarchar',
261
- 'SQLiteText',
262
- 'PgChar',
263
- 'MySqlChar',
264
- 'SingleStoreChar',
265
- 'MsSqlChar',
266
- 'MsSqlVarChar',
267
- 'CockroachChar',
268
- 'CockroachVarchar',
269
- 'CockroachString',
270
- ])) {
271
- max = column.length;
272
- }
273
- else if (isColumnType(column, ['MySqlVarChar', 'SingleStoreVarChar'])) {
274
- max = column.length ?? CONSTANTS.INT16_UNSIGNED_MAX;
228
+ function arrayColumnToSchema(column, constraint) {
229
+ switch (constraint) {
230
+ case 'geometry':
231
+ case 'point': {
232
+ return v__namespace.tuple([v__namespace.number(), v__namespace.number()]);
233
+ }
234
+ case 'line': {
235
+ return v__namespace.tuple([v__namespace.number(), v__namespace.number(), v__namespace.number()]);
236
+ }
237
+ case 'vector':
238
+ case 'halfvector': {
239
+ const { length } = column;
240
+ return length
241
+ ? v__namespace.pipe(v__namespace.array(v__namespace.number()), v__namespace.length(length))
242
+ : v__namespace.array(v__namespace.number());
243
+ }
244
+ case 'int64vector': {
245
+ const length = column.length;
246
+ return length
247
+ ? v__namespace.pipe(v__namespace.array(v__namespace.pipe(v__namespace.bigint(), v__namespace.minValue(CONSTANTS.INT64_MIN), v__namespace.maxValue(CONSTANTS.INT64_MAX))), v__namespace.length(length))
248
+ : v__namespace.array(v__namespace.pipe(v__namespace.bigint(), v__namespace.minValue(CONSTANTS.INT64_MIN), v__namespace.maxValue(CONSTANTS.INT64_MAX)));
249
+ }
250
+ case 'basecolumn': {
251
+ const { length } = column;
252
+ const schema = column.baseColumn
253
+ ? v__namespace.array(columnToSchema(column.baseColumn))
254
+ : v__namespace.array(v__namespace.any());
255
+ if (length)
256
+ return v__namespace.pipe(schema, v__namespace.length(length));
257
+ return schema;
258
+ }
259
+ default: {
260
+ return v__namespace.array(v__namespace.any());
261
+ }
275
262
  }
276
- else if (isColumnType(column, ['MySqlText', 'SingleStoreText'])) {
277
- if (column.textType === 'longtext') {
278
- max = CONSTANTS.INT32_UNSIGNED_MAX;
263
+ }
264
+ function objectColumnToSchema(column, constraint) {
265
+ switch (constraint) {
266
+ case 'buffer': {
267
+ return bufferSchema;
279
268
  }
280
- else if (column.textType === 'mediumtext') {
281
- max = CONSTANTS.INT24_UNSIGNED_MAX;
269
+ case 'date': {
270
+ return v__namespace.date();
282
271
  }
283
- else if (column.textType === 'text') {
284
- max = CONSTANTS.INT16_UNSIGNED_MAX;
272
+ case 'geometry':
273
+ case 'point': {
274
+ return v__namespace.object({
275
+ x: v__namespace.number(),
276
+ y: v__namespace.number(),
277
+ });
285
278
  }
286
- else {
287
- max = CONSTANTS.INT8_UNSIGNED_MAX;
279
+ case 'json': {
280
+ return jsonSchema;
281
+ }
282
+ case 'line': {
283
+ return v__namespace.object({
284
+ a: v__namespace.number(),
285
+ b: v__namespace.number(),
286
+ c: v__namespace.number(),
287
+ });
288
+ }
289
+ default: {
290
+ return v__namespace.looseObject({});
291
+ }
292
+ }
293
+ }
294
+ function stringColumnToSchema(column, constraint) {
295
+ const { name: columnName, length, isLengthExact } = column;
296
+ let regex;
297
+ if (constraint === 'binary') {
298
+ regex = /^[01]*$/;
299
+ }
300
+ if (constraint === 'uuid')
301
+ return v__namespace.pipe(v__namespace.string(), v__namespace.uuid());
302
+ if (constraint === 'enum') {
303
+ const enumValues = column.enumValues;
304
+ if (!enumValues) {
305
+ throw new Error(`Column "${drizzleOrm.getTableName(drizzleOrm.getColumnTable(column))}"."${columnName}" is of 'enum' type, but lacks enum values`);
288
306
  }
307
+ return v__namespace.enum(mapEnumValues(enumValues));
289
308
  }
290
- if (isColumnType(column, ['PgBinaryVector', 'CockroachBinaryVector'])) {
291
- regex = /^[01]+$/;
292
- max = column.dimensions;
309
+ if (constraint === 'int64') {
310
+ return bigintStringModeSchema;
293
311
  }
294
312
  const actions = [];
295
313
  if (regex) {
296
314
  actions.push(v__namespace.regex(regex));
297
315
  }
298
- if (max && fixed) {
299
- actions.push(v__namespace.length(max));
316
+ if (length && isLengthExact) {
317
+ actions.push(v__namespace.length(length));
300
318
  }
301
- else if (max) {
302
- actions.push(v__namespace.maxLength(max));
319
+ else if (length) {
320
+ actions.push(v__namespace.maxLength(length));
303
321
  }
304
322
  return actions.length > 0 ? v__namespace.pipe(v__namespace.string(), ...actions) : v__namespace.string();
305
323
  }
306
324
 
325
+ function isColumnType(column, columnTypes) {
326
+ return columnTypes.includes(column.columnType);
327
+ }
328
+ function isWithEnum(column) {
329
+ return 'enumValues' in column && Array.isArray(column.enumValues) && column.enumValues.length > 0;
330
+ }
331
+ const isPgEnum = isWithEnum;
332
+
307
333
  function getColumns(tableLike) {
308
334
  return drizzleOrm.isTable(tableLike) ? drizzleOrm.getTableColumns(tableLike) : drizzleOrm.getViewSelectedFields(tableLike);
309
335
  }
package/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/utils.ts","../src/column.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["v","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/column.ts","../src/utils.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["v","extractExtendedColumnType","getTableName","getColumnTable","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView"],"mappings":"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"}