@mikro-orm/core 7.0.0-dev.30 → 7.0.0-dev.301

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 (210) hide show
  1. package/EntityManager.d.ts +69 -61
  2. package/EntityManager.js +365 -283
  3. package/MikroORM.d.ts +44 -35
  4. package/MikroORM.js +109 -142
  5. package/README.md +2 -0
  6. package/cache/FileCacheAdapter.d.ts +1 -2
  7. package/cache/FileCacheAdapter.js +19 -14
  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 +12 -5
  13. package/connections/Connection.js +37 -15
  14. package/drivers/DatabaseDriver.d.ts +25 -16
  15. package/drivers/DatabaseDriver.js +144 -43
  16. package/drivers/IDatabaseDriver.d.ts +118 -23
  17. package/entity/BaseEntity.d.ts +63 -4
  18. package/entity/BaseEntity.js +0 -3
  19. package/entity/Collection.d.ts +101 -29
  20. package/entity/Collection.js +473 -115
  21. package/entity/EntityAssigner.js +37 -25
  22. package/entity/EntityFactory.d.ts +7 -1
  23. package/entity/EntityFactory.js +116 -64
  24. package/entity/EntityHelper.d.ts +2 -2
  25. package/entity/EntityHelper.js +69 -27
  26. package/entity/EntityLoader.d.ts +11 -10
  27. package/entity/EntityLoader.js +262 -98
  28. package/entity/EntityRepository.d.ts +28 -8
  29. package/entity/EntityRepository.js +8 -2
  30. package/entity/PolymorphicRef.d.ts +12 -0
  31. package/entity/PolymorphicRef.js +18 -0
  32. package/entity/Reference.d.ts +2 -6
  33. package/entity/Reference.js +52 -19
  34. package/entity/WrappedEntity.d.ts +3 -8
  35. package/entity/WrappedEntity.js +6 -7
  36. package/entity/defineEntity.d.ts +525 -311
  37. package/entity/defineEntity.js +134 -290
  38. package/entity/index.d.ts +2 -2
  39. package/entity/index.js +2 -2
  40. package/entity/utils.d.ts +6 -1
  41. package/entity/utils.js +46 -11
  42. package/entity/validators.d.ts +11 -0
  43. package/entity/validators.js +66 -0
  44. package/enums.d.ts +8 -6
  45. package/enums.js +13 -17
  46. package/errors.d.ts +20 -10
  47. package/errors.js +73 -31
  48. package/events/EventManager.d.ts +2 -1
  49. package/events/EventManager.js +20 -12
  50. package/exceptions.js +7 -2
  51. package/hydration/Hydrator.js +1 -2
  52. package/hydration/ObjectHydrator.d.ts +4 -4
  53. package/hydration/ObjectHydrator.js +102 -43
  54. package/index.d.ts +2 -2
  55. package/index.js +1 -2
  56. package/logging/DefaultLogger.d.ts +1 -1
  57. package/logging/DefaultLogger.js +3 -4
  58. package/logging/SimpleLogger.d.ts +1 -1
  59. package/logging/colors.d.ts +1 -1
  60. package/logging/colors.js +5 -7
  61. package/logging/index.d.ts +1 -0
  62. package/logging/index.js +1 -0
  63. package/logging/inspect.d.ts +2 -0
  64. package/logging/inspect.js +11 -0
  65. package/metadata/EntitySchema.d.ts +47 -23
  66. package/metadata/EntitySchema.js +103 -34
  67. package/metadata/MetadataDiscovery.d.ts +64 -9
  68. package/metadata/MetadataDiscovery.js +864 -352
  69. package/metadata/MetadataProvider.d.ts +11 -2
  70. package/metadata/MetadataProvider.js +71 -2
  71. package/metadata/MetadataStorage.d.ts +13 -11
  72. package/metadata/MetadataStorage.js +72 -41
  73. package/metadata/MetadataValidator.d.ts +32 -9
  74. package/metadata/MetadataValidator.js +214 -44
  75. package/metadata/discover-entities.d.ts +5 -0
  76. package/metadata/discover-entities.js +40 -0
  77. package/metadata/index.d.ts +1 -1
  78. package/metadata/index.js +1 -1
  79. package/metadata/types.d.ts +577 -0
  80. package/metadata/types.js +1 -0
  81. package/naming-strategy/AbstractNamingStrategy.d.ts +16 -4
  82. package/naming-strategy/AbstractNamingStrategy.js +25 -4
  83. package/naming-strategy/EntityCaseNamingStrategy.d.ts +3 -3
  84. package/naming-strategy/EntityCaseNamingStrategy.js +6 -5
  85. package/naming-strategy/MongoNamingStrategy.d.ts +3 -3
  86. package/naming-strategy/MongoNamingStrategy.js +6 -6
  87. package/naming-strategy/NamingStrategy.d.ts +28 -4
  88. package/naming-strategy/UnderscoreNamingStrategy.d.ts +3 -3
  89. package/naming-strategy/UnderscoreNamingStrategy.js +6 -6
  90. package/not-supported.d.ts +2 -0
  91. package/not-supported.js +8 -0
  92. package/package.json +47 -36
  93. package/platforms/ExceptionConverter.js +1 -1
  94. package/platforms/Platform.d.ts +11 -15
  95. package/platforms/Platform.js +70 -67
  96. package/serialization/EntitySerializer.d.ts +6 -3
  97. package/serialization/EntitySerializer.js +53 -29
  98. package/serialization/EntityTransformer.js +33 -21
  99. package/serialization/SerializationContext.d.ts +6 -6
  100. package/serialization/SerializationContext.js +4 -4
  101. package/types/ArrayType.d.ts +1 -1
  102. package/types/ArrayType.js +2 -3
  103. package/types/BigIntType.js +1 -1
  104. package/types/BlobType.d.ts +0 -1
  105. package/types/BlobType.js +0 -3
  106. package/types/BooleanType.d.ts +1 -0
  107. package/types/BooleanType.js +3 -0
  108. package/types/DecimalType.js +2 -2
  109. package/types/DoubleType.js +1 -1
  110. package/types/EnumArrayType.js +1 -2
  111. package/types/JsonType.d.ts +1 -1
  112. package/types/JsonType.js +7 -2
  113. package/types/TinyIntType.js +1 -1
  114. package/types/Type.d.ts +2 -4
  115. package/types/Type.js +3 -3
  116. package/types/Uint8ArrayType.d.ts +0 -1
  117. package/types/Uint8ArrayType.js +1 -4
  118. package/types/index.d.ts +1 -1
  119. package/typings.d.ts +427 -170
  120. package/typings.js +100 -45
  121. package/unit-of-work/ChangeSet.d.ts +4 -6
  122. package/unit-of-work/ChangeSet.js +8 -9
  123. package/unit-of-work/ChangeSetComputer.d.ts +3 -8
  124. package/unit-of-work/ChangeSetComputer.js +49 -26
  125. package/unit-of-work/ChangeSetPersister.d.ts +13 -12
  126. package/unit-of-work/ChangeSetPersister.js +106 -43
  127. package/unit-of-work/CommitOrderCalculator.d.ts +12 -10
  128. package/unit-of-work/CommitOrderCalculator.js +17 -15
  129. package/unit-of-work/IdentityMap.d.ts +12 -0
  130. package/unit-of-work/IdentityMap.js +39 -1
  131. package/unit-of-work/UnitOfWork.d.ts +34 -4
  132. package/unit-of-work/UnitOfWork.js +293 -106
  133. package/utils/AbstractMigrator.d.ts +101 -0
  134. package/utils/AbstractMigrator.js +303 -0
  135. package/utils/AbstractSchemaGenerator.d.ts +5 -5
  136. package/utils/AbstractSchemaGenerator.js +30 -18
  137. package/utils/AsyncContext.d.ts +6 -0
  138. package/utils/AsyncContext.js +42 -0
  139. package/utils/Configuration.d.ts +795 -211
  140. package/utils/Configuration.js +160 -197
  141. package/utils/ConfigurationLoader.d.ts +1 -52
  142. package/utils/ConfigurationLoader.js +1 -330
  143. package/utils/Cursor.d.ts +0 -3
  144. package/utils/Cursor.js +28 -13
  145. package/utils/DataloaderUtils.d.ts +10 -5
  146. package/utils/DataloaderUtils.js +42 -22
  147. package/utils/EntityComparator.d.ts +16 -9
  148. package/utils/EntityComparator.js +197 -91
  149. package/utils/QueryHelper.d.ts +18 -6
  150. package/utils/QueryHelper.js +113 -48
  151. package/utils/RawQueryFragment.d.ts +28 -34
  152. package/utils/RawQueryFragment.js +37 -72
  153. package/utils/RequestContext.js +2 -2
  154. package/utils/TransactionContext.js +2 -2
  155. package/utils/TransactionManager.js +11 -7
  156. package/utils/Utils.d.ts +16 -127
  157. package/utils/Utils.js +104 -400
  158. package/utils/clone.js +8 -23
  159. package/utils/env-vars.d.ts +7 -0
  160. package/utils/env-vars.js +98 -0
  161. package/utils/fs-utils.d.ts +34 -0
  162. package/utils/fs-utils.js +193 -0
  163. package/utils/index.d.ts +1 -3
  164. package/utils/index.js +1 -3
  165. package/utils/upsert-utils.d.ts +9 -4
  166. package/utils/upsert-utils.js +51 -5
  167. package/decorators/Check.d.ts +0 -3
  168. package/decorators/Check.js +0 -13
  169. package/decorators/CreateRequestContext.d.ts +0 -3
  170. package/decorators/CreateRequestContext.js +0 -32
  171. package/decorators/Embeddable.d.ts +0 -8
  172. package/decorators/Embeddable.js +0 -11
  173. package/decorators/Embedded.d.ts +0 -12
  174. package/decorators/Embedded.js +0 -18
  175. package/decorators/Entity.d.ts +0 -33
  176. package/decorators/Entity.js +0 -12
  177. package/decorators/Enum.d.ts +0 -9
  178. package/decorators/Enum.js +0 -16
  179. package/decorators/Filter.d.ts +0 -2
  180. package/decorators/Filter.js +0 -8
  181. package/decorators/Formula.d.ts +0 -4
  182. package/decorators/Formula.js +0 -15
  183. package/decorators/Indexed.d.ts +0 -19
  184. package/decorators/Indexed.js +0 -20
  185. package/decorators/ManyToMany.d.ts +0 -42
  186. package/decorators/ManyToMany.js +0 -14
  187. package/decorators/ManyToOne.d.ts +0 -34
  188. package/decorators/ManyToOne.js +0 -14
  189. package/decorators/OneToMany.d.ts +0 -28
  190. package/decorators/OneToMany.js +0 -17
  191. package/decorators/OneToOne.d.ts +0 -28
  192. package/decorators/OneToOne.js +0 -7
  193. package/decorators/PrimaryKey.d.ts +0 -8
  194. package/decorators/PrimaryKey.js +0 -20
  195. package/decorators/Property.d.ts +0 -250
  196. package/decorators/Property.js +0 -32
  197. package/decorators/Transactional.d.ts +0 -14
  198. package/decorators/Transactional.js +0 -28
  199. package/decorators/hooks.d.ts +0 -16
  200. package/decorators/hooks.js +0 -47
  201. package/decorators/index.d.ts +0 -17
  202. package/decorators/index.js +0 -17
  203. package/entity/ArrayCollection.d.ts +0 -118
  204. package/entity/ArrayCollection.js +0 -407
  205. package/entity/EntityValidator.d.ts +0 -19
  206. package/entity/EntityValidator.js +0 -150
  207. package/metadata/ReflectMetadataProvider.d.ts +0 -8
  208. package/metadata/ReflectMetadataProvider.js +0 -44
  209. package/utils/resolveContextProvider.d.ts +0 -10
  210. package/utils/resolveContextProvider.js +0 -28
