typeorm 0.2.28 → 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 (1178) hide show
  1. package/README.md +54 -49
  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.d.ts +6 -0
  6. package/browser/common/EntityFieldsNames.js +3 -0
  7. package/browser/common/EntityFieldsNames.js.map +1 -0
  8. package/browser/common/EntityTarget.js +1 -1
  9. package/browser/common/ObjectLiteral.js +1 -1
  10. package/browser/common/ObjectType.js +1 -1
  11. package/browser/connection/BaseConnectionOptions.js +1 -1
  12. package/browser/connection/Connection.d.ts +2 -2
  13. package/browser/connection/Connection.js +4 -2
  14. package/browser/connection/Connection.js.map +1 -1
  15. package/browser/connection/ConnectionMetadataBuilder.js +5 -5
  16. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  17. package/browser/connection/ConnectionOptions.js +1 -1
  18. package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
  19. package/browser/connection/ConnectionOptionsReader.js +30 -30
  20. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  21. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -1
  22. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  23. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
  24. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  25. package/browser/decorator/columns/PrimaryColumn.d.ts +9 -2
  26. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  27. package/browser/decorator/entity/ChildEntity.js +1 -1
  28. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  29. package/browser/decorator/options/ColumnCommonOptions.js +1 -1
  30. package/browser/decorator/options/ColumnEmbeddedOptions.js +1 -1
  31. package/browser/decorator/options/ColumnEnumOptions.js +1 -1
  32. package/browser/decorator/options/ColumnHstoreOptions.js +1 -1
  33. package/browser/decorator/options/ColumnNumericOptions.js +1 -1
  34. package/browser/decorator/options/ColumnOptions.js +1 -1
  35. package/browser/decorator/options/ColumnWithLengthOptions.js +1 -1
  36. package/browser/decorator/options/ColumnWithWidthOptions.js +1 -1
  37. package/browser/decorator/options/EntityOptions.js +1 -1
  38. package/browser/decorator/options/IndexOptions.js +1 -1
  39. package/browser/decorator/options/JoinColumnOptions.js +1 -1
  40. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +1 -1
  41. package/browser/decorator/options/JoinTableOptions.js +1 -1
  42. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -1
  43. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -1
  44. package/browser/decorator/options/RelationOptions.d.ts +10 -0
  45. package/browser/decorator/options/RelationOptions.js +1 -1
  46. package/browser/decorator/options/RelationOptions.js.map +1 -1
  47. package/browser/decorator/options/SpatialColumnOptions.js +1 -1
  48. package/browser/decorator/options/TransactionOptions.js +1 -1
  49. package/browser/decorator/options/ValueTransformer.js +1 -1
  50. package/browser/decorator/options/ViewColumnOptions.js +1 -1
  51. package/browser/decorator/options/ViewEntityOptions.js +1 -1
  52. package/browser/decorator/relations/ManyToOne.d.ts +6 -6
  53. package/browser/decorator/relations/ManyToOne.js +5 -5
  54. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  55. package/browser/decorator/relations/OneToMany.d.ts +3 -2
  56. package/browser/decorator/relations/OneToMany.js +4 -3
  57. package/browser/decorator/relations/OneToMany.js.map +1 -1
  58. package/browser/decorator/transaction/Transaction.d.ts +1 -1
  59. package/browser/decorator/transaction/Transaction.js +6 -6
  60. package/browser/decorator/transaction/Transaction.js.map +1 -1
  61. package/browser/decorator/tree/Tree.d.ts +2 -1
  62. package/browser/decorator/tree/Tree.js +3 -2
  63. package/browser/decorator/tree/Tree.js.map +1 -1
  64. package/browser/driver/Driver.d.ts +1 -1
  65. package/browser/driver/Driver.js +1 -1
  66. package/browser/driver/Driver.js.map +1 -1
  67. package/browser/driver/DriverFactory.js.map +1 -1
  68. package/browser/driver/DriverUtils.d.ts +10 -0
  69. package/browser/driver/DriverUtils.js +99 -12
  70. package/browser/driver/DriverUtils.js.map +1 -1
  71. package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js +1 -1
  72. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
  73. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js +1 -1
  74. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  75. package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +3 -3
  76. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +15 -6
  77. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  78. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +6 -1
  79. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +72 -11
  80. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  81. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
  82. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +1 -1
  83. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  84. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -1
  85. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +26 -2
  86. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  87. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
  88. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -11
  89. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  90. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +1 -1
  91. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -1
  92. package/browser/driver/cockroachdb/CockroachConnectionOptions.js +1 -1
  93. package/browser/driver/cockroachdb/CockroachDriver.d.ts +1 -1
  94. package/browser/driver/cockroachdb/CockroachDriver.js +6 -9
  95. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  96. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
  97. package/browser/driver/cockroachdb/CockroachQueryRunner.js +112 -42
  98. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  99. package/browser/driver/cordova/CordovaConnectionOptions.js +1 -1
  100. package/browser/driver/expo/ExpoConnectionOptions.js +1 -1
  101. package/browser/driver/expo/ExpoQueryRunner.js +72 -14
  102. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  103. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +8 -0
  104. package/browser/driver/mongodb/MongoConnectionOptions.js +1 -1
  105. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  106. package/browser/driver/mongodb/MongoDriver.d.ts +8 -4
  107. package/browser/driver/mongodb/MongoDriver.js +26 -14
  108. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  109. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  110. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  111. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  112. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -1
  113. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  114. package/browser/driver/mysql/MysqlConnectionOptions.js +1 -1
  115. package/browser/driver/mysql/MysqlDriver.d.ts +2 -2
  116. package/browser/driver/mysql/MysqlDriver.js +15 -14
  117. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  118. package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  119. package/browser/driver/mysql/MysqlQueryRunner.js +118 -43
  120. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  121. package/browser/driver/nativescript/NativescriptConnectionOptions.js +1 -1
  122. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +1 -1
  123. package/browser/driver/oracle/OracleConnectionOptions.d.ts +4 -0
  124. package/browser/driver/oracle/OracleConnectionOptions.js +1 -1
  125. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  126. package/browser/driver/oracle/OracleDriver.d.ts +1 -1
  127. package/browser/driver/oracle/OracleDriver.js +28 -3
  128. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  129. package/browser/driver/oracle/OracleQueryRunner.js +53 -7
  130. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  131. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
  132. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
  133. package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
  134. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  135. package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
  136. package/browser/driver/postgres/PostgresDriver.js +63 -29
  137. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  138. package/browser/driver/postgres/PostgresQueryRunner.d.ts +9 -1
  139. package/browser/driver/postgres/PostgresQueryRunner.js +335 -211
  140. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  141. package/browser/driver/react-native/ReactNativeConnectionOptions.js +1 -1
  142. package/browser/driver/react-native/ReactNativeDriver.js +1 -2
  143. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  144. package/browser/driver/sap/SapConnectionCredentialsOptions.js +1 -1
  145. package/browser/driver/sap/SapConnectionOptions.js +1 -1
  146. package/browser/driver/sap/SapDriver.d.ts +1 -1
  147. package/browser/driver/sap/SapDriver.js.map +1 -1
  148. package/browser/driver/sap/SapQueryRunner.js +58 -10
  149. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  150. package/browser/driver/sqlite/SqliteConnectionOptions.js +1 -1
  151. package/browser/driver/sqlite/SqliteQueryRunner.js +4 -0
  152. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  153. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
  154. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -1
  155. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  156. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -8
  157. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  158. package/browser/driver/sqljs/SqljsConnectionOptions.js +1 -1
  159. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  160. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -1
  161. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  162. package/browser/driver/sqlserver/SqlServerConnectionOptions.js +1 -1
  163. package/browser/driver/sqlserver/SqlServerDriver.d.ts +2 -2
  164. package/browser/driver/sqlserver/SqlServerDriver.js +33 -8
  165. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  166. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
  167. package/browser/driver/sqlserver/SqlServerQueryRunner.js +166 -86
  168. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  169. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  170. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
  171. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  172. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  173. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
  174. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  175. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  176. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
  177. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  178. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  179. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
  180. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  181. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  182. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
  183. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  184. package/browser/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  185. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
  186. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  187. package/browser/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  188. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
  189. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  190. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  191. package/browser/driver/types/ColumnTypes.js +1 -1
  192. package/browser/driver/types/ColumnTypes.js.map +1 -1
  193. package/browser/driver/types/DataTypeDefaults.js +1 -1
  194. package/browser/driver/types/DatabaseType.js +1 -1
  195. package/browser/driver/types/IsolationLevel.js +1 -1
  196. package/browser/driver/types/MappedColumnTypes.js +1 -1
  197. package/browser/driver/types/ReplicationMode.js +1 -1
  198. package/browser/entity-manager/EntityManager.d.ts +16 -2
  199. package/browser/entity-manager/EntityManager.js +5 -16
  200. package/browser/entity-manager/EntityManager.js.map +1 -1
  201. package/browser/entity-manager/MongoEntityManager.d.ts +1 -4
  202. package/browser/entity-manager/MongoEntityManager.js +53 -48
  203. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  204. package/browser/entity-schema/EntitySchemaCheckOptions.js +1 -1
  205. package/browser/entity-schema/EntitySchemaColumnOptions.js +1 -1
  206. package/browser/entity-schema/EntitySchemaExclusionOptions.js +1 -1
  207. package/browser/entity-schema/EntitySchemaIndexOptions.js +1 -1
  208. package/browser/entity-schema/EntitySchemaRelationOptions.js +1 -1
  209. package/browser/entity-schema/EntitySchemaUniqueOptions.js +1 -1
  210. package/browser/error/index.d.ts +61 -0
  211. package/browser/error/index.js +63 -0
  212. package/browser/error/index.js.map +1 -0
  213. package/browser/find-options/FindConditions.js +1 -1
  214. package/browser/find-options/FindManyOptions.js +1 -1
  215. package/browser/find-options/FindOneOptions.d.ts +10 -2
  216. package/browser/find-options/FindOneOptions.js +1 -1
  217. package/browser/find-options/FindOneOptions.js.map +1 -1
  218. package/browser/find-options/FindOperator.d.ts +25 -6
  219. package/browser/find-options/FindOperator.js +32 -6
  220. package/browser/find-options/FindOperator.js.map +1 -1
  221. package/browser/find-options/FindOperatorType.d.ts +1 -1
  222. package/browser/find-options/FindOperatorType.js +1 -1
  223. package/browser/find-options/FindOperatorType.js.map +1 -1
  224. package/browser/find-options/FindOptionsUtils.js +15 -2
  225. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  226. package/browser/find-options/JoinOptions.d.ts +16 -4
  227. package/browser/find-options/JoinOptions.js +1 -1
  228. package/browser/find-options/JoinOptions.js.map +1 -1
  229. package/browser/find-options/OrderByCondition.js +1 -1
  230. package/browser/find-options/operator/ILike.d.ts +6 -0
  231. package/browser/find-options/operator/ILike.js +10 -0
  232. package/browser/find-options/operator/ILike.js.map +1 -0
  233. package/browser/find-options/operator/Raw.d.ts +14 -2
  234. package/browser/find-options/operator/Raw.js +5 -6
  235. package/browser/find-options/operator/Raw.js.map +1 -1
  236. package/browser/index.d.ts +3 -1
  237. package/browser/index.js +25 -1
  238. package/browser/index.js.map +1 -1
  239. package/browser/logger/AdvancedConsoleLogger.d.ts +2 -1
  240. package/browser/logger/FileLogger.d.ts +2 -2
  241. package/browser/logger/Logger.d.ts +1 -1
  242. package/browser/logger/Logger.js +1 -1
  243. package/browser/logger/Logger.js.map +1 -1
  244. package/browser/logger/LoggerOptions.js +1 -1
  245. package/browser/logger/SimpleConsoleLogger.d.ts +2 -1
  246. package/browser/metadata/ColumnMetadata.d.ts +1 -1
  247. package/browser/metadata/ColumnMetadata.js +23 -15
  248. package/browser/metadata/ColumnMetadata.js.map +1 -1
  249. package/browser/metadata/EmbeddedMetadata.js +2 -2
  250. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  251. package/browser/metadata/EntityMetadata.d.ts +5 -0
  252. package/browser/metadata/EntityMetadata.js +3 -2
  253. package/browser/metadata/EntityMetadata.js.map +1 -1
  254. package/browser/metadata/RelationMetadata.d.ts +15 -0
  255. package/browser/metadata/RelationMetadata.js +23 -7
  256. package/browser/metadata/RelationMetadata.js.map +1 -1
  257. package/browser/metadata/types/ClosureTreeOptions.d.ts +10 -0
  258. package/browser/metadata/types/ClosureTreeOptions.js +3 -0
  259. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -0
  260. package/browser/metadata/types/DeferrableType.js +1 -1
  261. package/browser/metadata/types/EventListenerTypes.d.ts +7 -7
  262. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  263. package/browser/metadata/types/OnDeleteType.js +1 -1
  264. package/browser/metadata/types/OnUpdateType.js +1 -1
  265. package/browser/metadata/types/PropertyTypeInFunction.js +1 -1
  266. package/browser/metadata/types/RelationTypeInFunction.js +1 -1
  267. package/browser/metadata/types/RelationTypes.js +1 -1
  268. package/browser/metadata/types/TableTypes.js +1 -1
  269. package/browser/metadata/types/TreeTypes.js +1 -1
  270. package/browser/metadata-args/CheckMetadataArgs.js +1 -1
  271. package/browser/metadata-args/ColumnMetadataArgs.js +1 -1
  272. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +1 -1
  273. package/browser/metadata-args/EmbeddedMetadataArgs.js +1 -1
  274. package/browser/metadata-args/EntityListenerMetadataArgs.js +1 -1
  275. package/browser/metadata-args/EntityRepositoryMetadataArgs.js +1 -1
  276. package/browser/metadata-args/EntitySubscriberMetadataArgs.js +1 -1
  277. package/browser/metadata-args/ExclusionMetadataArgs.js +1 -1
  278. package/browser/metadata-args/GeneratedMetadataArgs.js +1 -1
  279. package/browser/metadata-args/IndexMetadataArgs.js +1 -1
  280. package/browser/metadata-args/InheritanceMetadataArgs.js +1 -1
  281. package/browser/metadata-args/JoinColumnMetadataArgs.js +1 -1
  282. package/browser/metadata-args/JoinTableMetadataArgs.js +1 -1
  283. package/browser/metadata-args/NamingStrategyMetadataArgs.js +1 -1
  284. package/browser/metadata-args/RelationCountMetadataArgs.js +1 -1
  285. package/browser/metadata-args/RelationIdMetadataArgs.js +1 -1
  286. package/browser/metadata-args/RelationMetadataArgs.js +1 -1
  287. package/browser/metadata-args/TableMetadataArgs.js +1 -1
  288. package/browser/metadata-args/TransactionEntityMetadataArgs.js +1 -1
  289. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +1 -1
  290. package/browser/metadata-args/TreeMetadataArgs.d.ts +5 -0
  291. package/browser/metadata-args/TreeMetadataArgs.js +1 -1
  292. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  293. package/browser/metadata-args/UniqueMetadataArgs.js +1 -1
  294. package/browser/metadata-args/types/ColumnMode.js +1 -1
  295. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +5 -3
  296. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  297. package/browser/metadata-builder/EntityMetadataBuilder.js +26 -16
  298. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  299. package/browser/metadata-builder/EntityMetadataValidator.js +10 -5
  300. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  301. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +8 -4
  302. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  303. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
  304. package/browser/metadata-builder/RelationJoinColumnBuilder.js +8 -6
  305. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  306. package/browser/migration/MigrationExecutor.js +5 -5
  307. package/browser/migration/MigrationInterface.js +1 -1
  308. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  309. package/browser/naming-strategy/DefaultNamingStrategy.js +9 -8
  310. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  311. package/browser/naming-strategy/NamingStrategyInterface.d.ts +6 -1
  312. package/browser/naming-strategy/NamingStrategyInterface.js +1 -1
  313. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  314. package/browser/persistence/EntityPersistExecutor.js +55 -52
  315. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  316. package/browser/persistence/Subject.d.ts +4 -4
  317. package/browser/persistence/Subject.js +8 -7
  318. package/browser/persistence/Subject.js.map +1 -1
  319. package/browser/persistence/SubjectChangeMap.js +1 -1
  320. package/browser/persistence/SubjectChangedColumnsComputer.js +3 -1
  321. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  322. package/browser/persistence/SubjectDatabaseEntityLoader.js +2 -2
  323. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  324. package/browser/persistence/SubjectExecutor.js +30 -26
  325. package/browser/persistence/SubjectExecutor.js.map +1 -1
  326. package/browser/persistence/SubjectTopoligicalSorter.js +6 -6
  327. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  328. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  329. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -0
  330. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  331. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +9 -4
  332. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  333. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
  334. package/browser/persistence/tree/ClosureSubjectExecutor.js +7 -7
  335. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  336. package/browser/query-builder/Alias.d.ts +4 -3
  337. package/browser/query-builder/Alias.js +3 -3
  338. package/browser/query-builder/DeleteQueryBuilder.js +7 -2
  339. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  340. package/browser/query-builder/InsertQueryBuilder.d.ts +6 -0
  341. package/browser/query-builder/InsertQueryBuilder.js +63 -14
  342. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  343. package/browser/query-builder/JoinAttribute.d.ts +10 -10
  344. package/browser/query-builder/JoinAttribute.js +10 -10
  345. package/browser/query-builder/JoinOptions.js +1 -1
  346. package/browser/query-builder/QueryBuilder.d.ts +8 -1
  347. package/browser/query-builder/QueryBuilder.js +172 -37
  348. package/browser/query-builder/QueryBuilder.js.map +1 -1
  349. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  350. package/browser/query-builder/QueryExpressionMap.d.ts +10 -2
  351. package/browser/query-builder/QueryExpressionMap.js +4 -2
  352. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  353. package/browser/query-builder/QueryPartialEntity.js +1 -1
  354. package/browser/query-builder/RelationLoader.js +4 -4
  355. package/browser/query-builder/RelationLoader.js.map +1 -1
  356. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  357. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  358. package/browser/query-builder/RelationRemover.js +11 -11
  359. package/browser/query-builder/RelationRemover.js.map +1 -1
  360. package/browser/query-builder/SelectQuery.js +1 -1
  361. package/browser/query-builder/SelectQueryBuilder.d.ts +7 -6
  362. package/browser/query-builder/SelectQueryBuilder.js +129 -67
  363. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  364. package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
  365. package/browser/query-builder/UpdateQueryBuilder.js +6 -1
  366. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  367. package/browser/query-builder/WhereExpression.js +1 -1
  368. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  369. package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
  370. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  371. package/browser/query-builder/relation-count/RelationCountLoadResult.js +1 -1
  372. package/browser/query-builder/relation-count/RelationCountLoader.js +2 -1
  373. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  374. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  375. package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
  376. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  377. package/browser/query-builder/relation-id/RelationIdLoadResult.js +1 -1
  378. package/browser/query-builder/relation-id/RelationIdLoader.js +62 -12
  379. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  380. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  381. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  382. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +10 -7
  383. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  384. package/browser/query-runner/BaseQueryRunner.js +3 -3
  385. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  386. package/browser/query-runner/QueryRunner.d.ts +1 -1
  387. package/browser/query-runner/QueryRunner.js +1 -1
  388. package/browser/query-runner/QueryRunner.js.map +1 -1
  389. package/browser/repository/AbstractRepository.d.ts +2 -2
  390. package/browser/repository/AbstractRepository.js +2 -2
  391. package/browser/repository/BaseEntity.d.ts +1 -1
  392. package/browser/repository/BaseEntity.js +3 -3
  393. package/browser/repository/BaseEntity.js.map +1 -1
  394. package/browser/repository/EntityId.js +1 -1
  395. package/browser/repository/RemoveOptions.js +1 -1
  396. package/browser/repository/Repository.d.ts +4 -4
  397. package/browser/repository/Repository.js +3 -3
  398. package/browser/repository/Repository.js.map +1 -1
  399. package/browser/repository/SaveOptions.js +1 -1
  400. package/browser/repository/TreeRepository.js +3 -3
  401. package/browser/repository/TreeRepository.js.map +1 -1
  402. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  403. package/browser/schema-builder/RdbmsSchemaBuilder.js +80 -79
  404. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  405. package/browser/schema-builder/SchemaBuilder.js +1 -1
  406. package/browser/schema-builder/options/TableCheckOptions.js +1 -1
  407. package/browser/schema-builder/options/TableColumnOptions.js +1 -1
  408. package/browser/schema-builder/options/TableExclusionOptions.js +1 -1
  409. package/browser/schema-builder/options/TableForeignKeyOptions.js +1 -1
  410. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  411. package/browser/schema-builder/options/TableIndexOptions.js +1 -1
  412. package/browser/schema-builder/options/TableOptions.js +1 -1
  413. package/browser/schema-builder/options/TableUniqueOptions.js +1 -1
  414. package/browser/schema-builder/options/ViewOptions.js +1 -1
  415. package/browser/schema-builder/table/Table.d.ts +1 -1
  416. package/browser/schema-builder/table/Table.js +1 -1
  417. package/browser/schema-builder/table/TableCheck.js +2 -2
  418. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  419. package/browser/schema-builder/table/TableForeignKey.js +3 -3
  420. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  421. package/browser/schema-builder/table/TableIndex.js +2 -2
  422. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  423. package/browser/schema-builder/table/TableUnique.js +2 -2
  424. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  425. package/browser/subscriber/Broadcaster.d.ts +24 -0
  426. package/browser/subscriber/Broadcaster.js +120 -0
  427. package/browser/subscriber/Broadcaster.js.map +1 -1
  428. package/browser/subscriber/EntitySubscriberInterface.d.ts +27 -0
  429. package/browser/subscriber/EntitySubscriberInterface.js +1 -1
  430. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  431. package/browser/subscriber/event/InsertEvent.js +1 -1
  432. package/browser/subscriber/event/LoadEvent.js +1 -1
  433. package/browser/subscriber/event/RemoveEvent.js +1 -1
  434. package/browser/subscriber/event/TransactionCommitEvent.d.ts +22 -0
  435. package/browser/subscriber/event/TransactionCommitEvent.js +3 -0
  436. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -0
  437. package/browser/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
  438. package/browser/subscriber/event/TransactionRollbackEvent.js +3 -0
  439. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  440. package/browser/subscriber/event/TransactionStartEvent.d.ts +22 -0
  441. package/browser/subscriber/event/TransactionStartEvent.js +3 -0
  442. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -0
  443. package/browser/subscriber/event/UpdateEvent.js +1 -1
  444. package/browser/util/DateUtils.d.ts +1 -1
  445. package/browser/util/DateUtils.js +1 -7
  446. package/browser/util/DateUtils.js.map +1 -1
  447. package/browser/util/OrmUtils.d.ts +1 -1
  448. package/browser/util/OrmUtils.js +2 -2
  449. package/browser/util/OrmUtils.js.map +1 -1
  450. package/browser/util/StringUtils.js.map +1 -1
  451. package/cache/DbQueryResultCache.js +1 -0
  452. package/cache/DbQueryResultCache.js.map +1 -1
  453. package/cache/QueryResultCacheFactory.js +1 -0
  454. package/cache/QueryResultCacheFactory.js.map +1 -1
  455. package/cache/RedisQueryResultCache.js +1 -0
  456. package/cache/RedisQueryResultCache.js.map +1 -1
  457. package/cli.js +2 -2
  458. package/cli.js.map +1 -1
  459. package/commands/CacheClearCommand.js +1 -0
  460. package/commands/CacheClearCommand.js.map +1 -1
  461. package/commands/CommandUtils.js +1 -0
  462. package/commands/CommandUtils.js.map +1 -1
  463. package/commands/EntityCreateCommand.js +6 -2
  464. package/commands/EntityCreateCommand.js.map +1 -1
  465. package/commands/InitCommand.d.ts +3 -0
  466. package/commands/InitCommand.js +37 -6
  467. package/commands/InitCommand.js.map +1 -1
  468. package/commands/MigrationCreateCommand.d.ts +6 -0
  469. package/commands/MigrationCreateCommand.js +23 -4
  470. package/commands/MigrationCreateCommand.js.map +1 -1
  471. package/commands/MigrationGenerateCommand.d.ts +10 -0
  472. package/commands/MigrationGenerateCommand.js +72 -34
  473. package/commands/MigrationGenerateCommand.js.map +1 -1
  474. package/commands/MigrationRevertCommand.js +1 -0
  475. package/commands/MigrationRevertCommand.js.map +1 -1
  476. package/commands/MigrationRunCommand.js +1 -0
  477. package/commands/MigrationRunCommand.js.map +1 -1
  478. package/commands/MigrationShowCommand.js +1 -0
  479. package/commands/MigrationShowCommand.js.map +1 -1
  480. package/commands/QueryCommand.d.ts +2 -0
  481. package/commands/QueryCommand.js +17 -6
  482. package/commands/QueryCommand.js.map +1 -1
  483. package/commands/SchemaDropCommand.js +1 -0
  484. package/commands/SchemaDropCommand.js.map +1 -1
  485. package/commands/SchemaLogCommand.js +1 -0
  486. package/commands/SchemaLogCommand.js.map +1 -1
  487. package/commands/SchemaSyncCommand.js +1 -0
  488. package/commands/SchemaSyncCommand.js.map +1 -1
  489. package/commands/SubscriberCreateCommand.js +6 -2
  490. package/commands/SubscriberCreateCommand.js.map +1 -1
  491. package/commands/VersionCommand.js +1 -0
  492. package/commands/VersionCommand.js.map +1 -1
  493. package/common/EntityFieldsNames.d.ts +6 -0
  494. package/common/EntityFieldsNames.js +4 -0
  495. package/common/EntityFieldsNames.js.map +1 -0
  496. package/connection/Connection.d.ts +2 -2
  497. package/connection/Connection.js +5 -2
  498. package/connection/Connection.js.map +1 -1
  499. package/connection/ConnectionManager.js +1 -0
  500. package/connection/ConnectionManager.js.map +1 -1
  501. package/connection/ConnectionMetadataBuilder.js +5 -4
  502. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  503. package/connection/ConnectionOptionsReader.d.ts +3 -3
  504. package/connection/ConnectionOptionsReader.js +31 -30
  505. package/connection/ConnectionOptionsReader.js.map +1 -1
  506. package/connection/options-reader/ConnectionOptionsEnvReader.js +2 -1
  507. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  508. package/connection/options-reader/ConnectionOptionsXmlReader.js +1 -0
  509. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  510. package/connection/options-reader/ConnectionOptionsYmlReader.js +2 -1
  511. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  512. package/container.js +1 -0
  513. package/container.js.map +1 -1
  514. package/decorator/Check.js +1 -0
  515. package/decorator/Check.js.map +1 -1
  516. package/decorator/EntityRepository.js +1 -0
  517. package/decorator/EntityRepository.js.map +1 -1
  518. package/decorator/Exclusion.js +1 -0
  519. package/decorator/Exclusion.js.map +1 -1
  520. package/decorator/Generated.js +1 -0
  521. package/decorator/Generated.js.map +1 -1
  522. package/decorator/Index.js +1 -0
  523. package/decorator/Index.js.map +1 -1
  524. package/decorator/Unique.js +1 -0
  525. package/decorator/Unique.js.map +1 -1
  526. package/decorator/columns/Column.js +1 -0
  527. package/decorator/columns/Column.js.map +1 -1
  528. package/decorator/columns/CreateDateColumn.js +1 -0
  529. package/decorator/columns/CreateDateColumn.js.map +1 -1
  530. package/decorator/columns/DeleteDateColumn.js +1 -0
  531. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  532. package/decorator/columns/ObjectIdColumn.js +1 -0
  533. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  534. package/decorator/columns/PrimaryColumn.d.ts +9 -2
  535. package/decorator/columns/PrimaryColumn.js +1 -0
  536. package/decorator/columns/PrimaryColumn.js.map +1 -1
  537. package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  538. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  539. package/decorator/columns/UpdateDateColumn.js +1 -0
  540. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  541. package/decorator/columns/VersionColumn.js +1 -0
  542. package/decorator/columns/VersionColumn.js.map +1 -1
  543. package/decorator/columns/ViewColumn.js +1 -0
  544. package/decorator/columns/ViewColumn.js.map +1 -1
  545. package/decorator/entity/ChildEntity.js +2 -1
  546. package/decorator/entity/ChildEntity.js.map +1 -1
  547. package/decorator/entity/Entity.js +1 -0
  548. package/decorator/entity/Entity.js.map +1 -1
  549. package/decorator/entity/TableInheritance.js +1 -0
  550. package/decorator/entity/TableInheritance.js.map +1 -1
  551. package/decorator/entity-view/ViewEntity.js +1 -0
  552. package/decorator/entity-view/ViewEntity.js.map +1 -1
  553. package/decorator/listeners/AfterInsert.js +1 -0
  554. package/decorator/listeners/AfterInsert.js.map +1 -1
  555. package/decorator/listeners/AfterLoad.js +1 -0
  556. package/decorator/listeners/AfterLoad.js.map +1 -1
  557. package/decorator/listeners/AfterRemove.js +1 -0
  558. package/decorator/listeners/AfterRemove.js.map +1 -1
  559. package/decorator/listeners/AfterUpdate.js +1 -0
  560. package/decorator/listeners/AfterUpdate.js.map +1 -1
  561. package/decorator/listeners/BeforeInsert.js +1 -0
  562. package/decorator/listeners/BeforeInsert.js.map +1 -1
  563. package/decorator/listeners/BeforeRemove.js +1 -0
  564. package/decorator/listeners/BeforeRemove.js.map +1 -1
  565. package/decorator/listeners/BeforeUpdate.js +1 -0
  566. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  567. package/decorator/listeners/EventSubscriber.js +1 -0
  568. package/decorator/listeners/EventSubscriber.js.map +1 -1
  569. package/decorator/options/RelationOptions.d.ts +10 -0
  570. package/decorator/options/RelationOptions.js.map +1 -1
  571. package/decorator/relations/JoinColumn.js +1 -0
  572. package/decorator/relations/JoinColumn.js.map +1 -1
  573. package/decorator/relations/JoinTable.js +1 -0
  574. package/decorator/relations/JoinTable.js.map +1 -1
  575. package/decorator/relations/ManyToMany.js +1 -0
  576. package/decorator/relations/ManyToMany.js.map +1 -1
  577. package/decorator/relations/ManyToOne.d.ts +6 -6
  578. package/decorator/relations/ManyToOne.js +6 -5
  579. package/decorator/relations/ManyToOne.js.map +1 -1
  580. package/decorator/relations/OneToMany.d.ts +3 -2
  581. package/decorator/relations/OneToMany.js +5 -3
  582. package/decorator/relations/OneToMany.js.map +1 -1
  583. package/decorator/relations/OneToOne.js +1 -0
  584. package/decorator/relations/OneToOne.js.map +1 -1
  585. package/decorator/relations/RelationCount.js +1 -0
  586. package/decorator/relations/RelationCount.js.map +1 -1
  587. package/decorator/relations/RelationId.js +1 -0
  588. package/decorator/relations/RelationId.js.map +1 -1
  589. package/decorator/transaction/Transaction.d.ts +1 -1
  590. package/decorator/transaction/Transaction.js +6 -5
  591. package/decorator/transaction/Transaction.js.map +1 -1
  592. package/decorator/transaction/TransactionManager.js +1 -0
  593. package/decorator/transaction/TransactionManager.js.map +1 -1
  594. package/decorator/transaction/TransactionRepository.js +1 -0
  595. package/decorator/transaction/TransactionRepository.js.map +1 -1
  596. package/decorator/tree/Tree.d.ts +2 -1
  597. package/decorator/tree/Tree.js +4 -2
  598. package/decorator/tree/Tree.js.map +1 -1
  599. package/decorator/tree/TreeChildren.js +1 -0
  600. package/decorator/tree/TreeChildren.js.map +1 -1
  601. package/decorator/tree/TreeLevelColumn.js +1 -0
  602. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  603. package/decorator/tree/TreeParent.js +1 -0
  604. package/decorator/tree/TreeParent.js.map +1 -1
  605. package/driver/Driver.d.ts +1 -1
  606. package/driver/Driver.js.map +1 -1
  607. package/driver/DriverFactory.js +1 -0
  608. package/driver/DriverFactory.js.map +1 -1
  609. package/driver/DriverUtils.d.ts +10 -0
  610. package/driver/DriverUtils.js +99 -11
  611. package/driver/DriverUtils.js.map +1 -1
  612. package/driver/Query.js +1 -0
  613. package/driver/Query.js.map +1 -1
  614. package/driver/SqlInMemory.js +1 -0
  615. package/driver/SqlInMemory.js.map +1 -1
  616. package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -0
  617. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  618. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
  619. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  620. package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +3 -3
  621. package/driver/aurora-data-api/AuroraDataApiDriver.js +16 -6
  622. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  623. package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +6 -1
  624. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +73 -11
  625. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  626. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
  627. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  628. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -1
  629. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +27 -2
  630. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  631. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
  632. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +60 -11
  633. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  634. package/driver/better-sqlite3/BetterSqlite3Driver.js +1 -0
  635. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  636. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
  637. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  638. package/driver/cockroachdb/CockroachDriver.d.ts +1 -1
  639. package/driver/cockroachdb/CockroachDriver.js +6 -8
  640. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  641. package/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
  642. package/driver/cockroachdb/CockroachQueryRunner.js +113 -42
  643. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  644. package/driver/cordova/CordovaDriver.js +1 -0
  645. package/driver/cordova/CordovaDriver.js.map +1 -1
  646. package/driver/cordova/CordovaQueryRunner.js +1 -0
  647. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  648. package/driver/expo/ExpoDriver.js +1 -0
  649. package/driver/expo/ExpoDriver.js.map +1 -1
  650. package/driver/expo/ExpoQueryRunner.js +73 -14
  651. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  652. package/driver/mongodb/MongoConnectionOptions.d.ts +8 -0
  653. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  654. package/driver/mongodb/MongoDriver.d.ts +8 -4
  655. package/driver/mongodb/MongoDriver.js +27 -14
  656. package/driver/mongodb/MongoDriver.js.map +1 -1
  657. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  658. package/driver/mongodb/MongoQueryRunner.js +1 -0
  659. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  660. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  661. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  662. package/driver/mysql/MysqlDriver.d.ts +2 -2
  663. package/driver/mysql/MysqlDriver.js +16 -14
  664. package/driver/mysql/MysqlDriver.js.map +1 -1
  665. package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  666. package/driver/mysql/MysqlQueryRunner.js +119 -43
  667. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  668. package/driver/nativescript/NativescriptDriver.js +1 -0
  669. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  670. package/driver/nativescript/NativescriptQueryRunner.js +1 -0
  671. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  672. package/driver/oracle/OracleConnectionOptions.d.ts +4 -0
  673. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  674. package/driver/oracle/OracleDriver.d.ts +1 -1
  675. package/driver/oracle/OracleDriver.js +29 -3
  676. package/driver/oracle/OracleDriver.js.map +1 -1
  677. package/driver/oracle/OracleQueryRunner.js +54 -7
  678. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  679. package/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
  680. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  681. package/driver/postgres/PostgresDriver.d.ts +2 -2
  682. package/driver/postgres/PostgresDriver.js +63 -28
  683. package/driver/postgres/PostgresDriver.js.map +1 -1
  684. package/driver/postgres/PostgresQueryRunner.d.ts +9 -1
  685. package/driver/postgres/PostgresQueryRunner.js +337 -211
  686. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  687. package/driver/react-native/ReactNativeDriver.js +2 -2
  688. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  689. package/driver/react-native/ReactNativeQueryRunner.js +1 -0
  690. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  691. package/driver/sap/SapDriver.d.ts +1 -1
  692. package/driver/sap/SapDriver.js +1 -0
  693. package/driver/sap/SapDriver.js.map +1 -1
  694. package/driver/sap/SapQueryRunner.js +58 -9
  695. package/driver/sap/SapQueryRunner.js.map +1 -1
  696. package/driver/sqlite/SqliteDriver.js +1 -0
  697. package/driver/sqlite/SqliteDriver.js.map +1 -1
  698. package/driver/sqlite/SqliteQueryRunner.js +5 -0
  699. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  700. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
  701. package/driver/sqlite-abstract/AbstractSqliteDriver.js +5 -1
  702. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  703. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +56 -8
  704. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  705. package/driver/sqljs/SqljsDriver.js +1 -0
  706. package/driver/sqljs/SqljsDriver.js.map +1 -1
  707. package/driver/sqljs/SqljsQueryRunner.js +1 -0
  708. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  709. package/driver/sqlserver/MssqlParameter.js +1 -0
  710. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  711. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  712. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  713. package/driver/sqlserver/SqlServerDriver.d.ts +2 -2
  714. package/driver/sqlserver/SqlServerDriver.js +34 -8
  715. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  716. package/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
  717. package/driver/sqlserver/SqlServerQueryRunner.js +166 -85
  718. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  719. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  720. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +4 -0
  721. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  722. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  723. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +4 -0
  724. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  725. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  726. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +4 -0
  727. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  728. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  729. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +4 -0
  730. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  731. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  732. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +4 -0
  733. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  734. package/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  735. package/driver/sqlserver/authentication/DefaultAuthentication.js +4 -0
  736. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  737. package/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  738. package/driver/sqlserver/authentication/NtlmAuthentication.js +4 -0
  739. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  740. package/driver/types/ColumnTypes.d.ts +1 -1
  741. package/driver/types/ColumnTypes.js.map +1 -1
  742. package/entity-manager/EntityManager.d.ts +16 -2
  743. package/entity-manager/EntityManager.js +6 -16
  744. package/entity-manager/EntityManager.js.map +1 -1
  745. package/entity-manager/EntityManagerFactory.js +1 -0
  746. package/entity-manager/EntityManagerFactory.js.map +1 -1
  747. package/entity-manager/MongoEntityManager.d.ts +1 -4
  748. package/entity-manager/MongoEntityManager.js +54 -48
  749. package/entity-manager/MongoEntityManager.js.map +1 -1
  750. package/entity-manager/SqljsEntityManager.js +1 -0
  751. package/entity-manager/SqljsEntityManager.js.map +1 -1
  752. package/entity-schema/EntitySchema.js +1 -0
  753. package/entity-schema/EntitySchema.js.map +1 -1
  754. package/entity-schema/EntitySchemaOptions.js +1 -0
  755. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  756. package/entity-schema/EntitySchemaTransformer.js +1 -0
  757. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  758. package/error/AlreadyHasActiveConnectionError.js +1 -0
  759. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  760. package/error/CannotAttachTreeChildrenEntityError.js +1 -0
  761. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  762. package/error/CannotConnectAlreadyConnectedError.js +1 -0
  763. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  764. package/error/CannotCreateEntityIdMapError.js +1 -0
  765. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  766. package/error/CannotDetermineEntityError.js +1 -0
  767. package/error/CannotDetermineEntityError.js.map +1 -1
  768. package/error/CannotExecuteNotConnectedError.js +1 -0
  769. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  770. package/error/CannotGetEntityManagerNotConnectedError.js +1 -0
  771. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  772. package/error/CannotReflectMethodParameterTypeError.js +1 -0
  773. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  774. package/error/CircularRelationsError.js +1 -0
  775. package/error/CircularRelationsError.js.map +1 -1
  776. package/error/ColumnTypeUndefinedError.js +1 -0
  777. package/error/ColumnTypeUndefinedError.js.map +1 -1
  778. package/error/ConnectionIsNotSetError.js +1 -0
  779. package/error/ConnectionIsNotSetError.js.map +1 -1
  780. package/error/ConnectionNotFoundError.js +1 -0
  781. package/error/ConnectionNotFoundError.js.map +1 -1
  782. package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -0
  783. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  784. package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -0
  785. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  786. package/error/CustomRepositoryNotFoundError.js +1 -0
  787. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  788. package/error/DataTypeNotSupportedError.js +1 -0
  789. package/error/DataTypeNotSupportedError.js.map +1 -1
  790. package/error/DriverOptionNotSetError.js +1 -0
  791. package/error/DriverOptionNotSetError.js.map +1 -1
  792. package/error/DriverPackageNotInstalledError.js +1 -0
  793. package/error/DriverPackageNotInstalledError.js.map +1 -1
  794. package/error/EntityColumnNotFound.js +1 -0
  795. package/error/EntityColumnNotFound.js.map +1 -1
  796. package/error/EntityMetadataNotFoundError.js +1 -0
  797. package/error/EntityMetadataNotFoundError.js.map +1 -1
  798. package/error/EntityNotFoundError.js +1 -0
  799. package/error/EntityNotFoundError.js.map +1 -1
  800. package/error/FindRelationsNotFoundError.js +1 -0
  801. package/error/FindRelationsNotFoundError.js.map +1 -1
  802. package/error/InitializedRelationError.js +1 -0
  803. package/error/InitializedRelationError.js.map +1 -1
  804. package/error/InsertValuesMissingError.js +1 -0
  805. package/error/InsertValuesMissingError.js.map +1 -1
  806. package/error/LimitOnUpdateNotSupportedError.js +1 -0
  807. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  808. package/error/LockNotSupportedOnGivenDriverError.js +1 -0
  809. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  810. package/error/MetadataAlreadyExistsError.js +1 -0
  811. package/error/MetadataAlreadyExistsError.js.map +1 -1
  812. package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -0
  813. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  814. package/error/MissingDeleteDateColumnError.js +1 -0
  815. package/error/MissingDeleteDateColumnError.js.map +1 -1
  816. package/error/MissingDriverError.js +1 -0
  817. package/error/MissingDriverError.js.map +1 -1
  818. package/error/MissingJoinColumnError.js +1 -0
  819. package/error/MissingJoinColumnError.js.map +1 -1
  820. package/error/MissingJoinTableError.js +1 -0
  821. package/error/MissingJoinTableError.js.map +1 -1
  822. package/error/MissingPrimaryColumnError.js +1 -0
  823. package/error/MissingPrimaryColumnError.js.map +1 -1
  824. package/error/MustBeEntityError.js +1 -0
  825. package/error/MustBeEntityError.js.map +1 -1
  826. package/error/NamingStrategyNotFoundError.js +1 -0
  827. package/error/NamingStrategyNotFoundError.js.map +1 -1
  828. package/error/NoConnectionForRepositoryError.js +1 -0
  829. package/error/NoConnectionForRepositoryError.js.map +1 -1
  830. package/error/NoConnectionOptionError.js +1 -0
  831. package/error/NoConnectionOptionError.js.map +1 -1
  832. package/error/NoNeedToReleaseEntityManagerError.js +1 -0
  833. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  834. package/error/NoVersionOrUpdateDateColumnError.js +1 -0
  835. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  836. package/error/OffsetWithoutLimitNotSupportedError.js +1 -0
  837. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  838. package/error/OptimisticLockCanNotBeUsedError.js +1 -0
  839. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  840. package/error/OptimisticLockVersionMismatchError.js +1 -0
  841. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  842. package/error/PersistedEntityNotFoundError.js +1 -0
  843. package/error/PersistedEntityNotFoundError.js.map +1 -1
  844. package/error/PessimisticLockTransactionRequiredError.js +1 -0
  845. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  846. package/error/PrimaryColumnCannotBeNullableError.js +1 -0
  847. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  848. package/error/QueryFailedError.js +1 -0
  849. package/error/QueryFailedError.js.map +1 -1
  850. package/error/QueryRunnerAlreadyReleasedError.js +1 -0
  851. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  852. package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -0
  853. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  854. package/error/RepositoryNotFoundError.js +1 -0
  855. package/error/RepositoryNotFoundError.js.map +1 -1
  856. package/error/RepositoryNotTreeError.js +1 -0
  857. package/error/RepositoryNotTreeError.js.map +1 -1
  858. package/error/ReturningStatementNotSupportedError.js +1 -0
  859. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  860. package/error/SubjectRemovedAndUpdatedError.js +1 -0
  861. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  862. package/error/SubjectWithoutIdentifierError.js +1 -0
  863. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  864. package/error/TransactionAlreadyStartedError.js +1 -0
  865. package/error/TransactionAlreadyStartedError.js.map +1 -1
  866. package/error/TransactionNotStartedError.js +1 -0
  867. package/error/TransactionNotStartedError.js.map +1 -1
  868. package/error/TreeRepositoryNotSupportedError.js +1 -0
  869. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  870. package/error/UpdateValuesMissingError.js +1 -0
  871. package/error/UpdateValuesMissingError.js.map +1 -1
  872. package/error/UsingJoinColumnIsNotAllowedError.js +1 -0
  873. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  874. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -0
  875. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  876. package/error/UsingJoinTableIsNotAllowedError.js +1 -0
  877. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  878. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -0
  879. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  880. package/error/index.d.ts +61 -0
  881. package/error/index.js +66 -0
  882. package/error/index.js.map +1 -0
  883. package/find-options/FindOneOptions.d.ts +10 -2
  884. package/find-options/FindOneOptions.js.map +1 -1
  885. package/find-options/FindOperator.d.ts +25 -6
  886. package/find-options/FindOperator.js +33 -6
  887. package/find-options/FindOperator.js.map +1 -1
  888. package/find-options/FindOperatorType.d.ts +1 -1
  889. package/find-options/FindOperatorType.js.map +1 -1
  890. package/find-options/FindOptionsUtils.js +16 -2
  891. package/find-options/FindOptionsUtils.js.map +1 -1
  892. package/find-options/JoinOptions.d.ts +16 -4
  893. package/find-options/JoinOptions.js.map +1 -1
  894. package/find-options/operator/Any.js +1 -0
  895. package/find-options/operator/Any.js.map +1 -1
  896. package/find-options/operator/Between.js +1 -0
  897. package/find-options/operator/Between.js.map +1 -1
  898. package/find-options/operator/Equal.js +1 -0
  899. package/find-options/operator/Equal.js.map +1 -1
  900. package/find-options/operator/ILike.d.ts +6 -0
  901. package/find-options/operator/ILike.js +14 -0
  902. package/find-options/operator/ILike.js.map +1 -0
  903. package/find-options/operator/In.js +1 -0
  904. package/find-options/operator/In.js.map +1 -1
  905. package/find-options/operator/IsNull.js +1 -0
  906. package/find-options/operator/IsNull.js.map +1 -1
  907. package/find-options/operator/LessThan.js +1 -0
  908. package/find-options/operator/LessThan.js.map +1 -1
  909. package/find-options/operator/LessThanOrEqual.js +1 -0
  910. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  911. package/find-options/operator/Like.js +1 -0
  912. package/find-options/operator/Like.js.map +1 -1
  913. package/find-options/operator/MoreThan.js +1 -0
  914. package/find-options/operator/MoreThan.js.map +1 -1
  915. package/find-options/operator/MoreThanOrEqual.js +1 -0
  916. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  917. package/find-options/operator/Not.js +1 -0
  918. package/find-options/operator/Not.js.map +1 -1
  919. package/find-options/operator/Raw.d.ts +14 -2
  920. package/find-options/operator/Raw.js +6 -6
  921. package/find-options/operator/Raw.js.map +1 -1
  922. package/index.d.ts +3 -1
  923. package/index.js +44 -19
  924. package/index.js.map +1 -1
  925. package/logger/AdvancedConsoleLogger.d.ts +2 -1
  926. package/logger/AdvancedConsoleLogger.js +1 -0
  927. package/logger/AdvancedConsoleLogger.js.map +1 -1
  928. package/logger/DebugLogger.js +1 -0
  929. package/logger/DebugLogger.js.map +1 -1
  930. package/logger/FileLogger.d.ts +2 -2
  931. package/logger/FileLogger.js +1 -0
  932. package/logger/FileLogger.js.map +1 -1
  933. package/logger/Logger.d.ts +1 -1
  934. package/logger/Logger.js.map +1 -1
  935. package/logger/LoggerFactory.js +1 -0
  936. package/logger/LoggerFactory.js.map +1 -1
  937. package/logger/SimpleConsoleLogger.d.ts +2 -1
  938. package/logger/SimpleConsoleLogger.js +1 -0
  939. package/logger/SimpleConsoleLogger.js.map +1 -1
  940. package/metadata/CheckMetadata.js +1 -0
  941. package/metadata/CheckMetadata.js.map +1 -1
  942. package/metadata/ColumnMetadata.d.ts +1 -1
  943. package/metadata/ColumnMetadata.js +23 -14
  944. package/metadata/ColumnMetadata.js.map +1 -1
  945. package/metadata/EmbeddedMetadata.js +2 -1
  946. package/metadata/EmbeddedMetadata.js.map +1 -1
  947. package/metadata/EntityListenerMetadata.js +1 -0
  948. package/metadata/EntityListenerMetadata.js.map +1 -1
  949. package/metadata/EntityMetadata.d.ts +5 -0
  950. package/metadata/EntityMetadata.js +3 -1
  951. package/metadata/EntityMetadata.js.map +1 -1
  952. package/metadata/ExclusionMetadata.js +1 -0
  953. package/metadata/ExclusionMetadata.js.map +1 -1
  954. package/metadata/ForeignKeyMetadata.js +1 -0
  955. package/metadata/ForeignKeyMetadata.js.map +1 -1
  956. package/metadata/IndexMetadata.js +1 -0
  957. package/metadata/IndexMetadata.js.map +1 -1
  958. package/metadata/RelationCountMetadata.js +1 -0
  959. package/metadata/RelationCountMetadata.js.map +1 -1
  960. package/metadata/RelationIdMetadata.js +1 -0
  961. package/metadata/RelationIdMetadata.js.map +1 -1
  962. package/metadata/RelationMetadata.d.ts +15 -0
  963. package/metadata/RelationMetadata.js +23 -6
  964. package/metadata/RelationMetadata.js.map +1 -1
  965. package/metadata/UniqueMetadata.js +1 -0
  966. package/metadata/UniqueMetadata.js.map +1 -1
  967. package/metadata/types/ClosureTreeOptions.d.ts +10 -0
  968. package/metadata/types/ClosureTreeOptions.js +4 -0
  969. package/metadata/types/ClosureTreeOptions.js.map +1 -0
  970. package/metadata/types/EventListenerTypes.d.ts +7 -7
  971. package/metadata/types/EventListenerTypes.js +1 -0
  972. package/metadata/types/EventListenerTypes.js.map +1 -1
  973. package/metadata-args/MetadataArgsStorage.js +1 -0
  974. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  975. package/metadata-args/TreeMetadataArgs.d.ts +5 -0
  976. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  977. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +6 -3
  978. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  979. package/metadata-builder/EntityMetadataBuilder.js +26 -15
  980. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  981. package/metadata-builder/EntityMetadataValidator.js +11 -5
  982. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  983. package/metadata-builder/JunctionEntityMetadataBuilder.js +8 -3
  984. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  985. package/metadata-builder/MetadataUtils.js +1 -0
  986. package/metadata-builder/MetadataUtils.js.map +1 -1
  987. package/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
  988. package/metadata-builder/RelationJoinColumnBuilder.js +9 -6
  989. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  990. package/migration/Migration.js +1 -0
  991. package/migration/Migration.js.map +1 -1
  992. package/migration/MigrationExecutor.js +6 -5
  993. package/migration/MigrationExecutor.js.map +1 -1
  994. package/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  995. package/naming-strategy/DefaultNamingStrategy.js +9 -7
  996. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  997. package/naming-strategy/NamingStrategyInterface.d.ts +6 -1
  998. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  999. package/package.json +46 -43
  1000. package/persistence/EntityPersistExecutor.js +56 -52
  1001. package/persistence/EntityPersistExecutor.js.map +1 -1
  1002. package/persistence/Subject.d.ts +4 -4
  1003. package/persistence/Subject.js +8 -6
  1004. package/persistence/Subject.js.map +1 -1
  1005. package/persistence/SubjectChangedColumnsComputer.js +4 -1
  1006. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  1007. package/persistence/SubjectDatabaseEntityLoader.js +2 -1
  1008. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  1009. package/persistence/SubjectExecutor.js +31 -26
  1010. package/persistence/SubjectExecutor.js.map +1 -1
  1011. package/persistence/SubjectTopoligicalSorter.js +6 -5
  1012. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  1013. package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -0
  1014. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  1015. package/persistence/subject-builder/ManyToManySubjectBuilder.js +3 -0
  1016. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  1017. package/persistence/subject-builder/OneToManySubjectBuilder.js +10 -4
  1018. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1019. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -0
  1020. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1021. package/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
  1022. package/persistence/tree/ClosureSubjectExecutor.js +7 -6
  1023. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1024. package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -0
  1025. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1026. package/persistence/tree/NestedSetSubjectExecutor.js +1 -0
  1027. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1028. package/platform/PlatformTools.js +5 -4
  1029. package/platform/PlatformTools.js.map +1 -1
  1030. package/query-builder/Alias.d.ts +4 -3
  1031. package/query-builder/Alias.js +4 -3
  1032. package/query-builder/Alias.js.map +1 -1
  1033. package/query-builder/Brackets.js +1 -0
  1034. package/query-builder/Brackets.js.map +1 -1
  1035. package/query-builder/DeleteQueryBuilder.js +8 -2
  1036. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1037. package/query-builder/InsertQueryBuilder.d.ts +6 -0
  1038. package/query-builder/InsertQueryBuilder.js +64 -14
  1039. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1040. package/query-builder/JoinAttribute.d.ts +10 -10
  1041. package/query-builder/JoinAttribute.js +11 -10
  1042. package/query-builder/JoinAttribute.js.map +1 -1
  1043. package/query-builder/QueryBuilder.d.ts +8 -1
  1044. package/query-builder/QueryBuilder.js +172 -36
  1045. package/query-builder/QueryBuilder.js.map +1 -1
  1046. package/query-builder/QueryBuilderUtils.js +1 -0
  1047. package/query-builder/QueryBuilderUtils.js.map +1 -1
  1048. package/query-builder/QueryExpressionMap.d.ts +10 -2
  1049. package/query-builder/QueryExpressionMap.js +5 -2
  1050. package/query-builder/QueryExpressionMap.js.map +1 -1
  1051. package/query-builder/RelationIdLoader.js +1 -0
  1052. package/query-builder/RelationIdLoader.js.map +1 -1
  1053. package/query-builder/RelationLoader.js +4 -3
  1054. package/query-builder/RelationLoader.js.map +1 -1
  1055. package/query-builder/RelationQueryBuilder.js +2 -1
  1056. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1057. package/query-builder/RelationRemover.js +11 -10
  1058. package/query-builder/RelationRemover.js.map +1 -1
  1059. package/query-builder/RelationUpdater.js +1 -0
  1060. package/query-builder/RelationUpdater.js.map +1 -1
  1061. package/query-builder/ReturningResultsEntityUpdator.js +1 -0
  1062. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1063. package/query-builder/SelectQueryBuilder.d.ts +7 -6
  1064. package/query-builder/SelectQueryBuilder.js +129 -66
  1065. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1066. package/query-builder/SoftDeleteQueryBuilder.js +1 -0
  1067. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1068. package/query-builder/UpdateQueryBuilder.js +7 -1
  1069. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1070. package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  1071. package/query-builder/relation-count/RelationCountAttribute.js +8 -7
  1072. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  1073. package/query-builder/relation-count/RelationCountLoader.js +3 -1
  1074. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  1075. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +1 -0
  1076. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  1077. package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  1078. package/query-builder/relation-id/RelationIdAttribute.js +9 -8
  1079. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1080. package/query-builder/relation-id/RelationIdLoader.js +62 -11
  1081. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1082. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +1 -0
  1083. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  1084. package/query-builder/result/DeleteResult.js +1 -0
  1085. package/query-builder/result/DeleteResult.js.map +1 -1
  1086. package/query-builder/result/InsertResult.js +1 -0
  1087. package/query-builder/result/InsertResult.js.map +1 -1
  1088. package/query-builder/result/UpdateResult.js +1 -0
  1089. package/query-builder/result/UpdateResult.js.map +1 -1
  1090. package/query-builder/transformer/DocumentToEntityTransformer.js +1 -0
  1091. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1092. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +4 -3
  1093. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1094. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  1095. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1096. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +10 -6
  1097. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1098. package/query-runner/BaseQueryRunner.js +3 -2
  1099. package/query-runner/BaseQueryRunner.js.map +1 -1
  1100. package/query-runner/QueryRunner.d.ts +1 -1
  1101. package/query-runner/QueryRunner.js.map +1 -1
  1102. package/repository/AbstractRepository.d.ts +2 -2
  1103. package/repository/AbstractRepository.js +3 -2
  1104. package/repository/AbstractRepository.js.map +1 -1
  1105. package/repository/BaseEntity.d.ts +1 -1
  1106. package/repository/BaseEntity.js +3 -2
  1107. package/repository/BaseEntity.js.map +1 -1
  1108. package/repository/MongoRepository.js +1 -0
  1109. package/repository/MongoRepository.js.map +1 -1
  1110. package/repository/Repository.d.ts +4 -4
  1111. package/repository/Repository.js +3 -2
  1112. package/repository/Repository.js.map +1 -1
  1113. package/repository/RepositoryFactory.js +1 -0
  1114. package/repository/RepositoryFactory.js.map +1 -1
  1115. package/repository/TreeRepository.js +4 -3
  1116. package/repository/TreeRepository.js.map +1 -1
  1117. package/schema-builder/MongoSchemaBuilder.js +1 -0
  1118. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  1119. package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  1120. package/schema-builder/RdbmsSchemaBuilder.js +81 -79
  1121. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1122. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  1123. package/schema-builder/table/Table.d.ts +1 -1
  1124. package/schema-builder/table/Table.js +2 -1
  1125. package/schema-builder/table/Table.js.map +1 -1
  1126. package/schema-builder/table/TableCheck.js +2 -1
  1127. package/schema-builder/table/TableCheck.js.map +1 -1
  1128. package/schema-builder/table/TableColumn.js +1 -0
  1129. package/schema-builder/table/TableColumn.js.map +1 -1
  1130. package/schema-builder/table/TableExclusion.js +1 -0
  1131. package/schema-builder/table/TableExclusion.js.map +1 -1
  1132. package/schema-builder/table/TableForeignKey.js +3 -2
  1133. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1134. package/schema-builder/table/TableIndex.js +2 -1
  1135. package/schema-builder/table/TableIndex.js.map +1 -1
  1136. package/schema-builder/table/TableUnique.js +2 -1
  1137. package/schema-builder/table/TableUnique.js.map +1 -1
  1138. package/schema-builder/util/TableUtils.js +1 -0
  1139. package/schema-builder/util/TableUtils.js.map +1 -1
  1140. package/schema-builder/view/View.js +1 -0
  1141. package/schema-builder/view/View.js.map +1 -1
  1142. package/subscriber/Broadcaster.d.ts +24 -0
  1143. package/subscriber/Broadcaster.js +121 -0
  1144. package/subscriber/Broadcaster.js.map +1 -1
  1145. package/subscriber/BroadcasterResult.js +1 -0
  1146. package/subscriber/BroadcasterResult.js.map +1 -1
  1147. package/subscriber/EntitySubscriberInterface.d.ts +27 -0
  1148. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  1149. package/subscriber/event/TransactionCommitEvent.d.ts +22 -0
  1150. package/subscriber/event/TransactionCommitEvent.js +4 -0
  1151. package/subscriber/event/TransactionCommitEvent.js.map +1 -0
  1152. package/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
  1153. package/subscriber/event/TransactionRollbackEvent.js +4 -0
  1154. package/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  1155. package/subscriber/event/TransactionStartEvent.d.ts +22 -0
  1156. package/subscriber/event/TransactionStartEvent.js +4 -0
  1157. package/subscriber/event/TransactionStartEvent.js.map +1 -0
  1158. package/typeorm-model-shim.js +145 -128
  1159. package/util/ApplyValueTransformers.js +1 -0
  1160. package/util/ApplyValueTransformers.js.map +1 -1
  1161. package/util/DateUtils.d.ts +1 -1
  1162. package/util/DateUtils.js +2 -7
  1163. package/util/DateUtils.js.map +1 -1
  1164. package/util/DepGraph.js +1 -0
  1165. package/util/DepGraph.js.map +1 -1
  1166. package/util/DirectoryExportedClassesLoader.js +1 -0
  1167. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1168. package/util/ObjectUtils.js +1 -0
  1169. package/util/ObjectUtils.js.map +1 -1
  1170. package/util/OrmUtils.d.ts +1 -1
  1171. package/util/OrmUtils.js +2 -1
  1172. package/util/OrmUtils.js.map +1 -1
  1173. package/util/RandomGenerator.js +1 -0
  1174. package/util/RandomGenerator.js.map +1 -1
  1175. package/util/StringUtils.js +1 -0
  1176. package/util/StringUtils.js.map +1 -1
  1177. package/util/VersionUtils.js +1 -0
  1178. package/util/VersionUtils.js.map +1 -1
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultNamingStrategy = void 0;
3
4
  var tslib_1 = require("tslib");
4
5
  var RandomGenerator_1 = require("../util/RandomGenerator");
5
6
  var StringUtils_1 = require("../util/StringUtils");
@@ -40,7 +41,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
40
41
  };
41
42
  DefaultNamingStrategy.prototype.primaryKeyName = function (tableOrName, columnNames) {
42
43
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
43
- var clonedColumnNames = tslib_1.__spread(columnNames);
44
+ var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
44
45
  clonedColumnNames.sort();
45
46
  var tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
46
47
  var replacedTableName = tableName.replace(".", "_");
@@ -49,7 +50,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
49
50
  };
50
51
  DefaultNamingStrategy.prototype.uniqueConstraintName = function (tableOrName, columnNames) {
51
52
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
52
- var clonedColumnNames = tslib_1.__spread(columnNames);
53
+ var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
53
54
  clonedColumnNames.sort();
54
55
  var tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
55
56
  var replacedTableName = tableName.replace(".", "_");
@@ -58,7 +59,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
58
59
  };
59
60
  DefaultNamingStrategy.prototype.relationConstraintName = function (tableOrName, columnNames, where) {
60
61
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
61
- var clonedColumnNames = tslib_1.__spread(columnNames);
62
+ var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
62
63
  clonedColumnNames.sort();
63
64
  var tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
64
65
  var replacedTableName = tableName.replace(".", "_");
@@ -75,7 +76,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
75
76
  };
