drizzle-zod 0.7.1 → 0.8.0

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/column.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import type { Column } from 'drizzle-orm';
2
- import { z } from 'zod';
2
+ import { z } from 'zod/v4';
3
3
  import type { CreateSchemaFactoryOptions } from "./schema.types.cjs";
4
4
  import type { Json } from "./utils.cjs";
5
- export declare const literalSchema: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
5
+ export declare const literalSchema: any;
6
6
  export declare const jsonSchema: z.ZodType<Json>;
7
7
  export declare const bufferSchema: z.ZodType<Buffer>;
8
- export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions | undefined): z.ZodTypeAny;
8
+ export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions<Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> | undefined): z.ZodType;
package/column.d.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import type { Column } from 'drizzle-orm';
2
- import { z } from 'zod';
2
+ import { z } from 'zod/v4';
3
3
  import type { CreateSchemaFactoryOptions } from "./schema.types.mjs";
4
4
  import type { Json } from "./utils.mjs";
5
- export declare const literalSchema: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
5
+ export declare const literalSchema: any;
6
6
  export declare const jsonSchema: z.ZodType<Json>;
7
7
  export declare const bufferSchema: z.ZodType<Buffer>;
8
- export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions | undefined): z.ZodTypeAny;
8
+ export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions<Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> | undefined): z.ZodType;
package/column.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import type { Column } from 'drizzle-orm';
2
- import { z } from 'zod';
2
+ import { z } from 'zod/v4';
3
3
  import type { CreateSchemaFactoryOptions } from './schema.types.js';
4
4
  import type { Json } from './utils.js';
5
- export declare const literalSchema: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
5
+ export declare const literalSchema: any;
6
6
  export declare const jsonSchema: z.ZodType<Json>;
7
7
  export declare const bufferSchema: z.ZodType<Buffer>;
8
- export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions | undefined): z.ZodTypeAny;
8
+ export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions<Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> | undefined): z.ZodType;
@@ -1,19 +1,20 @@
1
1
  import type { Assume, Column } from 'drizzle-orm';
2
- import type { z } from 'zod';
3
- import type { ArrayHasAtLeastOneValue, ColumnIsGeneratedAlwaysAs, IsNever, Json } from "./utils.cjs";
4
- export type GetEnumValuesFromColumn<TColumn extends Column> = TColumn['_'] extends {
5
- enumValues: [string, ...string[]];
6
- } ? TColumn['_']['enumValues'] : undefined;
7
- export type GetBaseColumn<TColumn extends Column> = TColumn['_'] extends {
8
- baseColumn: Column | never | undefined;
9
- } ? IsNever<TColumn['_']['baseColumn']> extends false ? TColumn['_']['baseColumn'] : undefined : undefined;
10
- export type GetZodType<TData, TDataType extends string, TColumnType extends string, TEnumValues extends [string, ...string[]] | undefined, TBaseColumn extends Column | undefined> = TBaseColumn extends Column ? z.ZodArray<GetZodType<TBaseColumn['_']['data'], TBaseColumn['_']['dataType'], TBaseColumn['_']['columnType'], GetEnumValuesFromColumn<TBaseColumn>, GetBaseColumn<TBaseColumn>>> : ArrayHasAtLeastOneValue<TEnumValues> extends true ? z.ZodEnum<Assume<TEnumValues, [string, ...string[]]>> : TData extends infer TTuple extends [any, ...any[]] ? z.ZodTuple<Assume<{
11
- [K in keyof TTuple]: GetZodType<TTuple[K], string, string, undefined, undefined>;
12
- }, [any, ...any[]]>> : TData extends Date ? z.ZodDate : TData extends Buffer ? z.ZodType<Buffer> : TDataType extends 'array' ? z.ZodArray<GetZodType<Assume<TData, any[]>[number], string, string, undefined, undefined>> : TData extends infer TDict extends Record<string, any> ? TColumnType extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? z.ZodType<TDict, z.ZodTypeDef, TDict> : z.ZodObject<{
13
- [K in keyof TDict]: GetZodType<TDict[K], string, string, undefined, undefined>;
14
- }, 'strip'> : TDataType extends 'json' ? z.ZodType<Json> : TData extends number ? z.ZodNumber : TData extends bigint ? z.ZodBigInt : TData extends boolean ? z.ZodBoolean : TData extends string ? z.ZodString : z.ZodTypeAny;
15
- type HandleSelectColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
16
- type HandleInsertColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = ColumnIsGeneratedAlwaysAs<TColumn> extends true ? never : TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? z.ZodOptional<TSchema> : TSchema : z.ZodOptional<z.ZodNullable<TSchema>>;
17
- type HandleUpdateColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = ColumnIsGeneratedAlwaysAs<TColumn> extends true ? never : TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
18
- export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> = GetZodType<TColumn['_']['data'], TColumn['_']['dataType'], TColumn['_']['columnType'], GetEnumValuesFromColumn<TColumn>, GetBaseColumn<TColumn>> extends infer TSchema extends z.ZodTypeAny ? TSchema extends z.ZodAny ? z.ZodAny : TType extends 'select' ? HandleSelectColumn<TSchema, TColumn> : TType extends 'insert' ? HandleInsertColumn<TSchema, TColumn> : TType extends 'update' ? HandleUpdateColumn<TSchema, TColumn> : TSchema : z.ZodAny;
2
+ import type { z } from 'zod/v4';
3
+ import type { IsEnumDefined, IsNever, Json } from "./utils.cjs";
4
+ type HasBaseColumn<TColumn> = TColumn extends {
5
+ _: {
6
+ baseColumn: Column | undefined;
7
+ };
8
+ } ? IsNever<TColumn['_']['baseColumn']> extends false ? true : false : false;
9
+ export type GetZodType<TColumn extends Column, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = HasBaseColumn<TColumn> extends true ? z.ZodArray<GetZodType<Assume<TColumn['_']['baseColumn'], Column>, TCoerce>> : TColumn['_']['columnType'] extends 'PgUUID' ? z.ZodUUID : IsEnumDefined<TColumn['_']['enumValues']> extends true ? z.ZodEnum<{
10
+ [K in Assume<TColumn['_']['enumValues'], [string, ...string[]]>[number]]: K;
11
+ }> : TColumn['_']['columnType'] extends 'PgGeometry' | 'PgPointTuple' ? z.ZodTuple<[z.ZodNumber, z.ZodNumber], null> : TColumn['_']['columnType'] extends 'PgLine' ? z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null> : TColumn['_']['data'] extends Date ? CanCoerce<TCoerce, 'date'> extends true ? z.coerce.ZodCoercedDate : z.ZodDate : TColumn['_']['data'] extends Buffer ? z.ZodType<Buffer> : TColumn['_']['dataType'] extends 'array' ? z.ZodArray<GetZodPrimitiveType<Assume<TColumn['_']['data'], any[]>[number], '', TCoerce>> : TColumn['_']['data'] extends Record<string, any> ? TColumn['_']['columnType'] extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? z.ZodType<TColumn['_']['data'], TColumn['_']['data']> : z.ZodObject<{
12
+ [K in keyof TColumn['_']['data']]: GetZodPrimitiveType<TColumn['_']['data'][K], '', TCoerce>;
13
+ }, {}, {}> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
14
+ type CanCoerce<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined, TTo extends 'bigint' | 'boolean' | 'date' | 'number' | 'string'> = TCoerce extends true ? true : TCoerce extends Record<string, any> ? TCoerce[TTo] extends true ? true : false : false;
15
+ type GetZodPrimitiveType<TData, TColumnType, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = TColumnType extends 'MySqlTinyInt' | 'SingleStoreTinyInt' | 'PgSmallInt' | 'PgSmallSerial' | 'MySqlSmallInt' | 'MySqlMediumInt' | 'SingleStoreSmallInt' | 'SingleStoreMediumInt' | 'PgInteger' | 'PgSerial' | 'MySqlInt' | 'SingleStoreInt' | 'PgBigInt53' | 'PgBigSerial53' | 'MySqlBigInt53' | 'MySqlSerial' | 'SingleStoreBigInt53' | 'SingleStoreSerial' | 'SQLiteInteger' | 'MySqlYear' | 'SingleStoreYear' ? CanCoerce<TCoerce, 'number'> extends true ? z.coerce.ZodCoercedNumber : z.ZodInt : TData extends number ? CanCoerce<TCoerce, 'number'> extends true ? z.coerce.ZodCoercedNumber : z.ZodNumber : TData extends bigint ? CanCoerce<TCoerce, 'bigint'> extends true ? z.coerce.ZodCoercedBigInt : z.ZodBigInt : TData extends boolean ? CanCoerce<TCoerce, 'boolean'> extends true ? z.coerce.ZodCoercedBoolean : z.ZodBoolean : TData extends string ? CanCoerce<TCoerce, 'string'> extends true ? z.coerce.ZodCoercedString : z.ZodString : z.ZodType;
16
+ type HandleSelectColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
17
+ type HandleInsertColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? z.ZodOptional<TSchema> : TSchema : z.ZodOptional<z.ZodNullable<TSchema>>;
18
+ type HandleUpdateColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
19
+ export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = TType extends 'select' ? HandleSelectColumn<GetZodType<TColumn, TCoerce>, TColumn> : TType extends 'insert' ? HandleInsertColumn<GetZodType<TColumn, TCoerce>, TColumn> : TType extends 'update' ? HandleUpdateColumn<GetZodType<TColumn, TCoerce>, TColumn> : GetZodType<TColumn, TCoerce>;
19
20
  export {};
@@ -1,19 +1,20 @@
1
1
  import type { Assume, Column } from 'drizzle-orm';
