cogsbox-shape 0.5.205 → 0.5.207
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/README.md +59 -41
- package/cogsbox-shape-db/dist/cloudflare-d1/d1-driver.d.ts +29 -0
- package/cogsbox-shape-db/dist/cloudflare-d1/d1-driver.js +100 -0
- package/cogsbox-shape-db/dist/cloudflare-d1/index.d.ts +1 -0
- package/cogsbox-shape-db/dist/cloudflare-d1/index.js +1 -0
- package/cogsbox-shape-state/dist/example/type-hover-example.js +2 -2
- package/dist/schema.d.ts +51 -50
- package/dist/schema.js +90 -83
- package/dist/vitest/fullSchema.test.js +249 -127
- package/dist/vitest/refineRuntime.test.js +57 -18
- package/package.json +6 -1
package/dist/schema.d.ts
CHANGED
|
@@ -64,49 +64,49 @@ type SQLToZodType<T extends SQLTypeInput, TDefault extends boolean> = T["pk"] ex
|
|
|
64
64
|
type ZodTypeFromPrimitive<T> = T extends string ? z.ZodString : T extends number ? z.ZodNumber : T extends boolean ? z.ZodBoolean : T extends Date ? z.ZodDate : z.ZodAny;
|
|
65
65
|
type CollapsedUnion<A extends z.ZodTypeAny, B extends z.ZodTypeAny> = A extends B ? (B extends A ? A : z.ZodUnion<[A, B]>) : z.ZodUnion<[A, B]>;
|
|
66
66
|
export interface IBuilderMethods<T extends DbConfig, TSql extends z.ZodTypeAny, TInitialValue, TClient extends z.ZodTypeAny, TValidation extends z.ZodTypeAny> {
|
|
67
|
-
|
|
67
|
+
client<const TValue, const TSchema extends z.ZodTypeAny>(options: {
|
|
68
68
|
value: TValue | ((tools: {
|
|
69
69
|
uuid: () => string;
|
|
70
70
|
}) => TValue);
|
|
71
71
|
schema: TSchema | ((base: ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>) => TSchema);
|
|
72
72
|
clientPk?: boolean | ((val: any) => boolean);
|
|
73
|
-
}): Prettify<Builder<"
|
|
74
|
-
|
|
73
|
+
}): Prettify<Builder<"client", T, TSql, TValue extends () => infer R ? R : TValue, TSchema, CollapsedUnion<TSql, TSchema>>>;
|
|
74
|
+
client<const TValue>(options: {
|
|
75
75
|
value: TValue | ((tools: {
|
|
76
76
|
uuid: () => string;
|
|
77
77
|
}) => TValue);
|
|
78
78
|
schema?: never;
|
|
79
79
|
clientPk?: boolean | ((val: any) => boolean);
|
|
80
|
-
}): Prettify<Builder<"
|
|
81
|
-
|
|
80
|
+
}): Prettify<Builder<"client", T, TSql, TValue extends () => infer R ? R : TValue, ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>, CollapsedUnion<TSql, ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>>>>;
|
|
81
|
+
client<const TSchema extends z.ZodTypeAny>(options: {
|
|
82
82
|
value?: never;
|
|
83
83
|
schema: TSchema;
|
|
84
84
|
clientPk?: boolean | ((val: any) => boolean);
|
|
85
|
-
}): Prettify<Builder<"
|
|
86
|
-
|
|
85
|
+
}): Prettify<Builder<"client", T, TSql, z.infer<TSchema>, TSchema, CollapsedUnion<TSql, TSchema>>>;
|
|
86
|
+
client<const TSchema extends z.ZodTypeAny>(options: {
|
|
87
87
|
value?: never;
|
|
88
88
|
schema: TSchema | ((tools: any) => TSchema);
|
|
89
89
|
clientPk?: boolean | ((val: any) => boolean);
|
|
90
|
-
}): Prettify<Builder<"
|
|
91
|
-
|
|
90
|
+
}): Prettify<Builder<"client", T, TSql, z.infer<TSchema>, TSchema, CollapsedUnion<TSql, TSchema>>>;
|
|
91
|
+
client<const TValue>(options: {
|
|
92
92
|
value: TValue | ((tools: {
|
|
93
93
|
uuid: () => string;
|
|
94
94
|
}) => TValue);
|
|
95
95
|
schema?: never;
|
|
96
96
|
clientPk?: boolean | ((val: any) => boolean);
|
|
97
|
-
}): Prettify<Builder<"
|
|
98
|
-
|
|
97
|
+
}): Prettify<Builder<"client", T, TSql, TValue extends () => infer R ? R : TValue, ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>, CollapsedUnion<TSql, ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>>>>;
|
|
98
|
+
client(options: {
|
|
99
99
|
value?: never;
|
|
100
100
|
schema: (tools: any) => z.ZodTypeAny;
|
|
101
|
-
}): Prettify<Builder<"
|
|
102
|
-
|
|
101
|
+
}): Prettify<Builder<"client", T, TSql, unknown, z.ZodTypeAny, z.ZodTypeAny>>;
|
|
102
|
+
client<TClientNext extends z.ZodTypeAny>(schema: ((tools: {
|
|
103
103
|
sql: TSql;
|
|
104
|
-
}) => TClientNext) | TClientNext): Prettify<Builder<"
|
|
105
|
-
|
|
104
|
+
}) => TClientNext) | TClientNext): Prettify<Builder<"client", T, TSql, z.infer<TClientNext>, TClientNext, CollapsedUnion<TSql, TClientNext>>>;
|
|
105
|
+
clientCheck: <TClientNext extends z.ZodTypeAny>(schema: ((tools: {
|
|
106
106
|
sql: TSql;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}) => TClientNext) | TClientNext) => Prettify<Builder<"
|
|
107
|
+
client: TClient;
|
|
108
|
+
clientCheck: z.ZodUnion<[TSql, TClient]>;
|
|
109
|
+
}) => TClientNext) | TClientNext) => Prettify<Builder<"clientCheck", T, TSql, TInitialValue, TClient, z.ZodUnion<[TSql, TClientNext]>>>;
|
|
110
110
|
reference: <TRefSchema extends {
|
|
111
111
|
_tableName: string;
|
|
112
112
|
}>(fieldGetter: () => any) => Builder<"sql", T & {
|
|
@@ -114,8 +114,8 @@ export interface IBuilderMethods<T extends DbConfig, TSql extends z.ZodTypeAny,
|
|
|
114
114
|
}, TSql, TInitialValue, TClient, TValidation>;
|
|
115
115
|
server: <TValidationNext extends z.ZodTypeAny>(schema: ((tools: {
|
|
116
116
|
sql: TSql;
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
client: TClient;
|
|
118
|
+
clientCheck: z.ZodUnion<[TSql, TClient]>;
|
|
119
119
|
}) => TValidationNext) | TValidationNext) => Prettify<Builder<"server", T, TSql, TInitialValue, TClient, TValidationNext>>;
|
|
120
120
|
transform: (transforms: {
|
|
121
121
|
toClient: (dbValue: z.infer<TSql>) => z.infer<TClient>;
|
|
@@ -141,12 +141,12 @@ export type RelationConfig<T extends Schema<any>> = (BaseRelationConfig<T> & {
|
|
|
141
141
|
}) | (BaseRelationConfig<T> & {
|
|
142
142
|
type: "manyToMany";
|
|
143
143
|
});
|
|
144
|
-
type Stage = "sql" | "relation" | "
|
|
144
|
+
type Stage = "sql" | "relation" | "client" | "clientCheck" | "server" | "done";
|
|
145
145
|
type StageMethods = {
|
|
146
|
-
sql: "
|
|
147
|
-
relation: "
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
sql: "client" | "clientCheck" | "server" | "transform" | "reference";
|
|
147
|
+
relation: "client" | "clientCheck" | "server" | "transform";
|
|
148
|
+
client: "clientCheck" | "server" | "transform";
|
|
149
|
+
clientCheck: "server" | "transform";
|
|
150
150
|
server: "transform";
|
|
151
151
|
done: never;
|
|
152
152
|
};
|
|
@@ -154,8 +154,8 @@ type BuilderConfig<T extends DbConfig, TSql extends z.ZodTypeAny, TInitialValue,
|
|
|
154
154
|
sql: T;
|
|
155
155
|
zodSqlSchema: TSql;
|
|
156
156
|
initialValue: TInitialValue;
|
|
157
|
-
zodClientInputSchema: TClient;
|
|
158
157
|
zodClientSchema: TClient;
|
|
158
|
+
zodClientCheckedSchema: TClient;
|
|
159
159
|
zodValidationSchema: TValidation;
|
|
160
160
|
clientTransform?: (schema: z.ZodTypeAny) => z.ZodTypeAny;
|
|
161
161
|
validationTransform?: (schema: z.ZodTypeAny) => z.ZodTypeAny;
|
|
@@ -165,8 +165,8 @@ export type Builder<TStage extends Stage, T extends DbConfig, TSql extends z.Zod
|
|
|
165
165
|
sql: T;
|
|
166
166
|
zodSqlSchema: TSql;
|
|
167
167
|
initialValue: TInitialValue;
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
zodClientSchema: TClient;
|
|
169
|
+
zodClientCheckedSchema: TValidation;
|
|
170
170
|
zodValidationSchema: TValidation;
|
|
171
171
|
};
|
|
172
172
|
} & Pick<IBuilderMethods<T, TSql, TInitialValue, TClient, TValidation>, StageMethods[TStage]>;
|
|
@@ -179,28 +179,28 @@ export type Reference<TGetter extends () => any> = {
|
|
|
179
179
|
getter: TGetter;
|
|
180
180
|
};
|
|
181
181
|
interface ShapeAPI {
|
|
182
|
-
|
|
182
|
+
client<const TValue, const TSchema extends z.ZodTypeAny>(options: {
|
|
183
183
|
value: TValue | ((tools: {
|
|
184
184
|
uuid: () => string;
|
|
185
185
|
}) => TValue);
|
|
186
186
|
schema: TSchema | ((base: ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>) => TSchema);
|
|
187
187
|
clientPk?: boolean | ((val: any) => boolean);
|
|
188
|
-
}): Builder<"
|
|
189
|
-
|
|
188
|
+
}): Builder<"client", null, z.ZodUndefined, TValue extends () => infer R ? R : TValue, TSchema, TSchema>;
|
|
189
|
+
client<const TValue>(options: {
|
|
190
190
|
value: TValue | ((tools: {
|
|
191
191
|
uuid: () => string;
|
|
192
192
|
}) => TValue);
|
|
193
193
|
schema?: never;
|
|
194
194
|
clientPk?: boolean | ((val: any) => boolean);
|
|
195
|
-
}): Builder<"
|
|
196
|
-
|
|
195
|
+
}): Builder<"client", null, z.ZodUndefined, TValue extends () => infer R ? R : TValue, ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>, ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>>;
|
|
196
|
+
client<const TSchema extends z.ZodTypeAny>(options: {
|
|
197
197
|
value?: never;
|
|
198
198
|
schema: TSchema;
|
|
199
199
|
clientPk?: boolean | ((val: any) => boolean);
|
|
200
|
-
}): Builder<"
|
|
201
|
-
|
|
200
|
+
}): Builder<"client", null, z.ZodUndefined, z.infer<TSchema>, TSchema, TSchema>;
|
|
201
|
+
client<const TValue>(value: TValue | ((tools: {
|
|
202
202
|
uuid: () => string;
|
|
203
|
-
}) => TValue)): Builder<"
|
|
203
|
+
}) => TValue)): Builder<"client", null, z.ZodUndefined, TValue extends () => infer R ? R : TValue, ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>, ZodTypeFromPrimitive<TValue extends () => infer R ? R : TValue>>;
|
|
204
204
|
sqlite: <const T extends SQLTypeInput>(sqlConfig: T) => Builder<"sql", WithDialect<T, "sqlite">, SQLToZodType<T, false>, z.infer<SQLToZodType<T, false>>, SQLToZodType<T, false>, SQLToZodType<T, false>>;
|
|
205
205
|
postgres: <const T extends SQLTypeInput>(sqlConfig: T) => Builder<"sql", WithDialect<T, "postgres">, SQLToZodType<T, false>, z.infer<SQLToZodType<T, false>>, SQLToZodType<T, false>, SQLToZodType<T, false>>;
|
|
206
206
|
mysql: <const T extends SQLTypeInput>(sqlConfig: T) => Builder<"sql", WithDialect<T, "mysql">, SQLToZodType<T, false>, z.infer<SQLToZodType<T, false>>, SQLToZodType<T, false>, SQLToZodType<T, false>>;
|
|
@@ -228,15 +228,15 @@ export type RefinementError = {
|
|
|
228
228
|
path: string[];
|
|
229
229
|
message: string;
|
|
230
230
|
};
|
|
231
|
-
type RefineLayer = "client" | "
|
|
231
|
+
type RefineLayer = "client" | "clientCheck" | "server" | "sql" | "all";
|
|
232
232
|
type RefineEntry = {
|
|
233
233
|
layers: RefineLayer[];
|
|
234
234
|
deps: string[] | null;
|
|
235
235
|
check: (row: any) => RefinementError | RefinementError[] | undefined | null;
|
|
236
236
|
};
|
|
237
237
|
type RefineHelper<T extends ShapeSchema> = {
|
|
238
|
+
(layer: "clientCheck", check: (row: InferClientCheckedRow<T>) => RefinementError | RefinementError[] | undefined | null, deps?: string | string[]): RefineEntry;
|
|
238
239
|
(layer: "client", check: (row: InferClientRow<T>) => RefinementError | RefinementError[] | undefined | null, deps?: string | string[]): RefineEntry;
|
|
239
|
-
(layer: "clientInput", check: (row: InferClientInputRow<T>) => RefinementError | RefinementError[] | undefined | null, deps?: string | string[]): RefineEntry;
|
|
240
240
|
(layer: "server", check: (row: InferValidationRow<T>) => RefinementError | RefinementError[] | undefined | null, deps?: string | string[]): RefineEntry;
|
|
241
241
|
(layer: "sql", check: (row: InferSqlRow<T>) => RefinementError | RefinementError[] | undefined | null, deps?: string | string[]): RefineEntry;
|
|
242
242
|
(layer: "all", check: (row: InferClientRow<T>) => RefinementError | RefinementError[] | undefined | null, deps?: string | string[]): RefineEntry;
|
|
@@ -267,8 +267,8 @@ type PickDbFieldKeys<T extends ShapeSchema> = {
|
|
|
267
267
|
type: "hasMany" | "hasOne" | "belongsTo" | "manyToMany";
|
|
268
268
|
} ? never : K : never;
|
|
269
269
|
}[keyof T];
|
|
270
|
+
type InferClientCheckedRow<T extends ShapeSchema> = Prettify<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<T, "zodClientCheckedSchema">>>>>;
|
|
270
271
|
type InferClientRow<T extends ShapeSchema> = Prettify<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<T, "zodClientSchema">>>>>;
|
|
271
|
-
type InferClientInputRow<T extends ShapeSchema> = Prettify<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<T, "zodClientInputSchema">>>>>;
|
|
272
272
|
type InferValidationRow<T extends ShapeSchema> = Prettify<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<T, "zodValidationSchema">>>>>;
|
|
273
273
|
type InferSqlRow<T extends ShapeSchema> = Prettify<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<T, "zodSqlSchema">>>>>;
|
|
274
274
|
type SchemaBuilder<T extends ShapeSchema> = Prettify<EnrichFields<T>> & {
|
|
@@ -295,7 +295,7 @@ type BaseSchemaField<T extends SQLType = SQLType> = {
|
|
|
295
295
|
type: "field";
|
|
296
296
|
sql: T;
|
|
297
297
|
zodDbSchema: z.ZodType<any>;
|
|
298
|
-
|
|
298
|
+
zodClientCheckedSchema: z.ZodType<any>;
|
|
299
299
|
defaultValue?: any;
|
|
300
300
|
__fieldId?: string;
|
|
301
301
|
toClient?: (dbValue: any) => any;
|
|
@@ -333,17 +333,17 @@ export declare function createSchema<T extends {
|
|
|
333
333
|
};
|
|
334
334
|
isClientRecord: (record: any) => boolean;
|
|
335
335
|
sqlSchema: z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>;
|
|
336
|
-
clientInputSchema: z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientInputSchema">>>;
|
|
337
336
|
clientSchema: z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientSchema">>>;
|
|
337
|
+
clientCheckedSchema: z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientCheckedSchema">>>;
|
|
338
338
|
serverSchema: z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodValidationSchema">>>;
|
|
339
339
|
defaultValues: Prettify<DeriveDefaults<TActualSchema>>;
|
|
340
340
|
stateType: Prettify<DeriveStateType<TActualSchema>>;
|
|
341
341
|
generateDefaults: () => Prettify<DeriveDefaults<TActualSchema>>;
|
|
342
|
-
toClient: (dbObject: Partial<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>>) => z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "
|
|
343
|
-
toDb: (clientObject: Partial<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "
|
|
342
|
+
toClient: (dbObject: Partial<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>>) => z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientCheckedSchema">>>>;
|
|
343
|
+
toDb: (clientObject: Partial<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientCheckedSchema">>>>>) => z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>;
|
|
344
344
|
parseForDb: (appData: z.input<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodValidationSchema">>>>) => z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>;
|
|
345
345
|
parsePatchForDb: (patchData: Partial<z.input<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodValidationSchema">>>>>) => Partial<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>>;
|
|
346
|
-
parseFromDb: (dbData: Partial<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>>) => z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "
|
|
346
|
+
parseFromDb: (dbData: Partial<z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>>) => z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientCheckedSchema">>>>;
|
|
347
347
|
};
|
|
348
348
|
export type PlaceholderReference = {
|
|
349
349
|
__type: "placeholder-reference";
|
|
@@ -397,8 +397,8 @@ type ResolvedRegistryWithSchemas<S extends Record<string, SchemaWithPlaceholders
|
|
|
397
397
|
rawSchema: ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>;
|
|
398
398
|
zodSchemas: {
|
|
399
399
|
sqlSchema: z.ZodObject<Prettify<DeriveSchemaByKey<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>, "zodSqlSchema">>>;
|
|
400
|
-
clientInputSchema: z.ZodObject<Prettify<DeriveSchemaByKey<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>, "zodClientInputSchema">>>;
|
|
401
400
|
clientSchema: z.ZodObject<Prettify<DeriveSchemaByKey<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>, "zodClientSchema">>>;
|
|
401
|
+
clientCheckedSchema: z.ZodObject<Prettify<DeriveSchemaByKey<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>, "zodClientCheckedSchema">>>;
|
|
402
402
|
serverSchema: z.ZodObject<Prettify<DeriveSchemaByKey<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>, "zodValidationSchema">>>;
|
|
403
403
|
defaultValues: Prettify<DeriveDefaults<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>>>;
|
|
404
404
|
stateType: Prettify<DeriveStateType<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>>>;
|
|
@@ -442,8 +442,8 @@ type GetRelationRegistryKey<Field, TRegistry extends RegistryShape> = Field exte
|
|
|
442
442
|
type OmitRelationFields<Shape, RawSchema> = Omit<Shape, {
|
|
443
443
|
[K in keyof Shape]: K extends keyof RawSchema ? IsRelationField<RawSchema[K]> extends true ? K : never : never;
|
|
444
444
|
}[keyof Shape]>;
|
|
445
|
-
type _DeriveViewShape<TTableName extends keyof TRegistry, TSelection, TRegistry extends RegistryShape, TKey extends "clientSchema" | "serverSchema" | "sqlSchema", Depth extends any[] = []> = Depth["length"] extends 10 ? any : TKey extends "sqlSchema" ? TRegistry[TTableName]["zodSchemas"]["sqlSchema"] extends z.ZodObject<infer BaseShape> ? _DeriveViewShapeInner<BaseShape, TTableName, TSelection, TRegistry, TKey, Depth> : never : TRegistry[TTableName]["zodSchemas"][TKey] extends z.ZodObject<infer BaseShape> ? _DeriveViewShapeInner<BaseShape, TTableName, TSelection, TRegistry, TKey, Depth> : never;
|
|
446
|
-
type _DeriveViewShapeInner<BaseShape, TTableName extends keyof TRegistry, TSelection, TRegistry extends RegistryShape, TKey extends "clientSchema" | "serverSchema" | "sqlSchema", Depth extends any[] = []> = TSelection extends Record<string, any> ? Prettify<OmitRelationFields<BaseShape, TRegistry[TTableName]["rawSchema"]> & {
|
|
445
|
+
type _DeriveViewShape<TTableName extends keyof TRegistry, TSelection, TRegistry extends RegistryShape, TKey extends "clientSchema" | "clientCheckedSchema" | "serverSchema" | "sqlSchema", Depth extends any[] = []> = Depth["length"] extends 10 ? any : TKey extends "sqlSchema" ? TRegistry[TTableName]["zodSchemas"]["sqlSchema"] extends z.ZodObject<infer BaseShape> ? _DeriveViewShapeInner<BaseShape, TTableName, TSelection, TRegistry, TKey, Depth> : never : TRegistry[TTableName]["zodSchemas"][TKey] extends z.ZodObject<infer BaseShape> ? _DeriveViewShapeInner<BaseShape, TTableName, TSelection, TRegistry, TKey, Depth> : never;
|
|
446
|
+
type _DeriveViewShapeInner<BaseShape, TTableName extends keyof TRegistry, TSelection, TRegistry extends RegistryShape, TKey extends "clientSchema" | "clientCheckedSchema" | "serverSchema" | "sqlSchema", Depth extends any[] = []> = TSelection extends Record<string, any> ? Prettify<OmitRelationFields<BaseShape, TRegistry[TTableName]["rawSchema"]> & {
|
|
447
447
|
[K in keyof TSelection & keyof TRegistry[TTableName]["rawSchema"] as IsRelationField<TRegistry[TTableName]["rawSchema"][K]> extends true ? K : never]: GetRelationRegistryKey<TRegistry[TTableName]["rawSchema"][K], TRegistry> extends infer TargetKey ? TargetKey extends keyof TRegistry ? TRegistry[TTableName]["rawSchema"][K] extends {
|
|
448
448
|
config: {
|
|
449
449
|
sql: {
|
|
@@ -508,6 +508,7 @@ export type DeriveViewResult<TTableName extends keyof TRegistry, TSelection, TRe
|
|
|
508
508
|
schemas: {
|
|
509
509
|
sql: TRegistry[TTableName]["zodSchemas"]["sqlSchema"];
|
|
510
510
|
client: z.ZodObject<_DeriveViewShape<TTableName, TSelection, TRegistry, "clientSchema">>;
|
|
511
|
+
clientChecked: z.ZodObject<_DeriveViewShape<TTableName, TSelection, TRegistry, "clientCheckedSchema">>;
|
|
511
512
|
server: z.ZodObject<_DeriveViewShape<TTableName, TSelection, TRegistry, "serverSchema">>;
|
|
512
513
|
};
|
|
513
514
|
transforms: {
|
|
@@ -556,8 +557,8 @@ type RegistryShape = Record<string, {
|
|
|
556
557
|
rawSchema: any;
|
|
557
558
|
zodSchemas: {
|
|
558
559
|
sqlSchema: z.ZodObject<any>;
|
|
559
|
-
clientInputSchema: z.ZodObject<any>;
|
|
560
560
|
clientSchema: z.ZodObject<any>;
|
|
561
|
+
clientCheckedSchema: z.ZodObject<any>;
|
|
561
562
|
serverSchema: z.ZodObject<any>;
|
|
562
563
|
defaultValues: any;
|
|
563
564
|
stateType: any;
|
|
@@ -590,8 +591,8 @@ type CreateSchemaBoxReturn<S extends Record<string, SchemaWithPlaceholders>, R e
|
|
|
590
591
|
schemaKey: K;
|
|
591
592
|
schemas: {
|
|
592
593
|
sql: Resolved[K]["zodSchemas"]["sqlSchema"];
|
|
593
|
-
clientInput: Resolved[K]["zodSchemas"]["clientInputSchema"];
|
|
594
594
|
client: Resolved[K]["zodSchemas"]["clientSchema"];
|
|
595
|
+
clientChecked: Resolved[K]["zodSchemas"]["clientCheckedSchema"];
|
|
595
596
|
server: Resolved[K]["zodSchemas"]["serverSchema"];
|
|
596
597
|
};
|
|
597
598
|
transforms: {
|
|
@@ -636,7 +637,7 @@ type GetDbKey<K, Field> = Field extends Reference<infer TGetter> ? ReturnType<TG
|
|
|
636
637
|
};
|
|
637
638
|
};
|
|
638
639
|
} ? string extends F ? K : F : K;
|
|
639
|
-
type DeriveSchemaByKey<T, Key extends "zodSqlSchema" | "
|
|
640
|
+
type DeriveSchemaByKey<T, Key extends "zodSqlSchema" | "zodClientSchema" | "zodClientCheckedSchema" | "zodValidationSchema", Depth extends any[] = []> = Depth["length"] extends 10 ? any : {
|
|
640
641
|
[K in keyof T as K extends "_tableName" | typeof SchemaWrapperBrand | "__primaryKeySQL" | "primaryKeySQL" | "derive" | "__derives" | "refine" | "__refines" ? never : K extends keyof T ? T[K] extends {
|
|
641
642
|
config: {
|
|
642
643
|
sql: {
|