typeorm 0.2.31 → 0.2.32

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 (1028) hide show
  1. package/README.md +45 -45
  2. package/browser/cache/QueryResultCache.js +1 -1
  3. package/browser/cache/QueryResultCacheOptions.js +1 -1
  4. package/browser/common/DeepPartial.js +1 -1
  5. package/browser/common/EntityFieldsNames.js +1 -1
  6. package/browser/common/EntityTarget.js +1 -1
  7. package/browser/common/ObjectLiteral.js +1 -1
  8. package/browser/common/ObjectType.js +1 -1
  9. package/browser/connection/BaseConnectionOptions.js +1 -1
  10. package/browser/connection/Connection.d.ts +2 -2
  11. package/browser/connection/Connection.js +4 -2
  12. package/browser/connection/Connection.js.map +1 -1
  13. package/browser/connection/ConnectionMetadataBuilder.js +5 -5
  14. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  15. package/browser/connection/ConnectionOptions.js +1 -1
  16. package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
  17. package/browser/connection/ConnectionOptionsReader.js +3 -3
  18. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
  19. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  20. package/browser/decorator/options/ColumnCommonOptions.js +1 -1
  21. package/browser/decorator/options/ColumnEmbeddedOptions.js +1 -1
  22. package/browser/decorator/options/ColumnEnumOptions.js +1 -1
  23. package/browser/decorator/options/ColumnHstoreOptions.js +1 -1
  24. package/browser/decorator/options/ColumnNumericOptions.js +1 -1
  25. package/browser/decorator/options/ColumnOptions.js +1 -1
  26. package/browser/decorator/options/ColumnWithLengthOptions.js +1 -1
  27. package/browser/decorator/options/ColumnWithWidthOptions.js +1 -1
  28. package/browser/decorator/options/EntityOptions.js +1 -1
  29. package/browser/decorator/options/IndexOptions.js +1 -1
  30. package/browser/decorator/options/JoinColumnOptions.js +1 -1
  31. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +1 -1
  32. package/browser/decorator/options/JoinTableOptions.js +1 -1
  33. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -1
  34. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -1
  35. package/browser/decorator/options/RelationOptions.js +1 -1
  36. package/browser/decorator/options/SpatialColumnOptions.js +1 -1
  37. package/browser/decorator/options/TransactionOptions.js +1 -1
  38. package/browser/decorator/options/ValueTransformer.js +1 -1
  39. package/browser/decorator/options/ViewColumnOptions.js +1 -1
  40. package/browser/decorator/options/ViewEntityOptions.js +1 -1
  41. package/browser/decorator/transaction/Transaction.js +4 -4
  42. package/browser/decorator/transaction/Transaction.js.map +1 -1
  43. package/browser/driver/Driver.d.ts +1 -1
  44. package/browser/driver/Driver.js +1 -1
  45. package/browser/driver/Driver.js.map +1 -1
  46. package/browser/driver/DriverFactory.js.map +1 -1
  47. package/browser/driver/DriverUtils.d.ts +10 -0
  48. package/browser/driver/DriverUtils.js +79 -0
  49. package/browser/driver/DriverUtils.js.map +1 -1
  50. package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js +1 -1
  51. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
  52. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js +1 -1
  53. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  54. package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +4 -3
  55. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +15 -5
  56. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  57. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
  58. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +15 -2
  59. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  60. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
  61. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +1 -1
  62. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  63. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -0
  64. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +24 -0
  65. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  66. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  67. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +1 -1
  68. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -1
  69. package/browser/driver/cockroachdb/CockroachConnectionOptions.js +1 -1
  70. package/browser/driver/cockroachdb/CockroachDriver.d.ts +1 -1
  71. package/browser/driver/cockroachdb/CockroachDriver.js +4 -7
  72. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  73. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  74. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  75. package/browser/driver/cordova/CordovaConnectionOptions.js +1 -1
  76. package/browser/driver/expo/ExpoConnectionOptions.js +1 -1
  77. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  78. package/browser/driver/mongodb/MongoConnectionOptions.js +1 -1
  79. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  80. package/browser/driver/mongodb/MongoDriver.d.ts +1 -1
  81. package/browser/driver/mongodb/MongoDriver.js +12 -5
  82. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  83. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  84. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -1
  85. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  86. package/browser/driver/mysql/MysqlConnectionOptions.js +1 -1
  87. package/browser/driver/mysql/MysqlDriver.d.ts +2 -2
  88. package/browser/driver/mysql/MysqlDriver.js +12 -11
  89. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  90. package/browser/driver/mysql/MysqlQueryRunner.js +4 -4
  91. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  92. package/browser/driver/nativescript/NativescriptConnectionOptions.js +1 -1
  93. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +1 -1
  94. package/browser/driver/oracle/OracleConnectionOptions.js +1 -1
  95. package/browser/driver/oracle/OracleDriver.d.ts +1 -1
  96. package/browser/driver/oracle/OracleDriver.js +25 -3
  97. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  98. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  99. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  100. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
  101. package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
  102. package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
  103. package/browser/driver/postgres/PostgresDriver.js +54 -23
  104. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  105. package/browser/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  106. package/browser/driver/postgres/PostgresQueryRunner.js +185 -155
  107. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  108. package/browser/driver/react-native/ReactNativeConnectionOptions.js +1 -1
  109. package/browser/driver/sap/SapConnectionCredentialsOptions.js +1 -1
  110. package/browser/driver/sap/SapConnectionOptions.js +1 -1
  111. package/browser/driver/sap/SapDriver.d.ts +1 -1
  112. package/browser/driver/sap/SapDriver.js.map +1 -1
  113. package/browser/driver/sap/SapQueryRunner.js +2 -2
  114. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  115. package/browser/driver/sqlite/SqliteConnectionOptions.js +1 -1
  116. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
  117. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -1
  118. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  119. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +0 -1
  120. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  121. package/browser/driver/sqljs/SqljsConnectionOptions.js +1 -1
  122. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  123. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -1
  124. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  125. package/browser/driver/sqlserver/SqlServerConnectionOptions.js +1 -1
  126. package/browser/driver/sqlserver/SqlServerDriver.d.ts +2 -2
  127. package/browser/driver/sqlserver/SqlServerDriver.js +33 -8
  128. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  129. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
  130. package/browser/driver/sqlserver/SqlServerQueryRunner.js +26 -19
  131. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  132. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  133. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
  134. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  135. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  136. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
  137. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  138. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  139. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
  140. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  141. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  142. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
  143. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  144. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  145. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
  146. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  147. package/browser/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  148. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
  149. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  150. package/browser/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  151. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
  152. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  153. package/browser/driver/types/ColumnTypes.js +1 -1
  154. package/browser/driver/types/DataTypeDefaults.js +1 -1
  155. package/browser/driver/types/DatabaseType.js +1 -1
  156. package/browser/driver/types/IsolationLevel.js +1 -1
  157. package/browser/driver/types/MappedColumnTypes.js +1 -1
  158. package/browser/driver/types/ReplicationMode.js +1 -1
  159. package/browser/entity-manager/EntityManager.d.ts +16 -2
  160. package/browser/entity-manager/EntityManager.js.map +1 -1
  161. package/browser/entity-manager/MongoEntityManager.d.ts +1 -4
  162. package/browser/entity-manager/MongoEntityManager.js +39 -45
  163. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  164. package/browser/entity-schema/EntitySchemaCheckOptions.js +1 -1
  165. package/browser/entity-schema/EntitySchemaColumnOptions.js +1 -1
  166. package/browser/entity-schema/EntitySchemaExclusionOptions.js +1 -1
  167. package/browser/entity-schema/EntitySchemaIndexOptions.js +1 -1
  168. package/browser/entity-schema/EntitySchemaRelationOptions.js +1 -1
  169. package/browser/entity-schema/EntitySchemaUniqueOptions.js +1 -1
  170. package/browser/find-options/FindConditions.js +1 -1
  171. package/browser/find-options/FindManyOptions.js +1 -1
  172. package/browser/find-options/FindOneOptions.d.ts +4 -1
  173. package/browser/find-options/FindOneOptions.js +1 -1
  174. package/browser/find-options/FindOneOptions.js.map +1 -1
  175. package/browser/find-options/FindOperator.d.ts +7 -7
  176. package/browser/find-options/FindOperator.js +7 -7
  177. package/browser/find-options/FindOperatorType.js +1 -1
  178. package/browser/find-options/FindOptionsUtils.js +10 -1
  179. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  180. package/browser/find-options/JoinOptions.d.ts +16 -4
  181. package/browser/find-options/JoinOptions.js +1 -1
  182. package/browser/find-options/JoinOptions.js.map +1 -1
  183. package/browser/find-options/OrderByCondition.js +1 -1
  184. package/browser/index.js +23 -0
  185. package/browser/index.js.map +1 -1
  186. package/browser/logger/AdvancedConsoleLogger.d.ts +2 -1
  187. package/browser/logger/FileLogger.d.ts +2 -2
  188. package/browser/logger/Logger.js +1 -1
  189. package/browser/logger/LoggerOptions.js +1 -1
  190. package/browser/logger/SimpleConsoleLogger.d.ts +2 -1
  191. package/browser/metadata/ColumnMetadata.d.ts +1 -1
  192. package/browser/metadata/ColumnMetadata.js +7 -12
  193. package/browser/metadata/ColumnMetadata.js.map +1 -1
  194. package/browser/metadata/EmbeddedMetadata.js +2 -2
  195. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  196. package/browser/metadata/EntityMetadata.js +2 -2
  197. package/browser/metadata/EntityMetadata.js.map +1 -1
  198. package/browser/metadata/RelationMetadata.js +5 -5
  199. package/browser/metadata/RelationMetadata.js.map +1 -1
  200. package/browser/metadata/types/ClosureTreeOptions.js +1 -1
  201. package/browser/metadata/types/DeferrableType.js +1 -1
  202. package/browser/metadata/types/OnDeleteType.js +1 -1
  203. package/browser/metadata/types/OnUpdateType.js +1 -1
  204. package/browser/metadata/types/PropertyTypeInFunction.js +1 -1
  205. package/browser/metadata/types/RelationTypeInFunction.js +1 -1
  206. package/browser/metadata/types/RelationTypes.js +1 -1
  207. package/browser/metadata/types/TableTypes.js +1 -1
  208. package/browser/metadata/types/TreeTypes.js +1 -1
  209. package/browser/metadata-args/CheckMetadataArgs.js +1 -1
  210. package/browser/metadata-args/ColumnMetadataArgs.js +1 -1
  211. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +1 -1
  212. package/browser/metadata-args/EmbeddedMetadataArgs.js +1 -1
  213. package/browser/metadata-args/EntityListenerMetadataArgs.js +1 -1
  214. package/browser/metadata-args/EntityRepositoryMetadataArgs.js +1 -1
  215. package/browser/metadata-args/EntitySubscriberMetadataArgs.js +1 -1
  216. package/browser/metadata-args/ExclusionMetadataArgs.js +1 -1
  217. package/browser/metadata-args/GeneratedMetadataArgs.js +1 -1
  218. package/browser/metadata-args/IndexMetadataArgs.js +1 -1
  219. package/browser/metadata-args/InheritanceMetadataArgs.js +1 -1
  220. package/browser/metadata-args/JoinColumnMetadataArgs.js +1 -1
  221. package/browser/metadata-args/JoinTableMetadataArgs.js +1 -1
  222. package/browser/metadata-args/NamingStrategyMetadataArgs.js +1 -1
  223. package/browser/metadata-args/RelationCountMetadataArgs.js +1 -1
  224. package/browser/metadata-args/RelationIdMetadataArgs.js +1 -1
  225. package/browser/metadata-args/RelationMetadataArgs.js +1 -1
  226. package/browser/metadata-args/TableMetadataArgs.js +1 -1
  227. package/browser/metadata-args/TransactionEntityMetadataArgs.js +1 -1
  228. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +1 -1
  229. package/browser/metadata-args/TreeMetadataArgs.js +1 -1
  230. package/browser/metadata-args/UniqueMetadataArgs.js +1 -1
  231. package/browser/metadata-args/types/ColumnMode.js +1 -1
  232. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +2 -0
  233. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  234. package/browser/metadata-builder/EntityMetadataBuilder.js +7 -7
  235. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  236. package/browser/metadata-builder/EntityMetadataValidator.js +2 -0
  237. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  238. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +6 -2
  239. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  240. package/browser/metadata-builder/RelationJoinColumnBuilder.js +3 -1
  241. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  242. package/browser/migration/MigrationExecutor.js +5 -5
  243. package/browser/migration/MigrationInterface.js +1 -1
  244. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  245. package/browser/naming-strategy/DefaultNamingStrategy.js +9 -8
  246. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  247. package/browser/naming-strategy/NamingStrategyInterface.d.ts +6 -1
  248. package/browser/naming-strategy/NamingStrategyInterface.js +1 -1
  249. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  250. package/browser/persistence/Subject.d.ts +4 -4
  251. package/browser/persistence/Subject.js +6 -6
  252. package/browser/persistence/Subject.js.map +1 -1
  253. package/browser/persistence/SubjectChangeMap.js +1 -1
  254. package/browser/persistence/SubjectChangedColumnsComputer.js +3 -1
  255. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  256. package/browser/persistence/SubjectDatabaseEntityLoader.js +2 -2
  257. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  258. package/browser/persistence/SubjectExecutor.js +21 -21
  259. package/browser/persistence/SubjectTopoligicalSorter.js +6 -6
  260. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  261. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  262. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -0
  263. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  264. package/browser/persistence/tree/ClosureSubjectExecutor.js +2 -2
  265. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  266. package/browser/query-builder/Alias.d.ts +4 -3
  267. package/browser/query-builder/Alias.js +3 -3
  268. package/browser/query-builder/DeleteQueryBuilder.js +5 -1
  269. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  270. package/browser/query-builder/InsertQueryBuilder.js +1 -1
  271. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  272. package/browser/query-builder/JoinAttribute.d.ts +10 -10
  273. package/browser/query-builder/JoinAttribute.js +10 -10
  274. package/browser/query-builder/JoinOptions.js +1 -1
  275. package/browser/query-builder/QueryBuilder.d.ts +1 -1
  276. package/browser/query-builder/QueryBuilder.js +25 -25
  277. package/browser/query-builder/QueryBuilder.js.map +1 -1
  278. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  279. package/browser/query-builder/QueryExpressionMap.d.ts +6 -2
  280. package/browser/query-builder/QueryExpressionMap.js +3 -2
  281. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  282. package/browser/query-builder/QueryPartialEntity.js +1 -1
  283. package/browser/query-builder/RelationLoader.js +3 -3
  284. package/browser/query-builder/RelationLoader.js.map +1 -1
  285. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  286. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  287. package/browser/query-builder/RelationRemover.js +11 -11
  288. package/browser/query-builder/RelationRemover.js.map +1 -1
  289. package/browser/query-builder/SelectQuery.js +1 -1
  290. package/browser/query-builder/SelectQueryBuilder.d.ts +2 -6
  291. package/browser/query-builder/SelectQueryBuilder.js +35 -15
  292. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  293. package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
  294. package/browser/query-builder/UpdateQueryBuilder.js +4 -0
  295. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  296. package/browser/query-builder/WhereExpression.js +1 -1
  297. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  298. package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
  299. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  300. package/browser/query-builder/relation-count/RelationCountLoadResult.js +1 -1
  301. package/browser/query-builder/relation-count/RelationCountLoader.js +2 -1
  302. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  303. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  304. package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
  305. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  306. package/browser/query-builder/relation-id/RelationIdLoadResult.js +1 -1
  307. package/browser/query-builder/relation-id/RelationIdLoader.js +62 -12
  308. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  309. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  310. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  311. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -4
  312. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  313. package/browser/query-runner/BaseQueryRunner.js +3 -3
  314. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  315. package/browser/query-runner/QueryRunner.js +1 -1
  316. package/browser/repository/AbstractRepository.d.ts +2 -2
  317. package/browser/repository/AbstractRepository.js +2 -2
  318. package/browser/repository/BaseEntity.d.ts +1 -1
  319. package/browser/repository/BaseEntity.js +3 -3
  320. package/browser/repository/BaseEntity.js.map +1 -1
  321. package/browser/repository/EntityId.js +1 -1
  322. package/browser/repository/RemoveOptions.js +1 -1
  323. package/browser/repository/Repository.d.ts +1 -1
  324. package/browser/repository/Repository.js +3 -3
  325. package/browser/repository/Repository.js.map +1 -1
  326. package/browser/repository/SaveOptions.js +1 -1
  327. package/browser/repository/TreeRepository.js +2 -2
  328. package/browser/repository/TreeRepository.js.map +1 -1
  329. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  330. package/browser/schema-builder/RdbmsSchemaBuilder.js +78 -78
  331. package/browser/schema-builder/SchemaBuilder.js +1 -1
  332. package/browser/schema-builder/options/TableCheckOptions.js +1 -1
  333. package/browser/schema-builder/options/TableColumnOptions.js +1 -1
  334. package/browser/schema-builder/options/TableExclusionOptions.js +1 -1
  335. package/browser/schema-builder/options/TableForeignKeyOptions.js +1 -1
  336. package/browser/schema-builder/options/TableIndexOptions.js +1 -1
  337. package/browser/schema-builder/options/TableOptions.js +1 -1
  338. package/browser/schema-builder/options/TableUniqueOptions.js +1 -1
  339. package/browser/schema-builder/options/ViewOptions.js +1 -1
  340. package/browser/schema-builder/table/Table.d.ts +1 -1
  341. package/browser/schema-builder/table/Table.js +1 -1
  342. package/browser/schema-builder/table/TableCheck.js +2 -2
  343. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  344. package/browser/schema-builder/table/TableForeignKey.js +3 -3
  345. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  346. package/browser/schema-builder/table/TableIndex.js +2 -2
  347. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  348. package/browser/schema-builder/table/TableUnique.js +2 -2
  349. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  350. package/browser/subscriber/EntitySubscriberInterface.js +1 -1
  351. package/browser/subscriber/event/InsertEvent.js +1 -1
  352. package/browser/subscriber/event/LoadEvent.js +1 -1
  353. package/browser/subscriber/event/RemoveEvent.js +1 -1
  354. package/browser/subscriber/event/TransactionCommitEvent.js +1 -1
  355. package/browser/subscriber/event/TransactionRollbackEvent.js +1 -1
  356. package/browser/subscriber/event/TransactionStartEvent.js +1 -1
  357. package/browser/subscriber/event/UpdateEvent.js +1 -1
  358. package/browser/util/DateUtils.js.map +1 -1
  359. package/browser/util/OrmUtils.d.ts +1 -1
  360. package/browser/util/OrmUtils.js +2 -2
  361. package/browser/util/OrmUtils.js.map +1 -1
  362. package/browser/util/StringUtils.js.map +1 -1
  363. package/cache/DbQueryResultCache.js +1 -0
  364. package/cache/DbQueryResultCache.js.map +1 -1
  365. package/cache/QueryResultCacheFactory.js +1 -0
  366. package/cache/QueryResultCacheFactory.js.map +1 -1
  367. package/cache/RedisQueryResultCache.js +1 -0
  368. package/cache/RedisQueryResultCache.js.map +1 -1
  369. package/commands/CacheClearCommand.js +1 -0
  370. package/commands/CacheClearCommand.js.map +1 -1
  371. package/commands/CommandUtils.js +1 -0
  372. package/commands/CommandUtils.js.map +1 -1
  373. package/commands/EntityCreateCommand.js +1 -0
  374. package/commands/EntityCreateCommand.js.map +1 -1
  375. package/commands/InitCommand.d.ts +3 -0
  376. package/commands/InitCommand.js +36 -5
  377. package/commands/InitCommand.js.map +1 -1
  378. package/commands/MigrationCreateCommand.js +1 -0
  379. package/commands/MigrationCreateCommand.js.map +1 -1
  380. package/commands/MigrationGenerateCommand.d.ts +4 -0
  381. package/commands/MigrationGenerateCommand.js +39 -15
  382. package/commands/MigrationGenerateCommand.js.map +1 -1
  383. package/commands/MigrationRevertCommand.js +1 -0
  384. package/commands/MigrationRevertCommand.js.map +1 -1
  385. package/commands/MigrationRunCommand.js +1 -0
  386. package/commands/MigrationRunCommand.js.map +1 -1
  387. package/commands/MigrationShowCommand.js +1 -0
  388. package/commands/MigrationShowCommand.js.map +1 -1
  389. package/commands/QueryCommand.js +1 -0
  390. package/commands/QueryCommand.js.map +1 -1
  391. package/commands/SchemaDropCommand.js +1 -0
  392. package/commands/SchemaDropCommand.js.map +1 -1
  393. package/commands/SchemaLogCommand.js +1 -0
  394. package/commands/SchemaLogCommand.js.map +1 -1
  395. package/commands/SchemaSyncCommand.js +1 -0
  396. package/commands/SchemaSyncCommand.js.map +1 -1
  397. package/commands/SubscriberCreateCommand.js +1 -0
  398. package/commands/SubscriberCreateCommand.js.map +1 -1
  399. package/commands/VersionCommand.js +1 -0
  400. package/commands/VersionCommand.js.map +1 -1
  401. package/connection/Connection.d.ts +2 -2
  402. package/connection/Connection.js +5 -2
  403. package/connection/Connection.js.map +1 -1
  404. package/connection/ConnectionManager.js +1 -0
  405. package/connection/ConnectionManager.js.map +1 -1
  406. package/connection/ConnectionMetadataBuilder.js +5 -4
  407. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  408. package/connection/ConnectionOptionsReader.d.ts +3 -3
  409. package/connection/ConnectionOptionsReader.js +4 -3
  410. package/connection/ConnectionOptionsReader.js.map +1 -1
  411. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  412. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  413. package/connection/options-reader/ConnectionOptionsXmlReader.js +1 -0
  414. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  415. package/connection/options-reader/ConnectionOptionsYmlReader.js +2 -1
  416. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  417. package/container.js +1 -0
  418. package/container.js.map +1 -1
  419. package/decorator/Check.js +1 -0
  420. package/decorator/Check.js.map +1 -1
  421. package/decorator/EntityRepository.js +1 -0
  422. package/decorator/EntityRepository.js.map +1 -1
  423. package/decorator/Exclusion.js +1 -0
  424. package/decorator/Exclusion.js.map +1 -1
  425. package/decorator/Generated.js +1 -0
  426. package/decorator/Generated.js.map +1 -1
  427. package/decorator/Index.js +1 -0
  428. package/decorator/Index.js.map +1 -1
  429. package/decorator/Unique.js +1 -0
  430. package/decorator/Unique.js.map +1 -1
  431. package/decorator/columns/Column.js +1 -0
  432. package/decorator/columns/Column.js.map +1 -1
  433. package/decorator/columns/CreateDateColumn.js +1 -0
  434. package/decorator/columns/CreateDateColumn.js.map +1 -1
  435. package/decorator/columns/DeleteDateColumn.js +1 -0
  436. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  437. package/decorator/columns/ObjectIdColumn.js +1 -0
  438. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  439. package/decorator/columns/PrimaryColumn.js +1 -0
  440. package/decorator/columns/PrimaryColumn.js.map +1 -1
  441. package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  442. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  443. package/decorator/columns/UpdateDateColumn.js +1 -0
  444. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  445. package/decorator/columns/VersionColumn.js +1 -0
  446. package/decorator/columns/VersionColumn.js.map +1 -1
  447. package/decorator/columns/ViewColumn.js +1 -0
  448. package/decorator/columns/ViewColumn.js.map +1 -1
  449. package/decorator/entity/ChildEntity.js +1 -0
  450. package/decorator/entity/ChildEntity.js.map +1 -1
  451. package/decorator/entity/Entity.js +1 -0
  452. package/decorator/entity/Entity.js.map +1 -1
  453. package/decorator/entity/TableInheritance.js +1 -0
  454. package/decorator/entity/TableInheritance.js.map +1 -1
  455. package/decorator/entity-view/ViewEntity.js +1 -0
  456. package/decorator/entity-view/ViewEntity.js.map +1 -1
  457. package/decorator/listeners/AfterInsert.js +1 -0
  458. package/decorator/listeners/AfterInsert.js.map +1 -1
  459. package/decorator/listeners/AfterLoad.js +1 -0
  460. package/decorator/listeners/AfterLoad.js.map +1 -1
  461. package/decorator/listeners/AfterRemove.js +1 -0
  462. package/decorator/listeners/AfterRemove.js.map +1 -1
  463. package/decorator/listeners/AfterUpdate.js +1 -0
  464. package/decorator/listeners/AfterUpdate.js.map +1 -1
  465. package/decorator/listeners/BeforeInsert.js +1 -0
  466. package/decorator/listeners/BeforeInsert.js.map +1 -1
  467. package/decorator/listeners/BeforeRemove.js +1 -0
  468. package/decorator/listeners/BeforeRemove.js.map +1 -1
  469. package/decorator/listeners/BeforeUpdate.js +1 -0
  470. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  471. package/decorator/listeners/EventSubscriber.js +1 -0
  472. package/decorator/listeners/EventSubscriber.js.map +1 -1
  473. package/decorator/relations/JoinColumn.js +1 -0
  474. package/decorator/relations/JoinColumn.js.map +1 -1
  475. package/decorator/relations/JoinTable.js +1 -0
  476. package/decorator/relations/JoinTable.js.map +1 -1
  477. package/decorator/relations/ManyToMany.js +1 -0
  478. package/decorator/relations/ManyToMany.js.map +1 -1
  479. package/decorator/relations/ManyToOne.js +1 -0
  480. package/decorator/relations/ManyToOne.js.map +1 -1
  481. package/decorator/relations/OneToMany.js +1 -0
  482. package/decorator/relations/OneToMany.js.map +1 -1
  483. package/decorator/relations/OneToOne.js +1 -0
  484. package/decorator/relations/OneToOne.js.map +1 -1
  485. package/decorator/relations/RelationCount.js +1 -0
  486. package/decorator/relations/RelationCount.js.map +1 -1
  487. package/decorator/relations/RelationId.js +1 -0
  488. package/decorator/relations/RelationId.js.map +1 -1
  489. package/decorator/transaction/Transaction.js +4 -3
  490. package/decorator/transaction/Transaction.js.map +1 -1
  491. package/decorator/transaction/TransactionManager.js +1 -0
  492. package/decorator/transaction/TransactionManager.js.map +1 -1
  493. package/decorator/transaction/TransactionRepository.js +1 -0
  494. package/decorator/transaction/TransactionRepository.js.map +1 -1
  495. package/decorator/tree/Tree.js +1 -0
  496. package/decorator/tree/Tree.js.map +1 -1
  497. package/decorator/tree/TreeChildren.js +1 -0
  498. package/decorator/tree/TreeChildren.js.map +1 -1
  499. package/decorator/tree/TreeLevelColumn.js +1 -0
  500. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  501. package/decorator/tree/TreeParent.js +1 -0
  502. package/decorator/tree/TreeParent.js.map +1 -1
  503. package/driver/Driver.d.ts +1 -1
  504. package/driver/Driver.js.map +1 -1
  505. package/driver/DriverFactory.js +1 -0
  506. package/driver/DriverFactory.js.map +1 -1
  507. package/driver/DriverUtils.d.ts +10 -0
  508. package/driver/DriverUtils.js +80 -0
  509. package/driver/DriverUtils.js.map +1 -1
  510. package/driver/Query.js +1 -0
  511. package/driver/Query.js.map +1 -1
  512. package/driver/SqlInMemory.js +1 -0
  513. package/driver/SqlInMemory.js.map +1 -1
  514. package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -0
  515. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  516. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
  517. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  518. package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +4 -3
  519. package/driver/aurora-data-api/AuroraDataApiDriver.js +16 -5
  520. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  521. package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
  522. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +16 -2
  523. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  524. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
  525. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  526. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -0
  527. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +25 -0
  528. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  529. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +1 -0
  530. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  531. package/driver/better-sqlite3/BetterSqlite3Driver.js +1 -0
  532. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  533. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
  534. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  535. package/driver/cockroachdb/CockroachDriver.d.ts +1 -1
  536. package/driver/cockroachdb/CockroachDriver.js +4 -6
  537. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  538. package/driver/cockroachdb/CockroachQueryRunner.js +2 -1
  539. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  540. package/driver/cordova/CordovaDriver.js +1 -0
  541. package/driver/cordova/CordovaDriver.js.map +1 -1
  542. package/driver/cordova/CordovaQueryRunner.js +1 -0
  543. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  544. package/driver/expo/ExpoDriver.js +1 -0
  545. package/driver/expo/ExpoDriver.js.map +1 -1
  546. package/driver/expo/ExpoQueryRunner.js +1 -0
  547. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  548. package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  549. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  550. package/driver/mongodb/MongoDriver.d.ts +1 -1
  551. package/driver/mongodb/MongoDriver.js +13 -5
  552. package/driver/mongodb/MongoDriver.js.map +1 -1
  553. package/driver/mongodb/MongoQueryRunner.js +1 -0
  554. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  555. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  556. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  557. package/driver/mysql/MysqlDriver.d.ts +2 -2
  558. package/driver/mysql/MysqlDriver.js +13 -11
  559. package/driver/mysql/MysqlDriver.js.map +1 -1
  560. package/driver/mysql/MysqlQueryRunner.js +5 -4
  561. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  562. package/driver/nativescript/NativescriptDriver.js +1 -0
  563. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  564. package/driver/nativescript/NativescriptQueryRunner.js +1 -0
  565. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  566. package/driver/oracle/OracleDriver.d.ts +1 -1
  567. package/driver/oracle/OracleDriver.js +26 -3
  568. package/driver/oracle/OracleDriver.js.map +1 -1
  569. package/driver/oracle/OracleQueryRunner.js +2 -1
  570. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  571. package/driver/postgres/PostgresDriver.d.ts +2 -2
  572. package/driver/postgres/PostgresDriver.js +54 -22
  573. package/driver/postgres/PostgresDriver.js.map +1 -1
  574. package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  575. package/driver/postgres/PostgresQueryRunner.js +186 -155
  576. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  577. package/driver/react-native/ReactNativeDriver.js +1 -0
  578. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  579. package/driver/react-native/ReactNativeQueryRunner.js +1 -0
  580. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  581. package/driver/sap/SapDriver.d.ts +1 -1
  582. package/driver/sap/SapDriver.js +1 -0
  583. package/driver/sap/SapDriver.js.map +1 -1
  584. package/driver/sap/SapQueryRunner.js +2 -1
  585. package/driver/sap/SapQueryRunner.js.map +1 -1
  586. package/driver/sqlite/SqliteDriver.js +1 -0
  587. package/driver/sqlite/SqliteDriver.js.map +1 -1
  588. package/driver/sqlite/SqliteQueryRunner.js +1 -0
  589. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  590. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
  591. package/driver/sqlite-abstract/AbstractSqliteDriver.js +5 -1
  592. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  593. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  594. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  595. package/driver/sqljs/SqljsDriver.js +1 -0
  596. package/driver/sqljs/SqljsDriver.js.map +1 -1
  597. package/driver/sqljs/SqljsQueryRunner.js +1 -0
  598. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  599. package/driver/sqlserver/MssqlParameter.js +1 -0
  600. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  601. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  602. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  603. package/driver/sqlserver/SqlServerDriver.d.ts +2 -2
  604. package/driver/sqlserver/SqlServerDriver.js +34 -8
  605. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  606. package/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
  607. package/driver/sqlserver/SqlServerQueryRunner.js +26 -18
  608. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  609. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  610. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +4 -0
  611. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  612. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  613. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +4 -0
  614. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  615. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  616. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +4 -0
  617. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  618. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  619. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +4 -0
  620. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  621. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  622. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +4 -0
  623. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  624. package/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  625. package/driver/sqlserver/authentication/DefaultAuthentication.js +4 -0
  626. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  627. package/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  628. package/driver/sqlserver/authentication/NtlmAuthentication.js +4 -0
  629. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  630. package/entity-manager/EntityManager.d.ts +16 -2
  631. package/entity-manager/EntityManager.js +1 -0
  632. package/entity-manager/EntityManager.js.map +1 -1
  633. package/entity-manager/EntityManagerFactory.js +1 -0
  634. package/entity-manager/EntityManagerFactory.js.map +1 -1
  635. package/entity-manager/MongoEntityManager.d.ts +1 -4
  636. package/entity-manager/MongoEntityManager.js +40 -45
  637. package/entity-manager/MongoEntityManager.js.map +1 -1
  638. package/entity-manager/SqljsEntityManager.js +1 -0
  639. package/entity-manager/SqljsEntityManager.js.map +1 -1
  640. package/entity-schema/EntitySchema.js +1 -0
  641. package/entity-schema/EntitySchema.js.map +1 -1
  642. package/entity-schema/EntitySchemaOptions.js +1 -0
  643. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  644. package/entity-schema/EntitySchemaTransformer.js +1 -0
  645. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  646. package/error/AlreadyHasActiveConnectionError.js +1 -0
  647. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  648. package/error/CannotAttachTreeChildrenEntityError.js +1 -0
  649. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  650. package/error/CannotConnectAlreadyConnectedError.js +1 -0
  651. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  652. package/error/CannotCreateEntityIdMapError.js +1 -0
  653. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  654. package/error/CannotDetermineEntityError.js +1 -0
  655. package/error/CannotDetermineEntityError.js.map +1 -1
  656. package/error/CannotExecuteNotConnectedError.js +1 -0
  657. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  658. package/error/CannotGetEntityManagerNotConnectedError.js +1 -0
  659. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  660. package/error/CannotReflectMethodParameterTypeError.js +1 -0
  661. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  662. package/error/CircularRelationsError.js +1 -0
  663. package/error/CircularRelationsError.js.map +1 -1
  664. package/error/ColumnTypeUndefinedError.js +1 -0
  665. package/error/ColumnTypeUndefinedError.js.map +1 -1
  666. package/error/ConnectionIsNotSetError.js +1 -0
  667. package/error/ConnectionIsNotSetError.js.map +1 -1
  668. package/error/ConnectionNotFoundError.js +1 -0
  669. package/error/ConnectionNotFoundError.js.map +1 -1
  670. package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -0
  671. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  672. package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -0
  673. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  674. package/error/CustomRepositoryNotFoundError.js +1 -0
  675. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  676. package/error/DataTypeNotSupportedError.js +1 -0
  677. package/error/DataTypeNotSupportedError.js.map +1 -1
  678. package/error/DriverOptionNotSetError.js +1 -0
  679. package/error/DriverOptionNotSetError.js.map +1 -1
  680. package/error/DriverPackageNotInstalledError.js +1 -0
  681. package/error/DriverPackageNotInstalledError.js.map +1 -1
  682. package/error/EntityColumnNotFound.js +1 -0
  683. package/error/EntityColumnNotFound.js.map +1 -1
  684. package/error/EntityMetadataNotFoundError.js +1 -0
  685. package/error/EntityMetadataNotFoundError.js.map +1 -1
  686. package/error/EntityNotFoundError.js +1 -0
  687. package/error/EntityNotFoundError.js.map +1 -1
  688. package/error/FindRelationsNotFoundError.js +1 -0
  689. package/error/FindRelationsNotFoundError.js.map +1 -1
  690. package/error/InitializedRelationError.js +1 -0
  691. package/error/InitializedRelationError.js.map +1 -1
  692. package/error/InsertValuesMissingError.js +1 -0
  693. package/error/InsertValuesMissingError.js.map +1 -1
  694. package/error/LimitOnUpdateNotSupportedError.js +1 -0
  695. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  696. package/error/LockNotSupportedOnGivenDriverError.js +1 -0
  697. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  698. package/error/MetadataAlreadyExistsError.js +1 -0
  699. package/error/MetadataAlreadyExistsError.js.map +1 -1
  700. package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -0
  701. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  702. package/error/MissingDeleteDateColumnError.js +1 -0
  703. package/error/MissingDeleteDateColumnError.js.map +1 -1
  704. package/error/MissingDriverError.js +1 -0
  705. package/error/MissingDriverError.js.map +1 -1
  706. package/error/MissingJoinColumnError.js +1 -0
  707. package/error/MissingJoinColumnError.js.map +1 -1
  708. package/error/MissingJoinTableError.js +1 -0
  709. package/error/MissingJoinTableError.js.map +1 -1
  710. package/error/MissingPrimaryColumnError.js +1 -0
  711. package/error/MissingPrimaryColumnError.js.map +1 -1
  712. package/error/MustBeEntityError.js +1 -0
  713. package/error/MustBeEntityError.js.map +1 -1
  714. package/error/NamingStrategyNotFoundError.js +1 -0
  715. package/error/NamingStrategyNotFoundError.js.map +1 -1
  716. package/error/NoConnectionForRepositoryError.js +1 -0
  717. package/error/NoConnectionForRepositoryError.js.map +1 -1
  718. package/error/NoConnectionOptionError.js +1 -0
  719. package/error/NoConnectionOptionError.js.map +1 -1
  720. package/error/NoNeedToReleaseEntityManagerError.js +1 -0
  721. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  722. package/error/NoVersionOrUpdateDateColumnError.js +1 -0
  723. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  724. package/error/OffsetWithoutLimitNotSupportedError.js +1 -0
  725. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  726. package/error/OptimisticLockCanNotBeUsedError.js +1 -0
  727. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  728. package/error/OptimisticLockVersionMismatchError.js +1 -0
  729. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  730. package/error/PersistedEntityNotFoundError.js +1 -0
  731. package/error/PersistedEntityNotFoundError.js.map +1 -1
  732. package/error/PessimisticLockTransactionRequiredError.js +1 -0
  733. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  734. package/error/PrimaryColumnCannotBeNullableError.js +1 -0
  735. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  736. package/error/QueryFailedError.js +1 -0
  737. package/error/QueryFailedError.js.map +1 -1
  738. package/error/QueryRunnerAlreadyReleasedError.js +1 -0
  739. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  740. package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -0
  741. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  742. package/error/RepositoryNotFoundError.js +1 -0
  743. package/error/RepositoryNotFoundError.js.map +1 -1
  744. package/error/RepositoryNotTreeError.js +1 -0
  745. package/error/RepositoryNotTreeError.js.map +1 -1
  746. package/error/ReturningStatementNotSupportedError.js +1 -0
  747. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  748. package/error/SubjectRemovedAndUpdatedError.js +1 -0
  749. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  750. package/error/SubjectWithoutIdentifierError.js +1 -0
  751. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  752. package/error/TransactionAlreadyStartedError.js +1 -0
  753. package/error/TransactionAlreadyStartedError.js.map +1 -1
  754. package/error/TransactionNotStartedError.js +1 -0
  755. package/error/TransactionNotStartedError.js.map +1 -1
  756. package/error/TreeRepositoryNotSupportedError.js +1 -0
  757. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  758. package/error/UpdateValuesMissingError.js +1 -0
  759. package/error/UpdateValuesMissingError.js.map +1 -1
  760. package/error/UsingJoinColumnIsNotAllowedError.js +1 -0
  761. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  762. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -0
  763. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  764. package/error/UsingJoinTableIsNotAllowedError.js +1 -0
  765. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  766. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -0
  767. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  768. package/find-options/FindOneOptions.d.ts +4 -1
  769. package/find-options/FindOneOptions.js.map +1 -1
  770. package/find-options/FindOperator.d.ts +7 -7
  771. package/find-options/FindOperator.js +8 -7
  772. package/find-options/FindOperator.js.map +1 -1
  773. package/find-options/FindOptionsUtils.js +11 -1
  774. package/find-options/FindOptionsUtils.js.map +1 -1
  775. package/find-options/JoinOptions.d.ts +16 -4
  776. package/find-options/JoinOptions.js.map +1 -1
  777. package/find-options/operator/Any.js +1 -0
  778. package/find-options/operator/Any.js.map +1 -1
  779. package/find-options/operator/Between.js +1 -0
  780. package/find-options/operator/Between.js.map +1 -1
  781. package/find-options/operator/Equal.js +1 -0
  782. package/find-options/operator/Equal.js.map +1 -1
  783. package/find-options/operator/ILike.js +1 -0
  784. package/find-options/operator/ILike.js.map +1 -1
  785. package/find-options/operator/In.js +1 -0
  786. package/find-options/operator/In.js.map +1 -1
  787. package/find-options/operator/IsNull.js +1 -0
  788. package/find-options/operator/IsNull.js.map +1 -1
  789. package/find-options/operator/LessThan.js +1 -0
  790. package/find-options/operator/LessThan.js.map +1 -1
  791. package/find-options/operator/LessThanOrEqual.js +1 -0
  792. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  793. package/find-options/operator/Like.js +1 -0
  794. package/find-options/operator/Like.js.map +1 -1
  795. package/find-options/operator/MoreThan.js +1 -0
  796. package/find-options/operator/MoreThan.js.map +1 -1
  797. package/find-options/operator/MoreThanOrEqual.js +1 -0
  798. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  799. package/find-options/operator/Not.js +1 -0
  800. package/find-options/operator/Not.js.map +1 -1
  801. package/find-options/operator/Raw.js +1 -0
  802. package/find-options/operator/Raw.js.map +1 -1
  803. package/index.js +42 -18
  804. package/index.js.map +1 -1
  805. package/logger/AdvancedConsoleLogger.d.ts +2 -1
  806. package/logger/AdvancedConsoleLogger.js +1 -0
  807. package/logger/AdvancedConsoleLogger.js.map +1 -1
  808. package/logger/DebugLogger.js +1 -0
  809. package/logger/DebugLogger.js.map +1 -1
  810. package/logger/FileLogger.d.ts +2 -2
  811. package/logger/FileLogger.js +1 -0
  812. package/logger/FileLogger.js.map +1 -1
  813. package/logger/LoggerFactory.js +1 -0
  814. package/logger/LoggerFactory.js.map +1 -1
  815. package/logger/SimpleConsoleLogger.d.ts +2 -1
  816. package/logger/SimpleConsoleLogger.js +1 -0
  817. package/logger/SimpleConsoleLogger.js.map +1 -1
  818. package/metadata/CheckMetadata.js +1 -0
  819. package/metadata/CheckMetadata.js.map +1 -1
  820. package/metadata/ColumnMetadata.d.ts +1 -1
  821. package/metadata/ColumnMetadata.js +7 -11
  822. package/metadata/ColumnMetadata.js.map +1 -1
  823. package/metadata/EmbeddedMetadata.js +2 -1
  824. package/metadata/EmbeddedMetadata.js.map +1 -1
  825. package/metadata/EntityListenerMetadata.js +1 -0
  826. package/metadata/EntityListenerMetadata.js.map +1 -1
  827. package/metadata/EntityMetadata.js +2 -1
  828. package/metadata/EntityMetadata.js.map +1 -1
  829. package/metadata/ExclusionMetadata.js +1 -0
  830. package/metadata/ExclusionMetadata.js.map +1 -1
  831. package/metadata/ForeignKeyMetadata.js +1 -0
  832. package/metadata/ForeignKeyMetadata.js.map +1 -1
  833. package/metadata/IndexMetadata.js +1 -0
  834. package/metadata/IndexMetadata.js.map +1 -1
  835. package/metadata/RelationCountMetadata.js +1 -0
  836. package/metadata/RelationCountMetadata.js.map +1 -1
  837. package/metadata/RelationIdMetadata.js +1 -0
  838. package/metadata/RelationIdMetadata.js.map +1 -1
  839. package/metadata/RelationMetadata.js +5 -4
  840. package/metadata/RelationMetadata.js.map +1 -1
  841. package/metadata/UniqueMetadata.js +1 -0
  842. package/metadata/UniqueMetadata.js.map +1 -1
  843. package/metadata/types/EventListenerTypes.js +1 -0
  844. package/metadata/types/EventListenerTypes.js.map +1 -1
  845. package/metadata-args/MetadataArgsStorage.js +1 -0
  846. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  847. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -0
  848. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  849. package/metadata-builder/EntityMetadataBuilder.js +7 -6
  850. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  851. package/metadata-builder/EntityMetadataValidator.js +3 -0
  852. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  853. package/metadata-builder/JunctionEntityMetadataBuilder.js +6 -1
  854. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  855. package/metadata-builder/MetadataUtils.js +1 -0
  856. package/metadata-builder/MetadataUtils.js.map +1 -1
  857. package/metadata-builder/RelationJoinColumnBuilder.js +4 -1
  858. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  859. package/migration/Migration.js +1 -0
  860. package/migration/Migration.js.map +1 -1
  861. package/migration/MigrationExecutor.js +6 -5
  862. package/migration/MigrationExecutor.js.map +1 -1
  863. package/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  864. package/naming-strategy/DefaultNamingStrategy.js +9 -7
  865. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  866. package/naming-strategy/NamingStrategyInterface.d.ts +6 -1
  867. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  868. package/package.json +43 -42
  869. package/persistence/EntityPersistExecutor.js +1 -0
  870. package/persistence/EntityPersistExecutor.js.map +1 -1
  871. package/persistence/Subject.d.ts +4 -4
  872. package/persistence/Subject.js +6 -5
  873. package/persistence/Subject.js.map +1 -1
  874. package/persistence/SubjectChangedColumnsComputer.js +4 -1
  875. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  876. package/persistence/SubjectDatabaseEntityLoader.js +2 -1
  877. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  878. package/persistence/SubjectExecutor.js +22 -21
  879. package/persistence/SubjectExecutor.js.map +1 -1
  880. package/persistence/SubjectTopoligicalSorter.js +6 -5
  881. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  882. package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -0
  883. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  884. package/persistence/subject-builder/ManyToManySubjectBuilder.js +3 -0
  885. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  886. package/persistence/subject-builder/OneToManySubjectBuilder.js +1 -0
  887. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  888. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -0
  889. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  890. package/persistence/tree/ClosureSubjectExecutor.js +2 -1
  891. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  892. package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -0
  893. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  894. package/persistence/tree/NestedSetSubjectExecutor.js +1 -0
  895. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  896. package/platform/PlatformTools.js +5 -4
  897. package/platform/PlatformTools.js.map +1 -1
  898. package/query-builder/Alias.d.ts +4 -3
  899. package/query-builder/Alias.js +4 -3
  900. package/query-builder/Alias.js.map +1 -1
  901. package/query-builder/Brackets.js +1 -0
  902. package/query-builder/Brackets.js.map +1 -1
  903. package/query-builder/DeleteQueryBuilder.js +6 -1
  904. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  905. package/query-builder/InsertQueryBuilder.js +2 -1
  906. package/query-builder/InsertQueryBuilder.js.map +1 -1
  907. package/query-builder/JoinAttribute.d.ts +10 -10
  908. package/query-builder/JoinAttribute.js +11 -10
  909. package/query-builder/JoinAttribute.js.map +1 -1
  910. package/query-builder/QueryBuilder.d.ts +1 -1
  911. package/query-builder/QueryBuilder.js +25 -24
  912. package/query-builder/QueryBuilder.js.map +1 -1
  913. package/query-builder/QueryBuilderUtils.js +1 -0
  914. package/query-builder/QueryBuilderUtils.js.map +1 -1
  915. package/query-builder/QueryExpressionMap.d.ts +6 -2
  916. package/query-builder/QueryExpressionMap.js +4 -2
  917. package/query-builder/QueryExpressionMap.js.map +1 -1
  918. package/query-builder/RelationIdLoader.js +1 -0
  919. package/query-builder/RelationIdLoader.js.map +1 -1
  920. package/query-builder/RelationLoader.js +3 -2
  921. package/query-builder/RelationLoader.js.map +1 -1
  922. package/query-builder/RelationQueryBuilder.js +2 -1
  923. package/query-builder/RelationQueryBuilder.js.map +1 -1
  924. package/query-builder/RelationRemover.js +11 -10
  925. package/query-builder/RelationRemover.js.map +1 -1
  926. package/query-builder/RelationUpdater.js +1 -0
  927. package/query-builder/RelationUpdater.js.map +1 -1
  928. package/query-builder/ReturningResultsEntityUpdator.js +1 -0
  929. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  930. package/query-builder/SelectQueryBuilder.d.ts +2 -6
  931. package/query-builder/SelectQueryBuilder.js +35 -14
  932. package/query-builder/SelectQueryBuilder.js.map +1 -1
  933. package/query-builder/SoftDeleteQueryBuilder.js +1 -0
  934. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  935. package/query-builder/UpdateQueryBuilder.js +5 -0
  936. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  937. package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  938. package/query-builder/relation-count/RelationCountAttribute.js +8 -7
  939. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  940. package/query-builder/relation-count/RelationCountLoader.js +3 -1
  941. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  942. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +1 -0
  943. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  944. package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  945. package/query-builder/relation-id/RelationIdAttribute.js +9 -8
  946. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  947. package/query-builder/relation-id/RelationIdLoader.js +62 -11
  948. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  949. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +1 -0
  950. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  951. package/query-builder/result/DeleteResult.js +1 -0
  952. package/query-builder/result/DeleteResult.js.map +1 -1
  953. package/query-builder/result/InsertResult.js +1 -0
  954. package/query-builder/result/InsertResult.js.map +1 -1
  955. package/query-builder/result/UpdateResult.js +1 -0
  956. package/query-builder/result/UpdateResult.js.map +1 -1
  957. package/query-builder/transformer/DocumentToEntityTransformer.js +1 -0
  958. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  959. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +4 -3
  960. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  961. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  962. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  963. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -3
  964. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  965. package/query-runner/BaseQueryRunner.js +3 -2
  966. package/query-runner/BaseQueryRunner.js.map +1 -1
  967. package/repository/AbstractRepository.d.ts +2 -2
  968. package/repository/AbstractRepository.js +3 -2
  969. package/repository/AbstractRepository.js.map +1 -1
  970. package/repository/BaseEntity.d.ts +1 -1
  971. package/repository/BaseEntity.js +3 -2
  972. package/repository/BaseEntity.js.map +1 -1
  973. package/repository/MongoRepository.js +1 -0
  974. package/repository/MongoRepository.js.map +1 -1
  975. package/repository/Repository.d.ts +1 -1
  976. package/repository/Repository.js +3 -2
  977. package/repository/Repository.js.map +1 -1
  978. package/repository/RepositoryFactory.js +1 -0
  979. package/repository/RepositoryFactory.js.map +1 -1
  980. package/repository/TreeRepository.js +3 -2
  981. package/repository/TreeRepository.js.map +1 -1
  982. package/schema-builder/MongoSchemaBuilder.js +1 -0
  983. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  984. package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  985. package/schema-builder/RdbmsSchemaBuilder.js +79 -78
  986. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  987. package/schema-builder/table/Table.d.ts +1 -1
  988. package/schema-builder/table/Table.js +2 -1
  989. package/schema-builder/table/Table.js.map +1 -1
  990. package/schema-builder/table/TableCheck.js +2 -1
  991. package/schema-builder/table/TableCheck.js.map +1 -1
  992. package/schema-builder/table/TableColumn.js +1 -0
  993. package/schema-builder/table/TableColumn.js.map +1 -1
  994. package/schema-builder/table/TableExclusion.js +1 -0
  995. package/schema-builder/table/TableExclusion.js.map +1 -1
  996. package/schema-builder/table/TableForeignKey.js +3 -2
  997. package/schema-builder/table/TableForeignKey.js.map +1 -1
  998. package/schema-builder/table/TableIndex.js +2 -1
  999. package/schema-builder/table/TableIndex.js.map +1 -1
  1000. package/schema-builder/table/TableUnique.js +2 -1
  1001. package/schema-builder/table/TableUnique.js.map +1 -1
  1002. package/schema-builder/util/TableUtils.js +1 -0
  1003. package/schema-builder/util/TableUtils.js.map +1 -1
  1004. package/schema-builder/view/View.js +1 -0
  1005. package/schema-builder/view/View.js.map +1 -1
  1006. package/subscriber/Broadcaster.js +1 -0
  1007. package/subscriber/Broadcaster.js.map +1 -1
  1008. package/subscriber/BroadcasterResult.js +1 -0
  1009. package/subscriber/BroadcasterResult.js.map +1 -1
  1010. package/util/ApplyValueTransformers.js +1 -0
  1011. package/util/ApplyValueTransformers.js.map +1 -1
  1012. package/util/DateUtils.js +1 -0
  1013. package/util/DateUtils.js.map +1 -1
  1014. package/util/DepGraph.js +1 -0
  1015. package/util/DepGraph.js.map +1 -1
  1016. package/util/DirectoryExportedClassesLoader.js +1 -0
  1017. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1018. package/util/ObjectUtils.js +1 -0
  1019. package/util/ObjectUtils.js.map +1 -1
  1020. package/util/OrmUtils.d.ts +1 -1
  1021. package/util/OrmUtils.js +2 -1
  1022. package/util/OrmUtils.js.map +1 -1
  1023. package/util/RandomGenerator.js +1 -0
  1024. package/util/RandomGenerator.js.map +1 -1
  1025. package/util/StringUtils.js +1 -0
  1026. package/util/StringUtils.js.map +1 -1
  1027. package/util/VersionUtils.js +1 -0
  1028. package/util/VersionUtils.js.map +1 -1
