drizzle-zod 0.8.1-581277d → 0.8.2-08bb2d5

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
@@ -2,7 +2,7 @@ import type { Column } from 'drizzle-orm';
2
2
  import { z as zod } 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: any;
5
+ export declare const literalSchema: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>;
6
6
  export declare const jsonSchema: zod.ZodType<Json>;
7
7
  export declare const bufferSchema: zod.ZodType<Buffer>;
8
8
  export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions<Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> | undefined): zod.ZodType;
package/column.d.mts CHANGED
@@ -2,7 +2,7 @@ import type { Column } from 'drizzle-orm';
2
2
  import { z as zod } 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: any;
5
+ export declare const literalSchema: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>;
6
6
  export declare const jsonSchema: zod.ZodType<Json>;
7
7
  export declare const bufferSchema: zod.ZodType<Buffer>;
8
8
  export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions<Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> | undefined): zod.ZodType;
package/column.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { Column } from 'drizzle-orm';
2
2
  import { z as zod } 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: any;
5
+ export declare const literalSchema: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>;
6
6
  export declare const jsonSchema: zod.ZodType<Json>;
7
7
  export declare const bufferSchema: zod.ZodType<Buffer>;
8
8
  export declare function columnToSchema(column: Column, factory: CreateSchemaFactoryOptions<Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> | undefined): zod.ZodType;
@@ -6,16 +6,18 @@ type HasBaseColumn<TColumn> = TColumn extends {
6
6
  baseColumn: Column | undefined;
7
7
  };
8
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<{
9
+ type IsBigIntStringMode<TColumn extends Column> = TColumn['_']['columnType'] extends 'MsSqlBigInt' ? TColumn['_']['data'] extends string ? true : false : false;
10
+ 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' | 'CockroachUUID' ? z.ZodUUID : IsEnumDefined<TColumn['_']['enumValues']> extends true ? z.ZodEnum<{
10
11
  [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
+ }> : TColumn['_']['columnType'] extends 'PgGeometry' | 'PgPointTuple' | 'CockroachGeometry' ? 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' | 'CockroachJsonb' ? z.ZodType<TColumn['_']['data'], TColumn['_']['data']> : z.ZodObject<{
12
13
  [K in keyof TColumn['_']['data']]: GetZodPrimitiveType<TColumn['_']['data'][K], '', TCoerce>;
13
14
  }, {
14
15
  out: {};
15
16
  in: {};
16
- }> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
17
+ }> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : IsBigIntStringMode<TColumn> extends true ? z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>, z.ZodBigInt>, z.ZodTransform<string, bigint>> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
17
18
  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;
18
- 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;
19
+ type IsIntegerColumnType<TData, TColumnType> = TColumnType extends 'MySqlTinyInt' | 'SingleStoreTinyInt' | 'PgSmallInt' | 'PgSmallSerial' | 'MySqlSmallInt' | 'MySqlMediumInt' | 'SingleStoreSmallInt' | 'SingleStoreMediumInt' | 'PgInteger' | 'PgSerial' | 'MySqlInt' | 'SingleStoreInt' | 'PgBigInt53' | 'PgBigSerial53' | 'MySqlBigInt53' | 'MySqlSerial' | 'SingleStoreBigInt53' | 'SingleStoreSerial' | 'SQLiteInteger' | 'MySqlYear' | 'SingleStoreYear' | 'MsSqlTinyInt' | 'MsSqlSmallInt' | 'MsSqlInt' | 'CockroachInteger' | 'CockroachBigInt53' | 'CockroachSmallInt' ? true : TColumnType extends 'MsSqlBigInt' ? TData extends number ? true : false : false;
20
+ type GetZodPrimitiveType<TData, TColumnType, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = IsIntegerColumnType<TData, TColumnType> extends true ? 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;
19
21
  type HandleSelectColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
20
22
  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>>;
21
23
  type HandleUpdateColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
@@ -6,16 +6,18 @@ type HasBaseColumn<TColumn> = TColumn extends {
6
6
  baseColumn: Column | undefined;
7
7
  };
8
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<{
9
+ type IsBigIntStringMode<TColumn extends Column> = TColumn['_']['columnType'] extends 'MsSqlBigInt' ? TColumn['_']['data'] extends string ? true : false : false;
10
+ 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' | 'CockroachUUID' ? z.ZodUUID : IsEnumDefined<TColumn['_']['enumValues']> extends true ? z.ZodEnum<{
10
11
  [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
+ }> : TColumn['_']['columnType'] extends 'PgGeometry' | 'PgPointTuple' | 'CockroachGeometry' ? 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' | 'CockroachJsonb' ? z.ZodType<TColumn['_']['data'], TColumn['_']['data']> : z.ZodObject<{
12
13
  [K in keyof TColumn['_']['data']]: GetZodPrimitiveType<TColumn['_']['data'][K], '', TCoerce>;
13
14
  }, {
14
15
  out: {};
15
16
  in: {};
16
- }> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
17
+ }> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : IsBigIntStringMode<TColumn> extends true ? z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>, z.ZodBigInt>, z.ZodTransform<string, bigint>> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
17
18
  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;
18
- 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;
19
+ type IsIntegerColumnType<TData, TColumnType> = TColumnType extends 'MySqlTinyInt' | 'SingleStoreTinyInt' | 'PgSmallInt' | 'PgSmallSerial' | 'MySqlSmallInt' | 'MySqlMediumInt' | 'SingleStoreSmallInt' | 'SingleStoreMediumInt' | 'PgInteger' | 'PgSerial' | 'MySqlInt' | 'SingleStoreInt' | 'PgBigInt53' | 'PgBigSerial53' | 'MySqlBigInt53' | 'MySqlSerial' | 'SingleStoreBigInt53' | 'SingleStoreSerial' | 'SQLiteInteger' | 'MySqlYear' | 'SingleStoreYear' | 'MsSqlTinyInt' | 'MsSqlSmallInt' | 'MsSqlInt' | 'CockroachInteger' | 'CockroachBigInt53' | 'CockroachSmallInt' ? true : TColumnType extends 'MsSqlBigInt' ? TData extends number ? true : false : false;
20
+ type GetZodPrimitiveType<TData, TColumnType, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = IsIntegerColumnType<TData, TColumnType> extends true ? 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;
19
21
  type HandleSelectColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
20
22
  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>>;
21
23
  type HandleUpdateColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
package/column.types.d.ts CHANGED
@@ -6,16 +6,18 @@ type HasBaseColumn<TColumn> = TColumn extends {
6
6
  baseColumn: Column | undefined;
7
7
  };
8
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<{
9
+ type IsBigIntStringMode<TColumn extends Column> = TColumn['_']['columnType'] extends 'MsSqlBigInt' ? TColumn['_']['data'] extends string ? true : false : false;
10
+ 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' | 'CockroachUUID' ? z.ZodUUID : IsEnumDefined<TColumn['_']['enumValues']> extends true ? z.ZodEnum<{
10
11
  [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
+ }> : TColumn['_']['columnType'] extends 'PgGeometry' | 'PgPointTuple' | 'CockroachGeometry' ? 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' | 'CockroachJsonb' ? z.ZodType<TColumn['_']['data'], TColumn['_']['data']> : z.ZodObject<{
12
13
  [K in keyof TColumn['_']['data']]: GetZodPrimitiveType<TColumn['_']['data'][K], '', TCoerce>;
13
14
  }, {
14
15
  out: {};
15
16
  in: {};
16
- }> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
17
+ }> : TColumn['_']['dataType'] extends 'json' ? z.ZodType<Json> : IsBigIntStringMode<TColumn> extends true ? z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>, z.ZodBigInt>, z.ZodTransform<string, bigint>> : GetZodPrimitiveType<TColumn['_']['data'], TColumn['_']['columnType'], TCoerce>;
17
18
  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;
18
- 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;
19
+ type IsIntegerColumnType<TData, TColumnType> = TColumnType extends 'MySqlTinyInt' | 'SingleStoreTinyInt' | 'PgSmallInt' | 'PgSmallSerial' | 'MySqlSmallInt' | 'MySqlMediumInt' | 'SingleStoreSmallInt' | 'SingleStoreMediumInt' | 'PgInteger' | 'PgSerial' | 'MySqlInt' | 'SingleStoreInt' | 'PgBigInt53' | 'PgBigSerial53' | 'MySqlBigInt53' | 'MySqlSerial' | 'SingleStoreBigInt53' | 'SingleStoreSerial' | 'SQLiteInteger' | 'MySqlYear' | 'SingleStoreYear' | 'MsSqlTinyInt' | 'MsSqlSmallInt' | 'MsSqlInt' | 'CockroachInteger' | 'CockroachBigInt53' | 'CockroachSmallInt' ? true : TColumnType extends 'MsSqlBigInt' ? TData extends number ? true : false : false;
20
+ type GetZodPrimitiveType<TData, TColumnType, TCoerce extends Partial<Record<'bigint' | 'boolean' | 'date' | 'number' | 'string', true>> | true | undefined> = IsIntegerColumnType<TData, TColumnType> extends true ? 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;
19
21
  type HandleSelectColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : z.ZodNullable<TSchema>;
20
22
  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>>;
21
23
  type HandleUpdateColumn<TSchema extends z.ZodType, TColumn extends Column> = TColumn['_']['notNull'] extends true ? z.ZodOptional<TSchema> : z.ZodOptional<z.ZodNullable<TSchema>>;
package/index.cjs CHANGED
@@ -48,13 +48,26 @@ function columnToSchema(column, factory) {
48
48
  }
49
49
  if (!schema) {
50
50
  // Handle specific types
51
- if (isColumnType(column, ['PgGeometry', 'PgPointTuple'])) {
51
+ if (isColumnType(column, [
52
+ 'PgGeometry',
53
+ 'PgPointTuple',
54
+ 'CockroachGeometry',
55
+ ])) {
52
56
  schema = z.tuple([z.number(), z.number()]);
53
57
  }
54
- else if (isColumnType(column, ['PgGeometryObject', 'PgPointObject'])) {
58
+ else if (isColumnType(column, [
59
+ 'PgGeometryObject',
60
+ 'PgPointObject',
61
+ 'CockroachGeometryObject',
62
+ ])) {
55
63
  schema = z.object({ x: z.number(), y: z.number() });
56
64
  }
57
- else if (isColumnType(column, ['PgHalfVector', 'PgVector'])) {
65
+ else if (isColumnType(column, [
66
+ 'PgHalfVector',
67
+ 'PgVector',
68
+ 'SingleStoreVector',
69
+ 'CockroachVector',
70
+ ])) {
58
71
  schema = z.array(z.number());
59
72
  schema = column.dimensions ? schema.length(column.dimensions) : schema;
60
73
  }
@@ -68,7 +81,7 @@ function columnToSchema(column, factory) {
68
81
  c: z.number(),
69
82
  });
70
83
  } // Handle other types
71
- else if (isColumnType(column, ['PgArray'])) {
84
+ else if (isColumnType(column, ['PgArray', 'CockroachArray'])) {
72
85
  schema = z.array(columnToSchema(column.baseColumn, factory));
73
86
  schema = column.size ? schema.length(column.size) : schema;
74
87
  }
@@ -106,11 +119,15 @@ function columnToSchema(column, factory) {
106
119
  return schema;
107
120
  }
108
121
  function numberColumnToSchema(column, z, coerce) {
109
- let unsigned = column.getSQLType().includes('unsigned');
122
+ let unsigned = column.getSQLType().includes('unsigned') || isColumnType(column, ['MsSqlTinyInt']);
110
123
  let min;
111
124
  let max;
112
125
  let integer = false;
113
- if (isColumnType(column, ['MySqlTinyInt', 'SingleStoreTinyInt'])) {
126
+ if (isColumnType(column, [
127
+ 'MySqlTinyInt',
128
+ 'SingleStoreTinyInt',
129
+ 'MsSqlTinyInt',
130
+ ])) {
114
131
  min = unsigned ? 0 : CONSTANTS.INT8_MIN;
115
132
  max = unsigned ? CONSTANTS.INT8_UNSIGNED_MAX : CONSTANTS.INT8_MAX;
116
133
  integer = true;
@@ -120,6 +137,8 @@ function numberColumnToSchema(column, z, coerce) {
120
137
  'PgSmallSerial',
121
138
  'MySqlSmallInt',
122
139
  'SingleStoreSmallInt',
140
+ 'MsSqlSmallInt',
141
+ 'CockroachSmallInt',
123
142
  ])) {
124
143
  min = unsigned ? 0 : CONSTANTS.INT16_MIN;
125
144
  max = unsigned ? CONSTANTS.INT16_UNSIGNED_MAX : CONSTANTS.INT16_MAX;
@@ -131,6 +150,8 @@ function numberColumnToSchema(column, z, coerce) {
131
150
  'MySqlMediumInt',
132
151
  'SingleStoreMediumInt',
133
152
  'SingleStoreFloat',
153
+ 'MsSqlReal',
154
+ 'CockroachReal',
134
155
  ])) {
135
156
  min = unsigned ? 0 : CONSTANTS.INT24_MIN;
136
157
  max = unsigned ? CONSTANTS.INT24_UNSIGNED_MAX : CONSTANTS.INT24_MAX;
@@ -141,6 +162,8 @@ function numberColumnToSchema(column, z, coerce) {
141
162
  'PgSerial',
142
163
  'MySqlInt',
143
164
  'SingleStoreInt',
165
+ 'MsSqlInt',
166
+ 'CockroachInteger',
144
167
  ])) {
145
168
  min = unsigned ? 0 : CONSTANTS.INT32_MIN;
146
169
  max = unsigned ? CONSTANTS.INT32_UNSIGNED_MAX : CONSTANTS.INT32_MAX;
@@ -153,6 +176,8 @@ function numberColumnToSchema(column, z, coerce) {
153
176
  'SingleStoreReal',
154
177
  'SingleStoreDouble',
155
178
  'SQLiteReal',
179
+ 'MsSqlFloat',
180
+ 'CockroachFloat',
156
181
  ])) {
157
182
  min = unsigned ? 0 : CONSTANTS.INT48_MIN;
158
183
  max = unsigned ? CONSTANTS.INT48_UNSIGNED_MAX : CONSTANTS.INT48_MAX;
@@ -162,14 +187,18 @@ function numberColumnToSchema(column, z, coerce) {
162
187
  'PgBigSerial53',
163
188
  'MySqlBigInt53',
164
189
  'MySqlSerial',
190
+ 'MySqlDecimalNumber',
165
191
  'SingleStoreBigInt53',
166
192
  'SingleStoreSerial',
193
+ 'SingleStoreDecimalNumber',
167
194
  'SQLiteInteger',
168
- ])) {
195
+ 'CockroachBigInt53',
196
+ ])
197
+ || (isColumnType(column, ['MsSqlBigInt']) && column.mode === 'number')) {
169
198
  unsigned = unsigned || isColumnType(column, ['MySqlSerial', 'SingleStoreSerial']);
170
199
  min = unsigned ? 0 : Number.MIN_SAFE_INTEGER;
171
200
  max = Number.MAX_SAFE_INTEGER;
172
- integer = true;
201
+ integer = !isColumnType(column, ['MySqlDecimalNumber', 'SingleStoreDecimalNumber']);
173
202
  }
174
203
  else if (isColumnType(column, ['MySqlYear', 'SingleStoreYear'])) {
175
204
  min = 1901;
@@ -181,14 +210,24 @@ function numberColumnToSchema(column, z, coerce) {
181
210
  max = Number.MAX_SAFE_INTEGER;
182
211
  }
183
212
  let schema = coerce === true || coerce?.number
184
- ? integer ? z.coerce.number() : z.coerce.number().int()
213
+ ? integer ? z.coerce.number().int() : z.coerce.number()
185
214
  : integer
186
215
  ? z.int()
187
216
  : z.number();
188
217
  schema = schema.gte(min).lte(max);
189
218
  return schema;
190
219
  }
220
+ /** @internal */
221
+ const bigintStringModeSchema = v4.z.string().regex(/^-?\d+$/).transform(BigInt).pipe(v4.z.bigint().gte(CONSTANTS.INT64_MIN).lte(CONSTANTS.INT64_MAX)).transform(String);
191
222
  function bigintColumnToSchema(column, z, coerce) {
223
+ if (isColumnType(column, ['MsSqlBigInt'])) {
224
+ if (column.mode === 'string') {
225
+ return bigintStringModeSchema;
226
+ }
227
+ else if (column.mode === 'number') {
228
+ return numberColumnToSchema(column, z, coerce);
229
+ }
230
+ }
192
231
  const unsigned = column.getSQLType().includes('unsigned');
193
232
  const min = unsigned ? 0n : CONSTANTS.INT64_MIN;
194
233
  const max = unsigned ? CONSTANTS.INT64_UNSIGNED_MAX : CONSTANTS.INT64_MAX;
@@ -196,13 +235,25 @@ function bigintColumnToSchema(column, z, coerce) {
196
235
  return schema.gte(min).lte(max);
197
236
  }
198
237
  function stringColumnToSchema(column, z, coerce) {
199
- if (isColumnType(column, ['PgUUID'])) {
238
+ if (isColumnType(column, ['PgUUID', 'CockroachUUID'])) {
200
239
  return z.uuid();
201
240
  }
202
241
  let max;
203
242
  let regex;
204
243
  let fixed = false;
205
- if (isColumnType(column, ['PgVarchar', 'SQLiteText'])) {
244
+ // Char columns are padded to a fixed length. The input can be equal or less than the set length
245
+ if (isColumnType(column, [
246
+ 'PgVarchar',
247
+ 'SQLiteText',
248
+ 'PgChar',
249
+ 'MySqlChar',
250
+ 'SingleStoreChar',
251
+ 'MsSqlChar',
252
+ 'MsSqlVarChar',
253
+ 'CockroachChar',
254
+ 'CockroachVarchar',
255
+ 'CockroachString',
256
+ ])) {
206
257
  max = column.length;
207
258
  }
208
259
  else if (isColumnType(column, ['MySqlVarChar', 'SingleStoreVarChar'])) {
@@ -222,15 +273,7 @@ function stringColumnToSchema(column, z, coerce) {
222
273
  max = CONSTANTS.INT8_UNSIGNED_MAX;
223
274
  }
224
275
  }
225
- if (isColumnType(column, [
226
- 'PgChar',
227
- 'MySqlChar',
228
- 'SingleStoreChar',
229
- ])) {
230
- max = column.length;
231
- fixed = true;
232
- }
233
- if (isColumnType(column, ['PgBinaryVector'])) {
276
+ if (isColumnType(column, ['PgBinaryVector', 'CockroachBinaryVector'])) {
234
277
  regex = /^[01]+$/;
235
278
  max = column.dimensions;
236
279
  }
@@ -285,12 +328,14 @@ const selectConditions = {
285
328
  nullable: (column) => !column.notNull,
286
329
  };
287
330
  const insertConditions = {
288
- never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
331
+ never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
332
+ || ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
289
333
  optional: (column) => !column.notNull || (column.notNull && column.hasDefault),
290
334
  nullable: (column) => !column.notNull,
291
335
  };
292
336
  const updateConditions = {
293
- never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
337
+ never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
338
+ || ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
294
339
  optional: () => true,
295
340
  nullable: (column) => !column.notNull,
296
341
  };
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":["zod","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView","z"],"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":["zod","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView","z"],"mappings":"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"}
package/index.mjs CHANGED
@@ -46,13 +46,26 @@ function columnToSchema(column, factory) {
46
46
  }
47
47
  if (!schema) {
48
48
  // Handle specific types
49
- if (isColumnType(column, ['PgGeometry', 'PgPointTuple'])) {
49
+ if (isColumnType(column, [
50
+ 'PgGeometry',
51
+ 'PgPointTuple',
52
+ 'CockroachGeometry',
53
+ ])) {
50
54
  schema = z$1.tuple([z$1.number(), z$1.number()]);
51
55
  }
52
- else if (isColumnType(column, ['PgGeometryObject', 'PgPointObject'])) {
56
+ else if (isColumnType(column, [
57
+ 'PgGeometryObject',
58
+ 'PgPointObject',
59
+ 'CockroachGeometryObject',
60
+ ])) {
53
61
  schema = z$1.object({ x: z$1.number(), y: z$1.number() });
54
62
  }
55
- else if (isColumnType(column, ['PgHalfVector', 'PgVector'])) {
63
+ else if (isColumnType(column, [
64
+ 'PgHalfVector',
65
+ 'PgVector',
66
+ 'SingleStoreVector',
67
+ 'CockroachVector',
68
+ ])) {
56
69
  schema = z$1.array(z$1.number());
57
70
  schema = column.dimensions ? schema.length(column.dimensions) : schema;
58
71
  }
@@ -66,7 +79,7 @@ function columnToSchema(column, factory) {
66
79
  c: z$1.number(),
67
80
  });
68
81
  } // Handle other types
69
- else if (isColumnType(column, ['PgArray'])) {
82
+ else if (isColumnType(column, ['PgArray', 'CockroachArray'])) {
70
83
  schema = z$1.array(columnToSchema(column.baseColumn, factory));
71
84
  schema = column.size ? schema.length(column.size) : schema;
72
85
  }
@@ -104,11 +117,15 @@ function columnToSchema(column, factory) {
104
117
  return schema;
105
118
  }
106
119
  function numberColumnToSchema(column, z, coerce) {
107
- let unsigned = column.getSQLType().includes('unsigned');
120
+ let unsigned = column.getSQLType().includes('unsigned') || isColumnType(column, ['MsSqlTinyInt']);
108
121
  let min;
109
122
  let max;
110
123
  let integer = false;
111
- if (isColumnType(column, ['MySqlTinyInt', 'SingleStoreTinyInt'])) {
124
+ if (isColumnType(column, [
125
+ 'MySqlTinyInt',
126
+ 'SingleStoreTinyInt',
127
+ 'MsSqlTinyInt',
128
+ ])) {
112
129
  min = unsigned ? 0 : CONSTANTS.INT8_MIN;
113
130
  max = unsigned ? CONSTANTS.INT8_UNSIGNED_MAX : CONSTANTS.INT8_MAX;
114
131
  integer = true;
@@ -118,6 +135,8 @@ function numberColumnToSchema(column, z, coerce) {
118
135
  'PgSmallSerial',
119
136
  'MySqlSmallInt',
120
137
  'SingleStoreSmallInt',
138
+ 'MsSqlSmallInt',
139
+ 'CockroachSmallInt',
121
140
  ])) {
122
141
  min = unsigned ? 0 : CONSTANTS.INT16_MIN;
123
142
  max = unsigned ? CONSTANTS.INT16_UNSIGNED_MAX : CONSTANTS.INT16_MAX;
@@ -129,6 +148,8 @@ function numberColumnToSchema(column, z, coerce) {
129
148
  'MySqlMediumInt',
130
149
  'SingleStoreMediumInt',
131
150
  'SingleStoreFloat',
151
+ 'MsSqlReal',
152
+ 'CockroachReal',
132
153
  ])) {
133
154
  min = unsigned ? 0 : CONSTANTS.INT24_MIN;
134
155
  max = unsigned ? CONSTANTS.INT24_UNSIGNED_MAX : CONSTANTS.INT24_MAX;
@@ -139,6 +160,8 @@ function numberColumnToSchema(column, z, coerce) {
139
160
  'PgSerial',
140
161
  'MySqlInt',
141
162
  'SingleStoreInt',
163
+ 'MsSqlInt',
164
+ 'CockroachInteger',
142
165
  ])) {
143
166
  min = unsigned ? 0 : CONSTANTS.INT32_MIN;
144
167
  max = unsigned ? CONSTANTS.INT32_UNSIGNED_MAX : CONSTANTS.INT32_MAX;
@@ -151,6 +174,8 @@ function numberColumnToSchema(column, z, coerce) {
151
174
  'SingleStoreReal',
152
175
  'SingleStoreDouble',
153
176
  'SQLiteReal',
177
+ 'MsSqlFloat',
178
+ 'CockroachFloat',
154
179
  ])) {
155
180
  min = unsigned ? 0 : CONSTANTS.INT48_MIN;
156
181
  max = unsigned ? CONSTANTS.INT48_UNSIGNED_MAX : CONSTANTS.INT48_MAX;
@@ -160,14 +185,18 @@ function numberColumnToSchema(column, z, coerce) {
160
185
  'PgBigSerial53',
161
186
  'MySqlBigInt53',
162
187
  'MySqlSerial',
188
+ 'MySqlDecimalNumber',
163
189
  'SingleStoreBigInt53',
164
190
  'SingleStoreSerial',
191
+ 'SingleStoreDecimalNumber',
165
192
  'SQLiteInteger',
166
- ])) {
193
+ 'CockroachBigInt53',
194
+ ])
195
+ || (isColumnType(column, ['MsSqlBigInt']) && column.mode === 'number')) {
167
196
  unsigned = unsigned || isColumnType(column, ['MySqlSerial', 'SingleStoreSerial']);
168
197
  min = unsigned ? 0 : Number.MIN_SAFE_INTEGER;
169
198
  max = Number.MAX_SAFE_INTEGER;
170
- integer = true;
199
+ integer = !isColumnType(column, ['MySqlDecimalNumber', 'SingleStoreDecimalNumber']);
171
200
  }
172
201
  else if (isColumnType(column, ['MySqlYear', 'SingleStoreYear'])) {
173
202
  min = 1901;
@@ -179,14 +208,24 @@ function numberColumnToSchema(column, z, coerce) {
179
208
  max = Number.MAX_SAFE_INTEGER;
180
209
  }
181
210
  let schema = coerce === true || coerce?.number
182
- ? integer ? z.coerce.number() : z.coerce.number().int()
211
+ ? integer ? z.coerce.number().int() : z.coerce.number()
183
212
  : integer
184
213
  ? z.int()
185
214
  : z.number();
186
215
  schema = schema.gte(min).lte(max);
187
216
  return schema;
188
217
  }
218
+ /** @internal */
219
+ const bigintStringModeSchema = z.string().regex(/^-?\d+$/).transform(BigInt).pipe(z.bigint().gte(CONSTANTS.INT64_MIN).lte(CONSTANTS.INT64_MAX)).transform(String);
189
220
  function bigintColumnToSchema(column, z, coerce) {
221
+ if (isColumnType(column, ['MsSqlBigInt'])) {
222
+ if (column.mode === 'string') {
223
+ return bigintStringModeSchema;
224
+ }
225
+ else if (column.mode === 'number') {
226
+ return numberColumnToSchema(column, z, coerce);
227
+ }
228
+ }
190
229
  const unsigned = column.getSQLType().includes('unsigned');
191
230
  const min = unsigned ? 0n : CONSTANTS.INT64_MIN;
192
231
  const max = unsigned ? CONSTANTS.INT64_UNSIGNED_MAX : CONSTANTS.INT64_MAX;
@@ -194,13 +233,25 @@ function bigintColumnToSchema(column, z, coerce) {
194
233
  return schema.gte(min).lte(max);
195
234
  }
196
235
  function stringColumnToSchema(column, z, coerce) {
197
- if (isColumnType(column, ['PgUUID'])) {
236
+ if (isColumnType(column, ['PgUUID', 'CockroachUUID'])) {
198
237
  return z.uuid();
199
238
  }
200
239
  let max;
201
240
  let regex;
202
241
  let fixed = false;
203
- if (isColumnType(column, ['PgVarchar', 'SQLiteText'])) {
242
+ // Char columns are padded to a fixed length. The input can be equal or less than the set length
243
+ if (isColumnType(column, [
244
+ 'PgVarchar',
245
+ 'SQLiteText',
246
+ 'PgChar',
247
+ 'MySqlChar',
248
+ 'SingleStoreChar',
249
+ 'MsSqlChar',
250
+ 'MsSqlVarChar',
251
+ 'CockroachChar',
252
+ 'CockroachVarchar',
253
+ 'CockroachString',
254
+ ])) {
204
255
  max = column.length;
205
256
  }
206
257
  else if (isColumnType(column, ['MySqlVarChar', 'SingleStoreVarChar'])) {
@@ -220,15 +271,7 @@ function stringColumnToSchema(column, z, coerce) {
220
271
  max = CONSTANTS.INT8_UNSIGNED_MAX;
221
272
  }
222
273
  }
223
- if (isColumnType(column, [
224
- 'PgChar',
225
- 'MySqlChar',
226
- 'SingleStoreChar',
227
- ])) {
228
- max = column.length;
229
- fixed = true;
230
- }
231
- if (isColumnType(column, ['PgBinaryVector'])) {
274
+ if (isColumnType(column, ['PgBinaryVector', 'CockroachBinaryVector'])) {
232
275
  regex = /^[01]+$/;
233
276
  max = column.dimensions;
234
277
  }
@@ -283,12 +326,14 @@ const selectConditions = {
283
326
  nullable: (column) => !column.notNull,
284
327
  };
285
328
  const insertConditions = {
286
- never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
329
+ never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
330
+ || ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
287
331
  optional: (column) => !column.notNull || (column.notNull && column.hasDefault),
288
332
  nullable: (column) => !column.notNull,
289
333
  };
290
334
  const updateConditions = {
291
- never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always',
335
+ never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
336
+ || ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
292
337
  optional: () => true,
293
338
  nullable: (column) => !column.notNull,
294
339
  };
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":["zod","z"],"mappings":"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"}
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":["zod","z"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-zod",
3
- "version": "0.8.1-581277d",
3
+ "version": "0.8.2-08bb2d5",
4
4
  "description": "Generate Zod schemas from Drizzle ORM schemas",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,4 +1,5 @@
1
1
  import type { Table, View } from 'drizzle-orm';
2
+ import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
2
3
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
4
  import type { z } from 'zod/v4';
4
5
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.cjs";
@@ -7,7 +8,7 @@ export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'b
7
8
  <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
8
9
  <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
9
10
  <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
+ <TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): z.ZodEnum<{
11
12
  [K in TEnum['enumValues'][number]]: K;
12
13
  }>;
13
14
  }
@@ -1,4 +1,5 @@
1
1
  import type { Table, View } from 'drizzle-orm';
2
+ import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
2
3
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
4
  import type { z } from 'zod/v4';
4
5
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.mjs";
@@ -7,7 +8,7 @@ export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'b
7
8
  <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
8
9
  <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
9
10
  <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
+ <TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): z.ZodEnum<{
11
12
  [K in TEnum['enumValues'][number]]: K;
12
13
  }>;
13
14
  }
package/schema.types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Table, View } from 'drizzle-orm';
2
+ import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
2
3
  import type { PgEnum } from 'drizzle-orm/pg-core';
3
4
  import type { z } from 'zod/v4';
4
5
  import type { BuildRefine, BuildSchema, NoUnknownKeys } from './schema.types.internal.js';
@@ -7,7 +8,7 @@ export interface CreateSelectSchema<TCoerce extends Partial<Record<'bigint' | 'b
7
8
  <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns'], TCoerce>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine, TCoerce>;
8
9
  <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined, TCoerce>;
9
10
  <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
+ <TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): z.ZodEnum<{
11
12
  [K in TEnum['enumValues'][number]]: K;
12
13
  }>;
13
14
  }
@@ -14,7 +14,7 @@ export type BuildRefine<TColumns extends Record<string, any>, TCoerce extends Pa
14
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
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
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;
17
+ [K in keyof TColumns as ColumnIsGeneratedAlwaysAs<TColumns[K]> extends true ? TType extends 'select' ? K : 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
18
  }>, {
19
19
  out: {};
20
20
  in: {};
@@ -14,7 +14,7 @@ export type BuildRefine<TColumns extends Record<string, any>, TCoerce extends Pa
14
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
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
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;
17
+ [K in keyof TColumns as ColumnIsGeneratedAlwaysAs<TColumns[K]> extends true ? TType extends 'select' ? K : 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
18
  }>, {
19
19
  out: {};
20
20
  in: {};
@@ -14,7 +14,7 @@ export type BuildRefine<TColumns extends Record<string, any>, TCoerce extends Pa
14
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
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
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;
17
+ [K in keyof TColumns as ColumnIsGeneratedAlwaysAs<TColumns[K]> extends true ? TType extends 'select' ? K : 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
18
  }>, {
19
19
  out: {};
20
20
  in: {};