@mikro-orm/core 7.0.0-dev.10 → 7.0.0-dev.100

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 (190) hide show
  1. package/EntityManager.d.ts +77 -48
  2. package/EntityManager.js +285 -225
  3. package/MikroORM.d.ts +40 -31
  4. package/MikroORM.js +98 -137
  5. package/README.md +3 -2
  6. package/cache/FileCacheAdapter.d.ts +1 -1
  7. package/cache/FileCacheAdapter.js +6 -5
  8. package/cache/GeneratedCacheAdapter.d.ts +0 -1
  9. package/cache/GeneratedCacheAdapter.js +0 -2
  10. package/cache/index.d.ts +0 -1
  11. package/cache/index.js +0 -1
  12. package/connections/Connection.d.ts +15 -7
  13. package/connections/Connection.js +22 -14
  14. package/drivers/DatabaseDriver.d.ts +14 -5
  15. package/drivers/DatabaseDriver.js +28 -11
  16. package/drivers/IDatabaseDriver.d.ts +25 -4
  17. package/entity/BaseEntity.d.ts +0 -1
  18. package/entity/BaseEntity.js +0 -3
  19. package/entity/Collection.d.ts +95 -30
  20. package/entity/Collection.js +432 -93
  21. package/entity/EntityAssigner.d.ts +1 -1
  22. package/entity/EntityAssigner.js +17 -9
  23. package/entity/EntityFactory.d.ts +7 -0
  24. package/entity/EntityFactory.js +63 -41
  25. package/entity/EntityHelper.js +26 -12
  26. package/entity/EntityLoader.d.ts +5 -4
  27. package/entity/EntityLoader.js +63 -38
  28. package/entity/EntityRepository.d.ts +1 -1
  29. package/entity/Reference.d.ts +6 -5
  30. package/entity/Reference.js +34 -9
  31. package/entity/WrappedEntity.d.ts +2 -7
  32. package/entity/WrappedEntity.js +2 -7
  33. package/entity/defineEntity.d.ts +568 -0
  34. package/entity/defineEntity.js +529 -0
  35. package/entity/index.d.ts +3 -2
  36. package/entity/index.js +3 -2
  37. package/entity/utils.d.ts +7 -0
  38. package/entity/utils.js +16 -4
  39. package/entity/validators.d.ts +11 -0
  40. package/entity/validators.js +65 -0
  41. package/enums.d.ts +21 -6
  42. package/enums.js +14 -1
  43. package/errors.d.ts +10 -2
  44. package/errors.js +29 -10
  45. package/events/EventManager.d.ts +2 -1
  46. package/events/EventManager.js +19 -11
  47. package/hydration/Hydrator.js +1 -2
  48. package/hydration/ObjectHydrator.d.ts +4 -4
  49. package/hydration/ObjectHydrator.js +35 -25
  50. package/index.d.ts +2 -2
  51. package/index.js +1 -2
  52. package/logging/DefaultLogger.d.ts +1 -1
  53. package/logging/DefaultLogger.js +1 -0
  54. package/logging/SimpleLogger.d.ts +1 -1
  55. package/logging/index.d.ts +1 -0
  56. package/logging/index.js +1 -0
  57. package/logging/inspect.d.ts +2 -0
  58. package/logging/inspect.js +16 -0
  59. package/metadata/EntitySchema.d.ts +9 -13
  60. package/metadata/EntitySchema.js +44 -26
  61. package/metadata/MetadataDiscovery.d.ts +6 -9
  62. package/metadata/MetadataDiscovery.js +165 -205
  63. package/metadata/MetadataProvider.d.ts +11 -2
  64. package/metadata/MetadataProvider.js +44 -2
  65. package/metadata/MetadataStorage.d.ts +1 -6
  66. package/metadata/MetadataStorage.js +6 -18
  67. package/metadata/MetadataValidator.d.ts +0 -7
  68. package/metadata/MetadataValidator.js +0 -10
  69. package/metadata/discover-entities.d.ts +5 -0
  70. package/metadata/discover-entities.js +40 -0
  71. package/metadata/index.d.ts +1 -1
  72. package/metadata/index.js +1 -1
  73. package/metadata/types.d.ts +480 -0
  74. package/metadata/types.js +1 -0
  75. package/naming-strategy/AbstractNamingStrategy.d.ts +5 -1
  76. package/naming-strategy/AbstractNamingStrategy.js +8 -2
  77. package/naming-strategy/NamingStrategy.d.ts +11 -1
  78. package/not-supported.d.ts +2 -0
  79. package/not-supported.js +4 -0
  80. package/package.json +18 -10
  81. package/platforms/ExceptionConverter.js +1 -1
  82. package/platforms/Platform.d.ts +6 -13
  83. package/platforms/Platform.js +15 -41
  84. package/serialization/EntitySerializer.d.ts +2 -0
  85. package/serialization/EntitySerializer.js +32 -14
  86. package/serialization/EntityTransformer.js +22 -12
  87. package/serialization/SerializationContext.js +16 -13
  88. package/types/ArrayType.d.ts +1 -1
  89. package/types/ArrayType.js +2 -3
  90. package/types/BigIntType.d.ts +8 -6
  91. package/types/BigIntType.js +1 -1
  92. package/types/BlobType.d.ts +0 -1
  93. package/types/BlobType.js +0 -3
  94. package/types/BooleanType.d.ts +2 -1
  95. package/types/BooleanType.js +3 -0
  96. package/types/DecimalType.d.ts +6 -4
  97. package/types/DecimalType.js +3 -3
  98. package/types/DoubleType.js +2 -2
  99. package/types/EnumArrayType.js +1 -2
  100. package/types/JsonType.d.ts +1 -1
  101. package/types/JsonType.js +7 -2
  102. package/types/TinyIntType.js +1 -1
  103. package/types/Type.d.ts +2 -4
  104. package/types/Type.js +3 -3
  105. package/types/Uint8ArrayType.d.ts +0 -1
  106. package/types/Uint8ArrayType.js +1 -4
  107. package/types/index.d.ts +1 -1
  108. package/typings.d.ts +109 -73
  109. package/typings.js +38 -35
  110. package/unit-of-work/ChangeSet.d.ts +0 -3
  111. package/unit-of-work/ChangeSet.js +2 -2
  112. package/unit-of-work/ChangeSetComputer.d.ts +1 -3
  113. package/unit-of-work/ChangeSetComputer.js +11 -9
  114. package/unit-of-work/ChangeSetPersister.d.ts +5 -4
  115. package/unit-of-work/ChangeSetPersister.js +51 -19
  116. package/unit-of-work/UnitOfWork.d.ts +8 -1
  117. package/unit-of-work/UnitOfWork.js +91 -49
  118. package/utils/AbstractSchemaGenerator.d.ts +5 -5
  119. package/utils/AbstractSchemaGenerator.js +11 -9
  120. package/utils/Configuration.d.ts +757 -206
  121. package/utils/Configuration.js +143 -188
  122. package/utils/ConfigurationLoader.d.ts +1 -54
  123. package/utils/ConfigurationLoader.js +1 -352
  124. package/utils/Cursor.d.ts +0 -3
  125. package/utils/Cursor.js +6 -3
  126. package/utils/DataloaderUtils.d.ts +15 -5
  127. package/utils/DataloaderUtils.js +54 -8
  128. package/utils/EntityComparator.d.ts +8 -4
  129. package/utils/EntityComparator.js +52 -17
  130. package/utils/QueryHelper.d.ts +9 -1
  131. package/utils/QueryHelper.js +70 -9
  132. package/utils/RawQueryFragment.d.ts +36 -13
  133. package/utils/RawQueryFragment.js +36 -16
  134. package/utils/TransactionManager.d.ts +65 -0
  135. package/utils/TransactionManager.js +223 -0
  136. package/utils/Utils.d.ts +9 -97
  137. package/utils/Utils.js +83 -302
  138. package/utils/clone.js +2 -3
  139. package/utils/env-vars.d.ts +3 -0
  140. package/utils/env-vars.js +87 -0
  141. package/utils/fs-utils.d.ts +12 -0
  142. package/utils/fs-utils.js +97 -0
  143. package/utils/index.d.ts +2 -1
  144. package/utils/index.js +2 -1
  145. package/utils/upsert-utils.d.ts +7 -2
  146. package/utils/upsert-utils.js +55 -4
  147. package/decorators/Check.d.ts +0 -3
  148. package/decorators/Check.js +0 -13
  149. package/decorators/CreateRequestContext.d.ts +0 -3
  150. package/decorators/CreateRequestContext.js +0 -32
  151. package/decorators/Embeddable.d.ts +0 -8
  152. package/decorators/Embeddable.js +0 -11
  153. package/decorators/Embedded.d.ts +0 -18
  154. package/decorators/Embedded.js +0 -18
  155. package/decorators/Entity.d.ts +0 -18
  156. package/decorators/Entity.js +0 -12
  157. package/decorators/Enum.d.ts +0 -9
  158. package/decorators/Enum.js +0 -16
  159. package/decorators/Filter.d.ts +0 -2
  160. package/decorators/Filter.js +0 -8
  161. package/decorators/Formula.d.ts +0 -4
  162. package/decorators/Formula.js +0 -15
  163. package/decorators/Indexed.d.ts +0 -19
  164. package/decorators/Indexed.js +0 -20
  165. package/decorators/ManyToMany.d.ts +0 -40
  166. package/decorators/ManyToMany.js +0 -14
  167. package/decorators/ManyToOne.d.ts +0 -30
  168. package/decorators/ManyToOne.js +0 -14
  169. package/decorators/OneToMany.d.ts +0 -28
  170. package/decorators/OneToMany.js +0 -17
  171. package/decorators/OneToOne.d.ts +0 -24
  172. package/decorators/OneToOne.js +0 -7
  173. package/decorators/PrimaryKey.d.ts +0 -8
  174. package/decorators/PrimaryKey.js +0 -20
  175. package/decorators/Property.d.ts +0 -250
  176. package/decorators/Property.js +0 -32
  177. package/decorators/Transactional.d.ts +0 -13
  178. package/decorators/Transactional.js +0 -28
  179. package/decorators/hooks.d.ts +0 -16
  180. package/decorators/hooks.js +0 -47
  181. package/decorators/index.d.ts +0 -17
  182. package/decorators/index.js +0 -17
  183. package/entity/ArrayCollection.d.ts +0 -116
  184. package/entity/ArrayCollection.js +0 -402
  185. package/entity/EntityValidator.d.ts +0 -19
  186. package/entity/EntityValidator.js +0 -150
  187. package/metadata/ReflectMetadataProvider.d.ts +0 -8
  188. package/metadata/ReflectMetadataProvider.js +0 -44
  189. package/utils/resolveContextProvider.d.ts +0 -10
  190. package/utils/resolveContextProvider.js +0 -28
