@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
|
+
"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.
|
|
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
|
-
|
|
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;
|