@mikro-orm/core 7.0.0-dev.1 → 7.0.0-dev.11

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.
Files changed (261) hide show
  1. package/EntityManager.d.ts +25 -16
  2. package/EntityManager.js +219 -209
  3. package/MikroORM.d.ts +7 -6
  4. package/MikroORM.js +33 -45
  5. package/cache/CacheAdapter.js +1 -2
  6. package/cache/FileCacheAdapter.d.ts +1 -1
  7. package/cache/FileCacheAdapter.js +18 -26
  8. package/cache/GeneratedCacheAdapter.d.ts +2 -2
  9. package/cache/GeneratedCacheAdapter.js +1 -5
  10. package/cache/MemoryCacheAdapter.d.ts +1 -1
  11. package/cache/MemoryCacheAdapter.js +1 -5
  12. package/cache/NullCacheAdapter.d.ts +1 -1
  13. package/cache/NullCacheAdapter.js +1 -5
  14. package/cache/index.d.ts +5 -5
  15. package/cache/index.js +5 -21
  16. package/connections/Connection.d.ts +7 -7
  17. package/connections/Connection.js +8 -12
  18. package/connections/index.d.ts +1 -1
  19. package/connections/index.js +1 -17
  20. package/decorators/Check.d.ts +2 -2
  21. package/decorators/Check.js +5 -8
  22. package/decorators/CreateRequestContext.d.ts +1 -1
  23. package/decorators/CreateRequestContext.js +13 -14
  24. package/decorators/Embeddable.d.ts +5 -5
  25. package/decorators/Embeddable.js +4 -7
  26. package/decorators/Embedded.d.ts +3 -3
  27. package/decorators/Embedded.js +10 -12
  28. package/decorators/Entity.d.ts +6 -6
  29. package/decorators/Entity.js +5 -9
  30. package/decorators/Enum.d.ts +3 -3
  31. package/decorators/Enum.js +7 -10
  32. package/decorators/Filter.d.ts +1 -1
  33. package/decorators/Filter.js +3 -6
  34. package/decorators/Formula.d.ts +2 -3
  35. package/decorators/Formula.js +7 -10
  36. package/decorators/Indexed.d.ts +10 -8
  37. package/decorators/Indexed.js +7 -11
  38. package/decorators/ManyToMany.d.ts +4 -4
  39. package/decorators/ManyToMany.js +10 -12
  40. package/decorators/ManyToOne.d.ts +4 -4
  41. package/decorators/ManyToOne.js +10 -12
  42. package/decorators/OneToMany.d.ts +6 -6
  43. package/decorators/OneToMany.js +11 -14
  44. package/decorators/OneToOne.d.ts +4 -4
  45. package/decorators/OneToOne.js +4 -7
  46. package/decorators/PrimaryKey.d.ts +3 -4
  47. package/decorators/PrimaryKey.js +10 -13
  48. package/decorators/Property.d.ts +6 -6
  49. package/decorators/Property.js +10 -12
  50. package/decorators/Transactional.d.ts +2 -2
  51. package/decorators/Transactional.js +7 -10
  52. package/decorators/hooks.js +23 -35
  53. package/decorators/index.d.ts +17 -17
  54. package/decorators/index.js +17 -36
  55. package/drivers/DatabaseDriver.d.ts +13 -12
  56. package/drivers/DatabaseDriver.js +60 -64
  57. package/drivers/IDatabaseDriver.d.ts +16 -13
  58. package/drivers/IDatabaseDriver.js +1 -4
  59. package/drivers/index.d.ts +2 -2
  60. package/drivers/index.js +2 -18
  61. package/entity/ArrayCollection.d.ts +3 -3
  62. package/entity/ArrayCollection.js +38 -35
  63. package/entity/BaseEntity.d.ts +6 -6
  64. package/entity/BaseEntity.js +17 -21
  65. package/entity/Collection.d.ts +6 -7
  66. package/entity/Collection.js +47 -51
  67. package/entity/EntityAssigner.d.ts +2 -2
  68. package/entity/EntityAssigner.js +58 -63
  69. package/entity/EntityFactory.d.ts +3 -3
  70. package/entity/EntityFactory.js +62 -63
  71. package/entity/EntityHelper.d.ts +2 -2
  72. package/entity/EntityHelper.js +44 -45
  73. package/entity/EntityIdentifier.d.ts +1 -1
  74. package/entity/EntityIdentifier.js +1 -5
  75. package/entity/EntityLoader.d.ts +5 -5
  76. package/entity/EntityLoader.js +106 -98
  77. package/entity/EntityRepository.d.ts +7 -7
  78. package/entity/EntityRepository.js +7 -11
  79. package/entity/EntityValidator.d.ts +1 -1
  80. package/entity/EntityValidator.js +25 -29
  81. package/entity/Reference.d.ts +4 -8
  82. package/entity/Reference.js +35 -42
  83. package/entity/WrappedEntity.d.ts +12 -12
  84. package/entity/WrappedEntity.js +23 -27
  85. package/entity/index.d.ts +13 -13
  86. package/entity/index.js +13 -29
  87. package/entity/utils.d.ts +1 -1
  88. package/entity/utils.js +9 -12
  89. package/entity/wrap.d.ts +1 -1
  90. package/entity/wrap.js +2 -6
  91. package/enums.d.ts +3 -3
  92. package/enums.js +37 -41
  93. package/errors.d.ts +1 -1
  94. package/errors.js +15 -24
  95. package/events/EventManager.d.ts +3 -3
  96. package/events/EventManager.js +8 -12
  97. package/events/EventSubscriber.d.ts +8 -5
  98. package/events/EventSubscriber.js +1 -2
  99. package/events/TransactionEventBroadcaster.d.ts +3 -3
  100. package/events/TransactionEventBroadcaster.js +1 -5
  101. package/events/index.d.ts +3 -3
  102. package/events/index.js +3 -19
  103. package/exceptions.js +18 -39
  104. package/hydration/Hydrator.d.ts +5 -5
  105. package/hydration/Hydrator.js +3 -6
  106. package/hydration/ObjectHydrator.d.ts +3 -3
  107. package/hydration/ObjectHydrator.js +26 -28
  108. package/hydration/index.d.ts +2 -2
  109. package/hydration/index.js +2 -18
  110. package/index.d.ts +21 -21
  111. package/index.js +21 -46
  112. package/logging/DefaultLogger.d.ts +1 -1
  113. package/logging/DefaultLogger.js +9 -13
  114. package/logging/Logger.d.ts +1 -1
  115. package/logging/Logger.js +1 -2
  116. package/logging/SimpleLogger.d.ts +2 -2
  117. package/logging/SimpleLogger.js +2 -6
  118. package/logging/colors.js +1 -5
  119. package/logging/index.d.ts +4 -4
  120. package/logging/index.js +4 -20
  121. package/metadata/EntitySchema.d.ts +14 -6
  122. package/metadata/EntitySchema.js +41 -45
  123. package/metadata/MetadataDiscovery.d.ts +7 -7
  124. package/metadata/MetadataDiscovery.js +181 -180
  125. package/metadata/MetadataProvider.d.ts +2 -2
  126. package/metadata/MetadataProvider.js +4 -7
  127. package/metadata/MetadataStorage.d.ts +2 -2
  128. package/metadata/MetadataStorage.js +15 -19
  129. package/metadata/MetadataValidator.d.ts +4 -4
  130. package/metadata/MetadataValidator.js +52 -55
  131. package/metadata/ReflectMetadataProvider.d.ts +2 -2
  132. package/metadata/ReflectMetadataProvider.js +8 -12
  133. package/metadata/index.d.ts +6 -6
  134. package/metadata/index.js +6 -22
  135. package/naming-strategy/AbstractNamingStrategy.d.ts +2 -2
  136. package/naming-strategy/AbstractNamingStrategy.js +4 -8
  137. package/naming-strategy/EntityCaseNamingStrategy.d.ts +1 -1
  138. package/naming-strategy/EntityCaseNamingStrategy.js +2 -6
  139. package/naming-strategy/MongoNamingStrategy.d.ts +1 -1
  140. package/naming-strategy/MongoNamingStrategy.js +2 -6
  141. package/naming-strategy/NamingStrategy.d.ts +1 -1
  142. package/naming-strategy/NamingStrategy.js +1 -2
  143. package/naming-strategy/UnderscoreNamingStrategy.d.ts +1 -1
  144. package/naming-strategy/UnderscoreNamingStrategy.js +2 -6
  145. package/naming-strategy/index.d.ts +5 -5
  146. package/naming-strategy/index.js +5 -21
  147. package/package.json +6 -15
  148. package/platforms/ExceptionConverter.d.ts +2 -2
  149. package/platforms/ExceptionConverter.js +4 -8
  150. package/platforms/Platform.d.ts +10 -10
  151. package/platforms/Platform.js +57 -61
  152. package/platforms/index.d.ts +2 -2
  153. package/platforms/index.js +2 -18
  154. package/serialization/EntitySerializer.d.ts +2 -2
  155. package/serialization/EntitySerializer.js +36 -41
  156. package/serialization/EntityTransformer.d.ts +1 -1
  157. package/serialization/EntityTransformer.js +27 -31
  158. package/serialization/SerializationContext.d.ts +2 -2
  159. package/serialization/SerializationContext.js +10 -14
  160. package/serialization/index.d.ts +3 -3
  161. package/serialization/index.js +3 -19
  162. package/types/ArrayType.d.ts +3 -3
  163. package/types/ArrayType.js +7 -11
  164. package/types/BigIntType.d.ts +4 -3
  165. package/types/BigIntType.js +6 -6
  166. package/types/BlobType.d.ts +3 -3
  167. package/types/BlobType.js +2 -8
  168. package/types/BooleanType.d.ts +3 -3
  169. package/types/BooleanType.js +2 -6
  170. package/types/CharacterType.d.ts +3 -3
  171. package/types/CharacterType.js +2 -6
  172. package/types/DateTimeType.d.ts +3 -3
  173. package/types/DateTimeType.js +2 -6
  174. package/types/DateType.d.ts +3 -3
  175. package/types/DateType.js +2 -6
  176. package/types/DecimalType.d.ts +3 -3
  177. package/types/DecimalType.js +4 -7
  178. package/types/DoubleType.d.ts +3 -3
  179. package/types/DoubleType.js +3 -6
  180. package/types/EnumArrayType.d.ts +4 -4
  181. package/types/EnumArrayType.js +5 -10
  182. package/types/EnumType.d.ts +3 -3
  183. package/types/EnumType.js +2 -6
  184. package/types/FloatType.d.ts +3 -3
  185. package/types/FloatType.js +2 -6
  186. package/types/IntegerType.d.ts +3 -3
  187. package/types/IntegerType.js +2 -6
  188. package/types/IntervalType.d.ts +3 -3
  189. package/types/IntervalType.js +2 -6
  190. package/types/JsonType.d.ts +3 -3
  191. package/types/JsonType.js +2 -6
  192. package/types/MediumIntType.d.ts +3 -3
  193. package/types/MediumIntType.js +2 -6
  194. package/types/SmallIntType.d.ts +3 -3
  195. package/types/SmallIntType.js +2 -6
  196. package/types/StringType.d.ts +3 -3
  197. package/types/StringType.js +2 -6
  198. package/types/TextType.d.ts +3 -3
  199. package/types/TextType.js +2 -6
  200. package/types/TimeType.d.ts +3 -3
  201. package/types/TimeType.js +4 -8
  202. package/types/TinyIntType.d.ts +3 -3
  203. package/types/TinyIntType.js +3 -6
  204. package/types/Type.d.ts +2 -2
  205. package/types/Type.js +5 -9
  206. package/types/Uint8ArrayType.d.ts +3 -3
  207. package/types/Uint8ArrayType.js +3 -9
  208. package/types/UnknownType.d.ts +3 -3
  209. package/types/UnknownType.js +2 -6
  210. package/types/UuidType.d.ts +3 -3
  211. package/types/UuidType.js +2 -6
  212. package/types/index.d.ts +25 -25
  213. package/types/index.js +52 -79
  214. package/typings.d.ts +33 -28
  215. package/typings.js +37 -38
  216. package/unit-of-work/ChangeSet.d.ts +1 -1
  217. package/unit-of-work/ChangeSet.js +13 -17
  218. package/unit-of-work/ChangeSetComputer.d.ts +8 -7
  219. package/unit-of-work/ChangeSetComputer.js +26 -30
  220. package/unit-of-work/ChangeSetPersister.d.ts +7 -6
  221. package/unit-of-work/ChangeSetPersister.js +51 -48
  222. package/unit-of-work/CommitOrderCalculator.d.ts +1 -1
  223. package/unit-of-work/CommitOrderCalculator.js +6 -10
  224. package/unit-of-work/IdentityMap.d.ts +1 -1
  225. package/unit-of-work/IdentityMap.js +1 -5
  226. package/unit-of-work/UnitOfWork.d.ts +8 -7
  227. package/unit-of-work/UnitOfWork.js +193 -178
  228. package/unit-of-work/index.d.ts +6 -6
  229. package/unit-of-work/index.js +6 -22
  230. package/utils/AbstractSchemaGenerator.d.ts +6 -6
  231. package/utils/AbstractSchemaGenerator.js +12 -13
  232. package/utils/Configuration.d.ts +26 -27
  233. package/utils/Configuration.js +50 -55
  234. package/utils/ConfigurationLoader.d.ts +9 -8
  235. package/utils/ConfigurationLoader.js +71 -86
  236. package/utils/Cursor.d.ts +6 -6
  237. package/utils/Cursor.js +22 -25
  238. package/utils/DataloaderUtils.d.ts +4 -4
  239. package/utils/DataloaderUtils.js +12 -16
  240. package/utils/EntityComparator.d.ts +2 -2
  241. package/utils/EntityComparator.js +109 -97
  242. package/utils/NullHighlighter.d.ts +1 -1
  243. package/utils/NullHighlighter.js +1 -5
  244. package/utils/QueryHelper.d.ts +3 -3
  245. package/utils/QueryHelper.js +47 -51
  246. package/utils/RawQueryFragment.d.ts +1 -1
  247. package/utils/RawQueryFragment.js +22 -25
  248. package/utils/RequestContext.d.ts +2 -2
  249. package/utils/RequestContext.js +3 -7
  250. package/utils/TransactionContext.d.ts +1 -1
  251. package/utils/TransactionContext.js +4 -8
  252. package/utils/Utils.d.ts +16 -12
  253. package/utils/Utils.js +96 -95
  254. package/utils/clone.js +8 -11
  255. package/utils/index.d.ts +13 -13
  256. package/utils/index.js +13 -29
  257. package/utils/resolveContextProvider.d.ts +3 -3
  258. package/utils/resolveContextProvider.js +9 -12
  259. package/utils/upsert-utils.d.ts +3 -3
  260. package/utils/upsert-utils.js +5 -9
  261. package/index.mjs +0 -199
