cogsbox-shape 0.5.2 → 0.5.4
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/dist/schema.d.ts +10 -7
- package/dist/schema.js +0 -1
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -1216,9 +1216,9 @@ type BaseSchemaField<T extends SQLType = SQLType> = {
|
|
|
1216
1216
|
toClient?: (dbValue: any) => any;
|
|
1217
1217
|
toDb?: (clientValue: any) => any;
|
|
1218
1218
|
};
|
|
1219
|
-
type ReferenceField = {
|
|
1219
|
+
type ReferenceField<T extends BaseSchemaField = BaseSchemaField> = {
|
|
1220
1220
|
type: "reference";
|
|
1221
|
-
to: () =>
|
|
1221
|
+
to: () => T;
|
|
1222
1222
|
};
|
|
1223
1223
|
type SchemaField<T extends SQLType = SQLType> = BaseSchemaField<T> | ReferenceField;
|
|
1224
1224
|
export type Schema<T extends Record<string, SchemaField | (() => Relation<any>)>> = {
|
|
@@ -1408,19 +1408,22 @@ type InferSerializedSchema<T> = {
|
|
|
1408
1408
|
};
|
|
1409
1409
|
} : never;
|
|
1410
1410
|
};
|
|
1411
|
-
export declare function reference(config: {
|
|
1412
|
-
to:
|
|
1411
|
+
export declare function reference<T extends () => BaseSchemaField>(config: {
|
|
1412
|
+
to: T;
|
|
1413
1413
|
}): SchemaField;
|
|
1414
1414
|
export declare function createSchema<T extends Schema<any>>(schema: T): {
|
|
1415
1415
|
dbSchema: z.ZodObject<Prettify<InferDBSchema<T>>>;
|
|
1416
|
-
clientSchema: z.ZodObject<Prettify<
|
|
1417
|
-
defaultValues: Prettify<
|
|
1418
|
-
initialValues: () => Prettify<
|
|
1416
|
+
clientSchema: z.ZodObject<Prettify<OmitNever<InferSchema<T>>>>;
|
|
1417
|
+
defaultValues: Prettify<OmitNever<ConfigWithOptionalProps<T>>>;
|
|
1418
|
+
initialValues: () => Prettify<OmitNever<ConfigWithOptionalProps<T>>>;
|
|
1419
1419
|
serialized: Prettify<InferSerializedSchema<T>> & {
|
|
1420
1420
|
_tableName: string;
|
|
1421
1421
|
__schemaId: string;
|
|
1422
1422
|
};
|
|
1423
1423
|
};
|
|
1424
|
+
type OmitNever<T> = {
|
|
1425
|
+
[K in keyof T as T[K] extends never ? never : K]: T[K];
|
|
1426
|
+
};
|
|
1424
1427
|
type DefaultValue<T> = Prettify<DeepWriteable<InferDefaultValues<T>>>;
|
|
1425
1428
|
type GetMandatoryKeys<T> = {
|
|
1426
1429
|
[P in keyof T]: T[P] extends Exclude<T[P], undefined> ? P : never;
|
package/dist/schema.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cogsbox-shape",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "A TypeScript library for creating type-safe database schemas with Zod validation, SQL type definitions, and automatic client/server transformations. Unifies client, server, and database types through a single schema definition, with built-in support for relationships and serialization.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|