hysteria-orm 10.1.5 → 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,54 +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
- declare class BelongsTo extends Relation {
3895
- type: RelationEnum;
3896
- foreignKey: string;
3897
- constructor(relatedModel: typeof Model, columnName: string, foreignKey: string);
3898
- }
3899
-
3900
- declare class HasMany extends Relation {
3901
- type: RelationEnum;
3902
- foreignKey: string;
3903
- constructor(relatedModel: typeof Model, columnName: string, foreignKey: string);
3904
- }
3905
-
3906
- declare class HasOne extends Relation {
3907
- type: RelationEnum;
3908
- foreignKey: string;
3909
- constructor(relatedModel: typeof Model, columnName: string, foreignKey: string);
3910
- }
3911
-
3912
- declare class ManyToMany extends Relation {
3913
- type: RelationEnum;
3914
- /**
3915
- * @description The model that establishes the relation
3916
- */
3917
- primaryModel: string;
3918
- /**
3919
- * @description The model that is being related to
3920
- */
3921
- relatedModel: string;
3922
- /**
3923
- * @description The foreign key of the related model in the through table
3924
- */
3925
- rightForeignKey: string;
3926
- /**
3927
- * @description The table that joins the two models
3928
- */
3929
- throughModel: string;
3930
- /**
3931
- * @description The foreign key of the primary model in the through table
3932
- */
3933
- leftForeignKey: string;
3934
- constructor(model: typeof Model, columnName: string, data: {
3935
- primaryModel: string;
3936
- throughModel: string;
3937
- leftForeignKey: string;
3938
- rightForeignKey: string;
3939
- });
3940
- }
3941
-
3894
+ type NullableAndUndefinable<T> = T | (T | null) | (T | undefined) | (T | null | undefined);
3942
3895
  type UpsertOptions<T extends Model> = {
3943
3896
  ignoreHooks?: boolean;
3944
3897
  updateOnConflict?: boolean;
@@ -3949,19 +3902,19 @@ type InsertOptions<T extends Model> = {
3949
3902
  returning?: ModelKey<T>[];
3950
3903
  };
3951
3904
  type ExcludeRelations<T> = {
3952
- [K in keyof T]: T[K] extends (Model[] | HasMany) | (Model | HasMany) | (Model | BelongsTo) | (Model[] | BelongsTo) | (Model | HasOne) | (Model[] | HasOne) | (Model | ManyToMany) | (Model[] | ManyToMany) | ((...args: any[]) => any) ? never : K;
3905
+ [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> | ((...args: any[]) => any) ? never : K;
3953
3906
  }[keyof T];
3954
3907
  type OnlyRelations<T> = {
3955
- [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;
3956
3909
  }[keyof T];
3957
3910
  type OnlyM2MRelations<T> = {
3958
- [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;
3959
3912
  }[keyof T];
3960
3913
  type WhereType<T> = {
3961
3914
  [K in keyof T]?: T[K];
3962
3915
  };
3963
3916
  type ModelKey<T extends Model> = {
3964
- [K in keyof T]: T[K] extends (Model[] | HasMany) | (Model | HasMany) | (Model | BelongsTo) | (Model[] | BelongsTo) | (Model | HasOne) | (Model[] | HasOne) ? 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;
3965
3918
  }[keyof T];
3966
3919
  type ModelRelation<T extends Model> = OnlyRelations<T>;
3967
3920
  type OrderByChoices = "asc" | "desc";
package/lib/index.d.ts CHANGED
@@ -3891,54 +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
- declare class BelongsTo extends Relation {
3895
- type: RelationEnum;
3896
- foreignKey: string;
3897
- constructor(relatedModel: typeof Model, columnName: string, foreignKey: string);
3898
- }
3899
-
3900
- declare class HasMany extends Relation {
3901
- type: RelationEnum;
3902
- foreignKey: string;
3903
- constructor(relatedModel: typeof Model, columnName: string, foreignKey: string);
3904
- }
3905
-
3906
- declare class HasOne extends Relation {
3907
- type: RelationEnum;
3908
- foreignKey: string;
3909
- constructor(relatedModel: typeof Model, columnName: string, foreignKey: string);
3910
- }
3911
-
3912
- declare class ManyToMany extends Relation {
3913
- type: RelationEnum;
3914
- /**
3915
- * @description The model that establishes the relation
3916
- */
3917
- primaryModel: string;
3918
- /**
3919
- * @description The model that is being related to
3920
- */
3921
- relatedModel: string;
3922
- /**
3923
- * @description The foreign key of the related model in the through table
3924
- */
3925
- rightForeignKey: string;
3926
- /**
3927
- * @description The table that joins the two models
3928
- */
3929
- throughModel: string;
3930
- /**
3931
- * @description The foreign key of the primary model in the through table
3932
- */
3933
- leftForeignKey: string;
3934
- constructor(model: typeof Model, columnName: string, data: {
3935
- primaryModel: string;
3936
- throughModel: string;
3937
- leftForeignKey: string;
3938
- rightForeignKey: string;
3939
- });
3940
- }
3941
-
3894
+ type NullableAndUndefinable<T> = T | (T | null) | (T | undefined) | (T | null | undefined);
3942
3895
  type UpsertOptions<T extends Model> = {
3943
3896
  ignoreHooks?: boolean;
3944
3897
  updateOnConflict?: boolean;
@@ -3949,19 +3902,19 @@ type InsertOptions<T extends Model> = {
3949
3902
  returning?: ModelKey<T>[];
3950
3903
  };
3951
3904
  type ExcludeRelations<T> = {
3952
- [K in keyof T]: T[K] extends (Model[] | HasMany) | (Model | HasMany) | (Model | BelongsTo) | (Model[] | BelongsTo) | (Model | HasOne) | (Model[] | HasOne) | (Model | ManyToMany) | (Model[] | ManyToMany) | ((...args: any[]) => any) ? never : K;
3905
+ [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> | ((...args: any[]) => any) ? never : K;
3953
3906
  }[keyof T];
3954
3907
  type OnlyRelations<T> = {
3955
- [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;
3956
3909
  }[keyof T];
3957
3910
  type OnlyM2MRelations<T> = {
3958
- [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;
3959
3912
  }[keyof T];
3960
3913
  type WhereType<T> = {
3961
3914
  [K in keyof T]?: T[K];
3962
3915
  };
3963
3916
  type ModelKey<T extends Model> = {
3964
- [K in keyof T]: T[K] extends (Model[] | HasMany) | (Model | HasMany) | (Model | BelongsTo) | (Model[] | BelongsTo) | (Model | HasOne) | (Model[] | HasOne) ? 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;
3965
3918
  }[keyof T];
3966
3919
  type ModelRelation<T extends Model> = OnlyRelations<T>;
3967
3920
  type OrderByChoices = "asc" | "desc";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hysteria-orm",
3
- "version": "10.1.5",
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",