@@ -1,18 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityHelper = void 0;
4
- const node_util_1 = require("node:util");
5
- const typings_1 = require("../typings");
6
- const EntityTransformer_1 = require("../serialization/EntityTransformer");
7
- const Reference_1 = require("./Reference");
8
- const Utils_1 = require("../utils/Utils");
9
- const WrappedEntity_1 = require("./WrappedEntity");
10
- const enums_1 = require("../enums");
11
- const wrap_1 = require("./wrap");
1
+ import { inspect } from 'node:util';
2
+ import { EagerProps, EntityRepositoryType, HiddenProps, OptionalProps, PrimaryKeyProp, } from '../typings.js';
3
+ import { EntityTransformer } from '../serialization/EntityTransformer.js';
4
+ import { Reference } from './Reference.js';
5
+ import { Utils } from '../utils/Utils.js';
6
+ import { WrappedEntity } from './WrappedEntity.js';
7
+ import { ReferenceKind } from '../enums.js';
8
+ import { helper } from './wrap.js';
12
9
  /**
13
10
  * @internal
14
11
  */
15
- class EntityHelper {
12
+ export class EntityHelper {
16
13
  static decorate(meta, em) {
17
14
  const fork = em.fork(); // use fork so we can access `EntityFactory`
18
15
  const serializedPrimaryKey = meta.props.find(p => p.serializedPrimaryKey);
@@ -35,7 +32,7 @@ class EntityHelper {
35
32
  const prototype = meta.prototype;
36
33
  if (!prototype.toJSON) { // toJSON can be overridden
37
34
  prototype.toJSON = function (...args) {
38
- return EntityTransformer_1.EntityTransformer.toObject(this, ...args.slice(meta.toJsonParams.length));
35
+ return EntityTransformer.toObject(this, ...args.slice(meta.toJsonParams.length));
39
36
  };
40
37
  }
41
38
  }
@@ -56,7 +53,7 @@ class EntityHelper {
56
53
  __helper: {
57
54
  get() {
58
55
  Object.defineProperty(this, '__helper', {
59
- value: new WrappedEntity_1.WrappedEntity(this, em.getHydrator(), ...helperParams),
56
+ value: new WrappedEntity(this, em.getHydrator(), ...helperParams),
60
57
  enumerable: false,
61
58
  configurable: true,
62
59
  });
@@ -78,8 +75,8 @@ class EntityHelper {
78
75
  Object
79
76
  .values(meta.properties)
80
77
  .forEach(prop => {
81
- const isCollection = [enums_1.ReferenceKind.ONE_TO_MANY, enums_1.ReferenceKind.MANY_TO_MANY].includes(prop.kind);
82
- const isReference = [enums_1.ReferenceKind.ONE_TO_ONE, enums_1.ReferenceKind.MANY_TO_ONE].includes(prop.kind) && (prop.inversedBy || prop.mappedBy) && !prop.mapToPk;
78
+ const isCollection = [ReferenceKind.ONE_TO_MANY, ReferenceKind.MANY_TO_MANY].includes(prop.kind);
79
+ const isReference = [ReferenceKind.ONE_TO_ONE, ReferenceKind.MANY_TO_ONE].includes(prop.kind) && (prop.inversedBy || prop.mappedBy) && !prop.mapToPk;
83
80
  if (isReference) {
84
81
  Object.defineProperty(meta.prototype, prop.name, {
85
82
  set(val) {
@@ -115,49 +112,52 @@ class EntityHelper {
115
112
  }
116
113
  static defineCustomInspect(meta) {
117
114
  // @ts-ignore
118
- meta.prototype[node_util_1.inspect.custom] ??= function (depth = 2) {
115
+ meta.prototype[inspect.custom] ??= function (depth = 2) {
119
116
  const object = { ...this };
120
117
  // ensure we dont have internal symbols in the POJO
121
- [typings_1.OptionalProps, typings_1.EntityRepositoryType, typings_1.PrimaryKeyProp, typings_1.EagerProps, typings_1.HiddenProps].forEach(sym => delete object[sym]);
118
+ [OptionalProps, EntityRepositoryType, PrimaryKeyProp, EagerProps, HiddenProps].forEach(sym => delete object[sym]);
122
119
  meta.props
123
120
  .filter(prop => object[prop.name] === undefined)
124
121
  .forEach(prop => delete object[prop.name]);
125
- const ret = (0, node_util_1.inspect)(object, { depth });
122
+ const ret = inspect(object, { depth });
126
123
  let name = (this).constructor.name;
127
124
  const showEM = ['true', 't', '1'].includes(process.env.MIKRO_ORM_LOG_EM_ID?.toString().toLowerCase() ?? '');
128
125
  if (showEM) {
129
- if ((0, wrap_1.helper)(this).__em) {
130
- name += ` [managed by ${(0, wrap_1.helper)(this).__em.id}]`;
126
+ if (helper(this).__em) {
127
+ name += ` [managed by ${helper(this).__em.id}]`;
131
128
  }
132
129
  else {
133
130
  name += ` [not managed]`;
134
131
  }
135
132
  }
136
133
  // distinguish not initialized entities
137
- if (!(0, wrap_1.helper)(this).__initialized) {
134
+ if (!helper(this).__initialized) {
138
135
  name = `(${name})`;
139
136
  }
140
137
  return ret === '[Object]' ? `[${name}]` : name + ' ' + ret;
141
138
  };
142
139
  }
143
140
  static defineReferenceProperty(meta, prop, ref, hydrator) {
144
- const wrapped = (0, wrap_1.helper)(ref);
141
+ const wrapped = helper(ref);
145
142
  Object.defineProperty(ref, prop.name, {
146
143
  get() {
147
- return (0, wrap_1.helper)(ref).__data[prop.name];
144
+ return helper(ref).__data[prop.name];
148
145
  },
149
146
  set(val) {
150
- const entity = Reference_1.Reference.unwrapReference(val ?? wrapped.__data[prop.name]);
151
- const old = Reference_1.Reference.unwrapReference(wrapped.__data[prop.name]);
152
- wrapped.__data[prop.name] = Reference_1.Reference.wrapReference(val, prop);
147
+ const entity = Reference.unwrapReference(val ?? wrapped.__data[prop.name]);
148
+ const old = Reference.unwrapReference(wrapped.__data[prop.name]);
149
+ if (old && old !== entity && prop.kind === ReferenceKind.MANY_TO_ONE && prop.inversedBy && old[prop.inversedBy]) {
150
+ old[prop.inversedBy].removeWithoutPropagation(this);
151
+ }
152
+ wrapped.__data[prop.name] = Reference.wrapReference(val, prop);
153
153
  // when propagation from inside hydration, we set the FK to the entity data immediately
154
154
  if (val && hydrator.isRunning() && wrapped.__originalEntityData && prop.owner) {
155
- wrapped.__originalEntityData[prop.name] = Utils_1.Utils.getPrimaryKeyValues(wrapped.__data[prop.name], prop.targetMeta.primaryKeys, true);
155
+ wrapped.__originalEntityData[prop.name] = Utils.getPrimaryKeyValues(wrapped.__data[prop.name], prop.targetMeta.primaryKeys, true);
156
156
  }
157
157
  else {
158
158
  wrapped.__touched = !hydrator.isRunning();
159
159
  }
160
- EntityHelper.propagate(meta, entity, this, prop, Reference_1.Reference.unwrapReference(val), old);
160
+ EntityHelper.propagate(meta, entity, this, prop, Reference.unwrapReference(val), old);
161
161
  },
162
162
  enumerable: true,
163
163
  configurable: true,
@@ -172,51 +172,51 @@ class EntityHelper {
172
172
  continue;
173
173
  }
174
174
  const inverse = value?.[prop2.name];
175
- if (prop.kind === enums_1.ReferenceKind.MANY_TO_ONE && Utils_1.Utils.isCollection(inverse) && inverse.isInitialized()) {
175
+ if (prop.kind === ReferenceKind.MANY_TO_ONE && Utils.isCollection(inverse) && inverse.isInitialized()) {
176
176
  inverse.addWithoutPropagation(owner);
177
- (0, wrap_1.helper)(owner).__em?.getUnitOfWork().cancelOrphanRemoval(owner);
177
+ helper(owner).__em?.getUnitOfWork().cancelOrphanRemoval(owner);
178
178
  }
179
- if (prop.kind === enums_1.ReferenceKind.ONE_TO_ONE) {
180
- if ((value != null && Reference_1.Reference.unwrapReference(inverse) !== owner) ||
179
+ if (prop.kind === ReferenceKind.ONE_TO_ONE) {
180
+ if ((value != null && Reference.unwrapReference(inverse) !== owner) ||
181
181
  (value == null && entity?.[prop2.name] != null)) {
182
- if (entity && (!prop.owner || (0, wrap_1.helper)(entity).__initialized)) {
182
+ if (entity && (!prop.owner || helper(entity).__initialized)) {
183
183
  EntityHelper.propagateOneToOne(entity, owner, prop, prop2, value, old);
184
184
  }
185
185
  if (old && prop.orphanRemoval) {
186
- (0, wrap_1.helper)(old).__em?.getUnitOfWork().scheduleOrphanRemoval(old);
186
+ helper(old).__em?.getUnitOfWork().scheduleOrphanRemoval(old);
187
187
  }
188
188
  }
189
189
  }
190
190
  }
191
191
  }
192
192
  static propagateOneToOne(entity, owner, prop, prop2, value, old) {
193
- (0, wrap_1.helper)(entity).__pk = (0, wrap_1.helper)(entity).getPrimaryKey();
193
+ helper(entity).__pk = helper(entity).getPrimaryKey();
194
194
  // the inverse side will be changed on the `value` too, so we need to clean-up and schedule orphan removal there too
195
- if (!prop.primary && !prop2.mapToPk && value?.[prop2.name] != null && Reference_1.Reference.unwrapReference(value[prop2.name]) !== entity) {
196
- const other = Reference_1.Reference.unwrapReference(value[prop2.name]);
197
- delete (0, wrap_1.helper)(other).__data[prop.name];
195
+ if (!prop.primary && !prop2.mapToPk && value?.[prop2.name] != null && Reference.unwrapReference(value[prop2.name]) !== entity) {
196
+ const other = Reference.unwrapReference(value[prop2.name]);
197
+ delete helper(other).__data[prop.name];
198
198
  if (prop2.orphanRemoval) {
199
- (0, wrap_1.helper)(other).__em?.getUnitOfWork().scheduleOrphanRemoval(other);
199
+ helper(other).__em?.getUnitOfWork().scheduleOrphanRemoval(other);
200
200
  }
201
201
  }
202
202
  if (value == null) {
203
203
  entity[prop2.name] = value;
204
204
  }
205
205
  else if (prop2.mapToPk) {
206
- entity[prop2.name] = (0, wrap_1.helper)(owner).getPrimaryKey();
206
+ entity[prop2.name] = helper(owner).getPrimaryKey();
207
207
  }
208
208
  else {
209
- entity[prop2.name] = Reference_1.Reference.wrapReference(owner, prop);
209
+ entity[prop2.name] = Reference.wrapReference(owner, prop);
210
210
  }
211
211
  if (old?.[prop2.name] != null) {
212
- delete (0, wrap_1.helper)(old).__data[prop2.name];
212
+ delete helper(old).__data[prop2.name];
213
213
  }
214
214
  }
215
215
  static ensurePropagation(entity) {
216
216
  if (entity.__gettersDefined) {
217
217
  return;
218
218
  }
219
- const wrapped = (0, wrap_1.helper)(entity);
219
+ const wrapped = helper(entity);
220
220
  const meta = wrapped.__meta;
221
221
  const platform = wrapped.__platform;
222
222
  const serializedPrimaryKey = meta.props.find(p => p.serializedPrimaryKey);
@@ -250,4 +250,3 @@ class EntityHelper {
250
250
  }
251
251
  }
252
252
  }
253
- exports.EntityHelper = EntityHelper;
@@ -1,4 +1,4 @@
1
- import type { IPrimaryKey } from '../typings';
1
+ import type { IPrimaryKey } from '../typings.js';
2
2
  /**
3
3
  * @internal
4
4
  */
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityIdentifier = void 0;
4
1
  /**
5
2
  * @internal
6
3
  */
7
- class EntityIdentifier {
4
+ export class EntityIdentifier {
8
5
  value;
9
6
  constructor(value) {
10
7
  this.value = value;
@@ -16,4 +13,3 @@ class EntityIdentifier {
16
13
  return this.value;
17
14
  }
18
15
  }
19
- exports.EntityIdentifier = EntityIdentifier;
@@ -1,8 +1,8 @@
1
- import type { ConnectionType, Dictionary, FilterQuery, PopulateOptions } from '../typings';
2
- import type { EntityManager } from '../EntityManager';
3
- import { LoadStrategy, type LockMode, type PopulateHint, PopulatePath, type QueryOrderMap } from '../enums';
4
- import type { EntityField } from '../drivers/IDatabaseDriver';
5
- import type { LoggingOptions } from '../logging/Logger';
1
+ import type { ConnectionType, Dictionary, FilterQuery, PopulateOptions } from '../typings.js';
2
+ import type { EntityManager } from '../EntityManager.js';
3
+ import { LoadStrategy, type LockMode, type PopulateHint, PopulatePath, type QueryOrderMap } from '../enums.js';
4
+ import type { EntityField } from '../drivers/IDatabaseDriver.js';
5
+ import type { LoggingOptions } from '../logging/Logger.js';
6
6
  export type EntityLoaderOptions<Entity, Fields extends string = PopulatePath.ALL, Excludes extends string = never> = {
7
7
  where?: FilterQuery<Entity>;
8
8
  populateWhere?: PopulateHint | `${PopulateHint}`;