@mikro-orm/core 6.6.4-dev.5 → 6.6.4-dev.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.
@@ -4,11 +4,12 @@ import { type AssignOptions } from './EntityAssigner';
4
4
  import type { EntityLoaderOptions } from './EntityLoader';
5
5
  import { type SerializeOptions } from '../serialization/EntitySerializer';
6
6
  import type { FindOneOptions } from '../drivers/IDatabaseDriver';
7
+ import type { PopulatePath } from '../enums';
7
8
  export declare abstract class BaseEntity {
8
9
  isInitialized(): boolean;
9
10
  isTouched(): boolean;
10
11
  populated(populated?: boolean): void;
11
- populate<Entity extends this = this, Hint extends string = never>(populate: AutoPath<Entity, Hint>[] | false, options?: EntityLoaderOptions<Entity>): Promise<Loaded<Entity, Hint>>;
12
+ populate<Entity extends this = this, Hint extends string = never>(populate: AutoPath<Entity, Hint, PopulatePath.ALL>[] | false, options?: EntityLoaderOptions<Entity>): Promise<Loaded<Entity, Hint>>;
12
13
  toReference<Entity extends this = this>(): Ref<Entity> & LoadedReference<Loaded<Entity, AddEager<Entity>>>;
13
14
  toObject<Entity extends this = this>(): EntityDTO<Entity>;
14
15
  toObject<Entity extends this = this>(ignoreFields: never[]): EntityDTO<Entity>;
@@ -913,10 +913,12 @@ class MetadataDiscovery {
913
913
  path = [embeddedProp.fieldNames[0]];
914
914
  }
915
915
  this.initFieldName(prop, true);
916
+ this.initRelation(prop);
916
917
  path.push(prop.fieldNames[0]);
917
918
  meta.properties[name].fieldNames = prop.fieldNames;
918
919
  meta.properties[name].embeddedPath = path;
919
- const fieldName = (0, RawQueryFragment_1.raw)(this.platform.getSearchJsonPropertySQL(path.join('->'), prop.runtimeType ?? prop.type, true));
920
+ const targetProp = prop.targetMeta?.getPrimaryProp() ?? prop;
921
+ const fieldName = (0, RawQueryFragment_1.raw)(this.platform.getSearchJsonPropertySQL(path.join('->'), targetProp.runtimeType ?? targetProp.type, true));
920
922
  meta.properties[name].fieldNameRaw = fieldName.sql; // for querying in SQL drivers
921
923
  meta.properties[name].persist = false; // only virtual as we store the whole object
922
924
  meta.properties[name].userDefined = false; // mark this as a generated/internal property, so we can distinguish from user-defined non-persist properties
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/core",
3
- "version": "6.6.4-dev.5",
3
+ "version": "6.6.4-dev.7",
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.4-dev.5",
67
+ "mikro-orm": "6.6.4-dev.7",
68
68
  "reflect-metadata": "0.2.2"
69
69
  }
70
70
  }
package/typings.d.ts CHANGED
@@ -154,7 +154,7 @@ export interface IWrappedEntity<Entity extends object> {
154
154
  isTouched(): boolean;
155
155
  isManaged(): boolean;
156
156
  populated(populated?: boolean): void;
157
- populate<Hint extends string = never>(populate: AutoPath<Entity, Hint>[] | false, options?: EntityLoaderOptions<Entity>): Promise<Loaded<Entity, Hint>>;
157
+ populate<Hint extends string = never>(populate: readonly AutoPath<Entity, Hint, PopulatePath.ALL>[] | false, options?: EntityLoaderOptions<Entity>): Promise<Loaded<Entity, Hint>>;
158
158
  init<Hint extends string = never, Fields extends string = '*', Exclude extends string = never>(options?: FindOneOptions<Entity, Hint, Fields, Exclude>): Promise<Loaded<Entity, Hint, Fields, Exclude> | null>;
159
159
  toReference(): Ref<Entity> & LoadedReference<Loaded<Entity, AddEager<Entity>>>;
160
160
  toObject(): EntityDTO<Entity>;