76
77
  DefaultNamingStrategy.prototype.foreignKeyName = function (tableOrName, columnNames, _referencedTablePath, _referencedColumnNames) {
77
78
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
78
- var clonedColumnNames = tslib_1.__spread(columnNames);
79
+ var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
79
80
  clonedColumnNames.sort();
80
81
  var tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
81
82
  var replacedTableName = tableName.replace(".", "_");
@@ -84,7 +85,7 @@ var DefaultNamingStrategy = /** @class */ (function () {
84
85
  };
85
86
  DefaultNamingStrategy.prototype.indexName = function (tableOrName, columnNames, where) {
86
87
  // sort incoming column names to avoid issue when ["id", "name"] and ["name", "id"] arrays
87
- var clonedColumnNames = tslib_1.__spread(columnNames);
88
+ var clonedColumnNames = tslib_1.__spreadArray([], tslib_1.__read(columnNames));
88
89
  clonedColumnNames.sort();
89
90
  var tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
90
91
  var replacedTableName = tableName.replace(".", "_");
@@ -93,11 +94,12 @@ var DefaultNamingStrategy = /** @class */ (function () {
93
94
  key += "_" + where;
94
95
  return "IDX_" + RandomGenerator_1.RandomGenerator.sha1(key).substr(0, 26);
95
96
  };
96
- DefaultNamingStrategy.prototype.checkConstraintName = function (tableOrName, expression) {
97
+ DefaultNamingStrategy.prototype.checkConstraintName = function (tableOrName, expression, isEnum) {
97
98
  var tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
98
99
  var replacedTableName = tableName.replace(".", "_");
99
100
  var key = replacedTableName + "_" + expression;
100
- return "CHK_" + RandomGenerator_1.RandomGenerator.sha1(key).substr(0, 26);
101
+ var name = "CHK_" + RandomGenerator_1.RandomGenerator.sha1(key).substr(0, 26);
102
+ return isEnum ? name + "_ENUM" : name;
101
103
  };
102
104
  DefaultNamingStrategy.prototype.exclusionConstraintName = function (tableOrName, expression) {
103
105
  var tableName = tableOrName instanceof Table_1.Table ? tableOrName.name : tableOrName;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/naming-strategy/DefaultNamingStrategy.ts"],"names":[],"mappings":"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","file":"DefaultNamingStrategy.js","sourcesContent":["import {NamingStrategyInterface} from \"./NamingStrategyInterface\";\nimport {RandomGenerator} from \"../util/RandomGenerator\";\nimport {camelCase, snakeCase, titleCase} from \"../util/StringUtils\";\nimport {Table} from \"../schema-builder/table/Table\";\n\n/**\n * Naming strategy that is used by default.\n */\nexport class DefaultNamingStrategy implements NamingStrategyInterface {\n\n /**\n * Normalizes table name.\n *\n * @param targetName Name of the target entity that can be used to generate a table name.\n * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity(\"name\")\n */\n tableName(targetName: string, userSpecifiedName: string|undefined): string {\n return userSpecifiedName ? userSpecifiedName : snakeCase(targetName);\n }\n\n /**\n * Creates a table name for a junction table of a closure table.\n *\n * @param originalClosureTableName Name of the closure table which owns this junction table.\n */\n closureJunctionTableName(originalClosureTableName: string): string {\n return originalClosureTableName + \"_closure\";\n }\n\n columnName(propertyName: string, customName: string, embeddedPrefixes: string[]): string {\n const name = customName || propertyName;\n \n if (embeddedPrefixes.length)\n return camelCase(embeddedPrefixes.join(\"_\")) + titleCase(name);\n\n return name;\n }\n\n relationName(propertyName: string): string {\n return propertyName;\n }\n\n primaryKeyName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"PK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n uniqueConstraintName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"UQ_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n relationConstraintName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"REL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n defaultConstraintName(tableOrName: Table|string, columnName: string): string {\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${columnName}`;\n return \"DF_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n foreignKeyName(tableOrName: Table|string, columnNames: string[], _referencedTablePath?: string, _referencedColumnNames?: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"FK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n indexName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"IDX_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n checkConstraintName(tableOrName: Table|string, expression: string): string {\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n return \"CHK_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n exclusionConstraintName(tableOrName: Table|string, expression: string): string {\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n return \"XCL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n joinColumnName(relationName: string, referencedColumnName: string): string {\n return camelCase(relationName + \"_\" + referencedColumnName);\n }\n\n joinTableName(firstTableName: string,\n secondTableName: string,\n firstPropertyName: string,\n secondPropertyName: string): string {\n return snakeCase(firstTableName + \"_\" + firstPropertyName.replace(/\\./gi, \"_\") + \"_\" + secondTableName);\n }\n\n joinTableColumnDuplicationPrefix(columnName: string, index: number): string {\n return columnName + \"_\" + index;\n }\n\n joinTableColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return camelCase(tableName + \"_\" + (columnName ? columnName : propertyName));\n }\n\n joinTableInverseColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return this.joinTableColumnName(tableName, propertyName, columnName);\n }\n\n /**\n * Adds globally set prefix to the table name.\n * This method is executed no matter if prefix was set or not.\n * Table name is either user's given table name, either name generated from entity target.\n * Note that table name comes here already normalized by #tableName method.\n */\n prefixTableName(prefix: string, tableName: string): string {\n return prefix + tableName;\n }\n\n eagerJoinRelationAlias(alias: string, propertyPath: string): string {\n return alias + \"_\" + propertyPath.replace(\".\", \"_\");\n }\n\n nestedSetColumnNames = { left: \"nsleft\", right: \"nsright\" };\n materializedPathColumnName = \"mpath\";\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/naming-strategy/DefaultNamingStrategy.ts"],"names":[],"mappings":"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","file":"DefaultNamingStrategy.js","sourcesContent":["import {NamingStrategyInterface} from \"./NamingStrategyInterface\";\nimport {RandomGenerator} from \"../util/RandomGenerator\";\nimport {camelCase, snakeCase, titleCase} from \"../util/StringUtils\";\nimport {Table} from \"../schema-builder/table/Table\";\n\n/**\n * Naming strategy that is used by default.\n */\nexport class DefaultNamingStrategy implements NamingStrategyInterface {\n\n /**\n * Normalizes table name.\n *\n * @param targetName Name of the target entity that can be used to generate a table name.\n * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity(\"name\")\n */\n tableName(targetName: string, userSpecifiedName: string|undefined): string {\n return userSpecifiedName ? userSpecifiedName : snakeCase(targetName);\n }\n\n /**\n * Creates a table name for a junction table of a closure table.\n *\n * @param originalClosureTableName Name of the closure table which owns this junction table.\n */\n closureJunctionTableName(originalClosureTableName: string): string {\n return originalClosureTableName + \"_closure\";\n }\n\n columnName(propertyName: string, customName: string, embeddedPrefixes: string[]): string {\n const name = customName || propertyName;\n\n if (embeddedPrefixes.length)\n return camelCase(embeddedPrefixes.join(\"_\")) + titleCase(name);\n\n return name;\n }\n\n relationName(propertyName: string): string {\n return propertyName;\n }\n\n primaryKeyName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"PK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n uniqueConstraintName(tableOrName: Table|string, columnNames: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"UQ_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n relationConstraintName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"REL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n defaultConstraintName(tableOrName: Table|string, columnName: string): string {\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${columnName}`;\n return \"DF_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n foreignKeyName(tableOrName: Table|string, columnNames: string[], _referencedTablePath?: string, _referencedColumnNames?: string[]): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n return \"FK_\" + RandomGenerator.sha1(key).substr(0, 27);\n }\n\n indexName(tableOrName: Table|string, columnNames: string[], where?: string): string {\n // sort incoming column names to avoid issue when [\"id\", \"name\"] and [\"name\", \"id\"] arrays\n const clonedColumnNames = [...columnNames];\n clonedColumnNames.sort();\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n let key = `${replacedTableName}_${clonedColumnNames.join(\"_\")}`;\n if (where)\n key += `_${where}`;\n\n return \"IDX_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n checkConstraintName(tableOrName: Table|string, expression: string, isEnum?: boolean): string {\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n const name = \"CHK_\" + RandomGenerator.sha1(key).substr(0, 26);\n return isEnum ? `${name}_ENUM` : name;\n }\n\n exclusionConstraintName(tableOrName: Table|string, expression: string): string {\n const tableName = tableOrName instanceof Table ? tableOrName.name : tableOrName;\n const replacedTableName = tableName.replace(\".\", \"_\");\n const key = `${replacedTableName}_${expression}`;\n return \"XCL_\" + RandomGenerator.sha1(key).substr(0, 26);\n }\n\n joinColumnName(relationName: string, referencedColumnName: string): string {\n return camelCase(relationName + \"_\" + referencedColumnName);\n }\n\n joinTableName(firstTableName: string,\n secondTableName: string,\n firstPropertyName: string,\n secondPropertyName: string): string {\n return snakeCase(firstTableName + \"_\" + firstPropertyName.replace(/\\./gi, \"_\") + \"_\" + secondTableName);\n }\n\n joinTableColumnDuplicationPrefix(columnName: string, index: number): string {\n return columnName + \"_\" + index;\n }\n\n joinTableColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return camelCase(tableName + \"_\" + (columnName ? columnName : propertyName));\n }\n\n joinTableInverseColumnName(tableName: string, propertyName: string, columnName?: string): string {\n return this.joinTableColumnName(tableName, propertyName, columnName);\n }\n\n /**\n * Adds globally set prefix to the table name.\n * This method is executed no matter if prefix was set or not.\n * Table name is either user's given table name, either name generated from entity target.\n * Note that table name comes here already normalized by #tableName method.\n */\n prefixTableName(prefix: string, tableName: string): string {\n return prefix + tableName;\n }\n\n eagerJoinRelationAlias(alias: string, propertyPath: string): string {\n return alias + \"_\" + propertyPath.replace(\".\", \"_\");\n }\n\n nestedSetColumnNames = { left: \"nsleft\", right: \"nsright\" };\n materializedPathColumnName = \"mpath\";\n}\n"],"sourceRoot":".."}
@@ -56,8 +56,13 @@ export interface NamingStrategyInterface {
56
56
  indexName(tableOrName: Table | string, columns: string[], where?: string): string;
57
57
  /**
58
58
  * Gets the name of the check constraint.
59
+ *
60
+ * "isEnum" parameter is used to indicate if this check constraint used
61
+ * to handle "simple-enum" type for databases that are not supporting "enum"
62
+ * type out of the box. If "true", constraint is ignored during CHECK constraints
63
+ * synchronization.
59
64
  */
60
- checkConstraintName(tableOrName: Table | string, expression: string): string;
65
+ checkConstraintName(tableOrName: Table | string, expression: string, isEnum?: boolean): string;
61
66
  /**
62
67
  * Gets the name of the exclusion constraint.
63
68
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/naming-strategy/NamingStrategyInterface.ts"],"names":[],"mappings":"","file":"NamingStrategyInterface.js","sourcesContent":["import {Table} from \"../schema-builder/table/Table\";\n\n/**\n * Naming strategy defines how auto-generated names for such things like table name, or table column gonna be\n * generated.\n */\nexport interface NamingStrategyInterface {\n\n /**\n * Naming strategy name.\n */\n name?: string;\n\n /**\n * Normalizes table name.\n *\n * @param targetName Name of the target entity that can be used to generate a table name.\n * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity(\"name\")\n */\n tableName(targetName: string, userSpecifiedName: string|undefined): string;\n\n /**\n * Creates a table name for a junction table of a closure table.\n *\n * @param originalClosureTableName Name of the closure table which owns this junction table.\n */\n closureJunctionTableName(originalClosureTableName: string): string;\n\n /**\n * Gets the table's column name from the given property name.\n */\n columnName(propertyName: string, customName: string|undefined, embeddedPrefixes: string[]): string;\n\n /**\n * Gets the table's relation name from the given property name.\n */\n relationName(propertyName: string): string;\n\n /**\n * Gets the table's primary key name from the given table name and column names.\n */\n primaryKeyName(tableOrName: Table|string, columnNames: string[]): string;\n\n /**\n * Gets the table's unique constraint name from the given table name and column names.\n */\n uniqueConstraintName(tableOrName: Table|string, columnNames: string[]): string;\n\n /**\n * Gets the relation constraint (UNIQUE or UNIQUE INDEX) name from the given table name, column names\n * and WHERE condition, if UNIQUE INDEX used.\n */\n relationConstraintName(tableOrName: Table|string, columnNames: string[], where?: string): string;\n\n /**\n * Gets the table's default constraint name from the given table name and column name.\n */\n defaultConstraintName(tableOrName: Table|string, columnName: string): string;\n\n /**\n * Gets the name of the foreign key.\n */\n foreignKeyName(tableOrName: Table|string, columnNames: string[], referencedTablePath?: string, referencedColumnNames?: string[]): string;\n\n /**\n * Gets the name of the index - simple and compose index.\n */\n indexName(tableOrName: Table|string, columns: string[], where?: string): string;\n\n /**\n * Gets the name of the check constraint.\n */\n checkConstraintName(tableOrName: Table|string, expression: string): string;\n\n /**\n * Gets the name of the exclusion constraint.\n */\n exclusionConstraintName(tableOrName: Table|string, expression: string): string;\n\n /**\n * Gets the name of the join column used in the one-to-one and many-to-one relations.\n */\n joinColumnName(relationName: string, referencedColumnName: string): string;\n\n /**\n * Gets the name of the join table used in the many-to-many relations.\n */\n joinTableName(firstTableName: string,\n secondTableName: string,\n firstPropertyName: string,\n secondPropertyName: string): string;\n\n /**\n * Columns in join tables can have duplicate names in case of self-referencing.\n * This method provide a resolution for such column names.\n */\n joinTableColumnDuplicationPrefix(columnName: string, index: number): string;\n\n /**\n * Gets the name of the column used for columns in the junction tables.\n *\n * The reverse?:boolean parameter denotes if the joinTableColumnName is called for the junctionColumn (false)\n * or the inverseJunctionColumns (true)\n */\n joinTableColumnName(tableName: string, propertyName: string, columnName?: string): string;\n\n /**\n * Gets the name of the column used for columns in the junction tables from the invers side of the relationship.\n */\n joinTableInverseColumnName(tableName: string, propertyName: string, columnName?: string): string;\n\n /**\n * Adds globally set prefix to the table name.\n * This method is executed no matter if prefix was set or not.\n * Table name is either user's given table name, either name generated from entity target.\n * Note that table name comes here already normalized by #tableName method.\n */\n prefixTableName(prefix: string, tableName: string): string;\n\n /**\n * Gets the name of the alias used for relation joins.\n */\n eagerJoinRelationAlias(alias: string, propertyPath: string): string;\n\n /**\n * Column names for nested sets.\n */\n nestedSetColumnNames: { left: string, right: string };\n\n /**\n * Column name for materialized paths.\n */\n materializedPathColumnName: string;\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/naming-strategy/NamingStrategyInterface.ts"],"names":[],"mappings":"","file":"NamingStrategyInterface.js","sourcesContent":["import {Table} from \"../schema-builder/table/Table\";\n\n/**\n * Naming strategy defines how auto-generated names for such things like table name, or table column gonna be\n * generated.\n */\nexport interface NamingStrategyInterface {\n\n /**\n * Naming strategy name.\n */\n name?: string;\n\n /**\n * Normalizes table name.\n *\n * @param targetName Name of the target entity that can be used to generate a table name.\n * @param userSpecifiedName For example if user specified a table name in a decorator, e.g. @Entity(\"name\")\n */\n tableName(targetName: string, userSpecifiedName: string|undefined): string;\n\n /**\n * Creates a table name for a junction table of a closure table.\n *\n * @param originalClosureTableName Name of the closure table which owns this junction table.\n */\n closureJunctionTableName(originalClosureTableName: string): string;\n\n /**\n * Gets the table's column name from the given property name.\n */\n columnName(propertyName: string, customName: string|undefined, embeddedPrefixes: string[]): string;\n\n /**\n * Gets the table's relation name from the given property name.\n */\n relationName(propertyName: string): string;\n\n /**\n * Gets the table's primary key name from the given table name and column names.\n */\n primaryKeyName(tableOrName: Table|string, columnNames: string[]): string;\n\n /**\n * Gets the table's unique constraint name from the given table name and column names.\n */\n uniqueConstraintName(tableOrName: Table|string, columnNames: string[]): string;\n\n /**\n * Gets the relation constraint (UNIQUE or UNIQUE INDEX) name from the given table name, column names\n * and WHERE condition, if UNIQUE INDEX used.\n */\n relationConstraintName(tableOrName: Table|string, columnNames: string[], where?: string): string;\n\n /**\n * Gets the table's default constraint name from the given table name and column name.\n */\n defaultConstraintName(tableOrName: Table|string, columnName: string): string;\n\n /**\n * Gets the name of the foreign key.\n */\n foreignKeyName(tableOrName: Table|string, columnNames: string[], referencedTablePath?: string, referencedColumnNames?: string[]): string;\n\n /**\n * Gets the name of the index - simple and compose index.\n */\n indexName(tableOrName: Table|string, columns: string[], where?: string): string;\n\n /**\n * Gets the name of the check constraint.\n *\n * \"isEnum\" parameter is used to indicate if this check constraint used\n * to handle \"simple-enum\" type for databases that are not supporting \"enum\"\n * type out of the box. If \"true\", constraint is ignored during CHECK constraints\n * synchronization.\n */\n checkConstraintName(tableOrName: Table|string, expression: string, isEnum?: boolean): string;\n\n /**\n * Gets the name of the exclusion constraint.\n */\n exclusionConstraintName(tableOrName: Table|string, expression: string): string;\n\n /**\n * Gets the name of the join column used in the one-to-one and many-to-one relations.\n */\n joinColumnName(relationName: string, referencedColumnName: string): string;\n\n /**\n * Gets the name of the join table used in the many-to-many relations.\n */\n joinTableName(firstTableName: string,\n secondTableName: string,\n firstPropertyName: string,\n secondPropertyName: string): string;\n\n /**\n * Columns in join tables can have duplicate names in case of self-referencing.\n * This method provide a resolution for such column names.\n */\n joinTableColumnDuplicationPrefix(columnName: string, index: number): string;\n\n /**\n * Gets the name of the column used for columns in the junction tables.\n *\n * The reverse?:boolean parameter denotes if the joinTableColumnName is called for the junctionColumn (false)\n * or the inverseJunctionColumns (true)\n */\n joinTableColumnName(tableName: string, propertyName: string, columnName?: string): string;\n\n /**\n * Gets the name of the column used for columns in the junction tables from the invers side of the relationship.\n */\n joinTableInverseColumnName(tableName: string, propertyName: string, columnName?: string): string;\n\n /**\n * Adds globally set prefix to the table name.\n * This method is executed no matter if prefix was set or not.\n * Table name is either user's given table name, either name generated from entity target.\n * Note that table name comes here already normalized by #tableName method.\n */\n prefixTableName(prefix: string, tableName: string): string;\n\n /**\n * Gets the name of the alias used for relation joins.\n */\n eagerJoinRelationAlias(alias: string, propertyPath: string): string;\n\n /**\n * Column names for nested sets.\n */\n nestedSetColumnNames: { left: string, right: string };\n\n /**\n * Column name for materialized paths.\n */\n materializedPathColumnName: string;\n}\n"],"sourceRoot":".."}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typeorm",
3
3
  "private": false,
4
- "version": "0.2.28",
4
+ "version": "0.2.32",
5
5
  "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.",
6
6
  "license": "MIT",
7
7
  "readmeFilename": "README.md",
@@ -58,78 +58,80 @@
58
58
  ],
59
59
  "devDependencies": {
60
60
  "@types/app-root-path": "^1.2.4",
61
- "@types/chai": "^4.2.0",
61
+ "@types/chai": "^4.2.15",
62
62
  "@types/chai-as-promised": "^7.1.3",
63
63
  "@types/debug": "^4.1.5",
64
64
  "@types/dotenv": "^8.2.0",
65
- "@types/js-yaml": "^3.12.5",
65
+ "@types/js-yaml": "^4.0.0",
66
66
  "@types/mkdirp": "^1.0.1",
67
- "@types/mocha": "^8.0.3",
68
- "@types/node": "^14.6.4",
67
+ "@types/mocha": "^8.2.1",
68
+ "@types/node": "^14.14.31",
69
69
  "@types/rimraf": "^3.0.0",
70
70
  "@types/sha.js": "^2.4.0",
71
- "@types/sinon": "^9.0.5",
72
- "@types/source-map-support": "^0.5.1",
73
- "@types/xml2js": "^0.4.5",
74
- "@types/yargs": "^15.0.4",
75
- "@typescript-eslint/eslint-plugin": "^4.1.0",
76
- "@typescript-eslint/parser": "^4.1.0",
77
- "better-sqlite3": "^7.1.0",
78
- "chai": "^4.2.0",
71
+ "@types/sinon": "^9.0.10",
72
+ "@types/source-map-support": "^0.5.3",
73
+ "@types/xml2js": "^0.4.8",
74
+ "@types/yargs": "^16.0.0",
75
+ "@typescript-eslint/eslint-plugin": "^4.15.2",
76
+ "@typescript-eslint/parser": "^4.15.2",
77
+ "better-sqlite3": "^7.1.2",
78
+ "chai": "^4.3.0",
79
79
  "chai-as-promised": "^7.1.1",
80
- "class-transformer": "^0.3.1",
81
- "conventional-changelog-angular": "^5.0.11",
82
- "conventional-changelog-cli": "^2.1.0",
83
- "del": "^5.1.0",
84
- "eslint": "^7.8.1",
80
+ "class-transformer": "^0.4.0",
81
+ "conventional-changelog-angular": "^5.0.12",
82
+ "conventional-changelog-cli": "^2.1.1",
83
+ "del": "^6.0.0",
84
+ "eslint": "^7.20.0",
85
85
  "gulp": "^4.0.2",
86
86
  "gulp-eslint": "^6.0.0",
87
87
  "gulp-istanbul": "^1.1.3",
88
- "gulp-mocha": "^7.0.2",
88
+ "gulp-mocha": "^8.0.0",
89
89
  "gulp-rename": "^2.0.0",
90
90
  "gulp-replace": "^1.0.0",
91
91
  "gulp-shell": "^0.8.0",
92
- "gulp-sourcemaps": "^2.6.5",
92
+ "gulp-sourcemaps": "^3.0.0",
93
93
  "gulp-typescript": "^6.0.0-alpha.1",
94
94
  "gulpclass": "^0.2.0",
95
- "husky": "^4.2.3",
96
- "lint-staged": "^10.0.8",
97
- "mocha": "^8.1.3",
98
- "mongodb": "^3.5.4",
99
- "mssql": "^6.1.0",
95
+ "husky": "^5.1.1",
96
+ "lint-staged": "^10.5.4",
97
+ "mocha": "^8.3.0",
98
+ "mongodb": "^3.6.4",
99
+ "mssql": "^6.3.1",
100
100
  "mysql": "^2.18.1",
101
- "mysql2": "^2.1.0",
102
- "oracledb": "^5.0.0",
103
- "pg": "^8.3.0",
101
+ "mysql2": "^2.2.5",
102
+ "oracledb": "^5.1.0",
103
+ "pg": "^8.5.1",
104
+ "pg-query-stream": "^4.0.0",
104
105
  "redis": "^3.0.2",
105
106
  "remap-istanbul": "^0.13.0",
106
107
  "rimraf": "^3.0.2",
107
- "sinon": "^9.0.0",
108
+ "sinon": "^9.2.4",
108
109
  "sinon-chai": "^3.5.0",
109
- "source-map-support": "^0.5.16",
110
- "sql.js": "^1.3.0",
111
- "sqlite3": "^5.0.0",
112
- "ts-node": "^9.0.0",
113
- "typeorm-aurora-data-api-driver": "^1.4.0",
114
- "typescript": "~3.6.0"
110
+ "source-map-support": "^0.5.19",
111
+ "sql.js": "^1.4.0",
112
+ "sqlite3": "^5.0.2",
113
+ "ts-node": "^9.1.1",
114
+ "typeorm-aurora-data-api-driver": "^2.0.0",
115
+ "typescript": "^4.2.2"
115
116
  },
116
117
  "dependencies": {
117
- "@sqltools/formatter": "1.2.2",
118
+ "@sqltools/formatter": "^1.2.2",
118
119
  "app-root-path": "^3.0.0",
119
- "buffer": "^5.5.0",
120
+ "buffer": "^6.0.3",
120
121
  "chalk": "^4.1.0",
121
- "cli-highlight": "^2.1.4",
122
- "debug": "^4.1.1",
122
+ "cli-highlight": "^2.1.10",
123
+ "debug": "^4.3.1",
123
124
  "dotenv": "^8.2.0",
124
125
  "glob": "^7.1.6",
125
- "js-yaml": "^3.14.0",
126
+ "js-yaml": "^4.0.0",
126
127
  "mkdirp": "^1.0.4",
127
128
  "reflect-metadata": "^0.1.13",
128
129
  "sha.js": "^2.4.11",
129
- "tslib": "^1.13.0",
130
+ "tslib": "^2.1.0",
130
131
  "xml2js": "^0.4.23",
131
- "yargonaut": "^1.1.2",
132
- "yargs": "^16.0.3"
132
+ "yargonaut": "^1.1.4",
133
+ "yargs": "^16.2.0",
134
+ "zen-observable-ts": "^1.0.0"
133
135
  },
134
136
  "lint-staged": {
135
137
  "*.ts": [
@@ -150,6 +152,7 @@
150
152
  "bin": {
151
153
  "typeorm": "./cli.js"
152
154
  },
155
+ "funding": "https://opencollective.com/typeorm",
153
156
  "collective": {
154
157
  "type": "opencollective",
155
158
  "url": "https://opencollective.com/typeorm",
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityPersistExecutor = void 0;
3
4
  var tslib_1 = require("tslib");
4
5
  var MustBeEntityError_1 = require("../error/MustBeEntityError");
5
6
  var SubjectExecutor_1 = require("./SubjectExecutor");
@@ -33,26 +34,29 @@ var EntityPersistExecutor = /** @class */ (function () {
33
34
  * Executes persistence operation ob given entity or entities.
34
35
  */
35
36
  EntityPersistExecutor.prototype.execute = function () {
36
- var _this = this;
37
- // check if entity we are going to save is valid and is an object
38
- if (!this.entity || !(this.entity instanceof Object))
39
- return Promise.reject(new MustBeEntityError_1.MustBeEntityError(this.mode, this.entity));
40
- // we MUST call "fake" resolve here to make sure all properties of lazily loaded relations are resolved
41
- return Promise.resolve().then(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
37
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
42
38
  var queryRunner, entities, entitiesInChunks, executors, executorsWithExecutableOperations, isTransactionStartedByUs, executorsWithExecutableOperations_1, executorsWithExecutableOperations_1_1, executor, e_1_1, error_1, rollbackError_1;
43
39
  var e_1, _a;
44
40
  var _this = this;
45
41
  return tslib_1.__generator(this, function (_b) {
46
42
  switch (_b.label) {
47
43
  case 0:
44
+ // check if entity we are going to save is valid and is an object
45
+ if (!this.entity || typeof this.entity !== "object")
46
+ return [2 /*return*/, Promise.reject(new MustBeEntityError_1.MustBeEntityError(this.mode, this.entity))];
47
+ // we MUST call "fake" resolve here to make sure all properties of lazily loaded relations are resolved
48
+ return [4 /*yield*/, Promise.resolve()];
49
+ case 1:
50
+ // we MUST call "fake" resolve here to make sure all properties of lazily loaded relations are resolved
51
+ _b.sent();
48
52
  queryRunner = this.queryRunner || this.connection.createQueryRunner();
49
53
  // save data in the query runner - this is useful functionality to share data from outside of the world
50
54
  // with third classes - like subscribers and listener methods
51
55
  if (this.options && this.options.data)
52
56
  queryRunner.data = this.options.data;
53
- _b.label = 1;
54
- case 1:
55
- _b.trys.push([1, , 21, 24]);
57
+ _b.label = 2;
58
+ case 2:
59
+ _b.trys.push([2, , 22, 25]);
56
60
  entities = Array.isArray(this.entity) ? this.entity : [this.entity];
57
61
  entitiesInChunks = this.options && this.options.chunk && this.options.chunk > 0 ? OrmUtils_1.OrmUtils.chunk(entities, this.options.chunk) : [entities];
58
62
  return [4 /*yield*/, Promise.all(entitiesInChunks.map(function (entities) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -117,80 +121,80 @@ var EntityPersistExecutor = /** @class */ (function () {
117
121
  }
118
122
  });
119
123
  }); }))];
120
- case 2:
124
+ case 3:
121
125
  executors = _b.sent();
122
126
  executorsWithExecutableOperations = executors.filter(function (executor) { return executor.hasExecutableOperations; });
123
127
  if (executorsWithExecutableOperations.length === 0)
124
128
  return [2 /*return*/];
125
129
  isTransactionStartedByUs = false;
126
- _b.label = 3;
127
- case 3:
128
- _b.trys.push([3, 15, , 20]);
129
- if (!!queryRunner.isTransactionActive) return [3 /*break*/, 5];
130
- if (!(!this.options || this.options.transaction !== false)) return [3 /*break*/, 5];
130
+ _b.label = 4;
131
+ case 4:
132
+ _b.trys.push([4, 16, , 21]);
133
+ if (!!queryRunner.isTransactionActive) return [3 /*break*/, 6];
134
+ if (!(!this.options || this.options.transaction !== false)) return [3 /*break*/, 6];
131
135
  isTransactionStartedByUs = true;
132
136
  return [4 /*yield*/, queryRunner.startTransaction()];
133
- case 4:
134
- _b.sent();
135
- _b.label = 5;
136
137
  case 5:
137
- _b.trys.push([5, 10, 11, 12]);
138
- executorsWithExecutableOperations_1 = tslib_1.__values(executorsWithExecutableOperations), executorsWithExecutableOperations_1_1 = executorsWithExecutableOperations_1.next();
138
+ _b.sent();
139
139
  _b.label = 6;
140
140
  case 6:
141
- if (!!executorsWithExecutableOperations_1_1.done) return [3 /*break*/, 9];
141
+ _b.trys.push([6, 11, 12, 13]);
142
+ executorsWithExecutableOperations_1 = tslib_1.__values(executorsWithExecutableOperations), executorsWithExecutableOperations_1_1 = executorsWithExecutableOperations_1.next();
143
+ _b.label = 7;
144
+ case 7:
145
+ if (!!executorsWithExecutableOperations_1_1.done) return [3 /*break*/, 10];
142
146
  executor = executorsWithExecutableOperations_1_1.value;
143
147
  return [4 /*yield*/, executor.execute()];
144
- case 7:
145
- _b.sent();
146
- _b.label = 8;
147
148
  case 8:
149
+ _b.sent();
150
+ _b.label = 9;
151
+ case 9:
148
152
  executorsWithExecutableOperations_1_1 = executorsWithExecutableOperations_1.next();
149
- return [3 /*break*/, 6];
150
- case 9: return [3 /*break*/, 12];
151
- case 10:
153
+ return [3 /*break*/, 7];
154
+ case 10: return [3 /*break*/, 13];
155
+ case 11:
152
156
  e_1_1 = _b.sent();
153
157
  e_1 = { error: e_1_1 };
154
- return [3 /*break*/, 12];
155
- case 11:
158
+ return [3 /*break*/, 13];
159
+ case 12:
156
160
  try {
157
161
  if (executorsWithExecutableOperations_1_1 && !executorsWithExecutableOperations_1_1.done && (_a = executorsWithExecutableOperations_1.return)) _a.call(executorsWithExecutableOperations_1);
158
162
  }
159
163
  finally { if (e_1) throw e_1.error; }
160
164
  return [7 /*endfinally*/];
161
- case 12:
162
- if (!(isTransactionStartedByUs === true)) return [3 /*break*/, 14];
163
- return [4 /*yield*/, queryRunner.commitTransaction()];
164
165
  case 13:
166
+ if (!(isTransactionStartedByUs === true)) return [3 /*break*/, 15];
167
+ return [4 /*yield*/, queryRunner.commitTransaction()];
168
+ case 14:
165
169
  _b.sent();
166
- _b.label = 14;
167
- case 14: return [3 /*break*/, 20];
168
- case 15:
169
- error_1 = _b.sent();
170
- if (!isTransactionStartedByUs) return [3 /*break*/, 19];
171
- _b.label = 16;
170
+ _b.label = 15;
171
+ case 15: return [3 /*break*/, 21];
172
172
  case 16:
173
- _b.trys.push([16, 18, , 19]);
174
- return [4 /*yield*/, queryRunner.rollbackTransaction()];
173
+ error_1 = _b.sent();
174
+ if (!isTransactionStartedByUs) return [3 /*break*/, 20];
175
+ _b.label = 17;
175
176
  case 17:
176
- _b.sent();
177
- return [3 /*break*/, 19];
177
+ _b.trys.push([17, 19, , 20]);
178
+ return [4 /*yield*/, queryRunner.rollbackTransaction()];
178
179
  case 18:
180
+ _b.sent();
181
+ return [3 /*break*/, 20];
182
+ case 19:
179
183
  rollbackError_1 = _b.sent();
180
- return [3 /*break*/, 19];
181
- case 19: throw error_1;
182
- case 20: return [3 /*break*/, 24];
183
- case 21:
184
- if (!!this.queryRunner) return [3 /*break*/, 23];
185
- return [4 /*yield*/, queryRunner.release()];
184
+ return [3 /*break*/, 20];
185
+ case 20: throw error_1;
186
+ case 21: return [3 /*break*/, 25];
186
187
  case 22:
188
+ if (!!this.queryRunner) return [3 /*break*/, 24];
189
+ return [4 /*yield*/, queryRunner.release()];
190
+ case 23:
187
191
  _b.sent();
188
- _b.label = 23;
189
- case 23: return [7 /*endfinally*/];
190
- case 24: return [2 /*return*/];
192
+ _b.label = 24;
193
+ case 24: return [7 /*endfinally*/];
194
+ case 25: return [2 /*return*/];
191
195
  }
192
196
  });
193
- }); });
197
+ });
194
198
  };
