hysteria-orm 10.1.6 → 10.1.7

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/lib/index.d.cts CHANGED
@@ -3891,6 +3891,7 @@ type AnnotatedModel<T extends Model, A extends object = {}, R extends object = {
3891
3891
  type CommonSqlMethodReturnType<T extends SqlMethod> = T extends "count" | "sum" | "avg" | "min" | "max" ? number : T extends "upper" | "lower" | "trim" ? string : T extends "length" ? number : T extends "cast" | "convert" ? any : T extends "abs" | "round" | "floor" | "ceil" ? number : any;
3892
3892
  type RelatedInstance<M extends Model, K extends ModelRelation<M>> = M[K] extends (infer R)[] ? R extends Model ? R : never : M[K] extends Model ? M[K] : never;
3893
3893
 
3894
+ type NullableAndUndefinable<T> = T | (T | null) | (T | undefined) | (T | null | undefined);
3894
3895
  type UpsertOptions<T extends Model> = {
3895
3896
  ignoreHooks?: boolean;
3896
3897
  updateOnConflict?: boolean;
@@ -3901,19 +3902,19 @@ type InsertOptions<T extends Model> = {
3901
3902
  returning?: ModelKey<T>[];
3902
3903
  };
3903
3904
  type ExcludeRelations<T> = {
3904
- [K in keyof T]: T[K] extends (Model | null | undefined) | (Model[] | null | undefined) | (Model | null) | (Model[] | null) | (Model | undefined) | (Model[] | undefined) | ((...args: any[]) => any) ? never : K;
3905
+ [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> | ((...args: any[]) => any) ? never : K;
3905
3906
  }[keyof T];
3906
3907
  type OnlyRelations<T> = {
3907
- [K in keyof T]: T[K] extends Model[] | Model ? K : never;
3908
+ [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> ? K : never;
3908
3909
  }[keyof T];
3909
3910
  type OnlyM2MRelations<T> = {
3910
- [K in keyof T]: K extends string ? (T[K] extends Model[] ? K : never) : never;
3911
+ [K in keyof T]: K extends string ? T[K] extends NullableAndUndefinable<Model[]> ? K : never : never;
3911
3912
  }[keyof T];
3912
3913
  type WhereType<T> = {
3913
3914
  [K in keyof T]?: T[K];
3914
3915
  };
3915
3916
  type ModelKey<T extends Model> = {
3916
- [K in keyof T]: T[K] extends (Model | null | undefined) | (Model[] | null | undefined) | (Model | null) | (Model[] | null) | (Model | undefined) | (Model[] | undefined) ? never : K extends "*" ? never : T[K] extends (...args: any[]) => any ? never : K;
3917
+ [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> ? never : K extends "*" ? never : T[K] extends (...args: any[]) => any ? never : K;
3917
3918
  }[keyof T];
3918
3919
  type ModelRelation<T extends Model> = OnlyRelations<T>;
3919
3920
  type OrderByChoices = "asc" | "desc";
package/lib/index.d.ts CHANGED
@@ -3891,6 +3891,7 @@ type AnnotatedModel<T extends Model, A extends object = {}, R extends object = {
3891
3891
  type CommonSqlMethodReturnType<T extends SqlMethod> = T extends "count" | "sum" | "avg" | "min" | "max" ? number : T extends "upper" | "lower" | "trim" ? string : T extends "length" ? number : T extends "cast" | "convert" ? any : T extends "abs" | "round" | "floor" | "ceil" ? number : any;
3892
3892
  type RelatedInstance<M extends Model, K extends ModelRelation<M>> = M[K] extends (infer R)[] ? R extends Model ? R : never : M[K] extends Model ? M[K] : never;
3893
3893
 
3894
+ type NullableAndUndefinable<T> = T | (T | null) | (T | undefined) | (T | null | undefined);
3894
3895
  type UpsertOptions<T extends Model> = {
3895
3896
  ignoreHooks?: boolean;
3896
3897
  updateOnConflict?: boolean;
@@ -3901,19 +3902,19 @@ type InsertOptions<T extends Model> = {
3901
3902
  returning?: ModelKey<T>[];
3902
3903
  };
3903
3904
  type ExcludeRelations<T> = {
3904
- [K in keyof T]: T[K] extends (Model | null | undefined) | (Model[] | null | undefined) | (Model | null) | (Model[] | null) | (Model | undefined) | (Model[] | undefined) | ((...args: any[]) => any) ? never : K;
3905
+ [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> | ((...args: any[]) => any) ? never : K;
3905
3906
  }[keyof T];
3906
3907
  type OnlyRelations<T> = {
3907
- [K in keyof T]: T[K] extends Model[] | Model ? K : never;
3908
+ [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> ? K : never;
3908
3909
  }[keyof T];
3909
3910
  type OnlyM2MRelations<T> = {
3910
- [K in keyof T]: K extends string ? (T[K] extends Model[] ? K : never) : never;
3911
+ [K in keyof T]: K extends string ? T[K] extends NullableAndUndefinable<Model[]> ? K : never : never;
3911
3912
  }[keyof T];
3912
3913
  type WhereType<T> = {
3913
3914
  [K in keyof T]?: T[K];
3914
3915
  };
3915
3916
  type ModelKey<T extends Model> = {
3916
- [K in keyof T]: T[K] extends (Model | null | undefined) | (Model[] | null | undefined) | (Model | null) | (Model[] | null) | (Model | undefined) | (Model[] | undefined) ? never : K extends "*" ? never : T[K] extends (...args: any[]) => any ? never : K;
3917
+ [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> ? never : K extends "*" ? never : T[K] extends (...args: any[]) => any ? never : K;
3917
3918
  }[keyof T];
3918
3919
  type ModelRelation<T extends Model> = OnlyRelations<T>;
3919
3920
  type OrderByChoices = "asc" | "desc";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hysteria-orm",
3
- "version": "10.1.6",
3
+ "version": "10.1.7",
4
4
  "license": "MIT",
5
5
  "description": "Yet another orm for Javascript and Typescript no one asked for",
6
6
  "type": "module",