orchid-orm-schema-to-zod 1.0.38 → 1.0.39

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 CHANGED
@@ -1,4 +1,4 @@
1
- import { ColumnTypeBase, ParseColumn, ParseNullColumn, EncodeColumn, AsTypeArg, ColumnInputOutputQueryTypesWithSchemas, ColumnType, EnumColumn, ArrayColumnValue, NullableColumn, ColumnSchemaGetterTableClass, ErrorMessages, ColumnSchemaGetterColumns, JSONColumn, ArrayColumn, SmallIntColumn, IntegerColumn, RealColumn, SmallSerialColumn, SerialColumn, BigIntColumn, DecimalColumn, DoublePrecisionColumn, BigSerialColumn, MoneyColumn, VarCharColumn, TextColumn, StringColumn, CitextColumn, DateColumn, TimestampColumn, TimestampTZColumn, ErrorMessage, StringTypeData } from 'pqb';
1
+ import { Column, EnumColumn, ArrayColumnValue, ColumnSchemaGetterTableClass, ColumnSchemaGetterColumns, JSONColumn, ArrayColumn, SmallIntColumn, IntegerColumn, RealColumn, SmallSerialColumn, SerialColumn, BigIntColumn, DecimalColumn, DoublePrecisionColumn, BigSerialColumn, MoneyColumn, VarCharColumn, TextColumn, StringColumn, CitextColumn, DateColumn, TimestampColumn, TimestampTZColumn, StringData } from 'pqb';
2
2
  import { ZodTypeAny, ZodNever, ZodNumber, ZodDate, ZodEnum, ZodNullable, ZodUnion, ZodUnknown, ZodBoolean, ZodType, ZodString, ZodObject, ZodOptional, core, ZodArray } from 'zod/v4';
3
3
  import { ToEnum } from 'zod/v4/core/util';
4
4
 
@@ -6,10 +6,10 @@ declare class ZodJSONColumn<ZodSchema extends ZodTypeAny> extends JSONColumn<Zod
6
6
  constructor(schema: ZodSchema);
7
7
  }
8
8
  interface ArrayMethods<Value> {
9
- min<T extends ColumnTypeBase>(this: T, value: Value, params?: ErrorMessage): T;
10
- max<T extends ColumnTypeBase>(this: T, value: Value, params?: ErrorMessage): T;
11
- length<T extends ColumnTypeBase>(this: T, value: Value, params?: ErrorMessage): T;
12
- nonEmpty<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
9
+ min<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;
10
+ max<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;
11
+ length<T>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;
12
+ nonEmpty<T>(this: T, params?: Column.Error.StringOrMessage): T;
13
13
  }
14
14
  interface ZodArrayColumn<Item extends ArrayColumnValue> extends ArrayColumn<ZodSchemaConfig, Item, ZodArray<Item['inputSchema']>, ZodArray<Item['outputSchema']>, ZodArray<Item['querySchema']>>, ArrayMethods<number> {
15
15
  }
@@ -17,20 +17,20 @@ declare class ZodArrayColumn<Item extends ArrayColumnValue> extends ArrayColumn<
17
17
  constructor(item: Item);
18
18
  }
19
19
  interface NumberMethods {
20
- lt<T extends ColumnTypeBase>(this: T, value: number, params?: ErrorMessage): T;
21
- lte<T extends ColumnTypeBase>(this: T, value: number, params?: ErrorMessage): T;
22
- max<T extends ColumnTypeBase>(this: T, value: number, params?: ErrorMessage): T;
23
- gt<T extends ColumnTypeBase>(this: T, value: number, params?: ErrorMessage): T;
24
- gte<T extends ColumnTypeBase>(this: T, value: number, params?: ErrorMessage): T;
25
- min<T extends ColumnTypeBase>(this: T, value: number, params?: ErrorMessage): T;
26
- positive<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
27
- nonNegative<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
28
- negative<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
29
- nonPositive<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
30
- step<T extends ColumnTypeBase>(this: T, value: number, params?: ErrorMessage): T;
31
- int<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
32
- finite<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
33
- safe<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
20
+ lt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;
21
+ lte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;
22
+ max<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;
23
+ gt<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;
24
+ gte<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;
25
+ min<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;
26
+ positive<T>(this: T, params?: Column.Error.StringOrMessage): T;
27
+ nonNegative<T>(this: T, params?: Column.Error.StringOrMessage): T;
28
+ negative<T>(this: T, params?: Column.Error.StringOrMessage): T;
29
+ nonPositive<T>(this: T, params?: Column.Error.StringOrMessage): T;
30
+ step<T>(this: T, value: number, params?: Column.Error.StringOrMessage): T;
31
+ int<T>(this: T, params?: Column.Error.StringOrMessage): T;
32
+ finite<T>(this: T, params?: Column.Error.StringOrMessage): T;
33
+ safe<T>(this: T, params?: Column.Error.StringOrMessage): T;
34
34
  }