2
- import type { z } from 'zod';
3
- import type { ArrayHasAtLeastOneValue, ColumnIsGeneratedAlwaysAs, IsNever, Json } from "./utils.mjs";
4
- export type GetEnumValuesFromColumn<TColumn extends Column> = TColumn['_'] extends {
5
- enumValues: [string, ...string[]];
6
- } ? TColumn['_']['enumValues'] : undefined;
7
- export type GetBaseColumn<TColumn extends Column> = TColumn['_'] extends {
8
- baseColumn: Column | never | undefined;
9
- } ? IsNever<TColumn['_']['baseColumn']> extends false ? TColumn['_']['baseColumn'] : undefined : undefined;
10
- export type GetZodType<TData, TDataType extends string, TColumnType extends string, TEnumValues extends [string, ...string[]] | undefined, TBaseColumn extends Column | undefined> = TBaseColumn extends Column ? z.ZodArray<GetZodType<TBaseColumn['_']['data'], TBaseColumn['_']['dataType'], TBaseColumn['_']['columnType'], GetEnumValuesFromColumn<TBaseColumn>, GetBaseColumn<TBaseColumn>>> : ArrayHasAtLeastOneValue<TEnumValues> extends true ? z.ZodEnum<Assume<TEnumValues, [string, ...string[]]>> : TData extends infer TTuple extends [any, ...any[]] ? z.ZodTuple<Assume<{
11
- [K in keyof TTuple]: GetZodType<TTuple[K], string, string, undefined, undefined>;
12
- }, [any, ...any[]]>> : TData extends Date ? z.ZodDate : TData extends Buffer ? z.ZodType<Buffer> : TDataType extends 'array' ? z.ZodArray<GetZodType<Assume<TData, any[]>[number], string, string, undefined, undefined>> : TData extends infer TDict extends Record<string, any> ? TColumnType extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? z.ZodType<TDict, z.ZodTypeDef, TDict> : z.ZodObject<{
13
- [K in keyof TDict]: GetZodType<TDict[K], string, string, undefined, undefined>;
14
- }, 'strip'> : TDataType extends 'json' ? z.ZodType<Json> : TData extends number ? z.ZodNumber : TData extends bigint ? z.ZodBigInt : TData extends boolean ? z.ZodBoolean : TData extends string ? z.ZodString : z.ZodTypeAny;
15
- type HandleSelectColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
16
- type HandleInsertColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = ColumnIsGeneratedAlwaysAs<TColumn> extends true ? never : TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? z.ZodOptional<TSchema> : TSchema : z.ZodOptional<z.ZodNullable<TSchema>>;
17
- type HandleUpdateColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = ColumnIsGeneratedAlwaysAs<TColumn> extends true ? never : TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
18
- export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> = GetZodType<TColumn['_']['data'], TColumn['_']['dataType'], TColumn['_']['columnType'], GetEnumValuesFromColumn<TColumn>, GetBaseColumn<TColumn>> extends infer TSchema extends z.ZodTypeAny ? TSchema extends z.ZodAny ? z.ZodAny : TType extends 'select' ? HandleSelectColumn<TSchema, TColumn> : TType extends 'insert' ? HandleInsertColumn<TSchema, TColumn> : TType extends 'update' ? HandleUpdateColumn<TSchema, TColumn> : TSchema : z.ZodAny;
2
+ import type { z } from 'zod/v4';
3
+ import type { IsEnumDefined, IsNever, Json } from "./utils.mjs";
4
+ type HasBaseColumn<TColumn> = TColumn extends {
5
+ _: {
6
+ baseColumn: Column | undefined;
7
+ };
8
+ } ? IsNever<TColumn['_']['baseColumn']> extends false ? true : false : false;
9
+ export type GetZodType<TColumn extends Column, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = HasBaseColumn<TColumn> extends true ? z.ZodArray<GetZodType<Assume<TColumn['_']['baseColumn'], Column>, TCoerce>> : TColumn['_']['columnType'] extends 'PgUUID' ? z.ZodUUID : IsEnumDefined<TColumn['_']['enumValues']> extends true ? z.ZodEnum<{
10
+ [K in Assume<TColumn['_']['enumValues'], [string, ...string[]]>[number]]: K;
11
+ }> : TColumn['_']['columnType'] extends 'PgGeometry' | 'PgPointTuple' ? z.ZodTuple<[z.ZodNumber, z.ZodNumber], null> : TColumn['_']['columnType'] extends 'PgLine' ? z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null> : TColumn['_']['data'] extends Date ? CanCoerce<TCoerce, 'date'> extends true ? z.coerce.ZodCoercedDate : z.ZodDate : TColumn['_']['data'] extends Buffer ? z.ZodType<Buffer> : TColumn['_']['dataType'] extends 'array' ? z.ZodArray<GetZodPrimitiveType<Assume<TColumn['_']['data'], any[]>[number], '', TCoerce>> : TColumn['_']['data'] extends Record<string, any> ? TColumn['_']['columnType'] extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? z.ZodType<TColumn['_']['data'], TColumn['_']['data']> : z.ZodObject<{
12
+ [K in keyof TColumn['_']['data']]: GetZodPrimitiveType<TColumn['_']['data'][K], '', TCoerce>;
13
+ }, {}, {}> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
14
+ type CanCoerce<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined, TTo extends 'bigint' | 'boolean' | 'date' | 'number' | 'string'> = TCoerce extends true ? true : TCoerce extends Record<string, any> ? TCoerce[TTo] extends true ? true : false : false;
15
+ type GetZodPrimitiveType<TData, TColumnType, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = TColumnType extends 'MySqlTinyInt' | 'SingleStoreTinyInt' | 'PgSmallInt' | 'PgSmallSerial' | 'MySqlSmallInt' | 'MySqlMediumInt' | 'SingleStoreSmallInt' | 'SingleStoreMediumInt' | 'PgInteger' | 'PgSerial' | 'MySqlInt' | 'SingleStoreInt' | 'PgBigInt53' | 'PgBigSerial53' | 'MySqlBigInt53' | 'MySqlSerial' | 'SingleStoreBigInt53' | 'SingleStoreSerial' | 'SQLiteInteger' | 'MySqlYear' | 'SingleStoreYear' ? CanCoerce<TCoerce, 'number'> extends true ? z.coerce.ZodCoercedNumber : z.ZodInt : TData extends number ? CanCoerce<TCoerce, 'number'> extends true ? z.coerce.ZodCoercedNumber : z.ZodNumber : TData extends bigint ? CanCoerce<TCoerce, 'bigint'> extends true ? z.coerce.ZodCoercedBigInt : z.ZodBigInt : TData extends boolean ? CanCoerce<TCoerce, 'boolean'> extends true ? z.coerce.ZodCoercedBoolean : z.ZodBoolean : TData extends string ? CanCoerce<TCoerce, 'string'> extends true ? z.coerce.ZodCoercedString : z.ZodString : z.ZodType;
16
+ type HandleSelectColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
17
+ type HandleInsertColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? z.ZodOptional<TSchema> : TSchema : z.ZodOptional<z.ZodNullable<TSchema>>;
18
+ type HandleUpdateColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
19
+ export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = TType extends 'select' ? HandleSelectColumn<GetZodType<TColumn, TCoerce>, TColumn> : TType extends 'insert' ? HandleInsertColumn<GetZodType<TColumn, TCoerce>, TColumn> : TType extends 'update' ? HandleUpdateColumn<GetZodType<TColumn, TCoerce>, TColumn> : GetZodType<TColumn, TCoerce>;
19
20
  export {};
package/column.types.d.ts CHANGED
@@ -1,19 +1,20 @@
1
1
  import type { Assume, Column } from 'drizzle-orm';
