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
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=ReactNativeConnectionOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=SapConnectionCredentialsOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=SapConnectionOptions.js.map
@@ -140,7 +140,7 @@ export declare class SapDriver implements Driver {
140
140
  /**
141
141
  * Normalizes "default" value of the column.
142
142
  */
143
- normalizeDefault(columnMetadata: ColumnMetadata): string;
143
+ normalizeDefault(columnMetadata: ColumnMetadata): string | undefined;
144
144
  /**
145
145
  * Normalizes "isUnique" value of the column.
146
146
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/sap/SapDriver.ts"],"names":[],"mappings":"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","file":"SapDriver.js","sourcesContent":["import {ColumnType, Connection, EntityMetadata, ObjectLiteral, TableColumn} from \"../..\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {Driver} from \"../Driver\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {SapConnectionOptions} from \"./SapConnectionOptions\";\nimport {SapQueryRunner} from \"./SapQueryRunner\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with SAP Hana DBMS.\n *\n * todo: looks like there is no built in support for connection pooling, we need to figure out something\n */\nexport class SapDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: Connection;\n\n /**\n * Hana Pool instance.\n */\n client: any;\n\n /**\n * Pool for master database.\n */\n master: any;\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = [];\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: SapConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true;\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/en-US/20a1569875191014b507cf392724b7eb.html\n */\n supportedDataTypes: ColumnType[] = [\n \"tinyint\",\n \"smallint\",\n \"int\",\n \"integer\",\n \"bigint\",\n \"smalldecimal\",\n \"decimal\",\n \"dec\",\n \"real\",\n \"double\",\n \"float\",\n \"date\",\n \"time\",\n \"seconddate\",\n \"timestamp\",\n \"boolean\",\n \"char\",\n \"nchar\",\n \"varchar\",\n \"nvarchar\",\n \"text\",\n \"alphanum\",\n \"shorttext\",\n \"array\",\n \"varbinary\",\n \"blob\",\n \"clob\",\n \"nclob\",\n \"st_geometry\",\n \"st_point\",\n ];\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [\n \"st_geometry\",\n \"st_point\",\n ];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"varchar\",\n \"nvarchar\",\n \"alphanum\",\n \"shorttext\",\n \"varbinary\"\n ];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"decimal\",\n ];\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"decimal\",\n ];\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"timestamp\",\n createDateDefault: \"CURRENT_TIMESTAMP\",\n updateDate: \"timestamp\",\n updateDateDefault: \"CURRENT_TIMESTAMP\",\n deleteDate: \"timestamp\",\n deleteDateNullable: true,\n version: \"integer\",\n treeLevel: \"integer\",\n migrationId: \"integer\",\n migrationName: \"nvarchar\",\n migrationTimestamp: \"bigint\",\n cacheId: \"integer\",\n cacheIdentifier: \"nvarchar\",\n cacheTime: \"bigint\",\n cacheDuration: \"integer\",\n cacheQuery: \"nvarchar(5000)\" as any,\n cacheResult: \"text\",\n metadataType: \"nvarchar\",\n metadataDatabase: \"nvarchar\",\n metadataSchema: \"nvarchar\",\n metadataTable: \"nvarchar\",\n metadataName: \"nvarchar\",\n metadataValue: \"nvarchar(5000)\" as any,\n };\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n \"char\": { length: 1 },\n \"nchar\": { length: 1 },\n \"varchar\": { length: 255 },\n \"nvarchar\": { length: 255 },\n \"shorttext\": { length: 255 },\n \"varbinary\": { length: 255 },\n \"decimal\": { precision: 18, scale: 0 },\n };\n\n /**\n * Max length allowed by SAP HANA for aliases (identifiers).\n * @see https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/en-US/20a760537519101497e3cfe07b348f3c.html\n */\n maxAliasLength = 128;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as SapConnectionOptions;\n this.loadDependencies();\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n // HANA connection info\n const dbParams = {\n hostName: this.options.host,\n port: this.options.port,\n userName: this.options.username,\n password: this.options.password,\n ...this.options.extra\n };\n\n if (this.options.database) dbParams.databaseName = this.options.database;\n if (this.options.encrypt) dbParams.encrypt = this.options.encrypt;\n if (this.options.sslValidateCertificate) dbParams.validateCertificate = this.options.sslValidateCertificate;\n if (this.options.key) dbParams.key = this.options.key;\n if (this.options.cert) dbParams.cert = this.options.cert;\n if (this.options.ca) dbParams.ca = this.options.ca;\n\n // pool options\n const options: any = {\n min: this.options.pool && this.options.pool.min ? this.options.pool.min : 1,\n max: this.options.pool && this.options.pool.max ? this.options.pool.max : 10,\n };\n\n if (this.options.pool && this.options.pool.checkInterval) options.checkInterval = this.options.pool.checkInterval;\n if (this.options.pool && this.options.pool.maxWaitingRequests) options.maxWaitingRequests = this.options.pool.maxWaitingRequests;\n if (this.options.pool && this.options.pool.requestTimeout) options.requestTimeout = this.options.pool.requestTimeout;\n if (this.options.pool && this.options.pool.idleTimeout) options.idleTimeout = this.options.pool.idleTimeout;\n\n const { logger } = this.connection;\n\n const poolErrorHandler = options.poolErrorHandler || ((error: any) => logger.log(\"warn\", `SAP Hana pool raised an error. ${error}`));\n this.client.eventEmitter.on(\"poolError\", poolErrorHandler);\n\n // create the pool\n this.master = this.client.createPool(dbParams, options);\n\n this.database = this.options.database;\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n const promise = this.master.clear();\n this.master = undefined;\n return promise;\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new SapQueryRunner(this, mode);\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const builtParameters: any[] = Object.keys(nativeParameters).map(key => {\n\n if (nativeParameters[key] instanceof Date)\n return DateUtils.mixedDateToDatetimeString(nativeParameters[key], true);\n\n return nativeParameters[key];\n });\n\n if (!parameters || !Object.keys(parameters).length)\n return [sql, builtParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: string): string => {\n let value: any;\n let isArray = false;\n if (key.substr(0, 4) === \":...\") {\n isArray = true;\n value = parameters[key.substr(4)];\n } else {\n value = parameters[key.substr(1)];\n }\n\n if (isArray) {\n return value.map((v: any) => {\n builtParameters.push(v);\n return \"?\";\n // return \"$\" + builtParameters.length;\n }).join(\", \");\n\n } else if (value instanceof Function) {\n return value();\n\n } else if (value instanceof Date) {\n return DateUtils.mixedDateToDatetimeString(value, true);\n\n } else {\n builtParameters.push(value);\n return \"?\";\n // return \"$\" + builtParameters.length;\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, builtParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`;\n }\n\n /**\n * Build full table name with schema name and table name.\n * E.g. \"mySchema\".\"myTable\"\n */\n buildTableName(tableName: string, schema?: string): string {\n return schema ? `${schema}.${tableName}` : tableName;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n\n if (value === null || value === undefined)\n return value;\n\n if (columnMetadata.type === Boolean) {\n return value === true ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n return DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n return DateUtils.mixedDateToTimeString(value);\n\n } else if (columnMetadata.type === \"timestamp\"\n || columnMetadata.type === Date) {\n return DateUtils.mixedDateToDatetimeString(value, true);\n\n } else if (columnMetadata.type === \"seconddate\") {\n return DateUtils.mixedDateToDatetimeString(value, false);\n\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value);\n\n } else if (columnMetadata.type === \"simple-enum\") {\n return DateUtils.simpleEnumToString(value);\n\n } else if (columnMetadata.isArray) {\n return () => `ARRAY(${value.map((it: any) => `'${it}'`)})`;\n }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean) {\n value = value ? true : false;\n\n } else if (columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"seconddate\"\n || columnMetadata.type === Date) {\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value);\n\n } else if (columnMetadata.type === \"simple-enum\") {\n value = DateUtils.stringToSimpleEnum(value, columnMetadata);\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number|null, scale?: number }): string {\n if (column.type === Number || column.type === \"int\") {\n return \"integer\";\n\n } else if (column.type === String) {\n return \"nvarchar\";\n\n } else if (column.type === Date) {\n return \"timestamp\";\n\n } else if (column.type === Boolean) {\n return \"boolean\";\n\n } else if ((column.type as any) === Buffer) {\n return \"blob\";\n\n } else if (column.type === \"uuid\") {\n return \"nvarchar\";\n\n } else if (column.type === \"simple-array\" || column.type === \"simple-json\") {\n return \"text\";\n\n } else if (column.type === \"simple-enum\") {\n return \"nvarchar\";\n\n } else {\n return column.type as string || \"\";\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string {\n const defaultValue = columnMetadata.default;\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue;\n\n } else if (typeof defaultValue === \"boolean\") {\n return defaultValue === true ? \"true\" : \"false\";\n\n } else if (typeof defaultValue === \"function\") {\n return defaultValue();\n\n } else if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`;\n\n } else {\n return defaultValue;\n }\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.indices.some(idx => idx.isUnique && idx.columns.length === 1 && idx.columns[0] === column);\n }\n\n /**\n * Returns default column lengths, which is required on column creation.\n */\n getColumnLength(column: ColumnMetadata|TableColumn): string {\n if (column.length)\n return column.length.toString();\n\n if (column.generationStrategy === \"uuid\")\n return \"36\";\n\n switch (column.type) {\n case \"varchar\":\n case \"nvarchar\":\n case \"shorttext\":\n case String:\n return \"255\";\n case \"alphanum\":\n return \"127\";\n case \"varbinary\":\n return \"255\";\n }\n\n return \"\";\n }\n\n /**\n * Creates column type definition including length, precision and scale\n */\n createFullType(column: TableColumn): string {\n let type = column.type;\n\n // used 'getColumnLength()' method, because SqlServer sets `varchar` and `nvarchar` length to 1 by default.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`;\n\n } else if (column.precision !== null && column.precision !== undefined && column.scale !== null && column.scale !== undefined) {\n type += `(${column.precision},${column.scale})`;\n\n } else if (column.precision !== null && column.precision !== undefined) {\n type += `(${column.precision})`;\n }\n\n if (column.isArray)\n type += \" array\";\n\n return type;\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return this.master.getConnection();\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n return this.obtainMasterConnection();\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n const generatedMap = metadata.generatedColumns.reduce((map, generatedColumn) => {\n let value: any;\n if (generatedColumn.generationStrategy === \"increment\" && insertResult) {\n value = insertResult;\n // } else if (generatedColumn.generationStrategy === \"uuid\") {\n // console.log(\"getting db value:\", generatedColumn.databaseName);\n // value = generatedColumn.getEntityValue(uuidMap);\n }\n\n return OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));\n }, {} as ObjectLiteral);\n\n return Object.keys(generatedMap).length > 0 ? generatedMap : undefined;\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n return columnMetadatas.filter(columnMetadata => {\n const tableColumn = tableColumns.find(c => c.name === columnMetadata.databaseName);\n if (!tableColumn)\n return false; // we don't need new columns, we only need exist and changed\n\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName);\n // console.log(\"name:\", tableColumn.name, columnMetadata.databaseName);\n // console.log(\"type:\", tableColumn.type, _this.normalizeType(columnMetadata));\n // console.log(\"length:\", tableColumn.length, _this.getColumnLength(columnMetadata));\n // console.log(\"width:\", tableColumn.width, columnMetadata.width);\n // console.log(\"precision:\", tableColumn.precision, columnMetadata.precision);\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale);\n // console.log(\"default:\", tableColumn.default, columnMetadata.default);\n // console.log(\"isPrimary:\", tableColumn.isPrimary, columnMetadata.isPrimary);\n // console.log(\"isNullable:\", tableColumn.isNullable, columnMetadata.isNullable);\n // console.log(\"isUnique:\", tableColumn.isUnique, _this.normalizeIsUnique(columnMetadata));\n // console.log(\"isGenerated:\", tableColumn.isGenerated, columnMetadata.isGenerated);\n // console.log((columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated));\n // console.log(\"==========================================\");\n\n const normalizeDefault = this.normalizeDefault(columnMetadata);\n const hanaNullComapatibleDefault = normalizeDefault == null ? undefined : normalizeDefault;\n\n return tableColumn.name !== columnMetadata.databaseName\n || tableColumn.type !== this.normalizeType(columnMetadata)\n || columnMetadata.length && tableColumn.length !== this.getColumnLength(columnMetadata)\n || tableColumn.precision !== columnMetadata.precision\n || tableColumn.scale !== columnMetadata.scale\n // || tableColumn.comment !== columnMetadata.comment || // todo\n || (!tableColumn.isGenerated && (hanaNullComapatibleDefault !== tableColumn.default)) // we included check for generated here, because generated columns already can have default values\n || tableColumn.isPrimary !== columnMetadata.isPrimary\n || tableColumn.isNullable !== columnMetadata.isNullable\n || tableColumn.isUnique !== this.normalizeIsUnique(columnMetadata)\n || (columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated);\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return true;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \"?\";\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n try {\n this.client = PlatformTools.load(\"hdb-pool\");\n\n } catch (e) { // todo: better error for browser env\n throw new DriverPackageNotInstalledError(\"SAP Hana\", \"hdb-pool\");\n }\n\n try {\n PlatformTools.load(\"@sap/hana-client\");\n\n } catch (e) { // todo: better error for browser env\n throw new DriverPackageNotInstalledError(\"SAP Hana\", \"@sap/hana-client\");\n }\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/sap/SapDriver.ts"],"names":[],"mappings":"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","file":"SapDriver.js","sourcesContent":["import {ColumnType, Connection, EntityMetadata, ObjectLiteral, TableColumn} from \"../..\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {Driver} from \"../Driver\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {SapConnectionOptions} from \"./SapConnectionOptions\";\nimport {SapQueryRunner} from \"./SapQueryRunner\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with SAP Hana DBMS.\n *\n * todo: looks like there is no built in support for connection pooling, we need to figure out something\n */\nexport class SapDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: Connection;\n\n /**\n * Hana Pool instance.\n */\n client: any;\n\n /**\n * Pool for master database.\n */\n master: any;\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = [];\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: SapConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true;\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/en-US/20a1569875191014b507cf392724b7eb.html\n */\n supportedDataTypes: ColumnType[] = [\n \"tinyint\",\n \"smallint\",\n \"int\",\n \"integer\",\n \"bigint\",\n \"smalldecimal\",\n \"decimal\",\n \"dec\",\n \"real\",\n \"double\",\n \"float\",\n \"date\",\n \"time\",\n \"seconddate\",\n \"timestamp\",\n \"boolean\",\n \"char\",\n \"nchar\",\n \"varchar\",\n \"nvarchar\",\n \"text\",\n \"alphanum\",\n \"shorttext\",\n \"array\",\n \"varbinary\",\n \"blob\",\n \"clob\",\n \"nclob\",\n \"st_geometry\",\n \"st_point\",\n ];\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [\n \"st_geometry\",\n \"st_point\",\n ];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"varchar\",\n \"nvarchar\",\n \"alphanum\",\n \"shorttext\",\n \"varbinary\"\n ];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"decimal\",\n ];\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"decimal\",\n ];\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"timestamp\",\n createDateDefault: \"CURRENT_TIMESTAMP\",\n updateDate: \"timestamp\",\n updateDateDefault: \"CURRENT_TIMESTAMP\",\n deleteDate: \"timestamp\",\n deleteDateNullable: true,\n version: \"integer\",\n treeLevel: \"integer\",\n migrationId: \"integer\",\n migrationName: \"nvarchar\",\n migrationTimestamp: \"bigint\",\n cacheId: \"integer\",\n cacheIdentifier: \"nvarchar\",\n cacheTime: \"bigint\",\n cacheDuration: \"integer\",\n cacheQuery: \"nvarchar(5000)\" as any,\n cacheResult: \"text\",\n metadataType: \"nvarchar\",\n metadataDatabase: \"nvarchar\",\n metadataSchema: \"nvarchar\",\n metadataTable: \"nvarchar\",\n metadataName: \"nvarchar\",\n metadataValue: \"nvarchar(5000)\" as any,\n };\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n \"char\": { length: 1 },\n \"nchar\": { length: 1 },\n \"varchar\": { length: 255 },\n \"nvarchar\": { length: 255 },\n \"shorttext\": { length: 255 },\n \"varbinary\": { length: 255 },\n \"decimal\": { precision: 18, scale: 0 },\n };\n\n /**\n * Max length allowed by SAP HANA for aliases (identifiers).\n * @see https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/en-US/20a760537519101497e3cfe07b348f3c.html\n */\n maxAliasLength = 128;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as SapConnectionOptions;\n this.loadDependencies();\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n // HANA connection info\n const dbParams = {\n hostName: this.options.host,\n port: this.options.port,\n userName: this.options.username,\n password: this.options.password,\n ...this.options.extra\n };\n\n if (this.options.database) dbParams.databaseName = this.options.database;\n if (this.options.encrypt) dbParams.encrypt = this.options.encrypt;\n if (this.options.sslValidateCertificate) dbParams.validateCertificate = this.options.sslValidateCertificate;\n if (this.options.key) dbParams.key = this.options.key;\n if (this.options.cert) dbParams.cert = this.options.cert;\n if (this.options.ca) dbParams.ca = this.options.ca;\n\n // pool options\n const options: any = {\n min: this.options.pool && this.options.pool.min ? this.options.pool.min : 1,\n max: this.options.pool && this.options.pool.max ? this.options.pool.max : 10,\n };\n\n if (this.options.pool && this.options.pool.checkInterval) options.checkInterval = this.options.pool.checkInterval;\n if (this.options.pool && this.options.pool.maxWaitingRequests) options.maxWaitingRequests = this.options.pool.maxWaitingRequests;\n if (this.options.pool && this.options.pool.requestTimeout) options.requestTimeout = this.options.pool.requestTimeout;\n if (this.options.pool && this.options.pool.idleTimeout) options.idleTimeout = this.options.pool.idleTimeout;\n\n const { logger } = this.connection;\n\n const poolErrorHandler = options.poolErrorHandler || ((error: any) => logger.log(\"warn\", `SAP Hana pool raised an error. ${error}`));\n this.client.eventEmitter.on(\"poolError\", poolErrorHandler);\n\n // create the pool\n this.master = this.client.createPool(dbParams, options);\n\n this.database = this.options.database;\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n const promise = this.master.clear();\n this.master = undefined;\n return promise;\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new SapQueryRunner(this, mode);\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const builtParameters: any[] = Object.keys(nativeParameters).map(key => {\n\n if (nativeParameters[key] instanceof Date)\n return DateUtils.mixedDateToDatetimeString(nativeParameters[key], true);\n\n return nativeParameters[key];\n });\n\n if (!parameters || !Object.keys(parameters).length)\n return [sql, builtParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: string): string => {\n let value: any;\n let isArray = false;\n if (key.substr(0, 4) === \":...\") {\n isArray = true;\n value = parameters[key.substr(4)];\n } else {\n value = parameters[key.substr(1)];\n }\n\n if (isArray) {\n return value.map((v: any) => {\n builtParameters.push(v);\n return \"?\";\n // return \"$\" + builtParameters.length;\n }).join(\", \");\n\n } else if (value instanceof Function) {\n return value();\n\n } else if (value instanceof Date) {\n return DateUtils.mixedDateToDatetimeString(value, true);\n\n } else {\n builtParameters.push(value);\n return \"?\";\n // return \"$\" + builtParameters.length;\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, builtParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`;\n }\n\n /**\n * Build full table name with schema name and table name.\n * E.g. \"mySchema\".\"myTable\"\n */\n buildTableName(tableName: string, schema?: string): string {\n return schema ? `${schema}.${tableName}` : tableName;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n\n if (value === null || value === undefined)\n return value;\n\n if (columnMetadata.type === Boolean) {\n return value === true ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n return DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n return DateUtils.mixedDateToTimeString(value);\n\n } else if (columnMetadata.type === \"timestamp\"\n || columnMetadata.type === Date) {\n return DateUtils.mixedDateToDatetimeString(value, true);\n\n } else if (columnMetadata.type === \"seconddate\") {\n return DateUtils.mixedDateToDatetimeString(value, false);\n\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value);\n\n } else if (columnMetadata.type === \"simple-enum\") {\n return DateUtils.simpleEnumToString(value);\n\n } else if (columnMetadata.isArray) {\n return () => `ARRAY(${value.map((it: any) => `'${it}'`)})`;\n }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean) {\n value = value ? true : false;\n\n } else if (columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"seconddate\"\n || columnMetadata.type === Date) {\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value);\n\n } else if (columnMetadata.type === \"simple-enum\") {\n value = DateUtils.stringToSimpleEnum(value, columnMetadata);\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number|null, scale?: number }): string {\n if (column.type === Number || column.type === \"int\") {\n return \"integer\";\n\n } else if (column.type === String) {\n return \"nvarchar\";\n\n } else if (column.type === Date) {\n return \"timestamp\";\n\n } else if (column.type === Boolean) {\n return \"boolean\";\n\n } else if ((column.type as any) === Buffer) {\n return \"blob\";\n\n } else if (column.type === \"uuid\") {\n return \"nvarchar\";\n\n } else if (column.type === \"simple-array\" || column.type === \"simple-json\") {\n return \"text\";\n\n } else if (column.type === \"simple-enum\") {\n return \"nvarchar\";\n\n } else {\n return column.type as string || \"\";\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined {\n const defaultValue = columnMetadata.default;\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue;\n\n } else if (typeof defaultValue === \"boolean\") {\n return defaultValue === true ? \"true\" : \"false\";\n\n } else if (typeof defaultValue === \"function\") {\n return defaultValue();\n\n } else if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`;\n\n } else {\n return defaultValue;\n }\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.indices.some(idx => idx.isUnique && idx.columns.length === 1 && idx.columns[0] === column);\n }\n\n /**\n * Returns default column lengths, which is required on column creation.\n */\n getColumnLength(column: ColumnMetadata|TableColumn): string {\n if (column.length)\n return column.length.toString();\n\n if (column.generationStrategy === \"uuid\")\n return \"36\";\n\n switch (column.type) {\n case \"varchar\":\n case \"nvarchar\":\n case \"shorttext\":\n case String:\n return \"255\";\n case \"alphanum\":\n return \"127\";\n case \"varbinary\":\n return \"255\";\n }\n\n return \"\";\n }\n\n /**\n * Creates column type definition including length, precision and scale\n */\n createFullType(column: TableColumn): string {\n let type = column.type;\n\n // used 'getColumnLength()' method, because SqlServer sets `varchar` and `nvarchar` length to 1 by default.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`;\n\n } else if (column.precision !== null && column.precision !== undefined && column.scale !== null && column.scale !== undefined) {\n type += `(${column.precision},${column.scale})`;\n\n } else if (column.precision !== null && column.precision !== undefined) {\n type += `(${column.precision})`;\n }\n\n if (column.isArray)\n type += \" array\";\n\n return type;\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return this.master.getConnection();\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n return this.obtainMasterConnection();\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n const generatedMap = metadata.generatedColumns.reduce((map, generatedColumn) => {\n let value: any;\n if (generatedColumn.generationStrategy === \"increment\" && insertResult) {\n value = insertResult;\n // } else if (generatedColumn.generationStrategy === \"uuid\") {\n // console.log(\"getting db value:\", generatedColumn.databaseName);\n // value = generatedColumn.getEntityValue(uuidMap);\n }\n\n return OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));\n }, {} as ObjectLiteral);\n\n return Object.keys(generatedMap).length > 0 ? generatedMap : undefined;\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n return columnMetadatas.filter(columnMetadata => {\n const tableColumn = tableColumns.find(c => c.name === columnMetadata.databaseName);\n if (!tableColumn)\n return false; // we don't need new columns, we only need exist and changed\n\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName);\n // console.log(\"name:\", tableColumn.name, columnMetadata.databaseName);\n // console.log(\"type:\", tableColumn.type, _this.normalizeType(columnMetadata));\n // console.log(\"length:\", tableColumn.length, _this.getColumnLength(columnMetadata));\n // console.log(\"width:\", tableColumn.width, columnMetadata.width);\n // console.log(\"precision:\", tableColumn.precision, columnMetadata.precision);\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale);\n // console.log(\"default:\", tableColumn.default, columnMetadata.default);\n // console.log(\"isPrimary:\", tableColumn.isPrimary, columnMetadata.isPrimary);\n // console.log(\"isNullable:\", tableColumn.isNullable, columnMetadata.isNullable);\n // console.log(\"isUnique:\", tableColumn.isUnique, _this.normalizeIsUnique(columnMetadata));\n // console.log(\"isGenerated:\", tableColumn.isGenerated, columnMetadata.isGenerated);\n // console.log((columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated));\n // console.log(\"==========================================\");\n\n const normalizeDefault = this.normalizeDefault(columnMetadata);\n const hanaNullComapatibleDefault = normalizeDefault == null ? undefined : normalizeDefault;\n\n return tableColumn.name !== columnMetadata.databaseName\n || tableColumn.type !== this.normalizeType(columnMetadata)\n || columnMetadata.length && tableColumn.length !== this.getColumnLength(columnMetadata)\n || tableColumn.precision !== columnMetadata.precision\n || tableColumn.scale !== columnMetadata.scale\n // || tableColumn.comment !== columnMetadata.comment || // todo\n || (!tableColumn.isGenerated && (hanaNullComapatibleDefault !== tableColumn.default)) // we included check for generated here, because generated columns already can have default values\n || tableColumn.isPrimary !== columnMetadata.isPrimary\n || tableColumn.isNullable !== columnMetadata.isNullable\n || tableColumn.isUnique !== this.normalizeIsUnique(columnMetadata)\n || (columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated);\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return true;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \"?\";\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n try {\n this.client = PlatformTools.load(\"hdb-pool\");\n\n } catch (e) { // todo: better error for browser env\n throw new DriverPackageNotInstalledError(\"SAP Hana\", \"hdb-pool\");\n }\n\n try {\n PlatformTools.load(\"@sap/hana-client\");\n\n } catch (e) { // todo: better error for browser env\n throw new DriverPackageNotInstalledError(\"SAP Hana\", \"@sap/hana-client\");\n }\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -1,4 +1,4 @@
1
- import { __awaiter, __extends, __generator, __read, __spread, __values } from "tslib";
1
+ import { __awaiter, __extends, __generator, __read, __spreadArray, __values } from "tslib";
2
2
  import { QueryRunnerAlreadyReleasedError } from "../../error/QueryRunnerAlreadyReleasedError";
3
3
  import { TransactionAlreadyStartedError } from "../../error/TransactionAlreadyStartedError";
4
4
  import { TransactionNotStartedError } from "../../error/TransactionNotStartedError";
@@ -203,7 +203,7 @@ var SapQueryRunner = /** @class */ (function (_super) {
203
203
  throw new QueryRunnerAlreadyReleasedError();
204
204
  waitingPromise = new Promise(function (ok) { return waitingOkay = ok; });
205
205
  if (!this.queryResponsibilityChain.length) return [3 /*break*/, 2];
206
- otherWaitingPromises = __spread(this.queryResponsibilityChain);
206
+ otherWaitingPromises = __spreadArray([], __read(this.queryResponsibilityChain));
207
207
  this.queryResponsibilityChain.push(waitingPromise);
208
208
  return [4 /*yield*/, Promise.all(otherWaitingPromises)];
209
209
  case 1: