drizzle-arktype 1.0.0-beta.6-7aaf14b → 1.0.0-beta.6-ca7bc8a

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/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["type","schema!: Type","min!: number","max!: number","baseSchema: Type","schema: Type","isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>","columnSchemas: Record<string, Type>","Column","SQL","type"],"sources":["../src/constants.ts","../src/column.ts","../src/utils.ts","../src/schema.ts"],"sourcesContent":["export const CONSTANTS = {\n\tINT8_MIN: -128,\n\tINT8_MAX: 127,\n\tINT8_UNSIGNED_MAX: 255,\n\tINT16_MIN: -32768,\n\tINT16_MAX: 32767,\n\tINT16_UNSIGNED_MAX: 65535,\n\tINT24_MIN: -8388608,\n\tINT24_MAX: 8388607,\n\tINT24_UNSIGNED_MAX: 16777215,\n\tINT32_MIN: -2147483648,\n\tINT32_MAX: 2147483647,\n\tINT32_UNSIGNED_MAX: 4294967295,\n\tINT48_MIN: -140737488355328,\n\tINT48_MAX: 140737488355327,\n\tINT48_UNSIGNED_MAX: 281474976710655,\n\tINT64_MIN: -9223372036854775808n,\n\tINT64_MAX: 9223372036854775807n,\n\tINT64_UNSIGNED_MAX: 18446744073709551615n,\n};\n","import { type Type, type } from 'arktype';\nimport {\n\ttype Column,\n\ttype ColumnDataArrayConstraint,\n\ttype ColumnDataBigIntConstraint,\n\ttype ColumnDataNumberConstraint,\n\ttype ColumnDataObjectConstraint,\n\ttype ColumnDataStringConstraint,\n\textractExtendedColumnType,\n\tgetColumnTable,\n\tgetTableName,\n} from 'drizzle-orm';\nimport { CONSTANTS } from './constants.ts';\n\nexport const literalSchema = type.string.or(type.number).or(type.boolean).or(type.null);\nexport const jsonSchema = literalSchema.or(type.unknown.as<any>().array()).or(type.object.as<Record<string, any>>());\nexport const bufferSchema = type.unknown.narrow((value) => value instanceof Buffer).as<Buffer>().describe(\n\t'a Buffer instance',\n);\n\nexport function columnToSchema(column: Column): Type {\n\tlet schema!: Type;\n\n\t// Check for PG array columns (have dimensions property instead of changing dataType)\n\tconst dimensions = (<{ dimensions?: number }> column).dimensions;\n\tif (typeof dimensions === 'number' && dimensions > 0) {\n\t\treturn pgArrayColumnToSchema(column, dimensions);\n\t}\n\n\tconst { type: columnType, constraint } = extractExtendedColumnType(column);\n\n\tswitch (columnType) {\n\t\tcase 'array': {\n\t\t\tschema = arrayColumnToSchema(column, constraint);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'object': {\n\t\t\tschema = objectColumnToSchema(column, constraint);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'number': {\n\t\t\tschema = numberColumnToSchema(column, constraint);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'bigint': {\n\t\t\tschema = bigintColumnToSchema(column, constraint);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'boolean': {\n\t\t\tschema = type.boolean;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'string': {\n\t\t\tschema = stringColumnToSchema(column, constraint);\n\t\t\tbreak;\n\t\t}\n\t\tcase 'custom': {\n\t\t\tschema = type.unknown;\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tschema = type.unknown;\n\t\t}\n\t}\n\n\treturn schema;\n}\n\nfunction numberColumnToSchema(column: Column, constraint: ColumnDataNumberConstraint | undefined): Type<number, any> {\n\tlet min!: number;\n\tlet max!: number;\n\tlet integer = false;\n\n\tswitch (constraint) {\n\t\tcase 'int8': {\n\t\t\tmin = CONSTANTS.INT8_MIN;\n\t\t\tmax = CONSTANTS.INT8_MAX;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'uint8': {\n\t\t\tmin = 0;\n\t\t\tmax = CONSTANTS.INT8_UNSIGNED_MAX;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'int16': {\n\t\t\tmin = CONSTANTS.INT16_MIN;\n\t\t\tmax = CONSTANTS.INT16_MAX;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'uint16': {\n\t\t\tmin = 0;\n\t\t\tmax = CONSTANTS.INT16_UNSIGNED_MAX;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'int24': {\n\t\t\tmin = CONSTANTS.INT24_MIN;\n\t\t\tmax = CONSTANTS.INT24_MAX;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'uint24': {\n\t\t\tmin = 0;\n\t\t\tmax = CONSTANTS.INT24_UNSIGNED_MAX;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'int32': {\n\t\t\tmin = CONSTANTS.INT32_MIN;\n\t\t\tmax = CONSTANTS.INT32_MAX;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'uint32': {\n\t\t\tmin = 0;\n\t\t\tmax = CONSTANTS.INT32_UNSIGNED_MAX;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'int53': {\n\t\t\tmin = Number.MIN_SAFE_INTEGER;\n\t\t\tmax = Number.MAX_SAFE_INTEGER;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'uint53': {\n\t\t\tmin = 0;\n\t\t\tmax = Number.MAX_SAFE_INTEGER;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'float': {\n\t\t\tmin = CONSTANTS.INT24_MIN;\n\t\t\tmax = CONSTANTS.INT24_MAX;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'ufloat': {\n\t\t\tmin = 0;\n\t\t\tmax = CONSTANTS.INT24_UNSIGNED_MAX;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'double': {\n\t\t\tmin = CONSTANTS.INT48_MIN;\n\t\t\tmax = CONSTANTS.INT48_MAX;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'udouble': {\n\t\t\tmin = 0;\n\t\t\tmax = CONSTANTS.INT48_UNSIGNED_MAX;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'year': {\n\t\t\tmin = 1901;\n\t\t\tmax = 2155;\n\t\t\tinteger = true;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'unsigned': {\n\t\t\tmin = 0;\n\t\t\tmax = Number.MAX_SAFE_INTEGER;\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tmin = Number.MIN_SAFE_INTEGER;\n\t\t\tmax = Number.MAX_SAFE_INTEGER;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn (integer ? type.keywords.number.integer : type.number).atLeast(min).atMost(max);\n}\n\nfunction pgArrayColumnToSchema(\n\tcolumn: Column,\n\tdimensions: number,\n): Type {\n\t// PG style: the column IS the base type, with dimensions indicating array depth\n\t// Get the base schema from the column's own dataType\n\tconst [baseType, baseConstraint] = column.dataType.split(' ');\n\tlet baseSchema: Type;\n\n\tswitch (baseType) {\n\t\tcase 'number':\n\t\t\tbaseSchema = numberColumnToSchema(column, baseConstraint as ColumnDataNumberConstraint);\n\t\t\tbreak;\n\t\tcase 'bigint':\n\t\t\tbaseSchema = bigintColumnToSchema(column, baseConstraint as ColumnDataBigIntConstraint);\n\t\t\tbreak;\n\t\tcase 'boolean':\n\t\t\tbaseSchema = type.boolean;\n\t\t\tbreak;\n\t\tcase 'string':\n\t\t\tbaseSchema = stringColumnToSchema(column, baseConstraint as ColumnDataStringConstraint);\n\t\t\tbreak;\n\t\tcase 'object':\n\t\t\tbaseSchema = objectColumnToSchema(column, baseConstraint as ColumnDataObjectConstraint);\n\t\t\tbreak;\n\t\tcase 'array':\n\t\t\t// Handle array types like point, line, etc.\n\t\t\tbaseSchema = arrayColumnToSchema(column, baseConstraint as ColumnDataArrayConstraint);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbaseSchema = type.unknown;\n\t}\n\n\t// Wrap in arrays based on dimensions\n\t// Note: For PG arrays, column.length is the base type's length (e.g., varchar(10)), not array size\n\tlet schema: Type = baseSchema.array();\n\tfor (let i = 1; i < dimensions; i++) {\n\t\tschema = schema.array();\n\t}\n\treturn schema;\n}\n\nfunction arrayColumnToSchema(\n\tcolumn: Column,\n\tconstraint: ColumnDataArrayConstraint | undefined,\n): Type {\n\tswitch (constraint) {\n\t\tcase 'geometry':\n\t\tcase 'point': {\n\t\t\treturn type([type.number, type.number]);\n\t\t}\n\t\tcase 'line': {\n\t\t\treturn type([type.number, type.number, type.number]);\n\t\t}\n\t\tcase 'vector':\n\t\tcase 'halfvector': {\n\t\t\tconst length = column.length;\n\t\t\treturn length ? type.number.array().exactlyLength(length) : type.number.array();\n\t\t}\n\t\tcase 'int64vector': {\n\t\t\tconst length = column.length;\n\t\t\t// TODO - INT64 number range\n\t\t\treturn length ? type.bigint.array().exactlyLength(length) : type.bigint.array();\n\t\t}\n\t\tcase 'basecolumn': {\n\t\t\t// CockroachDB/GEL style: has a separate baseColumn\n\t\t\tconst baseColumn = (<{ baseColumn?: Column }> column).baseColumn;\n\t\t\tif (baseColumn) {\n\t\t\t\tconst length = column.length;\n\t\t\t\tconst schema = columnToSchema(baseColumn).array();\n\t\t\t\tif (length) return schema.exactlyLength(length);\n\t\t\t\treturn schema;\n\t\t\t}\n\t\t\treturn type.unknown.array();\n\t\t}\n\t\tdefault: {\n\t\t\treturn type.unknown.array();\n\t\t}\n\t}\n}\n\nfunction objectColumnToSchema(\n\tcolumn: Column,\n\tconstraint: ColumnDataObjectConstraint | undefined,\n): Type {\n\tswitch (constraint) {\n\t\tcase 'buffer': {\n\t\t\treturn bufferSchema;\n\t\t}\n\t\tcase 'date': {\n\t\t\treturn type.Date;\n\t\t}\n\t\tcase 'geometry':\n\t\tcase 'point': {\n\t\t\treturn type({\n\t\t\t\tx: type.number,\n\t\t\t\ty: type.number,\n\t\t\t});\n\t\t}\n\t\tcase 'json': {\n\t\t\treturn jsonSchema;\n\t\t}\n\t\tcase 'line': {\n\t\t\treturn type({\n\t\t\t\ta: type.number,\n\t\t\t\tb: type.number,\n\t\t\t\tc: type.number,\n\t\t\t});\n\t\t}\n\t\tdefault: {\n\t\t\treturn type({});\n\t\t}\n\t}\n}\n\n/** @internal */\nexport const unsignedBigintNarrow = (v: bigint, ctx: { mustBe: (expected: string) => false }) =>\n\tv < 0n ? ctx.mustBe('greater than') : v > CONSTANTS.INT64_UNSIGNED_MAX ? ctx.mustBe('less than') : true;\n\n/** @internal */\nexport const bigintNarrow = (v: bigint, ctx: { mustBe: (expected: string) => false }) =>\n\tv < CONSTANTS.INT64_MIN ? ctx.mustBe('greater than') : v > CONSTANTS.INT64_MAX ? ctx.mustBe('less than') : true;\n\n/** @internal */\nexport const bigintStringModeSchema = type.string.narrow((v, ctx) => {\n\tif (typeof v !== 'string') {\n\t\treturn ctx.mustBe('a string');\n\t}\n\tif (!(/^-?\\d+$/.test(v))) {\n\t\treturn ctx.mustBe('a string representing a number');\n\t}\n\n\tconst bigint = BigInt(v);\n\tif (bigint < CONSTANTS.INT64_MIN) {\n\t\treturn ctx.mustBe('greater than');\n\t}\n\tif (bigint > CONSTANTS.INT64_MAX) {\n\t\treturn ctx.mustBe('less than');\n\t}\n\n\treturn true;\n});\n\n/** @internal */\nexport const unsignedBigintStringModeSchema = type.string.narrow((v, ctx) => {\n\tif (typeof v !== 'string') {\n\t\treturn ctx.mustBe('a string');\n\t}\n\tif (!(/^\\d+$/.test(v))) {\n\t\treturn ctx.mustBe('a string representing a number');\n\t}\n\n\tconst bigint = BigInt(v);\n\tif (bigint < 0) {\n\t\treturn ctx.mustBe('greater than');\n\t}\n\tif (bigint > CONSTANTS.INT64_MAX) {\n\t\treturn ctx.mustBe('less than');\n\t}\n\n\treturn true;\n});\n\nfunction bigintColumnToSchema(column: Column, constraint?: ColumnDataBigIntConstraint | undefined): Type {\n\tswitch (constraint) {\n\t\tcase 'int64': {\n\t\t\treturn type.bigint.narrow(bigintNarrow);\n\t\t}\n\t\tcase 'uint64': {\n\t\t\treturn type.bigint.narrow(unsignedBigintNarrow);\n\t\t}\n\t}\n\n\treturn type.bigint;\n}\n\nfunction stringColumnToSchema(column: Column, constraint: ColumnDataStringConstraint | undefined): Type {\n\tconst { name: columnName, length, isLengthExact } = column;\n\tif (constraint === 'binary') {\n\t\treturn type(`/^[01]${length ? `{${isLengthExact ? length : `0,${length}`}}` : '*'}$/`)\n\t\t\t.describe(\n\t\t\t\t`a string containing ones or zeros${\n\t\t\t\t\tlength ? ` while being ${isLengthExact ? '' : 'up to '}${length} characters long` : ''\n\t\t\t\t}`,\n\t\t\t);\n\t}\n\tif (constraint === 'uuid') {\n\t\treturn type(/^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu).describe('a RFC-4122-compliant UUID');\n\t}\n\tif (constraint === 'enum') {\n\t\tconst enumValues = column.enumValues;\n\t\tif (!enumValues) {\n\t\t\tthrow new Error(\n\t\t\t\t`Column \"${getTableName(getColumnTable(column))}\".\"${columnName}\" is of 'enum' type, but lacks enum values`,\n\t\t\t);\n\t\t}\n\t\treturn type.enumerated(...enumValues);\n\t}\n\tif (constraint === 'int64') {\n\t\treturn bigintStringModeSchema;\n\t}\n\tif (constraint === 'uint64') {\n\t\treturn unsignedBigintStringModeSchema;\n\t}\n\n\treturn length && isLengthExact\n\t\t? type.string.exactlyLength(length)\n\t\t: length\n\t\t? type.string.atMostLength(length)\n\t\t: type.string;\n}\n","import type { type } from 'arktype';\nimport type { Column, SelectedFieldsFlat, Table, View } from 'drizzle-orm';\nimport type { PgEnum } from 'drizzle-orm/pg-core';\nimport type { literalSchema } from './column.ts';\n\nexport function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T {\n\treturn columnTypes.includes(column.columnType);\n}\n\nexport function isWithEnum(column: Column): column is typeof column & { enumValues: [string, ...string[]] } {\n\treturn 'enumValues' in column && Array.isArray(column.enumValues) && column.enumValues.length > 0;\n}\n\nexport const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]> = isWithEnum as any;\n\ntype Literal = type.infer<typeof literalSchema>;\nexport type Json = Literal | Record<string, any> | any[];\n\nexport type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column\n\t? TColumn['_']['identity'] extends 'always' ? true\n\t: TColumn['_'] extends { generated: undefined } ? false\n\t: TColumn['_'] extends { generated: { type: 'byDefault' } } ? false\n\t: true\n\t: false;\n\nexport type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns']\n\t: T extends View ? T['_']['selectedFields']\n\t: T;\n","import { type Type, type } from 'arktype';\nimport { Column, getTableColumns, getViewSelectedFields, is, isTable, isView, SQL } from 'drizzle-orm';\nimport type { Table, View } from 'drizzle-orm';\nimport type { PgEnum } from 'drizzle-orm/pg-core';\nimport { columnToSchema } from './column.ts';\nimport type { Conditions } from './schema.types.internal.ts';\nimport type { CreateInsertSchema, CreateSelectSchema, CreateUpdateSchema } from './schema.types.ts';\nimport { isPgEnum } from './utils.ts';\n\nfunction getColumns(tableLike: Table | View) {\n\treturn isTable(tableLike) ? getTableColumns(tableLike) : getViewSelectedFields(tableLike);\n}\n\nfunction handleColumns(\n\tcolumns: Record<string, any>,\n\trefinements: Record<string, any>,\n\tconditions: Conditions,\n): Type {\n\tconst columnSchemas: Record<string, Type> = {};\n\n\tfor (const [key, selected] of Object.entries(columns)) {\n\t\tif (!is(selected, Column) && !is(selected, SQL) && !is(selected, SQL.Aliased) && typeof selected === 'object') {\n\t\t\tconst columns = isTable(selected) || isView(selected) ? getColumns(selected) : selected;\n\t\t\tcolumnSchemas[key] = handleColumns(columns, refinements[key] ?? {}, conditions);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst refinement = refinements[key];\n\t\tif (\n\t\t\trefinement !== undefined\n\t\t\t&& (typeof refinement !== 'function' || (typeof refinement === 'function' && refinement.expression !== undefined))\n\t\t) {\n\t\t\tcolumnSchemas[key] = refinement;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst column = is(selected, Column) ? selected : undefined;\n\t\tconst schema = column ? columnToSchema(column) : type.unknown;\n\t\tconst refined = typeof refinement === 'function' ? refinement(schema) : schema;\n\n\t\tif (conditions.never(column)) {\n\t\t\tcontinue;\n\t\t} else {\n\t\t\tcolumnSchemas[key] = refined;\n\t\t}\n\n\t\tif (column) {\n\t\t\tif (conditions.nullable(column)) {\n\t\t\t\tcolumnSchemas[key] = columnSchemas[key]!.or(type.null);\n\t\t\t}\n\n\t\t\tif (conditions.optional(column)) {\n\t\t\t\tcolumnSchemas[key] = columnSchemas[key]!.optional() as any;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn type(columnSchemas);\n}\n\nexport const createSelectSchema = ((\n\tentity: Table | View | PgEnum<[string, ...string[]]>,\n\trefine?: Record<string, any>,\n) => {\n\tif (isPgEnum(entity)) {\n\t\treturn type.enumerated(...entity.enumValues);\n\t}\n\tconst columns = getColumns(entity);\n\treturn handleColumns(columns, refine ?? {}, {\n\t\tnever: () => false,\n\t\toptional: () => false,\n\t\tnullable: (column) => !column.notNull,\n\t}) as any;\n}) as CreateSelectSchema;\n\nexport const createInsertSchema = ((\n\tentity: Table,\n\trefine?: Record<string, any>,\n) => {\n\tconst columns = getColumns(entity);\n\treturn handleColumns(columns, refine ?? {}, {\n\t\tnever: (column) =>\n\t\t\tcolumn?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'\n\t\t\t|| ('identity' in (column ?? {}) && typeof (column as any)?.identity !== 'undefined'),\n\t\toptional: (column) => !column.notNull || (column.notNull && column.hasDefault),\n\t\tnullable: (column) => !column.notNull,\n\t}) as any;\n}) as CreateInsertSchema;\n\nexport const createUpdateSchema = ((\n\tentity: Table,\n\trefine?: Record<string, any>,\n) => {\n\tconst columns = getColumns(entity);\n\treturn handleColumns(columns, refine ?? {}, {\n\t\tnever: (column) =>\n\t\t\tcolumn?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'\n\t\t\t|| ('identity' in (column ?? {}) && typeof (column as any)?.identity !== 'undefined'),\n\t\toptional: () => true,\n\t\tnullable: (column) => !column.notNull,\n\t}) as any;\n}) as CreateUpdateSchema;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/column.ts","../src/utils.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["type","extractExtendedColumnType","getTableName","getColumnTable","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView"],"mappings":"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"}
package/index.d.cts CHANGED
@@ -1,76 +1,6 @@
1
- import * as arktype0 from "arktype";
2
- import { Type, type } from "arktype";
3
- import * as arktype_internal_variants_object_ts0 from "arktype/internal/variants/object.ts";
4
- import { Column, ColumnTypeData, DrizzleTypeError, ExtractColumnTypeData, InferInsertModel, InferSelectModel, SelectedFieldsFlat, Simplify, Table, View } from "drizzle-orm";
5
- import { PgEnum } from "drizzle-orm/pg-core";
6
- import { CockroachEnum } from "drizzle-orm/cockroach-core";
7
-
8
- //#region src/column.d.ts
9
- declare const literalSchema: arktype0.BaseType<string | number | boolean | null, {}>;
10
- declare const jsonSchema: arktype0.BaseType<string | number | boolean | any[] | Record<string, any> | null, {}>;
11
- declare const bufferSchema: arktype_internal_variants_object_ts0.ObjectType<Buffer<ArrayBufferLike>, {}>;
12
- //#endregion
13
- //#region src/utils.d.ts
14
- declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
15
- declare function isWithEnum(column: Column): column is typeof column & {
16
- enumValues: [string, ...string[]];
17
- };
18
- declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
19
- type Literal = type.infer<typeof literalSchema>;
20
- type Json = Literal | Record<string, any> | any[];
21
- type ColumnIsGeneratedAlwaysAs<TColumn$1> = TColumn$1 extends Column ? TColumn$1['_']['identity'] extends 'always' ? true : TColumn$1['_'] extends {
22
- generated: undefined;
23
- } ? false : TColumn$1['_'] extends {
24
- generated: {
25
- type: 'byDefault';
26
- };
27
- } ? false : true : false;
28
- type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
29
- //#endregion
30
- //#region src/column.types.d.ts
31
- type ArktypeNullable<TSchema$1> = Type<type.infer<TSchema$1> | null>;
32
- type ArktypeOptional<TSchema$1> = [Type<type.infer<TSchema$1>>, '?'];
33
- type GetArktypeType<TColumn$1 extends Column, TType extends ColumnTypeData = ExtractColumnTypeData<TColumn$1['_']['dataType']>> = TType['constraint'] extends 'json' ? unknown extends TColumn$1['_']['data'] ? Type<Json> : Type<TColumn$1['_']['data']> : TType['type'] extends 'custom' ? Type<any> : Type<TColumn$1['_']['data']>;
34
- type HandleSelectColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? TSchema$1 : ArktypeNullable<TSchema$1>;
35
- type HandleInsertColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? TColumn$1['_']['hasDefault'] extends true ? ArktypeOptional<TSchema$1> : TSchema$1 : ArktypeOptional<ArktypeNullable<TSchema$1>>;
36
- type HandleUpdateColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? ArktypeOptional<TSchema$1> : ArktypeOptional<ArktypeNullable<TSchema$1>>;
37
- type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn$1 extends Column> = TType extends 'select' ? HandleSelectColumn<GetArktypeType<TColumn$1>, TColumn$1> : TType extends 'insert' ? HandleInsertColumn<GetArktypeType<TColumn$1>, TColumn$1> : TType extends 'update' ? HandleUpdateColumn<GetArktypeType<TColumn$1>, TColumn$1> : GetArktypeType<TColumn$1>;
38
- //#endregion
39
- //#region src/schema.types.internal.d.ts
40
- interface Conditions {
41
- never: (column?: Column) => boolean;
42
- optional: (column: Column) => boolean;
43
- nullable: (column: Column) => boolean;
44
- }
45
- type GenericSchema = type.cast<unknown> | [type.cast<unknown>, '?'];
46
- type BuildRefineField<T> = T extends GenericSchema ? ((schema: T) => GenericSchema) | GenericSchema : never;
47
- type BuildRefine<TColumns extends Record<string, any>> = { [K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetArktypeType<TColumns[K]>> : BuildRefine<GetSelection<TColumns[K]>> };
48
- type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn$1 extends Column> = TRefinement extends ((schema: any) => GenericSchema) ? (TColumn$1['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any> : TRefinement;
49
- type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends GenericSchema | ((schema: any) => any) ? true : false : false;
50
- type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<{ readonly [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 ? HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TNested extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TNested>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined> : any }>>;
51
- type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = { [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, GenericSchema> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`> };
52
- //#endregion
53
- //#region src/schema.types.d.ts
54
- interface CreateSelectSchema {
55
- <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
56
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
57
- <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
58
- <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
59
- <TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]>;
60
- }
61
- interface CreateInsertSchema {
62
- <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
63
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
64
- }
65
- interface CreateUpdateSchema {
66
- <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
67
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
68
- }
69
- //#endregion
70
- //#region src/schema.d.ts
71
- declare const createSelectSchema: CreateSelectSchema;
72
- declare const createInsertSchema: CreateInsertSchema;
73
- declare const createUpdateSchema: CreateUpdateSchema;
74
- //#endregion
75
- export { ArktypeNullable, ArktypeOptional, BuildRefine, BuildSchema, ColumnIsGeneratedAlwaysAs, Conditions, CreateInsertSchema, CreateSelectSchema, CreateUpdateSchema, GetArktypeType, GetSelection, HandleColumn, Json, NoUnknownKeys, bufferSchema, createInsertSchema, createSelectSchema, createUpdateSchema, isColumnType, isPgEnum, isWithEnum, jsonSchema, literalSchema };
76
- //# sourceMappingURL=index.d.cts.map
1
+ export { bufferSchema, jsonSchema, literalSchema } from "./column.cjs";
2
+ export * from "./column.types.cjs";
3
+ export * from "./schema.cjs";
4
+ export * from "./schema.types.internal.cjs";
5
+ export * from "./schema.types.cjs";
6
+ export * from "./utils.cjs";
package/index.d.mts CHANGED
@@ -1,76 +1,6 @@
1
- import * as arktype0 from "arktype";
2
- import { Type, type } from "arktype";
3
- import { Column, ColumnTypeData, DrizzleTypeError, ExtractColumnTypeData, InferInsertModel, InferSelectModel, SelectedFieldsFlat, Simplify, Table, View } from "drizzle-orm";
4
- import * as arktype_internal_variants_object_ts0 from "arktype/internal/variants/object.ts";
5
- import { PgEnum } from "drizzle-orm/pg-core";
6
- import { CockroachEnum } from "drizzle-orm/cockroach-core";
7
-
8
- //#region src/column.d.ts
9
- declare const literalSchema: arktype0.BaseType<string | number | boolean | null, {}>;
10
- declare const jsonSchema: arktype0.BaseType<string | number | boolean | any[] | Record<string, any> | null, {}>;
11
- declare const bufferSchema: arktype_internal_variants_object_ts0.ObjectType<Buffer<ArrayBufferLike>, {}>;
12
- //#endregion
13
- //#region src/utils.d.ts
14
- declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
15
- declare function isWithEnum(column: Column): column is typeof column & {
16
- enumValues: [string, ...string[]];
17
- };
18
- declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
19
- type Literal = type.infer<typeof literalSchema>;
20
- type Json = Literal | Record<string, any> | any[];
21
- type ColumnIsGeneratedAlwaysAs<TColumn$1> = TColumn$1 extends Column ? TColumn$1['_']['identity'] extends 'always' ? true : TColumn$1['_'] extends {
22
- generated: undefined;
23
- } ? false : TColumn$1['_'] extends {
24
- generated: {
25
- type: 'byDefault';
26
- };
27
- } ? false : true : false;
28
- type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
29
- //#endregion
30
- //#region src/column.types.d.ts
31
- type ArktypeNullable<TSchema$1> = Type<type.infer<TSchema$1> | null>;
32
- type ArktypeOptional<TSchema$1> = [Type<type.infer<TSchema$1>>, '?'];
33
- type GetArktypeType<TColumn$1 extends Column, TType extends ColumnTypeData = ExtractColumnTypeData<TColumn$1['_']['dataType']>> = TType['constraint'] extends 'json' ? unknown extends TColumn$1['_']['data'] ? Type<Json> : Type<TColumn$1['_']['data']> : TType['type'] extends 'custom' ? Type<any> : Type<TColumn$1['_']['data']>;
34
- type HandleSelectColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? TSchema$1 : ArktypeNullable<TSchema$1>;
35
- type HandleInsertColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? TColumn$1['_']['hasDefault'] extends true ? ArktypeOptional<TSchema$1> : TSchema$1 : ArktypeOptional<ArktypeNullable<TSchema$1>>;
36
- type HandleUpdateColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? ArktypeOptional<TSchema$1> : ArktypeOptional<ArktypeNullable<TSchema$1>>;
37
- type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn$1 extends Column> = TType extends 'select' ? HandleSelectColumn<GetArktypeType<TColumn$1>, TColumn$1> : TType extends 'insert' ? HandleInsertColumn<GetArktypeType<TColumn$1>, TColumn$1> : TType extends 'update' ? HandleUpdateColumn<GetArktypeType<TColumn$1>, TColumn$1> : GetArktypeType<TColumn$1>;
38
- //#endregion
39
- //#region src/schema.types.internal.d.ts
40
- interface Conditions {
41
- never: (column?: Column) => boolean;
42
- optional: (column: Column) => boolean;
43
- nullable: (column: Column) => boolean;
44
- }
45
- type GenericSchema = type.cast<unknown> | [type.cast<unknown>, '?'];
46
- type BuildRefineField<T> = T extends GenericSchema ? ((schema: T) => GenericSchema) | GenericSchema : never;
47
- type BuildRefine<TColumns extends Record<string, any>> = { [K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetArktypeType<TColumns[K]>> : BuildRefine<GetSelection<TColumns[K]>> };
48
- type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn$1 extends Column> = TRefinement extends ((schema: any) => GenericSchema) ? (TColumn$1['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any> : TRefinement;
49
- type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends GenericSchema | ((schema: any) => any) ? true : false : false;
50
- type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<{ readonly [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 ? HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TNested extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TNested>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined> : any }>>;
51
- type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = { [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, GenericSchema> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`> };
52
- //#endregion
53
- //#region src/schema.types.d.ts
54
- interface CreateSelectSchema {
55
- <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
56
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
57
- <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
58
- <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
59
- <TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]>;
60
- }
61
- interface CreateInsertSchema {
62
- <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
63
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
64
- }
65
- interface CreateUpdateSchema {
66
- <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
67
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
68
- }
69
- //#endregion
70
- //#region src/schema.d.ts
71
- declare const createSelectSchema: CreateSelectSchema;
72
- declare const createInsertSchema: CreateInsertSchema;
73
- declare const createUpdateSchema: CreateUpdateSchema;
74
- //#endregion
75
- export { ArktypeNullable, ArktypeOptional, BuildRefine, BuildSchema, ColumnIsGeneratedAlwaysAs, Conditions, CreateInsertSchema, CreateSelectSchema, CreateUpdateSchema, GetArktypeType, GetSelection, HandleColumn, Json, NoUnknownKeys, bufferSchema, createInsertSchema, createSelectSchema, createUpdateSchema, isColumnType, isPgEnum, isWithEnum, jsonSchema, literalSchema };
76
- //# sourceMappingURL=index.d.mts.map
1
+ export { bufferSchema, jsonSchema, literalSchema } from "./column.mjs";
2
+ export * from "./column.types.mjs";
3
+ export * from "./schema.mjs";
4
+ export * from "./schema.types.internal.mjs";
5
+ export * from "./schema.types.mjs";
6
+ export * from "./utils.mjs";
package/index.d.ts CHANGED
@@ -1,76 +1,6 @@
1
- import * as arktype0 from "arktype";
2
- import { Type, type } from "arktype";
3
- import { Column, ColumnTypeData, DrizzleTypeError, ExtractColumnTypeData, InferInsertModel, InferSelectModel, SelectedFieldsFlat, Simplify, Table, View } from "drizzle-orm";
4
- import * as arktype_internal_variants_object_ts0 from "arktype/internal/variants/object.ts";
5
- import { PgEnum } from "drizzle-orm/pg-core";
6
- import { CockroachEnum } from "drizzle-orm/cockroach-core";
7
-
8
- //#region src/column.d.ts
9
- declare const literalSchema: arktype0.BaseType<string | number | boolean | null, {}>;
10
- declare const jsonSchema: arktype0.BaseType<string | number | boolean | any[] | Record<string, any> | null, {}>;
11
- declare const bufferSchema: arktype_internal_variants_object_ts0.ObjectType<Buffer<ArrayBufferLike>, {}>;
12
- //#endregion
13
- //#region src/utils.d.ts
14
- declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
15
- declare function isWithEnum(column: Column): column is typeof column & {
16
- enumValues: [string, ...string[]];
17
- };
18
- declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
19
- type Literal = type.infer<typeof literalSchema>;
20
- type Json = Literal | Record<string, any> | any[];
21
- type ColumnIsGeneratedAlwaysAs<TColumn$1> = TColumn$1 extends Column ? TColumn$1['_']['identity'] extends 'always' ? true : TColumn$1['_'] extends {
22
- generated: undefined;
23
- } ? false : TColumn$1['_'] extends {
24
- generated: {
25
- type: 'byDefault';
26
- };
27
- } ? false : true : false;
28
- type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
29
- //#endregion
30
- //#region src/column.types.d.ts
31
- type ArktypeNullable<TSchema$1> = Type<type.infer<TSchema$1> | null>;
32
- type ArktypeOptional<TSchema$1> = [Type<type.infer<TSchema$1>>, '?'];
33
- type GetArktypeType<TColumn$1 extends Column, TType extends ColumnTypeData = ExtractColumnTypeData<TColumn$1['_']['dataType']>> = TType['constraint'] extends 'json' ? unknown extends TColumn$1['_']['data'] ? Type<Json> : Type<TColumn$1['_']['data']> : TType['type'] extends 'custom' ? Type<any> : Type<TColumn$1['_']['data']>;
34
- type HandleSelectColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? TSchema$1 : ArktypeNullable<TSchema$1>;
35
- type HandleInsertColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? TColumn$1['_']['hasDefault'] extends true ? ArktypeOptional<TSchema$1> : TSchema$1 : ArktypeOptional<ArktypeNullable<TSchema$1>>;
36
- type HandleUpdateColumn<TSchema$1, TColumn$1 extends Column> = TColumn$1['_']['notNull'] extends true ? ArktypeOptional<TSchema$1> : ArktypeOptional<ArktypeNullable<TSchema$1>>;
37
- type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn$1 extends Column> = TType extends 'select' ? HandleSelectColumn<GetArktypeType<TColumn$1>, TColumn$1> : TType extends 'insert' ? HandleInsertColumn<GetArktypeType<TColumn$1>, TColumn$1> : TType extends 'update' ? HandleUpdateColumn<GetArktypeType<TColumn$1>, TColumn$1> : GetArktypeType<TColumn$1>;
38
- //#endregion
39
- //#region src/schema.types.internal.d.ts
40
- interface Conditions {
41
- never: (column?: Column) => boolean;
42
- optional: (column: Column) => boolean;
43
- nullable: (column: Column) => boolean;
44
- }
45
- type GenericSchema = type.cast<unknown> | [type.cast<unknown>, '?'];
46
- type BuildRefineField<T> = T extends GenericSchema ? ((schema: T) => GenericSchema) | GenericSchema : never;
47
- type BuildRefine<TColumns extends Record<string, any>> = { [K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetArktypeType<TColumns[K]>> : BuildRefine<GetSelection<TColumns[K]>> };
48
- type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn$1 extends Column> = TRefinement extends ((schema: any) => GenericSchema) ? (TColumn$1['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any> : TRefinement;
49
- type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends GenericSchema | ((schema: any) => any) ? true : false : false;
50
- type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<{ readonly [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 ? HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TNested extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TNested>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined> : any }>>;
51
- type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = { [K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, GenericSchema> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`> };
52
- //#endregion
53
- //#region src/schema.types.d.ts
54
- interface CreateSelectSchema {
55
- <TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
56
- <TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
57
- <TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
58
- <TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
59
- <TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]>;
60
- }
61
- interface CreateInsertSchema {
62
- <TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
63
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
64
- }
65
- interface CreateUpdateSchema {
66
- <TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
67
- <TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
68
- }
69
- //#endregion
70
- //#region src/schema.d.ts
71
- declare const createSelectSchema: CreateSelectSchema;
72
- declare const createInsertSchema: CreateInsertSchema;
73
- declare const createUpdateSchema: CreateUpdateSchema;
74
- //#endregion
75
- export { ArktypeNullable, ArktypeOptional, BuildRefine, BuildSchema, ColumnIsGeneratedAlwaysAs, Conditions, CreateInsertSchema, CreateSelectSchema, CreateUpdateSchema, GetArktypeType, GetSelection, HandleColumn, Json, NoUnknownKeys, bufferSchema, createInsertSchema, createSelectSchema, createUpdateSchema, isColumnType, isPgEnum, isWithEnum, jsonSchema, literalSchema };
76
- //# sourceMappingURL=index.d.mts.map
1
+ export { bufferSchema, jsonSchema, literalSchema } from './column.js';
2
+ export * from './column.types.js';
3
+ export * from './schema.js';
4
+ export * from './schema.types.internal.js';
5
+ export * from './schema.types.js';
6
+ export * from './utils.js';