@@ -3,10 +3,10 @@ import { AbstractNamingStrategy } from './AbstractNamingStrategy.js';
3
3
  * This strategy keeps original entity/property names for table/column.
4
4
  */
5
5
  export declare class EntityCaseNamingStrategy extends AbstractNamingStrategy {
6
- classToTableName(entityName: string): string;
6
+ classToTableName(entityName: string, tableName?: string): string;
7
7
  joinColumnName(propertyName: string): string;
8
- joinKeyColumnName(entityName: string, referencedColumnName?: string, composite?: boolean): string;
9
- joinTableName(sourceEntity: string, targetEntity: string, propertyName: string): string;
8
+ joinKeyColumnName(entityName: string, referencedColumnName?: string, composite?: boolean, tableName?: string): string;
9
+ joinTableName(sourceEntity: string, targetEntity: string, propertyName: string, tableName?: string): string;
10
10
  propertyToColumnName(propertyName: string): string;
11
11
  referenceColumnName(): string;
12
12
  }
@@ -3,21 +3,22 @@ import { AbstractNamingStrategy } from './AbstractNamingStrategy.js';
3
3
  * This strategy keeps original entity/property names for table/column.
4
4
  */
5
5
  export class EntityCaseNamingStrategy extends AbstractNamingStrategy {
6
- classToTableName(entityName) {
7
- return entityName;
6
+ classToTableName(entityName, tableName) {
7
+ return tableName ?? entityName;
8
8
  }
9
9
  joinColumnName(propertyName) {
10
10
  return propertyName;
11
11
  }
12
- joinKeyColumnName(entityName, referencedColumnName, composite = false) {
12
+ joinKeyColumnName(entityName, referencedColumnName, composite, tableName) {
13
+ entityName = this.classToTableName(entityName, tableName);
13
14
  const name = entityName.substr(0, 1).toLowerCase() + entityName.substr(1);
14
15
  if (composite && referencedColumnName) {
15
16
  return name + '_' + referencedColumnName;
16
17
  }
17
18
  return name;
18
19
  }
19
- joinTableName(sourceEntity, targetEntity, propertyName) {
20
- return this.classToTableName(sourceEntity) + '_' + this.propertyToColumnName(propertyName);
20
+ joinTableName(sourceEntity, targetEntity, propertyName, tableName) {
21
+ return this.classToTableName(sourceEntity, tableName) + '_' + this.propertyToColumnName(propertyName);
21
22
  }
22
23
  propertyToColumnName(propertyName) {
23
24
  return propertyName;
@@ -1,9 +1,9 @@
1
1
  import { AbstractNamingStrategy } from './AbstractNamingStrategy.js';
2
2
  export declare class MongoNamingStrategy extends AbstractNamingStrategy {
3
- classToTableName(entityName: string): string;
3
+ classToTableName(entityName: string, tableName?: string): string;
4
4
  joinColumnName(propertyName: string): string;
5
- joinKeyColumnName(entityName: string, referencedColumnName?: string): string;
6
- joinTableName(sourceEntity: string, targetEntity: string, propertyName: string): string;
5
+ joinKeyColumnName(entityName: string, referencedColumnName?: string, composite?: boolean, tableName?: string): string;
6
+ joinTableName(sourceEntity: string, targetEntity: string, propertyName: string, tableName?: string): string;
7
7
  propertyToColumnName(propertyName: string): string;
8
8
  referenceColumnName(): string;
9
9
  }
@@ -1,16 +1,16 @@
1
1
  import { AbstractNamingStrategy } from './AbstractNamingStrategy.js';
2
2
  export class MongoNamingStrategy extends AbstractNamingStrategy {
3
- classToTableName(entityName) {
4
- return entityName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
3
+ classToTableName(entityName, tableName) {
4
+ return tableName ?? entityName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
5
5
  }
6
6
  joinColumnName(propertyName) {
7
7
  return propertyName;
8
8
  }
9
- joinKeyColumnName(entityName, referencedColumnName) {
10
- return entityName;
9
+ joinKeyColumnName(entityName, referencedColumnName, composite, tableName) {
10
+ return tableName ?? entityName;
11
11
  }
12
- joinTableName(sourceEntity, targetEntity, propertyName) {
13
- return this.classToTableName(sourceEntity) + '_' + this.propertyToColumnName(propertyName);
12
+ joinTableName(sourceEntity, targetEntity, propertyName, tableName) {
13
+ return this.classToTableName(sourceEntity, tableName) + '_' + this.propertyToColumnName(propertyName);
14
14
  }
15
15
  propertyToColumnName(propertyName) {
16
16
  return propertyName;
@@ -7,7 +7,7 @@ export interface NamingStrategy {
7
7
  /**
8
8
  * Return a table name for an entity class
9
9
  */
10
- classToTableName(entityName: string): string;
10
+ classToTableName(entityName: string, tableName?: string): string;
11
11
  /**
12
12
  * Return a migration name. This name should allow ordering.
13
13
  */
@@ -25,7 +25,17 @@ export interface NamingStrategy {
25
25
  *
26
26
  * @return A new class name that will be used for the enum.
27
27
  */
28
- getEnumClassName(columnName: string, tableName: string, schemaName?: string): string;
28
+ getEnumClassName(columnName: string, tableName: string | undefined, schemaName?: string): string;
29
+ /**
30
+ * Get an enum type name. Used with `enumType: 'dictionary'` and `enumType: 'union-type'` entity generator option.
31
+ *
32
+ * @param columnName The column name which has the enum.
33
+ * @param tableName The table name of the column.
34
+ * @param schemaName The schema name of the column.
35
+ *
36
+ * @return A new type name that will be used for the enum.
37
+ */
38
+ getEnumTypeName(columnName: string, tableName: string | undefined, schemaName?: string): string;
29
39
  /**
30
40
  * Get an enum option name for a given enum value.
31
41
  *
@@ -57,11 +67,11 @@ export interface NamingStrategy {
57
67
  /**
58
68
  * Return a join table name
59
69
  */
60
- joinTableName(sourceEntity: string, targetEntity: string, propertyName: string): string;
70
+ joinTableName(sourceEntity: string, targetEntity: string, propertyName: string, tableName?: string): string;
61
71
  /**
62
72
  * Return the foreign key column name for the given parameters
63
73
  */
64
- joinKeyColumnName(entityName: string, referencedColumnName?: string, composite?: boolean): string;
74
+ joinKeyColumnName(entityName: string, referencedColumnName?: string, composite?: boolean, tableName?: string): string;
65
75
  /**
66
76
  * Returns key/constraint name for the given type. Some drivers might not support all the types (e.g. mysql and sqlite enforce the PK name).
67
77
  */
@@ -75,4 +85,18 @@ export interface NamingStrategy {
75
85
  * Returns the name of the inverse side property. Used in the `EntityGenerator` with `bidirectionalRelations` option.
76
86
  */
77
87
  inverseSideName(entityName: string, propertyName: string, kind: ReferenceKind): string;
88
+ /**
89
+ * Return a property name for a many-to-many relation (used in `EntityGenerator`).
90
+ *
91
+ * @param ownerEntityName - The owner entity class name
92
+ * @param targetEntityName - The target entity class name
93
+ * @param pivotTableName - The pivot table name
94
+ * @param ownerTableName - The owner table name
95
+ * @param schemaName - The schema name (if any)
96
+ */
97
+ manyToManyPropertyName(ownerEntityName: string, targetEntityName: string, pivotTableName: string, ownerTableName: string, schemaName?: string): string;
98
+ /**
99
+ * Returns the discriminator column name for polymorphic relations.
100
+ */
101
+ discriminatorColumnName(baseName: string): string;
78
102
  }
@@ -1,9 +1,9 @@
1
1
  import { AbstractNamingStrategy } from './AbstractNamingStrategy.js';
2
2
  export declare class UnderscoreNamingStrategy extends AbstractNamingStrategy {
3
- classToTableName(entityName: string): string;
3
+ classToTableName(entityName: string, tableName?: string): string;
4
4
  joinColumnName(propertyName: string): string;
5
- joinKeyColumnName(entityName: string, referencedColumnName?: string): string;
6
- joinTableName(sourceEntity: string, targetEntity: string, propertyName: string): string;
5
+ joinKeyColumnName(entityName: string, referencedColumnName?: string, composite?: boolean, tableName?: string): string;
6
+ joinTableName(sourceEntity: string, targetEntity: string, propertyName: string, tableName?: string): string;
7
7
  propertyToColumnName(propertyName: string, object?: boolean): string;
8
8
  referenceColumnName(): string;
9
9
  private underscore;
@@ -1,16 +1,16 @@
1
1
  import { AbstractNamingStrategy } from './AbstractNamingStrategy.js';
2
2
  export class UnderscoreNamingStrategy extends AbstractNamingStrategy {
3
- classToTableName(entityName) {
4
- return this.underscore(entityName);
3
+ classToTableName(entityName, tableName) {
4
+ return tableName ?? this.underscore(entityName);
5
5
  }
6
6
  joinColumnName(propertyName) {
7
7
  return this.underscore(propertyName) + '_' + this.referenceColumnName();
8
8
  }
9
- joinKeyColumnName(entityName, referencedColumnName) {
10
- return this.classToTableName(entityName) + '_' + (referencedColumnName || this.referenceColumnName());
9
+ joinKeyColumnName(entityName, referencedColumnName, composite, tableName) {
10
+ return this.classToTableName(entityName, tableName) + '_' + (referencedColumnName || this.referenceColumnName());
11
11
  }
12
- joinTableName(sourceEntity, targetEntity, propertyName) {
13
- return this.classToTableName(sourceEntity) + '_' + this.classToTableName(propertyName);
12
+ joinTableName(sourceEntity, targetEntity, propertyName, tableName) {
13
+ return this.classToTableName(sourceEntity, tableName) + '_' + this.classToTableName(propertyName);
14
14
  }
15
15
  propertyToColumnName(propertyName, object) {
16
16
  return this.underscore(propertyName);
@@ -0,0 +1,2 @@
1
+ export declare function discoverEntities(): void;
2
+ export declare const fs: {};
@@ -0,0 +1,8 @@
1
+ export function discoverEntities() {
2
+ throw new Error('Folder-based discovery is not supported in this environment.');
3
+ }
4
+ export const fs = new Proxy({}, {
5
+ get: () => {
6
+ throw new Error('File system is not supported in this environment.');
7
+ },
8
+ });
package/package.json CHANGED
@@ -1,61 +1,72 @@
1
1
  {
2
2
  "name": "@mikro-orm/core",
3
- "type": "module",
4
- "version": "7.0.0-dev.30",
3
+ "version": "7.0.0-dev.301",
5
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.",
6
- "exports": {
7
- "./package.json": "./package.json",
8
- ".": "./index.js"
9
- },
10
- "repository": {
11
- "type": "git",
12
- "url": "git+ssh://git@github.com/mikro-orm/mikro-orm.git"
13
- },
14
- "funding": "https://github.com/sponsors/b4nan",
15
5
  "keywords": [
16
- "orm",
6
+ "data-mapper",
7
+ "ddd",
8
+ "entity",
9
+ "identity-map",
10
+ "javascript",
11
+ "js",
12
+ "mariadb",
13
+ "mikro-orm",
17
14
  "mongo",
18
15
  "mongodb",
19
16
  "mysql",
20
- "mariadb",
17
+ "orm",
21
18
  "postgresql",
22
19
  "sqlite",
23
20
  "sqlite3",
24
21
  "ts",
25
22
  "typescript",
26
- "js",
27
- "javascript",
28
- "entity",
29
- "ddd",
30
- "mikro-orm",
31
- "unit-of-work",
32
- "data-mapper",
33
- "identity-map"
23
+ "unit-of-work"
34
24
  ],
35
- "author": "Martin Adámek",
36
- "license": "MIT",
25
+ "homepage": "https://mikro-orm.io",
37
26
  "bugs": {
38
27
  "url": "https://github.com/mikro-orm/mikro-orm/issues"
39
28
  },
40
- "homepage": "https://mikro-orm.io",
41
- "engines": {
42
- "node": ">= 22.11.0"
29
+ "license": "MIT",
30
+ "author": "Martin Adámek",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+ssh://git@github.com/mikro-orm/mikro-orm.git"
34
+ },
35
+ "funding": "https://github.com/sponsors/b4nan",
36
+ "type": "module",
37
+ "exports": {
38
+ "./package.json": "./package.json",
39
+ ".": "./index.js",
40
+ "./file-discovery": {
41
+ "node": "./metadata/discover-entities.js",
42
+ "browser": "./not-supported.js"
43
+ },
44
+ "./fs-utils": {
45
+ "node": "./utils/fs-utils.js",
46
+ "browser": "./not-supported.js"
47
+ },
48
+ "./migrations": "./utils/AbstractMigrator.js",
49
+ "./schema": "./utils/AbstractSchemaGenerator.js",
50
+ "./dataloader": "./utils/DataloaderUtils.js"
51
+ },
52
+ "publishConfig": {
53
+ "access": "public"
43
54
  },
44
55
  "scripts": {
45
- "build": "yarn clean && yarn compile && yarn copy",
56
+ "build": "yarn compile && yarn copy",
46
57
  "clean": "yarn run -T rimraf ./dist",
47
58
  "compile": "yarn run -T tsc -p tsconfig.build.json",
48
59
  "copy": "node ../../scripts/copy.mjs"
49
60
  },
50
- "publishConfig": {
51
- "access": "public"
61
+ "peerDependencies": {
62
+ "dataloader": "2.2.3"
52
63
  },
53
- "dependencies": {
54
- "dataloader": "2.2.3",
55
- "dotenv": "17.2.3",
56
- "esprima": "4.0.1",
57
- "mikro-orm": "7.0.0-dev.30",
58
- "reflect-metadata": "0.2.2",
59
- "tinyglobby": "0.2.13"
64
+ "peerDependenciesMeta": {
65
+ "dataloader": {
66
+ "optional": true
67
+ }
68
+ },
69
+ "engines": {
70
+ "node": ">= 22.17.0"
60
71
  }
61
72
  }
@@ -1,6 +1,6 @@
1
1
  import { DriverException } from '../exceptions.js';
2
2
  export class ExceptionConverter {
3
- /* v8 ignore next 3 */
3
+ /* v8 ignore next */
4
4
  convertException(exception) {
5
5
  return new DriverException(exception);
6
6
  }
@@ -1,7 +1,6 @@
1
- import { inspect } from 'node:util';
2
1
  import { EntityRepository } from '../entity/EntityRepository.js';
3
2
  import { type NamingStrategy } from '../naming-strategy/NamingStrategy.js';
4
- import type { Constructor, EntityProperty, IPrimaryKey, ISchemaGenerator, PopulateOptions, Primary, EntityMetadata, SimpleColumnMeta } from '../typings.js';
3
+ import type { Constructor, EntityMetadata, EntityProperty, IPrimaryKey, ISchemaGenerator, PopulateOptions, Primary, SimpleColumnMeta } from '../typings.js';
5
4
  import { ExceptionConverter } from './ExceptionConverter.js';
6
5
  import type { EntityManager } from '../EntityManager.js';
7
6
  import type { Configuration } from '../utils/Configuration.js';
@@ -9,6 +8,7 @@ import type { IDatabaseDriver } from '../drivers/IDatabaseDriver.js';
9
8
  import { Type } from '../types/index.js';
10
9
  import type { MikroORM } from '../MikroORM.js';
11
10
  import type { TransformContext } from '../types/Type.js';
11
+ import { Raw } from '../utils/RawQueryFragment.js';
12
12
  export declare const JsonProperty: unique symbol;
13
13
  export declare abstract class Platform {
14
14
  protected readonly exceptionConverter: ExceptionConverter;
@@ -28,9 +28,9 @@ export declare abstract class Platform {
28
28
  supportsNativeEnums(): boolean;
29
29
  /** for postgres text enums (default) */
30
30
  usesEnumCheckConstraints(): boolean;
31
+ supportsMaterializedViews(): boolean;
31
32
  getSchemaHelper(): unknown;
32
33
  indexForeignKeys(): boolean;
33
- allowsMultiInsert(): boolean;
34
34
  /**
35
35
  * Whether or not the driver supports retuning list of created PKs back when multi-inserting
36
36
  */
@@ -48,11 +48,6 @@ export declare abstract class Platform {
48
48
  * Converts scalar primary key representation to native driver wrapper (e.g. string to mongodb's ObjectId)
49
49
  */
50
50
  denormalizePrimaryKey(data: IPrimaryKey): IPrimaryKey;
51
- /**
52
- * Used when serializing via toObject and toJSON methods, allows to use different PK field name (like `id` instead of `_id`)
53
- */
54
- getSerializedPrimaryKeyField(field: string): string;
55
- usesDifferentSerializedPrimaryKey(): boolean;
56
51
  /**
57
52
  * Returns the SQL specific for the platform to get the current timestamp
58
53
  */
@@ -71,7 +66,9 @@ export declare abstract class Platform {
71
66
  $flags?: string;
72
67
  };
73
68
  isAllowedTopLevelOperator(operator: string): boolean;
74
- quoteVersionValue(value: Date | number, prop: EntityProperty): Date | string | number;
69
+ convertVersionValue(value: Date | number, prop: EntityProperty): Date | string | number | {
70
+ $in: (string | number)[];
71
+ };
75
72
  getDefaultVersionLength(): number;
76
73
  allowsComparingTuples(): boolean;
77
74
  isBigIntProperty(prop: EntityProperty): boolean;
@@ -143,13 +140,14 @@ export declare abstract class Platform {
143
140
  getDefaultMappedType(type: string): Type<unknown>;
144
141
  supportsMultipleCascadePaths(): boolean;
145
142
  supportsMultipleStatements(): boolean;
143
+ supportsUnionWhere(): boolean;
146
144
  getArrayDeclarationSQL(): string;
147
145
  marshallArray(values: string[]): string;
148
146
  unmarshallArray(value: string): string[];
149
147
  getBlobDeclarationSQL(): string;
150
148
  getJsonDeclarationSQL(): string;
151
- getSearchJsonPropertySQL(path: string, type: string, aliased: boolean): string;
152
- getSearchJsonPropertyKey(path: string[], type: string, aliased: boolean, value?: unknown): string;
149
+ getSearchJsonPropertySQL(path: string, type: string, aliased: boolean): string | Raw;
150
+ getSearchJsonPropertyKey(path: string[], type: string, aliased: boolean, value?: unknown): string | Raw;
153
151
  getJsonIndexDefinition(index: {
154
152
  columnNames: string[];
155
153
  }): string[];
@@ -158,7 +156,7 @@ export declare abstract class Platform {
158
156
  getFullTextIndexExpression(indexName: string, schemaName: string | undefined, tableName: string, columns: SimpleColumnMeta[]): string;
159
157
  convertsJsonAutomatically(): boolean;
160
158
  convertJsonToDatabaseValue(value: unknown, context?: TransformContext): unknown;
161
- convertJsonToJSValue(value: unknown, prop: EntityProperty): unknown;
159
+ convertJsonToJSValue(value: unknown, context?: TransformContext): unknown;
162
160
  convertDateToJSValue(value: string | Date): string;
163
161
  convertIntervalToJSValue(value: string): unknown;
164
162
  convertIntervalToDatabaseValue(value: unknown): unknown;
@@ -195,7 +193,7 @@ export declare abstract class Platform {
195
193
  getDefaultPrimaryName(tableName: string, columns: string[]): string;
196
194
  supportsCustomPrimaryKeyNames(): boolean;
197
195
  isPopulated<T>(key: string, populate: readonly PopulateOptions<T>[] | boolean): boolean;
198
- shouldHaveColumn<T>(prop: EntityProperty<T>, populate: readonly PopulateOptions<T>[] | boolean, exclude?: string[], includeFormulas?: boolean): boolean;
196
+ shouldHaveColumn<T>(prop: EntityProperty<T>, populate: readonly PopulateOptions<T>[] | boolean, exclude?: string[], includeFormulas?: boolean, ignoreInlineEmbeddables?: boolean): boolean;
199
197
  /**
200
198
  * Currently not supported due to how knex does complex sqlite diffing (always based on current schema)
201
199
  */
@@ -227,6 +225,4 @@ export declare abstract class Platform {
227
225
  * @internal
228
226
  */
229
227
  clone(): this;
230
- /** @ignore */
231
- [inspect.custom](): string;
232
228
  }