hysteria-orm 10.4.7 → 10.4.9

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
@@ -4135,17 +4135,14 @@ declare class ModelManager<T extends Model> {
4135
4135
  * @description Finds all records that match the input
4136
4136
  */
4137
4137
  find<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input?: FindType<T, S, R>): Promise<AnnotatedModel<T, {}>[]>;
4138
- find<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input?: UnrestrictedFindType<T, S, R>): Promise<AnnotatedModel<T, {}>[]>;
4139
4138
  /**
4140
4139
  * @description Finds the first record that matches the input
4141
4140
  */
4142
- findOne<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input: UnrestrictedFindOneType<T, S, R>): Promise<AnnotatedModel<T, {}> | null>;
4143
4141
  findOne<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input: FindOneType<T, S, R>): Promise<AnnotatedModel<T, {}> | null>;
4144
4142
  /**
4145
4143
  * @description Finds the first record that matches the input or throws an error
4146
4144
  */
4147
4145
  findOneOrFail<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input: FindOneType<T, S, R>): Promise<AnnotatedModel<T, {}>>;
4148
- findOneOrFail<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input: UnrestrictedFindOneType<T, S, R>): Promise<AnnotatedModel<T, {}>>;
4149
4146
  /**
4150
4147
  * @description Finds a record by its primary key
4151
4148
  * @description Ignores all model hooks
@@ -4197,6 +4194,8 @@ declare class ModelManager<T extends Model> {
4197
4194
  * After each insert, it queries the row back using unique columns to get the generated ID.
4198
4195
  */
4199
4196
  private handleOracleIdentityInsert;
4197
+ private handleWhereCondition;
4198
+ private applyFieldCondition;
4200
4199
  }
4201
4200
 
