@mikro-orm/core 6.5.3-dev.9 → 6.5.4-dev.0

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/EntityManager.js CHANGED
@@ -503,7 +503,7 @@ class EntityManager {
503
503
  for (const e of fork.unitOfWork.getIdentityMap()) {
504
504
  const ref = em.getReference(e.constructor.name, (0, entity_1.helper)(e).getPrimaryKey());
505
505
  const data = this.comparator.prepareEntity(e);
506
- em.config.getHydrator(this.metadata).hydrate(ref, (0, entity_1.helper)(ref).__meta, (0, entity_1.helper)(e).serialize({ ignoreSerializers: true }), em.entityFactory, 'full', false, true);
506
+ em.config.getHydrator(this.metadata).hydrate(ref, (0, entity_1.helper)(ref).__meta, (0, entity_1.helper)(e).serialize({ ignoreSerializers: true, includeHidden: true }), em.entityFactory, 'full', false, true);
507
507
  (0, entity_1.helper)(ref).__originalEntityData = data;
508
508
  }
509
509
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/core",
3
- "version": "6.5.3-dev.9",
3
+ "version": "6.5.4-dev.0",
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.1",
66
66
  "globby": "11.1.0",
67
- "mikro-orm": "6.5.3-dev.9",
67
+ "mikro-orm": "6.5.4-dev.0",
68
68
  "reflect-metadata": "0.2.2"
69
69
  }
70
70
  }
@@ -17,6 +17,8 @@ export interface SerializeOptions<T, P extends string = never, E extends string
17
17
  forceObject?: boolean;
18
18
  /** Ignore custom property serializers. */
19
19
  ignoreSerializers?: boolean;
20
+ /** Include properties marked as `hidden`. */
21
+ includeHidden?: boolean;
20
22
  /** Skip properties with `null` value. */
21
23
  skipNull?: boolean;
22
24
  /** Only include properties for a specific group. If a property does not specify any group, it will be included, otherwise only properties with a matching group are included. */
@@ -18,7 +18,7 @@ function isVisible(meta, propName, options) {
18
18
  if (options.exclude?.find(item => item === propName)) {
19
19
  return false;
20
20
  }
21
- const visible = prop && !prop.hidden;
21
+ const visible = prop && !(prop.hidden && !options.includeHidden);
22
22
  const prefixed = prop && !prop.primary && propName.startsWith('_'); // ignore prefixed properties, if it's not a PK
23
23
  return visible && !prefixed;
24
24
  }
package/utils/Utils.js CHANGED
@@ -450,7 +450,11 @@ class Utils {
450
450
  return data;
451
451
  }
452
452
  if (Utils.isEntity(data, true)) {
453
- return (0, wrap_1.helper)(data).getPrimaryKey();
453
+ const wrapped = (0, wrap_1.helper)(data);
454
+ if (wrapped.__meta.compositePK) {
455
+ return wrapped.getPrimaryKeys();
456
+ }
457
+ return wrapped.getPrimaryKey();
454
458
  }
455
459
  if (strict && meta && Utils.getObjectKeysSize(data) !== meta.primaryKeys.length) {
456
460
  return null;