195
199
  return EntityPersistExecutor;
196
200
  }());
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/persistence/EntityPersistExecutor.ts"],"names":[],"mappings":"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","file":"EntityPersistExecutor.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {SaveOptions} from \"../repository/SaveOptions\";\nimport {RemoveOptions} from \"../repository/RemoveOptions\";\nimport {MustBeEntityError} from \"../error/MustBeEntityError\";\nimport {SubjectExecutor} from \"./SubjectExecutor\";\nimport {CannotDetermineEntityError} from \"../error/CannotDetermineEntityError\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {Connection} from \"../connection/Connection\";\nimport {Subject} from \"./Subject\";\nimport {OneToManySubjectBuilder} from \"./subject-builder/OneToManySubjectBuilder\";\nimport {OneToOneInverseSideSubjectBuilder} from \"./subject-builder/OneToOneInverseSideSubjectBuilder\";\nimport {ManyToManySubjectBuilder} from \"./subject-builder/ManyToManySubjectBuilder\";\nimport {SubjectDatabaseEntityLoader} from \"./SubjectDatabaseEntityLoader\";\nimport {CascadesSubjectBuilder} from \"./subject-builder/CascadesSubjectBuilder\";\nimport {OrmUtils} from \"../util/OrmUtils\";\n\n/**\n * Persists a single entity or multiple entities - saves or removes them.\n */\nexport class EntityPersistExecutor {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection,\n protected queryRunner: QueryRunner|undefined,\n protected mode: \"save\"|\"remove\"|\"soft-remove\"|\"recover\",\n protected target: Function|string|undefined,\n protected entity: ObjectLiteral|ObjectLiteral[],\n protected options?: SaveOptions & RemoveOptions) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes persistence operation ob given entity or entities.\n */\n execute(): Promise<void> {\n\n // check if entity we are going to save is valid and is an object\n if (!this.entity || !(this.entity instanceof Object))\n return Promise.reject(new MustBeEntityError(this.mode, this.entity));\n\n // we MUST call \"fake\" resolve here to make sure all properties of lazily loaded relations are resolved\n return Promise.resolve().then(async () => {\n\n // if query runner is already defined in this class, it means this entity manager was already created for a single connection\n // if its not defined we create a new query runner - single connection where we'll execute all our operations\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n\n // save data in the query runner - this is useful functionality to share data from outside of the world\n // with third classes - like subscribers and listener methods\n if (this.options && this.options.data)\n queryRunner.data = this.options.data;\n\n try {\n\n // collect all operate subjects\n const entities: ObjectLiteral[] = Array.isArray(this.entity) ? this.entity : [this.entity];\n const entitiesInChunks = this.options && this.options.chunk && this.options.chunk > 0 ? OrmUtils.chunk(entities, this.options.chunk) : [entities];\n\n // console.time(\"building subject executors...\");\n const executors = await Promise.all(entitiesInChunks.map(async entities => {\n const subjects: Subject[] = [];\n\n // create subjects for all entities we received for the persistence\n entities.forEach(entity => {\n const entityTarget = this.target ? this.target : entity.constructor;\n if (entityTarget === Object)\n throw new CannotDetermineEntityError(this.mode);\n\n subjects.push(new Subject({\n metadata: this.connection.getMetadata(entityTarget),\n entity: entity,\n canBeInserted: this.mode === \"save\",\n canBeUpdated: this.mode === \"save\",\n mustBeRemoved: this.mode === \"remove\",\n canBeSoftRemoved: this.mode === \"soft-remove\",\n canBeRecovered: this.mode === \"recover\"\n }));\n });\n\n // console.time(\"building cascades...\");\n // go through each entity with metadata and create subjects and subjects by cascades for them\n const cascadesSubjectBuilder = new CascadesSubjectBuilder(subjects);\n subjects.forEach(subject => {\n // next step we build list of subjects we will operate with\n // these subjects are subjects that we need to insert or update alongside with main persisted entity\n cascadesSubjectBuilder.build(subject, this.mode);\n });\n // console.timeEnd(\"building cascades...\");\n\n // load database entities for all subjects we have\n // next step is to load database entities for all operate subjects\n // console.time(\"loading...\");\n await new SubjectDatabaseEntityLoader(queryRunner, subjects).load(this.mode);\n // console.timeEnd(\"loading...\");\n\n // console.time(\"other subjects...\");\n // build all related subjects and change maps\n if (this.mode === \"save\" || this.mode === \"soft-remove\" || this.mode === \"recover\") {\n new OneToManySubjectBuilder(subjects).build();\n new OneToOneInverseSideSubjectBuilder(subjects).build();\n new ManyToManySubjectBuilder(subjects).build();\n } else {\n subjects.forEach(subject => {\n if (subject.mustBeRemoved) {\n new ManyToManySubjectBuilder(subjects).buildForAllRemoval(subject);\n }\n });\n }\n // console.timeEnd(\"other subjects...\");\n // console.timeEnd(\"building subjects...\");\n // console.log(\"subjects\", subjects);\n\n // create a subject executor\n return new SubjectExecutor(queryRunner, subjects, this.options);\n }));\n // console.timeEnd(\"building subject executors...\");\n\n // make sure we have at least one executable operation before we create a transaction and proceed\n // if we don't have operations it means we don't really need to update or remove something\n const executorsWithExecutableOperations = executors.filter(executor => executor.hasExecutableOperations);\n if (executorsWithExecutableOperations.length === 0)\n return;\n\n // start execute queries in a transaction\n // if transaction is already opened in this query runner then we don't touch it\n // if its not opened yet then we open it here, and once we finish - we close it\n let isTransactionStartedByUs = false;\n try {\n\n // open transaction if its not opened yet\n if (!queryRunner.isTransactionActive) {\n if (!this.options || this.options.transaction !== false) { // start transaction until it was not explicitly disabled\n isTransactionStartedByUs = true;\n await queryRunner.startTransaction();\n }\n }\n\n // execute all persistence operations for all entities we have\n // console.time(\"executing subject executors...\");\n for (const executor of executorsWithExecutableOperations) {\n await executor.execute();\n }\n // console.timeEnd(\"executing subject executors...\");\n\n // commit transaction if it was started by us\n // console.time(\"commit\");\n if (isTransactionStartedByUs === true)\n await queryRunner.commitTransaction();\n // console.timeEnd(\"commit\");\n\n } catch (error) {\n\n // rollback transaction if it was started by us\n if (isTransactionStartedByUs) {\n try {\n await queryRunner.rollbackTransaction();\n } catch (rollbackError) { }\n }\n throw error;\n }\n\n } finally {\n\n // release query runner only if its created by us\n if (!this.queryRunner)\n await queryRunner.release();\n }\n });\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/persistence/EntityPersistExecutor.ts"],"names":[],"mappings":"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","file":"EntityPersistExecutor.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {SaveOptions} from \"../repository/SaveOptions\";\nimport {RemoveOptions} from \"../repository/RemoveOptions\";\nimport {MustBeEntityError} from \"../error/MustBeEntityError\";\nimport {SubjectExecutor} from \"./SubjectExecutor\";\nimport {CannotDetermineEntityError} from \"../error/CannotDetermineEntityError\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {Connection} from \"../connection/Connection\";\nimport {Subject} from \"./Subject\";\nimport {OneToManySubjectBuilder} from \"./subject-builder/OneToManySubjectBuilder\";\nimport {OneToOneInverseSideSubjectBuilder} from \"./subject-builder/OneToOneInverseSideSubjectBuilder\";\nimport {ManyToManySubjectBuilder} from \"./subject-builder/ManyToManySubjectBuilder\";\nimport {SubjectDatabaseEntityLoader} from \"./SubjectDatabaseEntityLoader\";\nimport {CascadesSubjectBuilder} from \"./subject-builder/CascadesSubjectBuilder\";\nimport {OrmUtils} from \"../util/OrmUtils\";\n\n/**\n * Persists a single entity or multiple entities - saves or removes them.\n */\nexport class EntityPersistExecutor {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection,\n protected queryRunner: QueryRunner|undefined,\n protected mode: \"save\"|\"remove\"|\"soft-remove\"|\"recover\",\n protected target: Function|string|undefined,\n protected entity: ObjectLiteral|ObjectLiteral[],\n protected options?: SaveOptions & RemoveOptions) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes persistence operation ob given entity or entities.\n */\n async execute(): Promise<void> {\n\n // check if entity we are going to save is valid and is an object\n if (!this.entity || typeof this.entity !== \"object\")\n return Promise.reject(new MustBeEntityError(this.mode, this.entity));\n\n // we MUST call \"fake\" resolve here to make sure all properties of lazily loaded relations are resolved\n await Promise.resolve();\n\n // if query runner is already defined in this class, it means this entity manager was already created for a single connection\n // if its not defined we create a new query runner - single connection where we'll execute all our operations\n const queryRunner = this.queryRunner || this.connection.createQueryRunner();\n\n // save data in the query runner - this is useful functionality to share data from outside of the world\n // with third classes - like subscribers and listener methods\n if (this.options && this.options.data)\n queryRunner.data = this.options.data;\n\n try {\n\n // collect all operate subjects\n const entities: ObjectLiteral[] = Array.isArray(this.entity) ? this.entity : [this.entity];\n const entitiesInChunks = this.options && this.options.chunk && this.options.chunk > 0 ? OrmUtils.chunk(entities, this.options.chunk) : [entities];\n\n // console.time(\"building subject executors...\");\n const executors = await Promise.all(entitiesInChunks.map(async entities => {\n const subjects: Subject[] = [];\n\n // create subjects for all entities we received for the persistence\n entities.forEach(entity => {\n const entityTarget = this.target ? this.target : entity.constructor;\n if (entityTarget === Object)\n throw new CannotDetermineEntityError(this.mode);\n\n subjects.push(new Subject({\n metadata: this.connection.getMetadata(entityTarget),\n entity: entity,\n canBeInserted: this.mode === \"save\",\n canBeUpdated: this.mode === \"save\",\n mustBeRemoved: this.mode === \"remove\",\n canBeSoftRemoved: this.mode === \"soft-remove\",\n canBeRecovered: this.mode === \"recover\"\n }));\n });\n\n // console.time(\"building cascades...\");\n // go through each entity with metadata and create subjects and subjects by cascades for them\n const cascadesSubjectBuilder = new CascadesSubjectBuilder(subjects);\n subjects.forEach(subject => {\n // next step we build list of subjects we will operate with\n // these subjects are subjects that we need to insert or update alongside with main persisted entity\n cascadesSubjectBuilder.build(subject, this.mode);\n });\n // console.timeEnd(\"building cascades...\");\n\n // load database entities for all subjects we have\n // next step is to load database entities for all operate subjects\n // console.time(\"loading...\");\n await new SubjectDatabaseEntityLoader(queryRunner, subjects).load(this.mode);\n // console.timeEnd(\"loading...\");\n\n // console.time(\"other subjects...\");\n // build all related subjects and change maps\n if (this.mode === \"save\" || this.mode === \"soft-remove\" || this.mode === \"recover\") {\n new OneToManySubjectBuilder(subjects).build();\n new OneToOneInverseSideSubjectBuilder(subjects).build();\n new ManyToManySubjectBuilder(subjects).build();\n } else {\n subjects.forEach(subject => {\n if (subject.mustBeRemoved) {\n new ManyToManySubjectBuilder(subjects).buildForAllRemoval(subject);\n }\n });\n }\n // console.timeEnd(\"other subjects...\");\n // console.timeEnd(\"building subjects...\");\n // console.log(\"subjects\", subjects);\n\n // create a subject executor\n return new SubjectExecutor(queryRunner, subjects, this.options);\n }));\n // console.timeEnd(\"building subject executors...\");\n\n // make sure we have at least one executable operation before we create a transaction and proceed\n // if we don't have operations it means we don't really need to update or remove something\n const executorsWithExecutableOperations = executors.filter(executor => executor.hasExecutableOperations);\n if (executorsWithExecutableOperations.length === 0)\n return;\n\n // start execute queries in a transaction\n // if transaction is already opened in this query runner then we don't touch it\n // if its not opened yet then we open it here, and once we finish - we close it\n let isTransactionStartedByUs = false;\n try {\n\n // open transaction if its not opened yet\n if (!queryRunner.isTransactionActive) {\n if (!this.options || this.options.transaction !== false) { // start transaction until it was not explicitly disabled\n isTransactionStartedByUs = true;\n await queryRunner.startTransaction();\n }\n }\n\n // execute all persistence operations for all entities we have\n // console.time(\"executing subject executors...\");\n for (const executor of executorsWithExecutableOperations) {\n await executor.execute();\n }\n // console.timeEnd(\"executing subject executors...\");\n\n // commit transaction if it was started by us\n // console.time(\"commit\");\n if (isTransactionStartedByUs === true)\n await queryRunner.commitTransaction();\n // console.timeEnd(\"commit\");\n\n } catch (error) {\n\n // rollback transaction if it was started by us\n if (isTransactionStartedByUs) {\n try {\n await queryRunner.rollbackTransaction();\n } catch (rollbackError) { }\n }\n throw error;\n }\n\n } finally {\n\n // release query runner only if its created by us\n if (!this.queryRunner)\n await queryRunner.release();\n }\n }\n\n}\n"],"sourceRoot":".."}
@@ -122,25 +122,25 @@ export declare class Subject {
122
122
  * Subject can be inserted into the database if it is allowed to be inserted (explicitly persisted or by cascades)
123
123
  * and if it does not have database entity set.
124
124
  */
125
- readonly mustBeInserted: boolean;
125
+ get mustBeInserted(): boolean;
126
126
  /**
127
127
  * Checks if this subject must be updated into the database.
128
128
  * Subject can be updated in the database if it is allowed to be updated (explicitly persisted or by cascades)
129
129
  * and if it does have differentiated columns or relations.
130
130
  */
131
- readonly mustBeUpdated: boolean | undefined;
131
+ get mustBeUpdated(): boolean | undefined;
132
132
  /**
133
133
  * Checks if this subject must be soft-removed into the database.
134
134
  * Subject can be updated in the database if it is allowed to be soft-removed (explicitly persisted or by cascades)
135
135
  * and if it does have differentiated columns or relations.
136
136
  */
137
- readonly mustBeSoftRemoved: boolean | ObjectLiteral | undefined;
137
+ get mustBeSoftRemoved(): boolean | ObjectLiteral | undefined;
138
138
  /**
139
139
  * Checks if this subject must be recovered into the database.
140
140
  * Subject can be updated in the database if it is allowed to be recovered (explicitly persisted or by cascades)
141
141
  * and if it does have differentiated columns or relations.
142
142
  */
143
- readonly mustBeRecovered: boolean | ObjectLiteral | undefined;
143
+ get mustBeRecovered(): boolean | ObjectLiteral | undefined;
144
144
  /**
145
145
  * Creates a value set needs to be inserted / updated in the database.
146
146
  * Value set is based on the entity and change maps of the subject.