@mikro-orm/core 7.0.4 → 7.0.5-dev.1

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 (206) hide show
  1. package/EntityManager.d.ts +583 -884
  2. package/EntityManager.js +1895 -1922
  3. package/MikroORM.d.ts +74 -103
  4. package/MikroORM.js +179 -178
  5. package/README.md +1 -1
  6. package/cache/CacheAdapter.d.ts +36 -36
  7. package/cache/FileCacheAdapter.d.ts +24 -30
  8. package/cache/FileCacheAdapter.js +78 -80
  9. package/cache/GeneratedCacheAdapter.d.ts +20 -18
  10. package/cache/GeneratedCacheAdapter.js +30 -30
  11. package/cache/MemoryCacheAdapter.d.ts +20 -18
  12. package/cache/MemoryCacheAdapter.js +36 -35
  13. package/cache/NullCacheAdapter.d.ts +16 -16
  14. package/cache/NullCacheAdapter.js +24 -24
  15. package/connections/Connection.d.ts +84 -95
  16. package/connections/Connection.js +168 -165
  17. package/drivers/DatabaseDriver.d.ts +80 -186
  18. package/drivers/DatabaseDriver.js +443 -450
  19. package/drivers/IDatabaseDriver.d.ts +301 -440
  20. package/entity/BaseEntity.d.ts +83 -120
  21. package/entity/BaseEntity.js +43 -43
  22. package/entity/Collection.d.ts +179 -212
  23. package/entity/Collection.js +721 -727
  24. package/entity/EntityAssigner.d.ts +77 -88
  25. package/entity/EntityAssigner.js +230 -231
  26. package/entity/EntityFactory.d.ts +54 -66
  27. package/entity/EntityFactory.js +383 -425
  28. package/entity/EntityHelper.d.ts +22 -34
  29. package/entity/EntityHelper.js +267 -280
  30. package/entity/EntityIdentifier.d.ts +4 -4
  31. package/entity/EntityIdentifier.js +10 -10
  32. package/entity/EntityLoader.d.ts +72 -98
  33. package/entity/EntityLoader.js +723 -753
  34. package/entity/EntityRepository.d.ts +201 -316
  35. package/entity/EntityRepository.js +213 -213
  36. package/entity/PolymorphicRef.d.ts +5 -5
  37. package/entity/PolymorphicRef.js +10 -10
  38. package/entity/Reference.d.ts +82 -126
  39. package/entity/Reference.js +274 -278
  40. package/entity/WrappedEntity.d.ts +72 -115
  41. package/entity/WrappedEntity.js +166 -168
  42. package/entity/defineEntity.d.ts +636 -1315
  43. package/entity/defineEntity.js +518 -527
  44. package/entity/utils.d.ts +3 -13
  45. package/entity/utils.js +73 -71
  46. package/entity/validators.js +43 -43
  47. package/entity/wrap.js +8 -8
  48. package/enums.d.ts +253 -258
  49. package/enums.js +252 -251
  50. package/errors.d.ts +72 -114
  51. package/errors.js +253 -350
  52. package/events/EventManager.d.ts +14 -26
  53. package/events/EventManager.js +77 -79
  54. package/events/EventSubscriber.d.ts +29 -29
  55. package/events/TransactionEventBroadcaster.d.ts +8 -15
  56. package/events/TransactionEventBroadcaster.js +14 -14
  57. package/exceptions.d.ts +40 -23
  58. package/exceptions.js +52 -35
  59. package/hydration/Hydrator.d.ts +17 -42
  60. package/hydration/Hydrator.js +43 -43
  61. package/hydration/ObjectHydrator.d.ts +17 -50
  62. package/hydration/ObjectHydrator.js +416 -481
  63. package/index.d.ts +2 -116
  64. package/index.js +1 -10
  65. package/logging/DefaultLogger.d.ts +32 -34
  66. package/logging/DefaultLogger.js +86 -86
  67. package/logging/Logger.d.ts +41 -41
  68. package/logging/SimpleLogger.d.ts +11 -13
  69. package/logging/SimpleLogger.js +22 -22
  70. package/logging/colors.d.ts +6 -6
  71. package/logging/colors.js +10 -11
  72. package/logging/inspect.js +7 -7
  73. package/metadata/EntitySchema.d.ts +127 -211
  74. package/metadata/EntitySchema.js +398 -397
  75. package/metadata/MetadataDiscovery.d.ts +114 -114
  76. package/metadata/MetadataDiscovery.js +1870 -1951
  77. package/metadata/MetadataProvider.d.ts +21 -24
  78. package/metadata/MetadataProvider.js +84 -82
  79. package/metadata/MetadataStorage.d.ts +32 -38
  80. package/metadata/MetadataStorage.js +118 -118
  81. package/metadata/MetadataValidator.d.ts +39 -39
  82. package/metadata/MetadataValidator.js +338 -381
  83. package/metadata/discover-entities.d.ts +2 -5
  84. package/metadata/discover-entities.js +37 -35
  85. package/metadata/types.d.ts +531 -615
  86. package/naming-strategy/AbstractNamingStrategy.d.ts +39 -54
  87. package/naming-strategy/AbstractNamingStrategy.js +85 -90
  88. package/naming-strategy/EntityCaseNamingStrategy.d.ts +6 -6
  89. package/naming-strategy/EntityCaseNamingStrategy.js +22 -22
  90. package/naming-strategy/MongoNamingStrategy.d.ts +6 -6
  91. package/naming-strategy/MongoNamingStrategy.js +18 -18
  92. package/naming-strategy/NamingStrategy.d.ts +99 -109
  93. package/naming-strategy/UnderscoreNamingStrategy.d.ts +7 -7
  94. package/naming-strategy/UnderscoreNamingStrategy.js +21 -21
  95. package/not-supported.js +4 -7
  96. package/package.json +1 -1
  97. package/platforms/ExceptionConverter.d.ts +1 -1
  98. package/platforms/ExceptionConverter.js +4 -4
  99. package/platforms/Platform.d.ts +301 -310
  100. package/platforms/Platform.js +640 -663
  101. package/serialization/EntitySerializer.d.ts +26 -49
  102. package/serialization/EntitySerializer.js +218 -224
  103. package/serialization/EntityTransformer.d.ts +6 -10
  104. package/serialization/EntityTransformer.js +217 -219
  105. package/serialization/SerializationContext.d.ts +23 -27
  106. package/serialization/SerializationContext.js +105 -105
  107. package/types/ArrayType.d.ts +8 -8
  108. package/types/ArrayType.js +33 -33
  109. package/types/BigIntType.d.ts +10 -17
  110. package/types/BigIntType.js +37 -37
  111. package/types/BlobType.d.ts +3 -3
  112. package/types/BlobType.js +13 -13
  113. package/types/BooleanType.d.ts +4 -4
  114. package/types/BooleanType.js +12 -12
  115. package/types/CharacterType.d.ts +2 -2
  116. package/types/CharacterType.js +6 -6
  117. package/types/DateTimeType.d.ts +5 -5
  118. package/types/DateTimeType.js +15 -15
  119. package/types/DateType.d.ts +5 -5
  120. package/types/DateType.js +15 -15
  121. package/types/DecimalType.d.ts +7 -7
  122. package/types/DecimalType.js +26 -26
  123. package/types/DoubleType.d.ts +3 -3
  124. package/types/DoubleType.js +12 -12
  125. package/types/EnumArrayType.d.ts +5 -5
  126. package/types/EnumArrayType.js +24 -24
  127. package/types/EnumType.d.ts +3 -3
  128. package/types/EnumType.js +11 -11
  129. package/types/FloatType.d.ts +3 -3
  130. package/types/FloatType.js +9 -9
  131. package/types/IntegerType.d.ts +3 -3
  132. package/types/IntegerType.js +9 -9
  133. package/types/IntervalType.d.ts +4 -4
  134. package/types/IntervalType.js +12 -12
  135. package/types/JsonType.d.ts +8 -8
  136. package/types/JsonType.js +32 -32
  137. package/types/MediumIntType.d.ts +1 -1
  138. package/types/MediumIntType.js +3 -3
  139. package/types/SmallIntType.d.ts +3 -3
  140. package/types/SmallIntType.js +9 -9
  141. package/types/StringType.d.ts +4 -4
  142. package/types/StringType.js +12 -12
  143. package/types/TextType.d.ts +3 -3
  144. package/types/TextType.js +9 -9
  145. package/types/TimeType.d.ts +5 -5
  146. package/types/TimeType.js +17 -17
  147. package/types/TinyIntType.d.ts +3 -3
  148. package/types/TinyIntType.js +10 -10
  149. package/types/Type.d.ts +79 -83
  150. package/types/Type.js +82 -82
  151. package/types/Uint8ArrayType.d.ts +4 -4
  152. package/types/Uint8ArrayType.js +21 -21
  153. package/types/UnknownType.d.ts +4 -4
  154. package/types/UnknownType.js +12 -12
  155. package/types/UuidType.d.ts +5 -5
  156. package/types/UuidType.js +19 -19
  157. package/types/index.d.ts +49 -75
  158. package/types/index.js +26 -52
  159. package/typings.d.ts +737 -1250
  160. package/typings.js +231 -244
  161. package/unit-of-work/ChangeSet.d.ts +26 -26
  162. package/unit-of-work/ChangeSet.js +56 -56
  163. package/unit-of-work/ChangeSetComputer.d.ts +12 -12
  164. package/unit-of-work/ChangeSetComputer.js +170 -178
  165. package/unit-of-work/ChangeSetPersister.d.ts +44 -63
  166. package/unit-of-work/ChangeSetPersister.js +421 -442
  167. package/unit-of-work/CommitOrderCalculator.d.ts +40 -40
  168. package/unit-of-work/CommitOrderCalculator.js +88 -89
  169. package/unit-of-work/IdentityMap.d.ts +31 -31
  170. package/unit-of-work/IdentityMap.js +105 -105
  171. package/unit-of-work/UnitOfWork.d.ts +141 -181
  172. package/unit-of-work/UnitOfWork.js +1183 -1200
  173. package/utils/AbstractMigrator.d.ts +91 -111
  174. package/utils/AbstractMigrator.js +275 -275
  175. package/utils/AbstractSchemaGenerator.d.ts +34 -43
  176. package/utils/AbstractSchemaGenerator.js +122 -121
  177. package/utils/AsyncContext.d.ts +3 -3
  178. package/utils/AsyncContext.js +35 -34
  179. package/utils/Configuration.d.ts +808 -852
  180. package/utils/Configuration.js +344 -359
  181. package/utils/Cursor.d.ts +22 -40
  182. package/utils/Cursor.js +127 -135
  183. package/utils/DataloaderUtils.d.ts +43 -58
  184. package/utils/DataloaderUtils.js +198 -203
  185. package/utils/EntityComparator.d.ts +81 -98
  186. package/utils/EntityComparator.js +732 -828
  187. package/utils/NullHighlighter.d.ts +1 -1
  188. package/utils/NullHighlighter.js +3 -3
  189. package/utils/QueryHelper.d.ts +51 -79
  190. package/utils/QueryHelper.js +361 -372
  191. package/utils/RawQueryFragment.d.ts +34 -50
  192. package/utils/RawQueryFragment.js +105 -107
  193. package/utils/RequestContext.d.ts +32 -32
  194. package/utils/RequestContext.js +53 -52
  195. package/utils/TransactionContext.d.ts +16 -16
  196. package/utils/TransactionContext.js +27 -27
  197. package/utils/TransactionManager.d.ts +58 -58
  198. package/utils/TransactionManager.js +197 -199
  199. package/utils/Utils.d.ts +145 -204
  200. package/utils/Utils.js +812 -812
  201. package/utils/clone.js +113 -104
  202. package/utils/env-vars.js +88 -90
  203. package/utils/fs-utils.d.ts +15 -15
  204. package/utils/fs-utils.js +181 -180
  205. package/utils/upsert-utils.d.ts +5 -20
  206. package/utils/upsert-utils.js +116 -114