@@ -1,44 +0,0 @@
1
- import 'reflect-metadata';
2
- import { MetadataProvider } from './MetadataProvider.js';
3
- import { ReferenceKind } from '../enums.js';
4
- import { Utils } from '../utils/Utils.js';
5
- export class ReflectMetadataProvider extends MetadataProvider {
6
- loadEntityMetadata(meta, name) {
7
- this.initProperties(meta);
8
- }
9
- initProperties(meta) {
10
- // load types and column names
11
- for (const prop of meta.props) {
12
- if (typeof prop.entity === 'string') {
13
- prop.type = prop.entity;
14
- }
15
- else if (prop.entity) {
16
- const tmp = prop.entity();
17
- prop.type = Array.isArray(tmp) ? tmp.map(t => Utils.className(t)).sort().join(' | ') : Utils.className(tmp);
18
- }
19
- else {
20
- this.initPropertyType(meta, prop);
21
- }
22
- }
23
- }
24
- initPropertyType(meta, prop) {
25
- const type = Reflect.getMetadata('design:type', meta.prototype, prop.name);
26
- if (!prop.type && (!type || (type === Object && prop.kind !== ReferenceKind.SCALAR)) && !(prop.enum && (prop.items?.length ?? 0) > 0)) {
27
- throw new Error(`Please provide either 'type' or 'entity' attribute in ${meta.className}.${prop.name}. If you are using decorators, ensure you have 'emitDecoratorMetadata' enabled in your tsconfig.json.`);
28
- }
29
- // Force mapping to UnknownType which is a string when we see just `Object`, as that often means failed inference.
30
- // This is to prevent defaulting to JSON column type, which can often be hard to revert and cause hard to understand issues with PKs.
31
- // If there are explicitly provided `columnTypes`, we use those instead for the inference, this way
32
- // we can have things like `columnType: 'timestamp'` be respected as `type: 'Date'`.
33
- if (prop.kind === ReferenceKind.SCALAR && type === Object && !prop.columnTypes) {
34
- prop.type ??= 'any';
35
- return;
36
- }
37
- let typeName = type?.name;
38
- if (typeName && ['string', 'number', 'boolean', 'array', 'object'].includes(typeName.toLowerCase())) {
39
- typeName = typeName.toLowerCase();
40
- }
41
- prop.type ??= typeName;
42
- prop.runtimeType ??= typeName;
43
- }
44
- }
@@ -1,10 +0,0 @@
1
- import { EntityManager } from '../EntityManager.js';
2
- import { MikroORM } from '../MikroORM.js';
3
- import type { ContextProvider, MaybePromise } from '../typings.js';
4
- /**
5
- * Find `EntityManager` in provided context, or else in instance's `orm` or `em` properties.
6
- */
7
- export declare function resolveContextProvider<T>(caller: T & {
8
- orm?: MaybePromise<MikroORM>;
9
- em?: MaybePromise<EntityManager>;
10
- }, provider?: ContextProvider<T>): Promise<EntityManager | undefined>;
@@ -1,28 +0,0 @@
1
- import { EntityRepository } from '../entity/EntityRepository.js';
2
- import { EntityManager } from '../EntityManager.js';
3
- import { MikroORM } from '../MikroORM.js';
4
- function getEntityManager(caller, context) {
5
- if (context instanceof EntityManager) {
6
- return context;
7
- }
8
- if (context instanceof EntityRepository) {
9
- return context.getEntityManager();
10
- }
11
- if (context instanceof MikroORM) {
12
- return context.em;
13
- }
14
- if (caller.em instanceof EntityManager) {
15
- return caller.em;
16
- }
17
- if (caller.orm instanceof MikroORM) {
18
- return caller.orm.em;
19
- }
20
- return undefined;
21
- }
22
- /**
23
- * Find `EntityManager` in provided context, or else in instance's `orm` or `em` properties.
24
- */
25
- export async function resolveContextProvider(caller, provider) {
26
- const context = typeof provider === 'function' ? await provider(caller) : await provider;
27
- return getEntityManager({ orm: await caller.orm, em: await caller.em }, context);
28
- }