@mikro-orm/core 7.0.0-dev.56 → 7.0.0-dev.58

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.
@@ -109,7 +109,7 @@ export declare class EntityManager<Driver extends IDatabaseDriver = IDatabaseDri
109
109
  /**
110
110
  * Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
111
111
  */
112
- addFilter<T extends object>(options: FilterDef<T>): void;
112
+ addFilter<T extends EntityName<any> | readonly EntityName<any>[]>(options: FilterDef<T>): void;
113
113
  /**
114
114
  * Sets filter parameter values globally inside context defined by this entity manager.
115
115
  * If you want to set shared value for all contexts, be sure to use the root entity manager.
package/EntityManager.js CHANGED
@@ -256,25 +256,6 @@ export class EntityManager {
256
256
  }
257
257
  return { where: options.populateWhere };
258
258
  }
259
- // /**
260
- // * Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
261
- // */
262
- // addFilter<T1>(name: string, cond: FilterQuery<T1> | ((args: Dictionary) => MaybePromise<FilterQuery<T1>>), entityName?: EntityName<T1> | [EntityName<T1>], options?: boolean | Partial<FilterDef>): void;
263
- //
264
- // /**
265
- // * Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
266
- // */
267
- // addFilter<T1, T2>(name: string, cond: FilterQuery<T1 | T2> | ((args: Dictionary) => MaybePromise<FilterQuery<T1 | T2>>), entityName?: [EntityName<T1>, EntityName<T2>], options?: boolean | Partial<FilterDef>): void;
268
- //
269
- // /**
270
- // * Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
271
- // */
272
- // addFilter<T1, T2, T3>(name: string, cond: FilterQuery<T1 | T2 | T3> | ((args: Dictionary) => MaybePromise<FilterQuery<T1 | T2 | T3>>), entityName?: [EntityName<T1>, EntityName<T2>, EntityName<T3>], options?: boolean | Partial<FilterDef>): void;
273
- //
274
- // /**
275
- // * Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
276
- // */
277
- // addFilter(name: string, cond: Dictionary | ((args: Dictionary) => MaybePromise<FilterQuery<AnyEntity>>), entityName?: EntityName<AnyEntity> | EntityName<AnyEntity>[], options?: boolean | Partial<FilterDef>): void;
278
259
  /**
279
260
  * Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
280
261
  */
@@ -169,7 +169,7 @@ export interface FindOptions<Entity, Hint extends string = never, Fields extends
169
169
  export interface FindByCursorOptions<T extends object, P extends string = never, F extends string = '*', E extends string = never, I extends boolean = true> extends Omit<FindOptions<T, P, F, E>, 'limit' | 'offset'> {
170
170
  includeCount?: I;
171
171
  }
172
- export interface FindOneOptions<T extends object, P extends string = never, F extends string = '*', E extends string = never> extends Omit<FindOptions<T, P, F, E>, 'limit' | 'lockMode'> {
172
+ export interface FindOneOptions<T, P extends string = never, F extends string = '*', E extends string = never> extends Omit<FindOptions<T, P, F, E>, 'limit' | 'lockMode'> {
173
173
  lockMode?: LockMode;
174
174
  lockVersion?: number | Date;
175
175
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mikro-orm/core",
3
3
  "type": "module",
4
- "version": "7.0.0-dev.56",
4
+ "version": "7.0.0-dev.58",
5
5
  "description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.",
6
6
  "exports": {
7
7
  "./package.json": "./package.json",
@@ -55,7 +55,7 @@
55
55
  "dataloader": "2.2.3",
56
56
  "dotenv": "17.2.3",
57
57
  "esprima": "4.0.1",
58
- "mikro-orm": "7.0.0-dev.56",
58
+ "mikro-orm": "7.0.0-dev.58",
59
59
  "reflect-metadata": "0.2.2",
60
60
  "tinyglobby": "0.2.13"
61
61
  }
package/typings.d.ts CHANGED
@@ -713,14 +713,18 @@ export interface MigrationObject {
713
713
  name: string;
714
714
  class: Constructor<Migration>;
715
715
  }
716
- export type FilterDef<T extends object = any> = {
716
+ type EntityFromInput<T> = T extends readonly EntityName<infer U>[] ? U : T extends EntityName<infer U> ? U : never;
717
+ type FilterDefResolved<T extends object = any> = {
717
718
  name: string;
718
- cond: Dictionary | ((args: Dictionary, type: 'read' | 'update' | 'delete', em: any, options?: FindOptions<T, any, any, any> | FindOneOptions<T, any, any, any>, entityName?: EntityName<T>) => MaybePromise<Dictionary>);
719
+ cond: FilterQuery<T> | ((args: Dictionary, type: 'read' | 'update' | 'delete', em: any, options?: FindOptions<T, any, any, any> | FindOneOptions<T, any, any, any>, entityName?: EntityName<T>) => MaybePromise<FilterQuery<T>>);
719
720
  default?: boolean;
720
721
  entity?: EntityName<T> | EntityName<T>[];
721
722
  args?: boolean;
722
723
  strict?: boolean;
723
724
  };
725
+ export type FilterDef<T extends EntityName<any> | readonly EntityName<any>[] = any> = FilterDefResolved<EntityFromInput<T>> & {
726
+ entity?: T;
727
+ };
724
728
  export type Populate<T, P extends string = never> = readonly AutoPath<T, P, `${PopulatePath}`>[] | false;
725
729
  export type PopulateOptions<T> = {
726
730
  field: EntityKey<T>;