cogsbox-shape 0.5.161 → 0.5.163

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 CHANGED
@@ -218,6 +218,7 @@ export declare function createSchema<T extends {
218
218
  clientSchema: z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientSchema">>>;
219
219
  validationSchema: z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodValidationSchema">>>;
220
220
  defaultValues: Prettify<DeriveDefaults<TActualSchema>>;
221
+ stateType: Prettify<DeriveStateType<TActualSchema>>;
221
222
  generateDefaults: () => Prettify<DeriveDefaults<TActualSchema>>;
222
223
  toClient: (dbObject: z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>) => z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientSchema">>>>;
223
224
  toDb: (clientObject: z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodClientSchema">>>>) => z.infer<z.ZodObject<Prettify<DeriveSchemaByKey<TActualSchema, "zodSqlSchema">>>>;
@@ -285,6 +286,7 @@ type ResolvedRegistryWithSchemas<S extends Record<string, SchemaWithPlaceholders
285
286
  clientSchema: z.ZodObject<Prettify<DeriveSchemaByKey<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>, "zodClientSchema">>>;
286
287
  validationSchema: z.ZodObject<Prettify<DeriveSchemaByKey<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>, "zodValidationSchema">>>;
287
288
  defaultValues: Prettify<DeriveDefaults<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>>>;
289
+ stateType: Prettify<DeriveStateType<ResolveSchema<S[K], K extends keyof R ? (R[K] extends object ? R[K] : {}) : {}>>>;
288
290
  toClient: (dbObject: any) => any;
289
291
  toDb: (clientObject: any) => any;
290
292
  };
@@ -390,6 +392,7 @@ type RegistryShape = Record<string, {
390
392
  clientSchema: z.ZodObject<any>;
391
393
  validationSchema: z.ZodObject<any>;
392
394
  defaultValues: any;
395
+ stateType: any;
393
396
  toClient: (dbObject: any) => any;
394
397
  toDb: (clientObject: any) => any;
395
398
  };
@@ -408,6 +411,7 @@ type CreateSchemaBoxReturn<S extends Record<string, SchemaWithPlaceholders>, R e
408
411
  toDb: Resolved[K]["zodSchemas"]["toDb"];
409
412
  };
410
413
  defaults: Resolved[K]["zodSchemas"]["defaultValues"];
414
+ stateType: Resolved[K]["zodSchemas"]["stateType"];
411
415
  nav: NavigationProxy<K & string, Resolved>;
412
416
  RelationSelection: NavigationToSelection<NavigationProxy<K & string, Resolved>>;
413
417
  createView: <const TSelection extends NavigationToSelection<NavigationProxy<K & string, Resolved>>>(selection: TSelection) => DeriveViewResult<K & string, TSelection, Resolved>;
@@ -468,4 +472,21 @@ type DeriveDefaults<T, Depth extends any[] = []> = Prettify<Depth["length"] exte
468
472
  };
469
473
  } ? TNew extends TSql ? z.infer<TClient> : D extends () => infer R ? R : D : never;
470
474
  }>;
475
+ type DeriveStateType<T, Depth extends any[] = []> = Prettify<Depth["length"] extends 10 ? any : {
476
+ [K in keyof T as K extends "_tableName" | typeof SchemaWrapperBrand | "__primaryKeySQL" | "__isClientChecker" | "primaryKeySQL" | "isClient" ? never : K extends keyof T ? T[K] extends Reference<any> ? K : T[K] extends {
477
+ config: {
478
+ sql: {
479
+ type: "hasMany" | "manyToMany" | "hasOne" | "belongsTo";
480
+ };
481
+ };
482
+ } ? never : K : never]: T[K] extends Reference<infer TGetter> ? ReturnType<TGetter> extends {
483
+ config: {
484
+ zodClientSchema: infer TClient extends z.ZodTypeAny;
485
+ };
486
+ } ? z.infer<TClient> : never : T[K] extends {
487
+ config: {
488
+ zodClientSchema: infer TClient extends z.ZodTypeAny;
489
+ };
490
+ } ? z.infer<TClient> : never;
491
+ }>;
471
492
  export {};
package/dist/schema.js CHANGED
@@ -596,6 +596,7 @@ export function createSchema(schema, relations) {
596
596
  clientSchema: z.object(clientFields),
597
597
  validationSchema: z.object(serverFields),
598
598
  defaultValues: defaultValues,
599
+ stateType: {},
599
600
  generateDefaults,
600
601
  toClient,
601
602
  toDb,
@@ -801,6 +802,7 @@ export function createSchemaBox(schemas, resolver) {
801
802
  toDb: entry.zodSchemas.toDb,
802
803
  },
803
804
  defaults: entry.zodSchemas.defaultValues,
805
+ stateType: entry.zodSchemas.stateType,
804
806
  generateDefaults: entry.zodSchemas.generateDefaults,
805
807
  // ADD: Expose PK info and resolver
806
808
  pk: entry.zodSchemas.pk,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cogsbox-shape",
3
- "version": "0.5.161",
3
+ "version": "0.5.163",
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",