orchid-orm-schema-to-zod 0.8.47 → 0.8.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +7 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ interface BigSerialColumnZod extends BigSerialColumn<ZodSchemaConfig>, StringMet
|
|
|
90
90
|
}
|
|
91
91
|
declare class BigSerialColumnZod extends BigSerialColumn<ZodSchemaConfig> {
|
|
92
92
|
}
|
|
93
|
-
interface MoneyColumnZod extends MoneyColumn<ZodSchemaConfig>,
|
|
93
|
+
interface MoneyColumnZod extends MoneyColumn<ZodSchemaConfig>, NumberMethods {
|
|
94
94
|
}
|
|
95
95
|
declare class MoneyColumnZod extends MoneyColumn<ZodSchemaConfig> {
|
|
96
96
|
}
|
|
@@ -126,6 +126,11 @@ interface TimestampColumnZod extends TimestampTZColumn<ZodSchemaConfig>, DateMet
|
|
|
126
126
|
}
|
|
127
127
|
declare class TimestampColumnZod extends TimestampTZColumn<ZodSchemaConfig> {
|
|
128
128
|
}
|
|
129
|
+
type PointSchemaZod = ZodObject<{
|
|
130
|
+
srid: ZodOptional<ZodNumber>;
|
|
131
|
+
lon: ZodNumber;
|
|
132
|
+
lat: ZodNumber;
|
|
133
|
+
}>;
|
|
129
134
|
interface ZodSchemaConfig {
|
|
130
135
|
type: ZodTypeAny;
|
|
131
136
|
parse<T extends {
|
|
@@ -192,6 +197,7 @@ interface ZodSchemaConfig {
|
|
|
192
197
|
date(): DateColumnZod;
|
|
193
198
|
timestampNoTZ(precision?: number): TimestampNoTzColumnZod;
|
|
194
199
|
timestamp(precision?: number): TimestampColumnZod;
|
|
200
|
+
geographyPointSchema(): PointSchemaZod;
|
|
195
201
|
}
|
|
196
202
|
declare const zodSchemaConfig: ZodSchemaConfig;
|
|
197
203
|
type MapSchema<T extends ColumnSchemaGetterTableClass, Key extends 'inputSchema' | 'outputSchema' | 'querySchema'> = ZodObject<{
|
package/dist/index.js
CHANGED
|
@@ -210,7 +210,7 @@ class BigSerialColumnZod extends pqb.BigSerialColumn {
|
|
|
210
210
|
Object.assign(BigSerialColumnZod.prototype, stringMethods);
|
|
211
211
|
class MoneyColumnZod extends pqb.MoneyColumn {
|
|
212
212
|
}
|
|
213
|
-
Object.assign(MoneyColumnZod.prototype,
|
|
213
|
+
Object.assign(MoneyColumnZod.prototype, numberMethods);
|
|
214
214
|
class VarCharColumnZod extends pqb.VarCharColumn {
|
|
215
215
|
}
|
|
216
216
|
Object.assign(VarCharColumnZod.prototype, stringMethods);
|
|
@@ -240,6 +240,7 @@ Object.assign(TimestampNoTzColumnZod.prototype, dateMethods);
|
|
|
240
240
|
class TimestampColumnZod extends pqb.TimestampTZColumn {
|
|
241
241
|
}
|
|
242
242
|
Object.assign(TimestampColumnZod.prototype, dateMethods);
|
|
243
|
+
let pointSchema;
|
|
243
244
|
const parseDateToNumber = (value) => value ? Date.parse(value) : value;
|
|
244
245
|
const parseDateToDate = (value) => value ? new Date(value) : value;
|
|
245
246
|
parseDateToNumber.hideFromCode = parseDateToDate.hideFromCode = true;
|
|
@@ -451,7 +452,12 @@ const zodSchemaConfig = {
|
|
|
451
452
|
citext: () => new CitextColumnZod(zodSchemaConfig),
|
|
452
453
|
date: () => new DateColumnZod(zodSchemaConfig),
|
|
453
454
|
timestampNoTZ: (precision) => new TimestampNoTzColumnZod(zodSchemaConfig, precision),
|
|
454
|
-
timestamp: (precision) => new TimestampColumnZod(zodSchemaConfig, precision)
|
|
455
|
+
timestamp: (precision) => new TimestampColumnZod(zodSchemaConfig, precision),
|
|
456
|
+
geographyPointSchema: () => pointSchema != null ? pointSchema : pointSchema = zod.z.object({
|
|
457
|
+
srid: zod.z.number().optional(),
|
|
458
|
+
lon: zod.z.number(),
|
|
459
|
+
lat: zod.z.number()
|
|
460
|
+
})
|
|
455
461
|
};
|
|
456
462
|
function mapSchema(klass, schemaKey) {
|
|
457
463
|
const shape = {};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/zod.ts"],"sourcesContent":["import {\n AsTypeArg,\n Code,\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 ColumnToCodeCtx,\n} from 'orchid-core';\nimport {\n ArrayColumn,\n ArrayColumnValue,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n columnCode,\n ColumnData,\n ColumnType,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n MoneyColumn,\n Operators,\n OperatorsJson,\n RealColumn,\n SerialColumn,\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 ZodUnknown,\n} from 'zod';\nimport { ZodErrorMap } from 'zod/lib/ZodError';\n\n// skip adding the default `encode` function to code\nconst toCodeSkip = { encodeFn: JSON.stringify };\n\nclass ZodJSONColumn<ZodSchema extends ZodTypeAny> extends ColumnType<\n ZodSchemaConfig,\n ZodSchema['_output'],\n ZodSchema,\n OperatorsJson\n> {\n dataType = 'jsonb' as const;\n operators = Operators.json;\n declare data: ColumnData;\n\n constructor(schema: ZodSchema) {\n super(zodSchemaConfig, schema);\n }\n\n toCode(ctx: ColumnToCodeCtx, key: string): Code {\n return columnCode(this, ctx, key, [`json()`], this.data, toCodeSkip);\n }\n}\n\n// Encode data of both types with JSON.stringify\nZodJSONColumn.prototype.encodeFn = JSON.stringify;\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 cloned.inputSchema = column.inputSchema[key](value, params);\n cloned.outputSchema = column.outputSchema[key](value, params);\n cloned.querySchema = column.querySchema[key](value, params);\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 ip address\n ip<T extends ColumnTypeBase>(\n this: T,\n params?: StringTypeData['ip'] & 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 ip(params = {}) {\n return applyMethod(this, 'ip', 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>, StringMethods {}\n\nclass MoneyColumnZod extends MoneyColumn<ZodSchemaConfig> {}\nObject.assign(MoneyColumnZod.prototype, stringMethods);\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\nexport interface ZodSchemaConfig {\n type: ZodTypeAny;\n\n parse<\n T extends { type: unknown },\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 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 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 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<U extends string, T extends readonly [U, ...U[]]>(\n dataType: string,\n type: T,\n ): EnumColumn<\n ZodSchemaConfig,\n // remove readonly flag for Zod\n ZodEnum<{\n -readonly [P in keyof T]: T[P];\n }>,\n U,\n T\n >;\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 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\n// parse a date string to number, with respect to null\nconst parseDateToNumber = (value: unknown) =>\n (value ? Date.parse(value as string) : value) as number;\n\n// parse a date string to date object, with respect to null\nconst parseDateToDate = (value: unknown) =>\n (value ? new Date(value as string) : value) as Date;\n\n(parseDateToNumber as unknown as { hideFromCode: boolean }).hideFromCode = (\n parseDateToDate as unknown as { hideFromCode: boolean }\n).hideFromCode = true;\n\nexport const zodSchemaConfig: ZodSchemaConfig = {\n type: undefined as unknown as ZodTypeAny,\n parse(schema, fn) {\n return Object.assign(Object.create(this), {\n outputSchema: schema,\n parseFn: fn,\n parseItem: fn,\n });\n },\n encode(schema, fn) {\n return Object.assign(Object.create(this), {\n inputSchema: schema,\n encodeFn: fn,\n });\n },\n asType(_types) {\n return this as never;\n },\n dateAsNumber() {\n return this.parse(z.number(), parseDateToNumber) as never;\n },\n dateAsDate() {\n return this.parse(z.date(), parseDateToDate) as never;\n },\n enum(dataType, type) {\n return new EnumColumn(zodSchemaConfig, dataType, type, z.enum(type));\n },\n array(item) {\n return new ZodArrayColumn(item);\n },\n nullable() {\n return makeColumnNullable(\n this,\n z.nullable(this.inputSchema),\n z.nullable(this.outputSchema),\n z.nullable(this.querySchema),\n );\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: ZodRawShape = {};\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: ZodRawShape = {};\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] = shape[key].optional();\n }\n }\n }\n\n return z.object(shape) as CreateSchema<T>;\n },\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n return (\n this.createSchema() as ZodObject<ZodRawShape>\n ).partial() as UpdateSchema<T>;\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 PkeySchema<T>;\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, ctx) => {\n if (iss.code !== 'invalid_type') return { message: ctx.defaultError };\n if (typeof ctx.data === 'undefined') {\n return { message: required ?? ctx.defaultError };\n }\n return { message: invalidType ?? ctx.defaultError };\n };\n\n (this.inputSchema as ZodTypeAny)._def.errorMap =\n (this.outputSchema as ZodTypeAny)._def.errorMap =\n (this.querySchema as ZodTypeAny)._def.errorMap =\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\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 'strip'\n>;\n\ntype QuerySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ZodOptional<\n ColumnSchemaGetterColumns<T>[K]['querySchema']\n >;\n },\n 'strip'\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 'strip'\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 'strip'\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 'strip'\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: ZodRawShape = {};\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":["ColumnType","Operators","columnCode","setDataValue","ArrayColumn","z","SmallIntColumn","IntegerColumn","RealColumn","SmallSerialColumn","SerialColumn","BigIntColumn","DecimalColumn","DoublePrecisionColumn","BigSerialColumn","MoneyColumn","VarCharColumn","TextColumn","StringColumn","CitextColumn","DateColumn","TimestampColumn","TimestampTZColumn","EnumColumn","makeColumnNullable","setColumnData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/zod.ts"],"sourcesContent":["import {\n AsTypeArg,\n Code,\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 ColumnToCodeCtx,\n} from 'orchid-core';\nimport {\n ArrayColumn,\n ArrayColumnValue,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n columnCode,\n ColumnData,\n ColumnType,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n MoneyColumn,\n Operators,\n OperatorsJson,\n RealColumn,\n SerialColumn,\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 ZodUnknown,\n} from 'zod';\nimport { ZodErrorMap } from 'zod/lib/ZodError';\n\n// skip adding the default `encode` function to code\nconst toCodeSkip = { encodeFn: JSON.stringify };\n\nclass ZodJSONColumn<ZodSchema extends ZodTypeAny> extends ColumnType<\n ZodSchemaConfig,\n ZodSchema['_output'],\n ZodSchema,\n OperatorsJson\n> {\n dataType = 'jsonb' as const;\n operators = Operators.json;\n declare data: ColumnData;\n\n constructor(schema: ZodSchema) {\n super(zodSchemaConfig, schema);\n }\n\n toCode(ctx: ColumnToCodeCtx, key: string): Code {\n return columnCode(this, ctx, key, [`json()`], this.data, toCodeSkip);\n }\n}\n\n// Encode data of both types with JSON.stringify\nZodJSONColumn.prototype.encodeFn = JSON.stringify;\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 cloned.inputSchema = column.inputSchema[key](value, params);\n cloned.outputSchema = column.outputSchema[key](value, params);\n cloned.querySchema = column.querySchema[key](value, params);\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 ip address\n ip<T extends ColumnTypeBase>(\n this: T,\n params?: StringTypeData['ip'] & 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 ip(params = {}) {\n return applyMethod(this, 'ip', 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 ZodSchemaConfig {\n type: ZodTypeAny;\n\n parse<\n T extends { type: unknown },\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 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 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 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<U extends string, T extends readonly [U, ...U[]]>(\n dataType: string,\n type: T,\n ): EnumColumn<\n ZodSchemaConfig,\n // remove readonly flag for Zod\n ZodEnum<{\n -readonly [P in keyof T]: T[P];\n }>,\n U,\n T\n >;\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 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 number, with respect to null\nconst parseDateToNumber = (value: unknown) =>\n (value ? Date.parse(value as string) : value) as number;\n\n// parse a date string to date object, with respect to null\nconst parseDateToDate = (value: unknown) =>\n (value ? new Date(value as string) : value) as Date;\n\n(parseDateToNumber as unknown as { hideFromCode: boolean }).hideFromCode = (\n parseDateToDate as unknown as { hideFromCode: boolean }\n).hideFromCode = true;\n\nexport const zodSchemaConfig: ZodSchemaConfig = {\n type: undefined as unknown as ZodTypeAny,\n parse(schema, fn) {\n return Object.assign(Object.create(this), {\n outputSchema: schema,\n parseFn: fn,\n parseItem: fn,\n });\n },\n encode(schema, fn) {\n return Object.assign(Object.create(this), {\n inputSchema: schema,\n encodeFn: fn,\n });\n },\n asType(_types) {\n return this as never;\n },\n dateAsNumber() {\n return this.parse(z.number(), parseDateToNumber) as never;\n },\n dateAsDate() {\n return this.parse(z.date(), parseDateToDate) as never;\n },\n enum(dataType, type) {\n return new EnumColumn(zodSchemaConfig, dataType, type, z.enum(type));\n },\n array(item) {\n return new ZodArrayColumn(item);\n },\n nullable() {\n return makeColumnNullable(\n this,\n z.nullable(this.inputSchema),\n z.nullable(this.outputSchema),\n z.nullable(this.querySchema),\n );\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: ZodRawShape = {};\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: ZodRawShape = {};\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] = shape[key].optional();\n }\n }\n }\n\n return z.object(shape) as CreateSchema<T>;\n },\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n return (\n this.createSchema() as ZodObject<ZodRawShape>\n ).partial() as UpdateSchema<T>;\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 PkeySchema<T>;\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, ctx) => {\n if (iss.code !== 'invalid_type') return { message: ctx.defaultError };\n if (typeof ctx.data === 'undefined') {\n return { message: required ?? ctx.defaultError };\n }\n return { message: invalidType ?? ctx.defaultError };\n };\n\n (this.inputSchema as ZodTypeAny)._def.errorMap =\n (this.outputSchema as ZodTypeAny)._def.errorMap =\n (this.querySchema as ZodTypeAny)._def.errorMap =\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 'strip'\n>;\n\ntype QuerySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ZodOptional<\n ColumnSchemaGetterColumns<T>[K]['querySchema']\n >;\n },\n 'strip'\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 'strip'\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 'strip'\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 'strip'\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: ZodRawShape = {};\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":["ColumnType","Operators","columnCode","setDataValue","ArrayColumn","z","SmallIntColumn","IntegerColumn","RealColumn","SmallSerialColumn","SerialColumn","BigIntColumn","DecimalColumn","DoublePrecisionColumn","BigSerialColumn","MoneyColumn","VarCharColumn","TextColumn","StringColumn","CitextColumn","DateColumn","TimestampColumn","TimestampTZColumn","EnumColumn","makeColumnNullable","setColumnData"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -208,7 +208,7 @@ class BigSerialColumnZod extends BigSerialColumn {
|
|
|
208
208
|
Object.assign(BigSerialColumnZod.prototype, stringMethods);
|
|
209
209
|
class MoneyColumnZod extends MoneyColumn {
|
|
210
210
|
}
|
|
211
|
-
Object.assign(MoneyColumnZod.prototype,
|
|
211
|
+
Object.assign(MoneyColumnZod.prototype, numberMethods);
|
|
212
212
|
class VarCharColumnZod extends VarCharColumn {
|
|
213
213
|
}
|
|
214
214
|
Object.assign(VarCharColumnZod.prototype, stringMethods);
|
|
@@ -238,6 +238,7 @@ Object.assign(TimestampNoTzColumnZod.prototype, dateMethods);
|
|
|
238
238
|
class TimestampColumnZod extends TimestampTZColumn {
|
|
239
239
|
}
|
|
240
240
|
Object.assign(TimestampColumnZod.prototype, dateMethods);
|
|
241
|
+
let pointSchema;
|
|
241
242
|
const parseDateToNumber = (value) => value ? Date.parse(value) : value;
|
|
242
243
|
const parseDateToDate = (value) => value ? new Date(value) : value;
|
|
243
244
|
parseDateToNumber.hideFromCode = parseDateToDate.hideFromCode = true;
|
|
@@ -449,7 +450,12 @@ const zodSchemaConfig = {
|
|
|
449
450
|
citext: () => new CitextColumnZod(zodSchemaConfig),
|
|
450
451
|
date: () => new DateColumnZod(zodSchemaConfig),
|
|
451
452
|
timestampNoTZ: (precision) => new TimestampNoTzColumnZod(zodSchemaConfig, precision),
|
|
452
|
-
timestamp: (precision) => new TimestampColumnZod(zodSchemaConfig, precision)
|
|
453
|
+
timestamp: (precision) => new TimestampColumnZod(zodSchemaConfig, precision),
|
|
454
|
+
geographyPointSchema: () => pointSchema != null ? pointSchema : pointSchema = z.object({
|
|
455
|
+
srid: z.number().optional(),
|
|
456
|
+
lon: z.number(),
|
|
457
|
+
lat: z.number()
|
|
458
|
+
})
|
|
453
459
|
};
|
|
454
460
|
function mapSchema(klass, schemaKey) {
|
|
455
461
|
const shape = {};
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/zod.ts"],"sourcesContent":["import {\n AsTypeArg,\n Code,\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 ColumnToCodeCtx,\n} from 'orchid-core';\nimport {\n ArrayColumn,\n ArrayColumnValue,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n columnCode,\n ColumnData,\n ColumnType,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n MoneyColumn,\n Operators,\n OperatorsJson,\n RealColumn,\n SerialColumn,\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 ZodUnknown,\n} from 'zod';\nimport { ZodErrorMap } from 'zod/lib/ZodError';\n\n// skip adding the default `encode` function to code\nconst toCodeSkip = { encodeFn: JSON.stringify };\n\nclass ZodJSONColumn<ZodSchema extends ZodTypeAny> extends ColumnType<\n ZodSchemaConfig,\n ZodSchema['_output'],\n ZodSchema,\n OperatorsJson\n> {\n dataType = 'jsonb' as const;\n operators = Operators.json;\n declare data: ColumnData;\n\n constructor(schema: ZodSchema) {\n super(zodSchemaConfig, schema);\n }\n\n toCode(ctx: ColumnToCodeCtx, key: string): Code {\n return columnCode(this, ctx, key, [`json()`], this.data, toCodeSkip);\n }\n}\n\n// Encode data of both types with JSON.stringify\nZodJSONColumn.prototype.encodeFn = JSON.stringify;\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 cloned.inputSchema = column.inputSchema[key](value, params);\n cloned.outputSchema = column.outputSchema[key](value, params);\n cloned.querySchema = column.querySchema[key](value, params);\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 ip address\n ip<T extends ColumnTypeBase>(\n this: T,\n params?: StringTypeData['ip'] & 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 ip(params = {}) {\n return applyMethod(this, 'ip', 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>, StringMethods {}\n\nclass MoneyColumnZod extends MoneyColumn<ZodSchemaConfig> {}\nObject.assign(MoneyColumnZod.prototype, stringMethods);\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\nexport interface ZodSchemaConfig {\n type: ZodTypeAny;\n\n parse<\n T extends { type: unknown },\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 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 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 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<U extends string, T extends readonly [U, ...U[]]>(\n dataType: string,\n type: T,\n ): EnumColumn<\n ZodSchemaConfig,\n // remove readonly flag for Zod\n ZodEnum<{\n -readonly [P in keyof T]: T[P];\n }>,\n U,\n T\n >;\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 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\n// parse a date string to number, with respect to null\nconst parseDateToNumber = (value: unknown) =>\n (value ? Date.parse(value as string) : value) as number;\n\n// parse a date string to date object, with respect to null\nconst parseDateToDate = (value: unknown) =>\n (value ? new Date(value as string) : value) as Date;\n\n(parseDateToNumber as unknown as { hideFromCode: boolean }).hideFromCode = (\n parseDateToDate as unknown as { hideFromCode: boolean }\n).hideFromCode = true;\n\nexport const zodSchemaConfig: ZodSchemaConfig = {\n type: undefined as unknown as ZodTypeAny,\n parse(schema, fn) {\n return Object.assign(Object.create(this), {\n outputSchema: schema,\n parseFn: fn,\n parseItem: fn,\n });\n },\n encode(schema, fn) {\n return Object.assign(Object.create(this), {\n inputSchema: schema,\n encodeFn: fn,\n });\n },\n asType(_types) {\n return this as never;\n },\n dateAsNumber() {\n return this.parse(z.number(), parseDateToNumber) as never;\n },\n dateAsDate() {\n return this.parse(z.date(), parseDateToDate) as never;\n },\n enum(dataType, type) {\n return new EnumColumn(zodSchemaConfig, dataType, type, z.enum(type));\n },\n array(item) {\n return new ZodArrayColumn(item);\n },\n nullable() {\n return makeColumnNullable(\n this,\n z.nullable(this.inputSchema),\n z.nullable(this.outputSchema),\n z.nullable(this.querySchema),\n );\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: ZodRawShape = {};\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: ZodRawShape = {};\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] = shape[key].optional();\n }\n }\n }\n\n return z.object(shape) as CreateSchema<T>;\n },\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n return (\n this.createSchema() as ZodObject<ZodRawShape>\n ).partial() as UpdateSchema<T>;\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 PkeySchema<T>;\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, ctx) => {\n if (iss.code !== 'invalid_type') return { message: ctx.defaultError };\n if (typeof ctx.data === 'undefined') {\n return { message: required ?? ctx.defaultError };\n }\n return { message: invalidType ?? ctx.defaultError };\n };\n\n (this.inputSchema as ZodTypeAny)._def.errorMap =\n (this.outputSchema as ZodTypeAny)._def.errorMap =\n (this.querySchema as ZodTypeAny)._def.errorMap =\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\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 'strip'\n>;\n\ntype QuerySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ZodOptional<\n ColumnSchemaGetterColumns<T>[K]['querySchema']\n >;\n },\n 'strip'\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 'strip'\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 'strip'\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 'strip'\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: ZodRawShape = {};\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 AsTypeArg,\n Code,\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 ColumnToCodeCtx,\n} from 'orchid-core';\nimport {\n ArrayColumn,\n ArrayColumnValue,\n BigIntColumn,\n BigSerialColumn,\n CitextColumn,\n columnCode,\n ColumnData,\n ColumnType,\n DateColumn,\n DecimalColumn,\n DoublePrecisionColumn,\n EnumColumn,\n IntegerColumn,\n MoneyColumn,\n Operators,\n OperatorsJson,\n RealColumn,\n SerialColumn,\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 ZodUnknown,\n} from 'zod';\nimport { ZodErrorMap } from 'zod/lib/ZodError';\n\n// skip adding the default `encode` function to code\nconst toCodeSkip = { encodeFn: JSON.stringify };\n\nclass ZodJSONColumn<ZodSchema extends ZodTypeAny> extends ColumnType<\n ZodSchemaConfig,\n ZodSchema['_output'],\n ZodSchema,\n OperatorsJson\n> {\n dataType = 'jsonb' as const;\n operators = Operators.json;\n declare data: ColumnData;\n\n constructor(schema: ZodSchema) {\n super(zodSchemaConfig, schema);\n }\n\n toCode(ctx: ColumnToCodeCtx, key: string): Code {\n return columnCode(this, ctx, key, [`json()`], this.data, toCodeSkip);\n }\n}\n\n// Encode data of both types with JSON.stringify\nZodJSONColumn.prototype.encodeFn = JSON.stringify;\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 cloned.inputSchema = column.inputSchema[key](value, params);\n cloned.outputSchema = column.outputSchema[key](value, params);\n cloned.querySchema = column.querySchema[key](value, params);\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 ip address\n ip<T extends ColumnTypeBase>(\n this: T,\n params?: StringTypeData['ip'] & 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 ip(params = {}) {\n return applyMethod(this, 'ip', 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 ZodSchemaConfig {\n type: ZodTypeAny;\n\n parse<\n T extends { type: unknown },\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 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 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 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<U extends string, T extends readonly [U, ...U[]]>(\n dataType: string,\n type: T,\n ): EnumColumn<\n ZodSchemaConfig,\n // remove readonly flag for Zod\n ZodEnum<{\n -readonly [P in keyof T]: T[P];\n }>,\n U,\n T\n >;\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 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 number, with respect to null\nconst parseDateToNumber = (value: unknown) =>\n (value ? Date.parse(value as string) : value) as number;\n\n// parse a date string to date object, with respect to null\nconst parseDateToDate = (value: unknown) =>\n (value ? new Date(value as string) : value) as Date;\n\n(parseDateToNumber as unknown as { hideFromCode: boolean }).hideFromCode = (\n parseDateToDate as unknown as { hideFromCode: boolean }\n).hideFromCode = true;\n\nexport const zodSchemaConfig: ZodSchemaConfig = {\n type: undefined as unknown as ZodTypeAny,\n parse(schema, fn) {\n return Object.assign(Object.create(this), {\n outputSchema: schema,\n parseFn: fn,\n parseItem: fn,\n });\n },\n encode(schema, fn) {\n return Object.assign(Object.create(this), {\n inputSchema: schema,\n encodeFn: fn,\n });\n },\n asType(_types) {\n return this as never;\n },\n dateAsNumber() {\n return this.parse(z.number(), parseDateToNumber) as never;\n },\n dateAsDate() {\n return this.parse(z.date(), parseDateToDate) as never;\n },\n enum(dataType, type) {\n return new EnumColumn(zodSchemaConfig, dataType, type, z.enum(type));\n },\n array(item) {\n return new ZodArrayColumn(item);\n },\n nullable() {\n return makeColumnNullable(\n this,\n z.nullable(this.inputSchema),\n z.nullable(this.outputSchema),\n z.nullable(this.querySchema),\n );\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: ZodRawShape = {};\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: ZodRawShape = {};\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] = shape[key].optional();\n }\n }\n }\n\n return z.object(shape) as CreateSchema<T>;\n },\n\n updateSchema<T extends ColumnSchemaGetterTableClass>(this: T) {\n return (\n this.createSchema() as ZodObject<ZodRawShape>\n ).partial() as UpdateSchema<T>;\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 PkeySchema<T>;\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, ctx) => {\n if (iss.code !== 'invalid_type') return { message: ctx.defaultError };\n if (typeof ctx.data === 'undefined') {\n return { message: required ?? ctx.defaultError };\n }\n return { message: invalidType ?? ctx.defaultError };\n };\n\n (this.inputSchema as ZodTypeAny)._def.errorMap =\n (this.outputSchema as ZodTypeAny)._def.errorMap =\n (this.querySchema as ZodTypeAny)._def.errorMap =\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 'strip'\n>;\n\ntype QuerySchema<T extends ColumnSchemaGetterTableClass> = ZodObject<\n {\n [K in keyof ColumnSchemaGetterColumns<T>]: ZodOptional<\n ColumnSchemaGetterColumns<T>[K]['querySchema']\n >;\n },\n 'strip'\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 'strip'\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 'strip'\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 'strip'\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: ZodRawShape = {};\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": "0.8.
|
|
3
|
+
"version": "0.8.49",
|
|
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,8 +30,8 @@
|
|
|
30
30
|
"license": "ISC",
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"zod": "^3.22.4",
|
|
33
|
-
"orchid-core": "0.19.
|
|
34
|
-
"pqb": "0.40.
|
|
33
|
+
"orchid-core": "0.19.12",
|
|
34
|
+
"pqb": "0.40.6"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"test-utils": "0.3.2"
|