2
- import type { z } from 'zod';
3
- import type { ArrayHasAtLeastOneValue, ColumnIsGeneratedAlwaysAs, IsNever, Json } from './utils.js';
4
- export type GetEnumValuesFromColumn<TColumn extends Column> = TColumn['_'] extends {
5
- enumValues: [string, ...string[]];
6
- } ? TColumn['_']['enumValues'] : undefined;
7
- export type GetBaseColumn<TColumn extends Column> = TColumn['_'] extends {
8
- baseColumn: Column | never | undefined;
9
- } ? IsNever<TColumn['_']['baseColumn']> extends false ? TColumn['_']['baseColumn'] : undefined : undefined;
10
- export type GetZodType<TData, TDataType extends string, TColumnType extends string, TEnumValues extends [string, ...string[]] | undefined, TBaseColumn extends Column | undefined> = TBaseColumn extends Column ? z.ZodArray<GetZodType<TBaseColumn['_']['data'], TBaseColumn['_']['dataType'], TBaseColumn['_']['columnType'], GetEnumValuesFromColumn<TBaseColumn>, GetBaseColumn<TBaseColumn>>> : ArrayHasAtLeastOneValue<TEnumValues> extends true ? z.ZodEnum<Assume<TEnumValues, [string, ...string[]]>> : TData extends infer TTuple extends [any, ...any[]] ? z.ZodTuple<Assume<{
11
- [K in keyof TTuple]: GetZodType<TTuple[K], string, string, undefined, undefined>;
12
- }, [any, ...any[]]>> : TData extends Date ? z.ZodDate : TData extends Buffer ? z.ZodType<Buffer> : TDataType extends 'array' ? z.ZodArray<GetZodType<Assume<TData, any[]>[number], string, string, undefined, undefined>> : TData extends infer TDict extends Record<string, any> ? TColumnType extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? z.ZodType<TDict, z.ZodTypeDef, TDict> : z.ZodObject<{
13
- [K in keyof TDict]: GetZodType<TDict[K], string, string, undefined, undefined>;
14
- }, 'strip'> : TDataType extends 'json' ? z.ZodType<Json> : TData extends number ? z.ZodNumber : TData extends bigint ? z.ZodBigInt : TData extends boolean ? z.ZodBoolean : TData extends string ? z.ZodString : z.ZodTypeAny;
15
- type HandleSelectColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
16
- type HandleInsertColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = ColumnIsGeneratedAlwaysAs<TColumn> extends true ? never : TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? z.ZodOptional<TSchema> : TSchema : z.ZodOptional<z.ZodNullable<TSchema>>;
17
- type HandleUpdateColumn<TSchema extends z.ZodTypeAny, TColumn extends Column> = ColumnIsGeneratedAlwaysAs<TColumn> extends true ? never : TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
18
- export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> = GetZodType<TColumn['_']['data'], TColumn['_']['dataType'], TColumn['_']['columnType'], GetEnumValuesFromColumn<TColumn>, GetBaseColumn<TColumn>> extends infer TSchema extends z.ZodTypeAny ? TSchema extends z.ZodAny ? z.ZodAny : TType extends 'select' ? HandleSelectColumn<TSchema, TColumn> : TType extends 'insert' ? HandleInsertColumn<TSchema, TColumn> : TType extends 'update' ? HandleUpdateColumn<TSchema, TColumn> : TSchema : z.ZodAny;
2
+ import type { z } from 'zod/v4';
3
+ import type { IsEnumDefined, IsNever, Json } from './utils.js';
4
+ type HasBaseColumn<TColumn> = TColumn extends {
5
+ _: {
6
+ baseColumn: Column | undefined;
7
+ };
8
+ } ? IsNever<TColumn['_']['baseColumn']> extends false ? true : false : false;
9
+ export type GetZodType<TColumn extends Column, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = HasBaseColumn<TColumn> extends true ? z.ZodArray<GetZodType<Assume<TColumn['_']['baseColumn'], Column>, TCoerce>> : TColumn['_']['columnType'] extends 'PgUUID' ? z.ZodUUID : IsEnumDefined<TColumn['_']['enumValues']> extends true ? z.ZodEnum<{
10
+ [K in Assume<TColumn['_']['enumValues'], [string, ...string[]]>[number]]: K;
11
+ }> : TColumn['_']['columnType'] extends 'PgGeometry' | 'PgPointTuple' ? z.ZodTuple<[z.ZodNumber, z.ZodNumber], null> : TColumn['_']['columnType'] extends 'PgLine' ? z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null> : TColumn['_']['data'] extends Date ? CanCoerce<TCoerce, 'date'> extends true ? z.coerce.ZodCoercedDate : z.ZodDate : TColumn['_']['data'] extends Buffer ? z.ZodType<Buffer> : TColumn['_']['dataType'] extends 'array' ? z.ZodArray<GetZodPrimitiveType<Assume<TColumn['_']['data'], any[]>[number], '', TCoerce>> : TColumn['_']['data'] extends Record<string, any> ? TColumn['_']['columnType'] extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? z.ZodType<TColumn['_']['data'], TColumn['_']['data']> : z.ZodObject<{
12
+ [K in keyof TColumn['_']['data']]: GetZodPrimitiveType<TColumn['_']['data'][K], '', TCoerce>;
13
+ }, {}, {}> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
14
+ type CanCoerce<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined, TTo extends 'bigint' | 'boolean' | 'date' | 'number' | 'string'> = TCoerce extends true ? true : TCoerce extends Record<string, any> ? TCoerce[TTo] extends true ? true : false : false;
15
+ type GetZodPrimitiveType<TData, TColumnType, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = TColumnType extends 'MySqlTinyInt' | 'SingleStoreTinyInt' | 'PgSmallInt' | 'PgSmallSerial' | 'MySqlSmallInt' | 'MySqlMediumInt' | 'SingleStoreSmallInt' | 'SingleStoreMediumInt' | 'PgInteger' | 'PgSerial' | 'MySqlInt' | 'SingleStoreInt' | 'PgBigInt53' | 'PgBigSerial53' | 'MySqlBigInt53' | 'MySqlSerial' | 'SingleStoreBigInt53' | 'SingleStoreSerial' | 'SQLiteInteger' | 'MySqlYear' | 'SingleStoreYear' ? CanCoerce<TCoerce, 'number'> extends true ? z.coerce.ZodCoercedNumber : z.ZodInt : TData extends number ? CanCoerce<TCoerce, 'number'> extends true ? z.coerce.ZodCoercedNumber : z.ZodNumber : TData extends bigint ? CanCoerce<TCoerce, 'bigint'> extends true ? z.coerce.ZodCoercedBigInt : z.ZodBigInt : TData extends boolean ? CanCoerce<TCoerce, 'boolean'> extends true ? z.coerce.ZodCoercedBoolean : z.ZodBoolean : TData extends string ? CanCoerce<TCoerce, 'string'> extends true ? z.coerce.ZodCoercedString : z.ZodString : z.ZodType;
16
+ type HandleSelectColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
17
+ type HandleInsertColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? z.ZodOptional<TSchema> : TSchema : z.ZodOptional<z.ZodNullable<TSchema>>;
18
+ type HandleUpdateColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
19
+ export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = TType extends 'select' ? HandleSelectColumn<GetZodType<TColumn, TCoerce>, TColumn> : TType extends 'insert' ? HandleInsertColumn<GetZodType<TColumn, TCoerce>, TColumn> : TType extends 'update' ? HandleUpdateColumn<GetZodType<TColumn, TCoerce>, TColumn> : GetZodType<TColumn, TCoerce>;
19
20
  export {};
package/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var zod = require('zod');
3
+ var v4 = require('zod/v4');
4
4
  var drizzleOrm = require('drizzle-orm');
5
5
 
6
6
  const CONSTANTS = {
@@ -32,11 +32,11 @@ function isWithEnum(column) {
32
32
  }
33
33
  const isPgEnum = isWithEnum;
34
34
 
35
- const literalSchema = zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean(), zod.z.null()]);
36
- const jsonSchema = zod.z.union([literalSchema, zod.z.record(zod.z.any()), zod.z.array(zod.z.any())]);
37
- const bufferSchema = zod.z.custom((v) => v instanceof Buffer); // eslint-disable-line no-instanceof/no-instanceof
35
+ const literalSchema = v4.z.union([v4.z.string(), v4.z.number(), v4.z.boolean(), v4.z.null()]);
36
+ const jsonSchema = v4.z.union([literalSchema, v4.z.record(v4.z.string(), v4.z.any()), v4.z.array(v4.z.any())]);
37
+ const bufferSchema = v4.z.custom((v) => v instanceof Buffer); // eslint-disable-line no-instanceof/no-instanceof
38
38
  function columnToSchema(column, factory) {
39
- const z = factory?.zodInstance ?? zod.z;
39
+ const z = factory?.zodInstance ?? v4.z;
40
40
  const coerce = factory?.coerce ?? {};
41
41
  let schema;
42
42
  if (isWithEnum(column)) {
@@ -65,7 +65,7 @@ function columnToSchema(column, factory) {
65
65
  });
66
66
  } // Handle other types
67
67
  else if (isColumnType(column, ['PgArray'])) {
68
- schema = z.array(columnToSchema(column.baseColumn, z));
68
+ schema = z.array(columnToSchema(column.baseColumn, factory));
69
69
  schema = column.size ? schema.length(column.size) : schema;
70
70
  }
71
71
  else if (column.dataType === 'array') {
@@ -176,20 +176,24 @@ function numberColumnToSchema(column, z, coerce) {
176
176
  min = Number.MIN_SAFE_INTEGER;
177
177
  max = Number.MAX_SAFE_INTEGER;
178
178
  }
179
- let schema = coerce === true || coerce?.number ? z.coerce.number() : z.number();
180
- schema = schema.min(min).max(max);
181
- return integer ? schema.int() : schema;
179
+ let schema = coerce === true || coerce?.number
180
+ ? integer ? z.coerce.number() : z.coerce.number().int()
181
+ : integer
182
+ ? z.int()
183
+ : z.number();
184
+ schema = schema.gte(min).lte(max);
185
+ return schema;
182
186
  }
183
187
  function bigintColumnToSchema(column, z, coerce) {
184
188
  const unsigned = column.getSQLType().includes('unsigned');
185
189
  const min = unsigned ? 0n : CONSTANTS.INT64_MIN;
186
190
  const max = unsigned ? CONSTANTS.INT64_UNSIGNED_MAX : CONSTANTS.INT64_MAX;
187
191
  const schema = coerce === true || coerce?.bigint ? z.coerce.bigint() : z.bigint();
188
- return schema.min(min).max(max);
192
+ return schema.gte(min).lte(max);
189
193
  }
190
194
  function stringColumnToSchema(column, z, coerce) {
191
195
  if (isColumnType(column, ['PgUUID'])) {
192
- return z.string().uuid();
196
+ return z.uuid();
193
197
  }
194
198
  let max;
195
199
  let regex;
@@ -248,7 +252,7 @@ function handleColumns(columns, refinements, conditions, factory) {
248
252
  continue;
249
253
  }
250
254
  const column = drizzleOrm.is(selected, drizzleOrm.Column) ? selected : undefined;
251
- const schema = column ? columnToSchema(column, factory) : zod.z.any();
255
+ const schema = column ? columnToSchema(column, factory) : v4.z.any();
252
256
  const refined = typeof refinement === 'function' ? refinement(schema) : schema;
253
257
  if (conditions.never(column)) {
254
258
  continue;
@@ -265,11 +269,11 @@ function handleColumns(columns, refinements, conditions, factory) {
265
269
  }
266
270
  }
267
271
  }
268
- return zod.z.object(columnSchemas);
272
+ return v4.z.object(columnSchemas);
269
273
  }
