orchid-orm-schema-to-zod 1.0.69 → 1.0.71
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/dist/index.d.ts +7 -5
- package/dist/index.js +29 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +20 -16
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Column, EnumColumn, ArrayColumnValue,
|
|
2
|
-
import { ZodTypeAny, ZodNever, ZodNumber, ZodDate, ZodEnum, ZodNullable, ZodUnion, ZodUnknown, ZodBoolean, ZodType, ZodString, ZodObject, ZodOptional, core
|
|
3
|
-
import { ToEnum } from 'zod/v4/core/util';
|
|
1
|
+
import { Column, EnumColumn, ArrayColumnValue, ArrayColumn, JSONColumn, ColumnSchemaGetterTableClass, ColumnSchemaGetterColumns, SmallIntColumn, IntegerColumn, RealColumn, SmallSerialColumn, SerialColumn, BigIntColumn, StringData, DecimalColumn, DoublePrecisionColumn, BigSerialColumn, MoneyColumn, VarCharColumn, TextColumn, StringColumn, CitextColumn, DateColumn, TimestampColumn, TimestampTZColumn } from 'pqb/internal';
|
|
2
|
+
import { ZodTypeAny, ZodNever, ZodNumber, ZodDate, ZodEnum, ZodArray, ZodNullable, ZodUnion, ZodUnknown, ZodBoolean, ZodType, ZodString, ZodObject, ZodOptional, core } from 'zod/v4';
|
|
4
3
|
|
|
5
4
|
declare class ZodJSONColumn<ZodSchema extends ZodTypeAny> extends JSONColumn<ZodSchema['_output'], ZodSchemaConfig, ZodSchema> {
|
|
6
5
|
constructor(schema: ZodSchema);
|
|
@@ -166,7 +165,9 @@ interface ZodSchemaConfig {
|
|
|
166
165
|
};
|
|
167
166
|
dateAsNumber<T extends Column<ZodSchemaConfig>>(this: T): Column.Modifiers.Parse<T, ZodNumber, number>;
|
|
168
167
|
dateAsDate<T extends Column<ZodSchemaConfig>>(this: T): Column.Modifiers.Parse<T, ZodDate, Date>;
|
|
169
|
-
enum<T extends readonly string[]>(dataType: string, type: T): EnumColumn<ZodSchemaConfig, ZodEnum<
|
|
168
|
+
enum<T extends readonly string[]>(dataType: string, type: T): EnumColumn<ZodSchemaConfig, ZodEnum<{
|
|
169
|
+
[K in T[number]]: K;
|
|
170
|
+
}>, T>;
|
|
170
171
|
array<Item extends ArrayColumnValue>(item: Item): ZodArrayColumn<Item>;
|
|
171
172
|
nullable<T extends Column.Pick.ForNullable>(this: T): Column.Modifiers.Nullable<T, ZodNullable<T['inputSchema']>, T['nullSchema'] extends ZodTypeAny ? ZodUnion<[T['outputSchema'], T['nullSchema']]> : ZodNullable<T['outputSchema']>, ZodNullable<T['querySchema']>>;
|
|
172
173
|
json<ZodSchema extends ZodTypeAny = ZodUnknown>(schema?: ZodSchema): ZodJSONColumn<ZodSchema>;
|
|
@@ -234,4 +235,5 @@ type PkeySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<{
|
|
|
234
235
|
[K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string ? K : never]: ColumnSchemaGetterColumns<T>[K]['inputSchema'];
|
|
235
236
|
}, core.$strict>;
|
|
236
237
|
|
|
237
|
-
export {
|
|
238
|
+
export { zodSchemaConfig };
|
|
239
|
+
export type { BareZodType, ZodSchemaConfig };
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var internal = require('pqb/internal');
|
|
4
4
|
var v4 = require('zod/v4');
|
|
5
5
|
|
|
6
|
-
class ZodJSONColumn extends
|
|
6
|
+
class ZodJSONColumn extends internal.JSONColumn {
|
|
7
7
|
constructor(schema) {
|
|
8
8
|
super(zodSchemaConfig, schema);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
function applyMethod(column, key, value, params) {
|
|
12
|
-
const cloned =
|
|
12
|
+
const cloned = internal.setDataValue(
|
|
13
13
|
column,
|
|
14
14
|
key,
|
|
15
15
|
value,
|
|
@@ -25,7 +25,7 @@ function applyMethod(column, key, value, params) {
|
|
|
25
25
|
}
|
|
26
26
|
function applySimpleMethod(column, key, params) {
|
|
27
27
|
const c = column;
|
|
28
|
-
const cloned =
|
|
28
|
+
const cloned = internal.setDataValue(c, key, true, params);
|
|
29
29
|
cloned.inputSchema = c.inputSchema[key](params);
|
|
30
30
|
cloned.outputSchema = c.outputSchema[key](params);
|
|
31
31
|
cloned.querySchema = c.querySchema[key](params);
|
|
@@ -43,14 +43,14 @@ const arrayMethods = {
|
|
|
43
43
|
},
|
|
44
44
|
nonEmpty(params) {
|
|
45
45
|
const column = this;
|
|
46
|
-
const cloned =
|
|
46
|
+
const cloned = internal.setDataValue(column, "nonEmpty", true, params);
|
|
47
47
|
cloned.inputSchema = column.inputSchema.nonempty(params);
|
|
48
48
|
cloned.outputSchema = column.outputSchema.nonempty(params);
|
|
49
49
|
cloned.querySchema = column.querySchema.nonempty(params);
|
|
50
50
|
return cloned;
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
|
-
class ZodArrayColumn extends
|
|
53
|
+
class ZodArrayColumn extends internal.ArrayColumn {
|
|
54
54
|
constructor(item) {
|
|
55
55
|
super(zodSchemaConfig, item, v4.z.array(item.inputSchema));
|
|
56
56
|
}
|
|
@@ -114,19 +114,19 @@ const numberMethods = {
|
|
|
114
114
|
return applySimpleMethod(this, "safe", params);
|
|
115
115
|
}
|
|
116
116
|
};
|
|
117
|
-
class SmallIntColumnZod extends
|
|
117
|
+
class SmallIntColumnZod extends internal.SmallIntColumn {
|
|
118
118
|
}
|
|
119
119
|
Object.assign(SmallIntColumnZod.prototype, numberMethods);
|
|
120
|
-
class IntegerColumnZod extends
|
|
120
|
+
class IntegerColumnZod extends internal.IntegerColumn {
|
|
121
121
|
}
|
|
122
122
|
Object.assign(IntegerColumnZod.prototype, numberMethods);
|
|
123
|
-
class RealColumnZod extends
|
|
123
|
+
class RealColumnZod extends internal.RealColumn {
|
|
124
124
|
}
|
|
125
125
|
Object.assign(RealColumnZod.prototype, numberMethods);
|
|
126
|
-
class SmallSerialColumnZod extends
|
|
126
|
+
class SmallSerialColumnZod extends internal.SmallSerialColumn {
|
|
127
127
|
}
|
|
128
128
|
Object.assign(SmallSerialColumnZod.prototype, numberMethods);
|
|
129
|
-
class SerialColumnZod extends
|
|
129
|
+
class SerialColumnZod extends internal.SerialColumn {
|
|
130
130
|
}
|
|
131
131
|
Object.assign(SerialColumnZod.prototype, numberMethods);
|
|
132
132
|
const stringMethods = {
|
|
@@ -183,31 +183,31 @@ const stringMethods = {
|
|
|
183
183
|
return applySimpleMethod(this, "toUpperCase", params);
|
|
184
184
|
}
|
|
185
185
|
};
|
|
186
|
-
class BigIntColumnZod extends
|
|
186
|
+
class BigIntColumnZod extends internal.BigIntColumn {
|
|
187
187
|
}
|
|
188
188
|
Object.assign(BigIntColumnZod.prototype, stringMethods);
|
|
189
|
-
class DecimalColumnZod extends
|
|
189
|
+
class DecimalColumnZod extends internal.DecimalColumn {
|
|
190
190
|
}
|
|
191
191
|
Object.assign(DecimalColumnZod.prototype, stringMethods);
|
|
192
|
-
class DoublePrecisionColumnZod extends
|
|
192
|
+
class DoublePrecisionColumnZod extends internal.DoublePrecisionColumn {
|
|
193
193
|
}
|
|
194
194
|
Object.assign(DoublePrecisionColumnZod.prototype, stringMethods);
|
|
195
|
-
class BigSerialColumnZod extends
|
|
195
|
+
class BigSerialColumnZod extends internal.BigSerialColumn {
|
|
196
196
|
}
|
|
197
197
|
Object.assign(BigSerialColumnZod.prototype, stringMethods);
|
|
198
|
-
class MoneyColumnZod extends
|
|
198
|
+
class MoneyColumnZod extends internal.MoneyColumn {
|
|
199
199
|
}
|
|
200
200
|
Object.assign(MoneyColumnZod.prototype, numberMethods);
|
|
201
|
-
class VarCharColumnZod extends
|
|
201
|
+
class VarCharColumnZod extends internal.VarCharColumn {
|
|
202
202
|
}
|
|
203
203
|
Object.assign(VarCharColumnZod.prototype, stringMethods);
|
|
204
|
-
class TextColumnZod extends
|
|
204
|
+
class TextColumnZod extends internal.TextColumn {
|
|
205
205
|
}
|
|
206
206
|
Object.assign(TextColumnZod.prototype, stringMethods);
|
|
207
|
-
class StringColumnZod extends
|
|
207
|
+
class StringColumnZod extends internal.StringColumn {
|
|
208
208
|
}
|
|
209
209
|
Object.assign(StringColumnZod.prototype, stringMethods);
|
|
210
|
-
class CitextColumnZod extends
|
|
210
|
+
class CitextColumnZod extends internal.CitextColumn {
|
|
211
211
|
}
|
|
212
212
|
Object.assign(CitextColumnZod.prototype, stringMethods);
|
|
213
213
|
const dateMethods = {
|
|
@@ -218,13 +218,13 @@ const dateMethods = {
|
|
|
218
218
|
return applyMethod(this, "max", value, params);
|
|
219
219
|
}
|
|
220
220
|
};
|
|
221
|
-
class DateColumnZod extends
|
|
221
|
+
class DateColumnZod extends internal.DateColumn {
|
|
222
222
|
}
|
|
223
223
|
Object.assign(DateColumnZod.prototype, dateMethods);
|
|
224
|
-
class TimestampNoTzColumnZod extends
|
|
224
|
+
class TimestampNoTzColumnZod extends internal.TimestampColumn {
|
|
225
225
|
}
|
|
226
226
|
Object.assign(TimestampNoTzColumnZod.prototype, dateMethods);
|
|
227
|
-
class TimestampColumnZod extends
|
|
227
|
+
class TimestampColumnZod extends internal.TimestampTZColumn {
|
|
228
228
|
}
|
|
229
229
|
Object.assign(TimestampColumnZod.prototype, dateMethods);
|
|
230
230
|
let pointSchema;
|
|
@@ -232,13 +232,13 @@ const parseDateToDate = (value) => new Date(value);
|
|
|
232
232
|
const zodSchemaConfig = {
|
|
233
233
|
type: void 0,
|
|
234
234
|
parse(schema, fn) {
|
|
235
|
-
return
|
|
235
|
+
return internal.setColumnParse(this, fn, schema);
|
|
236
236
|
},
|
|
237
237
|
parseNull(schema, fn) {
|
|
238
|
-
return
|
|
238
|
+
return internal.setColumnParseNull(this, fn, schema);
|
|
239
239
|
},
|
|
240
240
|
encode(schema, fn) {
|
|
241
|
-
return
|
|
241
|
+
return internal.setColumnEncode(this, fn, schema);
|
|
242
242
|
},
|
|
243
243
|
asType(_types) {
|
|
244
244
|
return this;
|
|
@@ -272,7 +272,7 @@ const zodSchemaConfig = {
|
|
|
272
272
|
return this.parse(v4.z.date(), parseDateToDate);
|
|
273
273
|
},
|
|
274
274
|
enum(dataType, type) {
|
|
275
|
-
return new
|
|
275
|
+
return new internal.EnumColumn(
|
|
276
276
|
zodSchemaConfig,
|
|
277
277
|
dataType,
|
|
278
278
|
Object.values(type),
|
|
@@ -283,7 +283,7 @@ const zodSchemaConfig = {
|
|
|
283
283
|
return new ZodArrayColumn(item);
|
|
284
284
|
},
|
|
285
285
|
nullable() {
|
|
286
|
-
return
|
|
286
|
+
return internal.makeColumnNullable(
|
|
287
287
|
this,
|
|
288
288
|
v4.z.nullable(this.inputSchema),
|
|
289
289
|
this.nullSchema ? this.outputSchema.or(this.nullSchema) : v4.z.nullable(this.outputSchema),
|
|
@@ -442,7 +442,7 @@ const zodSchemaConfig = {
|
|
|
442
442
|
return;
|
|
443
443
|
};
|
|
444
444
|
c.inputSchema.def.error = c.outputSchema.def.error = c.querySchema.def.error = errorMap;
|
|
445
|
-
return
|
|
445
|
+
return internal.setColumnData(c, "errors", newErrors);
|
|
446
446
|
},
|
|
447
447
|
smallint: () => new SmallIntColumnZod(zodSchemaConfig),
|
|
448
448
|
integer: () => new IntegerColumnZod(zodSchemaConfig),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/zod.ts"],"sourcesContent":["import {\n ColumnSchemaGetterColumns,\n ColumnSchemaGetterTableClass,\n makeColumnNullable,\n setDataValue,\n StringData,\n setColumnData,\n RecordUnknown,\n ArrayColumn,\n ArrayColumnValue,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n Column,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n JSONColumn,\n MoneyColumn,\n RealColumn,\n SerialColumn,\n setColumnEncode,\n setColumnParse,\n setColumnParseNull,\n SmallIntColumn,\n SmallSerialColumn,\n StringColumn,\n TextColumn,\n TimestampColumn,\n TimestampTZColumn,\n VarCharColumn,\n} from 'pqb';\nimport {\n z,\n ZodArray,\n ZodBoolean,\n ZodDate,\n ZodEnum,\n ZodNever,\n ZodNullable,\n ZodNumber,\n ZodObject,\n ZodOptional,\n ZodRawShape,\n ZodString,\n ZodType,\n ZodTypeAny,\n ZodUnion,\n ZodUnknown,\n optional,\n core,\n} from 'zod/v4';\nimport { $ZodErrorMap, $ZodType } from 'zod/v4/core';\nimport { ToEnum } from 'zod/v4/core/util';\n\ninterface ZodShape {\n [K: string]: $ZodType;\n}\n\nclass ZodJSONColumn<ZodSchema extends ZodTypeAny> extends JSONColumn<\n ZodSchema['_output'],\n ZodSchemaConfig,\n ZodSchema\n> {\n constructor(schema: ZodSchema) {\n super(zodSchemaConfig, schema);\n }\n}\n\nfunction applyMethod<T, Key extends string>(\n column: T,\n key: Key,\n value: unknown,\n params?: Column.Error.StringOrMessage,\n) {\n const cloned = setDataValue(\n column as Column.Pick.Data,\n key,\n value,\n params,\n ) as Column;\n\n // Prevent zod from mutating `value` and `params`. It overwrites `message` to `error`.\n const p = typeof params === 'object' ? { ...params } : params;\n const v = value === params ? p : value;\n\n const c = column as Column;\n cloned.inputSchema = c.inputSchema[key](v, p);\n cloned.outputSchema = c.outputSchema[key](v, p);\n cloned.querySchema = c.querySchema[key](v, p);\n return cloned as never;\n}\n\nfunction applySimpleMethod<T, Key extends string>(\n column: T,\n key: Key,\n params?: Column.Error.StringOrMessage,\n) {\n const c = column as Column;\n const cloned = setDataValue(c, key, true, params) as Column;\n cloned.inputSchema = c.inputSchema[key](params);\n cloned.outputSchema = c.outputSchema[key](params);\n cloned.querySchema = c.querySchema[key](params);\n return cloned as never;\n}\n\ninterface ArrayMethods<Value> {\n // Require a minimum length (inclusive)\n min<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a maximum length (inclusive)\n max<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a specific length\n length<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a value to be non-empty\n nonEmpty<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst arrayMethods: ArrayMethods<Date> = {\n min(value, params) {\n return applyMethod(this, 'min', value, params);\n },\n max(value, params) {\n return applyMethod(this, 'max', value, params);\n },\n length(value, params) {\n return applyMethod(this, 'length', value, params);\n },\n nonEmpty(params) {\n const column = this as Column;\n const cloned = setDataValue(column, 'nonEmpty', true, params) as Column;\n cloned.inputSchema = column.inputSchema.nonempty(params);\n cloned.outputSchema = column.outputSchema.nonempty(params);\n cloned.querySchema = column.querySchema.nonempty(params);\n return cloned as never;\n },\n};\n\ninterface ZodArrayColumn<Item extends ArrayColumnValue>\n extends ArrayColumn<\n ZodSchemaConfig,\n Item,\n ZodArray<Item['inputSchema']>,\n ZodArray<Item['outputSchema']>,\n ZodArray<Item['querySchema']>\n >,\n ArrayMethods<number> {}\n\nclass ZodArrayColumn<Item extends ArrayColumnValue> extends ArrayColumn<\n ZodSchemaConfig,\n Item,\n ZodArray<Item['inputSchema']>,\n ZodArray<Item['outputSchema']>,\n ZodArray<Item['querySchema']>\n> {\n constructor(item: Item) {\n super(zodSchemaConfig, item, z.array(item.inputSchema));\n }\n}\n\nObject.assign(ZodArrayColumn.prototype, arrayMethods);\n\ninterface NumberMethods {\n lt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n lte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n max<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n gt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n gte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n min<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n positive<T>(this: T, params?: Column.Error.StringOrMessage): T;\n nonNegative<T>(this: T, params?: Column.Error.StringOrMessage): T;\n negative<T>(this: T, params?: Column.Error.StringOrMessage): T;\n nonPositive<T>(this: T, params?: Column.Error.StringOrMessage): T;\n step<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n int<T>(this: T, params?: Column.Error.StringOrMessage): T;\n finite<T>(this: T, params?: Column.Error.StringOrMessage): T;\n safe<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst numberMethods: NumberMethods = {\n // Require a value to be lower than a given number\n lt(value, params) {\n return applyMethod(this, 'lt', value, params);\n },\n\n // Require a value to be lower than or equal to a given number (the same as `max`)\n lte(value, params) {\n return applyMethod(this, 'lte', value, params);\n },\n\n // Require a value to be lower than or equal to a given number\n max(value, params) {\n return applyMethod(this, 'lte', value, params);\n },\n\n // Require a value to be greater than a given number\n gt(value, params) {\n return applyMethod(this, 'gt', value, params);\n },\n\n // Require a value to be greater than or equal to a given number (the same as `min`)\n gte(value, params) {\n return applyMethod(this, 'gte', value, params);\n },\n\n // Require a value to be greater than or equal to a given number\n min(value, params) {\n return applyMethod(this, 'gte', value, params);\n },\n\n // Require a value to be greater than 0\n positive(params) {\n return applyMethod(this, 'gt', 0, params);\n },\n\n // Require a value to be greater than or equal to 0\n nonNegative(params) {\n return applyMethod(this, 'gte', 0, params);\n },\n\n // Require a value to be lower than 0\n negative(params) {\n return applyMethod(this, 'lt', 0, params);\n },\n\n // Require a value to be lower than or equal to 0\n nonPositive(params) {\n return applyMethod(this, 'lte', 0, params);\n },\n\n // Require a value to be a multiple of a given number\n step(value, params) {\n return applyMethod(this, 'step', value, params);\n },\n\n // Require a value to be an integer\n int(params) {\n return applySimpleMethod(this, 'int', params);\n },\n\n // Exclude `Infinity` from being a valid value\n finite(params) {\n return applySimpleMethod(this, 'finite', params);\n },\n\n // Require the value to be less than or equal to Number.MAX_SAFE_INTEGER\n safe(params) {\n return applySimpleMethod(this, 'safe', params);\n },\n};\n\ninterface SmallIntColumnZod\n extends SmallIntColumn<ZodSchemaConfig>,\n NumberMethods {}\n\nclass SmallIntColumnZod extends SmallIntColumn<ZodSchemaConfig> {}\nObject.assign(SmallIntColumnZod.prototype, numberMethods);\n\ninterface IntegerColumnZod\n extends IntegerColumn<ZodSchemaConfig>,\n NumberMethods {}\n\nclass IntegerColumnZod extends IntegerColumn<ZodSchemaConfig> {}\nObject.assign(IntegerColumnZod.prototype, numberMethods);\n\ninterface RealColumnZod extends RealColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass RealColumnZod extends RealColumn<ZodSchemaConfig> {}\nObject.assign(RealColumnZod.prototype, numberMethods);\n\ninterface SmallSerialColumnZod\n extends SmallSerialColumn<ZodSchemaConfig>,\n NumberMethods {}\n\nclass SmallSerialColumnZod extends SmallSerialColumn<ZodSchemaConfig> {}\nObject.assign(SmallSerialColumnZod.prototype, numberMethods);\n\ninterface SerialColumnZod\n extends SerialColumn<ZodSchemaConfig>,\n NumberMethods {}\n\nclass SerialColumnZod extends SerialColumn<ZodSchemaConfig> {}\nObject.assign(SerialColumnZod.prototype, numberMethods);\n\ninterface StringMethods extends ArrayMethods<number> {\n // Check a value to be a valid email\n email<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid url\n url<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be an emoji\n emoji<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid uuid\n uuid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid cuid\n cuid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid cuid2\n cuid2<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid ulid\n ulid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Validate the value over the given regular expression\n regex<T>(this: T, value: RegExp, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to include a given string\n includes<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value to start with a given string\n startsWith<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value to end with a given string\n endsWith<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value have a valid datetime string\n datetime<T>(\n this: T,\n params?: StringData['datetime'] &\n Exclude<Column.Error.StringOrMessage, string>,\n ): T;\n\n // Check a value to be a valid ipv4 address\n ipv4<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;\n\n // Check a value to be a valid ipv6 address\n ipv6<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;\n\n // Trim the value during a validation\n trim<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Transform value to a lower case during a validation\n toLowerCase<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Transform value to an upper case during a validation\n toUpperCase<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst stringMethods: StringMethods = {\n ...(arrayMethods as unknown as ArrayMethods<number>),\n\n email(params) {\n return applySimpleMethod(this, 'email', params);\n },\n\n url(params) {\n return applySimpleMethod(this, 'url', params);\n },\n\n emoji(params) {\n return applySimpleMethod(this, 'emoji', params);\n },\n\n uuid(params) {\n return applySimpleMethod(this, 'uuid', params);\n },\n\n cuid(params) {\n return applySimpleMethod(this, 'cuid', params);\n },\n\n cuid2(params) {\n return applySimpleMethod(this, 'cuid2', params);\n },\n\n ulid(params) {\n return applySimpleMethod(this, 'ulid', params);\n },\n\n regex(value, params) {\n return applyMethod(this, 'regex', value, params);\n },\n\n includes(value, params) {\n return applyMethod(this, 'includes', value, params);\n },\n\n startsWith(value, params) {\n return applyMethod(this, 'startsWith', value, params);\n },\n\n endsWith(value, params) {\n return applyMethod(this, 'endsWith', value, params);\n },\n\n datetime(params = {}) {\n return applyMethod(this, 'datetime', params, params);\n },\n\n ipv4(params) {\n return applyMethod(this, 'ipv4', params, params);\n },\n\n ipv6(params) {\n return applyMethod(this, 'ipv6', params, params);\n },\n\n trim(params) {\n return applySimpleMethod(this, 'trim', params);\n },\n\n toLowerCase(params) {\n return applySimpleMethod(this, 'toLowerCase', params);\n },\n\n toUpperCase(params) {\n return applySimpleMethod(this, 'toUpperCase', params);\n },\n};\n\ninterface BigIntColumnZod\n extends BigIntColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass BigIntColumnZod extends BigIntColumn<ZodSchemaConfig> {}\nObject.assign(BigIntColumnZod.prototype, stringMethods);\n\ninterface DecimalColumnZod\n extends DecimalColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass DecimalColumnZod extends DecimalColumn<ZodSchemaConfig> {}\nObject.assign(DecimalColumnZod.prototype, stringMethods);\n\ninterface DoublePrecisionColumnZod\n extends DoublePrecisionColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass DoublePrecisionColumnZod extends DoublePrecisionColumn<ZodSchemaConfig> {}\nObject.assign(DoublePrecisionColumnZod.prototype, stringMethods);\n\ninterface BigSerialColumnZod\n extends BigSerialColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass BigSerialColumnZod extends BigSerialColumn<ZodSchemaConfig> {}\nObject.assign(BigSerialColumnZod.prototype, stringMethods);\n\ninterface MoneyColumnZod extends MoneyColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass MoneyColumnZod extends MoneyColumn<ZodSchemaConfig> {}\nObject.assign(MoneyColumnZod.prototype, numberMethods);\n\ninterface VarCharColumnZod\n extends VarCharColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass VarCharColumnZod extends VarCharColumn<ZodSchemaConfig> {}\nObject.assign(VarCharColumnZod.prototype, stringMethods);\n\ninterface TextColumnZod extends TextColumn<ZodSchemaConfig>, StringMethods {}\n\nclass TextColumnZod extends TextColumn<ZodSchemaConfig> {}\nObject.assign(TextColumnZod.prototype, stringMethods);\n\ninterface StringColumnZod\n extends StringColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass StringColumnZod extends StringColumn<ZodSchemaConfig> {}\nObject.assign(StringColumnZod.prototype, stringMethods);\n\ninterface CitextColumnZod\n extends CitextColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass CitextColumnZod extends CitextColumn<ZodSchemaConfig> {}\nObject.assign(CitextColumnZod.prototype, stringMethods);\n\ninterface DateMethods {\n // Require a value to be greater than or equal to a given Date object\n min<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;\n\n // Require a value to be lower than or equal to a given Date object\n max<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;\n}\n\nconst dateMethods: DateMethods = {\n min(value, params) {\n return applyMethod(this, 'min', value, params);\n },\n max(value, params) {\n return applyMethod(this, 'max', value, params);\n },\n};\n\ninterface DateColumnZod extends DateColumn<ZodSchemaConfig>, DateMethods {}\n\nclass DateColumnZod extends DateColumn<ZodSchemaConfig> {}\nObject.assign(DateColumnZod.prototype, dateMethods);\n\ninterface TimestampNoTzColumnZod\n extends TimestampColumn<ZodSchemaConfig>,\n DateMethods {}\n\nclass TimestampNoTzColumnZod extends TimestampColumn<ZodSchemaConfig> {}\nObject.assign(TimestampNoTzColumnZod.prototype, dateMethods);\n\ninterface TimestampColumnZod\n extends TimestampTZColumn<ZodSchemaConfig>,\n DateMethods {}\n\nclass TimestampColumnZod extends TimestampTZColumn<ZodSchemaConfig> {}\nObject.assign(TimestampColumnZod.prototype, dateMethods);\n\ntype PointSchemaZod = ZodObject<{\n srid: ZodOptional<ZodNumber>;\n lon: ZodNumber;\n lat: ZodNumber;\n}>;\n\nlet pointSchema: PointSchemaZod | undefined;\n\nexport interface BareZodType {\n _output: unknown;\n}\n\nexport interface ZodSchemaConfig {\n type: ZodTypeAny;\n\n parse<\n T extends Column.Pick.ForParse,\n OutputSchema extends ZodTypeAny,\n Output = OutputSchema['_output'],\n >(\n this: T,\n _schema: OutputSchema,\n fn: (input: T['type']) => Output,\n ): Column.Modifiers.Parse<T, OutputSchema, Output>;\n\n parseNull<\n T extends Column.Pick.ForParseNull,\n NullSchema extends ZodTypeAny,\n NullType = NullSchema['_output'],\n >(\n this: T,\n _schema: NullSchema,\n fn: () => NullType,\n ): Column.Modifiers.ParseNull<T, NullSchema, NullType>;\n\n encode<\n T extends { type: unknown },\n InputSchema extends ZodTypeAny,\n Input = InputSchema['_output'],\n >(\n this: T,\n _schema: InputSchema,\n fn: (input: Input) => unknown,\n ): Column.Modifiers.Encode<T, InputSchema, Input>;\n\n /**\n * @deprecated use narrowType instead\n */\n asType<\n T,\n Types extends Column.AsTypeArg<ZodTypeAny>,\n TypeSchema extends ZodTypeAny = Types extends { type: ZodTypeAny }\n ? Types['type']\n : never,\n Type = TypeSchema['_output'],\n >(\n this: T,\n types: Types,\n ): {\n [K in keyof T]: K extends 'type'\n ? Type\n : K extends 'inputType'\n ? Types['input'] extends ZodTypeAny\n ? Types['input']['_output']\n : Type\n : K extends 'inputSchema'\n ? Types['input'] extends ZodTypeAny\n ? Types['input']\n : TypeSchema\n : K extends 'outputType'\n ? Types['output'] extends ZodTypeAny\n ? Types['output']['_output']\n : Type\n : K extends 'outputSchema'\n ? Types['output'] extends ZodTypeAny\n ? Types['output']\n : TypeSchema\n : K extends 'queryType'\n ? Types['query'] extends ZodTypeAny\n ? Types['query']['_output']\n : Type\n : K extends 'querySchema'\n ? Types['query'] extends ZodTypeAny\n ? Types['query']\n : TypeSchema\n : T[K];\n };\n\n narrowType<\n T extends Column.InputOutputQueryTypesWithSchemas,\n Type extends {\n _output: T['inputType'] extends never\n ? T['outputType'] & T['queryType']\n : T['inputType'] & T['outputType'] & T['queryType'];\n },\n >(\n this: T,\n type: Type,\n ): {\n [K in keyof T]: K extends 'inputType'\n ? T['inputType'] extends never\n ? never\n : Type['_output']\n : K extends 'outputType' | 'queryType'\n ? Type['_output']\n : K extends 'inputSchema'\n ? T['inputType'] extends never\n ? ZodNever\n : Type\n : K extends 'outputSchema' | 'querySchema'\n ? Type\n : T[K];\n };\n\n narrowAllTypes<\n T extends Column.InputOutputQueryTypesWithSchemas,\n Types extends {\n input?: { _output: T['inputType'] };\n output?: { _output: T['outputType'] };\n query?: { _output: T['queryType'] };\n },\n >(\n this: T,\n types: Types,\n ): {\n [K in keyof T]: K extends 'inputType'\n ? Types['input'] extends BareZodType\n ? Types['input']['_output']\n : T['inputType']\n : K extends 'inputSchema'\n ? Types['input'] extends BareZodType\n ? Types['input']\n : T['inputSchema']\n : K extends 'outputType'\n ? Types['output'] extends BareZodType\n ? Types['output']['_output']\n : T['outputType']\n : K extends 'outputSchema'\n ? Types['output'] extends BareZodType\n ? Types['output']\n : T['outputSchema']\n : K extends 'queryType'\n ? Types['query'] extends BareZodType\n ? Types['query']['_output']\n : T['queryType']\n : K extends 'querySchema'\n ? Types['query'] extends BareZodType\n ? Types['query']\n : T['querySchema']\n : T[K];\n };\n\n dateAsNumber<T extends Column<ZodSchemaConfig>>(\n this: T,\n ): Column.Modifiers.Parse<T, ZodNumber, number>;\n\n dateAsDate<T extends Column<ZodSchemaConfig>>(\n this: T,\n ): Column.Modifiers.Parse<T, ZodDate, Date>;\n\n enum<T extends readonly string[]>(\n dataType: string,\n type: T,\n ): EnumColumn<ZodSchemaConfig, ZodEnum<ToEnum<T[number]>>, T>;\n\n array<Item extends ArrayColumnValue>(item: Item): ZodArrayColumn<Item>;\n\n nullable<T extends Column.Pick.ForNullable>(\n this: T,\n ): Column.Modifiers.Nullable<\n T,\n ZodNullable<T['inputSchema']>,\n T['nullSchema'] extends ZodTypeAny\n ? ZodUnion<[T['outputSchema'], T['nullSchema']]>\n : ZodNullable<T['outputSchema']>,\n ZodNullable<T['querySchema']>\n >;\n\n json<ZodSchema extends ZodTypeAny = ZodUnknown>(\n schema?: ZodSchema,\n ): ZodJSONColumn<ZodSchema>;\n\n boolean(): ZodBoolean;\n buffer(): ZodType<Buffer>;\n unknown(): ZodUnknown;\n never(): ZodNever;\n stringSchema(): ZodString;\n stringMin(max: number): ZodString;\n stringMax(max: number): ZodString;\n stringMinMax(min: number, max: number): ZodString;\n number(): ZodNumber;\n int(): ZodNumber;\n stringNumberDate(): ZodDate;\n timeInterval(): ZodObject<{\n years: ZodOptional<ZodNumber>;\n months: ZodOptional<ZodNumber>;\n days: ZodOptional<ZodNumber>;\n hours: ZodOptional<ZodNumber>;\n minutes: ZodOptional<ZodNumber>;\n seconds: ZodOptional<ZodNumber>;\n }>;\n bit(max: number): ZodString;\n uuid(): ZodString;\n\n inputSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): MapSchema<T, 'inputSchema'>;\n\n outputSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): MapSchema<T, 'outputSchema'>;\n\n querySchema<T extends ColumnSchemaGetterTableClass>(this: T): QuerySchema<T>;\n\n createSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): CreateSchema<T>;\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): UpdateSchema<T>;\n\n pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T): PkeySchema<T>;\n\n error<T>(this: T, error: Column.Error.Messages): T;\n\n smallint(): SmallIntColumnZod;\n integer(): IntegerColumnZod;\n real(): RealColumnZod;\n smallSerial(): SmallSerialColumnZod;\n serial(): SerialColumnZod;\n\n bigint(): BigIntColumnZod;\n decimal(precision?: number, scale?: number): DecimalColumnZod;\n doublePrecision(): DoublePrecisionColumnZod;\n bigSerial(): BigSerialColumnZod;\n money(): MoneyColumnZod;\n varchar(limit?: number): VarCharColumnZod;\n text(): TextColumnZod;\n string(limit?: number): StringColumnZod;\n citext(): CitextColumnZod;\n\n date(): DateColumnZod;\n timestampNoTZ(precision?: number): TimestampNoTzColumnZod;\n timestamp(precision?: number): TimestampColumnZod;\n\n geographyPointSchema(): PointSchemaZod;\n}\n\n// parse a date string to date object, with respect to null\nconst parseDateToDate = (value: unknown) => new Date(value as string);\n\nexport const zodSchemaConfig: ZodSchemaConfig = {\n type: undefined as unknown as ZodTypeAny,\n parse(schema, fn) {\n return setColumnParse(this as never, fn, schema);\n },\n parseNull(schema, fn) {\n return setColumnParseNull(this as never, fn, schema);\n },\n encode(schema, fn) {\n return setColumnEncode(this as never, fn, schema);\n },\n asType(_types) {\n return this as never;\n },\n narrowType(type) {\n const c = Object.create(this);\n if ((c as Column.Pick.Data).data.generated) {\n c.outputSchema = c.querySchema = type;\n } else {\n c.inputSchema = c.outputSchema = c.querySchema = type;\n }\n return c as never;\n },\n narrowAllTypes(types) {\n const c = Object.create(this);\n if (types.input) {\n c.inputSchema = types.input;\n }\n if (types.output) {\n c.outputSchema = types.output;\n }\n if (types.query) {\n c.querySchema = types.query;\n }\n return c as never;\n },\n dateAsNumber() {\n return this.parse(z.number(), Date.parse as never) as never;\n },\n dateAsDate() {\n return this.parse(z.date(), parseDateToDate) as never;\n },\n enum(dataType, type) {\n return new EnumColumn(\n zodSchemaConfig,\n dataType,\n Object.values(type),\n z.enum(type),\n ) as never;\n },\n array(item) {\n return new ZodArrayColumn(item);\n },\n nullable() {\n return makeColumnNullable(\n this as never,\n z.nullable(this.inputSchema),\n this.nullSchema\n ? this.outputSchema.or(this.nullSchema)\n : z.nullable(this.outputSchema),\n z.nullable(this.querySchema),\n ) as never;\n },\n json<ZodSchema extends ZodTypeAny = ZodUnknown>(schema?: ZodSchema) {\n return new ZodJSONColumn((schema ?? z.unknown()) as ZodSchema);\n },\n boolean: () => z.boolean(),\n buffer: () => z.instanceof(Buffer),\n unknown: () => z.unknown(),\n never: () => z.never(),\n stringSchema: () => z.string(),\n stringMin(min) {\n return z.string().min(min);\n },\n stringMax(max) {\n return z.string().max(max);\n },\n stringMinMax(min, max) {\n return z.string().min(min).max(max);\n },\n number: () => z.number(),\n int: () => z.number().int(),\n\n stringNumberDate: () => z.coerce.date(),\n\n timeInterval: () =>\n z.object({\n years: z.number().optional(),\n months: z.number().optional(),\n days: z.number().optional(),\n hours: z.number().optional(),\n minutes: z.number().optional(),\n seconds: z.number().optional(),\n }),\n\n bit: (max?: number) =>\n (max ? z.string().max(max) : z.string()).regex(/[10]/g),\n\n uuid: () => z.string().uuid(),\n\n inputSchema() {\n return mapSchema(this, 'inputSchema');\n },\n\n outputSchema() {\n return mapSchema(this, 'outputSchema');\n },\n\n querySchema() {\n const shape: RecordUnknown = {};\n const { shape: columns } = this.prototype.columns;\n\n for (const key in columns) {\n const column = columns[key] as Column;\n if (columns[key].dataType) {\n shape[key] = column.querySchema.optional();\n }\n }\n\n return z.object(shape) as never;\n },\n\n createSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n const input = this.inputSchema() as ZodObject<ZodRawShape>;\n\n const shape: ZodShape = {};\n const { shape: columns } = this.prototype.columns;\n\n for (const key in columns) {\n const column = columns[key];\n if (column.dataType && !column.data.primaryKey) {\n shape[key] = input.shape[key];\n\n if (column.data.isNullable || column.data.default !== undefined) {\n shape[key] = optional(shape[key]);\n }\n }\n }\n\n return z.object(shape) as unknown as CreateSchema<T>;\n },\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n return (this.createSchema() as ZodObject<ZodRawShape>).partial() as never;\n },\n\n pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n const pkeys: Record<string, true> = {};\n\n const {\n columns: { shape },\n } = this.prototype;\n for (const key in shape) {\n if (shape[key].dataType && shape[key].data.primaryKey) {\n pkeys[key] = true;\n }\n }\n\n return (this.querySchema() as ZodObject<ZodRawShape>)\n .pick(pkeys)\n .required() as never;\n },\n\n /**\n * `error` allows to specify two following validation messages:\n *\n * ```ts\n * t.text().error({\n * required: 'This column is required',\n * invalidType: 'This column must be an integer',\n * });\n * ```\n *\n * It will be converted into `Zod`'s messages:\n *\n * ```ts\n * z.string({\n * required_error: 'This column is required',\n * invalid_type_error: 'This column must be an integer',\n * });\n * ```\n *\n * Each validation method can accept an error message as a string:\n *\n * ```ts\n * t.text().min(5, 'Must be 5 or more characters long');\n * t.text().max(5, 'Must be 5 or fewer characters long');\n * t.text().length(5, 'Must be exactly 5 characters long');\n * t.text().email('Invalid email address');\n * t.text().url('Invalid url');\n * t.text().emoji('Contains non-emoji characters');\n * t.text().uuid('Invalid UUID');\n * t.text().includes('tuna', 'Must include tuna');\n * t.text().startsWith('https://', 'Must provide secure URL');\n * t.text().endsWith('.com', 'Only .com domains allowed');\n * ```\n *\n * Except for `text().datetime()` and `text().ip()`:\n *\n * these methods can have their own parameters, so the error message is passed in object.\n *\n * ```ts\n * t.text().datetime({ message: 'Invalid datetime string! Must be UTC.' });\n * t.text().ip({ message: 'Invalid IP address' });\n * ```\n *\n * Error messages are supported for a JSON schema as well:\n *\n * ```ts\n * t.json((j) =>\n * j.object({\n * one: j\n * .string()\n * .error({ required: 'One is required' })\n * .min(5, 'Must be 5 or more characters long'),\n * two: j\n * .string()\n * .error({ invalidType: 'Two should be a string' })\n * .max(5, 'Must be 5 or fewer characters long'),\n * three: j.string().length(5, 'Must be exactly 5 characters long'),\n * }),\n * );\n * ```\n *\n * @param errors - object, key is either 'required' or 'invalidType', value is an error message\n */\n error(errors) {\n const c = this as Column;\n const { errors: old } = c.data;\n const newErrors = old ? { ...old, ...errors } : errors;\n const { required, invalidType } = newErrors;\n\n const errorMap: $ZodErrorMap = (iss) => {\n if (iss.code === 'invalid_type') {\n return iss.input === undefined ? required : invalidType;\n }\n // not sure if this is correct to return undefined for other errors,\n // let's wait for an issue.\n return;\n };\n\n (c.inputSchema as ZodTypeAny).def.error =\n (c.outputSchema as ZodTypeAny).def.error =\n (c.querySchema as ZodTypeAny).def.error =\n errorMap;\n\n return setColumnData(c, 'errors', newErrors as never) as never;\n },\n\n smallint: () => new SmallIntColumnZod(zodSchemaConfig),\n integer: () => new IntegerColumnZod(zodSchemaConfig),\n real: () => new RealColumnZod(zodSchemaConfig),\n smallSerial: () => new SmallSerialColumnZod(zodSchemaConfig),\n serial: () => new SerialColumnZod(zodSchemaConfig),\n\n bigint: () => new BigIntColumnZod(zodSchemaConfig),\n decimal: (precision, scale) =>\n new DecimalColumnZod(zodSchemaConfig, precision, scale),\n doublePrecision: () => new DoublePrecisionColumnZod(zodSchemaConfig),\n bigSerial: () => new BigSerialColumnZod(zodSchemaConfig),\n money: () => new MoneyColumnZod(zodSchemaConfig),\n varchar: (limit) => new VarCharColumnZod(zodSchemaConfig, limit),\n text: () => new TextColumnZod(zodSchemaConfig),\n string: (limit) => new StringColumnZod(zodSchemaConfig, limit),\n citext: () => new CitextColumnZod(zodSchemaConfig),\n\n date: () => new DateColumnZod(zodSchemaConfig),\n timestampNoTZ: (precision) =>\n new TimestampNoTzColumnZod(zodSchemaConfig, precision),\n timestamp: (precision) => new TimestampColumnZod(zodSchemaConfig, precision),\n\n geographyPointSchema: () =>\n (pointSchema ??= z.object({\n srid: z.number().optional(),\n lon: z.number(),\n lat: z.number(),\n })),\n};\n\ntype MapSchema<\n T extends ColumnSchemaGetterTableClass,\n Key extends 'inputSchema' | 'outputSchema' | 'querySchema',\n> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ColumnSchemaGetterColumns<T>[K][Key];\n },\n core.$strict\n>;\n\ntype QuerySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ZodOptional<\n ColumnSchemaGetterColumns<T>[K]['querySchema']\n >;\n },\n core.$strict\n>;\n\ntype CreateSchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? never\n : K]: ColumnSchemaGetterColumns<T>[K]['data']['isNullable'] extends true\n ? ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>\n : undefined extends ColumnSchemaGetterColumns<T>[K]['data']['default']\n ? ColumnSchemaGetterColumns<T>[K]['inputSchema']\n : ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>;\n },\n core.$strict\n>;\n\ntype UpdateSchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? never\n : K]: ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>;\n },\n core.$strict\n>;\n\ntype PkeySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? K\n : never]: ColumnSchemaGetterColumns<T>[K]['inputSchema'];\n },\n core.$strict\n>;\n\nfunction mapSchema<\n T extends ColumnSchemaGetterTableClass,\n Key extends 'inputSchema' | 'outputSchema' | 'querySchema',\n>(klass: T, schemaKey: Key): MapSchema<T, Key> {\n const shape: ZodShape = {};\n const { shape: columns } = klass.prototype.columns;\n\n for (const key in columns) {\n if (columns[key].dataType) {\n shape[key] = columns[key][schemaKey];\n }\n }\n\n return z.object(shape) as MapSchema<T, Key>;\n}\n"],"names":["JSONColumn","setDataValue","ArrayColumn","z","SmallIntColumn","IntegerColumn","RealColumn","SmallSerialColumn","SerialColumn","BigIntColumn","DecimalColumn","DoublePrecisionColumn","BigSerialColumn","MoneyColumn","VarCharColumn","TextColumn","StringColumn","CitextColumn","DateColumn","TimestampColumn","TimestampTZColumn","setColumnParse","setColumnParseNull","setColumnEncode","EnumColumn","makeColumnNullable","optional","setColumnData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/zod.ts"],"sourcesContent":["import {\n Column,\n ArrayColumn,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n JSONColumn,\n MoneyColumn,\n RealColumn,\n SerialColumn,\n SmallIntColumn,\n SmallSerialColumn,\n StringColumn,\n TextColumn,\n TimestampColumn,\n TimestampTZColumn,\n VarCharColumn,\n ArrayColumnValue,\n ColumnSchemaGetterColumns,\n ColumnSchemaGetterTableClass,\n makeColumnNullable,\n RecordUnknown,\n setColumnData,\n setColumnEncode,\n setColumnParse,\n setColumnParseNull,\n setDataValue,\n StringData,\n} from 'pqb/internal';\nimport {\n z,\n ZodArray,\n ZodBoolean,\n ZodDate,\n ZodEnum,\n ZodNever,\n ZodNullable,\n ZodNumber,\n ZodObject,\n ZodOptional,\n ZodRawShape,\n ZodString,\n ZodType,\n ZodTypeAny,\n ZodUnion,\n ZodUnknown,\n optional,\n core,\n} from 'zod/v4';\nimport { $ZodErrorMap, $ZodType } from 'zod/v4/core';\n\ninterface ZodShape {\n [K: string]: $ZodType;\n}\n\nclass ZodJSONColumn<ZodSchema extends ZodTypeAny> extends JSONColumn<\n ZodSchema['_output'],\n ZodSchemaConfig,\n ZodSchema\n> {\n constructor(schema: ZodSchema) {\n super(zodSchemaConfig, schema);\n }\n}\n\nfunction applyMethod<T, Key extends string>(\n column: T,\n key: Key,\n value: unknown,\n params?: Column.Error.StringOrMessage,\n) {\n const cloned = setDataValue(\n column as Column.Pick.Data,\n key,\n value,\n params,\n ) as Column;\n\n // Prevent zod from mutating `value` and `params`. It overwrites `message` to `error`.\n const p = typeof params === 'object' ? { ...params } : params;\n const v = value === params ? p : value;\n\n const c = column as Column;\n cloned.inputSchema = c.inputSchema[key](v, p);\n cloned.outputSchema = c.outputSchema[key](v, p);\n cloned.querySchema = c.querySchema[key](v, p);\n return cloned as never;\n}\n\nfunction applySimpleMethod<T, Key extends string>(\n column: T,\n key: Key,\n params?: Column.Error.StringOrMessage,\n) {\n const c = column as Column;\n const cloned = setDataValue(c, key, true, params) as Column;\n cloned.inputSchema = c.inputSchema[key](params);\n cloned.outputSchema = c.outputSchema[key](params);\n cloned.querySchema = c.querySchema[key](params);\n return cloned as never;\n}\n\ninterface ArrayMethods<Value> {\n // Require a minimum length (inclusive)\n min<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a maximum length (inclusive)\n max<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a specific length\n length<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a value to be non-empty\n nonEmpty<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst arrayMethods: ArrayMethods<Date> = {\n min(value, params) {\n return applyMethod(this, 'min', value, params);\n },\n max(value, params) {\n return applyMethod(this, 'max', value, params);\n },\n length(value, params) {\n return applyMethod(this, 'length', value, params);\n },\n nonEmpty(params) {\n const column = this as Column;\n const cloned = setDataValue(column, 'nonEmpty', true, params) as Column;\n cloned.inputSchema = column.inputSchema.nonempty(params);\n cloned.outputSchema = column.outputSchema.nonempty(params);\n cloned.querySchema = column.querySchema.nonempty(params);\n return cloned as never;\n },\n};\n\ninterface ZodArrayColumn<Item extends ArrayColumnValue>\n extends\n ArrayColumn<\n ZodSchemaConfig,\n Item,\n ZodArray<Item['inputSchema']>,\n ZodArray<Item['outputSchema']>,\n ZodArray<Item['querySchema']>\n >,\n ArrayMethods<number> {}\n\nclass ZodArrayColumn<Item extends ArrayColumnValue> extends ArrayColumn<\n ZodSchemaConfig,\n Item,\n ZodArray<Item['inputSchema']>,\n ZodArray<Item['outputSchema']>,\n ZodArray<Item['querySchema']>\n> {\n constructor(item: Item) {\n super(zodSchemaConfig, item, z.array(item.inputSchema));\n }\n}\n\nObject.assign(ZodArrayColumn.prototype, arrayMethods);\n\ninterface NumberMethods {\n lt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n lte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n max<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n gt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n gte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n min<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n positive<T>(this: T, params?: Column.Error.StringOrMessage): T;\n nonNegative<T>(this: T, params?: Column.Error.StringOrMessage): T;\n negative<T>(this: T, params?: Column.Error.StringOrMessage): T;\n nonPositive<T>(this: T, params?: Column.Error.StringOrMessage): T;\n step<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n int<T>(this: T, params?: Column.Error.StringOrMessage): T;\n finite<T>(this: T, params?: Column.Error.StringOrMessage): T;\n safe<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst numberMethods: NumberMethods = {\n // Require a value to be lower than a given number\n lt(value, params) {\n return applyMethod(this, 'lt', value, params);\n },\n\n // Require a value to be lower than or equal to a given number (the same as `max`)\n lte(value, params) {\n return applyMethod(this, 'lte', value, params);\n },\n\n // Require a value to be lower than or equal to a given number\n max(value, params) {\n return applyMethod(this, 'lte', value, params);\n },\n\n // Require a value to be greater than a given number\n gt(value, params) {\n return applyMethod(this, 'gt', value, params);\n },\n\n // Require a value to be greater than or equal to a given number (the same as `min`)\n gte(value, params) {\n return applyMethod(this, 'gte', value, params);\n },\n\n // Require a value to be greater than or equal to a given number\n min(value, params) {\n return applyMethod(this, 'gte', value, params);\n },\n\n // Require a value to be greater than 0\n positive(params) {\n return applyMethod(this, 'gt', 0, params);\n },\n\n // Require a value to be greater than or equal to 0\n nonNegative(params) {\n return applyMethod(this, 'gte', 0, params);\n },\n\n // Require a value to be lower than 0\n negative(params) {\n return applyMethod(this, 'lt', 0, params);\n },\n\n // Require a value to be lower than or equal to 0\n nonPositive(params) {\n return applyMethod(this, 'lte', 0, params);\n },\n\n // Require a value to be a multiple of a given number\n step(value, params) {\n return applyMethod(this, 'step', value, params);\n },\n\n // Require a value to be an integer\n int(params) {\n return applySimpleMethod(this, 'int', params);\n },\n\n // Exclude `Infinity` from being a valid value\n finite(params) {\n return applySimpleMethod(this, 'finite', params);\n },\n\n // Require the value to be less than or equal to Number.MAX_SAFE_INTEGER\n safe(params) {\n return applySimpleMethod(this, 'safe', params);\n },\n};\n\ninterface SmallIntColumnZod\n extends SmallIntColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass SmallIntColumnZod extends SmallIntColumn<ZodSchemaConfig> {}\nObject.assign(SmallIntColumnZod.prototype, numberMethods);\n\ninterface IntegerColumnZod\n extends IntegerColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass IntegerColumnZod extends IntegerColumn<ZodSchemaConfig> {}\nObject.assign(IntegerColumnZod.prototype, numberMethods);\n\ninterface RealColumnZod extends RealColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass RealColumnZod extends RealColumn<ZodSchemaConfig> {}\nObject.assign(RealColumnZod.prototype, numberMethods);\n\ninterface SmallSerialColumnZod\n extends SmallSerialColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass SmallSerialColumnZod extends SmallSerialColumn<ZodSchemaConfig> {}\nObject.assign(SmallSerialColumnZod.prototype, numberMethods);\n\ninterface SerialColumnZod\n extends SerialColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass SerialColumnZod extends SerialColumn<ZodSchemaConfig> {}\nObject.assign(SerialColumnZod.prototype, numberMethods);\n\ninterface StringMethods extends ArrayMethods<number> {\n // Check a value to be a valid email\n email<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid url\n url<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be an emoji\n emoji<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid uuid\n uuid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid cuid\n cuid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid cuid2\n cuid2<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid ulid\n ulid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Validate the value over the given regular expression\n regex<T>(this: T, value: RegExp, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to include a given string\n includes<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value to start with a given string\n startsWith<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value to end with a given string\n endsWith<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value have a valid datetime string\n datetime<T>(\n this: T,\n params?: StringData['datetime'] &\n Exclude<Column.Error.StringOrMessage, string>,\n ): T;\n\n // Check a value to be a valid ipv4 address\n ipv4<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;\n\n // Check a value to be a valid ipv6 address\n ipv6<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;\n\n // Trim the value during a validation\n trim<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Transform value to a lower case during a validation\n toLowerCase<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Transform value to an upper case during a validation\n toUpperCase<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst stringMethods: StringMethods = {\n ...(arrayMethods as unknown as ArrayMethods<number>),\n\n email(params) {\n return applySimpleMethod(this, 'email', params);\n },\n\n url(params) {\n return applySimpleMethod(this, 'url', params);\n },\n\n emoji(params) {\n return applySimpleMethod(this, 'emoji', params);\n },\n\n uuid(params) {\n return applySimpleMethod(this, 'uuid', params);\n },\n\n cuid(params) {\n return applySimpleMethod(this, 'cuid', params);\n },\n\n cuid2(params) {\n return applySimpleMethod(this, 'cuid2', params);\n },\n\n ulid(params) {\n return applySimpleMethod(this, 'ulid', params);\n },\n\n regex(value, params) {\n return applyMethod(this, 'regex', value, params);\n },\n\n includes(value, params) {\n return applyMethod(this, 'includes', value, params);\n },\n\n startsWith(value, params) {\n return applyMethod(this, 'startsWith', value, params);\n },\n\n endsWith(value, params) {\n return applyMethod(this, 'endsWith', value, params);\n },\n\n datetime(params = {}) {\n return applyMethod(this, 'datetime', params, params);\n },\n\n ipv4(params) {\n return applyMethod(this, 'ipv4', params, params);\n },\n\n ipv6(params) {\n return applyMethod(this, 'ipv6', params, params);\n },\n\n trim(params) {\n return applySimpleMethod(this, 'trim', params);\n },\n\n toLowerCase(params) {\n return applySimpleMethod(this, 'toLowerCase', params);\n },\n\n toUpperCase(params) {\n return applySimpleMethod(this, 'toUpperCase', params);\n },\n};\n\ninterface BigIntColumnZod\n extends BigIntColumn<ZodSchemaConfig>, StringMethods {}\n\nclass BigIntColumnZod extends BigIntColumn<ZodSchemaConfig> {}\nObject.assign(BigIntColumnZod.prototype, stringMethods);\n\ninterface DecimalColumnZod\n extends DecimalColumn<ZodSchemaConfig>, StringMethods {}\n\nclass DecimalColumnZod extends DecimalColumn<ZodSchemaConfig> {}\nObject.assign(DecimalColumnZod.prototype, stringMethods);\n\ninterface DoublePrecisionColumnZod\n extends DoublePrecisionColumn<ZodSchemaConfig>, StringMethods {}\n\nclass DoublePrecisionColumnZod extends DoublePrecisionColumn<ZodSchemaConfig> {}\nObject.assign(DoublePrecisionColumnZod.prototype, stringMethods);\n\ninterface BigSerialColumnZod\n extends BigSerialColumn<ZodSchemaConfig>, StringMethods {}\n\nclass BigSerialColumnZod extends BigSerialColumn<ZodSchemaConfig> {}\nObject.assign(BigSerialColumnZod.prototype, stringMethods);\n\ninterface MoneyColumnZod extends MoneyColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass MoneyColumnZod extends MoneyColumn<ZodSchemaConfig> {}\nObject.assign(MoneyColumnZod.prototype, numberMethods);\n\ninterface VarCharColumnZod\n extends VarCharColumn<ZodSchemaConfig>, StringMethods {}\n\nclass VarCharColumnZod extends VarCharColumn<ZodSchemaConfig> {}\nObject.assign(VarCharColumnZod.prototype, stringMethods);\n\ninterface TextColumnZod extends TextColumn<ZodSchemaConfig>, StringMethods {}\n\nclass TextColumnZod extends TextColumn<ZodSchemaConfig> {}\nObject.assign(TextColumnZod.prototype, stringMethods);\n\ninterface StringColumnZod\n extends StringColumn<ZodSchemaConfig>, StringMethods {}\n\nclass StringColumnZod extends StringColumn<ZodSchemaConfig> {}\nObject.assign(StringColumnZod.prototype, stringMethods);\n\ninterface CitextColumnZod\n extends CitextColumn<ZodSchemaConfig>, StringMethods {}\n\nclass CitextColumnZod extends CitextColumn<ZodSchemaConfig> {}\nObject.assign(CitextColumnZod.prototype, stringMethods);\n\ninterface DateMethods {\n // Require a value to be greater than or equal to a given Date object\n min<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;\n\n // Require a value to be lower than or equal to a given Date object\n max<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;\n}\n\nconst dateMethods: DateMethods = {\n min(value, params) {\n return applyMethod(this, 'min', value, params);\n },\n max(value, params) {\n return applyMethod(this, 'max', value, params);\n },\n};\n\ninterface DateColumnZod extends DateColumn<ZodSchemaConfig>, DateMethods {}\n\nclass DateColumnZod extends DateColumn<ZodSchemaConfig> {}\nObject.assign(DateColumnZod.prototype, dateMethods);\n\ninterface TimestampNoTzColumnZod\n extends TimestampColumn<ZodSchemaConfig>, DateMethods {}\n\nclass TimestampNoTzColumnZod extends TimestampColumn<ZodSchemaConfig> {}\nObject.assign(TimestampNoTzColumnZod.prototype, dateMethods);\n\ninterface TimestampColumnZod\n extends TimestampTZColumn<ZodSchemaConfig>, DateMethods {}\n\nclass TimestampColumnZod extends TimestampTZColumn<ZodSchemaConfig> {}\nObject.assign(TimestampColumnZod.prototype, dateMethods);\n\ntype PointSchemaZod = ZodObject<{\n srid: ZodOptional<ZodNumber>;\n lon: ZodNumber;\n lat: ZodNumber;\n}>;\n\nlet pointSchema: PointSchemaZod | undefined;\n\nexport interface BareZodType {\n _output: unknown;\n}\n\nexport interface ZodSchemaConfig {\n type: ZodTypeAny;\n\n parse<\n T extends Column.Pick.ForParse,\n OutputSchema extends ZodTypeAny,\n Output = OutputSchema['_output'],\n >(\n this: T,\n _schema: OutputSchema,\n fn: (input: T['type']) => Output,\n ): Column.Modifiers.Parse<T, OutputSchema, Output>;\n\n parseNull<\n T extends Column.Pick.ForParseNull,\n NullSchema extends ZodTypeAny,\n NullType = NullSchema['_output'],\n >(\n this: T,\n _schema: NullSchema,\n fn: () => NullType,\n ): Column.Modifiers.ParseNull<T, NullSchema, NullType>;\n\n encode<\n T extends { type: unknown },\n InputSchema extends ZodTypeAny,\n Input = InputSchema['_output'],\n >(\n this: T,\n _schema: InputSchema,\n fn: (input: Input) => unknown,\n ): Column.Modifiers.Encode<T, InputSchema, Input>;\n\n /**\n * @deprecated use narrowType instead\n */\n asType<\n T,\n Types extends Column.AsTypeArg<ZodTypeAny>,\n TypeSchema extends ZodTypeAny = Types extends { type: ZodTypeAny }\n ? Types['type']\n : never,\n Type = TypeSchema['_output'],\n >(\n this: T,\n types: Types,\n ): {\n [K in keyof T]: K extends 'type'\n ? Type\n : K extends 'inputType'\n ? Types['input'] extends ZodTypeAny\n ? Types['input']['_output']\n : Type\n : K extends 'inputSchema'\n ? Types['input'] extends ZodTypeAny\n ? Types['input']\n : TypeSchema\n : K extends 'outputType'\n ? Types['output'] extends ZodTypeAny\n ? Types['output']['_output']\n : Type\n : K extends 'outputSchema'\n ? Types['output'] extends ZodTypeAny\n ? Types['output']\n : TypeSchema\n : K extends 'queryType'\n ? Types['query'] extends ZodTypeAny\n ? Types['query']['_output']\n : Type\n : K extends 'querySchema'\n ? Types['query'] extends ZodTypeAny\n ? Types['query']\n : TypeSchema\n : T[K];\n };\n\n narrowType<\n T extends Column.InputOutputQueryTypesWithSchemas,\n Type extends {\n _output: T['inputType'] extends never\n ? T['outputType'] & T['queryType']\n : T['inputType'] & T['outputType'] & T['queryType'];\n },\n >(\n this: T,\n type: Type,\n ): {\n [K in keyof T]: K extends 'inputType'\n ? T['inputType'] extends never\n ? never\n : Type['_output']\n : K extends 'outputType' | 'queryType'\n ? Type['_output']\n : K extends 'inputSchema'\n ? T['inputType'] extends never\n ? ZodNever\n : Type\n : K extends 'outputSchema' | 'querySchema'\n ? Type\n : T[K];\n };\n\n narrowAllTypes<\n T extends Column.InputOutputQueryTypesWithSchemas,\n Types extends {\n input?: { _output: T['inputType'] };\n output?: { _output: T['outputType'] };\n query?: { _output: T['queryType'] };\n },\n >(\n this: T,\n types: Types,\n ): {\n [K in keyof T]: K extends 'inputType'\n ? Types['input'] extends BareZodType\n ? Types['input']['_output']\n : T['inputType']\n : K extends 'inputSchema'\n ? Types['input'] extends BareZodType\n ? Types['input']\n : T['inputSchema']\n : K extends 'outputType'\n ? Types['output'] extends BareZodType\n ? Types['output']['_output']\n : T['outputType']\n : K extends 'outputSchema'\n ? Types['output'] extends BareZodType\n ? Types['output']\n : T['outputSchema']\n : K extends 'queryType'\n ? Types['query'] extends BareZodType\n ? Types['query']['_output']\n : T['queryType']\n : K extends 'querySchema'\n ? Types['query'] extends BareZodType\n ? Types['query']\n : T['querySchema']\n : T[K];\n };\n\n dateAsNumber<T extends Column<ZodSchemaConfig>>(\n this: T,\n ): Column.Modifiers.Parse<T, ZodNumber, number>;\n\n dateAsDate<T extends Column<ZodSchemaConfig>>(\n this: T,\n ): Column.Modifiers.Parse<T, ZodDate, Date>;\n\n enum<T extends readonly string[]>(\n dataType: string,\n type: T,\n ): EnumColumn<ZodSchemaConfig, ZodEnum<{ [K in T[number]]: K }>, T>;\n\n array<Item extends ArrayColumnValue>(item: Item): ZodArrayColumn<Item>;\n\n nullable<T extends Column.Pick.ForNullable>(\n this: T,\n ): Column.Modifiers.Nullable<\n T,\n ZodNullable<T['inputSchema']>,\n T['nullSchema'] extends ZodTypeAny\n ? ZodUnion<[T['outputSchema'], T['nullSchema']]>\n : ZodNullable<T['outputSchema']>,\n ZodNullable<T['querySchema']>\n >;\n\n json<ZodSchema extends ZodTypeAny = ZodUnknown>(\n schema?: ZodSchema,\n ): ZodJSONColumn<ZodSchema>;\n\n boolean(): ZodBoolean;\n buffer(): ZodType<Buffer>;\n unknown(): ZodUnknown;\n never(): ZodNever;\n stringSchema(): ZodString;\n stringMin(max: number): ZodString;\n stringMax(max: number): ZodString;\n stringMinMax(min: number, max: number): ZodString;\n number(): ZodNumber;\n int(): ZodNumber;\n stringNumberDate(): ZodDate;\n timeInterval(): ZodObject<{\n years: ZodOptional<ZodNumber>;\n months: ZodOptional<ZodNumber>;\n days: ZodOptional<ZodNumber>;\n hours: ZodOptional<ZodNumber>;\n minutes: ZodOptional<ZodNumber>;\n seconds: ZodOptional<ZodNumber>;\n }>;\n bit(max: number): ZodString;\n uuid(): ZodString;\n\n inputSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): MapSchema<T, 'inputSchema'>;\n\n outputSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): MapSchema<T, 'outputSchema'>;\n\n querySchema<T extends ColumnSchemaGetterTableClass>(this: T): QuerySchema<T>;\n\n createSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): CreateSchema<T>;\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): UpdateSchema<T>;\n\n pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T): PkeySchema<T>;\n\n error<T>(this: T, error: Column.Error.Messages): T;\n\n smallint(): SmallIntColumnZod;\n integer(): IntegerColumnZod;\n real(): RealColumnZod;\n smallSerial(): SmallSerialColumnZod;\n serial(): SerialColumnZod;\n\n bigint(): BigIntColumnZod;\n decimal(precision?: number, scale?: number): DecimalColumnZod;\n doublePrecision(): DoublePrecisionColumnZod;\n bigSerial(): BigSerialColumnZod;\n money(): MoneyColumnZod;\n varchar(limit?: number): VarCharColumnZod;\n text(): TextColumnZod;\n string(limit?: number): StringColumnZod;\n citext(): CitextColumnZod;\n\n date(): DateColumnZod;\n timestampNoTZ(precision?: number): TimestampNoTzColumnZod;\n timestamp(precision?: number): TimestampColumnZod;\n\n geographyPointSchema(): PointSchemaZod;\n}\n\n// parse a date string to date object, with respect to null\nconst parseDateToDate = (value: unknown) => new Date(value as string);\n\nexport const zodSchemaConfig: ZodSchemaConfig = {\n type: undefined as unknown as ZodTypeAny,\n parse(schema, fn) {\n return setColumnParse(this as never, fn, schema);\n },\n parseNull(schema, fn) {\n return setColumnParseNull(this as never, fn, schema);\n },\n encode(schema, fn) {\n return setColumnEncode(this as never, fn, schema);\n },\n asType(_types) {\n return this as never;\n },\n narrowType(type) {\n const c = Object.create(this);\n if ((c as Column.Pick.Data).data.generated) {\n c.outputSchema = c.querySchema = type;\n } else {\n c.inputSchema = c.outputSchema = c.querySchema = type;\n }\n return c as never;\n },\n narrowAllTypes(types) {\n const c = Object.create(this);\n if (types.input) {\n c.inputSchema = types.input;\n }\n if (types.output) {\n c.outputSchema = types.output;\n }\n if (types.query) {\n c.querySchema = types.query;\n }\n return c as never;\n },\n dateAsNumber() {\n return this.parse(z.number(), Date.parse as never) as never;\n },\n dateAsDate() {\n return this.parse(z.date(), parseDateToDate) as never;\n },\n enum(dataType, type) {\n return new EnumColumn(\n zodSchemaConfig,\n dataType,\n Object.values(type),\n z.enum(type),\n ) as never;\n },\n array(item) {\n return new ZodArrayColumn(item);\n },\n nullable() {\n return makeColumnNullable(\n this as never,\n z.nullable(this.inputSchema),\n this.nullSchema\n ? this.outputSchema.or(this.nullSchema)\n : z.nullable(this.outputSchema),\n z.nullable(this.querySchema),\n ) as never;\n },\n json<ZodSchema extends ZodTypeAny = ZodUnknown>(schema?: ZodSchema) {\n return new ZodJSONColumn((schema ?? z.unknown()) as ZodSchema);\n },\n boolean: () => z.boolean(),\n buffer: () => z.instanceof(Buffer),\n unknown: () => z.unknown(),\n never: () => z.never(),\n stringSchema: () => z.string(),\n stringMin(min) {\n return z.string().min(min);\n },\n stringMax(max) {\n return z.string().max(max);\n },\n stringMinMax(min, max) {\n return z.string().min(min).max(max);\n },\n number: () => z.number(),\n int: () => z.number().int(),\n\n stringNumberDate: () => z.coerce.date(),\n\n timeInterval: () =>\n z.object({\n years: z.number().optional(),\n months: z.number().optional(),\n days: z.number().optional(),\n hours: z.number().optional(),\n minutes: z.number().optional(),\n seconds: z.number().optional(),\n }),\n\n bit: (max?: number) =>\n (max ? z.string().max(max) : z.string()).regex(/[10]/g),\n\n uuid: () => z.string().uuid(),\n\n inputSchema() {\n return mapSchema(this, 'inputSchema');\n },\n\n outputSchema() {\n return mapSchema(this, 'outputSchema');\n },\n\n querySchema() {\n const shape: RecordUnknown = {};\n const { shape: columns } = this.prototype.columns;\n\n for (const key in columns) {\n const column = columns[key] as Column;\n if (columns[key].dataType) {\n shape[key] = column.querySchema.optional();\n }\n }\n\n return z.object(shape) as never;\n },\n\n createSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n const input = this.inputSchema() as ZodObject<ZodRawShape>;\n\n const shape: ZodShape = {};\n const { shape: columns } = this.prototype.columns;\n\n for (const key in columns) {\n const column = columns[key];\n if (column.dataType && !column.data.primaryKey) {\n shape[key] = input.shape[key];\n\n if (column.data.isNullable || column.data.default !== undefined) {\n shape[key] = optional(shape[key]);\n }\n }\n }\n\n return z.object(shape) as unknown as CreateSchema<T>;\n },\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n return (this.createSchema() as ZodObject<ZodRawShape>).partial() as never;\n },\n\n pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n const pkeys: Record<string, true> = {};\n\n const {\n columns: { shape },\n } = this.prototype;\n for (const key in shape) {\n if (shape[key].dataType && shape[key].data.primaryKey) {\n pkeys[key] = true;\n }\n }\n\n return (this.querySchema() as ZodObject<ZodRawShape>)\n .pick(pkeys)\n .required() as never;\n },\n\n /**\n * `error` allows to specify two following validation messages:\n *\n * ```ts\n * t.text().error({\n * required: 'This column is required',\n * invalidType: 'This column must be an integer',\n * });\n * ```\n *\n * It will be converted into `Zod`'s messages:\n *\n * ```ts\n * z.string({\n * required_error: 'This column is required',\n * invalid_type_error: 'This column must be an integer',\n * });\n * ```\n *\n * Each validation method can accept an error message as a string:\n *\n * ```ts\n * t.text().min(5, 'Must be 5 or more characters long');\n * t.text().max(5, 'Must be 5 or fewer characters long');\n * t.text().length(5, 'Must be exactly 5 characters long');\n * t.text().email('Invalid email address');\n * t.text().url('Invalid url');\n * t.text().emoji('Contains non-emoji characters');\n * t.text().uuid('Invalid UUID');\n * t.text().includes('tuna', 'Must include tuna');\n * t.text().startsWith('https://', 'Must provide secure URL');\n * t.text().endsWith('.com', 'Only .com domains allowed');\n * ```\n *\n * Except for `text().datetime()` and `text().ip()`:\n *\n * these methods can have their own parameters, so the error message is passed in object.\n *\n * ```ts\n * t.text().datetime({ message: 'Invalid datetime string! Must be UTC.' });\n * t.text().ip({ message: 'Invalid IP address' });\n * ```\n *\n * Error messages are supported for a JSON schema as well:\n *\n * ```ts\n * t.json((j) =>\n * j.object({\n * one: j\n * .string()\n * .error({ required: 'One is required' })\n * .min(5, 'Must be 5 or more characters long'),\n * two: j\n * .string()\n * .error({ invalidType: 'Two should be a string' })\n * .max(5, 'Must be 5 or fewer characters long'),\n * three: j.string().length(5, 'Must be exactly 5 characters long'),\n * }),\n * );\n * ```\n *\n * @param errors - object, key is either 'required' or 'invalidType', value is an error message\n */\n error(errors) {\n const c = this as Column;\n const { errors: old } = c.data;\n const newErrors = old ? { ...old, ...errors } : errors;\n const { required, invalidType } = newErrors;\n\n const errorMap: $ZodErrorMap = (iss) => {\n if (iss.code === 'invalid_type') {\n return iss.input === undefined ? required : invalidType;\n }\n // not sure if this is correct to return undefined for other errors,\n // let's wait for an issue.\n return;\n };\n\n (c.inputSchema as ZodTypeAny).def.error =\n (c.outputSchema as ZodTypeAny).def.error =\n (c.querySchema as ZodTypeAny).def.error =\n errorMap;\n\n return setColumnData(c, 'errors', newErrors as never) as never;\n },\n\n smallint: () => new SmallIntColumnZod(zodSchemaConfig),\n integer: () => new IntegerColumnZod(zodSchemaConfig),\n real: () => new RealColumnZod(zodSchemaConfig),\n smallSerial: () => new SmallSerialColumnZod(zodSchemaConfig),\n serial: () => new SerialColumnZod(zodSchemaConfig),\n\n bigint: () => new BigIntColumnZod(zodSchemaConfig),\n decimal: (precision, scale) =>\n new DecimalColumnZod(zodSchemaConfig, precision, scale),\n doublePrecision: () => new DoublePrecisionColumnZod(zodSchemaConfig),\n bigSerial: () => new BigSerialColumnZod(zodSchemaConfig),\n money: () => new MoneyColumnZod(zodSchemaConfig),\n varchar: (limit) => new VarCharColumnZod(zodSchemaConfig, limit),\n text: () => new TextColumnZod(zodSchemaConfig),\n string: (limit) => new StringColumnZod(zodSchemaConfig, limit),\n citext: () => new CitextColumnZod(zodSchemaConfig),\n\n date: () => new DateColumnZod(zodSchemaConfig),\n timestampNoTZ: (precision) =>\n new TimestampNoTzColumnZod(zodSchemaConfig, precision),\n timestamp: (precision) => new TimestampColumnZod(zodSchemaConfig, precision),\n\n geographyPointSchema: () =>\n (pointSchema ??= z.object({\n srid: z.number().optional(),\n lon: z.number(),\n lat: z.number(),\n })),\n};\n\ntype MapSchema<\n T extends ColumnSchemaGetterTableClass,\n Key extends 'inputSchema' | 'outputSchema' | 'querySchema',\n> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ColumnSchemaGetterColumns<T>[K][Key];\n },\n core.$strict\n>;\n\ntype QuerySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ZodOptional<\n ColumnSchemaGetterColumns<T>[K]['querySchema']\n >;\n },\n core.$strict\n>;\n\ntype CreateSchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? never\n : K]: ColumnSchemaGetterColumns<T>[K]['data']['isNullable'] extends true\n ? ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>\n : undefined extends ColumnSchemaGetterColumns<T>[K]['data']['default']\n ? ColumnSchemaGetterColumns<T>[K]['inputSchema']\n : ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>;\n },\n core.$strict\n>;\n\ntype UpdateSchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? never\n : K]: ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>;\n },\n core.$strict\n>;\n\ntype PkeySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? K\n : never]: ColumnSchemaGetterColumns<T>[K]['inputSchema'];\n },\n core.$strict\n>;\n\nfunction mapSchema<\n T extends ColumnSchemaGetterTableClass,\n Key extends 'inputSchema' | 'outputSchema' | 'querySchema',\n>(klass: T, schemaKey: Key): MapSchema<T, Key> {\n const shape: ZodShape = {};\n const { shape: columns } = klass.prototype.columns;\n\n for (const key in columns) {\n if (columns[key].dataType) {\n shape[key] = columns[key][schemaKey];\n }\n }\n\n return z.object(shape) as MapSchema<T, Key>;\n}\n"],"names":["JSONColumn","setDataValue","ArrayColumn","z","SmallIntColumn","IntegerColumn","RealColumn","SmallSerialColumn","SerialColumn","BigIntColumn","DecimalColumn","DoublePrecisionColumn","BigSerialColumn","MoneyColumn","VarCharColumn","TextColumn","StringColumn","CitextColumn","DateColumn","TimestampColumn","TimestampTZColumn","setColumnParse","setColumnParseNull","setColumnEncode","EnumColumn","makeColumnNullable","optional","setColumnData"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ArrayColumn, setDataValue, SmallIntColumn, IntegerColumn, RealColumn, SmallSerialColumn, SerialColumn, BigIntColumn, DecimalColumn, DoublePrecisionColumn, BigSerialColumn, MoneyColumn, VarCharColumn, TextColumn, StringColumn, CitextColumn, DateColumn, TimestampColumn, TimestampTZColumn, setColumnData, makeColumnNullable, EnumColumn, setColumnEncode, setColumnParseNull, setColumnParse, JSONColumn } from 'pqb/internal';
|
|
2
2
|
import { z, optional } from 'zod/v4';
|
|
3
3
|
|
|
4
4
|
class ZodJSONColumn extends JSONColumn {
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/zod.ts"],"sourcesContent":["import {\n ColumnSchemaGetterColumns,\n ColumnSchemaGetterTableClass,\n makeColumnNullable,\n setDataValue,\n StringData,\n setColumnData,\n RecordUnknown,\n ArrayColumn,\n ArrayColumnValue,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n Column,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n JSONColumn,\n MoneyColumn,\n RealColumn,\n SerialColumn,\n setColumnEncode,\n setColumnParse,\n setColumnParseNull,\n SmallIntColumn,\n SmallSerialColumn,\n StringColumn,\n TextColumn,\n TimestampColumn,\n TimestampTZColumn,\n VarCharColumn,\n} from 'pqb';\nimport {\n z,\n ZodArray,\n ZodBoolean,\n ZodDate,\n ZodEnum,\n ZodNever,\n ZodNullable,\n ZodNumber,\n ZodObject,\n ZodOptional,\n ZodRawShape,\n ZodString,\n ZodType,\n ZodTypeAny,\n ZodUnion,\n ZodUnknown,\n optional,\n core,\n} from 'zod/v4';\nimport { $ZodErrorMap, $ZodType } from 'zod/v4/core';\nimport { ToEnum } from 'zod/v4/core/util';\n\ninterface ZodShape {\n [K: string]: $ZodType;\n}\n\nclass ZodJSONColumn<ZodSchema extends ZodTypeAny> extends JSONColumn<\n ZodSchema['_output'],\n ZodSchemaConfig,\n ZodSchema\n> {\n constructor(schema: ZodSchema) {\n super(zodSchemaConfig, schema);\n }\n}\n\nfunction applyMethod<T, Key extends string>(\n column: T,\n key: Key,\n value: unknown,\n params?: Column.Error.StringOrMessage,\n) {\n const cloned = setDataValue(\n column as Column.Pick.Data,\n key,\n value,\n params,\n ) as Column;\n\n // Prevent zod from mutating `value` and `params`. It overwrites `message` to `error`.\n const p = typeof params === 'object' ? { ...params } : params;\n const v = value === params ? p : value;\n\n const c = column as Column;\n cloned.inputSchema = c.inputSchema[key](v, p);\n cloned.outputSchema = c.outputSchema[key](v, p);\n cloned.querySchema = c.querySchema[key](v, p);\n return cloned as never;\n}\n\nfunction applySimpleMethod<T, Key extends string>(\n column: T,\n key: Key,\n params?: Column.Error.StringOrMessage,\n) {\n const c = column as Column;\n const cloned = setDataValue(c, key, true, params) as Column;\n cloned.inputSchema = c.inputSchema[key](params);\n cloned.outputSchema = c.outputSchema[key](params);\n cloned.querySchema = c.querySchema[key](params);\n return cloned as never;\n}\n\ninterface ArrayMethods<Value> {\n // Require a minimum length (inclusive)\n min<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a maximum length (inclusive)\n max<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a specific length\n length<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a value to be non-empty\n nonEmpty<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst arrayMethods: ArrayMethods<Date> = {\n min(value, params) {\n return applyMethod(this, 'min', value, params);\n },\n max(value, params) {\n return applyMethod(this, 'max', value, params);\n },\n length(value, params) {\n return applyMethod(this, 'length', value, params);\n },\n nonEmpty(params) {\n const column = this as Column;\n const cloned = setDataValue(column, 'nonEmpty', true, params) as Column;\n cloned.inputSchema = column.inputSchema.nonempty(params);\n cloned.outputSchema = column.outputSchema.nonempty(params);\n cloned.querySchema = column.querySchema.nonempty(params);\n return cloned as never;\n },\n};\n\ninterface ZodArrayColumn<Item extends ArrayColumnValue>\n extends ArrayColumn<\n ZodSchemaConfig,\n Item,\n ZodArray<Item['inputSchema']>,\n ZodArray<Item['outputSchema']>,\n ZodArray<Item['querySchema']>\n >,\n ArrayMethods<number> {}\n\nclass ZodArrayColumn<Item extends ArrayColumnValue> extends ArrayColumn<\n ZodSchemaConfig,\n Item,\n ZodArray<Item['inputSchema']>,\n ZodArray<Item['outputSchema']>,\n ZodArray<Item['querySchema']>\n> {\n constructor(item: Item) {\n super(zodSchemaConfig, item, z.array(item.inputSchema));\n }\n}\n\nObject.assign(ZodArrayColumn.prototype, arrayMethods);\n\ninterface NumberMethods {\n lt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n lte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n max<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n gt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n gte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n min<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n positive<T>(this: T, params?: Column.Error.StringOrMessage): T;\n nonNegative<T>(this: T, params?: Column.Error.StringOrMessage): T;\n negative<T>(this: T, params?: Column.Error.StringOrMessage): T;\n nonPositive<T>(this: T, params?: Column.Error.StringOrMessage): T;\n step<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n int<T>(this: T, params?: Column.Error.StringOrMessage): T;\n finite<T>(this: T, params?: Column.Error.StringOrMessage): T;\n safe<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst numberMethods: NumberMethods = {\n // Require a value to be lower than a given number\n lt(value, params) {\n return applyMethod(this, 'lt', value, params);\n },\n\n // Require a value to be lower than or equal to a given number (the same as `max`)\n lte(value, params) {\n return applyMethod(this, 'lte', value, params);\n },\n\n // Require a value to be lower than or equal to a given number\n max(value, params) {\n return applyMethod(this, 'lte', value, params);\n },\n\n // Require a value to be greater than a given number\n gt(value, params) {\n return applyMethod(this, 'gt', value, params);\n },\n\n // Require a value to be greater than or equal to a given number (the same as `min`)\n gte(value, params) {\n return applyMethod(this, 'gte', value, params);\n },\n\n // Require a value to be greater than or equal to a given number\n min(value, params) {\n return applyMethod(this, 'gte', value, params);\n },\n\n // Require a value to be greater than 0\n positive(params) {\n return applyMethod(this, 'gt', 0, params);\n },\n\n // Require a value to be greater than or equal to 0\n nonNegative(params) {\n return applyMethod(this, 'gte', 0, params);\n },\n\n // Require a value to be lower than 0\n negative(params) {\n return applyMethod(this, 'lt', 0, params);\n },\n\n // Require a value to be lower than or equal to 0\n nonPositive(params) {\n return applyMethod(this, 'lte', 0, params);\n },\n\n // Require a value to be a multiple of a given number\n step(value, params) {\n return applyMethod(this, 'step', value, params);\n },\n\n // Require a value to be an integer\n int(params) {\n return applySimpleMethod(this, 'int', params);\n },\n\n // Exclude `Infinity` from being a valid value\n finite(params) {\n return applySimpleMethod(this, 'finite', params);\n },\n\n // Require the value to be less than or equal to Number.MAX_SAFE_INTEGER\n safe(params) {\n return applySimpleMethod(this, 'safe', params);\n },\n};\n\ninterface SmallIntColumnZod\n extends SmallIntColumn<ZodSchemaConfig>,\n NumberMethods {}\n\nclass SmallIntColumnZod extends SmallIntColumn<ZodSchemaConfig> {}\nObject.assign(SmallIntColumnZod.prototype, numberMethods);\n\ninterface IntegerColumnZod\n extends IntegerColumn<ZodSchemaConfig>,\n NumberMethods {}\n\nclass IntegerColumnZod extends IntegerColumn<ZodSchemaConfig> {}\nObject.assign(IntegerColumnZod.prototype, numberMethods);\n\ninterface RealColumnZod extends RealColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass RealColumnZod extends RealColumn<ZodSchemaConfig> {}\nObject.assign(RealColumnZod.prototype, numberMethods);\n\ninterface SmallSerialColumnZod\n extends SmallSerialColumn<ZodSchemaConfig>,\n NumberMethods {}\n\nclass SmallSerialColumnZod extends SmallSerialColumn<ZodSchemaConfig> {}\nObject.assign(SmallSerialColumnZod.prototype, numberMethods);\n\ninterface SerialColumnZod\n extends SerialColumn<ZodSchemaConfig>,\n NumberMethods {}\n\nclass SerialColumnZod extends SerialColumn<ZodSchemaConfig> {}\nObject.assign(SerialColumnZod.prototype, numberMethods);\n\ninterface StringMethods extends ArrayMethods<number> {\n // Check a value to be a valid email\n email<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid url\n url<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be an emoji\n emoji<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid uuid\n uuid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid cuid\n cuid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid cuid2\n cuid2<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid ulid\n ulid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Validate the value over the given regular expression\n regex<T>(this: T, value: RegExp, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to include a given string\n includes<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value to start with a given string\n startsWith<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value to end with a given string\n endsWith<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value have a valid datetime string\n datetime<T>(\n this: T,\n params?: StringData['datetime'] &\n Exclude<Column.Error.StringOrMessage, string>,\n ): T;\n\n // Check a value to be a valid ipv4 address\n ipv4<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;\n\n // Check a value to be a valid ipv6 address\n ipv6<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;\n\n // Trim the value during a validation\n trim<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Transform value to a lower case during a validation\n toLowerCase<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Transform value to an upper case during a validation\n toUpperCase<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst stringMethods: StringMethods = {\n ...(arrayMethods as unknown as ArrayMethods<number>),\n\n email(params) {\n return applySimpleMethod(this, 'email', params);\n },\n\n url(params) {\n return applySimpleMethod(this, 'url', params);\n },\n\n emoji(params) {\n return applySimpleMethod(this, 'emoji', params);\n },\n\n uuid(params) {\n return applySimpleMethod(this, 'uuid', params);\n },\n\n cuid(params) {\n return applySimpleMethod(this, 'cuid', params);\n },\n\n cuid2(params) {\n return applySimpleMethod(this, 'cuid2', params);\n },\n\n ulid(params) {\n return applySimpleMethod(this, 'ulid', params);\n },\n\n regex(value, params) {\n return applyMethod(this, 'regex', value, params);\n },\n\n includes(value, params) {\n return applyMethod(this, 'includes', value, params);\n },\n\n startsWith(value, params) {\n return applyMethod(this, 'startsWith', value, params);\n },\n\n endsWith(value, params) {\n return applyMethod(this, 'endsWith', value, params);\n },\n\n datetime(params = {}) {\n return applyMethod(this, 'datetime', params, params);\n },\n\n ipv4(params) {\n return applyMethod(this, 'ipv4', params, params);\n },\n\n ipv6(params) {\n return applyMethod(this, 'ipv6', params, params);\n },\n\n trim(params) {\n return applySimpleMethod(this, 'trim', params);\n },\n\n toLowerCase(params) {\n return applySimpleMethod(this, 'toLowerCase', params);\n },\n\n toUpperCase(params) {\n return applySimpleMethod(this, 'toUpperCase', params);\n },\n};\n\ninterface BigIntColumnZod\n extends BigIntColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass BigIntColumnZod extends BigIntColumn<ZodSchemaConfig> {}\nObject.assign(BigIntColumnZod.prototype, stringMethods);\n\ninterface DecimalColumnZod\n extends DecimalColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass DecimalColumnZod extends DecimalColumn<ZodSchemaConfig> {}\nObject.assign(DecimalColumnZod.prototype, stringMethods);\n\ninterface DoublePrecisionColumnZod\n extends DoublePrecisionColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass DoublePrecisionColumnZod extends DoublePrecisionColumn<ZodSchemaConfig> {}\nObject.assign(DoublePrecisionColumnZod.prototype, stringMethods);\n\ninterface BigSerialColumnZod\n extends BigSerialColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass BigSerialColumnZod extends BigSerialColumn<ZodSchemaConfig> {}\nObject.assign(BigSerialColumnZod.prototype, stringMethods);\n\ninterface MoneyColumnZod extends MoneyColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass MoneyColumnZod extends MoneyColumn<ZodSchemaConfig> {}\nObject.assign(MoneyColumnZod.prototype, numberMethods);\n\ninterface VarCharColumnZod\n extends VarCharColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass VarCharColumnZod extends VarCharColumn<ZodSchemaConfig> {}\nObject.assign(VarCharColumnZod.prototype, stringMethods);\n\ninterface TextColumnZod extends TextColumn<ZodSchemaConfig>, StringMethods {}\n\nclass TextColumnZod extends TextColumn<ZodSchemaConfig> {}\nObject.assign(TextColumnZod.prototype, stringMethods);\n\ninterface StringColumnZod\n extends StringColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass StringColumnZod extends StringColumn<ZodSchemaConfig> {}\nObject.assign(StringColumnZod.prototype, stringMethods);\n\ninterface CitextColumnZod\n extends CitextColumn<ZodSchemaConfig>,\n StringMethods {}\n\nclass CitextColumnZod extends CitextColumn<ZodSchemaConfig> {}\nObject.assign(CitextColumnZod.prototype, stringMethods);\n\ninterface DateMethods {\n // Require a value to be greater than or equal to a given Date object\n min<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;\n\n // Require a value to be lower than or equal to a given Date object\n max<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;\n}\n\nconst dateMethods: DateMethods = {\n min(value, params) {\n return applyMethod(this, 'min', value, params);\n },\n max(value, params) {\n return applyMethod(this, 'max', value, params);\n },\n};\n\ninterface DateColumnZod extends DateColumn<ZodSchemaConfig>, DateMethods {}\n\nclass DateColumnZod extends DateColumn<ZodSchemaConfig> {}\nObject.assign(DateColumnZod.prototype, dateMethods);\n\ninterface TimestampNoTzColumnZod\n extends TimestampColumn<ZodSchemaConfig>,\n DateMethods {}\n\nclass TimestampNoTzColumnZod extends TimestampColumn<ZodSchemaConfig> {}\nObject.assign(TimestampNoTzColumnZod.prototype, dateMethods);\n\ninterface TimestampColumnZod\n extends TimestampTZColumn<ZodSchemaConfig>,\n DateMethods {}\n\nclass TimestampColumnZod extends TimestampTZColumn<ZodSchemaConfig> {}\nObject.assign(TimestampColumnZod.prototype, dateMethods);\n\ntype PointSchemaZod = ZodObject<{\n srid: ZodOptional<ZodNumber>;\n lon: ZodNumber;\n lat: ZodNumber;\n}>;\n\nlet pointSchema: PointSchemaZod | undefined;\n\nexport interface BareZodType {\n _output: unknown;\n}\n\nexport interface ZodSchemaConfig {\n type: ZodTypeAny;\n\n parse<\n T extends Column.Pick.ForParse,\n OutputSchema extends ZodTypeAny,\n Output = OutputSchema['_output'],\n >(\n this: T,\n _schema: OutputSchema,\n fn: (input: T['type']) => Output,\n ): Column.Modifiers.Parse<T, OutputSchema, Output>;\n\n parseNull<\n T extends Column.Pick.ForParseNull,\n NullSchema extends ZodTypeAny,\n NullType = NullSchema['_output'],\n >(\n this: T,\n _schema: NullSchema,\n fn: () => NullType,\n ): Column.Modifiers.ParseNull<T, NullSchema, NullType>;\n\n encode<\n T extends { type: unknown },\n InputSchema extends ZodTypeAny,\n Input = InputSchema['_output'],\n >(\n this: T,\n _schema: InputSchema,\n fn: (input: Input) => unknown,\n ): Column.Modifiers.Encode<T, InputSchema, Input>;\n\n /**\n * @deprecated use narrowType instead\n */\n asType<\n T,\n Types extends Column.AsTypeArg<ZodTypeAny>,\n TypeSchema extends ZodTypeAny = Types extends { type: ZodTypeAny }\n ? Types['type']\n : never,\n Type = TypeSchema['_output'],\n >(\n this: T,\n types: Types,\n ): {\n [K in keyof T]: K extends 'type'\n ? Type\n : K extends 'inputType'\n ? Types['input'] extends ZodTypeAny\n ? Types['input']['_output']\n : Type\n : K extends 'inputSchema'\n ? Types['input'] extends ZodTypeAny\n ? Types['input']\n : TypeSchema\n : K extends 'outputType'\n ? Types['output'] extends ZodTypeAny\n ? Types['output']['_output']\n : Type\n : K extends 'outputSchema'\n ? Types['output'] extends ZodTypeAny\n ? Types['output']\n : TypeSchema\n : K extends 'queryType'\n ? Types['query'] extends ZodTypeAny\n ? Types['query']['_output']\n : Type\n : K extends 'querySchema'\n ? Types['query'] extends ZodTypeAny\n ? Types['query']\n : TypeSchema\n : T[K];\n };\n\n narrowType<\n T extends Column.InputOutputQueryTypesWithSchemas,\n Type extends {\n _output: T['inputType'] extends never\n ? T['outputType'] & T['queryType']\n : T['inputType'] & T['outputType'] & T['queryType'];\n },\n >(\n this: T,\n type: Type,\n ): {\n [K in keyof T]: K extends 'inputType'\n ? T['inputType'] extends never\n ? never\n : Type['_output']\n : K extends 'outputType' | 'queryType'\n ? Type['_output']\n : K extends 'inputSchema'\n ? T['inputType'] extends never\n ? ZodNever\n : Type\n : K extends 'outputSchema' | 'querySchema'\n ? Type\n : T[K];\n };\n\n narrowAllTypes<\n T extends Column.InputOutputQueryTypesWithSchemas,\n Types extends {\n input?: { _output: T['inputType'] };\n output?: { _output: T['outputType'] };\n query?: { _output: T['queryType'] };\n },\n >(\n this: T,\n types: Types,\n ): {\n [K in keyof T]: K extends 'inputType'\n ? Types['input'] extends BareZodType\n ? Types['input']['_output']\n : T['inputType']\n : K extends 'inputSchema'\n ? Types['input'] extends BareZodType\n ? Types['input']\n : T['inputSchema']\n : K extends 'outputType'\n ? Types['output'] extends BareZodType\n ? Types['output']['_output']\n : T['outputType']\n : K extends 'outputSchema'\n ? Types['output'] extends BareZodType\n ? Types['output']\n : T['outputSchema']\n : K extends 'queryType'\n ? Types['query'] extends BareZodType\n ? Types['query']['_output']\n : T['queryType']\n : K extends 'querySchema'\n ? Types['query'] extends BareZodType\n ? Types['query']\n : T['querySchema']\n : T[K];\n };\n\n dateAsNumber<T extends Column<ZodSchemaConfig>>(\n this: T,\n ): Column.Modifiers.Parse<T, ZodNumber, number>;\n\n dateAsDate<T extends Column<ZodSchemaConfig>>(\n this: T,\n ): Column.Modifiers.Parse<T, ZodDate, Date>;\n\n enum<T extends readonly string[]>(\n dataType: string,\n type: T,\n ): EnumColumn<ZodSchemaConfig, ZodEnum<ToEnum<T[number]>>, T>;\n\n array<Item extends ArrayColumnValue>(item: Item): ZodArrayColumn<Item>;\n\n nullable<T extends Column.Pick.ForNullable>(\n this: T,\n ): Column.Modifiers.Nullable<\n T,\n ZodNullable<T['inputSchema']>,\n T['nullSchema'] extends ZodTypeAny\n ? ZodUnion<[T['outputSchema'], T['nullSchema']]>\n : ZodNullable<T['outputSchema']>,\n ZodNullable<T['querySchema']>\n >;\n\n json<ZodSchema extends ZodTypeAny = ZodUnknown>(\n schema?: ZodSchema,\n ): ZodJSONColumn<ZodSchema>;\n\n boolean(): ZodBoolean;\n buffer(): ZodType<Buffer>;\n unknown(): ZodUnknown;\n never(): ZodNever;\n stringSchema(): ZodString;\n stringMin(max: number): ZodString;\n stringMax(max: number): ZodString;\n stringMinMax(min: number, max: number): ZodString;\n number(): ZodNumber;\n int(): ZodNumber;\n stringNumberDate(): ZodDate;\n timeInterval(): ZodObject<{\n years: ZodOptional<ZodNumber>;\n months: ZodOptional<ZodNumber>;\n days: ZodOptional<ZodNumber>;\n hours: ZodOptional<ZodNumber>;\n minutes: ZodOptional<ZodNumber>;\n seconds: ZodOptional<ZodNumber>;\n }>;\n bit(max: number): ZodString;\n uuid(): ZodString;\n\n inputSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): MapSchema<T, 'inputSchema'>;\n\n outputSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): MapSchema<T, 'outputSchema'>;\n\n querySchema<T extends ColumnSchemaGetterTableClass>(this: T): QuerySchema<T>;\n\n createSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): CreateSchema<T>;\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): UpdateSchema<T>;\n\n pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T): PkeySchema<T>;\n\n error<T>(this: T, error: Column.Error.Messages): T;\n\n smallint(): SmallIntColumnZod;\n integer(): IntegerColumnZod;\n real(): RealColumnZod;\n smallSerial(): SmallSerialColumnZod;\n serial(): SerialColumnZod;\n\n bigint(): BigIntColumnZod;\n decimal(precision?: number, scale?: number): DecimalColumnZod;\n doublePrecision(): DoublePrecisionColumnZod;\n bigSerial(): BigSerialColumnZod;\n money(): MoneyColumnZod;\n varchar(limit?: number): VarCharColumnZod;\n text(): TextColumnZod;\n string(limit?: number): StringColumnZod;\n citext(): CitextColumnZod;\n\n date(): DateColumnZod;\n timestampNoTZ(precision?: number): TimestampNoTzColumnZod;\n timestamp(precision?: number): TimestampColumnZod;\n\n geographyPointSchema(): PointSchemaZod;\n}\n\n// parse a date string to date object, with respect to null\nconst parseDateToDate = (value: unknown) => new Date(value as string);\n\nexport const zodSchemaConfig: ZodSchemaConfig = {\n type: undefined as unknown as ZodTypeAny,\n parse(schema, fn) {\n return setColumnParse(this as never, fn, schema);\n },\n parseNull(schema, fn) {\n return setColumnParseNull(this as never, fn, schema);\n },\n encode(schema, fn) {\n return setColumnEncode(this as never, fn, schema);\n },\n asType(_types) {\n return this as never;\n },\n narrowType(type) {\n const c = Object.create(this);\n if ((c as Column.Pick.Data).data.generated) {\n c.outputSchema = c.querySchema = type;\n } else {\n c.inputSchema = c.outputSchema = c.querySchema = type;\n }\n return c as never;\n },\n narrowAllTypes(types) {\n const c = Object.create(this);\n if (types.input) {\n c.inputSchema = types.input;\n }\n if (types.output) {\n c.outputSchema = types.output;\n }\n if (types.query) {\n c.querySchema = types.query;\n }\n return c as never;\n },\n dateAsNumber() {\n return this.parse(z.number(), Date.parse as never) as never;\n },\n dateAsDate() {\n return this.parse(z.date(), parseDateToDate) as never;\n },\n enum(dataType, type) {\n return new EnumColumn(\n zodSchemaConfig,\n dataType,\n Object.values(type),\n z.enum(type),\n ) as never;\n },\n array(item) {\n return new ZodArrayColumn(item);\n },\n nullable() {\n return makeColumnNullable(\n this as never,\n z.nullable(this.inputSchema),\n this.nullSchema\n ? this.outputSchema.or(this.nullSchema)\n : z.nullable(this.outputSchema),\n z.nullable(this.querySchema),\n ) as never;\n },\n json<ZodSchema extends ZodTypeAny = ZodUnknown>(schema?: ZodSchema) {\n return new ZodJSONColumn((schema ?? z.unknown()) as ZodSchema);\n },\n boolean: () => z.boolean(),\n buffer: () => z.instanceof(Buffer),\n unknown: () => z.unknown(),\n never: () => z.never(),\n stringSchema: () => z.string(),\n stringMin(min) {\n return z.string().min(min);\n },\n stringMax(max) {\n return z.string().max(max);\n },\n stringMinMax(min, max) {\n return z.string().min(min).max(max);\n },\n number: () => z.number(),\n int: () => z.number().int(),\n\n stringNumberDate: () => z.coerce.date(),\n\n timeInterval: () =>\n z.object({\n years: z.number().optional(),\n months: z.number().optional(),\n days: z.number().optional(),\n hours: z.number().optional(),\n minutes: z.number().optional(),\n seconds: z.number().optional(),\n }),\n\n bit: (max?: number) =>\n (max ? z.string().max(max) : z.string()).regex(/[10]/g),\n\n uuid: () => z.string().uuid(),\n\n inputSchema() {\n return mapSchema(this, 'inputSchema');\n },\n\n outputSchema() {\n return mapSchema(this, 'outputSchema');\n },\n\n querySchema() {\n const shape: RecordUnknown = {};\n const { shape: columns } = this.prototype.columns;\n\n for (const key in columns) {\n const column = columns[key] as Column;\n if (columns[key].dataType) {\n shape[key] = column.querySchema.optional();\n }\n }\n\n return z.object(shape) as never;\n },\n\n createSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n const input = this.inputSchema() as ZodObject<ZodRawShape>;\n\n const shape: ZodShape = {};\n const { shape: columns } = this.prototype.columns;\n\n for (const key in columns) {\n const column = columns[key];\n if (column.dataType && !column.data.primaryKey) {\n shape[key] = input.shape[key];\n\n if (column.data.isNullable || column.data.default !== undefined) {\n shape[key] = optional(shape[key]);\n }\n }\n }\n\n return z.object(shape) as unknown as CreateSchema<T>;\n },\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n return (this.createSchema() as ZodObject<ZodRawShape>).partial() as never;\n },\n\n pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n const pkeys: Record<string, true> = {};\n\n const {\n columns: { shape },\n } = this.prototype;\n for (const key in shape) {\n if (shape[key].dataType && shape[key].data.primaryKey) {\n pkeys[key] = true;\n }\n }\n\n return (this.querySchema() as ZodObject<ZodRawShape>)\n .pick(pkeys)\n .required() as never;\n },\n\n /**\n * `error` allows to specify two following validation messages:\n *\n * ```ts\n * t.text().error({\n * required: 'This column is required',\n * invalidType: 'This column must be an integer',\n * });\n * ```\n *\n * It will be converted into `Zod`'s messages:\n *\n * ```ts\n * z.string({\n * required_error: 'This column is required',\n * invalid_type_error: 'This column must be an integer',\n * });\n * ```\n *\n * Each validation method can accept an error message as a string:\n *\n * ```ts\n * t.text().min(5, 'Must be 5 or more characters long');\n * t.text().max(5, 'Must be 5 or fewer characters long');\n * t.text().length(5, 'Must be exactly 5 characters long');\n * t.text().email('Invalid email address');\n * t.text().url('Invalid url');\n * t.text().emoji('Contains non-emoji characters');\n * t.text().uuid('Invalid UUID');\n * t.text().includes('tuna', 'Must include tuna');\n * t.text().startsWith('https://', 'Must provide secure URL');\n * t.text().endsWith('.com', 'Only .com domains allowed');\n * ```\n *\n * Except for `text().datetime()` and `text().ip()`:\n *\n * these methods can have their own parameters, so the error message is passed in object.\n *\n * ```ts\n * t.text().datetime({ message: 'Invalid datetime string! Must be UTC.' });\n * t.text().ip({ message: 'Invalid IP address' });\n * ```\n *\n * Error messages are supported for a JSON schema as well:\n *\n * ```ts\n * t.json((j) =>\n * j.object({\n * one: j\n * .string()\n * .error({ required: 'One is required' })\n * .min(5, 'Must be 5 or more characters long'),\n * two: j\n * .string()\n * .error({ invalidType: 'Two should be a string' })\n * .max(5, 'Must be 5 or fewer characters long'),\n * three: j.string().length(5, 'Must be exactly 5 characters long'),\n * }),\n * );\n * ```\n *\n * @param errors - object, key is either 'required' or 'invalidType', value is an error message\n */\n error(errors) {\n const c = this as Column;\n const { errors: old } = c.data;\n const newErrors = old ? { ...old, ...errors } : errors;\n const { required, invalidType } = newErrors;\n\n const errorMap: $ZodErrorMap = (iss) => {\n if (iss.code === 'invalid_type') {\n return iss.input === undefined ? required : invalidType;\n }\n // not sure if this is correct to return undefined for other errors,\n // let's wait for an issue.\n return;\n };\n\n (c.inputSchema as ZodTypeAny).def.error =\n (c.outputSchema as ZodTypeAny).def.error =\n (c.querySchema as ZodTypeAny).def.error =\n errorMap;\n\n return setColumnData(c, 'errors', newErrors as never) as never;\n },\n\n smallint: () => new SmallIntColumnZod(zodSchemaConfig),\n integer: () => new IntegerColumnZod(zodSchemaConfig),\n real: () => new RealColumnZod(zodSchemaConfig),\n smallSerial: () => new SmallSerialColumnZod(zodSchemaConfig),\n serial: () => new SerialColumnZod(zodSchemaConfig),\n\n bigint: () => new BigIntColumnZod(zodSchemaConfig),\n decimal: (precision, scale) =>\n new DecimalColumnZod(zodSchemaConfig, precision, scale),\n doublePrecision: () => new DoublePrecisionColumnZod(zodSchemaConfig),\n bigSerial: () => new BigSerialColumnZod(zodSchemaConfig),\n money: () => new MoneyColumnZod(zodSchemaConfig),\n varchar: (limit) => new VarCharColumnZod(zodSchemaConfig, limit),\n text: () => new TextColumnZod(zodSchemaConfig),\n string: (limit) => new StringColumnZod(zodSchemaConfig, limit),\n citext: () => new CitextColumnZod(zodSchemaConfig),\n\n date: () => new DateColumnZod(zodSchemaConfig),\n timestampNoTZ: (precision) =>\n new TimestampNoTzColumnZod(zodSchemaConfig, precision),\n timestamp: (precision) => new TimestampColumnZod(zodSchemaConfig, precision),\n\n geographyPointSchema: () =>\n (pointSchema ??= z.object({\n srid: z.number().optional(),\n lon: z.number(),\n lat: z.number(),\n })),\n};\n\ntype MapSchema<\n T extends ColumnSchemaGetterTableClass,\n Key extends 'inputSchema' | 'outputSchema' | 'querySchema',\n> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ColumnSchemaGetterColumns<T>[K][Key];\n },\n core.$strict\n>;\n\ntype QuerySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ZodOptional<\n ColumnSchemaGetterColumns<T>[K]['querySchema']\n >;\n },\n core.$strict\n>;\n\ntype CreateSchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? never\n : K]: ColumnSchemaGetterColumns<T>[K]['data']['isNullable'] extends true\n ? ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>\n : undefined extends ColumnSchemaGetterColumns<T>[K]['data']['default']\n ? ColumnSchemaGetterColumns<T>[K]['inputSchema']\n : ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>;\n },\n core.$strict\n>;\n\ntype UpdateSchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? never\n : K]: ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>;\n },\n core.$strict\n>;\n\ntype PkeySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? K\n : never]: ColumnSchemaGetterColumns<T>[K]['inputSchema'];\n },\n core.$strict\n>;\n\nfunction mapSchema<\n T extends ColumnSchemaGetterTableClass,\n Key extends 'inputSchema' | 'outputSchema' | 'querySchema',\n>(klass: T, schemaKey: Key): MapSchema<T, Key> {\n const shape: ZodShape = {};\n const { shape: columns } = klass.prototype.columns;\n\n for (const key in columns) {\n if (columns[key].dataType) {\n shape[key] = columns[key][schemaKey];\n }\n }\n\n return z.object(shape) as MapSchema<T, Key>;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/zod.ts"],"sourcesContent":["import {\n Column,\n ArrayColumn,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n JSONColumn,\n MoneyColumn,\n RealColumn,\n SerialColumn,\n SmallIntColumn,\n SmallSerialColumn,\n StringColumn,\n TextColumn,\n TimestampColumn,\n TimestampTZColumn,\n VarCharColumn,\n ArrayColumnValue,\n ColumnSchemaGetterColumns,\n ColumnSchemaGetterTableClass,\n makeColumnNullable,\n RecordUnknown,\n setColumnData,\n setColumnEncode,\n setColumnParse,\n setColumnParseNull,\n setDataValue,\n StringData,\n} from 'pqb/internal';\nimport {\n z,\n ZodArray,\n ZodBoolean,\n ZodDate,\n ZodEnum,\n ZodNever,\n ZodNullable,\n ZodNumber,\n ZodObject,\n ZodOptional,\n ZodRawShape,\n ZodString,\n ZodType,\n ZodTypeAny,\n ZodUnion,\n ZodUnknown,\n optional,\n core,\n} from 'zod/v4';\nimport { $ZodErrorMap, $ZodType } from 'zod/v4/core';\n\ninterface ZodShape {\n [K: string]: $ZodType;\n}\n\nclass ZodJSONColumn<ZodSchema extends ZodTypeAny> extends JSONColumn<\n ZodSchema['_output'],\n ZodSchemaConfig,\n ZodSchema\n> {\n constructor(schema: ZodSchema) {\n super(zodSchemaConfig, schema);\n }\n}\n\nfunction applyMethod<T, Key extends string>(\n column: T,\n key: Key,\n value: unknown,\n params?: Column.Error.StringOrMessage,\n) {\n const cloned = setDataValue(\n column as Column.Pick.Data,\n key,\n value,\n params,\n ) as Column;\n\n // Prevent zod from mutating `value` and `params`. It overwrites `message` to `error`.\n const p = typeof params === 'object' ? { ...params } : params;\n const v = value === params ? p : value;\n\n const c = column as Column;\n cloned.inputSchema = c.inputSchema[key](v, p);\n cloned.outputSchema = c.outputSchema[key](v, p);\n cloned.querySchema = c.querySchema[key](v, p);\n return cloned as never;\n}\n\nfunction applySimpleMethod<T, Key extends string>(\n column: T,\n key: Key,\n params?: Column.Error.StringOrMessage,\n) {\n const c = column as Column;\n const cloned = setDataValue(c, key, true, params) as Column;\n cloned.inputSchema = c.inputSchema[key](params);\n cloned.outputSchema = c.outputSchema[key](params);\n cloned.querySchema = c.querySchema[key](params);\n return cloned as never;\n}\n\ninterface ArrayMethods<Value> {\n // Require a minimum length (inclusive)\n min<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a maximum length (inclusive)\n max<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a specific length\n length<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;\n\n // Require a value to be non-empty\n nonEmpty<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst arrayMethods: ArrayMethods<Date> = {\n min(value, params) {\n return applyMethod(this, 'min', value, params);\n },\n max(value, params) {\n return applyMethod(this, 'max', value, params);\n },\n length(value, params) {\n return applyMethod(this, 'length', value, params);\n },\n nonEmpty(params) {\n const column = this as Column;\n const cloned = setDataValue(column, 'nonEmpty', true, params) as Column;\n cloned.inputSchema = column.inputSchema.nonempty(params);\n cloned.outputSchema = column.outputSchema.nonempty(params);\n cloned.querySchema = column.querySchema.nonempty(params);\n return cloned as never;\n },\n};\n\ninterface ZodArrayColumn<Item extends ArrayColumnValue>\n extends\n ArrayColumn<\n ZodSchemaConfig,\n Item,\n ZodArray<Item['inputSchema']>,\n ZodArray<Item['outputSchema']>,\n ZodArray<Item['querySchema']>\n >,\n ArrayMethods<number> {}\n\nclass ZodArrayColumn<Item extends ArrayColumnValue> extends ArrayColumn<\n ZodSchemaConfig,\n Item,\n ZodArray<Item['inputSchema']>,\n ZodArray<Item['outputSchema']>,\n ZodArray<Item['querySchema']>\n> {\n constructor(item: Item) {\n super(zodSchemaConfig, item, z.array(item.inputSchema));\n }\n}\n\nObject.assign(ZodArrayColumn.prototype, arrayMethods);\n\ninterface NumberMethods {\n lt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n lte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n max<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n gt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n gte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n min<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n positive<T>(this: T, params?: Column.Error.StringOrMessage): T;\n nonNegative<T>(this: T, params?: Column.Error.StringOrMessage): T;\n negative<T>(this: T, params?: Column.Error.StringOrMessage): T;\n nonPositive<T>(this: T, params?: Column.Error.StringOrMessage): T;\n step<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;\n int<T>(this: T, params?: Column.Error.StringOrMessage): T;\n finite<T>(this: T, params?: Column.Error.StringOrMessage): T;\n safe<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst numberMethods: NumberMethods = {\n // Require a value to be lower than a given number\n lt(value, params) {\n return applyMethod(this, 'lt', value, params);\n },\n\n // Require a value to be lower than or equal to a given number (the same as `max`)\n lte(value, params) {\n return applyMethod(this, 'lte', value, params);\n },\n\n // Require a value to be lower than or equal to a given number\n max(value, params) {\n return applyMethod(this, 'lte', value, params);\n },\n\n // Require a value to be greater than a given number\n gt(value, params) {\n return applyMethod(this, 'gt', value, params);\n },\n\n // Require a value to be greater than or equal to a given number (the same as `min`)\n gte(value, params) {\n return applyMethod(this, 'gte', value, params);\n },\n\n // Require a value to be greater than or equal to a given number\n min(value, params) {\n return applyMethod(this, 'gte', value, params);\n },\n\n // Require a value to be greater than 0\n positive(params) {\n return applyMethod(this, 'gt', 0, params);\n },\n\n // Require a value to be greater than or equal to 0\n nonNegative(params) {\n return applyMethod(this, 'gte', 0, params);\n },\n\n // Require a value to be lower than 0\n negative(params) {\n return applyMethod(this, 'lt', 0, params);\n },\n\n // Require a value to be lower than or equal to 0\n nonPositive(params) {\n return applyMethod(this, 'lte', 0, params);\n },\n\n // Require a value to be a multiple of a given number\n step(value, params) {\n return applyMethod(this, 'step', value, params);\n },\n\n // Require a value to be an integer\n int(params) {\n return applySimpleMethod(this, 'int', params);\n },\n\n // Exclude `Infinity` from being a valid value\n finite(params) {\n return applySimpleMethod(this, 'finite', params);\n },\n\n // Require the value to be less than or equal to Number.MAX_SAFE_INTEGER\n safe(params) {\n return applySimpleMethod(this, 'safe', params);\n },\n};\n\ninterface SmallIntColumnZod\n extends SmallIntColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass SmallIntColumnZod extends SmallIntColumn<ZodSchemaConfig> {}\nObject.assign(SmallIntColumnZod.prototype, numberMethods);\n\ninterface IntegerColumnZod\n extends IntegerColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass IntegerColumnZod extends IntegerColumn<ZodSchemaConfig> {}\nObject.assign(IntegerColumnZod.prototype, numberMethods);\n\ninterface RealColumnZod extends RealColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass RealColumnZod extends RealColumn<ZodSchemaConfig> {}\nObject.assign(RealColumnZod.prototype, numberMethods);\n\ninterface SmallSerialColumnZod\n extends SmallSerialColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass SmallSerialColumnZod extends SmallSerialColumn<ZodSchemaConfig> {}\nObject.assign(SmallSerialColumnZod.prototype, numberMethods);\n\ninterface SerialColumnZod\n extends SerialColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass SerialColumnZod extends SerialColumn<ZodSchemaConfig> {}\nObject.assign(SerialColumnZod.prototype, numberMethods);\n\ninterface StringMethods extends ArrayMethods<number> {\n // Check a value to be a valid email\n email<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid url\n url<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be an emoji\n emoji<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid uuid\n uuid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid cuid\n cuid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid cuid2\n cuid2<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to be a valid ulid\n ulid<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Validate the value over the given regular expression\n regex<T>(this: T, value: RegExp, params?: Column.Error.StringOrMessage): T;\n\n // Check a value to include a given string\n includes<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value to start with a given string\n startsWith<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value to end with a given string\n endsWith<T, Value extends string>(\n this: T,\n value: Value,\n params?: Column.Error.StringOrMessage,\n ): T;\n\n // Check a value have a valid datetime string\n datetime<T>(\n this: T,\n params?: StringData['datetime'] &\n Exclude<Column.Error.StringOrMessage, string>,\n ): T;\n\n // Check a value to be a valid ipv4 address\n ipv4<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;\n\n // Check a value to be a valid ipv6 address\n ipv6<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;\n\n // Trim the value during a validation\n trim<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Transform value to a lower case during a validation\n toLowerCase<T>(this: T, params?: Column.Error.StringOrMessage): T;\n\n // Transform value to an upper case during a validation\n toUpperCase<T>(this: T, params?: Column.Error.StringOrMessage): T;\n}\n\nconst stringMethods: StringMethods = {\n ...(arrayMethods as unknown as ArrayMethods<number>),\n\n email(params) {\n return applySimpleMethod(this, 'email', params);\n },\n\n url(params) {\n return applySimpleMethod(this, 'url', params);\n },\n\n emoji(params) {\n return applySimpleMethod(this, 'emoji', params);\n },\n\n uuid(params) {\n return applySimpleMethod(this, 'uuid', params);\n },\n\n cuid(params) {\n return applySimpleMethod(this, 'cuid', params);\n },\n\n cuid2(params) {\n return applySimpleMethod(this, 'cuid2', params);\n },\n\n ulid(params) {\n return applySimpleMethod(this, 'ulid', params);\n },\n\n regex(value, params) {\n return applyMethod(this, 'regex', value, params);\n },\n\n includes(value, params) {\n return applyMethod(this, 'includes', value, params);\n },\n\n startsWith(value, params) {\n return applyMethod(this, 'startsWith', value, params);\n },\n\n endsWith(value, params) {\n return applyMethod(this, 'endsWith', value, params);\n },\n\n datetime(params = {}) {\n return applyMethod(this, 'datetime', params, params);\n },\n\n ipv4(params) {\n return applyMethod(this, 'ipv4', params, params);\n },\n\n ipv6(params) {\n return applyMethod(this, 'ipv6', params, params);\n },\n\n trim(params) {\n return applySimpleMethod(this, 'trim', params);\n },\n\n toLowerCase(params) {\n return applySimpleMethod(this, 'toLowerCase', params);\n },\n\n toUpperCase(params) {\n return applySimpleMethod(this, 'toUpperCase', params);\n },\n};\n\ninterface BigIntColumnZod\n extends BigIntColumn<ZodSchemaConfig>, StringMethods {}\n\nclass BigIntColumnZod extends BigIntColumn<ZodSchemaConfig> {}\nObject.assign(BigIntColumnZod.prototype, stringMethods);\n\ninterface DecimalColumnZod\n extends DecimalColumn<ZodSchemaConfig>, StringMethods {}\n\nclass DecimalColumnZod extends DecimalColumn<ZodSchemaConfig> {}\nObject.assign(DecimalColumnZod.prototype, stringMethods);\n\ninterface DoublePrecisionColumnZod\n extends DoublePrecisionColumn<ZodSchemaConfig>, StringMethods {}\n\nclass DoublePrecisionColumnZod extends DoublePrecisionColumn<ZodSchemaConfig> {}\nObject.assign(DoublePrecisionColumnZod.prototype, stringMethods);\n\ninterface BigSerialColumnZod\n extends BigSerialColumn<ZodSchemaConfig>, StringMethods {}\n\nclass BigSerialColumnZod extends BigSerialColumn<ZodSchemaConfig> {}\nObject.assign(BigSerialColumnZod.prototype, stringMethods);\n\ninterface MoneyColumnZod extends MoneyColumn<ZodSchemaConfig>, NumberMethods {}\n\nclass MoneyColumnZod extends MoneyColumn<ZodSchemaConfig> {}\nObject.assign(MoneyColumnZod.prototype, numberMethods);\n\ninterface VarCharColumnZod\n extends VarCharColumn<ZodSchemaConfig>, StringMethods {}\n\nclass VarCharColumnZod extends VarCharColumn<ZodSchemaConfig> {}\nObject.assign(VarCharColumnZod.prototype, stringMethods);\n\ninterface TextColumnZod extends TextColumn<ZodSchemaConfig>, StringMethods {}\n\nclass TextColumnZod extends TextColumn<ZodSchemaConfig> {}\nObject.assign(TextColumnZod.prototype, stringMethods);\n\ninterface StringColumnZod\n extends StringColumn<ZodSchemaConfig>, StringMethods {}\n\nclass StringColumnZod extends StringColumn<ZodSchemaConfig> {}\nObject.assign(StringColumnZod.prototype, stringMethods);\n\ninterface CitextColumnZod\n extends CitextColumn<ZodSchemaConfig>, StringMethods {}\n\nclass CitextColumnZod extends CitextColumn<ZodSchemaConfig> {}\nObject.assign(CitextColumnZod.prototype, stringMethods);\n\ninterface DateMethods {\n // Require a value to be greater than or equal to a given Date object\n min<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;\n\n // Require a value to be lower than or equal to a given Date object\n max<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;\n}\n\nconst dateMethods: DateMethods = {\n min(value, params) {\n return applyMethod(this, 'min', value, params);\n },\n max(value, params) {\n return applyMethod(this, 'max', value, params);\n },\n};\n\ninterface DateColumnZod extends DateColumn<ZodSchemaConfig>, DateMethods {}\n\nclass DateColumnZod extends DateColumn<ZodSchemaConfig> {}\nObject.assign(DateColumnZod.prototype, dateMethods);\n\ninterface TimestampNoTzColumnZod\n extends TimestampColumn<ZodSchemaConfig>, DateMethods {}\n\nclass TimestampNoTzColumnZod extends TimestampColumn<ZodSchemaConfig> {}\nObject.assign(TimestampNoTzColumnZod.prototype, dateMethods);\n\ninterface TimestampColumnZod\n extends TimestampTZColumn<ZodSchemaConfig>, DateMethods {}\n\nclass TimestampColumnZod extends TimestampTZColumn<ZodSchemaConfig> {}\nObject.assign(TimestampColumnZod.prototype, dateMethods);\n\ntype PointSchemaZod = ZodObject<{\n srid: ZodOptional<ZodNumber>;\n lon: ZodNumber;\n lat: ZodNumber;\n}>;\n\nlet pointSchema: PointSchemaZod | undefined;\n\nexport interface BareZodType {\n _output: unknown;\n}\n\nexport interface ZodSchemaConfig {\n type: ZodTypeAny;\n\n parse<\n T extends Column.Pick.ForParse,\n OutputSchema extends ZodTypeAny,\n Output = OutputSchema['_output'],\n >(\n this: T,\n _schema: OutputSchema,\n fn: (input: T['type']) => Output,\n ): Column.Modifiers.Parse<T, OutputSchema, Output>;\n\n parseNull<\n T extends Column.Pick.ForParseNull,\n NullSchema extends ZodTypeAny,\n NullType = NullSchema['_output'],\n >(\n this: T,\n _schema: NullSchema,\n fn: () => NullType,\n ): Column.Modifiers.ParseNull<T, NullSchema, NullType>;\n\n encode<\n T extends { type: unknown },\n InputSchema extends ZodTypeAny,\n Input = InputSchema['_output'],\n >(\n this: T,\n _schema: InputSchema,\n fn: (input: Input) => unknown,\n ): Column.Modifiers.Encode<T, InputSchema, Input>;\n\n /**\n * @deprecated use narrowType instead\n */\n asType<\n T,\n Types extends Column.AsTypeArg<ZodTypeAny>,\n TypeSchema extends ZodTypeAny = Types extends { type: ZodTypeAny }\n ? Types['type']\n : never,\n Type = TypeSchema['_output'],\n >(\n this: T,\n types: Types,\n ): {\n [K in keyof T]: K extends 'type'\n ? Type\n : K extends 'inputType'\n ? Types['input'] extends ZodTypeAny\n ? Types['input']['_output']\n : Type\n : K extends 'inputSchema'\n ? Types['input'] extends ZodTypeAny\n ? Types['input']\n : TypeSchema\n : K extends 'outputType'\n ? Types['output'] extends ZodTypeAny\n ? Types['output']['_output']\n : Type\n : K extends 'outputSchema'\n ? Types['output'] extends ZodTypeAny\n ? Types['output']\n : TypeSchema\n : K extends 'queryType'\n ? Types['query'] extends ZodTypeAny\n ? Types['query']['_output']\n : Type\n : K extends 'querySchema'\n ? Types['query'] extends ZodTypeAny\n ? Types['query']\n : TypeSchema\n : T[K];\n };\n\n narrowType<\n T extends Column.InputOutputQueryTypesWithSchemas,\n Type extends {\n _output: T['inputType'] extends never\n ? T['outputType'] & T['queryType']\n : T['inputType'] & T['outputType'] & T['queryType'];\n },\n >(\n this: T,\n type: Type,\n ): {\n [K in keyof T]: K extends 'inputType'\n ? T['inputType'] extends never\n ? never\n : Type['_output']\n : K extends 'outputType' | 'queryType'\n ? Type['_output']\n : K extends 'inputSchema'\n ? T['inputType'] extends never\n ? ZodNever\n : Type\n : K extends 'outputSchema' | 'querySchema'\n ? Type\n : T[K];\n };\n\n narrowAllTypes<\n T extends Column.InputOutputQueryTypesWithSchemas,\n Types extends {\n input?: { _output: T['inputType'] };\n output?: { _output: T['outputType'] };\n query?: { _output: T['queryType'] };\n },\n >(\n this: T,\n types: Types,\n ): {\n [K in keyof T]: K extends 'inputType'\n ? Types['input'] extends BareZodType\n ? Types['input']['_output']\n : T['inputType']\n : K extends 'inputSchema'\n ? Types['input'] extends BareZodType\n ? Types['input']\n : T['inputSchema']\n : K extends 'outputType'\n ? Types['output'] extends BareZodType\n ? Types['output']['_output']\n : T['outputType']\n : K extends 'outputSchema'\n ? Types['output'] extends BareZodType\n ? Types['output']\n : T['outputSchema']\n : K extends 'queryType'\n ? Types['query'] extends BareZodType\n ? Types['query']['_output']\n : T['queryType']\n : K extends 'querySchema'\n ? Types['query'] extends BareZodType\n ? Types['query']\n : T['querySchema']\n : T[K];\n };\n\n dateAsNumber<T extends Column<ZodSchemaConfig>>(\n this: T,\n ): Column.Modifiers.Parse<T, ZodNumber, number>;\n\n dateAsDate<T extends Column<ZodSchemaConfig>>(\n this: T,\n ): Column.Modifiers.Parse<T, ZodDate, Date>;\n\n enum<T extends readonly string[]>(\n dataType: string,\n type: T,\n ): EnumColumn<ZodSchemaConfig, ZodEnum<{ [K in T[number]]: K }>, T>;\n\n array<Item extends ArrayColumnValue>(item: Item): ZodArrayColumn<Item>;\n\n nullable<T extends Column.Pick.ForNullable>(\n this: T,\n ): Column.Modifiers.Nullable<\n T,\n ZodNullable<T['inputSchema']>,\n T['nullSchema'] extends ZodTypeAny\n ? ZodUnion<[T['outputSchema'], T['nullSchema']]>\n : ZodNullable<T['outputSchema']>,\n ZodNullable<T['querySchema']>\n >;\n\n json<ZodSchema extends ZodTypeAny = ZodUnknown>(\n schema?: ZodSchema,\n ): ZodJSONColumn<ZodSchema>;\n\n boolean(): ZodBoolean;\n buffer(): ZodType<Buffer>;\n unknown(): ZodUnknown;\n never(): ZodNever;\n stringSchema(): ZodString;\n stringMin(max: number): ZodString;\n stringMax(max: number): ZodString;\n stringMinMax(min: number, max: number): ZodString;\n number(): ZodNumber;\n int(): ZodNumber;\n stringNumberDate(): ZodDate;\n timeInterval(): ZodObject<{\n years: ZodOptional<ZodNumber>;\n months: ZodOptional<ZodNumber>;\n days: ZodOptional<ZodNumber>;\n hours: ZodOptional<ZodNumber>;\n minutes: ZodOptional<ZodNumber>;\n seconds: ZodOptional<ZodNumber>;\n }>;\n bit(max: number): ZodString;\n uuid(): ZodString;\n\n inputSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): MapSchema<T, 'inputSchema'>;\n\n outputSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): MapSchema<T, 'outputSchema'>;\n\n querySchema<T extends ColumnSchemaGetterTableClass>(this: T): QuerySchema<T>;\n\n createSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): CreateSchema<T>;\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(\n this: T,\n ): UpdateSchema<T>;\n\n pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T): PkeySchema<T>;\n\n error<T>(this: T, error: Column.Error.Messages): T;\n\n smallint(): SmallIntColumnZod;\n integer(): IntegerColumnZod;\n real(): RealColumnZod;\n smallSerial(): SmallSerialColumnZod;\n serial(): SerialColumnZod;\n\n bigint(): BigIntColumnZod;\n decimal(precision?: number, scale?: number): DecimalColumnZod;\n doublePrecision(): DoublePrecisionColumnZod;\n bigSerial(): BigSerialColumnZod;\n money(): MoneyColumnZod;\n varchar(limit?: number): VarCharColumnZod;\n text(): TextColumnZod;\n string(limit?: number): StringColumnZod;\n citext(): CitextColumnZod;\n\n date(): DateColumnZod;\n timestampNoTZ(precision?: number): TimestampNoTzColumnZod;\n timestamp(precision?: number): TimestampColumnZod;\n\n geographyPointSchema(): PointSchemaZod;\n}\n\n// parse a date string to date object, with respect to null\nconst parseDateToDate = (value: unknown) => new Date(value as string);\n\nexport const zodSchemaConfig: ZodSchemaConfig = {\n type: undefined as unknown as ZodTypeAny,\n parse(schema, fn) {\n return setColumnParse(this as never, fn, schema);\n },\n parseNull(schema, fn) {\n return setColumnParseNull(this as never, fn, schema);\n },\n encode(schema, fn) {\n return setColumnEncode(this as never, fn, schema);\n },\n asType(_types) {\n return this as never;\n },\n narrowType(type) {\n const c = Object.create(this);\n if ((c as Column.Pick.Data).data.generated) {\n c.outputSchema = c.querySchema = type;\n } else {\n c.inputSchema = c.outputSchema = c.querySchema = type;\n }\n return c as never;\n },\n narrowAllTypes(types) {\n const c = Object.create(this);\n if (types.input) {\n c.inputSchema = types.input;\n }\n if (types.output) {\n c.outputSchema = types.output;\n }\n if (types.query) {\n c.querySchema = types.query;\n }\n return c as never;\n },\n dateAsNumber() {\n return this.parse(z.number(), Date.parse as never) as never;\n },\n dateAsDate() {\n return this.parse(z.date(), parseDateToDate) as never;\n },\n enum(dataType, type) {\n return new EnumColumn(\n zodSchemaConfig,\n dataType,\n Object.values(type),\n z.enum(type),\n ) as never;\n },\n array(item) {\n return new ZodArrayColumn(item);\n },\n nullable() {\n return makeColumnNullable(\n this as never,\n z.nullable(this.inputSchema),\n this.nullSchema\n ? this.outputSchema.or(this.nullSchema)\n : z.nullable(this.outputSchema),\n z.nullable(this.querySchema),\n ) as never;\n },\n json<ZodSchema extends ZodTypeAny = ZodUnknown>(schema?: ZodSchema) {\n return new ZodJSONColumn((schema ?? z.unknown()) as ZodSchema);\n },\n boolean: () => z.boolean(),\n buffer: () => z.instanceof(Buffer),\n unknown: () => z.unknown(),\n never: () => z.never(),\n stringSchema: () => z.string(),\n stringMin(min) {\n return z.string().min(min);\n },\n stringMax(max) {\n return z.string().max(max);\n },\n stringMinMax(min, max) {\n return z.string().min(min).max(max);\n },\n number: () => z.number(),\n int: () => z.number().int(),\n\n stringNumberDate: () => z.coerce.date(),\n\n timeInterval: () =>\n z.object({\n years: z.number().optional(),\n months: z.number().optional(),\n days: z.number().optional(),\n hours: z.number().optional(),\n minutes: z.number().optional(),\n seconds: z.number().optional(),\n }),\n\n bit: (max?: number) =>\n (max ? z.string().max(max) : z.string()).regex(/[10]/g),\n\n uuid: () => z.string().uuid(),\n\n inputSchema() {\n return mapSchema(this, 'inputSchema');\n },\n\n outputSchema() {\n return mapSchema(this, 'outputSchema');\n },\n\n querySchema() {\n const shape: RecordUnknown = {};\n const { shape: columns } = this.prototype.columns;\n\n for (const key in columns) {\n const column = columns[key] as Column;\n if (columns[key].dataType) {\n shape[key] = column.querySchema.optional();\n }\n }\n\n return z.object(shape) as never;\n },\n\n createSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n const input = this.inputSchema() as ZodObject<ZodRawShape>;\n\n const shape: ZodShape = {};\n const { shape: columns } = this.prototype.columns;\n\n for (const key in columns) {\n const column = columns[key];\n if (column.dataType && !column.data.primaryKey) {\n shape[key] = input.shape[key];\n\n if (column.data.isNullable || column.data.default !== undefined) {\n shape[key] = optional(shape[key]);\n }\n }\n }\n\n return z.object(shape) as unknown as CreateSchema<T>;\n },\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n return (this.createSchema() as ZodObject<ZodRawShape>).partial() as never;\n },\n\n pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n const pkeys: Record<string, true> = {};\n\n const {\n columns: { shape },\n } = this.prototype;\n for (const key in shape) {\n if (shape[key].dataType && shape[key].data.primaryKey) {\n pkeys[key] = true;\n }\n }\n\n return (this.querySchema() as ZodObject<ZodRawShape>)\n .pick(pkeys)\n .required() as never;\n },\n\n /**\n * `error` allows to specify two following validation messages:\n *\n * ```ts\n * t.text().error({\n * required: 'This column is required',\n * invalidType: 'This column must be an integer',\n * });\n * ```\n *\n * It will be converted into `Zod`'s messages:\n *\n * ```ts\n * z.string({\n * required_error: 'This column is required',\n * invalid_type_error: 'This column must be an integer',\n * });\n * ```\n *\n * Each validation method can accept an error message as a string:\n *\n * ```ts\n * t.text().min(5, 'Must be 5 or more characters long');\n * t.text().max(5, 'Must be 5 or fewer characters long');\n * t.text().length(5, 'Must be exactly 5 characters long');\n * t.text().email('Invalid email address');\n * t.text().url('Invalid url');\n * t.text().emoji('Contains non-emoji characters');\n * t.text().uuid('Invalid UUID');\n * t.text().includes('tuna', 'Must include tuna');\n * t.text().startsWith('https://', 'Must provide secure URL');\n * t.text().endsWith('.com', 'Only .com domains allowed');\n * ```\n *\n * Except for `text().datetime()` and `text().ip()`:\n *\n * these methods can have their own parameters, so the error message is passed in object.\n *\n * ```ts\n * t.text().datetime({ message: 'Invalid datetime string! Must be UTC.' });\n * t.text().ip({ message: 'Invalid IP address' });\n * ```\n *\n * Error messages are supported for a JSON schema as well:\n *\n * ```ts\n * t.json((j) =>\n * j.object({\n * one: j\n * .string()\n * .error({ required: 'One is required' })\n * .min(5, 'Must be 5 or more characters long'),\n * two: j\n * .string()\n * .error({ invalidType: 'Two should be a string' })\n * .max(5, 'Must be 5 or fewer characters long'),\n * three: j.string().length(5, 'Must be exactly 5 characters long'),\n * }),\n * );\n * ```\n *\n * @param errors - object, key is either 'required' or 'invalidType', value is an error message\n */\n error(errors) {\n const c = this as Column;\n const { errors: old } = c.data;\n const newErrors = old ? { ...old, ...errors } : errors;\n const { required, invalidType } = newErrors;\n\n const errorMap: $ZodErrorMap = (iss) => {\n if (iss.code === 'invalid_type') {\n return iss.input === undefined ? required : invalidType;\n }\n // not sure if this is correct to return undefined for other errors,\n // let's wait for an issue.\n return;\n };\n\n (c.inputSchema as ZodTypeAny).def.error =\n (c.outputSchema as ZodTypeAny).def.error =\n (c.querySchema as ZodTypeAny).def.error =\n errorMap;\n\n return setColumnData(c, 'errors', newErrors as never) as never;\n },\n\n smallint: () => new SmallIntColumnZod(zodSchemaConfig),\n integer: () => new IntegerColumnZod(zodSchemaConfig),\n real: () => new RealColumnZod(zodSchemaConfig),\n smallSerial: () => new SmallSerialColumnZod(zodSchemaConfig),\n serial: () => new SerialColumnZod(zodSchemaConfig),\n\n bigint: () => new BigIntColumnZod(zodSchemaConfig),\n decimal: (precision, scale) =>\n new DecimalColumnZod(zodSchemaConfig, precision, scale),\n doublePrecision: () => new DoublePrecisionColumnZod(zodSchemaConfig),\n bigSerial: () => new BigSerialColumnZod(zodSchemaConfig),\n money: () => new MoneyColumnZod(zodSchemaConfig),\n varchar: (limit) => new VarCharColumnZod(zodSchemaConfig, limit),\n text: () => new TextColumnZod(zodSchemaConfig),\n string: (limit) => new StringColumnZod(zodSchemaConfig, limit),\n citext: () => new CitextColumnZod(zodSchemaConfig),\n\n date: () => new DateColumnZod(zodSchemaConfig),\n timestampNoTZ: (precision) =>\n new TimestampNoTzColumnZod(zodSchemaConfig, precision),\n timestamp: (precision) => new TimestampColumnZod(zodSchemaConfig, precision),\n\n geographyPointSchema: () =>\n (pointSchema ??= z.object({\n srid: z.number().optional(),\n lon: z.number(),\n lat: z.number(),\n })),\n};\n\ntype MapSchema<\n T extends ColumnSchemaGetterTableClass,\n Key extends 'inputSchema' | 'outputSchema' | 'querySchema',\n> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ColumnSchemaGetterColumns<T>[K][Key];\n },\n core.$strict\n>;\n\ntype QuerySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ZodOptional<\n ColumnSchemaGetterColumns<T>[K]['querySchema']\n >;\n },\n core.$strict\n>;\n\ntype CreateSchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? never\n : K]: ColumnSchemaGetterColumns<T>[K]['data']['isNullable'] extends true\n ? ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>\n : undefined extends ColumnSchemaGetterColumns<T>[K]['data']['default']\n ? ColumnSchemaGetterColumns<T>[K]['inputSchema']\n : ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>;\n },\n core.$strict\n>;\n\ntype UpdateSchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? never\n : K]: ZodOptional<ColumnSchemaGetterColumns<T>[K]['inputSchema']>;\n },\n core.$strict\n>;\n\ntype PkeySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T> as ColumnSchemaGetterColumns<T>[K]['data']['primaryKey'] extends string\n ? K\n : never]: ColumnSchemaGetterColumns<T>[K]['inputSchema'];\n },\n core.$strict\n>;\n\nfunction mapSchema<\n T extends ColumnSchemaGetterTableClass,\n Key extends 'inputSchema' | 'outputSchema' | 'querySchema',\n>(klass: T, schemaKey: Key): MapSchema<T, Key> {\n const shape: ZodShape = {};\n const { shape: columns } = klass.prototype.columns;\n\n for (const key in columns) {\n if (columns[key].dataType) {\n shape[key] = columns[key][schemaKey];\n }\n }\n\n return z.object(shape) as MapSchema<T, Key>;\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orchid-orm-schema-to-zod",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.71",
|
|
4
4
|
"description": "Orchid-ORM columns schema to Zod converter",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"orchid-orm",
|
|
7
|
+
"query-builder",
|
|
8
|
+
"schema",
|
|
9
|
+
"zod"
|
|
10
|
+
],
|
|
5
11
|
"homepage": "https://orchid-orm.netlify.app/guide/columns-validation-methods.html",
|
|
12
|
+
"license": "ISC",
|
|
13
|
+
"author": "Roman Kushyn",
|
|
6
14
|
"repository": {
|
|
7
15
|
"type": "git",
|
|
8
16
|
"url": "https://github.com/romeerez/orchid-orm.git",
|
|
9
17
|
"directory": "packages/schemaConfigs/zod"
|
|
10
18
|
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
11
22
|
"main": "dist/index.js",
|
|
12
23
|
"module": "dist/index.mjs",
|
|
13
24
|
"typings": "dist/index.d.ts",
|
|
@@ -18,29 +29,22 @@
|
|
|
18
29
|
"types": "./dist/index.d.ts"
|
|
19
30
|
}
|
|
20
31
|
},
|
|
21
|
-
"files": [
|
|
22
|
-
"dist"
|
|
23
|
-
],
|
|
24
|
-
"keywords": [
|
|
25
|
-
"orchid-orm",
|
|
26
|
-
"query-builder",
|
|
27
|
-
"schema",
|
|
28
|
-
"zod"
|
|
29
|
-
],
|
|
30
|
-
"author": "Roman Kushyn",
|
|
31
|
-
"license": "ISC",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"zod": "
|
|
34
|
-
"pqb": "0.
|
|
33
|
+
"zod": "4.*",
|
|
34
|
+
"pqb": "0.62.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"test-utils": "0.3.
|
|
37
|
+
"test-utils": "0.3.6"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"test": "jest --watch --verbose false",
|
|
41
41
|
"check": "jest",
|
|
42
42
|
"types": "tsc",
|
|
43
43
|
"test:ci": "jest --coverage --coverageReporters json-summary",
|
|
44
|
-
"build": "rimraf dist && rollup -c ../../../rollup.config.mjs"
|
|
44
|
+
"build": "rimraf dist && rollup -c ../../../rollup.config.mjs",
|
|
45
|
+
"lint": "oxlint --fix",
|
|
46
|
+
"lint:check": "oxlint",
|
|
47
|
+
"fmt": "oxfmt",
|
|
48
|
+
"fmt:check": "oxfmt --check"
|
|
45
49
|
}
|
|
46
50
|
}
|