package/README.md CHANGED
@@ -83,7 +83,7 @@ And more...
83
83
  With TypeORM your models look like this:
84
84
 
85
85
  ```javascript
86
- import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
86
+ import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
87
87
 
88
88
  @Entity()
89
89
  export class User {
@@ -124,7 +124,7 @@ await repository.remove(timber);
124
124
  Alternatively, if you prefer to use the `ActiveRecord` implementation, you can use it as well:
125
125
 
126
126
  ```javascript
127
- import {Entity, PrimaryGeneratedColumn, Column, BaseEntity} from "typeorm";
127
+ import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from "typeorm";
128
128
 
129
129
  @Entity()
130
130
  export class User extends BaseEntity {
@@ -373,7 +373,7 @@ You can load/insert/update/remove and perform other operations with them.
373
373
  Let's make our `Photo` model as an entity:
374
374
 
375
375
  ```javascript
376
- import {Entity} from "typeorm";
376
+ import { Entity } from "typeorm";
377
377
 
378
378
  @Entity()
379
379
  export class Photo {
@@ -396,7 +396,7 @@ To add database columns, you simply need to decorate an entity's properties you
396
396
  with a `@Column` decorator.
397
397
 
398
398
  ```javascript
399
- import {Entity, Column} from "typeorm";
399
+ import { Entity, Column } from "typeorm";
400
400
 
401
401
  @Entity()
402
402
  export class Photo {
@@ -436,7 +436,7 @@ This is a requirement and you can't avoid it.
436
436
  To make a column a primary key, you need to use `@PrimaryColumn` decorator.
437
437
 
438
438
  ```javascript
439
- import {Entity, Column, PrimaryColumn} from "typeorm";
439
+ import { Entity, Column, PrimaryColumn } from "typeorm";
440
440
 
441
441
  @Entity()
442
442
  export class Photo {
@@ -467,7 +467,7 @@ Now, let's say you want your id column to be auto-generated (this is known as au
467
467
  To do that, you need to change the `@PrimaryColumn` decorator to a `@PrimaryGeneratedColumn` decorator:
468
468
 
469
469
  ```javascript
470
- import {Entity, Column, PrimaryGeneratedColumn} from "typeorm";
470
+ import { Entity, Column, PrimaryGeneratedColumn } from "typeorm";
471
471
 
472
472
  @Entity()
473
473
  export class Photo {
@@ -500,7 +500,7 @@ We don't want all our columns to be limited varchars or integers.
500
500
  Let's setup correct data types:
501
501
 
502
502
  ```javascript
503
- import {Entity, Column, PrimaryGeneratedColumn} from "typeorm";
503
+ import { Entity, Column, PrimaryGeneratedColumn } from "typeorm";
504
504
 
505
505
  @Entity()
506
506
  export class Photo {
@@ -537,8 +537,8 @@ Now, when our entity is created, let's create an `index.ts` (or `app.ts` whateve
537
537
 
538
538
  ```javascript
539
539
  import "reflect-metadata";
540
- import {createConnection} from "typeorm";
541
- import {Photo} from "./entity/Photo";
540
+ import { createConnection } from "typeorm";
541
+ import { Photo } from "./entity/Photo";
542
542
 
543
543
  createConnection({
544
544
  type: "mysql",
@@ -574,7 +574,7 @@ Later, when we create more entities we need to add them to the entities in our c
574
574
  This is not very convenient, so instead we can set up the whole directory, from where all entities will be connected and used in our connection:
575
575
 
576
576
  ```javascript
577
- import {createConnection} from "typeorm";
577
+ import { createConnection } from "typeorm";
578
578
 
579
579
  createConnection({
580
580
  type: "mysql",
@@ -622,8 +622,8 @@ Now if you run your `index.ts`, a connection with database will be initialized a
622
622
  Now let's create a new photo to save it in the database:
623
623
 
624
624
  ```javascript
625
- import {createConnection} from "typeorm";
626
- import {Photo} from "./entity/Photo";
625
+ import { createConnection } from "typeorm";
626
+ import { Photo } from "./entity/Photo";
627
627
 
628
628
  createConnection(/*...*/).then(connection => {
629
629
 
@@ -652,8 +652,8 @@ It's not a new copy of the object, it modifies its "id" and returns it.
652
652
  Let's take advantage of the latest ES8 (ES2017) features and use async/await syntax instead:
653
653
 
654
654
  ```javascript
655
- import {createConnection} from "typeorm";
656
- import {Photo} from "./entity/Photo";
655
+ import { createConnection } from "typeorm";
656
+ import { Photo } from "./entity/Photo";
657
657
 
658
658
  createConnection(/*...*/).then(async connection => {
659
659
 
@@ -678,8 +678,8 @@ Using entity manager you can manipulate any entity in your app.
678
678
  For example, let's load our saved entity:
679
679
 
680
680
  ```javascript
681
- import {createConnection} from "typeorm";
682
- import {Photo} from "./entity/Photo";
681
+ import { createConnection } from "typeorm";
682
+ import { Photo } from "./entity/Photo";
683
683
 
684
684
  createConnection(/*...*/).then(async connection => {
685
685
 
@@ -702,8 +702,8 @@ When you deal with entities a lot, Repositories are more convenient to use than
702
702
 
703
703
 
704
704
  ```javascript
705
- import {createConnection} from "typeorm";
706
- import {Photo} from "./entity/Photo";
705
+ import { createConnection } from "typeorm";
706
+ import { Photo } from "./entity/Photo";
707
707
 
708
708
  createConnection(/*...*/).then(async connection => {
709
709
 
@@ -732,8 +732,8 @@ Learn more about Repository [here](./docs/working-with-repository.md).
732
732
  Let's try more load operations using the Repository:
733
733
 
734
734
  ```javascript
735
- import {createConnection} from "typeorm";
736
- import {Photo} from "./entity/Photo";
735
+ import { createConnection } from "typeorm";
736
+ import { Photo } from "./entity/Photo";
737
737
 
738
738
  createConnection(/*...*/).then(async connection => {
739
739
 
@@ -765,8 +765,8 @@ createConnection(/*...*/).then(async connection => {
765
765
  Now let's load a single photo from the database, update it and save it:
766
766
 
767
767
  ```javascript
768
- import {createConnection} from "typeorm";
769
- import {Photo} from "./entity/Photo";
768
+ import { createConnection } from "typeorm";
769
+ import { Photo } from "./entity/Photo";
770
770
 
771
771
  createConnection(/*...*/).then(async connection => {
772
772
 
@@ -785,8 +785,8 @@ Now photo with `id = 1` will be updated in the database.
785
785
  Now let's remove our photo from the database:
786
786
 
787
787
  ```javascript
788
- import {createConnection} from "typeorm";
789
- import {Photo} from "./entity/Photo";
788
+ import { createConnection } from "typeorm";
789
+ import { Photo } from "./entity/Photo";
790
790
 
791
791
  createConnection(/*...*/).then(async connection => {
792
792
 
@@ -805,8 +805,8 @@ Let's create a one-to-one relation with another class.
805
805
  Let's create a new class in `PhotoMetadata.ts`. This PhotoMetadata class is supposed to contain our photo's additional meta-information:
806
806
 
807
807
  ```javascript
808
- import {Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn} from "typeorm";
809
- import {Photo} from "./Photo";
808
+ import { Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn } from "typeorm";
809
+ import { Photo } from "./Photo";
810
810
 
811
811
  @Entity()
812
812
  export class PhotoMetadata {
@@ -867,9 +867,9 @@ If you run the app, you'll see a newly generated table, and it will contain a co
867
867
  Now let's save a photo, its metadata and attach them to each other.
868
868
 
869
869
  ```javascript
870
- import {createConnection} from "typeorm";
871
- import {Photo} from "./entity/Photo";
872
- import {PhotoMetadata} from "./entity/PhotoMetadata";
870
+ import { createConnection } from "typeorm";
871
+ import { Photo } from "./entity/Photo";
872
+ import { PhotoMetadata } from "./entity/PhotoMetadata";
873
873
 
874
874
  createConnection(/*...*/).then(async connection => {
875
875
 
@@ -915,8 +915,8 @@ To fix this issue we should add an inverse relation, and make relations between
915
915
  Let's modify our entities:
916
916
 
917
917
  ```javascript
918
- import {Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn} from "typeorm";
919
- import {Photo} from "./Photo";
918
+ import { Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn } from "typeorm";
919
+ import { Photo } from "./Photo";
920
920
 
921
921
  @Entity()
922
922
  export class PhotoMetadata {
@@ -930,8 +930,8 @@ export class PhotoMetadata {
930
930
  ```
931
931
 
932
932
  ```javascript
933
- import {Entity, Column, PrimaryGeneratedColumn, OneToOne} from "typeorm";
934
- import {PhotoMetadata} from "./PhotoMetadata";
933
+ import { Entity, Column, PrimaryGeneratedColumn, OneToOne } from "typeorm";
934
+ import { PhotoMetadata } from "./PhotoMetadata";
935
935
 
936
936
  @Entity()
937
937
  export class Photo {
@@ -960,9 +960,9 @@ Let's use `find*` methods first.
960
960
  `find*` methods allow you to specify an object with the `FindOneOptions` / `FindManyOptions` interface.
961
961
 
962
962
  ```javascript
963
- import {createConnection} from "typeorm";
964
- import {Photo} from "./entity/Photo";
965
- import {PhotoMetadata} from "./entity/PhotoMetadata";
963
+ import { createConnection } from "typeorm";
964
+ import { Photo } from "./entity/Photo";
965
+ import { PhotoMetadata } from "./entity/PhotoMetadata";
966
966
 
967
967
  createConnection(/*...*/).then(async connection => {
968
968
 
@@ -980,9 +980,9 @@ Using find options is good and dead simple, but if you need a more complex query
980
980
  `QueryBuilder` allows more complex queries to be used in an elegant way:
981
981
 
982
982
  ```javascript
983
- import {createConnection} from "typeorm";
984
- import {Photo} from "./entity/Photo";
985
- import {PhotoMetadata} from "./entity/PhotoMetadata";
983
+ import { createConnection } from "typeorm";
984
+ import { Photo } from "./entity/Photo";
985
+ import { PhotoMetadata } from "./entity/PhotoMetadata";
986
986
 
987
987
  createConnection(/*...*/).then(async connection => {
988
988
 
@@ -1061,8 +1061,8 @@ Let's say a photo has one author, and each author can have many photos.
1061
1061
  First, let's create an `Author` class:
1062
1062
 
1063
1063
  ```javascript
1064
- import {Entity, Column, PrimaryGeneratedColumn, OneToMany, JoinColumn} from "typeorm";
1065
- import {Photo} from "./Photo";
1064
+ import { Entity, Column, PrimaryGeneratedColumn, OneToMany, JoinColumn } from "typeorm";
1065
+ import { Photo } from "./Photo";
1066
1066
 
1067
1067
  @Entity()
1068
1068
  export class Author {
@@ -1084,9 +1084,9 @@ export class Author {
1084
1084
  Now let's add the owner side of the relation into the Photo entity:
1085
1085
 
1086
1086
  ```javascript
1087
- import {Entity, Column, PrimaryGeneratedColumn, ManyToOne} from "typeorm";
1088
- import {PhotoMetadata} from "./PhotoMetadata";
1089
- import {Author} from "./Author";
1087
+ import { Entity, Column, PrimaryGeneratedColumn, ManyToOne } from "typeorm";
1088
+ import { PhotoMetadata } from "./PhotoMetadata";
1089
+ import { Author } from "./Author";
1090
1090
 
1091
1091
  @Entity()
1092
1092
  export class Photo {
@@ -1135,7 +1135,7 @@ Let's say a photo can be in many albums, and each album can contain many photos.
1135
1135
  Let's create an `Album` class:
1136
1136
 
1137
1137
  ```javascript
1138
- import {Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable} from "typeorm";
1138
+ import { Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable } from "typeorm";
1139
1139
 
1140
1140
  @Entity()
1141
1141
  export class Album {
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=QueryResultCache.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=QueryResultCacheOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=DeepPartial.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=EntityFieldsNames.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=EntityTarget.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=ObjectLiteral.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=ObjectType.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=BaseConnectionOptions.js.map
@@ -86,13 +86,13 @@ export declare class Connection {
86
86
  *
87
87
  * Available only in mongodb connections.
88
88
  */
89
- readonly mongoManager: MongoEntityManager;
89
+ get mongoManager(): MongoEntityManager;
90
90
  /**
91
91
  * Gets a sql.js specific Entity Manager that allows to perform special load and save operations
92
92
  *
93
93
  * Available only in connection with the sqljs driver.
94
94
  */
95
- readonly sqljsManager: SqljsEntityManager;
95
+ get sqljsManager(): SqljsEntityManager;
96
96
  /**
97
97
  * Performs connection to the database.
98
98
  * This method should be called once on application bootstrap.
@@ -71,7 +71,7 @@ var Connection = /** @class */ (function () {
71
71
  throw new Error("MongoEntityManager is only available for MongoDB databases.");
72
72
  return this.manager;
73
73
  },
74
- enumerable: true,
74
+ enumerable: false,
75
75
  configurable: true
76
76
  });
77
77
  Object.defineProperty(Connection.prototype, "sqljsManager", {
@@ -85,7 +85,7 @@ var Connection = /** @class */ (function () {
85
85
  throw new Error("SqljsEntityManager is only available for Sqljs databases.");
86
86
  return this.manager;
87
87
  },
88
- enumerable: true,
88
+ enumerable: false,
89
89
  configurable: true
90
90
  });
91
91
  // -------------------------------------------------------------------------
@@ -529,6 +529,8 @@ var Connection = /** @class */ (function () {
529
529
  case "mssql":
530
530
  case "oracle":
531
531
  return DriverUtils.buildDriverOptions(options.replication ? options.replication.master : options).database;
532
+ case "mongodb":
533
+ return DriverUtils.buildMongoDBDriverOptions(options).database;
532
534
  default:
533
535
  return DriverUtils.buildDriverOptions(options).database;
534
536
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/connection/Connection.ts"],"names":[],"mappings":"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","file":"Connection.js","sourcesContent":["import {Driver} from \"../driver/Driver\";\nimport {Repository} from \"../repository/Repository\";\nimport {EntitySubscriberInterface} from \"../subscriber/EntitySubscriberInterface\";\nimport {EntityTarget} from \"../common/EntityTarget\";\nimport {ObjectType} from \"../common/ObjectType\";\nimport {EntityManager} from \"../entity-manager/EntityManager\";\nimport {DefaultNamingStrategy} from \"../naming-strategy/DefaultNamingStrategy\";\nimport {CannotExecuteNotConnectedError} from \"../error/CannotExecuteNotConnectedError\";\nimport {CannotConnectAlreadyConnectedError} from \"../error/CannotConnectAlreadyConnectedError\";\nimport {TreeRepository} from \"../repository/TreeRepository\";\nimport {NamingStrategyInterface} from \"../naming-strategy/NamingStrategyInterface\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {Logger} from \"../logger/Logger\";\nimport {EntityMetadataNotFoundError} from \"../error/EntityMetadataNotFoundError\";\nimport {MigrationInterface} from \"../migration/MigrationInterface\";\nimport {MigrationExecutor} from \"../migration/MigrationExecutor\";\nimport {Migration} from \"../migration/Migration\";\nimport {MongoRepository} from \"../repository/MongoRepository\";\nimport {MongoDriver} from \"../driver/mongodb/MongoDriver\";\nimport {MongoEntityManager} from \"../entity-manager/MongoEntityManager\";\nimport {EntityMetadataValidator} from \"../metadata-builder/EntityMetadataValidator\";\nimport {ConnectionOptions} from \"./ConnectionOptions\";\nimport {QueryRunnerProviderAlreadyReleasedError} from \"../error/QueryRunnerProviderAlreadyReleasedError\";\nimport {EntityManagerFactory} from \"../entity-manager/EntityManagerFactory\";\nimport {DriverFactory} from \"../driver/DriverFactory\";\nimport {ConnectionMetadataBuilder} from \"./ConnectionMetadataBuilder\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {SelectQueryBuilder} from \"../query-builder/SelectQueryBuilder\";\nimport {LoggerFactory} from \"../logger/LoggerFactory\";\nimport {QueryResultCacheFactory} from \"../cache/QueryResultCacheFactory\";\nimport {QueryResultCache} from \"../cache/QueryResultCache\";\nimport {SqljsEntityManager} from \"../entity-manager/SqljsEntityManager\";\nimport {RelationLoader} from \"../query-builder/RelationLoader\";\nimport {RelationIdLoader} from \"../query-builder/RelationIdLoader\";\nimport {EntitySchema} from \"../\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {MysqlDriver} from \"../driver/mysql/MysqlDriver\";\nimport {ObjectUtils} from \"../util/ObjectUtils\";\nimport {IsolationLevel} from \"../driver/types/IsolationLevel\";\nimport {AuroraDataApiDriver} from \"../driver/aurora-data-api/AuroraDataApiDriver\";\nimport {DriverUtils} from \"../driver/DriverUtils\";\nimport {ReplicationMode} from \"../driver/types/ReplicationMode\";\n\n/**\n * Connection is a single database ORM connection to a specific database.\n * Its not required to be a database connection, depend on database type it can create connection pool.\n * You can have multiple connections to multiple databases in your application.\n */\nexport class Connection {\n\n // -------------------------------------------------------------------------\n // Public Readonly Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection name.\n */\n readonly name: string;\n\n /**\n * Connection options.\n */\n readonly options: ConnectionOptions;\n\n /**\n * Indicates if connection is initialized or not.\n */\n readonly isConnected: boolean;\n\n /**\n * Database driver used by this connection.\n */\n readonly driver: Driver;\n\n /**\n * EntityManager of this connection.\n */\n readonly manager: EntityManager;\n\n /**\n * Naming strategy used in the connection.\n */\n readonly namingStrategy: NamingStrategyInterface;\n\n /**\n * Logger used to log orm events.\n */\n readonly logger: Logger;\n\n /**\n * Migration instances that are registered for this connection.\n */\n readonly migrations: MigrationInterface[] = [];\n\n /**\n * Entity subscriber instances that are registered for this connection.\n */\n readonly subscribers: EntitySubscriberInterface<any>[] = [];\n\n /**\n * All entity metadatas that are registered for this connection.\n */\n readonly entityMetadatas: EntityMetadata[] = [];\n\n /**\n * Used to work with query result cache.\n */\n readonly queryResultCache?: QueryResultCache;\n\n /**\n * Used to load relations and work with lazy relations.\n */\n readonly relationLoader: RelationLoader;\n\n /**\n * Used to load relation ids of specific entity relations.\n */\n readonly relationIdLoader: RelationIdLoader;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: ConnectionOptions) {\n this.name = options.name || \"default\";\n this.options = options;\n this.logger = new LoggerFactory().create(this.options.logger, this.options.logging);\n this.driver = new DriverFactory().create(this);\n this.manager = this.createEntityManager();\n this.namingStrategy = options.namingStrategy || new DefaultNamingStrategy();\n this.queryResultCache = options.cache ? new QueryResultCacheFactory(this).create() : undefined;\n this.relationLoader = new RelationLoader(this);\n this.relationIdLoader = new RelationIdLoader(this);\n this.isConnected = false;\n }\n\n // -------------------------------------------------------------------------\n // Public Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the mongodb entity manager that allows to perform mongodb-specific repository operations\n * with any entity in this connection.\n *\n * Available only in mongodb connections.\n */\n get mongoManager(): MongoEntityManager {\n if (!(this.manager instanceof MongoEntityManager))\n throw new Error(`MongoEntityManager is only available for MongoDB databases.`);\n\n return this.manager as MongoEntityManager;\n }\n\n /**\n * Gets a sql.js specific Entity Manager that allows to perform special load and save operations\n *\n * Available only in connection with the sqljs driver.\n */\n get sqljsManager(): SqljsEntityManager {\n if (!(this.manager instanceof SqljsEntityManager))\n throw new Error(`SqljsEntityManager is only available for Sqljs databases.`);\n\n return this.manager as SqljsEntityManager;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * This method should be called once on application bootstrap.\n * This method not necessarily creates database connection (depend on database type),\n * but it also can setup a connection pool with database to use.\n */\n async connect(): Promise<this> {\n if (this.isConnected)\n throw new CannotConnectAlreadyConnectedError(this.name);\n\n // connect to the database via its driver\n await this.driver.connect();\n\n // connect to the cache-specific database if cache is enabled\n if (this.queryResultCache)\n await this.queryResultCache.connect();\n\n // set connected status for the current connection\n ObjectUtils.assign(this, { isConnected: true });\n\n try {\n\n // build all metadatas registered in the current connection\n this.buildMetadatas();\n\n await this.driver.afterConnect();\n\n // if option is set - drop schema once connection is done\n if (this.options.dropSchema)\n await this.dropDatabase();\n\n // if option is set - automatically synchronize a schema\n if (this.options.synchronize)\n await this.synchronize();\n\n // if option is set - automatically synchronize a schema\n if (this.options.migrationsRun)\n await this.runMigrations({ transaction: this.options.migrationsTransactionMode });\n\n } catch (error) {\n\n // if for some reason build metadata fail (for example validation error during entity metadata check)\n // connection needs to be closed\n await this.close();\n throw error;\n }\n\n return this;\n }\n\n /**\n * Closes connection with the database.\n * Once connection is closed, you cannot use repositories or perform any operations except opening connection again.\n */\n async close(): Promise<void> {\n if (!this.isConnected)\n throw new CannotExecuteNotConnectedError(this.name);\n\n await this.driver.disconnect();\n\n // disconnect from the cache-specific database if cache was enabled\n if (this.queryResultCache)\n await this.queryResultCache.disconnect();\n\n ObjectUtils.assign(this, { isConnected: false });\n }\n\n /**\n * Creates database schema for all entities registered in this connection.\n * Can be used only after connection to the database is established.\n *\n * @param dropBeforeSync If set to true then it drops the database with all its tables and data\n */\n async synchronize(dropBeforeSync: boolean = false): Promise<void> {\n\n if (!this.isConnected)\n throw new CannotExecuteNotConnectedError(this.name);\n\n if (dropBeforeSync)\n await this.dropDatabase();\n\n const schemaBuilder = this.driver.createSchemaBuilder();\n await schemaBuilder.build();\n }\n\n /**\n * Drops the database and all its data.\n * Be careful with this method on production since this method will erase all your database tables and their data.\n * Can be used only after connection to the database is established.\n */\n // TODO rename\n async dropDatabase(): Promise<void> {\n const queryRunner = this.createQueryRunner();\n try {\n if (this.driver instanceof SqlServerDriver || this.driver instanceof MysqlDriver || this.driver instanceof AuroraDataApiDriver) {\n const databases: string[] = this.driver.database ? [this.driver.database] : [];\n this.entityMetadatas.forEach(metadata => {\n if (metadata.database && databases.indexOf(metadata.database) === -1)\n databases.push(metadata.database);\n });\n\n for (const database of databases) {\n await queryRunner.clearDatabase(database);\n }\n } else {\n await queryRunner.clearDatabase();\n }\n } finally {\n await queryRunner.release();\n }\n }\n\n /**\n * Runs all pending migrations.\n * Can be used only after connection to the database is established.\n */\n async runMigrations(options?: { transaction?: \"all\" | \"none\" | \"each\" }): Promise<Migration[]> {\n if (!this.isConnected)\n throw new CannotExecuteNotConnectedError(this.name);\n\n const migrationExecutor = new MigrationExecutor(this);\n migrationExecutor.transaction = (options && options.transaction) || \"all\";\n\n const successMigrations = await migrationExecutor.executePendingMigrations();\n return successMigrations;\n }\n\n /**\n * Reverts last executed migration.\n * Can be used only after connection to the database is established.\n */\n async undoLastMigration(options?: { transaction?: \"all\" | \"none\" | \"each\" }): Promise<void> {\n\n if (!this.isConnected)\n throw new CannotExecuteNotConnectedError(this.name);\n\n const migrationExecutor = new MigrationExecutor(this);\n migrationExecutor.transaction = (options && options.transaction) || \"all\";\n\n await migrationExecutor.undoLastMigration();\n }\n\n /**\n * Lists all migrations and whether they have been run.\n * Returns true if there are pending migrations\n */\n async showMigrations(): Promise<boolean> {\n if (!this.isConnected) {\n throw new CannotExecuteNotConnectedError(this.name);\n }\n const migrationExecutor = new MigrationExecutor(this);\n return await migrationExecutor.showMigrations();\n }\n\n /**\n * Checks if entity metadata exist for the given entity class, target name or table name.\n */\n hasMetadata(target: EntityTarget<any>): boolean {\n return !!this.findMetadata(target);\n }\n\n /**\n * Gets entity metadata for the given entity class or schema name.\n */\n getMetadata(target: EntityTarget<any>): EntityMetadata {\n const metadata = this.findMetadata(target);\n if (!metadata)\n throw new EntityMetadataNotFoundError(target);\n\n return metadata;\n }\n\n /**\n * Gets repository for the given entity.\n */\n getRepository<Entity>(target: EntityTarget<Entity>): Repository<Entity> {\n return this.manager.getRepository(target);\n }\n\n /**\n * Gets tree repository for the given entity class or name.\n * Only tree-type entities can have a TreeRepository, like ones decorated with @Tree decorator.\n */\n getTreeRepository<Entity>(target: EntityTarget<Entity>): TreeRepository<Entity> {\n return this.manager.getTreeRepository(target);\n }\n\n /**\n * Gets mongodb-specific repository for the given entity class or name.\n * Works only if connection is mongodb-specific.\n */\n getMongoRepository<Entity>(target: EntityTarget<Entity>): MongoRepository<Entity> {\n if (!(this.driver instanceof MongoDriver))\n throw new Error(`You can use getMongoRepository only for MongoDB connections.`);\n\n return this.manager.getRepository(target) as any;\n }\n\n /**\n * Gets custom entity repository marked with @EntityRepository decorator.\n */\n getCustomRepository<T>(customRepository: ObjectType<T>): T {\n return this.manager.getCustomRepository(customRepository);\n }\n\n /**\n * Wraps given function execution (and all operations made there) into a transaction.\n * All database operations must be executed using provided entity manager.\n */\n async transaction<T>(runInTransaction: (entityManager: EntityManager) => Promise<T>): Promise<T>;\n async transaction<T>(isolationLevel: IsolationLevel, runInTransaction: (entityManager: EntityManager) => Promise<T>): Promise<T>;\n async transaction<T>(\n isolationOrRunInTransaction: IsolationLevel | ((entityManager: EntityManager) => Promise<T>),\n runInTransactionParam?: (entityManager: EntityManager) => Promise<T>\n ): Promise<any> {\n return this.manager.transaction(\n isolationOrRunInTransaction as any,\n runInTransactionParam as any\n );\n }\n\n /**\n * Executes raw SQL query and returns raw database results.\n */\n async query(query: string, parameters?: any[], queryRunner?: QueryRunner): Promise<any> {\n if (this instanceof MongoEntityManager)\n throw new Error(`Queries aren't supported by MongoDB.`);\n\n if (queryRunner && queryRunner.isReleased)\n throw new QueryRunnerProviderAlreadyReleasedError();\n\n const usedQueryRunner = queryRunner || this.createQueryRunner();\n\n try {\n return await usedQueryRunner.query(query, parameters); // await is needed here because we are using finally\n\n } finally {\n if (!queryRunner)\n await usedQueryRunner.release();\n }\n }\n\n /**\n * Creates a new query builder that can be used to build a sql query.\n */\n createQueryBuilder<Entity>(entityClass: EntityTarget<Entity>, alias: string, queryRunner?: QueryRunner): SelectQueryBuilder<Entity>;\n\n /**\n * Creates a new query builder that can be used to build a sql query.\n */\n createQueryBuilder(queryRunner?: QueryRunner): SelectQueryBuilder<any>;\n\n /**\n * Creates a new query builder that can be used to build a sql query.\n */\n createQueryBuilder<Entity>(entityOrRunner?: EntityTarget<Entity>|QueryRunner, alias?: string, queryRunner?: QueryRunner): SelectQueryBuilder<Entity> {\n if (this instanceof MongoEntityManager)\n throw new Error(`Query Builder is not supported by MongoDB.`);\n\n if (alias) {\n const metadata = this.getMetadata(entityOrRunner as EntityTarget<Entity>);\n return new SelectQueryBuilder(this, queryRunner)\n .select(alias)\n .from(metadata.target, alias);\n\n } else {\n return new SelectQueryBuilder(this, entityOrRunner as QueryRunner|undefined);\n }\n }\n\n /**\n * Creates a query runner used for perform queries on a single database connection.\n * Using query runners you can control your queries to execute using single database connection and\n * manually control your database transaction.\n *\n * Mode is used in replication mode and indicates whatever you want to connect\n * to master database or any of slave databases.\n * If you perform writes you must use master database,\n * if you perform reads you can use slave databases.\n */\n createQueryRunner(mode: ReplicationMode = \"master\"): QueryRunner {\n const queryRunner = this.driver.createQueryRunner(mode);\n const manager = this.createEntityManager(queryRunner);\n Object.assign(queryRunner, { manager: manager });\n return queryRunner;\n }\n\n /**\n * Gets entity metadata of the junction table (many-to-many table).\n */\n getManyToManyMetadata(entityTarget: EntityTarget<any>, relationPropertyPath: string) {\n const relationMetadata = this.getMetadata(entityTarget).findRelationWithPropertyPath(relationPropertyPath);\n if (!relationMetadata)\n throw new Error(`Relation \"${relationPropertyPath}\" was not found in ${entityTarget} entity.`);\n if (!relationMetadata.isManyToMany)\n throw new Error(`Relation \"${entityTarget}#${relationPropertyPath}\" does not have a many-to-many relationship.` +\n `You can use this method only on many-to-many relations.`);\n\n return relationMetadata.junctionEntityMetadata;\n }\n\n /**\n * Creates an Entity Manager for the current connection with the help of the EntityManagerFactory.\n */\n createEntityManager(queryRunner?: QueryRunner): EntityManager {\n return new EntityManagerFactory().create(this, queryRunner);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Finds exist entity metadata by the given entity class, target name or table name.\n */\n protected findMetadata(target: EntityTarget<any>): EntityMetadata|undefined {\n return this.entityMetadatas.find(metadata => {\n if (metadata.target === target)\n return true;\n if (target instanceof EntitySchema) {\n return metadata.name === target.options.name;\n }\n if (typeof target === \"string\") {\n if (target.indexOf(\".\") !== -1) {\n return metadata.tablePath === target;\n } else {\n return metadata.name === target || metadata.tableName === target;\n }\n }\n\n return false;\n });\n }\n\n /**\n * Builds metadatas for all registered classes inside this connection.\n */\n protected buildMetadatas(): void {\n\n const connectionMetadataBuilder = new ConnectionMetadataBuilder(this);\n const entityMetadataValidator = new EntityMetadataValidator();\n\n // create subscribers instances if they are not disallowed from high-level (for example they can disallowed from migrations run process)\n const subscribers = connectionMetadataBuilder.buildSubscribers(this.options.subscribers || []);\n ObjectUtils.assign(this, { subscribers: subscribers });\n\n // build entity metadatas\n const entityMetadatas = connectionMetadataBuilder.buildEntityMetadatas(this.options.entities || []);\n ObjectUtils.assign(this, { entityMetadatas: entityMetadatas });\n\n // create migration instances\n const migrations = connectionMetadataBuilder.buildMigrations(this.options.migrations || []);\n ObjectUtils.assign(this, { migrations: migrations });\n\n this.driver.database = this.getDatabaseName();\n\n // validate all created entity metadatas to make sure user created entities are valid and correct\n entityMetadataValidator.validateMany(this.entityMetadatas.filter(metadata => metadata.tableType !== \"view\"), this.driver);\n }\n\n // This database name property is nested for replication configs.\n protected getDatabaseName(): string {\n const options = this.options;\n switch (options.type) {\n case \"mysql\" :\n case \"mariadb\" :\n case \"postgres\":\n case \"cockroachdb\":\n case \"mssql\":\n case \"oracle\":\n return DriverUtils.buildDriverOptions(options.replication ? options.replication.master : options).database;\n default:\n return DriverUtils.buildDriverOptions(options).database;\n }\n}\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/connection/Connection.ts"],"names":[],"mappings":"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","file":"Connection.js","sourcesContent":["import {Driver} from \"../driver/Driver\";\nimport {Repository} from \"../repository/Repository\";\nimport {EntitySubscriberInterface} from \"../subscriber/EntitySubscriberInterface\";\nimport {EntityTarget} from \"../common/EntityTarget\";\nimport {ObjectType} from \"../common/ObjectType\";\nimport {EntityManager} from \"../entity-manager/EntityManager\";\nimport {DefaultNamingStrategy} from \"../naming-strategy/DefaultNamingStrategy\";\nimport {CannotExecuteNotConnectedError} from \"../error/CannotExecuteNotConnectedError\";\nimport {CannotConnectAlreadyConnectedError} from \"../error/CannotConnectAlreadyConnectedError\";\nimport {TreeRepository} from \"../repository/TreeRepository\";\nimport {NamingStrategyInterface} from \"../naming-strategy/NamingStrategyInterface\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {Logger} from \"../logger/Logger\";\nimport {EntityMetadataNotFoundError} from \"../error/EntityMetadataNotFoundError\";\nimport {MigrationInterface} from \"../migration/MigrationInterface\";\nimport {MigrationExecutor} from \"../migration/MigrationExecutor\";\nimport {Migration} from \"../migration/Migration\";\nimport {MongoRepository} from \"../repository/MongoRepository\";\nimport {MongoDriver} from \"../driver/mongodb/MongoDriver\";\nimport {MongoEntityManager} from \"../entity-manager/MongoEntityManager\";\nimport {EntityMetadataValidator} from \"../metadata-builder/EntityMetadataValidator\";\nimport {ConnectionOptions} from \"./ConnectionOptions\";\nimport {QueryRunnerProviderAlreadyReleasedError} from \"../error/QueryRunnerProviderAlreadyReleasedError\";\nimport {EntityManagerFactory} from \"../entity-manager/EntityManagerFactory\";\nimport {DriverFactory} from \"../driver/DriverFactory\";\nimport {ConnectionMetadataBuilder} from \"./ConnectionMetadataBuilder\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {SelectQueryBuilder} from \"../query-builder/SelectQueryBuilder\";\nimport {LoggerFactory} from \"../logger/LoggerFactory\";\nimport {QueryResultCacheFactory} from \"../cache/QueryResultCacheFactory\";\nimport {QueryResultCache} from \"../cache/QueryResultCache\";\nimport {SqljsEntityManager} from \"../entity-manager/SqljsEntityManager\";\nimport {RelationLoader} from \"../query-builder/RelationLoader\";\nimport {RelationIdLoader} from \"../query-builder/RelationIdLoader\";\nimport {EntitySchema} from \"../\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {MysqlDriver} from \"../driver/mysql/MysqlDriver\";\nimport {ObjectUtils} from \"../util/ObjectUtils\";\nimport {IsolationLevel} from \"../driver/types/IsolationLevel\";\nimport {AuroraDataApiDriver} from \"../driver/aurora-data-api/AuroraDataApiDriver\";\nimport {DriverUtils} from \"../driver/DriverUtils\";\nimport {ReplicationMode} from \"../driver/types/ReplicationMode\";\n\n/**\n * Connection is a single database ORM connection to a specific database.\n * Its not required to be a database connection, depend on database type it can create connection pool.\n * You can have multiple connections to multiple databases in your application.\n */\nexport class Connection {\n\n // -------------------------------------------------------------------------\n // Public Readonly Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection name.\n */\n readonly name: string;\n\n /**\n * Connection options.\n */\n readonly options: ConnectionOptions;\n\n /**\n * Indicates if connection is initialized or not.\n */\n readonly isConnected: boolean;\n\n /**\n * Database driver used by this connection.\n */\n readonly driver: Driver;\n\n /**\n * EntityManager of this connection.\n */\n readonly manager: EntityManager;\n\n /**\n * Naming strategy used in the connection.\n */\n readonly namingStrategy: NamingStrategyInterface;\n\n /**\n * Logger used to log orm events.\n */\n readonly logger: Logger;\n\n /**\n * Migration instances that are registered for this connection.\n */\n readonly migrations: MigrationInterface[] = [];\n\n /**\n * Entity subscriber instances that are registered for this connection.\n */\n readonly subscribers: EntitySubscriberInterface<any>[] = [];\n\n /**\n * All entity metadatas that are registered for this connection.\n */\n readonly entityMetadatas: EntityMetadata[] = [];\n\n /**\n * Used to work with query result cache.\n */\n readonly queryResultCache?: QueryResultCache;\n\n /**\n * Used to load relations and work with lazy relations.\n */\n readonly relationLoader: RelationLoader;\n\n /**\n * Used to load relation ids of specific entity relations.\n */\n readonly relationIdLoader: RelationIdLoader;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: ConnectionOptions) {\n this.name = options.name || \"default\";\n this.options = options;\n this.logger = new LoggerFactory().create(this.options.logger, this.options.logging);\n this.driver = new DriverFactory().create(this);\n this.manager = this.createEntityManager();\n this.namingStrategy = options.namingStrategy || new DefaultNamingStrategy();\n this.queryResultCache = options.cache ? new QueryResultCacheFactory(this).create() : undefined;\n this.relationLoader = new RelationLoader(this);\n this.relationIdLoader = new RelationIdLoader(this);\n this.isConnected = false;\n }\n\n // -------------------------------------------------------------------------\n // Public Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the mongodb entity manager that allows to perform mongodb-specific repository operations\n * with any entity in this connection.\n *\n * Available only in mongodb connections.\n */\n get mongoManager(): MongoEntityManager {\n if (!(this.manager instanceof MongoEntityManager))\n throw new Error(`MongoEntityManager is only available for MongoDB databases.`);\n\n return this.manager as MongoEntityManager;\n }\n\n /**\n * Gets a sql.js specific Entity Manager that allows to perform special load and save operations\n *\n * Available only in connection with the sqljs driver.\n */\n get sqljsManager(): SqljsEntityManager {\n if (!(this.manager instanceof SqljsEntityManager))\n throw new Error(`SqljsEntityManager is only available for Sqljs databases.`);\n\n return this.manager as SqljsEntityManager;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * This method should be called once on application bootstrap.\n * This method not necessarily creates database connection (depend on database type),\n * but it also can setup a connection pool with database to use.\n */\n async connect(): Promise<this> {\n if (this.isConnected)\n throw new CannotConnectAlreadyConnectedError(this.name);\n\n // connect to the database via its driver\n await this.driver.connect();\n\n // connect to the cache-specific database if cache is enabled\n if (this.queryResultCache)\n await this.queryResultCache.connect();\n\n // set connected status for the current connection\n ObjectUtils.assign(this, { isConnected: true });\n\n try {\n\n // build all metadatas registered in the current connection\n this.buildMetadatas();\n\n await this.driver.afterConnect();\n\n // if option is set - drop schema once connection is done\n if (this.options.dropSchema)\n await this.dropDatabase();\n\n // if option is set - automatically synchronize a schema\n if (this.options.synchronize)\n await this.synchronize();\n\n // if option is set - automatically synchronize a schema\n if (this.options.migrationsRun)\n await this.runMigrations({ transaction: this.options.migrationsTransactionMode });\n\n } catch (error) {\n\n // if for some reason build metadata fail (for example validation error during entity metadata check)\n // connection needs to be closed\n await this.close();\n throw error;\n }\n\n return this;\n }\n\n /**\n * Closes connection with the database.\n * Once connection is closed, you cannot use repositories or perform any operations except opening connection again.\n */\n async close(): Promise<void> {\n if (!this.isConnected)\n throw new CannotExecuteNotConnectedError(this.name);\n\n await this.driver.disconnect();\n\n // disconnect from the cache-specific database if cache was enabled\n if (this.queryResultCache)\n await this.queryResultCache.disconnect();\n\n ObjectUtils.assign(this, { isConnected: false });\n }\n\n /**\n * Creates database schema for all entities registered in this connection.\n * Can be used only after connection to the database is established.\n *\n * @param dropBeforeSync If set to true then it drops the database with all its tables and data\n */\n async synchronize(dropBeforeSync: boolean = false): Promise<void> {\n\n if (!this.isConnected)\n throw new CannotExecuteNotConnectedError(this.name);\n\n if (dropBeforeSync)\n await this.dropDatabase();\n\n const schemaBuilder = this.driver.createSchemaBuilder();\n await schemaBuilder.build();\n }\n\n /**\n * Drops the database and all its data.\n * Be careful with this method on production since this method will erase all your database tables and their data.\n * Can be used only after connection to the database is established.\n */\n // TODO rename\n async dropDatabase(): Promise<void> {\n const queryRunner = this.createQueryRunner();\n try {\n if (this.driver instanceof SqlServerDriver || this.driver instanceof MysqlDriver || this.driver instanceof AuroraDataApiDriver) {\n const databases: string[] = this.driver.database ? [this.driver.database] : [];\n this.entityMetadatas.forEach(metadata => {\n if (metadata.database && databases.indexOf(metadata.database) === -1)\n databases.push(metadata.database);\n });\n\n for (const database of databases) {\n await queryRunner.clearDatabase(database);\n }\n } else {\n await queryRunner.clearDatabase();\n }\n } finally {\n await queryRunner.release();\n }\n }\n\n /**\n * Runs all pending migrations.\n * Can be used only after connection to the database is established.\n */\n async runMigrations(options?: { transaction?: \"all\" | \"none\" | \"each\" }): Promise<Migration[]> {\n if (!this.isConnected)\n throw new CannotExecuteNotConnectedError(this.name);\n\n const migrationExecutor = new MigrationExecutor(this);\n migrationExecutor.transaction = (options && options.transaction) || \"all\";\n\n const successMigrations = await migrationExecutor.executePendingMigrations();\n return successMigrations;\n }\n\n /**\n * Reverts last executed migration.\n * Can be used only after connection to the database is established.\n */\n async undoLastMigration(options?: { transaction?: \"all\" | \"none\" | \"each\" }): Promise<void> {\n\n if (!this.isConnected)\n throw new CannotExecuteNotConnectedError(this.name);\n\n const migrationExecutor = new MigrationExecutor(this);\n migrationExecutor.transaction = (options && options.transaction) || \"all\";\n\n await migrationExecutor.undoLastMigration();\n }\n\n /**\n * Lists all migrations and whether they have been run.\n * Returns true if there are pending migrations\n */\n async showMigrations(): Promise<boolean> {\n if (!this.isConnected) {\n throw new CannotExecuteNotConnectedError(this.name);\n }\n const migrationExecutor = new MigrationExecutor(this);\n return await migrationExecutor.showMigrations();\n }\n\n /**\n * Checks if entity metadata exist for the given entity class, target name or table name.\n */\n hasMetadata(target: EntityTarget<any>): boolean {\n return !!this.findMetadata(target);\n }\n\n /**\n * Gets entity metadata for the given entity class or schema name.\n */\n getMetadata(target: EntityTarget<any>): EntityMetadata {\n const metadata = this.findMetadata(target);\n if (!metadata)\n throw new EntityMetadataNotFoundError(target);\n\n return metadata;\n }\n\n /**\n * Gets repository for the given entity.\n */\n getRepository<Entity>(target: EntityTarget<Entity>): Repository<Entity> {\n return this.manager.getRepository(target);\n }\n\n /**\n * Gets tree repository for the given entity class or name.\n * Only tree-type entities can have a TreeRepository, like ones decorated with @Tree decorator.\n */\n getTreeRepository<Entity>(target: EntityTarget<Entity>): TreeRepository<Entity> {\n return this.manager.getTreeRepository(target);\n }\n\n /**\n * Gets mongodb-specific repository for the given entity class or name.\n * Works only if connection is mongodb-specific.\n */\n getMongoRepository<Entity>(target: EntityTarget<Entity>): MongoRepository<Entity> {\n if (!(this.driver instanceof MongoDriver))\n throw new Error(`You can use getMongoRepository only for MongoDB connections.`);\n\n return this.manager.getRepository(target) as any;\n }\n\n /**\n * Gets custom entity repository marked with @EntityRepository decorator.\n */\n getCustomRepository<T>(customRepository: ObjectType<T>): T {\n return this.manager.getCustomRepository(customRepository);\n }\n\n /**\n * Wraps given function execution (and all operations made there) into a transaction.\n * All database operations must be executed using provided entity manager.\n */\n async transaction<T>(runInTransaction: (entityManager: EntityManager) => Promise<T>): Promise<T>;\n async transaction<T>(isolationLevel: IsolationLevel, runInTransaction: (entityManager: EntityManager) => Promise<T>): Promise<T>;\n async transaction<T>(\n isolationOrRunInTransaction: IsolationLevel | ((entityManager: EntityManager) => Promise<T>),\n runInTransactionParam?: (entityManager: EntityManager) => Promise<T>\n ): Promise<any> {\n return this.manager.transaction(\n isolationOrRunInTransaction as any,\n runInTransactionParam as any\n );\n }\n\n /**\n * Executes raw SQL query and returns raw database results.\n */\n async query(query: string, parameters?: any[], queryRunner?: QueryRunner): Promise<any> {\n if (this instanceof MongoEntityManager)\n throw new Error(`Queries aren't supported by MongoDB.`);\n\n if (queryRunner && queryRunner.isReleased)\n throw new QueryRunnerProviderAlreadyReleasedError();\n\n const usedQueryRunner = queryRunner || this.createQueryRunner();\n\n try {\n return await usedQueryRunner.query(query, parameters); // await is needed here because we are using finally\n\n } finally {\n if (!queryRunner)\n await usedQueryRunner.release();\n }\n }\n\n /**\n * Creates a new query builder that can be used to build a sql query.\n */\n createQueryBuilder<Entity>(entityClass: EntityTarget<Entity>, alias: string, queryRunner?: QueryRunner): SelectQueryBuilder<Entity>;\n\n /**\n * Creates a new query builder that can be used to build a sql query.\n */\n createQueryBuilder(queryRunner?: QueryRunner): SelectQueryBuilder<any>;\n\n /**\n * Creates a new query builder that can be used to build a sql query.\n */\n createQueryBuilder<Entity>(entityOrRunner?: EntityTarget<Entity>|QueryRunner, alias?: string, queryRunner?: QueryRunner): SelectQueryBuilder<Entity> {\n if (this instanceof MongoEntityManager)\n throw new Error(`Query Builder is not supported by MongoDB.`);\n\n if (alias) {\n const metadata = this.getMetadata(entityOrRunner as EntityTarget<Entity>);\n return new SelectQueryBuilder(this, queryRunner)\n .select(alias)\n .from(metadata.target, alias);\n\n } else {\n return new SelectQueryBuilder(this, entityOrRunner as QueryRunner|undefined);\n }\n }\n\n /**\n * Creates a query runner used for perform queries on a single database connection.\n * Using query runners you can control your queries to execute using single database connection and\n * manually control your database transaction.\n *\n * Mode is used in replication mode and indicates whatever you want to connect\n * to master database or any of slave databases.\n * If you perform writes you must use master database,\n * if you perform reads you can use slave databases.\n */\n createQueryRunner(mode: ReplicationMode = \"master\"): QueryRunner {\n const queryRunner = this.driver.createQueryRunner(mode);\n const manager = this.createEntityManager(queryRunner);\n Object.assign(queryRunner, { manager: manager });\n return queryRunner;\n }\n\n /**\n * Gets entity metadata of the junction table (many-to-many table).\n */\n getManyToManyMetadata(entityTarget: EntityTarget<any>, relationPropertyPath: string) {\n const relationMetadata = this.getMetadata(entityTarget).findRelationWithPropertyPath(relationPropertyPath);\n if (!relationMetadata)\n throw new Error(`Relation \"${relationPropertyPath}\" was not found in ${entityTarget} entity.`);\n if (!relationMetadata.isManyToMany)\n throw new Error(`Relation \"${entityTarget}#${relationPropertyPath}\" does not have a many-to-many relationship.` +\n `You can use this method only on many-to-many relations.`);\n\n return relationMetadata.junctionEntityMetadata;\n }\n\n /**\n * Creates an Entity Manager for the current connection with the help of the EntityManagerFactory.\n */\n createEntityManager(queryRunner?: QueryRunner): EntityManager {\n return new EntityManagerFactory().create(this, queryRunner);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Finds exist entity metadata by the given entity class, target name or table name.\n */\n protected findMetadata(target: EntityTarget<any>): EntityMetadata|undefined {\n return this.entityMetadatas.find(metadata => {\n if (metadata.target === target)\n return true;\n if (target instanceof EntitySchema) {\n return metadata.name === target.options.name;\n }\n if (typeof target === \"string\") {\n if (target.indexOf(\".\") !== -1) {\n return metadata.tablePath === target;\n } else {\n return metadata.name === target || metadata.tableName === target;\n }\n }\n\n return false;\n });\n }\n\n /**\n * Builds metadatas for all registered classes inside this connection.\n */\n protected buildMetadatas(): void {\n\n const connectionMetadataBuilder = new ConnectionMetadataBuilder(this);\n const entityMetadataValidator = new EntityMetadataValidator();\n\n // create subscribers instances if they are not disallowed from high-level (for example they can disallowed from migrations run process)\n const subscribers = connectionMetadataBuilder.buildSubscribers(this.options.subscribers || []);\n ObjectUtils.assign(this, { subscribers: subscribers });\n\n // build entity metadatas\n const entityMetadatas = connectionMetadataBuilder.buildEntityMetadatas(this.options.entities || []);\n ObjectUtils.assign(this, { entityMetadatas: entityMetadatas });\n\n // create migration instances\n const migrations = connectionMetadataBuilder.buildMigrations(this.options.migrations || []);\n ObjectUtils.assign(this, { migrations: migrations });\n\n this.driver.database = this.getDatabaseName();\n\n // validate all created entity metadatas to make sure user created entities are valid and correct\n entityMetadataValidator.validateMany(this.entityMetadatas.filter(metadata => metadata.tableType !== \"view\"), this.driver);\n }\n\n // This database name property is nested for replication configs.\n protected getDatabaseName(): string {\n const options = this.options;\n switch (options.type) {\n case \"mysql\" :\n case \"mariadb\" :\n case \"postgres\":\n case \"cockroachdb\":\n case \"mssql\":\n case \"oracle\":\n return DriverUtils.buildDriverOptions(options.replication ? options.replication.master : options).database;\n case \"mongodb\":\n return DriverUtils.buildMongoDBDriverOptions(options).database;\n default:\n return DriverUtils.buildDriverOptions(options).database;\n }\n}\n\n}\n"],"sourceRoot":".."}
@@ -1,4 +1,4 @@
1
- import { __read, __spread } from "tslib";
1
+ import { __read, __spreadArray } from "tslib";
2
2
  import { importClassesFromDirectories } from "../util/DirectoryExportedClassesLoader";
3
3
  import { OrmUtils } from "../util/OrmUtils";
4
4
  import { getFromContainer } from "../container";
@@ -24,7 +24,7 @@ var ConnectionMetadataBuilder = /** @class */ (function () {
24
24
  */
25
25
  ConnectionMetadataBuilder.prototype.buildMigrations = function (migrations) {
26
26
  var _a = __read(OrmUtils.splitClassesAndStrings(migrations), 2), migrationClasses = _a[0], migrationDirectories = _a[1];
27
- var allMigrationClasses = __spread(migrationClasses, importClassesFromDirectories(this.connection.logger, migrationDirectories));
27
+ var allMigrationClasses = __spreadArray(__spreadArray([], __read(migrationClasses)), __read(importClassesFromDirectories(this.connection.logger, migrationDirectories)));
28
28
  return allMigrationClasses.map(function (migrationClass) { return getFromContainer(migrationClass); });
29
29
  };
30
30
  /**
@@ -32,7 +32,7 @@ var ConnectionMetadataBuilder = /** @class */ (function () {
32
32
  */
33
33
  ConnectionMetadataBuilder.prototype.buildSubscribers = function (subscribers) {
34
34
  var _a = __read(OrmUtils.splitClassesAndStrings(subscribers || []), 2), subscriberClasses = _a[0], subscriberDirectories = _a[1];
35
- var allSubscriberClasses = __spread(subscriberClasses, importClassesFromDirectories(this.connection.logger, subscriberDirectories));
35
+ var allSubscriberClasses = __spreadArray(__spreadArray([], __read(subscriberClasses)), __read(importClassesFromDirectories(this.connection.logger, subscriberDirectories)));
36
36
  return getMetadataArgsStorage()
37
37
  .filterSubscribers(allSubscriberClasses)
38
38
  .map(function (metadata) { return getFromContainer(metadata.target); });
@@ -45,7 +45,7 @@ var ConnectionMetadataBuilder = /** @class */ (function () {
45
45
  var _a = __read(OrmUtils.splitClassesAndStrings(entities || []), 2), entityClassesOrSchemas = _a[0], entityDirectories = _a[1];
46
46
  var entityClasses = entityClassesOrSchemas.filter(function (entityClass) { return (entityClass instanceof EntitySchema) === false; });
47
47
  var entitySchemas = entityClassesOrSchemas.filter(function (entityClass) { return entityClass instanceof EntitySchema; });
48
- var allEntityClasses = __spread(entityClasses, importClassesFromDirectories(this.connection.logger, entityDirectories));
48
+ var allEntityClasses = __spreadArray(__spreadArray([], __read(entityClasses)), __read(importClassesFromDirectories(this.connection.logger, entityDirectories)));
49
49
  allEntityClasses.forEach(function (entityClass) {
50
50
  if (entityClass instanceof EntitySchema) {
51
51
  entitySchemas.push(entityClass);
@@ -55,7 +55,7 @@ var ConnectionMetadataBuilder = /** @class */ (function () {
55
55
  var decoratorEntityMetadatas = new EntityMetadataBuilder(this.connection, getMetadataArgsStorage()).build(allEntityClasses);
56
56
  var metadataArgsStorageFromSchema = new EntitySchemaTransformer().transform(entitySchemas);
57
57
  var schemaEntityMetadatas = new EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();
58
- return __spread(decoratorEntityMetadatas, schemaEntityMetadatas);
58
+ return __spreadArray(__spreadArray([], __read(decoratorEntityMetadatas)), __read(schemaEntityMetadatas));
59
59
  };
60
60
  return ConnectionMetadataBuilder;
61
61
  }());
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/connection/ConnectionMetadataBuilder.ts"],"names":[],"mappings":"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","file":"ConnectionMetadataBuilder.js","sourcesContent":["import {importClassesFromDirectories} from \"../util/DirectoryExportedClassesLoader\";\nimport {OrmUtils} from \"../util/OrmUtils\";\nimport {getFromContainer} from \"../container\";\nimport {MigrationInterface} from \"../migration/MigrationInterface\";\nimport {getMetadataArgsStorage} from \"../index\";\nimport {EntityMetadataBuilder} from \"../metadata-builder/EntityMetadataBuilder\";\nimport {EntitySchemaTransformer} from \"../entity-schema/EntitySchemaTransformer\";\nimport {Connection} from \"./Connection\";\nimport {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {EntitySubscriberInterface} from \"../subscriber/EntitySubscriberInterface\";\n\n/**\n * Builds migration instances, subscriber instances and entity metadatas for the given classes.\n */\nexport class ConnectionMetadataBuilder {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds migration instances for the given classes or directories.\n */\n buildMigrations(migrations: (Function|string)[]): MigrationInterface[] {\n const [migrationClasses, migrationDirectories] = OrmUtils.splitClassesAndStrings(migrations);\n const allMigrationClasses = [...migrationClasses, ...importClassesFromDirectories(this.connection.logger, migrationDirectories)];\n return allMigrationClasses.map(migrationClass => getFromContainer<MigrationInterface>(migrationClass));\n }\n\n /**\n * Builds subscriber instances for the given classes or directories.\n */\n buildSubscribers(subscribers: (Function|string)[]): EntitySubscriberInterface<any>[] {\n const [subscriberClasses, subscriberDirectories] = OrmUtils.splitClassesAndStrings(subscribers || []);\n const allSubscriberClasses = [...subscriberClasses, ...importClassesFromDirectories(this.connection.logger, subscriberDirectories)];\n return getMetadataArgsStorage()\n .filterSubscribers(allSubscriberClasses)\n .map(metadata => getFromContainer<EntitySubscriberInterface<any>>(metadata.target));\n }\n\n /**\n * Builds entity metadatas for the given classes or directories.\n */\n buildEntityMetadatas(entities: (Function|EntitySchema<any>|string)[]): EntityMetadata[] {\n // todo: instead we need to merge multiple metadata args storages\n\n const [entityClassesOrSchemas, entityDirectories] = OrmUtils.splitClassesAndStrings(entities || []);\n const entityClasses: Function[] = entityClassesOrSchemas.filter(entityClass => (entityClass instanceof EntitySchema) === false) as any;\n const entitySchemas: EntitySchema<any>[] = entityClassesOrSchemas.filter(entityClass => entityClass instanceof EntitySchema) as any;\n\n const allEntityClasses = [...entityClasses, ...importClassesFromDirectories(this.connection.logger, entityDirectories)];\n allEntityClasses.forEach(entityClass => { // if we have entity schemas loaded from directories\n if (entityClass instanceof EntitySchema) {\n entitySchemas.push(entityClass);\n allEntityClasses.slice(allEntityClasses.indexOf(entityClass), 1);\n }\n });\n const decoratorEntityMetadatas = new EntityMetadataBuilder(this.connection, getMetadataArgsStorage()).build(allEntityClasses);\n\n const metadataArgsStorageFromSchema = new EntitySchemaTransformer().transform(entitySchemas);\n const schemaEntityMetadatas = new EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();\n\n return [...decoratorEntityMetadatas, ...schemaEntityMetadatas];\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/connection/ConnectionMetadataBuilder.ts"],"names":[],"mappings":"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","file":"ConnectionMetadataBuilder.js","sourcesContent":["import {importClassesFromDirectories} from \"../util/DirectoryExportedClassesLoader\";\nimport {OrmUtils} from \"../util/OrmUtils\";\nimport {getFromContainer} from \"../container\";\nimport {MigrationInterface} from \"../migration/MigrationInterface\";\nimport {getMetadataArgsStorage} from \"../index\";\nimport {EntityMetadataBuilder} from \"../metadata-builder/EntityMetadataBuilder\";\nimport {EntitySchemaTransformer} from \"../entity-schema/EntitySchemaTransformer\";\nimport {Connection} from \"./Connection\";\nimport {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {EntitySubscriberInterface} from \"../subscriber/EntitySubscriberInterface\";\n\n/**\n * Builds migration instances, subscriber instances and entity metadatas for the given classes.\n */\nexport class ConnectionMetadataBuilder {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds migration instances for the given classes or directories.\n */\n buildMigrations(migrations: (Function|string)[]): MigrationInterface[] {\n const [migrationClasses, migrationDirectories] = OrmUtils.splitClassesAndStrings(migrations);\n const allMigrationClasses = [...migrationClasses, ...importClassesFromDirectories(this.connection.logger, migrationDirectories)];\n return allMigrationClasses.map(migrationClass => getFromContainer<MigrationInterface>(migrationClass));\n }\n\n /**\n * Builds subscriber instances for the given classes or directories.\n */\n buildSubscribers(subscribers: (Function|string)[]): EntitySubscriberInterface<any>[] {\n const [subscriberClasses, subscriberDirectories] = OrmUtils.splitClassesAndStrings(subscribers || []);\n const allSubscriberClasses = [...subscriberClasses, ...importClassesFromDirectories(this.connection.logger, subscriberDirectories)];\n return getMetadataArgsStorage()\n .filterSubscribers(allSubscriberClasses)\n .map(metadata => getFromContainer<EntitySubscriberInterface<any>>(metadata.target));\n }\n\n /**\n * Builds entity metadatas for the given classes or directories.\n */\n buildEntityMetadatas(entities: (Function|EntitySchema<any>|string)[]): EntityMetadata[] {\n // todo: instead we need to merge multiple metadata args storages\n\n const [entityClassesOrSchemas, entityDirectories] = OrmUtils.splitClassesAndStrings(entities || []);\n const entityClasses: Function[] = entityClassesOrSchemas.filter(entityClass => (entityClass instanceof EntitySchema) === false) as any;\n const entitySchemas: EntitySchema<any>[] = entityClassesOrSchemas.filter(entityClass => entityClass instanceof EntitySchema) as any;\n\n const allEntityClasses = [...entityClasses, ...importClassesFromDirectories(this.connection.logger, entityDirectories)];\n allEntityClasses.forEach(entityClass => { // if we have entity schemas loaded from directories\n if (entityClass instanceof EntitySchema) {\n entitySchemas.push(entityClass);\n allEntityClasses.slice(allEntityClasses.indexOf(entityClass), 1);\n }\n });\n const decoratorEntityMetadatas = new EntityMetadataBuilder(this.connection, getMetadataArgsStorage()).build(allEntityClasses);\n\n const metadataArgsStorageFromSchema = new EntitySchemaTransformer().transform(entitySchemas);\n const schemaEntityMetadatas = new EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();\n\n return [...decoratorEntityMetadatas, ...schemaEntityMetadatas];\n }\n\n}"],"sourceRoot":".."}
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=ConnectionOptions.js.map
@@ -52,13 +52,13 @@ export declare class ConnectionOptionsReader {
52
52
  /**
53
53
  * Gets directory where configuration file should be located and configuration file name.
54
54
  */
55
- protected readonly baseFilePath: string;
55
+ protected get baseFilePath(): string;
56
56
  /**
57
57
  * Gets directory where configuration file should be located.
58
58
  */
59
- protected readonly baseDirectory: string;
59
+ protected get baseDirectory(): string;
60
60
  /**
61
61
  * Gets configuration file name.
62
62
  */
63
- protected readonly baseConfigName: string;
63
+ protected get baseConfigName(): string;
64
64
  }