drizzle-arktype 0.1.2 → 0.1.3-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 +2 -2
- package/column.d.mts +2 -2
- package/column.d.ts +2 -2
- package/column.types.d.cts +8 -11
- package/column.types.d.mts +8 -11
- package/column.types.d.ts +8 -11
- package/index.cjs +83 -22
- package/index.cjs.map +1 -1
- package/index.d.cts +0 -1
- package/index.d.mts +0 -1
- package/index.d.ts +0 -1
- package/index.mjs +83 -22
- package/index.mjs.map +1 -1
- package/package.json +8 -5
- package/schema.types.d.cts +2 -1
- package/schema.types.d.mts +2 -1
- package/schema.types.d.ts +2 -1
- package/schema.types.internal.d.cts +11 -13
- package/schema.types.internal.d.mts +11 -13
- package/schema.types.internal.d.ts +11 -13
- package/utils.d.cts +3 -9
- package/utils.d.mts +3 -9
- package/utils.d.ts +3 -9
package/column.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Type } from 'arktype';
|
|
2
2
|
import type { Column } from 'drizzle-orm';
|
|
3
|
-
export declare const literalSchema: import("arktype
|
|
4
|
-
export declare const jsonSchema: import("arktype
|
|
3
|
+
export declare const literalSchema: import("arktype").BaseType<string | number | boolean | null, {}>;
|
|
4
|
+
export declare const jsonSchema: import("arktype").BaseType<string | number | boolean | any[] | Record<string, any> | null, {}>;
|
|
5
5
|
export declare const bufferSchema: import("arktype/internal/methods/object.ts").ObjectType<Buffer, {}>;
|
|
6
6
|
export declare function columnToSchema(column: Column): Type;
|
package/column.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Type } from 'arktype';
|
|
2
2
|
import type { Column } from 'drizzle-orm';
|
|
3
|
-
export declare const literalSchema: import("arktype
|
|
4
|
-
export declare const jsonSchema: import("arktype
|
|
3
|
+
export declare const literalSchema: import("arktype").BaseType<string | number | boolean | null, {}>;
|
|
4
|
+
export declare const jsonSchema: import("arktype").BaseType<string | number | boolean | any[] | Record<string, any> | null, {}>;
|
|
5
5
|
export declare const bufferSchema: import("arktype/internal/methods/object.ts").ObjectType<Buffer, {}>;
|
|
6
6
|
export declare function columnToSchema(column: Column): Type;
|
package/column.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Type } from 'arktype';
|
|
2
2
|
import type { Column } from 'drizzle-orm';
|
|
3
|
-
export declare const literalSchema: import("arktype
|
|
4
|
-
export declare const jsonSchema: import("arktype
|
|
3
|
+
export declare const literalSchema: import("arktype").BaseType<string | number | boolean | null, {}>;
|
|
4
|
+
export declare const jsonSchema: import("arktype").BaseType<string | number | boolean | any[] | Record<string, any> | null, {}>;
|
|
5
5
|
export declare const bufferSchema: import("arktype/internal/methods/object.ts").ObjectType<Buffer, {}>;
|
|
6
6
|
export declare function columnToSchema(column: Column): Type;
|
package/column.types.d.cts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { Type, type } from 'arktype';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
export type ArktypeNullable<TSchema> = Type<type.infer<TSchema> | null
|
|
5
|
-
export type ArktypeOptional<TSchema> = [Type<type.infer<TSchema
|
|
6
|
-
export type
|
|
7
|
-
enumValues: [string, ...string[]];
|
|
8
|
-
} ? TColumn['_']['enumValues'] : undefined;
|
|
9
|
-
export type GetArktypeType<TData, TColumnType extends string, TEnumValues extends [string, ...string[]] | undefined> = IsEnumDefined<TEnumValues> extends true ? Type<Assume<TEnumValues, any[]>[number]> : TColumnType extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? IsUnknown<TData> extends true ? Type<Json> : Type<TData> : Type<TData>;
|
|
2
|
+
import type { Column } from 'drizzle-orm';
|
|
3
|
+
import type { Json } from "./utils.cjs";
|
|
4
|
+
export type ArktypeNullable<TSchema> = Type<type.infer<TSchema> | null>;
|
|
5
|
+
export type ArktypeOptional<TSchema> = [Type<type.infer<TSchema>>, '?'];
|
|
6
|
+
export type GetArktypeType<TColumn extends Column> = TColumn['_']['columnType'] extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' | 'CockroachJsonb' ? unknown extends TColumn['_']['data'] ? Type<Json> : Type<TColumn['_']['data']> : Type<TColumn['_']['data']>;
|
|
10
7
|
type HandleSelectColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : ArktypeNullable<TSchema>;
|
|
11
|
-
type HandleInsertColumn<TSchema, TColumn extends Column> =
|
|
12
|
-
type HandleUpdateColumn<TSchema, TColumn extends Column> =
|
|
13
|
-
export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> =
|
|
8
|
+
type HandleInsertColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? ArktypeOptional<TSchema> : TSchema : ArktypeOptional<ArktypeNullable<TSchema>>;
|
|
9
|
+
type HandleUpdateColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? ArktypeOptional<TSchema> : ArktypeOptional<ArktypeNullable<TSchema>>;
|
|
10
|
+
export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> = TType extends 'select' ? HandleSelectColumn<GetArktypeType<TColumn>, TColumn> : TType extends 'insert' ? HandleInsertColumn<GetArktypeType<TColumn>, TColumn> : TType extends 'update' ? HandleUpdateColumn<GetArktypeType<TColumn>, TColumn> : GetArktypeType<TColumn>;
|
|
14
11
|
export {};
|
package/column.types.d.mts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { Type, type } from 'arktype';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
export type ArktypeNullable<TSchema> = Type<type.infer<TSchema> | null
|
|
5
|
-
export type ArktypeOptional<TSchema> = [Type<type.infer<TSchema
|
|
6
|
-
export type
|
|
7
|
-
enumValues: [string, ...string[]];
|
|
8
|
-
} ? TColumn['_']['enumValues'] : undefined;
|
|
9
|
-
export type GetArktypeType<TData, TColumnType extends string, TEnumValues extends [string, ...string[]] | undefined> = IsEnumDefined<TEnumValues> extends true ? Type<Assume<TEnumValues, any[]>[number]> : TColumnType extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? IsUnknown<TData> extends true ? Type<Json> : Type<TData> : Type<TData>;
|
|
2
|
+
import type { Column } from 'drizzle-orm';
|
|
3
|
+
import type { Json } from "./utils.mjs";
|
|
4
|
+
export type ArktypeNullable<TSchema> = Type<type.infer<TSchema> | null>;
|
|
5
|
+
export type ArktypeOptional<TSchema> = [Type<type.infer<TSchema>>, '?'];
|
|
6
|
+
export type GetArktypeType<TColumn extends Column> = TColumn['_']['columnType'] extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' | 'CockroachJsonb' ? unknown extends TColumn['_']['data'] ? Type<Json> : Type<TColumn['_']['data']> : Type<TColumn['_']['data']>;
|
|
10
7
|
type HandleSelectColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : ArktypeNullable<TSchema>;
|
|
11
|
-
type HandleInsertColumn<TSchema, TColumn extends Column> =
|
|
12
|
-
type HandleUpdateColumn<TSchema, TColumn extends Column> =
|
|
13
|
-
export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> =
|
|
8
|
+
type HandleInsertColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? ArktypeOptional<TSchema> : TSchema : ArktypeOptional<ArktypeNullable<TSchema>>;
|
|
9
|
+
type HandleUpdateColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? ArktypeOptional<TSchema> : ArktypeOptional<ArktypeNullable<TSchema>>;
|
|
10
|
+
export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> = TType extends 'select' ? HandleSelectColumn<GetArktypeType<TColumn>, TColumn> : TType extends 'insert' ? HandleInsertColumn<GetArktypeType<TColumn>, TColumn> : TType extends 'update' ? HandleUpdateColumn<GetArktypeType<TColumn>, TColumn> : GetArktypeType<TColumn>;
|
|
14
11
|
export {};
|
package/column.types.d.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { Type, type } from 'arktype';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
export type ArktypeNullable<TSchema> = Type<type.infer<TSchema> | null
|
|
5
|
-
export type ArktypeOptional<TSchema> = [Type<type.infer<TSchema
|
|
6
|
-
export type
|
|
7
|
-
enumValues: [string, ...string[]];
|
|
8
|
-
} ? TColumn['_']['enumValues'] : undefined;
|
|
9
|
-
export type GetArktypeType<TData, TColumnType extends string, TEnumValues extends [string, ...string[]] | undefined> = IsEnumDefined<TEnumValues> extends true ? Type<Assume<TEnumValues, any[]>[number]> : TColumnType extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' ? IsUnknown<TData> extends true ? Type<Json> : Type<TData> : Type<TData>;
|
|
2
|
+
import type { Column } from 'drizzle-orm';
|
|
3
|
+
import type { Json } from './utils.js';
|
|
4
|
+
export type ArktypeNullable<TSchema> = Type<type.infer<TSchema> | null>;
|
|
5
|
+
export type ArktypeOptional<TSchema> = [Type<type.infer<TSchema>>, '?'];
|
|
6
|
+
export type GetArktypeType<TColumn extends Column> = TColumn['_']['columnType'] extends 'PgJson' | 'PgJsonb' | 'MySqlJson' | 'SingleStoreJson' | 'SQLiteTextJson' | 'SQLiteBlobJson' | 'CockroachJsonb' ? unknown extends TColumn['_']['data'] ? Type<Json> : Type<TColumn['_']['data']> : Type<TColumn['_']['data']>;
|
|
10
7
|
type HandleSelectColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TSchema : ArktypeNullable<TSchema>;
|
|
11
|
-
type HandleInsertColumn<TSchema, TColumn extends Column> =
|
|
12
|
-
type HandleUpdateColumn<TSchema, TColumn extends Column> =
|
|
13
|
-
export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> =
|
|
8
|
+
type HandleInsertColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? TColumn['_']['hasDefault'] extends true ? ArktypeOptional<TSchema> : TSchema : ArktypeOptional<ArktypeNullable<TSchema>>;
|
|
9
|
+
type HandleUpdateColumn<TSchema, TColumn extends Column> = TColumn['_']['notNull'] extends true ? ArktypeOptional<TSchema> : ArktypeOptional<ArktypeNullable<TSchema>>;
|
|
10
|
+
export type HandleColumn<TType extends 'select' | 'insert' | 'update', TColumn extends Column> = TType extends 'select' ? HandleSelectColumn<GetArktypeType<TColumn>, TColumn> : TType extends 'insert' ? HandleInsertColumn<GetArktypeType<TColumn>, TColumn> : TType extends 'update' ? HandleUpdateColumn<GetArktypeType<TColumn>, TColumn> : GetArktypeType<TColumn>;
|
|
14
11
|
export {};
|
package/index.cjs
CHANGED
|
@@ -34,7 +34,8 @@ const isPgEnum = isWithEnum;
|
|
|
34
34
|
|
|
35
35
|
const literalSchema = arktype.type.string.or(arktype.type.number).or(arktype.type.boolean).or(arktype.type.null);
|
|
36
36
|
const jsonSchema = literalSchema.or(arktype.type.unknown.as().array()).or(arktype.type.object.as());
|
|
37
|
-
const bufferSchema = arktype.type.
|
|
37
|
+
const bufferSchema = arktype.type.unknown.narrow((value) => value instanceof Buffer).as().describe(// eslint-disable-line no-instanceof/no-instanceof
|
|
38
|
+
'a Buffer instance');
|
|
38
39
|
function columnToSchema(column) {
|
|
39
40
|
let schema;
|
|
40
41
|
if (isWithEnum(column)) {
|
|
@@ -42,16 +43,29 @@ function columnToSchema(column) {
|
|
|
42
43
|
}
|
|
43
44
|
if (!schema) {
|
|
44
45
|
// Handle specific types
|
|
45
|
-
if (isColumnType(column, [
|
|
46
|
+
if (isColumnType(column, [
|
|
47
|
+
'PgGeometry',
|
|
48
|
+
'PgPointTuple',
|
|
49
|
+
'CockroachGeometry',
|
|
50
|
+
])) {
|
|
46
51
|
schema = arktype.type([arktype.type.number, arktype.type.number]);
|
|
47
52
|
}
|
|
48
|
-
else if (isColumnType(column, [
|
|
53
|
+
else if (isColumnType(column, [
|
|
54
|
+
'PgGeometryObject',
|
|
55
|
+
'PgPointObject',
|
|
56
|
+
'CockroachGeometryObject',
|
|
57
|
+
])) {
|
|
49
58
|
schema = arktype.type({
|
|
50
59
|
x: arktype.type.number,
|
|
51
60
|
y: arktype.type.number,
|
|
52
61
|
});
|
|
53
62
|
}
|
|
54
|
-
else if (isColumnType(column, [
|
|
63
|
+
else if (isColumnType(column, [
|
|
64
|
+
'PgHalfVector',
|
|
65
|
+
'PgVector',
|
|
66
|
+
'SingleStoreVector',
|
|
67
|
+
'CockroachVector',
|
|
68
|
+
])) {
|
|
55
69
|
schema = column.dimensions
|
|
56
70
|
? arktype.type.number.array().exactlyLength(column.dimensions)
|
|
57
71
|
: arktype.type.number.array();
|
|
@@ -66,7 +80,7 @@ function columnToSchema(column) {
|
|
|
66
80
|
c: arktype.type.number,
|
|
67
81
|
});
|
|
68
82
|
} // Handle other types
|
|
69
|
-
else if (isColumnType(column, ['PgArray'])) {
|
|
83
|
+
else if (isColumnType(column, ['PgArray', 'CockroachArray'])) {
|
|
70
84
|
const arraySchema = columnToSchema(column.baseColumn).array();
|
|
71
85
|
schema = column.size ? arraySchema.exactlyLength(column.size) : arraySchema;
|
|
72
86
|
}
|
|
@@ -104,11 +118,15 @@ function columnToSchema(column) {
|
|
|
104
118
|
return schema;
|
|
105
119
|
}
|
|
106
120
|
function numberColumnToSchema(column) {
|
|
107
|
-
let unsigned = column.getSQLType().includes('unsigned');
|
|
121
|
+
let unsigned = column.getSQLType().includes('unsigned') || isColumnType(column, ['MsSqlTinyInt']);
|
|
108
122
|
let min;
|
|
109
123
|
let max;
|
|
110
124
|
let integer = false;
|
|
111
|
-
if (isColumnType(column, [
|
|
125
|
+
if (isColumnType(column, [
|
|
126
|
+
'MySqlTinyInt',
|
|
127
|
+
'SingleStoreTinyInt',
|
|
128
|
+
'MsSqlTinyInt',
|
|
129
|
+
])) {
|
|
112
130
|
min = unsigned ? 0 : CONSTANTS.INT8_MIN;
|
|
113
131
|
max = unsigned ? CONSTANTS.INT8_UNSIGNED_MAX : CONSTANTS.INT8_MAX;
|
|
114
132
|
integer = true;
|
|
@@ -118,6 +136,8 @@ function numberColumnToSchema(column) {
|
|
|
118
136
|
'PgSmallSerial',
|
|
119
137
|
'MySqlSmallInt',
|
|
120
138
|
'SingleStoreSmallInt',
|
|
139
|
+
'MsSqlSmallInt',
|
|
140
|
+
'CockroachSmallInt',
|
|
121
141
|
])) {
|
|
122
142
|
min = unsigned ? 0 : CONSTANTS.INT16_MIN;
|
|
123
143
|
max = unsigned ? CONSTANTS.INT16_UNSIGNED_MAX : CONSTANTS.INT16_MAX;
|
|
@@ -129,6 +149,8 @@ function numberColumnToSchema(column) {
|
|
|
129
149
|
'MySqlMediumInt',
|
|
130
150
|
'SingleStoreFloat',
|
|
131
151
|
'SingleStoreMediumInt',
|
|
152
|
+
'MsSqlReal',
|
|
153
|
+
'CockroachReal',
|
|
132
154
|
])) {
|
|
133
155
|
min = unsigned ? 0 : CONSTANTS.INT24_MIN;
|
|
134
156
|
max = unsigned ? CONSTANTS.INT24_UNSIGNED_MAX : CONSTANTS.INT24_MAX;
|
|
@@ -139,6 +161,8 @@ function numberColumnToSchema(column) {
|
|
|
139
161
|
'PgSerial',
|
|
140
162
|
'MySqlInt',
|
|
141
163
|
'SingleStoreInt',
|
|
164
|
+
'MsSqlInt',
|
|
165
|
+
'CockroachInteger',
|
|
142
166
|
])) {
|
|
143
167
|
min = unsigned ? 0 : CONSTANTS.INT32_MIN;
|
|
144
168
|
max = unsigned ? CONSTANTS.INT32_UNSIGNED_MAX : CONSTANTS.INT32_MAX;
|
|
@@ -151,6 +175,8 @@ function numberColumnToSchema(column) {
|
|
|
151
175
|
'SingleStoreReal',
|
|
152
176
|
'SingleStoreDouble',
|
|
153
177
|
'SQLiteReal',
|
|
178
|
+
'MsSqlFloat',
|
|
179
|
+
'CockroachFloat',
|
|
154
180
|
])) {
|
|
155
181
|
min = unsigned ? 0 : CONSTANTS.INT48_MIN;
|
|
156
182
|
max = unsigned ? CONSTANTS.INT48_UNSIGNED_MAX : CONSTANTS.INT48_MAX;
|
|
@@ -160,14 +186,18 @@ function numberColumnToSchema(column) {
|
|
|
160
186
|
'PgBigSerial53',
|
|
161
187
|
'MySqlBigInt53',
|
|
162
188
|
'MySqlSerial',
|
|
189
|
+
'MySqlDecimalNumber',
|
|
163
190
|
'SingleStoreBigInt53',
|
|
164
191
|
'SingleStoreSerial',
|
|
192
|
+
'SingleStoreDecimalNumber',
|
|
165
193
|
'SQLiteInteger',
|
|
166
|
-
|
|
194
|
+
'CockroachBigInt53',
|
|
195
|
+
])
|
|
196
|
+
|| (isColumnType(column, ['MsSqlBigInt']) && column.mode === 'number')) {
|
|
167
197
|
unsigned = unsigned || isColumnType(column, ['MySqlSerial', 'SingleStoreSerial']);
|
|
168
198
|
min = unsigned ? 0 : Number.MIN_SAFE_INTEGER;
|
|
169
199
|
max = Number.MAX_SAFE_INTEGER;
|
|
170
|
-
integer =
|
|
200
|
+
integer = !isColumnType(column, ['MySqlDecimalNumber', 'SingleStoreDecimalNumber']);
|
|
171
201
|
}
|
|
172
202
|
else if (isColumnType(column, ['MySqlYear', 'SingleStoreYear'])) {
|
|
173
203
|
min = 1901;
|
|
@@ -184,21 +214,58 @@ function numberColumnToSchema(column) {
|
|
|
184
214
|
const unsignedBigintNarrow = (v, ctx) => v < 0n ? ctx.mustBe('greater than') : v > CONSTANTS.INT64_UNSIGNED_MAX ? ctx.mustBe('less than') : true;
|
|
185
215
|
/** @internal */
|
|
186
216
|
const bigintNarrow = (v, ctx) => v < CONSTANTS.INT64_MIN ? ctx.mustBe('greater than') : v > CONSTANTS.INT64_MAX ? ctx.mustBe('less than') : true;
|
|
217
|
+
/** @internal */
|
|
218
|
+
const bigintStringModeSchema = arktype.type.string.narrow((v, ctx) => {
|
|
219
|
+
if (typeof v !== 'string') {
|
|
220
|
+
return ctx.mustBe('a string');
|
|
221
|
+
}
|
|
222
|
+
if (!(/^-?\d+$/.test(v))) {
|
|
223
|
+
return ctx.mustBe('a string representing a number');
|
|
224
|
+
}
|
|
225
|
+
const bigint = BigInt(v);
|
|
226
|
+
if (bigint < CONSTANTS.INT64_MIN) {
|
|
227
|
+
return ctx.mustBe('greater than');
|
|
228
|
+
}
|
|
229
|
+
if (bigint > CONSTANTS.INT64_MAX) {
|
|
230
|
+
return ctx.mustBe('less than');
|
|
231
|
+
}
|
|
232
|
+
return true;
|
|
233
|
+
});
|
|
187
234
|
function bigintColumnToSchema(column) {
|
|
235
|
+
if (isColumnType(column, ['MsSqlBigInt'])) {
|
|
236
|
+
if (column.mode === 'string') {
|
|
237
|
+
return bigintStringModeSchema;
|
|
238
|
+
}
|
|
239
|
+
else if (column.mode === 'number') {
|
|
240
|
+
return numberColumnToSchema(column);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
188
243
|
const unsigned = column.getSQLType().includes('unsigned');
|
|
189
244
|
return arktype.type.bigint.narrow(unsigned ? unsignedBigintNarrow : bigintNarrow);
|
|
190
245
|
}
|
|
191
246
|
function stringColumnToSchema(column) {
|
|
192
|
-
if (isColumnType(column, ['PgUUID'])) {
|
|
247
|
+
if (isColumnType(column, ['PgUUID', 'CockroachUUID'])) {
|
|
193
248
|
return arktype.type(/^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu).describe('a RFC-4122-compliant UUID');
|
|
194
249
|
}
|
|
195
|
-
if (isColumnType(column, ['PgBinaryVector'])) {
|
|
250
|
+
if (isColumnType(column, ['PgBinaryVector', 'CockroachBinaryVector'])) {
|
|
196
251
|
return arktype.type(`/^[01]{${column.dimensions}}$/`)
|
|
197
252
|
.describe(`a string containing ones or zeros while being ${column.dimensions} characters long`);
|
|
198
253
|
}
|
|
199
254
|
let max;
|
|
200
255
|
let fixed = false;
|
|
201
|
-
|
|
256
|
+
// Char columns are padded to a fixed length. The input can be equal or less than the set length
|
|
257
|
+
if (isColumnType(column, [
|
|
258
|
+
'PgVarchar',
|
|
259
|
+
'SQLiteText',
|
|
260
|
+
'PgChar',
|
|
261
|
+
'MySqlChar',
|
|
262
|
+
'SingleStoreChar',
|
|
263
|
+
'MsSqlChar',
|
|
264
|
+
'MsSqlVarChar',
|
|
265
|
+
'CockroachChar',
|
|
266
|
+
'CockroachVarchar',
|
|
267
|
+
'CockroachString',
|
|
268
|
+
])) {
|
|
202
269
|
max = column.length;
|
|
203
270
|
}
|
|
204
271
|
else if (isColumnType(column, ['MySqlVarChar', 'SingleStoreVarChar'])) {
|
|
@@ -218,14 +285,6 @@ function stringColumnToSchema(column) {
|
|
|
218
285
|
max = CONSTANTS.INT8_UNSIGNED_MAX;
|
|
219
286
|
}
|
|
220
287
|
}
|
|
221
|
-
if (isColumnType(column, [
|
|
222
|
-
'PgChar',
|
|
223
|
-
'MySqlChar',
|
|
224
|
-
'SingleStoreChar',
|
|
225
|
-
])) {
|
|
226
|
-
max = column.length;
|
|
227
|
-
fixed = true;
|
|
228
|
-
}
|
|
229
288
|
return max && fixed ? arktype.type.string.exactlyLength(max) : max ? arktype.type.string.atMostLength(max) : arktype.type.string;
|
|
230
289
|
}
|
|
231
290
|
|
|
@@ -280,7 +339,8 @@ const createSelectSchema = ((entity, refine) => {
|
|
|
280
339
|
const createInsertSchema = ((entity, refine) => {
|
|
281
340
|
const columns = getColumns(entity);
|
|
282
341
|
return handleColumns(columns, refine ?? {}, {
|
|
283
|
-
never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
|
|
342
|
+
never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
|
|
343
|
+
|| ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
|
|
284
344
|
optional: (column) => !column.notNull || (column.notNull && column.hasDefault),
|
|
285
345
|
nullable: (column) => !column.notNull,
|
|
286
346
|
});
|
|
@@ -288,7 +348,8 @@ const createInsertSchema = ((entity, refine) => {
|
|
|
288
348
|
const createUpdateSchema = ((entity, refine) => {
|
|
289
349
|
const columns = getColumns(entity);
|
|
290
350
|
return handleColumns(columns, refine ?? {}, {
|
|
291
|
-
never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
|
|
351
|
+
never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
|
|
352
|
+
|| ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
|
|
292
353
|
optional: () => true,
|
|
293
354
|
nullable: (column) => !column.notNull,
|
|
294
355
|
});
|
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":["type","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/utils.ts","../src/column.ts","../src/schema.ts"],"sourcesContent":[null,null,null,null],"names":["type","isTable","getTableColumns","getViewSelectedFields","is","Column","SQL","isView"],"mappings":"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"}
|
package/index.d.cts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { bufferSchema, jsonSchema, literalSchema } from "./column.cjs";
|
|
2
2
|
export * from "./column.types.cjs";
|
|
3
3
|
export * from "./schema.cjs";
|
|
4
|
-
export type { BuildSchema } from "./schema.types.internal.cjs";
|
|
5
4
|
export * from "./schema.types.internal.cjs";
|
|
6
5
|
export * from "./schema.types.cjs";
|
|
7
6
|
export * from "./utils.cjs";
|
package/index.d.mts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { bufferSchema, jsonSchema, literalSchema } from "./column.mjs";
|
|
2
2
|
export * from "./column.types.mjs";
|
|
3
3
|
export * from "./schema.mjs";
|
|
4
|
-
export type { BuildSchema } from "./schema.types.internal.mjs";
|
|
5
4
|
export * from "./schema.types.internal.mjs";
|
|
6
5
|
export * from "./schema.types.mjs";
|
|
7
6
|
export * from "./utils.mjs";
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { bufferSchema, jsonSchema, literalSchema } from './column.js';
|
|
2
2
|
export * from './column.types.js';
|
|
3
3
|
export * from './schema.js';
|
|
4
|
-
export type { BuildSchema } from './schema.types.internal.js';
|
|
5
4
|
export * from './schema.types.internal.js';
|
|
6
5
|
export * from './schema.types.js';
|
|
7
6
|
export * from './utils.js';
|
package/index.mjs
CHANGED
|
@@ -32,7 +32,8 @@ const isPgEnum = isWithEnum;
|
|
|
32
32
|
|
|
33
33
|
const literalSchema = type.string.or(type.number).or(type.boolean).or(type.null);
|
|
34
34
|
const jsonSchema = literalSchema.or(type.unknown.as().array()).or(type.object.as());
|
|
35
|
-
const bufferSchema = type.
|
|
35
|
+
const bufferSchema = type.unknown.narrow((value) => value instanceof Buffer).as().describe(// eslint-disable-line no-instanceof/no-instanceof
|
|
36
|
+
'a Buffer instance');
|
|
36
37
|
function columnToSchema(column) {
|
|
37
38
|
let schema;
|
|
38
39
|
if (isWithEnum(column)) {
|
|
@@ -40,16 +41,29 @@ function columnToSchema(column) {
|
|
|
40
41
|
}
|
|
41
42
|
if (!schema) {
|
|
42
43
|
// Handle specific types
|
|
43
|
-
if (isColumnType(column, [
|
|
44
|
+
if (isColumnType(column, [
|
|
45
|
+
'PgGeometry',
|
|
46
|
+
'PgPointTuple',
|
|
47
|
+
'CockroachGeometry',
|
|
48
|
+
])) {
|
|
44
49
|
schema = type([type.number, type.number]);
|
|
45
50
|
}
|
|
46
|
-
else if (isColumnType(column, [
|
|
51
|
+
else if (isColumnType(column, [
|
|
52
|
+
'PgGeometryObject',
|
|
53
|
+
'PgPointObject',
|
|
54
|
+
'CockroachGeometryObject',
|
|
55
|
+
])) {
|
|
47
56
|
schema = type({
|
|
48
57
|
x: type.number,
|
|
49
58
|
y: type.number,
|
|
50
59
|
});
|
|
51
60
|
}
|
|
52
|
-
else if (isColumnType(column, [
|
|
61
|
+
else if (isColumnType(column, [
|
|
62
|
+
'PgHalfVector',
|
|
63
|
+
'PgVector',
|
|
64
|
+
'SingleStoreVector',
|
|
65
|
+
'CockroachVector',
|
|
66
|
+
])) {
|
|
53
67
|
schema = column.dimensions
|
|
54
68
|
? type.number.array().exactlyLength(column.dimensions)
|
|
55
69
|
: type.number.array();
|
|
@@ -64,7 +78,7 @@ function columnToSchema(column) {
|
|
|
64
78
|
c: type.number,
|
|
65
79
|
});
|
|
66
80
|
} // Handle other types
|
|
67
|
-
else if (isColumnType(column, ['PgArray'])) {
|
|
81
|
+
else if (isColumnType(column, ['PgArray', 'CockroachArray'])) {
|
|
68
82
|
const arraySchema = columnToSchema(column.baseColumn).array();
|
|
69
83
|
schema = column.size ? arraySchema.exactlyLength(column.size) : arraySchema;
|
|
70
84
|
}
|
|
@@ -102,11 +116,15 @@ function columnToSchema(column) {
|
|
|
102
116
|
return schema;
|
|
103
117
|
}
|
|
104
118
|
function numberColumnToSchema(column) {
|
|
105
|
-
let unsigned = column.getSQLType().includes('unsigned');
|
|
119
|
+
let unsigned = column.getSQLType().includes('unsigned') || isColumnType(column, ['MsSqlTinyInt']);
|
|
106
120
|
let min;
|
|
107
121
|
let max;
|
|
108
122
|
let integer = false;
|
|
109
|
-
if (isColumnType(column, [
|
|
123
|
+
if (isColumnType(column, [
|
|
124
|
+
'MySqlTinyInt',
|
|
125
|
+
'SingleStoreTinyInt',
|
|
126
|
+
'MsSqlTinyInt',
|
|
127
|
+
])) {
|
|
110
128
|
min = unsigned ? 0 : CONSTANTS.INT8_MIN;
|
|
111
129
|
max = unsigned ? CONSTANTS.INT8_UNSIGNED_MAX : CONSTANTS.INT8_MAX;
|
|
112
130
|
integer = true;
|
|
@@ -116,6 +134,8 @@ function numberColumnToSchema(column) {
|
|
|
116
134
|
'PgSmallSerial',
|
|
117
135
|
'MySqlSmallInt',
|
|
118
136
|
'SingleStoreSmallInt',
|
|
137
|
+
'MsSqlSmallInt',
|
|
138
|
+
'CockroachSmallInt',
|
|
119
139
|
])) {
|
|
120
140
|
min = unsigned ? 0 : CONSTANTS.INT16_MIN;
|
|
121
141
|
max = unsigned ? CONSTANTS.INT16_UNSIGNED_MAX : CONSTANTS.INT16_MAX;
|
|
@@ -127,6 +147,8 @@ function numberColumnToSchema(column) {
|
|
|
127
147
|
'MySqlMediumInt',
|
|
128
148
|
'SingleStoreFloat',
|
|
129
149
|
'SingleStoreMediumInt',
|
|
150
|
+
'MsSqlReal',
|
|
151
|
+
'CockroachReal',
|
|
130
152
|
])) {
|
|
131
153
|
min = unsigned ? 0 : CONSTANTS.INT24_MIN;
|
|
132
154
|
max = unsigned ? CONSTANTS.INT24_UNSIGNED_MAX : CONSTANTS.INT24_MAX;
|
|
@@ -137,6 +159,8 @@ function numberColumnToSchema(column) {
|
|
|
137
159
|
'PgSerial',
|
|
138
160
|
'MySqlInt',
|
|
139
161
|
'SingleStoreInt',
|
|
162
|
+
'MsSqlInt',
|
|
163
|
+
'CockroachInteger',
|
|
140
164
|
])) {
|
|
141
165
|
min = unsigned ? 0 : CONSTANTS.INT32_MIN;
|
|
142
166
|
max = unsigned ? CONSTANTS.INT32_UNSIGNED_MAX : CONSTANTS.INT32_MAX;
|
|
@@ -149,6 +173,8 @@ function numberColumnToSchema(column) {
|
|
|
149
173
|
'SingleStoreReal',
|
|
150
174
|
'SingleStoreDouble',
|
|
151
175
|
'SQLiteReal',
|
|
176
|
+
'MsSqlFloat',
|
|
177
|
+
'CockroachFloat',
|
|
152
178
|
])) {
|
|
153
179
|
min = unsigned ? 0 : CONSTANTS.INT48_MIN;
|
|
154
180
|
max = unsigned ? CONSTANTS.INT48_UNSIGNED_MAX : CONSTANTS.INT48_MAX;
|
|
@@ -158,14 +184,18 @@ function numberColumnToSchema(column) {
|
|
|
158
184
|
'PgBigSerial53',
|
|
159
185
|
'MySqlBigInt53',
|
|
160
186
|
'MySqlSerial',
|
|
187
|
+
'MySqlDecimalNumber',
|
|
161
188
|
'SingleStoreBigInt53',
|
|
162
189
|
'SingleStoreSerial',
|
|
190
|
+
'SingleStoreDecimalNumber',
|
|
163
191
|
'SQLiteInteger',
|
|
164
|
-
|
|
192
|
+
'CockroachBigInt53',
|
|
193
|
+
])
|
|
194
|
+
|| (isColumnType(column, ['MsSqlBigInt']) && column.mode === 'number')) {
|
|
165
195
|
unsigned = unsigned || isColumnType(column, ['MySqlSerial', 'SingleStoreSerial']);
|
|
166
196
|
min = unsigned ? 0 : Number.MIN_SAFE_INTEGER;
|
|
167
197
|
max = Number.MAX_SAFE_INTEGER;
|
|
168
|
-
integer =
|
|
198
|
+
integer = !isColumnType(column, ['MySqlDecimalNumber', 'SingleStoreDecimalNumber']);
|
|
169
199
|
}
|
|
170
200
|
else if (isColumnType(column, ['MySqlYear', 'SingleStoreYear'])) {
|
|
171
201
|
min = 1901;
|
|
@@ -182,21 +212,58 @@ function numberColumnToSchema(column) {
|
|
|
182
212
|
const unsignedBigintNarrow = (v, ctx) => v < 0n ? ctx.mustBe('greater than') : v > CONSTANTS.INT64_UNSIGNED_MAX ? ctx.mustBe('less than') : true;
|
|
183
213
|
/** @internal */
|
|
184
214
|
const bigintNarrow = (v, ctx) => v < CONSTANTS.INT64_MIN ? ctx.mustBe('greater than') : v > CONSTANTS.INT64_MAX ? ctx.mustBe('less than') : true;
|
|
215
|
+
/** @internal */
|
|
216
|
+
const bigintStringModeSchema = type.string.narrow((v, ctx) => {
|
|
217
|
+
if (typeof v !== 'string') {
|
|
218
|
+
return ctx.mustBe('a string');
|
|
219
|
+
}
|
|
220
|
+
if (!(/^-?\d+$/.test(v))) {
|
|
221
|
+
return ctx.mustBe('a string representing a number');
|
|
222
|
+
}
|
|
223
|
+
const bigint = BigInt(v);
|
|
224
|
+
if (bigint < CONSTANTS.INT64_MIN) {
|
|
225
|
+
return ctx.mustBe('greater than');
|
|
226
|
+
}
|
|
227
|
+
if (bigint > CONSTANTS.INT64_MAX) {
|
|
228
|
+
return ctx.mustBe('less than');
|
|
229
|
+
}
|
|
230
|
+
return true;
|
|
231
|
+
});
|
|
185
232
|
function bigintColumnToSchema(column) {
|
|
233
|
+
if (isColumnType(column, ['MsSqlBigInt'])) {
|
|
234
|
+
if (column.mode === 'string') {
|
|
235
|
+
return bigintStringModeSchema;
|
|
236
|
+
}
|
|
237
|
+
else if (column.mode === 'number') {
|
|
238
|
+
return numberColumnToSchema(column);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
186
241
|
const unsigned = column.getSQLType().includes('unsigned');
|
|
187
242
|
return type.bigint.narrow(unsigned ? unsignedBigintNarrow : bigintNarrow);
|
|
188
243
|
}
|
|
189
244
|
function stringColumnToSchema(column) {
|
|
190
|
-
if (isColumnType(column, ['PgUUID'])) {
|
|
245
|
+
if (isColumnType(column, ['PgUUID', 'CockroachUUID'])) {
|
|
191
246
|
return type(/^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu).describe('a RFC-4122-compliant UUID');
|
|
192
247
|
}
|
|
193
|
-
if (isColumnType(column, ['PgBinaryVector'])) {
|
|
248
|
+
if (isColumnType(column, ['PgBinaryVector', 'CockroachBinaryVector'])) {
|
|
194
249
|
return type(`/^[01]{${column.dimensions}}$/`)
|
|
195
250
|
.describe(`a string containing ones or zeros while being ${column.dimensions} characters long`);
|
|
196
251
|
}
|
|
197
252
|
let max;
|
|
198
253
|
let fixed = false;
|
|
199
|
-
|
|
254
|
+
// Char columns are padded to a fixed length. The input can be equal or less than the set length
|
|
255
|
+
if (isColumnType(column, [
|
|
256
|
+
'PgVarchar',
|
|
257
|
+
'SQLiteText',
|
|
258
|
+
'PgChar',
|
|
259
|
+
'MySqlChar',
|
|
260
|
+
'SingleStoreChar',
|
|
261
|
+
'MsSqlChar',
|
|
262
|
+
'MsSqlVarChar',
|
|
263
|
+
'CockroachChar',
|
|
264
|
+
'CockroachVarchar',
|
|
265
|
+
'CockroachString',
|
|
266
|
+
])) {
|
|
200
267
|
max = column.length;
|
|
201
268
|
}
|
|
202
269
|
else if (isColumnType(column, ['MySqlVarChar', 'SingleStoreVarChar'])) {
|
|
@@ -216,14 +283,6 @@ function stringColumnToSchema(column) {
|
|
|
216
283
|
max = CONSTANTS.INT8_UNSIGNED_MAX;
|
|
217
284
|
}
|
|
218
285
|
}
|
|
219
|
-
if (isColumnType(column, [
|
|
220
|
-
'PgChar',
|
|
221
|
-
'MySqlChar',
|
|
222
|
-
'SingleStoreChar',
|
|
223
|
-
])) {
|
|
224
|
-
max = column.length;
|
|
225
|
-
fixed = true;
|
|
226
|
-
}
|
|
227
286
|
return max && fixed ? type.string.exactlyLength(max) : max ? type.string.atMostLength(max) : type.string;
|
|
228
287
|
}
|
|
229
288
|
|
|
@@ -278,7 +337,8 @@ const createSelectSchema = ((entity, refine) => {
|
|
|
278
337
|
const createInsertSchema = ((entity, refine) => {
|
|
279
338
|
const columns = getColumns(entity);
|
|
280
339
|
return handleColumns(columns, refine ?? {}, {
|
|
281
|
-
never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
|
|
340
|
+
never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
|
|
341
|
+
|| ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
|
|
282
342
|
optional: (column) => !column.notNull || (column.notNull && column.hasDefault),
|
|
283
343
|
nullable: (column) => !column.notNull,
|
|
284
344
|
});
|
|
@@ -286,7 +346,8 @@ const createInsertSchema = ((entity, refine) => {
|
|
|
286
346
|
const createUpdateSchema = ((entity, refine) => {
|
|
287
347
|
const columns = getColumns(entity);
|
|
288
348
|
return handleColumns(columns, refine ?? {}, {
|
|
289
|
-
never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
|
|
349
|
+
never: (column) => column?.generated?.type === 'always' || column?.generatedIdentity?.type === 'always'
|
|
350
|
+
|| ('identity' in (column ?? {}) && typeof column?.identity !== 'undefined'),
|
|
290
351
|
optional: () => true,
|
|
291
352
|
nullable: (column) => !column.notNull,
|
|
292
353
|
});
|
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":[],"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":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drizzle-arktype",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3-08bb2d5",
|
|
4
4
|
"description": "Generate arktype schemas from Drizzle ORM schemas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"test:types": "cd tests && tsc",
|
|
10
10
|
"pack": "(cd dist && npm pack --pack-destination ..) && rm -f package.tgz && mv *.tgz package.tgz",
|
|
11
11
|
"publish": "npm publish package.tgz",
|
|
12
|
-
"test": "vitest run"
|
|
12
|
+
"test": "vitest run",
|
|
13
|
+
"bench:types": "tsx ./benchmarks/types.ts"
|
|
13
14
|
},
|
|
14
15
|
"exports": {
|
|
15
16
|
".": {
|
|
@@ -59,16 +60,18 @@
|
|
|
59
60
|
"drizzle-orm": ">=0.36.0"
|
|
60
61
|
},
|
|
61
62
|
"devDependencies": {
|
|
63
|
+
"@ark/attest": "^0.45.8",
|
|
62
64
|
"@rollup/plugin-typescript": "^11.1.0",
|
|
63
65
|
"@types/node": "^18.15.10",
|
|
64
66
|
"arktype": "^2.1.10",
|
|
65
67
|
"cpy": "^10.1.0",
|
|
66
68
|
"drizzle-orm": "link:../drizzle-orm/dist",
|
|
67
|
-
"json-rules-engine": "7.3.
|
|
69
|
+
"json-rules-engine": "7.3.1",
|
|
68
70
|
"rimraf": "^5.0.0",
|
|
69
|
-
"rollup": "^3.
|
|
71
|
+
"rollup": "^3.29.5",
|
|
72
|
+
"tsx": "^4.19.3",
|
|
70
73
|
"vite-tsconfig-paths": "^4.3.2",
|
|
71
|
-
"vitest": "^1.
|
|
74
|
+
"vitest": "^3.1.3",
|
|
72
75
|
"zx": "^7.2.2"
|
|
73
76
|
}
|
|
74
77
|
}
|
package/schema.types.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Type } from 'arktype';
|
|
2
2
|
import type { Table, View } from 'drizzle-orm';
|
|
3
|
+
import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
|
|
3
4
|
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
4
5
|
import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.cjs";
|
|
5
6
|
export interface CreateSelectSchema {
|
|
@@ -7,7 +8,7 @@ export interface CreateSelectSchema {
|
|
|
7
8
|
<TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
|
|
8
9
|
<TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
|
|
9
10
|
<TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
|
|
10
|
-
<TEnum extends PgEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]
|
|
11
|
+
<TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]>;
|
|
11
12
|
}
|
|
12
13
|
export interface CreateInsertSchema {
|
|
13
14
|
<TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
|
package/schema.types.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Type } from 'arktype';
|
|
2
2
|
import type { Table, View } from 'drizzle-orm';
|
|
3
|
+
import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
|
|
3
4
|
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
4
5
|
import type { BuildRefine, BuildSchema, NoUnknownKeys } from "./schema.types.internal.mjs";
|
|
5
6
|
export interface CreateSelectSchema {
|
|
@@ -7,7 +8,7 @@ export interface CreateSelectSchema {
|
|
|
7
8
|
<TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
|
|
8
9
|
<TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
|
|
9
10
|
<TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
|
|
10
|
-
<TEnum extends PgEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]
|
|
11
|
+
<TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]>;
|
|
11
12
|
}
|
|
12
13
|
export interface CreateInsertSchema {
|
|
13
14
|
<TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
|
package/schema.types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Type } from 'arktype';
|
|
2
2
|
import type { Table, View } from 'drizzle-orm';
|
|
3
|
+
import type { CockroachEnum } from 'drizzle-orm/cockroach-core';
|
|
3
4
|
import type { PgEnum } from 'drizzle-orm/pg-core';
|
|
4
5
|
import type { BuildRefine, BuildSchema, NoUnknownKeys } from './schema.types.internal.js';
|
|
5
6
|
export interface CreateSelectSchema {
|
|
@@ -7,7 +8,7 @@ export interface CreateSelectSchema {
|
|
|
7
8
|
<TTable extends Table, TRefine extends BuildRefine<TTable['_']['columns']>>(table: TTable, refine?: NoUnknownKeys<TRefine, TTable['$inferSelect']>): BuildSchema<'select', TTable['_']['columns'], TRefine>;
|
|
8
9
|
<TView extends View>(view: TView): BuildSchema<'select', TView['_']['selectedFields'], undefined>;
|
|
9
10
|
<TView extends View, TRefine extends BuildRefine<TView['_']['selectedFields']>>(view: TView, refine: NoUnknownKeys<TRefine, TView['$inferSelect']>): BuildSchema<'select', TView['_']['selectedFields'], TRefine>;
|
|
10
|
-
<TEnum extends PgEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]
|
|
11
|
+
<TEnum extends PgEnum<any> | CockroachEnum<any>>(enum_: TEnum): Type<TEnum['enumValues'][number]>;
|
|
11
12
|
}
|
|
12
13
|
export interface CreateInsertSchema {
|
|
13
14
|
<TTable extends Table>(table: TTable): BuildSchema<'insert', TTable['_']['columns'], undefined>;
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import type { Type, type } from 'arktype';
|
|
2
|
-
import type {
|
|
3
|
-
import type { ArktypeNullable, ArktypeOptional, GetArktypeType,
|
|
4
|
-
import type {
|
|
2
|
+
import type { Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
|
|
3
|
+
import type { ArktypeNullable, ArktypeOptional, GetArktypeType, HandleColumn } from "./column.types.cjs";
|
|
4
|
+
import type { ColumnIsGeneratedAlwaysAs, GetSelection } from "./utils.cjs";
|
|
5
5
|
export interface Conditions {
|
|
6
6
|
never: (column?: Column) => boolean;
|
|
7
7
|
optional: (column: Column) => boolean;
|
|
8
8
|
nullable: (column: Column) => boolean;
|
|
9
9
|
}
|
|
10
10
|
type GenericSchema = type.cast<unknown> | [type.cast<unknown>, '?'];
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
type BuildRefineField<T> = T extends GenericSchema ? ((schema: T) => GenericSchema) | GenericSchema : never;
|
|
12
|
+
export type BuildRefine<TColumns extends Record<string, any>> = {
|
|
13
|
+
[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]>>;
|
|
14
|
+
};
|
|
15
|
+
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any> : TRefinement;
|
|
16
|
+
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;
|
|
17
|
+
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<{
|
|
18
|
+
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;
|
|
13
19
|
}>>;
|
|
14
|
-
export type BuildRefine<TColumns extends Record<string, any>> = BuildRefineColumns<TColumns> extends infer TBuildColumns ? {
|
|
15
|
-
[K in keyof TBuildColumns]?: TBuildColumns[K] extends GenericSchema ? ((schema: TBuildColumns[K]) => GenericSchema) | GenericSchema : TBuildColumns[K] extends Record<string, any> ? Simplify<BuildRefine<TBuildColumns[K]>> : never;
|
|
16
|
-
} : never;
|
|
17
|
-
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement extends GenericSchema | ((schema: GenericSchema) => GenericSchema), TColumn extends Column> = TRefinement extends (schema: any) => GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any, {}> : TRefinement;
|
|
18
|
-
type IsRefinementDefined<TRefinements, TKey extends string> = TKey extends keyof TRefinements ? TRefinements[TKey] extends GenericSchema | ((schema: any) => any) ? true : false : false;
|
|
19
|
-
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<RemoveNever<{
|
|
20
|
-
readonly [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? TRefinements extends object ? IsRefinementDefined<TRefinements, Assume<K, string>> extends true ? HandleRefinement<TType, TRefinements[Assume<K, keyof TRefinements>], TColumn> : HandleColumn<TType, TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[Assume<K, keyof TRefinements>] extends infer TNestedRefinements extends object ? TNestedRefinements : undefined : undefined> : any;
|
|
21
|
-
}>>>;
|
|
22
20
|
export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
|
|
23
21
|
[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}"`>;
|
|
24
22
|
};
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import type { Type, type } from 'arktype';
|
|
2
|
-
import type {
|
|
3
|
-
import type { ArktypeNullable, ArktypeOptional, GetArktypeType,
|
|
4
|
-
import type {
|
|
2
|
+
import type { Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
|
|
3
|
+
import type { ArktypeNullable, ArktypeOptional, GetArktypeType, HandleColumn } from "./column.types.mjs";
|
|
4
|
+
import type { ColumnIsGeneratedAlwaysAs, GetSelection } from "./utils.mjs";
|
|
5
5
|
export interface Conditions {
|
|
6
6
|
never: (column?: Column) => boolean;
|
|
7
7
|
optional: (column: Column) => boolean;
|
|
8
8
|
nullable: (column: Column) => boolean;
|
|
9
9
|
}
|
|
10
10
|
type GenericSchema = type.cast<unknown> | [type.cast<unknown>, '?'];
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
type BuildRefineField<T> = T extends GenericSchema ? ((schema: T) => GenericSchema) | GenericSchema : never;
|
|
12
|
+
export type BuildRefine<TColumns extends Record<string, any>> = {
|
|
13
|
+
[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]>>;
|
|
14
|
+
};
|
|
15
|
+
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any> : TRefinement;
|
|
16
|
+
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;
|
|
17
|
+
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<{
|
|
18
|
+
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;
|
|
13
19
|
}>>;
|
|
14
|
-
export type BuildRefine<TColumns extends Record<string, any>> = BuildRefineColumns<TColumns> extends infer TBuildColumns ? {
|
|
15
|
-
[K in keyof TBuildColumns]?: TBuildColumns[K] extends GenericSchema ? ((schema: TBuildColumns[K]) => GenericSchema) | GenericSchema : TBuildColumns[K] extends Record<string, any> ? Simplify<BuildRefine<TBuildColumns[K]>> : never;
|
|
16
|
-
} : never;
|
|
17
|
-
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement extends GenericSchema | ((schema: GenericSchema) => GenericSchema), TColumn extends Column> = TRefinement extends (schema: any) => GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any, {}> : TRefinement;
|
|
18
|
-
type IsRefinementDefined<TRefinements, TKey extends string> = TKey extends keyof TRefinements ? TRefinements[TKey] extends GenericSchema | ((schema: any) => any) ? true : false : false;
|
|
19
|
-
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<RemoveNever<{
|
|
20
|
-
readonly [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? TRefinements extends object ? IsRefinementDefined<TRefinements, Assume<K, string>> extends true ? HandleRefinement<TType, TRefinements[Assume<K, keyof TRefinements>], TColumn> : HandleColumn<TType, TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[Assume<K, keyof TRefinements>] extends infer TNestedRefinements extends object ? TNestedRefinements : undefined : undefined> : any;
|
|
21
|
-
}>>>;
|
|
22
20
|
export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
|
|
23
21
|
[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}"`>;
|
|
24
22
|
};
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import type { Type, type } from 'arktype';
|
|
2
|
-
import type {
|
|
3
|
-
import type { ArktypeNullable, ArktypeOptional, GetArktypeType,
|
|
4
|
-
import type {
|
|
2
|
+
import type { Column, DrizzleTypeError, SelectedFieldsFlat, Simplify, Table, View } from 'drizzle-orm';
|
|
3
|
+
import type { ArktypeNullable, ArktypeOptional, GetArktypeType, HandleColumn } from './column.types.js';
|
|
4
|
+
import type { ColumnIsGeneratedAlwaysAs, GetSelection } from './utils.js';
|
|
5
5
|
export interface Conditions {
|
|
6
6
|
never: (column?: Column) => boolean;
|
|
7
7
|
optional: (column: Column) => boolean;
|
|
8
8
|
nullable: (column: Column) => boolean;
|
|
9
9
|
}
|
|
10
10
|
type GenericSchema = type.cast<unknown> | [type.cast<unknown>, '?'];
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
type BuildRefineField<T> = T extends GenericSchema ? ((schema: T) => GenericSchema) | GenericSchema : never;
|
|
12
|
+
export type BuildRefine<TColumns extends Record<string, any>> = {
|
|
13
|
+
[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]>>;
|
|
14
|
+
};
|
|
15
|
+
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement, TColumn extends Column> = TRefinement extends (schema: any) => GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any> : TRefinement;
|
|
16
|
+
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;
|
|
17
|
+
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<{
|
|
18
|
+
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;
|
|
13
19
|
}>>;
|
|
14
|
-
export type BuildRefine<TColumns extends Record<string, any>> = BuildRefineColumns<TColumns> extends infer TBuildColumns ? {
|
|
15
|
-
[K in keyof TBuildColumns]?: TBuildColumns[K] extends GenericSchema ? ((schema: TBuildColumns[K]) => GenericSchema) | GenericSchema : TBuildColumns[K] extends Record<string, any> ? Simplify<BuildRefine<TBuildColumns[K]>> : never;
|
|
16
|
-
} : never;
|
|
17
|
-
type HandleRefinement<TType extends 'select' | 'insert' | 'update', TRefinement extends GenericSchema | ((schema: GenericSchema) => GenericSchema), TColumn extends Column> = TRefinement extends (schema: any) => GenericSchema ? (TColumn['_']['notNull'] extends true ? ReturnType<TRefinement> : ArktypeNullable<ReturnType<TRefinement>>) extends infer TSchema ? TType extends 'update' ? ArktypeOptional<TSchema> : TSchema : Type<any, {}> : TRefinement;
|
|
18
|
-
type IsRefinementDefined<TRefinements, TKey extends string> = TKey extends keyof TRefinements ? TRefinements[TKey] extends GenericSchema | ((schema: any) => any) ? true : false : false;
|
|
19
|
-
export type BuildSchema<TType extends 'select' | 'insert' | 'update', TColumns extends Record<string, any>, TRefinements extends Record<string, any> | undefined> = type.instantiate<Simplify<RemoveNever<{
|
|
20
|
-
readonly [K in keyof TColumns]: TColumns[K] extends infer TColumn extends Column ? TRefinements extends object ? IsRefinementDefined<TRefinements, Assume<K, string>> extends true ? HandleRefinement<TType, TRefinements[Assume<K, keyof TRefinements>], TColumn> : HandleColumn<TType, TColumn> : HandleColumn<TType, TColumn> : TColumns[K] extends infer TObject extends SelectedFieldsFlat<Column> | Table | View ? BuildSchema<TType, GetSelection<TObject>, TRefinements extends object ? TRefinements[Assume<K, keyof TRefinements>] extends infer TNestedRefinements extends object ? TNestedRefinements : undefined : undefined> : any;
|
|
21
|
-
}>>>;
|
|
22
20
|
export type NoUnknownKeys<TRefinement extends Record<string, any>, TCompare extends Record<string, any>> = {
|
|
23
21
|
[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}"`>;
|
|
24
22
|
};
|
package/utils.d.cts
CHANGED
|
@@ -9,14 +9,8 @@ export declare function isWithEnum(column: Column): column is typeof column & {
|
|
|
9
9
|
export declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
|
|
10
10
|
type Literal = type.infer<typeof literalSchema>;
|
|
11
11
|
export type Json = Literal | Record<string, any> | any[];
|
|
12
|
-
export type
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
type: string;
|
|
16
|
-
} ? TGenerated['type'] extends 'byDefault' ? false : true : true;
|
|
17
|
-
export type RemoveNever<T> = {
|
|
18
|
-
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
19
|
-
};
|
|
12
|
+
export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends {
|
|
13
|
+
type: 'byDefault';
|
|
14
|
+
} | undefined ? false : true : false;
|
|
20
15
|
export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
|
|
21
|
-
export type IsUnknown<T> = unknown extends T ? [T] extends [null] ? false : true : false;
|
|
22
16
|
export {};
|
package/utils.d.mts
CHANGED
|
@@ -9,14 +9,8 @@ export declare function isWithEnum(column: Column): column is typeof column & {
|
|
|
9
9
|
export declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
|
|
10
10
|
type Literal = type.infer<typeof literalSchema>;
|
|
11
11
|
export type Json = Literal | Record<string, any> | any[];
|
|
12
|
-
export type
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
type: string;
|
|
16
|
-
} ? TGenerated['type'] extends 'byDefault' ? false : true : true;
|
|
17
|
-
export type RemoveNever<T> = {
|
|
18
|
-
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
19
|
-
};
|
|
12
|
+
export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends {
|
|
13
|
+
type: 'byDefault';
|
|
14
|
+
} | undefined ? false : true : false;
|
|
20
15
|
export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
|
|
21
|
-
export type IsUnknown<T> = unknown extends T ? [T] extends [null] ? false : true : false;
|
|
22
16
|
export {};
|
package/utils.d.ts
CHANGED
|
@@ -9,14 +9,8 @@ export declare function isWithEnum(column: Column): column is typeof column & {
|
|
|
9
9
|
export declare const isPgEnum: (entity: any) => entity is PgEnum<[string, ...string[]]>;
|
|
10
10
|
type Literal = type.infer<typeof literalSchema>;
|
|
11
11
|
export type Json = Literal | Record<string, any> | any[];
|
|
12
|
-
export type
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
type: string;
|
|
16
|
-
} ? TGenerated['type'] extends 'byDefault' ? false : true : true;
|
|
17
|
-
export type RemoveNever<T> = {
|
|
18
|
-
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
19
|
-
};
|
|
12
|
+
export type ColumnIsGeneratedAlwaysAs<TColumn> = TColumn extends Column ? TColumn['_']['identity'] extends 'always' ? true : TColumn['_']['generated'] extends {
|
|
13
|
+
type: 'byDefault';
|
|
14
|
+
} | undefined ? false : true : false;
|
|
20
15
|
export type GetSelection<T extends SelectedFieldsFlat<Column> | Table | View> = T extends Table ? T['_']['columns'] : T extends View ? T['_']['selectedFields'] : T;
|
|
21
|
-
export type IsUnknown<T> = unknown extends T ? [T] extends [null] ? false : true : false;
|
|
22
16
|
export {};
|