@mikro-orm/core 6.6.5-dev.4 → 6.6.5-dev.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/core",
3
- "version": "6.6.5-dev.4",
3
+ "version": "6.6.5-dev.5",
4
4
  "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.",
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",
@@ -64,7 +64,7 @@
64
64
  "esprima": "4.0.1",
65
65
  "fs-extra": "11.3.3",
66
66
  "globby": "11.1.0",
67
- "mikro-orm": "6.6.5-dev.4",
67
+ "mikro-orm": "6.6.5-dev.5",
68
68
  "reflect-metadata": "0.2.2"
69
69
  }
70
70
  }
package/typings.d.ts CHANGED
@@ -729,17 +729,19 @@ export type PopulateOptions<T> = {
729
729
  filter?: boolean;
730
730
  joinType?: 'inner join' | 'left join';
731
731
  children?: PopulateOptions<T[keyof T]>[];
732
+ /** When true, ignores `mapToPk` on the property and returns full entity data instead of just PKs. */
733
+ dataOnly?: boolean;
732
734
  };
733
735
  type Loadable<T extends object> = Collection<T, any> | Reference<T> | Ref<T> | readonly T[];
734
736
  type ExtractType<T> = T extends Loadable<infer U> ? U : T;
735
737
  type ExtractStringKeys<T> = {
736
- [K in keyof T]: CleanKeys<T, K>;
738
+ [K in keyof T]-?: CleanKeys<T, K>;
737
739
  }[keyof T] & {};
738
740
  type StringKeys<T, E extends string = never> = T extends Collection<any, any> ? ExtractStringKeys<ExtractType<T>> | E : T extends Reference<any> ? ExtractStringKeys<ExtractType<T>> | E : T extends object ? ExtractStringKeys<ExtractType<T>> | E : never;
739
741
  type GetStringKey<T, K extends StringKeys<T, string>, E extends string> = K extends keyof T ? ExtractType<T[K]> : (K extends E ? keyof T : never);
740
742
  type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
741
743
  type CollectionKeys<T> = T extends object ? {
742
- [K in keyof T]: T[K] extends Collection<any> ? IsAny<T[K]> extends true ? never : K & string : never;
744
+ [K in keyof T]-?: T[K] extends Collection<any> ? IsAny<T[K]> extends true ? never : K & string : never;
743
745
  }[keyof T] & {} : never;
744
746
  export type AutoPath<O, P extends string | boolean, E extends string = never, D extends Prev[number] = 9> = P extends boolean ? P : [D] extends [never] ? never : P extends any ? P extends string ? (P & `${string}.` extends never ? P : P & `${string}.`) extends infer Q ? Q extends `${infer A}.${infer B}` ? A extends StringKeys<O, E> ? `${A}.${AutoPath<NonNullable<GetStringKey<O, A, E>>, B, E, Prev[D]>}` : never : Q extends StringKeys<O, E> ? (NonNullable<GetStringKey<O, Q, E>> extends unknown ? Exclude<P, `${string}.`> : never) | (StringKeys<NonNullable<GetStringKey<O, Q, E>>, E> extends never ? never : `${Q & string}.`) : StringKeys<O, E> | `${CollectionKeys<O>}:ref` : never : never : never;
745
747
  export type UnboxArray<T> = T extends any[] ? ArrayElement<T> : T;
package/utils/Utils.d.ts CHANGED
@@ -215,7 +215,7 @@ export declare class Utils {
215
215
  * Extracts all possible values of a TS enum. Works with both string and numeric enums.
216
216
  */
217
217
  static extractEnumValues(target: Dictionary): (string | number)[];
218
- static flatten<T>(arrays: T[][]): T[];
218
+ static flatten<T>(arrays: T[][], deep?: boolean): T[];
219
219
  static isOperator(key: PropertyKey, includeGroupOperators?: boolean): boolean;
220
220
  static isGroupOperator(key: PropertyKey): boolean;
221
221
  static isArrayOperator(key: PropertyKey): boolean;
package/utils/Utils.js CHANGED
@@ -862,8 +862,8 @@ class Utils {
862
862
  }
863
863
  return values;
864
864
  }
865
- static flatten(arrays) {
866
- return [].concat.apply([], arrays);
865
+ static flatten(arrays, deep) {
866
+ return arrays.flatMap(v => deep && Array.isArray(v) ? this.flatten(v, true) : v);
867
867
  }
868
868
  static isOperator(key, includeGroupOperators = true) {
869
869
  if (!includeGroupOperators) {