270
274
  function handleEnum(enum_, factory) {
271
- const zod$1 = factory?.zodInstance ?? zod.z;
272
- return zod$1.enum(enum_.enumValues);
275
+ const zod = factory?.zodInstance ?? v4.z;
276
+ return zod.enum(enum_.enumValues);
273
277
  }
274
278
  const selectConditions = {
275
279
  never: () => false,
package/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/utils.ts","../src/column.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["z","zod","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/utils.ts","../src/column.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["z","zod","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView"],"mappings":"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"}
package/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from 'zod';
1
+ import { z } from 'zod/v4';
2
2
  import { isTable, getTableColumns, getViewSelectedFields, is, Column, SQL, isView } from 'drizzle-orm';
3
3
 
4
4
  const CONSTANTS = {
@@ -31,7 +31,7 @@ function isWithEnum(column) {
31
31
  const isPgEnum = isWithEnum;
32
32
 
33
33
  const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
34
- const jsonSchema = z.union([literalSchema, z.record(z.any()), z.array(z.any())]);
34
+ const jsonSchema = z.union([literalSchema, z.record(z.string(), z.any()), z.array(z.any())]);
35
35
  const bufferSchema = z.custom((v) => v instanceof Buffer); // eslint-disable-line no-instanceof/no-instanceof
36
36
  function columnToSchema(column, factory) {
37
37
  const z$1 = factory?.zodInstance ?? z;
@@ -63,7 +63,7 @@ function columnToSchema(column, factory) {
63
63
  });
64
64
  } // Handle other types
65
65
  else if (isColumnType(column, ['PgArray'])) {
66
- schema = z$1.array(columnToSchema(column.baseColumn, z$1));
66
+ schema = z$1.array(columnToSchema(column.baseColumn, factory));
67
67
  schema = column.size ? schema.length(column.size) : schema;
68
68
  }
69
69
  else if (column.dataType === 'array') {
@@ -174,20 +174,24 @@ function numberColumnToSchema(column, z, coerce) {
174
174
  min = Number.MIN_SAFE_INTEGER;
175
175
  max = Number.MAX_SAFE_INTEGER;
176
176
  }
177
- let schema = coerce === true || coerce?.number ? z.coerce.number() : z.number();
178
- schema = schema.min(min).max(max);
179
- return integer ? schema.int() : schema;
177
+ let schema = coerce === true || coerce?.number
178
+ ? integer ? z.coerce.number() : z.coerce.number().int()
179
+ : integer
180
+ ? z.int()
181
+ : z.number();
182
+ schema = schema.gte(min).lte(max);
183
+ return schema;
180
184
  }
181
185
  function bigintColumnToSchema(column, z, coerce) {
182
186
  const unsigned = column.getSQLType().includes('unsigned');
183
187
  const min = unsigned ? 0n : CONSTANTS.INT64_MIN;
184
188
  const max = unsigned ? CONSTANTS.INT64_UNSIGNED_MAX : CONSTANTS.INT64_MAX;
185
189
  const schema = coerce === true || coerce?.bigint ? z.coerce.bigint() : z.bigint();
186
- return schema.min(min).max(max);
190
+ return schema.gte(min).lte(max);
187
191
  }
188
192
  function stringColumnToSchema(column, z, coerce) {
189
193
  if (isColumnType(column, ['PgUUID'])) {
190
- return z.string().uuid();
194
+ return z.uuid();
191
195
  }
192
196
  let max;
193
197
  let regex;
package/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/utils.ts","../src/column.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["z","zod"],"mappings":";;;AAAO,MAAM,SAAS,GAAG;IACxB,QAAQ,EAAE,CAAC,GAAG;AACd,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,iBAAiB,EAAE,GAAG;IACtB,SAAS,EAAE,CAAC,KAAK;AACjB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,kBAAkB,EAAE,KAAK;IACzB,SAAS,EAAE,CAAC,OAAO;AACnB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,kBAAkB,EAAE,QAAQ;IAC5B,SAAS,EAAE,CAAC,UAAU;AACtB,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,kBAAkB,EAAE,UAAU;IAC9B,SAAS,EAAE,CAAC,eAAe;AAC3B,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,kBAAkB,EAAE,eAAe;IACnC,SAAS,EAAE,CAAC,oBAAoB;AAChC,IAAA,SAAS,EAAE,oBAAoB;AAC/B,IAAA,kBAAkB,EAAE,qBAAqB;CACzC;;ACde,SAAA,YAAY,CAAmB,MAAc,EAAE,WAAqB,EAAA;IACnF,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAEK,SAAU,UAAU,CAAC,MAAc,EAAA;IACxC,OAAO,YAAY,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AACnG,CAAC;AAEM,MAAM,QAAQ,GAA6D;;ACiD3E,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE;AAC/E,MAAM,UAAU,GAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;AAC5F,MAAA,YAAY,GAAsB,CAAC,CAAC,MAAM,CAAS,CAAC,CAAC,KAAK,CAAC,YAAY,MAAM,EAAE;AAE5E,SAAA,cAAc,CAAC,MAAc,EAAE,OAA+C,EAAA;AAC7F,IAAA,MAAMA,GAAC,GAAG,OAAO,EAAE,WAAW,IAAIC,CAAG,CAAC;AACtC,IAAA,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;AACrC,IAAA,IAAI,MAAqB,CAAC;AAE1B,IAAA,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAGD,GAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAGA,GAAC,CAAC,MAAM,EAAE,CAAC;KAC3E;IAED,IAAI,CAAC,MAAM,EAAE;;QAEZ,IAAI,YAAY,CAAsC,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE;AAC9F,YAAA,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,CAACA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC3C;aAAM,IACN,YAAY,CAA6C,MAAM,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,EACtG;YACD,MAAM,GAAGA,GAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACpD;aAAM,IAAI,YAAY,CAAoC,MAAM,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EAAE;YACjG,MAAM,GAAGA,GAAC,CAAC,KAAK,CAACA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,YAAA,MAAM,GAAG,MAAM,CAAC,UAAU,GAAI,MAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;SAC5F;aAAM,IAAI,YAAY,CAAmB,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC9D,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,CAACA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACvD;aAAM,IAAI,YAAY,CAAiB,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE;AAC/D,YAAA,MAAM,GAAGA,GAAC,CAAC,MAAM,CAAC;AACjB,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,aAAA,CAAC,CAAC;AACJ,SAAC;aACI,IAAI,YAAY,CAAoB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;AAC9D,YAAA,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAEA,GAAC,CAAC,CAAC,CAAC;AACvD,YAAA,MAAM,GAAG,MAAM,CAAC,IAAI,GAAI,MAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;SAChF;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE;YACvC,MAAM,GAAGA,GAAC,CAAC,KAAK,CAACA,GAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SAC1B;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;YACzC,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,GAAGA,GAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAGA,GAAC,CAAC,OAAO,EAAE,CAAC;SAC9E;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;YACtC,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,GAAGA,GAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAGA,GAAC,CAAC,IAAI,EAAE,CAAC;SACrE;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;YACtC,MAAM,GAAG,UAAU,CAAC;SACpB;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACxC,YAAA,MAAM,GAAGA,GAAC,CAAC,GAAG,EAAE,CAAC;SACjB;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,YAAY,CAAC;SACtB;KACD;IAED,IAAI,CAAC,MAAM,EAAE;AACZ,QAAA,MAAM,GAAGA,GAAC,CAAC,GAAG,EAAE,CAAC;KACjB;AAED,IAAA,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAA4C,EAAA;IAE5C,IAAI,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACxD,IAAA,IAAI,GAAY,CAAC;AACjB,IAAA,IAAI,GAAY,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,YAAY,CAA8C,MAAM,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,EAAE;AAC9G,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;AACxC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC;QAClE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAAuF,MAAM,EAAE;QAC1G,YAAY;QACZ,eAAe;QACf,eAAe;QACf,qBAAqB;AACrB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAEV,MAAM,EAAE;QACT,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,sBAAsB;QACtB,kBAAkB;AAClB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,CAAC;KAC3E;SAAM,IACN,YAAY,CAAuE,MAAM,EAAE;QAC1F,WAAW;QACX,UAAU;QACV,UAAU;QACV,gBAAgB;AAChB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAOV,MAAM,EAAE;QACT,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,mBAAmB;QACnB,YAAY;AACZ,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;KACpE;SAAM,IACN,YAAY,CASX,MAAM,EACN;QACC,YAAY;QACZ,eAAe;QACf,eAAe;QACf,aAAa;QACb,qBAAqB;QACrB,mBAAmB;QACnB,eAAe;AACf,KAAA,CACD,EACA;AACD,QAAA,QAAQ,GAAG,QAAQ,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClF,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC7C,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IAAI,YAAY,CAAwC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE;QACzG,GAAG,GAAG,IAAI,CAAC;QACX,GAAG,GAAG,IAAI,CAAC;QACX,OAAO,GAAG,IAAI,CAAC;KACf;SAAM;AACN,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC9B,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;KAC9B;IAED,IAAI,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAChF,IAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,IAAA,OAAO,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAA4C,EAAA;IAE5C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1D,IAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;AAChD,IAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;IAE1E,MAAM,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAClF,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAA4C,EAAA;IAE5C,IAAI,YAAY,CAA+C,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;AACnF,QAAA,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;KACzB;AAED,IAAA,IAAI,GAAuB,CAAC;AAC5B,IAAA,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,IAAI,YAAY,CAAmC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE;AACxF,QAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;KACpB;SAAM,IACN,YAAY,CAA8C,MAAM,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,EACxG;QACD,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC;KACpD;SAAM,IAAI,YAAY,CAAwC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE;AACzG,QAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;AACnC,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC5C,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;AACtC,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;aAAM;AACN,YAAA,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC;SAClC;KACD;IAED,IACC,YAAY,CAAsD,MAAM,EAAE;QACzE,QAAQ;QACR,WAAW;QACX,iBAAiB;AACjB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK,GAAG,IAAI,CAAC;KACb;IAED,IAAI,YAAY,CAAsB,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE;QAClE,KAAK,GAAG,SAAS,CAAC;AAClB,QAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;KACxB;IAED,IAAI,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAChF,IAAA,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AAC9C,IAAA,OAAO,GAAG,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AAC3E;;AC5RA,SAAS,UAAU,CAAC,SAAuB,EAAA;AAC1C,IAAA,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CACrB,OAA4B,EAC5B,WAAgC,EAChC,UAAsB,EACtB,OAAoC,EAAA;IAEpC,MAAM,aAAa,GAAiC,EAAE,CAAC;AAEvD,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACtD,QAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9G,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACxF,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACzF,SAAS;SACT;AAED,QAAA,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AACjE,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;YAChC,SAAS;SACT;AAED,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC3D,QAAA,MAAM,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AAClE,QAAA,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE/E,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC7B,SAAS;SACT;aAAM;AACN,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;SAC7B;QAED,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAChC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAE,CAAC,QAAQ,EAAE,CAAC;aACpD;AAED,YAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAChC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAE,CAAC,QAAQ,EAAE,CAAC;aACpD;SACD;KACD;AAED,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAQ,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB,EAAE,OAAoC,EAAA;AAC3E,IAAA,MAAM,GAAG,GAAa,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,gBAAgB,GAAe;AACpC,IAAA,KAAK,EAAE,MAAM,KAAK;AAClB,IAAA,QAAQ,EAAE,MAAM,KAAK;IACrB,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;AAEF,MAAM,gBAAgB,GAAe;IACpC,KAAK,EAAE,CAAC,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,iBAAiB,EAAE,IAAI,KAAK,QAAQ;AACvG,IAAA,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC;IAC9E,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;AAEF,MAAM,gBAAgB,GAAe;IACpC,KAAK,EAAE,CAAC,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,iBAAiB,EAAE,IAAI,KAAK,QAAQ;AACvG,IAAA,QAAQ,EAAE,MAAM,IAAI;IACpB,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;MAEW,kBAAkB,GAAuB,CACrD,MAAoD,EACpD,MAA4B,KACzB;AACH,IAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrB,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;KAC1B;AACD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;MAEW,kBAAkB,GAAuB,CACrD,MAAa,EACb,MAA4B,KACzB;AACH,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;MAEW,kBAAkB,GAAuB,CACrD,MAAa,EACb,MAA4B,KACzB;AACH,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;AAEI,SAAU,mBAAmB,CAAC,OAAoC,EAAA;AACvE,IAAA,MAAM,kBAAkB,GAAuB,CAC9C,MAAoD,EACpD,MAA4B,KACzB;AACH,QAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrB,YAAA,OAAO,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC;AACD,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAuB,CAC9C,MAAa,EACb,MAA4B,KACzB;AACH,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAuB,CAC9C,MAAa,EACb,MAA4B,KACzB;AACH,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AACvE;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/utils.ts","../src/column.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["z","zod"],"mappings":";;;AAAO,MAAM,SAAS,GAAG;IACxB,QAAQ,EAAE,CAAC,GAAG;AACd,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,iBAAiB,EAAE,GAAG;IACtB,SAAS,EAAE,CAAC,KAAK;AACjB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,kBAAkB,EAAE,KAAK;IACzB,SAAS,EAAE,CAAC,OAAO;AACnB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,kBAAkB,EAAE,QAAQ;IAC5B,SAAS,EAAE,CAAC,UAAU;AACtB,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,kBAAkB,EAAE,UAAU;IAC9B,SAAS,EAAE,CAAC,eAAe;AAC3B,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,kBAAkB,EAAE,eAAe;IACnC,SAAS,EAAE,CAAC,oBAAoB;AAChC,IAAA,SAAS,EAAE,oBAAoB;AAC/B,IAAA,kBAAkB,EAAE,qBAAqB;CACzC;;ACde,SAAA,YAAY,CAAmB,MAAc,EAAE,WAAqB,EAAA;IACnF,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAEK,SAAU,UAAU,CAAC,MAAc,EAAA;IACxC,OAAO,YAAY,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AACnG,CAAC;AAEM,MAAM,QAAQ,GAA6D;;ACiD3E,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE;AACzE,MAAA,UAAU,GAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;AACxG,MAAA,YAAY,GAAsB,CAAC,CAAC,MAAM,CAAS,CAAC,CAAC,KAAK,CAAC,YAAY,MAAM,EAAE;AAE5E,SAAA,cAAc,CAC7B,MAAc,EACd,OAIY,EAAA;AAEZ,IAAA,MAAMA,GAAC,GAAe,OAAO,EAAE,WAAW,IAAIC,CAAG,CAAC;AAClD,IAAA,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;AACrC,IAAA,IAAI,MAAkB,CAAC;AAEvB,IAAA,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAGD,GAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAGA,GAAC,CAAC,MAAM,EAAE,CAAC;KAC3E;IAED,IAAI,CAAC,MAAM,EAAE;;QAEZ,IAAI,YAAY,CAAsC,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE;AAC9F,YAAA,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,CAACA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC3C;aAAM,IACN,YAAY,CAA6C,MAAM,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,EACtG;YACD,MAAM,GAAGA,GAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACpD;aAAM,IAAI,YAAY,CAAoC,MAAM,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EAAE;YACjG,MAAM,GAAGA,GAAC,CAAC,KAAK,CAACA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,YAAA,MAAM,GAAG,MAAM,CAAC,UAAU,GAAI,MAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;SAC5F;aAAM,IAAI,YAAY,CAAmB,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC9D,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,CAACA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,EAAEA,GAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACvD;aAAM,IAAI,YAAY,CAAiB,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE;AAC/D,YAAA,MAAM,GAAGA,GAAC,CAAC,MAAM,CAAC;AACjB,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,gBAAA,CAAC,EAAEA,GAAC,CAAC,MAAM,EAAE;AACb,aAAA,CAAC,CAAC;AACJ,SAAC;aACI,IAAI,YAAY,CAAoB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;AAC9D,YAAA,MAAM,GAAGA,GAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7D,YAAA,MAAM,GAAG,MAAM,CAAC,IAAI,GAAI,MAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;SAChF;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE;YACvC,MAAM,GAAGA,GAAC,CAAC,KAAK,CAACA,GAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SAC1B;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;YACzC,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,GAAGA,GAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAGA,GAAC,CAAC,OAAO,EAAE,CAAC;SAC9E;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;YACtC,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,GAAGA,GAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAGA,GAAC,CAAC,IAAI,EAAE,CAAC;SACrE;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAEA,GAAC,EAAE,MAAM,CAAC,CAAC;SACjD;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;YACtC,MAAM,GAAG,UAAU,CAAC;SACpB;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACxC,YAAA,MAAM,GAAGA,GAAC,CAAC,GAAG,EAAE,CAAC;SACjB;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,YAAY,CAAC;SACtB;KACD;IAED,IAAI,CAAC,MAAM,EAAE;AACZ,QAAA,MAAM,GAAGA,GAAC,CAAC,GAAG,EAAE,CAAC;KACjB;AAED,IAAA,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAEW,EAAA;IAEX,IAAI,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACxD,IAAA,IAAI,GAAY,CAAC;AACjB,IAAA,IAAI,GAAY,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,YAAY,CAA8C,MAAM,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,EAAE;AAC9G,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC;AACxC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC;QAClE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAAuF,MAAM,EAAE;QAC1G,YAAY;QACZ,eAAe;QACf,eAAe;QACf,qBAAqB;AACrB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAEV,MAAM,EAAE;QACT,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,sBAAsB;QACtB,kBAAkB;AAClB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,CAAC;KAC3E;SAAM,IACN,YAAY,CAAuE,MAAM,EAAE;QAC1F,WAAW;QACX,UAAU;QACV,UAAU;QACV,gBAAgB;AAChB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;QACpE,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IACN,YAAY,CAOV,MAAM,EAAE;QACT,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,mBAAmB;QACnB,YAAY;AACZ,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;AACzC,QAAA,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;KACpE;SAAM,IACN,YAAY,CASX,MAAM,EACN;QACC,YAAY;QACZ,eAAe;QACf,eAAe;QACf,aAAa;QACb,qBAAqB;QACrB,mBAAmB;QACnB,eAAe;AACf,KAAA,CACD,EACA;AACD,QAAA,QAAQ,GAAG,QAAQ,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClF,QAAA,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC7C,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC;KACf;SAAM,IAAI,YAAY,CAAwC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE;QACzG,GAAG,GAAG,IAAI,CAAC;QACX,GAAG,GAAG,IAAI,CAAC;QACX,OAAO,GAAG,IAAI,CAAC;KACf;SAAM;AACN,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC9B,QAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;KAC9B;IAED,IAAI,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM;UAC3C,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;AACvD,UAAE,OAAO;AACT,cAAE,CAAC,CAAC,GAAG,EAAE;AACT,cAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACd,IAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,IAAA,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAEW,EAAA;IAEX,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1D,IAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;AAChD,IAAA,MAAM,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;IAE1E,MAAM,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAClF,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAc,EACd,CAAa,EACb,MAEW,EAAA;IAEX,IAAI,YAAY,CAA+C,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE;AACnF,QAAA,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;KAChB;AAED,IAAA,IAAI,GAAuB,CAAC;AAC5B,IAAA,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,IAAI,YAAY,CAAmC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE;AACxF,QAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;KACpB;SAAM,IACN,YAAY,CAA8C,MAAM,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC,EACxG;QACD,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC;KACpD;SAAM,IAAI,YAAY,CAAwC,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE;AACzG,QAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;AACnC,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC5C,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;AAAM,aAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE;AACtC,YAAA,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;SACnC;aAAM;AACN,YAAA,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC;SAClC;KACD;IAED,IACC,YAAY,CAAsD,MAAM,EAAE;QACzE,QAAQ;QACR,WAAW;QACX,iBAAiB;AACjB,KAAA,CAAC,EACD;AACD,QAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK,GAAG,IAAI,CAAC;KACb;IAED,IAAI,YAAY,CAAsB,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE;QAClE,KAAK,GAAG,SAAS,CAAC;AAClB,QAAA,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;KACxB;IAED,IAAI,MAAM,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAChF,IAAA,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;AAC9C,IAAA,OAAO,GAAG,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AAC3E;;AC7SA,SAAS,UAAU,CAAC,SAAuB,EAAA;AAC1C,IAAA,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CACrB,OAA4B,EAC5B,WAAgC,EAChC,UAAsB,EACtB,OAEC,EAAA;IAED,MAAM,aAAa,GAA8B,EAAE,CAAC;AAEpD,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACtD,QAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9G,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACxF,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACzF,SAAS;SACT;AAED,QAAA,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AACjE,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;YAChC,SAAS;SACT;AAED,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC3D,QAAA,MAAM,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AAClE,QAAA,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE/E,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC7B,SAAS;SACT;aAAM;AACN,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;SAC7B;QAED,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAChC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAE,CAAC,QAAQ,EAAE,CAAC;aACpD;AAED,YAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAChC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAE,CAAC,QAAQ,EAAE,CAAC;aACpD;SACD;KACD;AAED,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAQ,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAClB,KAAkB,EAClB,OAEC,EAAA;AAED,IAAA,MAAM,GAAG,GAAa,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,gBAAgB,GAAe;AACpC,IAAA,KAAK,EAAE,MAAM,KAAK;AAClB,IAAA,QAAQ,EAAE,MAAM,KAAK;IACrB,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;AAEF,MAAM,gBAAgB,GAAe;IACpC,KAAK,EAAE,CAAC,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,iBAAiB,EAAE,IAAI,KAAK,QAAQ;AACvG,IAAA,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC;IAC9E,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;AAEF,MAAM,gBAAgB,GAAe;IACpC,KAAK,EAAE,CAAC,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,iBAAiB,EAAE,IAAI,KAAK,QAAQ;AACvG,IAAA,QAAQ,EAAE,MAAM,IAAI;IACpB,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO;CACrC,CAAC;MAEW,kBAAkB,GAAkC,CAChE,MAAoD,EACpD,MAA4B,KACzB;AACH,IAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrB,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;KAC1B;AACD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;MAEW,kBAAkB,GAAkC,CAChE,MAAa,EACb,MAA4B,KACzB;AACH,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;MAEW,kBAAkB,GAAkC,CAChE,MAAa,EACb,MAA4B,KACzB;AACH,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,CAAQ,CAAC;AACtE,EAAE;AAEI,SAAU,mBAAmB,CAEjC,OAA6C,EAAA;AAC9C,IAAA,MAAM,kBAAkB,GAAgC,CACvD,MAAoD,EACpD,MAA4B,KACzB;AACH,QAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrB,YAAA,OAAO,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC;AACD,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAgC,CACvD,MAAa,EACb,MAA4B,KACzB;AACH,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAgC,CACvD,MAAa,EACb,MAA4B,KACzB;AACH,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAQ,CAAC;AAC/E,KAAC,CAAC;AAEF,IAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AACvE;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-zod",
3
- "version": "0.7.1",
3
+ "version": "0.8.0",
4
4
  "description": "Generate Zod schemas from Drizzle ORM schemas",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -65,19 +65,19 @@
65
65
  "license": "Apache-2.0",
66
66
  "peerDependencies": {
67
67
  "drizzle-orm": ">=0.36.0",
68
- "zod": ">=3.0.0"
68
+ "zod": "^3.25.0"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@rollup/plugin-typescript": "^11.1.0",
72
72
  "@types/node": "^18.15.10",
73
73
  "cpy": "^10.1.0",
74
74
  "drizzle-orm": "link:../drizzle-orm/dist",
75
- "json-rules-engine": "^7.3.0",
75
+ "json-rules-engine": "^7.3.1",
76
76
  "rimraf": "^5.0.0",
77
- "rollup": "^3.20.7",
77
+ "rollup": "^3.29.5",
78
78
  "vite-tsconfig-paths": "^4.3.2",
79
- "vitest": "^1.6.0",
80
- "zod": "^3.24.1",
79
+ "vitest": "^3.1.3",
80
+ "zod": "3.25.0-beta.20250516T044623",
81
81
  "zx": "^7.2.2"
82
82
  }
83
83
  }
package/schema.d.cts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.cjs";
2
- export declare const createSelectSchema: CreateSelectSchema;
3
- export declare const createInsertSchema: CreateInsertSchema;
4
- export declare const createUpdateSchema: CreateUpdateSchema;
5
- export declare function createSchemaFactory(options?: CreateSchemaFactoryOptions): {
6
- createSelectSchema: CreateSelectSchema;
7
- createInsertSchema: CreateInsertSchema;
8
- createUpdateSchema: CreateUpdateSchema;
2
+ export declare const createSelectSchema: CreateSelectSchema<undefined>;
3
+ export declare const createInsertSchema: CreateInsertSchema<undefined>;
4
+ export declare const createUpdateSchema: CreateUpdateSchema<undefined>;
5
+ export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(options?: CreateSchemaFactoryOptions<TCoerce>): {
6
+ createSelectSchema: CreateSelectSchema<TCoerce>;
7
+ createInsertSchema: CreateInsertSchema<TCoerce>;
8
+ createUpdateSchema: CreateUpdateSchema<TCoerce>;
9
9
  };
package/schema.d.mts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.mjs";
2
- export declare const createSelectSchema: CreateSelectSchema;
3
- export declare const createInsertSchema: CreateInsertSchema;
4
- export declare const createUpdateSchema: CreateUpdateSchema;
5
- export declare function createSchemaFactory(options?: CreateSchemaFactoryOptions): {
6
- createSelectSchema: CreateSelectSchema;
7
- createInsertSchema: CreateInsertSchema;
8
- createUpdateSchema: CreateUpdateSchema;
2
+ export declare const createSelectSchema: CreateSelectSchema<undefined>;
3
+ export declare const createInsertSchema: CreateInsertSchema<undefined>;
4
+ export declare const createUpdateSchema: CreateUpdateSchema<undefined>;
5
+ export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(options?: CreateSchemaFactoryOptions<TCoerce>): {
6
+ createSelectSchema: CreateSelectSchema<TCoerce>;
7
+ createInsertSchema: CreateInsertSchema<TCoerce>;
8
+ createUpdateSchema: CreateUpdateSchema<TCoerce>;
9
9
  };
package/schema.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { CreateInsertSchema, CreateSchemaFactoryOptions, CreateSelectSchema, CreateUpdateSchema } from './schema.types.js';
2
- export declare const createSelectSchema: CreateSelectSchema;
3
- export declare const createInsertSchema: CreateInsertSchema;
4
- export declare const createUpdateSchema: CreateUpdateSchema;
5
- export declare function createSchemaFactory(options?: CreateSchemaFactoryOptions): {
6
- createSelectSchema: CreateSelectSchema;
7
- createInsertSchema: CreateInsertSchema;
8
- createUpdateSchema: CreateUpdateSchema;
2
+ export declare const createSelectSchema: CreateSelectSchema<undefined>;
3
+ export declare const createInsertSchema: CreateInsertSchema<undefined>;
4
+ export declare const createUpdateSchema: CreateUpdateSchema<undefined>;
5
+ export declare function createSchemaFactory<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined>(options?: CreateSchemaFactoryOptions<TCoerce>): {
6
+ createSelectSchema: CreateSelectSchema<TCoerce>;
7
+ createInsertSchema: CreateInsertSchema<TCoerce>;
8
+ createUpdateSchema: CreateUpdateSchema<TCoerce>;
9
9
  };
@@ -1,23 +1,25 @@
1
1
  import type { Table, View } from 'drizzle-orm';
2
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
- import type { z } from 'zod';
3
+ import type { z } from 'zod/v4';
4
4
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.cjs";
5
- export interface CreateSelectSchema {
6
- <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
7
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
8
- <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
9
- <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
10
- <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<TEnum['enumValues']>;
5
+ export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
6
+ <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined, TCoerce>;
7
+ <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
8
+ <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
9
+ <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields'], TCoerce>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine, TCoerce>;
10
+ <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<{
11
+ [K in TEnum['enumValues'][number]]: K;
12
+ }>;
11
13
  }
12
- export interface CreateInsertSchema {
13
- <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
14
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
14
+ export interface CreateInsertSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
15
+ <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined, TCoerce>;
16
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine, TCoerce>;
15
17
  }
16
- export interface CreateUpdateSchema {
17
- <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
18
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
18
+ export interface CreateUpdateSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
19
+ <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined, TCoerce>;
20
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, TCoerce>;
19
21
  }
20
- export interface CreateSchemaFactoryOptions {
22
+ export interface CreateSchemaFactoryOptions<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
21
23
  zodInstance?: any;
22
- coerce?: Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true;
24
+ coerce?: TCoerce;
23
25
  }
@@ -1,23 +1,25 @@
1
1
  import type { Table, View } from 'drizzle-orm';
2
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
- import type { z } from 'zod';
3
+ import type { z } from 'zod/v4';
4
4
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.mjs";
5
- export interface CreateSelectSchema {
6
- <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
7
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
8
- <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
9
- <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
10
- <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<TEnum['enumValues']>;
5
+ export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
6
+ <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined, TCoerce>;
7
+ <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
8
+ <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
9
+ <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields'], TCoerce>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine, TCoerce>;
10
+ <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<{
11
+ [K in TEnum['enumValues'][number]]: K;
12
+ }>;
11
13
  }
12
- export interface CreateInsertSchema {
13
- <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
14
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
14
+ export interface CreateInsertSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
15
+ <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined, TCoerce>;
16
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine, TCoerce>;
15
17
  }
16
- export interface CreateUpdateSchema {
17
- <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
18
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
18
+ export interface CreateUpdateSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
19
+ <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined, TCoerce>;
20
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, TCoerce>;
19
21
  }
20
- export interface CreateSchemaFactoryOptions {
22
+ export interface CreateSchemaFactoryOptions<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
21
23
  zodInstance?: any;
22
- coerce?: Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true;
24
+ coerce?: TCoerce;
23
25
  }
package/schema.types.d.ts CHANGED
@@ -1,23 +1,25 @@
1
1
  import type { Table, View } from 'drizzle-orm';
2
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
- import type { z } from 'zod';
3
+ import type { z } from 'zod/v4';
4
4
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from './schema.types.internal.js';
5
- export interface CreateSelectSchema {
6
- <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
7
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
8
- <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
9
- <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
10
- <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<TEnum['enumValues']>;
5
+ export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
6
+ <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined, TCoerce>;
7
+ <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
8
+ <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
9
+ <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields'], TCoerce>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine, TCoerce>;
10
+ <TEnum extends PgEnum<any>>(enum_: TEnum): z.ZodEnum<{
11
+ [K in TEnum['enumValues'][number]]: K;
12
+ }>;
11
13
  }
12
- export interface CreateInsertSchema {
13
- <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
14
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
14
+ export interface CreateInsertSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
15
+ <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined, TCoerce>;
16
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferInsert']>): BuildSchema<'insert', TTable['_']['columns'], TRefine, TCoerce>;
15
17
  }
16
- export interface CreateUpdateSchema {
17
- <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
18
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
18
+ export interface CreateUpdateSchema<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
19
+ <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined, TCoerce>;
20
+ <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof TTable['$inferInsert']>, TCoerce>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine, TCoerce>;
19
21
  }
20
- export interface CreateSchemaFactoryOptions {
22
+ export interface CreateSchemaFactoryOptions<TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> {
21
23
  zodInstance?: any;
22
- coerce?: Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true;
24
+ coerce?: TCoerce;
23
25
  }
@@ -1,24 +1,22 @@
1
1
  import type { Assume, Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
2
- import type { z } from 'zod';
3
- import type { GetBaseColumn, GetEnumValuesFromColumn, GetZodType, HandleColumn } from "./column.types.cjs";
4
- import type { GetSelection, RemoveNever } from "./utils.cjs";
2
+ import type { z } from 'zod/v4';
3
+ import type { GetZodType, HandleColumn } from "./column.types.cjs";
4
+ import type { ColumnIsGeneratedAlwaysAs, GetSelection } from "./utils.cjs";
5
5
  export interface Conditions {
6
6
  never: (column?: Column) => boolean;
7
7
  optional: (column: Column) => boolean;
8
8
  nullable: (column: Column) => boolean;
9
9
  }
10
- export type BuildRefineColumns<TColumns extends Record<string, any>> = Simplify<RemoveNever<{
11
- [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? GetZodType<TColumn['_']['data'], TColumn['_']['dataType'], TColumn['_']['columnType'], GetEnumValuesFromColumn<TColumn>, GetBaseColumn<TColumn>> extends infer TSchema extends z.ZodTypeAny ? TSchema : z.ZodAny : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildRefineColumns<GetSelection<TObject>> : TColumns[K];
12
- }>>;
13
- export type BuildRefine<TColumns extends Record<string, any>> = BuildRefineColumns<TColumns> extends infer TBuildColumns ? {
14
- [K in keyof TBuildColumns]?: TBuildColumns[K] extends z.ZodTypeAny ? ((schema: TBuildColumns[K]) => z.ZodTypeAny) | z.ZodTypeAny : TBuildColumns[K] extends Record<string, any> ? Simplify<BuildRefine<TBuildColumns[K]>> : never;
15
- } : never;
16
- type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement extends z.ZodTypeAny | ((schema: z.ZodTypeAny) => z.ZodTypeAny), TColumn extends Column> = TRefinement extends (schema: any) => z.ZodTypeAny ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : z.ZodNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? z.ZodOptional<Assume<TSchema, z.ZodTypeAny>> : TSchema : z.ZodTypeAny : TRefinement;
17
- type IsRefinementDefined<TRefinements, TKey extends string> = TKey extends keyof TRefinements ? TRefinements[TKey] extends z.ZodTypeAny | ((schema: any) => any) ? true : false : false;
18
- export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = z.ZodObject<Simplify<RemoveNever<{
19
- [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? TRefinements extends object ? IsRefinementDefined<TRefinements, Assume<K, string>> extends true ? HandleRefinement<TType, TRefinements[Assume<K, keyof TRefinements>], TColumn> : HandleColumn<TType, TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[Assume<K, keyof TRefinements>] extends infer TNestedRefinements extends object ? TNestedRefinements : undefined : undefined> : z.ZodAny;
20
- }>>, 'strip'>;
10
+ type BuildRefineField<T> = T extends z.ZodType ? ((schema: T) => z.ZodType) | z.ZodType : never;
11
+ export type BuildRefine<TColumns extends Record<string, any>, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = {
12
+ [K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetZodType<TColumns[K], TCoerce>> : BuildRefine<GetSelection<TColumns[K]>, TCoerce>;
13
+ };
14
+ type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => z.ZodType ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : z.ZodNullable<ReturnType<TRefinement>>) extends infer TSchema extends z.ZodType ? TType extends 'update' ? z.ZodOptional<TSchema> : TSchema : z.ZodType : TRefinement;
15
+ type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends z.ZodType | ((schema: any) => any) ? true : false : false;
16
+ export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = z.ZodObject<Simplify<{
17
+ [K in keyof TColumns as ColumnIsGeneratedAlwaysAs<TColumns[K]> extends true ? never : K]: TColumns[K] extends infer TColumn extends Column ? IsRefinementDefined<TRefinements, K> extends true ? Assume<HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn>, z.ZodType> : HandleColumn<TType, TColumn, TCoerce> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined, TCoerce> : z.ZodAny;
18
+ }>, {}, {}>;
21
19
  export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
22
- [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, z.ZodTypeAny> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
20
+ [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, z.ZodType> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
23
21
  };
24
22
  export {};
@@ -1,24 +1,22 @@
1
1
  import type { Assume, Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
2
- import type { z } from 'zod';
3
- import type { GetBaseColumn, GetEnumValuesFromColumn, GetZodType, HandleColumn } from "./column.types.mjs";
4
- import type { GetSelection, RemoveNever } from "./utils.mjs";
2
+ import type { z } from 'zod/v4';
3
+ import type { GetZodType, HandleColumn } from "./column.types.mjs";
4
+ import type { ColumnIsGeneratedAlwaysAs, GetSelection } from "./utils.mjs";
5
5
  export interface Conditions {
6
6
  never: (column?: Column) => boolean;
7
7
  optional: (column: Column) => boolean;
8
8
  nullable: (column: Column) => boolean;
9
9
  }
10
- export type BuildRefineColumns<TColumns extends Record<string, any>> = Simplify<RemoveNever<{
11
- [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? GetZodType<TColumn['_']['data'], TColumn['_']['dataType'], TColumn['_']['columnType'], GetEnumValuesFromColumn<TColumn>, GetBaseColumn<TColumn>> extends infer TSchema extends z.ZodTypeAny ? TSchema : z.ZodAny : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildRefineColumns<GetSelection<TObject>> : TColumns[K];
12
- }>>;
13
- export type BuildRefine<TColumns extends Record<string, any>> = BuildRefineColumns<TColumns> extends infer TBuildColumns ? {
14
- [K in keyof TBuildColumns]?: TBuildColumns[K] extends z.ZodTypeAny ? ((schema: TBuildColumns[K]) => z.ZodTypeAny) | z.ZodTypeAny : TBuildColumns[K] extends Record<string, any> ? Simplify<BuildRefine<TBuildColumns[K]>> : never;
15
- } : never;
16
- type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement extends z.ZodTypeAny | ((schema: z.ZodTypeAny) => z.ZodTypeAny), TColumn extends Column> = TRefinement extends (schema: any) => z.ZodTypeAny ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : z.ZodNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? z.ZodOptional<Assume<TSchema, z.ZodTypeAny>> : TSchema : z.ZodTypeAny : TRefinement;
17
- type IsRefinementDefined<TRefinements, TKey extends string> = TKey extends keyof TRefinements ? TRefinements[TKey] extends z.ZodTypeAny | ((schema: any) => any) ? true : false : false;
18
- export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = z.ZodObject<Simplify<RemoveNever<{
19
- [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? TRefinements extends object ? IsRefinementDefined<TRefinements, Assume<K, string>> extends true ? HandleRefinement<TType, TRefinements[Assume<K, keyof TRefinements>], TColumn> : HandleColumn<TType, TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[Assume<K, keyof TRefinements>] extends infer TNestedRefinements extends object ? TNestedRefinements : undefined : undefined> : z.ZodAny;
20
- }>>, 'strip'>;
10
+ type BuildRefineField<T> = T extends z.ZodType ? ((schema: T) => z.ZodType) | z.ZodType : never;
11
+ export type BuildRefine<TColumns extends Record<string, any>, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = {
12
+ [K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetZodType<TColumns[K], TCoerce>> : BuildRefine<GetSelection<TColumns[K]>, TCoerce>;
13
+ };
14
+ type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => z.ZodType ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : z.ZodNullable<ReturnType<TRefinement>>) extends infer TSchema extends z.ZodType ? TType extends 'update' ? z.ZodOptional<TSchema> : TSchema : z.ZodType : TRefinement;
15
+ type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends z.ZodType | ((schema: any) => any) ? true : false : false;
16
+ export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = z.ZodObject<Simplify<{
17
+ [K in keyof TColumns as ColumnIsGeneratedAlwaysAs<TColumns[K]> extends true ? never : K]: TColumns[K] extends infer TColumn extends Column ? IsRefinementDefined<TRefinements, K> extends true ? Assume<HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn>, z.ZodType> : HandleColumn<TType, TColumn, TCoerce> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined, TCoerce> : z.ZodAny;
18
+ }>, {}, {}>;
21
19
  export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
22
- [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, z.ZodTypeAny> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
20
+ [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, z.ZodType> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
23
21
  };
24
22
  export {};
@@ -1,24 +1,22 @@
1
1
  import type { Assume, Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
2
- import type { z } from 'zod';
3
- import type { GetBaseColumn, GetEnumValuesFromColumn, GetZodType, HandleColumn } from './column.types.js';
4
- import type { GetSelection, RemoveNever } from './utils.js';
2
+ import type { z } from 'zod/v4';
3
+ import type { GetZodType, HandleColumn } from './column.types.js';
4
+ import type { ColumnIsGeneratedAlwaysAs, GetSelection } from './utils.js';
5
5
  export interface Conditions {
6
6
  never: (column?: Column) => boolean;
7
7
  optional: (column: Column) => boolean;
8
8
  nullable: (column: Column) => boolean;
9
9
  }
10
- export type BuildRefineColumns<TColumns extends Record<string, any>> = Simplify<RemoveNever<{
11
- [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? GetZodType<TColumn['_']['data'], TColumn['_']['dataType'], TColumn['_']['columnType'], GetEnumValuesFromColumn<TColumn>, GetBaseColumn<TColumn>> extends infer TSchema extends z.ZodTypeAny ? TSchema : z.ZodAny : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildRefineColumns<GetSelection<TObject>> : TColumns[K];
12
- }>>;
13
- export type BuildRefine<TColumns extends Record<string, any>> = BuildRefineColumns<TColumns> extends infer TBuildColumns ? {
14
- [K in keyof TBuildColumns]?: TBuildColumns[K] extends z.ZodTypeAny ? ((schema: TBuildColumns[K]) => z.ZodTypeAny) | z.ZodTypeAny : TBuildColumns[K] extends Record<string, any> ? Simplify<BuildRefine<TBuildColumns[K]>> : never;
15
- } : never;
16
- type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement extends z.ZodTypeAny | ((schema: z.ZodTypeAny) => z.ZodTypeAny), TColumn extends Column> = TRefinement extends (schema: any) => z.ZodTypeAny ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : z.ZodNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? z.ZodOptional<Assume<TSchema, z.ZodTypeAny>> : TSchema : z.ZodTypeAny : TRefinement;
17
- type IsRefinementDefined<TRefinements, TKey extends string> = TKey extends keyof TRefinements ? TRefinements[TKey] extends z.ZodTypeAny | ((schema: any) => any) ? true : false : false;
18
- export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = z.ZodObject<Simplify<RemoveNever<{
19
- [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? TRefinements extends object ? IsRefinementDefined<TRefinements, Assume<K, string>> extends true ? HandleRefinement<TType, TRefinements[Assume<K, keyof TRefinements>], TColumn> : HandleColumn<TType, TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[Assume<K, keyof TRefinements>] extends infer TNestedRefinements extends object ? TNestedRefinements : undefined : undefined> : z.ZodAny;
20
- }>>, 'strip'>;
10
+ type BuildRefineField<T> = T extends z.ZodType ? ((schema: T) => z.ZodType) | z.ZodType : never;
11
+ export type BuildRefine<TColumns extends Record<string, any>, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = {
12
+ [K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetZodType<TColumns[K], TCoerce>> : BuildRefine<GetSelection<TColumns[K]>, TCoerce>;
13
+ };
14
+ type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => z.ZodType ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : z.ZodNullable<ReturnType<TRefinement>>) extends infer TSchema extends z.ZodType ? TType extends 'update' ? z.ZodOptional<TSchema> : TSchema : z.ZodType : TRefinement;
15
+ type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends z.ZodType | ((schema: any) => any) ? true : false : false;
16
+ export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = z.ZodObject<Simplify<{
17
+ [K in keyof TColumns as ColumnIsGeneratedAlwaysAs<TColumns[K]> extends true ? never : K]: TColumns[K] extends infer TColumn extends Column ? IsRefinementDefined<TRefinements, K> extends true ? Assume<HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn>, z.ZodType> : HandleColumn<TType, TColumn, TCoerce> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined, TCoerce> : z.ZodAny;
18
+ }>, {}, {}>;
21
19
  export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
22
- [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, z.ZodTypeAny> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
20
+ [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, z.ZodType> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
23
21
  };
24
22
  export {};
package/utils.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Column, SelectedFieldsFlat, Table, View } from 'drizzle-orm';
2
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
- import type { z } from 'zod';
3
+ import type { z } from 'zod/v4';
4
4
  import type { literalSchema } from "./column.cjs";
5
5
  export declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
6
6
  export declare function isWithEnum(column: Column): column is typeof column & {
@@ -12,12 +12,9 @@ export type Json = Literal | {
12
12
  [key: string]: any;
13
13
  } | any[];
14
14
  export type IsNever<T> = [T] extends [never] ? true : false;
15
- export type ArrayHasAtLeastOneValue<TEnum extends [any, ...any[]] | undefined> = TEnum extends [infer TString, ...any[]] ? TString extends `${infer TLiteral}` ? TLiteral extends any ? true : false : false : false;
16
- export type ColumnIsGeneratedAlwaysAs<TColumn extends Column> = TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends undefined ? false : TColumn['_']['generated'] extends infer TGenerated extends {
17
- type: string;
18
- } ? TGenerated['type'] extends 'byDefault' ? false : true : true;
19
- export type RemoveNever<T> = {
20
- [K in keyof T as T[K] extends never ? never : K]: T[K];
21
- };
15
+ export type IsEnumDefined<TEnum extends string[] | undefined> = [string, ...string[]] extends TEnum ? false : undefined extends TEnum ? false : true;
16
+ export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends {
17
+ type: 'byDefault';
18
+ } | undefined ? false : true : false;
22
19
  export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
23
20
  export {};
package/utils.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Column, SelectedFieldsFlat, Table, View } from 'drizzle-orm';
2
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
- import type { z } from 'zod';
3
+ import type { z } from 'zod/v4';
4
4
  import type { literalSchema } from "./column.mjs";
5
5
  export declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
6
6
  export declare function isWithEnum(column: Column): column is typeof column & {
@@ -12,12 +12,9 @@ export type Json = Literal | {
12
12
  [key: string]: any;
13
13
  } | any[];
14
14
  export type IsNever<T> = [T] extends [never] ? true : false;
15
- export type ArrayHasAtLeastOneValue<TEnum extends [any, ...any[]] | undefined> = TEnum extends [infer TString, ...any[]] ? TString extends `${infer TLiteral}` ? TLiteral extends any ? true : false : false : false;
16
- export type ColumnIsGeneratedAlwaysAs<TColumn extends Column> = TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends undefined ? false : TColumn['_']['generated'] extends infer TGenerated extends {
17
- type: string;
18
- } ? TGenerated['type'] extends 'byDefault' ? false : true : true;
19
- export type RemoveNever<T> = {
20
- [K in keyof T as T[K] extends never ? never : K]: T[K];
21
- };
15
+ export type IsEnumDefined<TEnum extends string[] | undefined> = [string, ...string[]] extends TEnum ? false : undefined extends TEnum ? false : true;
16
+ export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends {
17
+ type: 'byDefault';
18
+ } | undefined ? false : true : false;
22
19
  export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
23
20
  export {};
package/utils.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Column, SelectedFieldsFlat, Table, View } from 'drizzle-orm';
2
2
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
- import type { z } from 'zod';
3
+ import type { z } from 'zod/v4';
4
4
  import type { literalSchema } from './column.js';
5
5
  export declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
6
6
  export declare function isWithEnum(column: Column): column is typeof column & {
@@ -12,12 +12,9 @@ export type Json = Literal | {
12
12
  [key: string]: any;
13
13
  } | any[];
14
14
  export type IsNever<T> = [T] extends [never] ? true : false;
15
- export type ArrayHasAtLeastOneValue<TEnum extends [any, ...any[]] | undefined> = TEnum extends [infer TString, ...any[]] ? TString extends `${infer TLiteral}` ? TLiteral extends any ? true : false : false : false;
16
- export type ColumnIsGeneratedAlwaysAs<TColumn extends Column> = TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends undefined ? false : TColumn['_']['generated'] extends infer TGenerated extends {
17
- type: string;
18
- } ? TGenerated['type'] extends 'byDefault' ? false : true : true;
19
- export type RemoveNever<T> = {
20
- [K in keyof T as T[K] extends never ? never : K]: T[K];
21
- };
15
+ export type IsEnumDefined<TEnum extends string[] | undefined> = [string, ...string[]] extends TEnum ? false : undefined extends TEnum ? false : true;
16
+ export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends {
17
+ type: 'byDefault';
18
+ } | undefined ? false : true : false;
22
19
  export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
23
20
  export {};