@@ -5,46 +5,21 @@ import type { MetadataStorage } from '../metadata/MetadataStorage.js';
5
5
  import type { Configuration } from '../utils/Configuration.js';
6
6
  /** Abstract base class for hydrating entity instances from raw database data. */
7
7
  export declare abstract class Hydrator implements IHydrator {
8
- protected readonly metadata: MetadataStorage;
9
- protected readonly platform: Platform;
10
- protected readonly config: Configuration;
11
- protected running: boolean;
12
- constructor(metadata: MetadataStorage, platform: Platform, config: Configuration);
13
- /**
14
- * @inheritDoc
15
- */
16
- hydrate<T extends object>(
17
- entity: T,
18
- meta: EntityMetadata<T>,
19
- data: EntityData<T>,
20
- factory: EntityFactory,
21
- type: 'full' | 'reference',
22
- newEntity?: boolean,
23
- convertCustomTypes?: boolean,
24
- schema?: string,
25
- parentSchema?: string,
26
- ): void;
27
- /**
28
- * @inheritDoc
29
- */
30
- hydrateReference<T extends object>(
31
- entity: T,
32
- meta: EntityMetadata<T>,
33
- data: EntityData<T>,
34
- factory: EntityFactory,
35
- convertCustomTypes?: boolean,
36
- schema?: string,
37
- parentSchema?: string,
38
- ): void;
39
- /** Returns whether the hydrator is currently in the middle of hydrating an entity. */
40
- isRunning(): boolean;
41
- protected getProperties<T extends object>(meta: EntityMetadata<T>, type: 'full' | 'reference'): EntityProperty<T>[];
42
- protected hydrateProperty<T extends object>(
43
- entity: T,
44
- prop: EntityProperty<T>,
45
- data: EntityData<T>,
46
- factory: EntityFactory,
47
- newEntity?: boolean,
48
- convertCustomTypes?: boolean,
49
- ): void;
8
+ protected readonly metadata: MetadataStorage;
9
+ protected readonly platform: Platform;
10
+ protected readonly config: Configuration;
11
+ protected running: boolean;
12
+ constructor(metadata: MetadataStorage, platform: Platform, config: Configuration);
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ hydrate<T extends object>(entity: T, meta: EntityMetadata<T>, data: EntityData<T>, factory: EntityFactory, type: 'full' | 'reference', newEntity?: boolean, convertCustomTypes?: boolean, schema?: string, parentSchema?: string): void;
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ hydrateReference<T extends object>(entity: T, meta: EntityMetadata<T>, data: EntityData<T>, factory: EntityFactory, convertCustomTypes?: boolean, schema?: string, parentSchema?: string): void;
21
+ /** Returns whether the hydrator is currently in the middle of hydrating an entity. */
22
+ isRunning(): boolean;
23
+ protected getProperties<T extends object>(meta: EntityMetadata<T>, type: 'full' | 'reference'): EntityProperty<T>[];
24
+ protected hydrateProperty<T extends object>(entity: T, prop: EntityProperty<T>, data: EntityData<T>, factory: EntityFactory, newEntity?: boolean, convertCustomTypes?: boolean): void;
50
25
  }