35
35
  interface SmallIntColumnZod extends SmallIntColumn<ZodSchemaConfig>, NumberMethods {
36
36
  }
@@ -53,23 +53,23 @@ interface SerialColumnZod extends SerialColumn<ZodSchemaConfig>, NumberMethods {
53
53
  declare class SerialColumnZod extends SerialColumn<ZodSchemaConfig> {
54
54
  }
55
55
  interface StringMethods extends ArrayMethods<number> {
56
- email<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
57
- url<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
58
- emoji<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
59
- uuid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
60
- cuid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
61
- cuid2<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
62
- ulid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
63
- regex<T extends ColumnTypeBase>(this: T, value: RegExp, params?: ErrorMessage): T;
64
- includes<T extends ColumnTypeBase, Value extends string>(this: T, value: Value, params?: ErrorMessage): T;
65
- startsWith<T extends ColumnTypeBase, Value extends string>(this: T, value: Value, params?: ErrorMessage): T;
66
- endsWith<T extends ColumnTypeBase, Value extends string>(this: T, value: Value, params?: ErrorMessage): T;
67
- datetime<T extends ColumnTypeBase>(this: T, params?: StringTypeData['datetime'] & Exclude<ErrorMessage, string>): T;
68
- ipv4<T extends ColumnTypeBase>(this: T, params?: Exclude<ErrorMessage, string>): T;
69
- ipv6<T extends ColumnTypeBase>(this: T, params?: Exclude<ErrorMessage, string>): T;
70
- trim<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
71
- toLowerCase<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
72
- toUpperCase<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;
56
+ email<T>(this: T, params?: Column.Error.StringOrMessage): T;
57
+ url<T>(this: T, params?: Column.Error.StringOrMessage): T;
58
+ emoji<T>(this: T, params?: Column.Error.StringOrMessage): T;
59
+ uuid<T>(this: T, params?: Column.Error.StringOrMessage): T;
60
+ cuid<T>(this: T, params?: Column.Error.StringOrMessage): T;
61
+ cuid2<T>(this: T, params?: Column.Error.StringOrMessage): T;
62
+ ulid<T>(this: T, params?: Column.Error.StringOrMessage): T;
63
+ regex<T>(this: T, value: RegExp, params?: Column.Error.StringOrMessage): T;
64
+ includes<T, Value extends string>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;
65
+ startsWith<T, Value extends string>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;
66
+ endsWith<T, Value extends string>(this: T, value: Value, params?: Column.Error.StringOrMessage): T;
67
+ datetime<T>(this: T, params?: StringData['datetime'] & Exclude<Column.Error.StringOrMessage, string>): T;
68
+ ipv4<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;
69
+ ipv6<T>(this: T, params?: Exclude<Column.Error.StringOrMessage, string>): T;
70
+ trim<T>(this: T, params?: Column.Error.StringOrMessage): T;
71
+ toLowerCase<T>(this: T, params?: Column.Error.StringOrMessage): T;
72
+ toUpperCase<T>(this: T, params?: Column.Error.StringOrMessage): T;
73
73
  }
74
74
  interface BigIntColumnZod extends BigIntColumn<ZodSchemaConfig>, StringMethods {
75
75
  }
@@ -108,8 +108,8 @@ interface CitextColumnZod extends CitextColumn<ZodSchemaConfig>, StringMethods {
108
108
  declare class CitextColumnZod extends CitextColumn<ZodSchemaConfig> {
109
109
  }
110
110
  interface DateMethods {
111
- min<T extends ColumnTypeBase>(this: T, value: Date, params?: ErrorMessage): T;
112
- max<T extends ColumnTypeBase>(this: T, value: Date, params?: ErrorMessage): T;
111
+ min<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;
112
+ max<T>(this: T, value: Date, params?: Column.Error.StringOrMessage): T;
113
113
  }
114
114
  interface DateColumnZod extends DateColumn<ZodSchemaConfig>, DateMethods {
115
115
  }
@@ -133,25 +133,25 @@ interface BareZodType {
133
133
  }
134
134
  interface ZodSchemaConfig {
135
135
  type: ZodTypeAny;
136
- parse<T extends ColumnTypeBase, OutputSchema extends ZodTypeAny, Output = OutputSchema['_output']>(this: T, _schema: OutputSchema, fn: (input: T['type']) => Output): ParseColumn<T, OutputSchema, Output>;
137
- parseNull<T extends ColumnTypeBase, NullSchema extends ZodTypeAny, NullType = NullSchema['_output']>(this: T, _schema: NullSchema, fn: () => NullType): ParseNullColumn<T, NullSchema, NullType>;
136
+ parse<T extends Column.Pick.ForParse, OutputSchema extends ZodTypeAny, Output = OutputSchema['_output']>(this: T, _schema: OutputSchema, fn: (input: T['type']) => Output): Column.Modifiers.Parse<T, OutputSchema, Output>;
137
+ parseNull<T extends Column.Pick.ForParseNull, NullSchema extends ZodTypeAny, NullType = NullSchema['_output']>(this: T, _schema: NullSchema, fn: () => NullType): Column.Modifiers.ParseNull<T, NullSchema, NullType>;
138
138
  encode<T extends {
139
139
  type: unknown;
140
- }, InputSchema extends ZodTypeAny, Input = InputSchema['_output']>(this: T, _schema: InputSchema, fn: (input: Input) => unknown): EncodeColumn<T, InputSchema, Input>;
140
+ }, InputSchema extends ZodTypeAny, Input = InputSchema['_output']>(this: T, _schema: InputSchema, fn: (input: Input) => unknown): Column.Modifiers.Encode<T, InputSchema, Input>;
141
141
  /**
142
142
  * @deprecated use narrowType instead
143
143
  */
144
- asType<T, Types extends AsTypeArg<ZodTypeAny>, TypeSchema extends ZodTypeAny = Types extends {
144
+ asType<T, Types extends Column.AsTypeArg<ZodTypeAny>, TypeSchema extends ZodTypeAny = Types extends {
145
145
  type: ZodTypeAny;
146
146
  } ? Types['type'] : never, Type = TypeSchema['_output']>(this: T, types: Types): {
147
147
  [K in keyof T]: K extends 'type' ? Type : K extends 'inputType' ? Types['input'] extends ZodTypeAny ? Types['input']['_output'] : Type : K extends 'inputSchema' ? Types['input'] extends ZodTypeAny ? Types['input'] : TypeSchema : K extends 'outputType' ? Types['output'] extends ZodTypeAny ? Types['output']['_output'] : Type : K extends 'outputSchema' ? Types['output'] extends ZodTypeAny ? Types['output'] : TypeSchema : K extends 'queryType' ? Types['query'] extends ZodTypeAny ? Types['query']['_output'] : Type : K extends 'querySchema' ? Types['query'] extends ZodTypeAny ? Types['query'] : TypeSchema : T[K];
148
148
  };
149
- narrowType<T extends ColumnInputOutputQueryTypesWithSchemas, Type extends {
149
+ narrowType<T extends Column.InputOutputQueryTypesWithSchemas, Type extends {
150
150
  _output: T['inputType'] extends never ? T['outputType'] & T['queryType'] : T['inputType'] & T['outputType'] & T['queryType'];
151
151
  }>(this: T, type: Type): {
152
152
  [K in keyof T]: K extends 'inputType' ? T['inputType'] extends never ? never : Type['_output'] : K extends 'outputType' | 'queryType' ? Type['_output'] : K extends 'inputSchema' ? T['inputType'] extends never ? ZodNever : Type : K extends 'outputSchema' | 'querySchema' ? Type : T[K];
153
153
  };
154
- narrowAllTypes<T extends ColumnInputOutputQueryTypesWithSchemas, Types extends {
154
+ narrowAllTypes<T extends Column.InputOutputQueryTypesWithSchemas, Types extends {
155
155
  input?: {
156
156
  _output: T['inputType'];
157
157
  };
@@ -164,11 +164,11 @@ interface ZodSchemaConfig {
164
164
  }>(this: T, types: Types): {
165
165
  [K in keyof T]: K extends 'inputType' ? Types['input'] extends BareZodType ? Types['input']['_output'] : T['inputType'] : K extends 'inputSchema' ? Types['input'] extends BareZodType ? Types['input'] : T['inputSchema'] : K extends 'outputType' ? Types['output'] extends BareZodType ? Types['output']['_output'] : T['outputType'] : K extends 'outputSchema' ? Types['output'] extends BareZodType ? Types['output'] : T['outputSchema'] : K extends 'queryType' ? Types['query'] extends BareZodType ? Types['query']['_output'] : T['queryType'] : K extends 'querySchema' ? Types['query'] extends BareZodType ? Types['query'] : T['querySchema'] : T[K];
166
166
  };
167
- dateAsNumber<T extends ColumnType<ZodSchemaConfig>>(this: T): ParseColumn<T, ZodNumber, number>;
168
- dateAsDate<T extends ColumnType<ZodSchemaConfig>>(this: T): ParseColumn<T, ZodDate, Date>;
167
+ dateAsNumber<T extends Column<ZodSchemaConfig>>(this: T): Column.Modifiers.Parse<T, ZodNumber, number>;
168
+ dateAsDate<T extends Column<ZodSchemaConfig>>(this: T): Column.Modifiers.Parse<T, ZodDate, Date>;
169
169
  enum<T extends readonly string[]>(dataType: string, type: T): EnumColumn<ZodSchemaConfig, ZodEnum<ToEnum<T[number]>>, T>;
170
170
  array<Item extends ArrayColumnValue>(item: Item): ZodArrayColumn<Item>;
171
- nullable<T extends ColumnTypeBase>(this: T): NullableColumn<T, ZodNullable<T['inputSchema']>, T['nullSchema'] extends ZodTypeAny ? ZodUnion<[T['outputSchema'], T['nullSchema']]> : ZodNullable<T['outputSchema']>, ZodNullable<T['querySchema']>>;
171
+ 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
172
  json<ZodSchema extends ZodTypeAny = ZodUnknown>(schema?: ZodSchema): ZodJSONColumn<ZodSchema>;
173
173
  boolean(): ZodBoolean;
174
174
  buffer(): ZodType<Buffer>;
@@ -197,7 +197,7 @@ interface ZodSchemaConfig {
197
197
  createSchema<T extends ColumnSchemaGetterTableClass>(this: T): CreateSchema<T>;
198
198
  updateSchema<T extends ColumnSchemaGetterTableClass>(this: T): UpdateSchema<T>;
199
199
  pkeySchema<T extends ColumnSchemaGetterTableClass>(this: T): PkeySchema<T>;
200
- error<T extends ColumnTypeBase>(this: T, error: ErrorMessages): T;
200
+ error<T>(this: T, error: Column.Error.Messages): T;
201
201
  smallint(): SmallIntColumnZod;
202
202
  integer(): IntegerColumnZod;
203
203
  real(): RealColumnZod;
package/dist/index.js CHANGED
@@ -9,19 +9,26 @@ class ZodJSONColumn extends pqb.JSONColumn {
9
9
  }
10
10
  }
11
11
  function applyMethod(column, key, value, params) {
12
- const cloned = pqb.setDataValue(column, key, value, params);
12
+ const cloned = pqb.setDataValue(
13
+ column,
14
+ key,
15
+ value,
16
+ params
17
+ );
13
18
  const p = typeof params === "object" ? { ...params } : params;
14
19
  const v = value === params ? p : value;
15
- cloned.inputSchema = column.inputSchema[key](v, p);
16
- cloned.outputSchema = column.outputSchema[key](v, p);
17
- cloned.querySchema = column.querySchema[key](v, p);
20
+ const c = column;
21
+ cloned.inputSchema = c.inputSchema[key](v, p);
22
+ cloned.outputSchema = c.outputSchema[key](v, p);
23
+ cloned.querySchema = c.querySchema[key](v, p);
18
24
  return cloned;
19
25
  }
20
26
  function applySimpleMethod(column, key, params) {
21
- const cloned = pqb.setDataValue(column, key, true, params);
22
- column.inputSchema = column.inputSchema[key](params);
23
- column.outputSchema = column.outputSchema[key](params);
24
- column.querySchema = column.querySchema[key](params);
27
+ const c = column;
28
+ const cloned = pqb.setDataValue(c, key, true, params);
29
+ cloned.inputSchema = c.inputSchema[key](params);
30
+ cloned.outputSchema = c.outputSchema[key](params);
31
+ cloned.querySchema = c.querySchema[key](params);
25
32
  return cloned;
26
33
  }
27
34
  const arrayMethods = {
@@ -35,10 +42,11 @@ const arrayMethods = {
35
42
  return applyMethod(this, "length", value, params);
36
43
  },
37
44
  nonEmpty(params) {
38
- const cloned = pqb.setDataValue(this, "nonEmpty", true, params);
39
- this.inputSchema = this.inputSchema.nonempty(params);
40
- this.outputSchema = this.outputSchema.nonempty(params);
41
- this.querySchema = this.querySchema.nonempty(params);
45
+ const column = this;
46
+ const cloned = pqb.setDataValue(column, "nonEmpty", true, params);
47
+ cloned.inputSchema = column.inputSchema.nonempty(params);
48
+ cloned.outputSchema = column.outputSchema.nonempty(params);
49
+ cloned.querySchema = column.querySchema.nonempty(params);
42
50
  return cloned;
43
51
  }
44
52
  };
@@ -322,8 +330,9 @@ const zodSchemaConfig = {
322
330
  const shape = {};
323
331
  const { shape: columns } = this.prototype.columns;
324
332
  for (const key in columns) {
333
+ const column = columns[key];
325
334
  if (columns[key].dataType) {
326
- shape[key] = columns[key].querySchema.optional();
335
+ shape[key] = column.querySchema.optional();
327
336
  }
328
337
  }
329
338
  return v4.z.object(shape);
@@ -422,7 +431,8 @@ const zodSchemaConfig = {
422
431
  * @param errors - object, key is either 'required' or 'invalidType', value is an error message
423
432
  */
424
433
  error(errors) {
425
- const { errors: old } = this.data;
434
+ const c = this;
435
+ const { errors: old } = c.data;
426
436
  const newErrors = old ? { ...old, ...errors } : errors;
427
437
  const { required, invalidType } = newErrors;
428
438
  const errorMap = (iss) => {
@@ -431,8 +441,8 @@ const zodSchemaConfig = {
431
441
  }
432
442
  return;
433
443
  };
434
- this.inputSchema.def.error = this.outputSchema.def.error = this.querySchema.def.error = errorMap;
435
- return pqb.setColumnData(this, "errors", newErrors);
444
+ c.inputSchema.def.error = c.outputSchema.def.error = c.querySchema.def.error = errorMap;
445
+ return pqb.setColumnData(c, "errors", newErrors);
436
446
  },
437
447
  smallint: () => new SmallIntColumnZod(zodSchemaConfig),
438
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 AsTypeArg,\n ColumnSchemaGetterColumns,\n ColumnSchemaGetterTableClass,\n ColumnTypeBase,\n EncodeColumn,\n NullableColumn,\n ParseColumn,\n makeColumnNullable,\n ErrorMessage,\n setDataValue,\n StringTypeData,\n ErrorMessages,\n setColumnData,\n ColumnDataBase,\n ParseNullColumn,\n RecordUnknown,\n ColumnInputOutputQueryTypesWithSchemas,\n ArrayColumn,\n ArrayColumnValue,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n ColumnType,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n JSONColumn,\n MoneyColumn,\n PickColumnData,\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\ntype NumberMethodSchema<Key extends string> = {\n [K in Key]: (\n value: unknown,\n params?: ErrorMessage,\n ) => NumberMethodSchema<Key>;\n};\n\nfunction applyMethod<\n Key extends string,\n T extends {\n data: ColumnDataBase;\n inputSchema: NumberMethodSchema<Key>;\n outputSchema: NumberMethodSchema<Key>;\n querySchema: NumberMethodSchema<Key>;\n },\n>(column: T, key: Key, value: unknown, params?: ErrorMessage) {\n const cloned = setDataValue(column, key, value, params);\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 cloned.inputSchema = column.inputSchema[key](v, p);\n cloned.outputSchema = column.outputSchema[key](v, p);\n cloned.querySchema = column.querySchema[key](v, p);\n return cloned;\n}\n\ntype NumberMethodSimpleSchema<Key extends string> = {\n [K in Key]: (params?: ErrorMessage) => NumberMethodSimpleSchema<Key>;\n};\n\nfunction applySimpleMethod<\n Key extends string,\n T extends {\n data: ColumnDataBase;\n inputSchema: NumberMethodSimpleSchema<Key>;\n outputSchema: NumberMethodSimpleSchema<Key>;\n querySchema: NumberMethodSimpleSchema<Key>;\n },\n>(column: T, key: Key, params?: ErrorMessage) {\n const cloned = setDataValue(column, key, true, params);\n column.inputSchema = column.inputSchema[key](params);\n column.outputSchema = column.outputSchema[key](params);\n column.querySchema = column.querySchema[key](params);\n return cloned;\n}\n\ninterface ArrayMethods<Value> {\n // Require a minimum length (inclusive)\n min<T extends ColumnTypeBase>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Require a maximum length (inclusive)\n max<T extends ColumnTypeBase>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Require a specific length\n length<T extends ColumnTypeBase>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Require a value to be non-empty\n nonEmpty<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): 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 cloned = setDataValue(this, 'nonEmpty', true, params);\n this.inputSchema = this.inputSchema.nonempty(params);\n this.outputSchema = this.outputSchema.nonempty(params);\n this.querySchema = this.querySchema.nonempty(params);\n return cloned;\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 extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n lte<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n max<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n gt<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n gte<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n min<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n positive<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n nonNegative<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n negative<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n nonPositive<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n step<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n int<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n finite<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n safe<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): 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 extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid url\n url<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be an emoji\n emoji<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid uuid\n uuid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid cuid\n cuid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid cuid2\n cuid2<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid ulid\n ulid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Validate the value over the given regular expression\n regex<T extends ColumnTypeBase>(\n this: T,\n value: RegExp,\n params?: ErrorMessage,\n ): T;\n\n // Check a value to include a given string\n includes<T extends ColumnTypeBase, Value extends string>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Check a value to start with a given string\n startsWith<T extends ColumnTypeBase, Value extends string>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Check a value to end with a given string\n endsWith<T extends ColumnTypeBase, Value extends string>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Check a value have a valid datetime string\n datetime<T extends ColumnTypeBase>(\n this: T,\n params?: StringTypeData['datetime'] & Exclude<ErrorMessage, string>,\n ): T;\n\n // Check a value to be a valid ipv4 address\n ipv4<T extends ColumnTypeBase>(\n this: T,\n params?: Exclude<ErrorMessage, string>,\n ): T;\n\n // Check a value to be a valid ipv6 address\n ipv6<T extends ColumnTypeBase>(\n this: T,\n params?: Exclude<ErrorMessage, string>,\n ): T;\n\n // Trim the value during a validation\n trim<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Transform value to a lower case during a validation\n toLowerCase<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Transform value to an upper case during a validation\n toUpperCase<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): 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 extends ColumnTypeBase>(this: T, value: Date, params?: ErrorMessage): T;\n\n // Require a value to be lower than or equal to a given Date object\n max<T extends ColumnTypeBase>(this: T, value: Date, params?: ErrorMessage): 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 ColumnTypeBase,\n OutputSchema extends ZodTypeAny,\n Output = OutputSchema['_output'],\n >(\n this: T,\n _schema: OutputSchema,\n fn: (input: T['type']) => Output,\n ): ParseColumn<T, OutputSchema, Output>;\n\n parseNull<\n T extends ColumnTypeBase,\n NullSchema extends ZodTypeAny,\n NullType = NullSchema['_output'],\n >(\n this: T,\n _schema: NullSchema,\n fn: () => NullType,\n ): ParseNullColumn<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 ): EncodeColumn<T, InputSchema, Input>;\n\n /**\n * @deprecated use narrowType instead\n */\n asType<\n T,\n Types extends 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 ColumnInputOutputQueryTypesWithSchemas,\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 ColumnInputOutputQueryTypesWithSchemas,\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 ColumnType<ZodSchemaConfig>>(\n this: T,\n ): ParseColumn<T, ZodNumber, number>;\n\n dateAsDate<T extends ColumnType<ZodSchemaConfig>>(\n this: T,\n ): ParseColumn<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 ColumnTypeBase>(\n this: T,\n ): NullableColumn<\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 extends ColumnTypeBase>(this: T, error: ErrorMessages): 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 PickColumnData).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,\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 if (columns[key].dataType) {\n shape[key] = columns[key].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 { errors: old } = this.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 (this.inputSchema as ZodTypeAny).def.error =\n (this.outputSchema as ZodTypeAny).def.error =\n (this.querySchema as ZodTypeAny).def.error =\n errorMap;\n\n return setColumnData(this, 'errors', newErrors);\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 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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"}
package/dist/index.mjs CHANGED
@@ -7,19 +7,26 @@ class ZodJSONColumn extends JSONColumn {
7
7
  }
8
8
  }
9
9
  function applyMethod(column, key, value, params) {
10
- const cloned = setDataValue(column, key, value, params);
10
+ const cloned = setDataValue(
11
+ column,
12
+ key,
13
+ value,
14
+ params
15
+ );
11
16
  const p = typeof params === "object" ? { ...params } : params;
12
17
  const v = value === params ? p : value;
13
- cloned.inputSchema = column.inputSchema[key](v, p);
14
- cloned.outputSchema = column.outputSchema[key](v, p);
15
- cloned.querySchema = column.querySchema[key](v, p);
18
+ const c = column;
19
+ cloned.inputSchema = c.inputSchema[key](v, p);
20
+ cloned.outputSchema = c.outputSchema[key](v, p);
21
+ cloned.querySchema = c.querySchema[key](v, p);
16
22
  return cloned;
17
23
  }
18
24
  function applySimpleMethod(column, key, params) {
19
- const cloned = setDataValue(column, key, true, params);
20
- column.inputSchema = column.inputSchema[key](params);
21
- column.outputSchema = column.outputSchema[key](params);
22
- column.querySchema = column.querySchema[key](params);
25
+ const c = column;
26
+ const cloned = setDataValue(c, key, true, params);
27
+ cloned.inputSchema = c.inputSchema[key](params);
28
+ cloned.outputSchema = c.outputSchema[key](params);
29
+ cloned.querySchema = c.querySchema[key](params);
23
30
  return cloned;
24
31
  }
25
32
  const arrayMethods = {
@@ -33,10 +40,11 @@ const arrayMethods = {
33
40
  return applyMethod(this, "length", value, params);
34
41
  },
35
42
  nonEmpty(params) {
36
- const cloned = setDataValue(this, "nonEmpty", true, params);
37
- this.inputSchema = this.inputSchema.nonempty(params);
38
- this.outputSchema = this.outputSchema.nonempty(params);
39
- this.querySchema = this.querySchema.nonempty(params);
43
+ const column = this;
44
+ const cloned = setDataValue(column, "nonEmpty", true, params);
45
+ cloned.inputSchema = column.inputSchema.nonempty(params);
46
+ cloned.outputSchema = column.outputSchema.nonempty(params);
47
+ cloned.querySchema = column.querySchema.nonempty(params);
40
48
  return cloned;
41
49
  }
42
50
  };
@@ -320,8 +328,9 @@ const zodSchemaConfig = {
320
328
  const shape = {};
321
329
  const { shape: columns } = this.prototype.columns;
322
330
  for (const key in columns) {
331
+ const column = columns[key];
323
332
  if (columns[key].dataType) {
324
- shape[key] = columns[key].querySchema.optional();
333
+ shape[key] = column.querySchema.optional();
325
334
  }
326
335
  }
327
336
  return z.object(shape);
@@ -420,7 +429,8 @@ const zodSchemaConfig = {
420
429
  * @param errors - object, key is either 'required' or 'invalidType', value is an error message
421
430
  */
422
431
  error(errors) {
423
- const { errors: old } = this.data;
432
+ const c = this;
433
+ const { errors: old } = c.data;
424
434
  const newErrors = old ? { ...old, ...errors } : errors;
425
435
  const { required, invalidType } = newErrors;
426
436
  const errorMap = (iss) => {
@@ -429,8 +439,8 @@ const zodSchemaConfig = {
429
439
  }
430
440
  return;
431
441
  };
432
- this.inputSchema.def.error = this.outputSchema.def.error = this.querySchema.def.error = errorMap;
433
- return setColumnData(this, "errors", newErrors);
442
+ c.inputSchema.def.error = c.outputSchema.def.error = c.querySchema.def.error = errorMap;
443
+ return setColumnData(c, "errors", newErrors);
434
444
  },
435
445
  smallint: () => new SmallIntColumnZod(zodSchemaConfig),
436
446
  integer: () => new IntegerColumnZod(zodSchemaConfig),
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/zod.ts"],"sourcesContent":["import {\n AsTypeArg,\n ColumnSchemaGetterColumns,\n ColumnSchemaGetterTableClass,\n ColumnTypeBase,\n EncodeColumn,\n NullableColumn,\n ParseColumn,\n makeColumnNullable,\n ErrorMessage,\n setDataValue,\n StringTypeData,\n ErrorMessages,\n setColumnData,\n ColumnDataBase,\n ParseNullColumn,\n RecordUnknown,\n ColumnInputOutputQueryTypesWithSchemas,\n ArrayColumn,\n ArrayColumnValue,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n ColumnType,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n JSONColumn,\n MoneyColumn,\n PickColumnData,\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\ntype NumberMethodSchema<Key extends string> = {\n [K in Key]: (\n value: unknown,\n params?: ErrorMessage,\n ) => NumberMethodSchema<Key>;\n};\n\nfunction applyMethod<\n Key extends string,\n T extends {\n data: ColumnDataBase;\n inputSchema: NumberMethodSchema<Key>;\n outputSchema: NumberMethodSchema<Key>;\n querySchema: NumberMethodSchema<Key>;\n },\n>(column: T, key: Key, value: unknown, params?: ErrorMessage) {\n const cloned = setDataValue(column, key, value, params);\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 cloned.inputSchema = column.inputSchema[key](v, p);\n cloned.outputSchema = column.outputSchema[key](v, p);\n cloned.querySchema = column.querySchema[key](v, p);\n return cloned;\n}\n\ntype NumberMethodSimpleSchema<Key extends string> = {\n [K in Key]: (params?: ErrorMessage) => NumberMethodSimpleSchema<Key>;\n};\n\nfunction applySimpleMethod<\n Key extends string,\n T extends {\n data: ColumnDataBase;\n inputSchema: NumberMethodSimpleSchema<Key>;\n outputSchema: NumberMethodSimpleSchema<Key>;\n querySchema: NumberMethodSimpleSchema<Key>;\n },\n>(column: T, key: Key, params?: ErrorMessage) {\n const cloned = setDataValue(column, key, true, params);\n column.inputSchema = column.inputSchema[key](params);\n column.outputSchema = column.outputSchema[key](params);\n column.querySchema = column.querySchema[key](params);\n return cloned;\n}\n\ninterface ArrayMethods<Value> {\n // Require a minimum length (inclusive)\n min<T extends ColumnTypeBase>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Require a maximum length (inclusive)\n max<T extends ColumnTypeBase>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Require a specific length\n length<T extends ColumnTypeBase>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Require a value to be non-empty\n nonEmpty<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): 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 cloned = setDataValue(this, 'nonEmpty', true, params);\n this.inputSchema = this.inputSchema.nonempty(params);\n this.outputSchema = this.outputSchema.nonempty(params);\n this.querySchema = this.querySchema.nonempty(params);\n return cloned;\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 extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n lte<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n max<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n gt<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n gte<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n min<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n positive<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n nonNegative<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n negative<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n nonPositive<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n step<T extends ColumnTypeBase>(\n this: T,\n value: number,\n params?: ErrorMessage,\n ): T;\n int<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n finite<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n safe<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): 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 extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid url\n url<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be an emoji\n emoji<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid uuid\n uuid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid cuid\n cuid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid cuid2\n cuid2<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Check a value to be a valid ulid\n ulid<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Validate the value over the given regular expression\n regex<T extends ColumnTypeBase>(\n this: T,\n value: RegExp,\n params?: ErrorMessage,\n ): T;\n\n // Check a value to include a given string\n includes<T extends ColumnTypeBase, Value extends string>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Check a value to start with a given string\n startsWith<T extends ColumnTypeBase, Value extends string>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Check a value to end with a given string\n endsWith<T extends ColumnTypeBase, Value extends string>(\n this: T,\n value: Value,\n params?: ErrorMessage,\n ): T;\n\n // Check a value have a valid datetime string\n datetime<T extends ColumnTypeBase>(\n this: T,\n params?: StringTypeData['datetime'] & Exclude<ErrorMessage, string>,\n ): T;\n\n // Check a value to be a valid ipv4 address\n ipv4<T extends ColumnTypeBase>(\n this: T,\n params?: Exclude<ErrorMessage, string>,\n ): T;\n\n // Check a value to be a valid ipv6 address\n ipv6<T extends ColumnTypeBase>(\n this: T,\n params?: Exclude<ErrorMessage, string>,\n ): T;\n\n // Trim the value during a validation\n trim<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Transform value to a lower case during a validation\n toLowerCase<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): T;\n\n // Transform value to an upper case during a validation\n toUpperCase<T extends ColumnTypeBase>(this: T, params?: ErrorMessage): 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 extends ColumnTypeBase>(this: T, value: Date, params?: ErrorMessage): T;\n\n // Require a value to be lower than or equal to a given Date object\n max<T extends ColumnTypeBase>(this: T, value: Date, params?: ErrorMessage): 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 ColumnTypeBase,\n OutputSchema extends ZodTypeAny,\n Output = OutputSchema['_output'],\n >(\n this: T,\n _schema: OutputSchema,\n fn: (input: T['type']) => Output,\n ): ParseColumn<T, OutputSchema, Output>;\n\n parseNull<\n T extends ColumnTypeBase,\n NullSchema extends ZodTypeAny,\n NullType = NullSchema['_output'],\n >(\n this: T,\n _schema: NullSchema,\n fn: () => NullType,\n ): ParseNullColumn<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 ): EncodeColumn<T, InputSchema, Input>;\n\n /**\n * @deprecated use narrowType instead\n */\n asType<\n T,\n Types extends 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 ColumnInputOutputQueryTypesWithSchemas,\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 ColumnInputOutputQueryTypesWithSchemas,\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 ColumnType<ZodSchemaConfig>>(\n this: T,\n ): ParseColumn<T, ZodNumber, number>;\n\n dateAsDate<T extends ColumnType<ZodSchemaConfig>>(\n this: T,\n ): ParseColumn<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 ColumnTypeBase>(\n this: T,\n ): NullableColumn<\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 extends ColumnTypeBase>(this: T, error: ErrorMessages): 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 PickColumnData).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,\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 if (columns[key].dataType) {\n shape[key] = columns[key].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 { errors: old } = this.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 (this.inputSchema as ZodTypeAny).def.error =\n (this.outputSchema as ZodTypeAny).def.error =\n (this.querySchema as ZodTypeAny).def.error =\n errorMap;\n\n return setColumnData(this, 'errors', newErrors);\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 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orchid-orm-schema-to-zod",
3
- "version": "1.0.38",
3
+ "version": "1.0.39",
4
4
  "description": "Orchid-ORM columns schema to Zod converter",
5
5
  "homepage": "https://orchid-orm.netlify.app/guide/columns-validation-methods.html",
6
6
  "repository": {
@@ -30,10 +30,10 @@
30
30
  "license": "ISC",
31
31
  "dependencies": {
32
32
  "zod": "^4.0.0",
33
- "pqb": "0.57.7"
33
+ "pqb": "0.58.0"
34
34
  },
35
35
  "devDependencies": {
36
- "test-utils": "0.3.3"
36
+ "test-utils": "0.3.4"
37
37
  },
38
38
  "scripts": {
39
39
  "test": "jest --watch --verbose false",