4202
4201
  type TableColumnInfo = {
@@ -5219,8 +5218,50 @@ type OnlyRelations<T> = {
5219
5218
  type OnlyM2MRelations<T> = {
5220
5219
  [K in keyof T]: K extends string ? T[K] extends NullableAndUndefinable<Model[]> ? K : never : never;
5221
5220
  }[keyof T];
5222
- type WhereType<T> = {
5223
- [K in keyof T]?: T[K];
5221
+ type FindComparisonOperator = "$eq" | "$ne" | "$gt" | "$gte" | "$lt" | "$lte";
5222
+ type BaseWhereType<T> = {
5223
+ [K in keyof T as T[K] extends Function ? never : K]?: T[K] | {
5224
+ op: "$between";
5225
+ value: [T[K], T[K]];
5226
+ } | {
5227
+ op: "$not between";
5228
+ value: [T[K], T[K]];
5229
+ } | {
5230
+ op: "$regexp";
5231
+ value: RegExp;
5232
+ } | {
5233
+ op: "$not regexp";
5234
+ value: RegExp;
5235
+ } | {
5236
+ op: "$is null";
5237
+ } | {
5238
+ op: "$is not null";
5239
+ } | {
5240
+ op: "$like";
5241
+ value: string;
5242
+ } | {
5243
+ op: "$not like";
5244
+ value: string;
5245
+ } | {
5246
+ op: "$ilike";
5247
+ value: string;
5248
+ } | {
5249
+ op: "$not ilike";
5250
+ value: string;
5251
+ } | {
5252
+ op: "$in";
5253
+ value: T[K][];
5254
+ } | {
5255
+ op: "$nin";
5256
+ value: T[K][];
5257
+ } | {
5258
+ op: FindComparisonOperator;
5259
+ value: T[K] | T[K][] | null;
5260
+ };
5261
+ };
5262
+ type WhereType<T> = BaseWhereType<T> & {
5263
+ $and?: WhereType<T>[];
5264
+ $or?: WhereType<T>[];
5224
5265
  };
5225
5266
  type ModelKey<T extends Model> = {
5226
5267
  [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> ? never : K extends "*" ? never : T[K] extends (...args: any[]) => any ? never : K;
@@ -5232,18 +5273,6 @@ type OrderByType<T extends Model> = {
5232
5273
  } & {
5233
5274
  [K in string]?: OrderByChoices;
5234
5275
  };
5235
- type UnrestrictedFindOneType<T extends Model, S extends ModelKey<T>[] = any[], R extends ModelRelation<T>[] = never[]> = {
5236
- select?: S;
5237
- relations?: R;
5238
- ignoreHooks?: FetchHooks;
5239
- where?: Record<string, any>;
5240
- orderBy?: OrderByType<T>;
5241
- groupBy?: string[];
5242
- offset?: number;
5243
- };
5244
- type UnrestrictedFindType<T extends Model, S extends ModelKey<T>[] = any[], R extends ModelRelation<T>[] = never[]> = Omit<UnrestrictedFindOneType<T, S, R>, "throwErrorOnNull"> & {
5245
- limit?: number;
5246
- };
5247
5276
  type FindOneType<T extends Model, S extends ModelKey<T>[] = any[], R extends ModelRelation<T>[] = never[]> = {
5248
5277
  select?: S;
5249
5278
  offset?: number;
@@ -5318,17 +5347,17 @@ declare abstract class Model extends Entity {
5318
5347
  /**
5319
5348
  * @description Finds records for the given model
5320
5349
  */
5321
- static find<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOptions?: FindType<T, S, R> | UnrestrictedFindType<T, S, R>, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R>[]>;
5350
+ static find<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOptions?: FindType<T, S, R>, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R>[]>;
5322
5351
  /**
5323
5352
  * @description Finds a record for the given model or throws an error if it doesn't exist
5324
5353
  */
5325
- static findOneOrFail<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOneOptions: (FindOneType<T, S, R> | UnrestrictedFindOneType<T, S, R>) & {
5354
+ static findOneOrFail<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOneOptions: FindOneType<T, S, R> & {
5326
5355
  customError?: Error;
5327
5356
  }, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R>>;
5328
5357
  /**
5329
5358
  * @description Finds a record for the given model
5330
5359
  */
5331
- static findOne<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOneOptions: (FindOneType<T, S, R> | UnrestrictedFindOneType<T, S, R>) & BaseModelMethodOptions, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R> | null>;
5360
+ static findOne<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOneOptions: FindOneType<T, S, R> & BaseModelMethodOptions, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R> | null>;
5332
5361
  /**
5333
5362
  * @description Finds records for the given column and value
5334
5363
  */
package/lib/index.d.ts CHANGED
@@ -4135,17 +4135,14 @@ declare class ModelManager<T extends Model> {
4135
4135
  * @description Finds all records that match the input
4136
4136
  */
4137
4137
  find<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input?: FindType<T, S, R>): Promise<AnnotatedModel<T, {}>[]>;
4138
- find<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input?: UnrestrictedFindType<T, S, R>): Promise<AnnotatedModel<T, {}>[]>;
4139
4138
  /**
4140
4139
  * @description Finds the first record that matches the input
4141
4140
  */
4142
- findOne<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input: UnrestrictedFindOneType<T, S, R>): Promise<AnnotatedModel<T, {}> | null>;
4143
4141
  findOne<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input: FindOneType<T, S, R>): Promise<AnnotatedModel<T, {}> | null>;
4144
4142
  /**
4145
4143
  * @description Finds the first record that matches the input or throws an error
4146
4144
  */
4147
4145
  findOneOrFail<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input: FindOneType<T, S, R>): Promise<AnnotatedModel<T, {}>>;
4148
- findOneOrFail<S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(input: UnrestrictedFindOneType<T, S, R>): Promise<AnnotatedModel<T, {}>>;
4149
4146
  /**
4150
4147
  * @description Finds a record by its primary key
4151
4148
  * @description Ignores all model hooks
@@ -4197,6 +4194,8 @@ declare class ModelManager<T extends Model> {
4197
4194
  * After each insert, it queries the row back using unique columns to get the generated ID.
4198
4195
  */
4199
4196
  private handleOracleIdentityInsert;
4197
+ private handleWhereCondition;
4198
+ private applyFieldCondition;
4200
4199
  }
4201
4200
 
4202
4201
  type TableColumnInfo = {
@@ -5219,8 +5218,50 @@ type OnlyRelations<T> = {
5219
5218
  type OnlyM2MRelations<T> = {
5220
5219
  [K in keyof T]: K extends string ? T[K] extends NullableAndUndefinable<Model[]> ? K : never : never;
5221
5220
  }[keyof T];
5222
- type WhereType<T> = {
5223
- [K in keyof T]?: T[K];
5221
+ type FindComparisonOperator = "$eq" | "$ne" | "$gt" | "$gte" | "$lt" | "$lte";
5222
+ type BaseWhereType<T> = {
5223
+ [K in keyof T as T[K] extends Function ? never : K]?: T[K] | {
5224
+ op: "$between";
5225
+ value: [T[K], T[K]];
5226
+ } | {
5227
+ op: "$not between";
5228
+ value: [T[K], T[K]];
5229
+ } | {
5230
+ op: "$regexp";
5231
+ value: RegExp;
5232
+ } | {
5233
+ op: "$not regexp";
5234
+ value: RegExp;
5235
+ } | {
5236
+ op: "$is null";
5237
+ } | {
5238
+ op: "$is not null";
5239
+ } | {
5240
+ op: "$like";
5241
+ value: string;
5242
+ } | {
5243
+ op: "$not like";
5244
+ value: string;
5245
+ } | {
5246
+ op: "$ilike";
5247
+ value: string;
5248
+ } | {
5249
+ op: "$not ilike";
5250
+ value: string;
5251
+ } | {
5252
+ op: "$in";
5253
+ value: T[K][];
5254
+ } | {
5255
+ op: "$nin";
5256
+ value: T[K][];
5257
+ } | {
5258
+ op: FindComparisonOperator;
5259
+ value: T[K] | T[K][] | null;
5260
+ };
5261
+ };
5262
+ type WhereType<T> = BaseWhereType<T> & {
5263
+ $and?: WhereType<T>[];
5264
+ $or?: WhereType<T>[];
5224
5265
  };
5225
5266
  type ModelKey<T extends Model> = {
5226
5267
  [K in keyof T]: T[K] extends NullableAndUndefinable<Model> | NullableAndUndefinable<Model[]> ? never : K extends "*" ? never : T[K] extends (...args: any[]) => any ? never : K;
@@ -5232,18 +5273,6 @@ type OrderByType<T extends Model> = {
5232
5273
  } & {
5233
5274
  [K in string]?: OrderByChoices;
5234
5275
  };
5235
- type UnrestrictedFindOneType<T extends Model, S extends ModelKey<T>[] = any[], R extends ModelRelation<T>[] = never[]> = {
5236
- select?: S;
5237
- relations?: R;
5238
- ignoreHooks?: FetchHooks;
5239
- where?: Record<string, any>;
5240
- orderBy?: OrderByType<T>;
5241
- groupBy?: string[];
5242
- offset?: number;
5243
- };
5244
- type UnrestrictedFindType<T extends Model, S extends ModelKey<T>[] = any[], R extends ModelRelation<T>[] = never[]> = Omit<UnrestrictedFindOneType<T, S, R>, "throwErrorOnNull"> & {
5245
- limit?: number;
5246
- };
5247
5276
  type FindOneType<T extends Model, S extends ModelKey<T>[] = any[], R extends ModelRelation<T>[] = never[]> = {
5248
5277
  select?: S;
5249
5278
  offset?: number;
@@ -5318,17 +5347,17 @@ declare abstract class Model extends Entity {
5318
5347
  /**
5319
5348
  * @description Finds records for the given model
5320
5349
  */
5321
- static find<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOptions?: FindType<T, S, R> | UnrestrictedFindType<T, S, R>, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R>[]>;
5350
+ static find<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOptions?: FindType<T, S, R>, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R>[]>;
5322
5351
  /**
5323
5352
  * @description Finds a record for the given model or throws an error if it doesn't exist
5324
5353
  */
5325
- static findOneOrFail<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOneOptions: (FindOneType<T, S, R> | UnrestrictedFindOneType<T, S, R>) & {
5354
+ static findOneOrFail<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOneOptions: FindOneType<T, S, R> & {
5326
5355
  customError?: Error;
5327
5356
  }, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R>>;
5328
5357
  /**
5329
5358
  * @description Finds a record for the given model
5330
5359
  */
5331
- static findOne<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOneOptions: (FindOneType<T, S, R> | UnrestrictedFindOneType<T, S, R>) & BaseModelMethodOptions, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R> | null>;
5360
+ static findOne<T extends Model, S extends ModelKey<T>[] = never[], R extends ModelRelation<T>[] = never[]>(this: new () => T | typeof Model, findOneOptions: FindOneType<T, S, R> & BaseModelMethodOptions, options?: Omit<BaseModelMethodOptions, "ignoreHooks">): Promise<FindReturnType<T, S, R> | null>;
5332
5361
  /**
5333
5362
  * @description Finds records for the given column and value
5334
5363
  */