cogsbox-shape 0.5.11 → 0.5.13

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.
Files changed (2) hide show
  1. package/dist/schema.d.ts +5 -0
  2. package/package.json +1 -1
package/dist/schema.d.ts CHANGED
@@ -1426,6 +1426,10 @@ export declare function createSchema<T extends Schema<any>>(schema: T): {
1426
1426
  __schemaId: string;
1427
1427
  };
1428
1428
  };
1429
+ type DeepConversionType<ClientType, DbType> = ClientType extends Array<infer ClientItem> ? DbType extends Array<infer DbItem> ? Array<DeepConversionType<ClientItem, DbItem>> : ClientType | DbType : ClientType extends object ? DbType extends object ? {
1430
+ [K in keyof (ClientType & DbType)]: DeepConversionType<K extends keyof ClientType ? ClientType[K] : never, K extends keyof DbType ? DbType[K] : never>;
1431
+ } : ClientType | DbType : ClientType | DbType;
1432
+ type ConversionType<T extends Schema<any>> = DeepConversionType<SchemaTypes<T>["client"], SchemaTypes<T>["db"]>;
1429
1433
  type OmitNever<T> = {
1430
1434
  [K in keyof T as T[K] extends never ? never : K]: T[K];
1431
1435
  };
@@ -1446,5 +1450,6 @@ export type SchemaTypes<T extends Schema<any>> = {
1446
1450
  clientSchema: infer C;
1447
1451
  dbSchema: infer D;
1448
1452
  } ? C | D : never>;
1453
+ join: ConversionType<T>;
1449
1454
  };
1450
1455
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cogsbox-shape",
3
- "version": "0.5.11",
3
+ "version": "0.5.13",
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",