drizzle-valibot 1.0.0-beta.6-cd45bda → 1.0.0-beta.6-a42e15a
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 +10 -0
- package/column.d.mts +10 -0
- package/column.d.ts +10 -0
- package/column.types.d.cts +57 -0
- package/column.types.d.mts +57 -0
- package/column.types.d.ts +57 -0
- package/constants.d.cts +20 -0
- package/constants.d.mts +20 -0
- package/constants.d.ts +20 -0
- package/index.cjs +366 -332
- package/index.cjs.map +1 -1
- package/index.d.cts +6 -101
- package/index.d.mts +6 -101
- package/index.d.ts +6 -101
- package/index.mjs +345 -304
- package/index.mjs.map +1 -1
- package/package.json +3 -2
- package/schema.d.cts +4 -0
- package/schema.d.mts +4 -0
- package/schema.d.ts +4 -0
- package/schema.types.d.cts +21 -0
- package/schema.types.d.mts +21 -0
- package/schema.types.d.ts +21 -0
- package/schema.types.internal.d.cts +22 -0
- package/schema.types.internal.d.mts +22 -0
- package/schema.types.internal.d.ts +22 -0
- package/utils.d.cts +28 -0
- package/utils.d.mts +28 -0
- package/utils.d.ts +28 -0
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["jsonSchema: v.GenericSchema<Json>","bufferSchema: v.GenericSchema<Buffer>","v","schema!: v.GenericSchema","min!: number","max!: number","actions: any[]","min!: bigint | undefined","max!: bigint | undefined","baseSchema: v.GenericSchema","schema: v.GenericSchema","regex: RegExp | undefined","isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>","columnSchemas: Record<string, v.GenericSchema>","createSelectSchema: CreateSelectSchema","createInsertSchema: CreateInsertSchema","createUpdateSchema: CreateUpdateSchema"],"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 {\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 * as v from 'valibot';\nimport { CONSTANTS } from './constants.ts';\nimport type { Json } from './utils.ts';\n\nexport const literalSchema = v.union([v.string(), v.number(), v.boolean(), v.null()]);\nexport const jsonSchema: v.GenericSchema<Json> = v.union([\n\tliteralSchema,\n\tv.array(v.any()),\n\tv.record(v.string(), v.any()),\n]);\nexport const bufferSchema: v.GenericSchema<Buffer> = v.custom<Buffer>((v) => v instanceof Buffer);\n\nexport function mapEnumValues(values: string[]) {\n\treturn Object.fromEntries(values.map((value) => [value, value]));\n}\n\nexport function columnToSchema(column: Column): v.GenericSchema {\n\tlet schema!: v.GenericSchema;\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, constraint } = extractExtendedColumnType(column);\n\n\tswitch (type) {\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 = v.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 = v.any();\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tschema = v.any();\n\t\t}\n\t}\n\n\treturn schema;\n}\n\nfunction numberColumnToSchema(column: Column, constraint: ColumnDataNumberConstraint | undefined): v.GenericSchema {\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\tconst actions: any[] = [v.minValue(min), v.maxValue(max)];\n\tif (integer) {\n\t\tactions.push(v.integer());\n\t}\n\treturn v.pipe(v.number(), ...actions);\n}\n\n/** @internal */\nexport const bigintStringModeSchema = v.pipe(\n\tv.string(),\n\tv.regex(/^-?\\d+$/),\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\tv.transform((v) => BigInt(v)),\n\tv.minValue(CONSTANTS.INT64_MIN),\n\tv.maxValue(CONSTANTS.INT64_MAX),\n\tv.transform((v) => v.toString()),\n);\n\n/** @internal */\nexport const unsignedBigintStringModeSchema = v.pipe(\n\tv.string(),\n\tv.regex(/^\\d+$/),\n\t// eslint-disable-next-line unicorn/prefer-native-coercion-functions\n\tv.transform((v) => BigInt(v)),\n\tv.minValue(0n),\n\tv.maxValue(CONSTANTS.INT64_MAX),\n\tv.transform((v) => v.toString()),\n);\n\nfunction bigintColumnToSchema(column: Column, constraint: ColumnDataBigIntConstraint | undefined): v.GenericSchema {\n\tlet min!: bigint | undefined;\n\tlet max!: bigint | undefined;\n\n\tswitch (constraint) {\n\t\tcase 'int64': {\n\t\t\tmin = CONSTANTS.INT64_MIN;\n\t\t\tmax = CONSTANTS.INT64_MAX;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'uint64': {\n\t\t\tmin = 0n;\n\t\t\tmax = CONSTANTS.INT64_UNSIGNED_MAX;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tconst actions: any[] = [];\n\tif (min !== undefined) actions.push(v.minValue(min));\n\tif (max !== undefined) actions.push(v.maxValue(max));\n\n\treturn actions.length > 0 ? v.pipe(v.bigint(), ...actions) : v.bigint();\n}\n\nfunction pgArrayColumnToSchema(\n\tcolumn: Column,\n\tdimensions: number,\n): v.GenericSchema {\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: v.GenericSchema;\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 = v.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 = v.any();\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: v.GenericSchema = v.array(baseSchema);\n\tfor (let i = 1; i < dimensions; i++) {\n\t\tschema = v.array(schema);\n\t}\n\treturn schema;\n}\n\nfunction arrayColumnToSchema(column: Column, constraint: ColumnDataArrayConstraint | undefined): v.GenericSchema {\n\tswitch (constraint) {\n\t\tcase 'geometry':\n\t\tcase 'point': {\n\t\t\treturn v.tuple([v.number(), v.number()]);\n\t\t}\n\t\tcase 'line': {\n\t\t\treturn v.tuple([v.number(), v.number(), v.number()]);\n\t\t}\n\t\tcase 'vector':\n\t\tcase 'halfvector': {\n\t\t\tconst { length } = column;\n\t\t\treturn length\n\t\t\t\t? v.pipe(v.array(v.number()), v.length(length))\n\t\t\t\t: v.array(v.number());\n\t\t}\n\t\tcase 'int64vector': {\n\t\t\tconst length = column.length;\n\t\t\treturn length\n\t\t\t\t? v.pipe(\n\t\t\t\t\tv.array(v.pipe(v.bigint(), v.minValue(CONSTANTS.INT64_MIN), v.maxValue(CONSTANTS.INT64_MAX))),\n\t\t\t\t\tv.length(length),\n\t\t\t\t)\n\t\t\t\t: v.array(v.pipe(v.bigint(), v.minValue(CONSTANTS.INT64_MIN), v.maxValue(CONSTANTS.INT64_MAX)));\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;\n\t\t\t\tconst schema = v.array(columnToSchema(baseColumn));\n\t\t\t\tif (length) return v.pipe(schema, v.length(length));\n\t\t\t\treturn schema;\n\t\t\t}\n\t\t\treturn v.array(v.any());\n\t\t}\n\t\tdefault: {\n\t\t\treturn v.array(v.any());\n\t\t}\n\t}\n}\n\nfunction objectColumnToSchema(column: Column, constraint: ColumnDataObjectConstraint | undefined): v.GenericSchema {\n\tswitch (constraint) {\n\t\tcase 'buffer': {\n\t\t\treturn bufferSchema;\n\t\t}\n\t\tcase 'date': {\n\t\t\treturn v.date();\n\t\t}\n\t\tcase 'geometry':\n\t\tcase 'point': {\n\t\t\treturn v.object({\n\t\t\t\tx: v.number(),\n\t\t\t\ty: v.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 v.object({\n\t\t\t\ta: v.number(),\n\t\t\t\tb: v.number(),\n\t\t\t\tc: v.number(),\n\t\t\t});\n\t\t}\n\t\tdefault: {\n\t\t\treturn v.looseObject({});\n\t\t}\n\t}\n}\n\nfunction stringColumnToSchema(column: Column, constraint: ColumnDataStringConstraint | undefined): v.GenericSchema {\n\tconst { name: columnName, length, isLengthExact } = column;\n\tlet regex: RegExp | undefined;\n\n\tif (constraint === 'binary') {\n\t\tregex = /^[01]*$/;\n\t}\n\tif (constraint === 'uuid') return v.pipe(v.string(), v.uuid());\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 v.enum(mapEnumValues(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\tconst actions: any[] = [];\n\tif (regex) {\n\t\tactions.push(v.regex(regex));\n\t}\n\tif (length && isLengthExact) {\n\t\tactions.push(v.length(length));\n\t} else if (length) {\n\t\tactions.push(v.maxLength(length));\n\t}\n\treturn actions.length > 0 ? v.pipe(v.string(), ...actions) : v.string();\n}\n","import type { Column, SelectedFieldsFlat, Table, View } from 'drizzle-orm';\nimport type { PgEnum } from 'drizzle-orm/pg-core';\nimport type * as v from 'valibot';\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 = v.InferOutput<typeof literalSchema>;\nexport type Json = Literal | { [key: string]: any } | any[];\n\nexport type IsNever<T> = [T] extends [never] ? true : false;\n\nexport type IsEnumDefined<TEnum extends string[] | undefined> = [string, ...string[]] extends TEnum ? false\n\t: undefined extends TEnum ? false\n\t: true;\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 RemoveNever<T> = {\n\t[K in keyof T as T[K] extends never ? never : K]: T[K];\n};\n\nexport type RemoveNeverElements<T extends any[]> = T extends [infer First, ...infer Rest]\n\t? IsNever<First> extends true ? RemoveNeverElements<Rest>\n\t: [First, ...RemoveNeverElements<Rest>]\n\t: [];\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 { 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 * as v from 'valibot';\nimport { columnToSchema, mapEnumValues } 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): v.GenericSchema {\n\tconst columnSchemas: Record<string, v.GenericSchema> = {};\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 (refinement !== undefined && typeof refinement !== 'function') {\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) : v.any();\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] = v.nullable(columnSchemas[key]!);\n\t\t\t}\n\n\t\t\tif (conditions.optional(column)) {\n\t\t\t\tcolumnSchemas[key] = v.optional(columnSchemas[key]!);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn v.object(columnSchemas) as any;\n}\n\nexport const createSelectSchema: CreateSelectSchema = (\n\tentity: Table | View | PgEnum<[string, ...string[]]>,\n\trefine?: Record<string, any>,\n) => {\n\tif (isPgEnum(entity)) {\n\t\treturn v.enum(mapEnumValues(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};\n\nexport const createInsertSchema: 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};\n\nexport const createUpdateSchema: 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};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/column.ts","../src/utils.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drizzle-valibot",
|
|
3
|
-
"version": "1.0.0-beta.6-
|
|
3
|
+
"version": "1.0.0-beta.6-a42e15a",
|
|
4
4
|
"description": "Generate valibot schemas from Drizzle ORM schemas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -61,12 +61,13 @@
|
|
|
61
61
|
"valibot": ">=1.0.0-beta.7"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
+
"@rollup/plugin-typescript": "^11.1.0",
|
|
64
65
|
"@types/node": "^18.15.10",
|
|
65
66
|
"cpy": "^10.1.0",
|
|
66
67
|
"drizzle-orm": "link:../drizzle-orm/dist",
|
|
67
68
|
"json-rules-engine": "^7.3.1",
|
|
68
69
|
"rimraf": "^5.0.0",
|
|
69
|
-
"
|
|
70
|
+
"rollup": "^3.29.5",
|
|
70
71
|
"valibot": "1.0.0-beta.7",
|
|
71
72
|
"zx": "^7.2.2"
|
|
72
73
|
}
|
package/schema.d.cts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CreateInsertSchema, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.cjs";
|
|
2
|
+
export declare const createSelectSchema: CreateSelectSchema;
|
|
3
|
+
export declare const createInsertSchema: CreateInsertSchema;
|
|
4
|
+
export declare const createUpdateSchema: CreateUpdateSchema;
|
package/schema.d.mts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CreateInsertSchema, CreateSelectSchema, CreateUpdateSchema } from "./schema.types.mjs";
|
|
2
|
+
export declare const createSelectSchema: CreateSelectSchema;
|
|
3
|
+
export declare const createInsertSchema: CreateInsertSchema;
|
|
4
|
+
export declare const createUpdateSchema: CreateUpdateSchema;
|
package/schema.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CreateInsertSchema, CreateSelectSchema, CreateUpdateSchema } from './schema.types.js';
|
|
2
|
+
export declare const createSelectSchema: CreateSelectSchema;
|
|
3
|
+
export declare const createInsertSchema: CreateInsertSchema;
|
|
4
|
+
export declare const createUpdateSchema: CreateUpdateSchema;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { InferInsertModel, InferSelectModel, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
|
|
3
|
+
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
4
|
+
import type * as v from 'valibot';
|
|
5
|
+
import type { EnumValuesToEnum } from "./column.types.cjs";
|
|
6
|
+
import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.cjs";
|
|
7
|
+
export interface CreateSelectSchema {
|
|
8
|
+
<TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
|
|
9
|
+
<TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
|
|
10
|
+
<TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
|
|
11
|
+
<TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
|
|
12
|
+
<TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): v.EnumSchema<EnumValuesToEnum<TEnum['enumValues']>, undefined>;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateInsertSchema {
|
|
15
|
+
<TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
|
|
16
|
+
<TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
|
|
17
|
+
}
|
|
18
|
+
export interface CreateUpdateSchema {
|
|
19
|
+
<TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
|
|
20
|
+
<TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { InferInsertModel, InferSelectModel, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
|
|
3
|
+
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
4
|
+
import type * as v from 'valibot';
|
|
5
|
+
import type { EnumValuesToEnum } from "./column.types.mjs";
|
|
6
|
+
import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.mjs";
|
|
7
|
+
export interface CreateSelectSchema {
|
|
8
|
+
<TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
|
|
9
|
+
<TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
|
|
10
|
+
<TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
|
|
11
|
+
<TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
|
|
12
|
+
<TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): v.EnumSchema<EnumValuesToEnum<TEnum['enumValues']>, undefined>;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateInsertSchema {
|
|
15
|
+
<TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
|
|
16
|
+
<TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
|
|
17
|
+
}
|
|
18
|
+
export interface CreateUpdateSchema {
|
|
19
|
+
<TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
|
|
20
|
+
<TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { InferInsertModel, InferSelectModel, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
|
|
3
|
+
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
4
|
+
import type * as v from 'valibot';
|
|
5
|
+
import type { EnumValuesToEnum } from './column.types.js';
|
|
6
|
+
import type { BuildRefine, BuildSchema, NoUnknownKeys } from './schema.types.internal.js';
|
|
7
|
+
export interface CreateSelectSchema {
|
|
8
|
+
<TTable extends Table>(table: TTable): BuildSchema<'select', TTable['_']['columns'], undefined>;
|
|
9
|
+
<TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferSelectModel<TTable>>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
|
|
10
|
+
<TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
|
|
11
|
+
<TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
|
|
12
|
+
<TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): v.EnumSchema<EnumValuesToEnum<TEnum['enumValues']>, undefined>;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateInsertSchema {
|
|
15
|
+
<TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
|
|
16
|
+
<TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: NoUnknownKeys<TRefine, InferInsertModel<TTable>>): BuildSchema<'insert', TTable['_']['columns'], TRefine>;
|
|
17
|
+
}
|
|
18
|
+
export interface CreateUpdateSchema {
|
|
19
|
+
<TTable extends Table>(table: TTable): BuildSchema<'update', TTable['_']['columns'], undefined>;
|
|
20
|
+
<TTable extends Table, TRefine extends BuildRefine<Pick<TTable['_']['columns'], keyof InferInsertModel<TTable>>>>(table: TTable, refine?: TRefine): BuildSchema<'update', TTable['_']['columns'], TRefine>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Assume, Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type * as v from 'valibot';
|
|
3
|
+
import type { GetValibotTypeFromColumn, HandleColumn } from "./column.types.cjs";
|
|
4
|
+
import type { ColumnIsGeneratedAlwaysAs, GetSelection } from "./utils.cjs";
|
|
5
|
+
export interface Conditions {
|
|
6
|
+
never: (column?: Column) => boolean;
|
|
7
|
+
optional: (column: Column) => boolean;
|
|
8
|
+
nullable: (column: Column) => boolean;
|
|
9
|
+
}
|
|
10
|
+
type BuildRefineField<T> = T extends v.GenericSchema ? ((schema: T) => v.GenericSchema) | v.GenericSchema : never;
|
|
11
|
+
export type BuildRefine<TColumns extends Record<string, any>> = {
|
|
12
|
+
[K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetValibotTypeFromColumn<TColumns[K]>> : BuildRefine<GetSelection<TColumns[K]>>;
|
|
13
|
+
};
|
|
14
|
+
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => v.GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : v.NullableSchema<ReturnType<TRefinement>, undefined>) extends infer TSchema ? TType extends 'update' ? v.OptionalSchema<Assume<TSchema, v.GenericSchema>, undefined> : TSchema : v.AnySchema : TRefinement;
|
|
15
|
+
type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends v.GenericSchema | ((schema: any) => any) ? true : false : false;
|
|
16
|
+
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = v.ObjectSchema<Simplify<{
|
|
17
|
+
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, Assume<K, string>> extends true ? Assume<HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn>, v.GenericSchema> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined> : v.AnySchema;
|
|
18
|
+
}>, undefined>;
|
|
19
|
+
export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
|
|
20
|
+
[K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, v.GenericSchema> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Assume, Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type * as v from 'valibot';
|
|
3
|
+
import type { GetValibotTypeFromColumn, HandleColumn } from "./column.types.mjs";
|
|
4
|
+
import type { ColumnIsGeneratedAlwaysAs, GetSelection } from "./utils.mjs";
|
|
5
|
+
export interface Conditions {
|
|
6
|
+
never: (column?: Column) => boolean;
|
|
7
|
+
optional: (column: Column) => boolean;
|
|
8
|
+
nullable: (column: Column) => boolean;
|
|
9
|
+
}
|
|
10
|
+
type BuildRefineField<T> = T extends v.GenericSchema ? ((schema: T) => v.GenericSchema) | v.GenericSchema : never;
|
|
11
|
+
export type BuildRefine<TColumns extends Record<string, any>> = {
|
|
12
|
+
[K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetValibotTypeFromColumn<TColumns[K]>> : BuildRefine<GetSelection<TColumns[K]>>;
|
|
13
|
+
};
|
|
14
|
+
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => v.GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : v.NullableSchema<ReturnType<TRefinement>, undefined>) extends infer TSchema ? TType extends 'update' ? v.OptionalSchema<Assume<TSchema, v.GenericSchema>, undefined> : TSchema : v.AnySchema : TRefinement;
|
|
15
|
+
type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends v.GenericSchema | ((schema: any) => any) ? true : false : false;
|
|
16
|
+
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = v.ObjectSchema<Simplify<{
|
|
17
|
+
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, Assume<K, string>> extends true ? Assume<HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn>, v.GenericSchema> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined> : v.AnySchema;
|
|
18
|
+
}>, undefined>;
|
|
19
|
+
export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
|
|
20
|
+
[K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, v.GenericSchema> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Assume, Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type * as v from 'valibot';
|
|
3
|
+
import type { GetValibotTypeFromColumn, HandleColumn } from './column.types.js';
|
|
4
|
+
import type { ColumnIsGeneratedAlwaysAs, GetSelection } from './utils.js';
|
|
5
|
+
export interface Conditions {
|
|
6
|
+
never: (column?: Column) => boolean;
|
|
7
|
+
optional: (column: Column) => boolean;
|
|
8
|
+
nullable: (column: Column) => boolean;
|
|
9
|
+
}
|
|
10
|
+
type BuildRefineField<T> = T extends v.GenericSchema ? ((schema: T) => v.GenericSchema) | v.GenericSchema : never;
|
|
11
|
+
export type BuildRefine<TColumns extends Record<string, any>> = {
|
|
12
|
+
[K in keyof TColumns as TColumns[K] extends Column | SelectedFieldsFlat<Column> | Table | View ? K : never]?: TColumns[K] extends Column ? BuildRefineField<GetValibotTypeFromColumn<TColumns[K]>> : BuildRefine<GetSelection<TColumns[K]>>;
|
|
13
|
+
};
|
|
14
|
+
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => v.GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : v.NullableSchema<ReturnType<TRefinement>, undefined>) extends infer TSchema ? TType extends 'update' ? v.OptionalSchema<Assume<TSchema, v.GenericSchema>, undefined> : TSchema : v.AnySchema : TRefinement;
|
|
15
|
+
type IsRefinementDefined<TRefinements extends Record<string | symbol | number, any> | undefined, TKey extends string | symbol | number> = TRefinements extends object ? TRefinements[TKey] extends v.GenericSchema | ((schema: any) => any) ? true : false : false;
|
|
16
|
+
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = v.ObjectSchema<Simplify<{
|
|
17
|
+
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, Assume<K, string>> extends true ? Assume<HandleRefinement<TType, TRefinements[K & keyof TRefinements], TColumn>, v.GenericSchema> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[K & keyof TRefinements] : undefined> : v.AnySchema;
|
|
18
|
+
}>, undefined>;
|
|
19
|
+
export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
|
|
20
|
+
[K in keyof TRefinement]: K extends keyof TCompare ? TRefinement[K] extends Record<string, v.GenericSchema> ? NoUnknownKeys<TRefinement[K], TCompare[K]> : TRefinement[K] : DrizzleTypeError<`Found unknown key in refinement: "${K & string}"`>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
package/utils.d.cts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Column, SelectedFieldsFlat, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
3
|
+
import type * as v from 'valibot';
|
|
4
|
+
import type { literalSchema } from "./column.cjs";
|
|
5
|
+
export declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
|
|
6
|
+
export declare function isWithEnum(column: Column): column is typeof column & {
|
|
7
|
+
enumValues: [string, ...string[]];
|
|
8
|
+
};
|
|
9
|
+
export declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
|
|
10
|
+
type Literal = v.InferOutput<typeof literalSchema>;
|
|
11
|
+
export type Json = Literal | {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
} | any[];
|
|
14
|
+
export type IsNever<T> = [T] extends [never] ? true : false;
|
|
15
|
+
export type IsEnumDefined<TEnum extends string[] | undefined> = [string, ...string[]] extends TEnum ? false : undefined extends TEnum ? false : true;
|
|
16
|
+
export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_'] extends {
|
|
17
|
+
generated: undefined;
|
|
18
|
+
} ? false : TColumn['_'] extends {
|
|
19
|
+
generated: {
|
|
20
|
+
type: 'byDefault';
|
|
21
|
+
};
|
|
22
|
+
} ? false : true : false;
|
|
23
|
+
export type RemoveNever<T> = {
|
|
24
|
+
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
25
|
+
};
|
|
26
|
+
export type RemoveNeverElements<T extends any[]> = T extends [infer First, ...infer Rest] ? IsNever<First> extends true ? RemoveNeverElements<Rest> : [First, ...RemoveNeverElements<Rest>] : [];
|
|
27
|
+
export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
|
|
28
|
+
export {};
|
package/utils.d.mts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Column, SelectedFieldsFlat, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
3
|
+
import type * as v from 'valibot';
|
|
4
|
+
import type { literalSchema } from "./column.mjs";
|
|
5
|
+
export declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
|
|
6
|
+
export declare function isWithEnum(column: Column): column is typeof column & {
|
|
7
|
+
enumValues: [string, ...string[]];
|
|
8
|
+
};
|
|
9
|
+
export declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
|
|
10
|
+
type Literal = v.InferOutput<typeof literalSchema>;
|
|
11
|
+
export type Json = Literal | {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
} | any[];
|
|
14
|
+
export type IsNever<T> = [T] extends [never] ? true : false;
|
|
15
|
+
export type IsEnumDefined<TEnum extends string[] | undefined> = [string, ...string[]] extends TEnum ? false : undefined extends TEnum ? false : true;
|
|
16
|
+
export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_'] extends {
|
|
17
|
+
generated: undefined;
|
|
18
|
+
} ? false : TColumn['_'] extends {
|
|
19
|
+
generated: {
|
|
20
|
+
type: 'byDefault';
|
|
21
|
+
};
|
|
22
|
+
} ? false : true : false;
|
|
23
|
+
export type RemoveNever<T> = {
|
|
24
|
+
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
25
|
+
};
|
|
26
|
+
export type RemoveNeverElements<T extends any[]> = T extends [infer First, ...infer Rest] ? IsNever<First> extends true ? RemoveNeverElements<Rest> : [First, ...RemoveNeverElements<Rest>] : [];
|
|
27
|
+
export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
|
|
28
|
+
export {};
|
package/utils.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Column, SelectedFieldsFlat, Table, View } from 'drizzle-orm';
|
|
2
|
+
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
3
|
+
import type * as v from 'valibot';
|
|
4
|
+
import type { literalSchema } from './column.js';
|
|
5
|
+
export declare function isColumnType<T extends Column>(column: Column, columnTypes: string[]): column is T;
|
|
6
|
+
export declare function isWithEnum(column: Column): column is typeof column & {
|
|
7
|
+
enumValues: [string, ...string[]];
|
|
8
|
+
};
|
|
9
|
+
export declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
|
|
10
|
+
type Literal = v.InferOutput<typeof literalSchema>;
|
|
11
|
+
export type Json = Literal | {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
} | any[];
|
|
14
|
+
export type IsNever<T> = [T] extends [never] ? true : false;
|
|
15
|
+
export type IsEnumDefined<TEnum extends string[] | undefined> = [string, ...string[]] extends TEnum ? false : undefined extends TEnum ? false : true;
|
|
16
|
+
export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_'] extends {
|
|
17
|
+
generated: undefined;
|
|
18
|
+
} ? false : TColumn['_'] extends {
|
|
19
|
+
generated: {
|
|
20
|
+
type: 'byDefault';
|
|
21
|
+
};
|
|
22
|
+
} ? false : true : false;
|
|
23
|
+
export type RemoveNever<T> = {
|
|
24
|
+
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
25
|
+
};
|
|
26
|
+
export type RemoveNeverElements<T extends any[]> = T extends [infer First, ...infer Rest] ? IsNever<First> extends true ? RemoveNeverElements<Rest> : [First, ...RemoveNeverElements<Rest>] : [];
|
|
27
|
+
export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
|
|
28
|
+
export {};
|