@@ -1,49 +1,49 @@
1
1
  /** Abstract base class for hydrating entity instances from raw database data. */
2
2
  /* v8 ignore next */
3
3
  export class Hydrator {
4
- metadata;
5
- platform;
6
- config;
7
- running = false;
8
- constructor(metadata, platform, config) {
9
- this.metadata = metadata;
10
- this.platform = platform;
11
- this.config = config;
12
- }
13
- /**
14
- * @inheritDoc
15
- */
16
- hydrate(entity, meta, data, factory, type, newEntity = false, convertCustomTypes = false, schema, parentSchema) {
17
- // the running state is used to consider propagation as hydration, saving the values directly to the entity data,
18
- // but we don't want that for new entities, their propagation should result in entity updates when flushing
19
- this.running = !newEntity;
20
- const props = this.getProperties(meta, type);
21
- for (const prop of props) {
22
- this.hydrateProperty(entity, prop, data, factory, newEntity, convertCustomTypes);
4
+ metadata;
5
+ platform;
6
+ config;
7
+ running = false;
8
+ constructor(metadata, platform, config) {
9
+ this.metadata = metadata;
10
+ this.platform = platform;
11
+ this.config = config;
23
12
  }
24
- this.running = false;
25
- }
26
- /**
27
- * @inheritDoc
28
- */
29
- hydrateReference(entity, meta, data, factory, convertCustomTypes, schema, parentSchema) {
30
- this.running = true;
31
- meta.primaryKeys.forEach(pk => {
32
- this.hydrateProperty(entity, meta.properties[pk], data, factory, false, convertCustomTypes);
33
- });
34
- this.running = false;
35
- }
36
- /** Returns whether the hydrator is currently in the middle of hydrating an entity. */
37
- isRunning() {
38
- return this.running;
39
- }
40
- getProperties(meta, type) {
41
- if (type === 'reference') {
42
- return meta.primaryKeys.map(pk => meta.properties[pk]);
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ hydrate(entity, meta, data, factory, type, newEntity = false, convertCustomTypes = false, schema, parentSchema) {
17
+ // the running state is used to consider propagation as hydration, saving the values directly to the entity data,
18
+ // but we don't want that for new entities, their propagation should result in entity updates when flushing
19
+ this.running = !newEntity;
20
+ const props = this.getProperties(meta, type);
21
+ for (const prop of props) {
22
+ this.hydrateProperty(entity, prop, data, factory, newEntity, convertCustomTypes);
23
+ }
24
+ this.running = false;
25
+ }
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ hydrateReference(entity, meta, data, factory, convertCustomTypes, schema, parentSchema) {
30
+ this.running = true;
31
+ meta.primaryKeys.forEach(pk => {
32
+ this.hydrateProperty(entity, meta.properties[pk], data, factory, false, convertCustomTypes);
33
+ });
34
+ this.running = false;
35
+ }
36
+ /** Returns whether the hydrator is currently in the middle of hydrating an entity. */
37
+ isRunning() {
38
+ return this.running;
39
+ }
40
+ getProperties(meta, type) {
41
+ if (type === 'reference') {
42
+ return meta.primaryKeys.map(pk => meta.properties[pk]);
43
+ }
44
+ return meta.hydrateProps;
45
+ }
46
+ hydrateProperty(entity, prop, data, factory, newEntity, convertCustomTypes) {
47
+ entity[prop.name] = data[prop.name];
43
48
  }
44
- return meta.hydrateProps;
45
- }
46
- hydrateProperty(entity, prop, data, factory, newEntity, convertCustomTypes) {
47
- entity[prop.name] = data[prop.name];
48
- }
49
49
  }
@@ -1,57 +1,24 @@
1
1
  import type { EntityData, EntityMetadata } from '../typings.js';
2
2
  import { Hydrator } from './Hydrator.js';
3
3
  import type { EntityFactory } from '../entity/EntityFactory.js';
4
- type EntityHydrator<T extends object> = (
5
- entity: T,
6
- data: EntityData<T>,
7
- factory: EntityFactory,
8
- newEntity: boolean,
9
- convertCustomTypes: boolean,
10
- schema?: string,
11
- parentSchema?: string,
12
- normalizeAccessors?: boolean,
13
- ) => void;
4
+ type EntityHydrator<T extends object> = (entity: T, data: EntityData<T>, factory: EntityFactory, newEntity: boolean, convertCustomTypes: boolean, schema?: string, parentSchema?: string, normalizeAccessors?: boolean) => void;
14
5
  /** @internal JIT-compiled hydrator that converts raw database rows into entity instances with optimized generated code. */
15
6
  export declare class ObjectHydrator extends Hydrator {
16
- #private;
17
- /**
18
- * @inheritDoc
19
- */
20
- hydrate<T extends object>(
21
- entity: T,
22
- meta: EntityMetadata<T>,
23
- data: EntityData<T>,
24
- factory: EntityFactory,
25
- type: 'full' | 'reference',
26
- newEntity?: boolean,
27
- convertCustomTypes?: boolean,
28
- schema?: string,
29
- parentSchema?: string,
30
- normalizeAccessors?: boolean,
31
- ): void;
32
- /**
33
- * @inheritDoc
34
- */
35
- hydrateReference<T extends object>(
36
- entity: T,
37
- meta: EntityMetadata<T>,
38
- data: EntityData<T>,
39
- factory: EntityFactory,
40
- convertCustomTypes?: boolean,
41
- schema?: string,
42
- parentSchema?: string,
43
- normalizeAccessors?: boolean,
44
- ): void;
45
- /**
46
- * @internal Highly performance-sensitive method.
47
- */
48
- getEntityHydrator<T extends object>(
49
- meta: EntityMetadata<T>,
50
- type: 'full' | 'reference',
51
- normalizeAccessors?: boolean,
52
- ): EntityHydrator<T>;
53
- private createCollectionItemMapper;
54
- private wrap;
55
- private safeKey;
7
+ #private;
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ hydrate<T extends object>(entity: T, meta: EntityMetadata<T>, data: EntityData<T>, factory: EntityFactory, type: 'full' | 'reference', newEntity?: boolean, convertCustomTypes?: boolean, schema?: string, parentSchema?: string, normalizeAccessors?: boolean): void;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ hydrateReference<T extends object>(entity: T, meta: EntityMetadata<T>, data: EntityData<T>, factory: EntityFactory, convertCustomTypes?: boolean, schema?: string, parentSchema?: string, normalizeAccessors?: boolean): void;
16
+ /**
17
+ * @internal Highly performance-sensitive method.
18
+ */
19
+ getEntityHydrator<T extends object>(meta: EntityMetadata<T>, type: 'full' | 'reference', normalizeAccessors?: boolean): EntityHydrator<T>;
20
+ private createCollectionItemMapper;
21
+ private wrap;
22
+ private safeKey;
56
23
  }
57
24
  export {};