@mikro-orm/core 6.3.10-dev.14 → 6.3.10-dev.16

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/MikroORM.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { EntityManagerType, IDatabaseDriver } from './drivers';
2
- import { MetadataStorage } from './metadata';
2
+ import { MetadataStorage, type EntitySchema } from './metadata';
3
3
  import { Configuration, type Options } from './utils';
4
4
  import type { EntityManager } from './EntityManager';
5
5
  import type { Constructor, EntityMetadata, EntityName, IEntityGenerator, IMigrator, ISeedManager } from './typings';
@@ -66,7 +66,7 @@ export declare class MikroORM<D extends IDatabaseDriver = IDatabaseDriver, EM ex
66
66
  /**
67
67
  * Allows dynamically discovering new entity by reference, handy for testing schema diffing.
68
68
  */
69
- discoverEntity(entities: Constructor | Constructor[]): void;
69
+ discoverEntity<T extends Constructor | EntitySchema>(entities: T | T[]): void;
70
70
  /**
71
71
  * Gets the SchemaGenerator.
72
72
  */
package/MikroORM.js CHANGED
@@ -192,7 +192,10 @@ class MikroORM {
192
192
  const options = this.config.get('discovery');
193
193
  new metadata_1.MetadataValidator().validateDiscovered([...Object.values(this.metadata.getAll()), ...tmp], options);
194
194
  const metadata = this.discovery.processDiscoveredEntities(tmp);
195
- metadata.forEach(meta => this.metadata.set(meta.className, meta));
195
+ metadata.forEach(meta => {
196
+ this.metadata.set(meta.className, meta);
197
+ meta.root = this.metadata.get(meta.root.className);
198
+ });
196
199
  this.metadata.decorate(this.em);
197
200
  }
198
201
  /**
@@ -121,7 +121,11 @@ class MetadataDiscovery {
121
121
  if (combinedCachePath) {
122
122
  this.config.get('metadataCache').combined = combinedCachePath;
123
123
  }
124
- return discovered.map(meta => this.metadata.get(meta.className));
124
+ return discovered.map(meta => {
125
+ meta = this.metadata.get(meta.className);
126
+ meta.sync(true);
127
+ return meta;
128
+ });
125
129
  }
126
130
  findEntities(preferTsNode, sync = false) {
127
131
  this.discovered.length = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/core",
3
- "version": "6.3.10-dev.14",
3
+ "version": "6.3.10-dev.16",
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.2.0",
66
66
  "globby": "11.1.0",
67
- "mikro-orm": "6.3.10-dev.14",
67
+ "mikro-orm": "6.3.10-dev.16",
68
68
  "reflect-metadata": "0.2.2"
69
69
  }
70
70
  }
package/typings.d.ts CHANGED
@@ -683,7 +683,7 @@ export type AutoPath<O, P extends string | boolean, E extends string = never, D
683
683
  export type UnboxArray<T> = T extends any[] ? ArrayElement<T> : T;
684
684
  export type ArrayElement<ArrayType extends unknown[]> = ArrayType extends (infer ElementType)[] ? ElementType : never;
685
685
  export type ExpandProperty<T> = T extends Reference<infer U> ? NonNullable<U> : T extends Collection<infer U, any> ? NonNullable<U> : T extends (infer U)[] ? NonNullable<U> : NonNullable<T>;
686
- type LoadedLoadable<T, E extends object> = T extends Collection<any, any> ? LoadedCollection<E> : T extends Reference<any> ? LoadedReference<E> : T extends ScalarReference<infer U> ? LoadedScalarReference<U> : T extends Scalar | any[] ? T : E;
686
+ type LoadedLoadable<T, E extends object> = T extends Collection<any, any> ? LoadedCollection<E> : T extends Reference<any> ? T & LoadedReference<E> : T extends ScalarReference<infer U> ? LoadedScalarReference<U> : T extends Scalar | any[] ? T : E;
687
687
  type IsTrue<T> = IsNever<T> extends true ? false : T extends boolean ? T extends true ? true : false : false;
688
688
  type StringLiteral<T> = T extends string ? string extends T ? never : T : never;
689
689
  type Prefix<T, K> = K extends `${infer S}.${string}` ? S : (K extends '*' ? keyof T : K);