typeorm 0.2.45-dev.f3cfdd2 → 0.2.45

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 (498) hide show
  1. package/browser/cache/DbQueryResultCache.js +6 -6
  2. package/browser/cache/DbQueryResultCache.js.map +1 -1
  3. package/browser/cache/RedisQueryResultCache.js +2 -2
  4. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  5. package/browser/connection/Connection.js +2 -2
  6. package/browser/connection/Connection.js.map +1 -1
  7. package/browser/connection/ConnectionOptionsReader.js +2 -2
  8. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  9. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +10 -10
  10. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  11. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +157 -157
  12. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  13. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +3 -3
  14. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  15. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +4 -4
  16. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  17. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +2 -2
  18. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  19. package/browser/driver/capacitor/CapacitorDriver.js +1 -1
  20. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  21. package/browser/driver/capacitor/CapacitorQueryRunner.js +1 -1
  22. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  23. package/browser/driver/cockroachdb/CockroachDriver.js +6 -6
  24. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  25. package/browser/driver/cockroachdb/CockroachQueryRunner.js +153 -153
  26. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  27. package/browser/driver/cordova/CordovaQueryRunner.js +1 -1
  28. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  29. package/browser/driver/expo/ExpoQueryRunner.js +3 -3
  30. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  31. package/browser/driver/mongodb/MongoDriver.js +4 -4
  32. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  33. package/browser/driver/mysql/MysqlDriver.js +11 -11
  34. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  35. package/browser/driver/mysql/MysqlQueryRunner.js +163 -163
  36. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  37. package/browser/driver/nativescript/NativescriptQueryRunner.js +1 -1
  38. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  39. package/browser/driver/oracle/OracleDriver.js +10 -10
  40. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  41. package/browser/driver/oracle/OracleQueryRunner.js +124 -124
  42. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  43. package/browser/driver/postgres/PostgresDriver.js +18 -18
  44. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  45. package/browser/driver/postgres/PostgresQueryRunner.js +229 -229
  46. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  47. package/browser/driver/react-native/ReactNativeQueryRunner.js +1 -1
  48. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  49. package/browser/driver/sap/SapDriver.js +9 -9
  50. package/browser/driver/sap/SapDriver.js.map +1 -1
  51. package/browser/driver/sap/SapQueryRunner.js +126 -126
  52. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  53. package/browser/driver/sqlite/SqliteDriver.js +4 -4
  54. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  55. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +3 -3
  56. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  57. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +61 -61
  58. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  59. package/browser/driver/sqljs/SqljsDriver.js +3 -3
  60. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  61. package/browser/driver/sqlserver/SqlServerDriver.js +11 -11
  62. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  63. package/browser/driver/sqlserver/SqlServerQueryRunner.js +203 -203
  64. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  65. package/browser/entity-manager/EntityManager.js +4 -4
  66. package/browser/entity-manager/EntityManager.js.map +1 -1
  67. package/browser/entity-manager/MongoEntityManager.js +1 -1
  68. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  69. package/browser/entity-schema/EntitySchemaEmbeddedError.js +2 -2
  70. package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  71. package/browser/error/AlreadyHasActiveConnectionError.js +1 -1
  72. package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
  73. package/browser/error/CannotAttachTreeChildrenEntityError.js +1 -1
  74. package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  75. package/browser/error/CannotConnectAlreadyConnectedError.js +1 -1
  76. package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  77. package/browser/error/CannotCreateEntityIdMapError.js +1 -1
  78. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  79. package/browser/error/CannotDetermineEntityError.js +1 -1
  80. package/browser/error/CannotDetermineEntityError.js.map +1 -1
  81. package/browser/error/CannotExecuteNotConnectedError.js +1 -1
  82. package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
  83. package/browser/error/CannotGetEntityManagerNotConnectedError.js +1 -1
  84. package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  85. package/browser/error/CannotReflectMethodParameterTypeError.js +1 -1
  86. package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  87. package/browser/error/CircularRelationsError.js +1 -1
  88. package/browser/error/CircularRelationsError.js.map +1 -1
  89. package/browser/error/ColumnTypeUndefinedError.js +1 -1
  90. package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
  91. package/browser/error/ConnectionIsNotSetError.js +1 -1
  92. package/browser/error/ConnectionIsNotSetError.js.map +1 -1
  93. package/browser/error/ConnectionNotFoundError.js +1 -1
  94. package/browser/error/ConnectionNotFoundError.js.map +1 -1
  95. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js +1 -1
  96. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  97. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js +1 -1
  98. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  99. package/browser/error/CustomRepositoryNotFoundError.js +1 -1
  100. package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
  101. package/browser/error/DataTypeNotSupportedError.js +1 -1
  102. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  103. package/browser/error/DriverOptionNotSetError.js +1 -1
  104. package/browser/error/DriverOptionNotSetError.js.map +1 -1
  105. package/browser/error/DriverPackageNotInstalledError.js +2 -2
  106. package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
  107. package/browser/error/EntityColumnNotFound.js +1 -1
  108. package/browser/error/EntityColumnNotFound.js.map +1 -1
  109. package/browser/error/EntityMetadataNotFoundError.js +1 -1
  110. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  111. package/browser/error/EntityNotFoundError.js +2 -2
  112. package/browser/error/EntityNotFoundError.js.map +1 -1
  113. package/browser/error/FindRelationsNotFoundError.js +2 -2
  114. package/browser/error/FindRelationsNotFoundError.js.map +1 -1
  115. package/browser/error/InitializedRelationError.js +1 -1
  116. package/browser/error/InitializedRelationError.js.map +1 -1
  117. package/browser/error/MissingDeleteDateColumnError.js +1 -1
  118. package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
  119. package/browser/error/MissingDriverError.js +2 -2
  120. package/browser/error/MissingDriverError.js.map +1 -1
  121. package/browser/error/MissingJoinColumnError.js +3 -3
  122. package/browser/error/MissingJoinColumnError.js.map +1 -1
  123. package/browser/error/MissingJoinTableError.js +3 -3
  124. package/browser/error/MissingJoinTableError.js.map +1 -1
  125. package/browser/error/MissingPrimaryColumnError.js +1 -1
  126. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  127. package/browser/error/MustBeEntityError.js +1 -1
  128. package/browser/error/MustBeEntityError.js.map +1 -1
  129. package/browser/error/NamingStrategyNotFoundError.js +2 -2
  130. package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
  131. package/browser/error/NoConnectionForRepositoryError.js +1 -1
  132. package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
  133. package/browser/error/NoConnectionOptionError.js +2 -2
  134. package/browser/error/NoConnectionOptionError.js.map +1 -1
  135. package/browser/error/NoVersionOrUpdateDateColumnError.js +1 -1
  136. package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  137. package/browser/error/OptimisticLockVersionMismatchError.js +1 -1
  138. package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
  139. package/browser/error/PrimaryColumnCannotBeNullableError.js +1 -1
  140. package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  141. package/browser/error/RepositoryNotFoundError.js +2 -2
  142. package/browser/error/RepositoryNotFoundError.js.map +1 -1
  143. package/browser/error/RepositoryNotTreeError.js +1 -1
  144. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  145. package/browser/error/SubjectRemovedAndUpdatedError.js +1 -1
  146. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  147. package/browser/error/SubjectWithoutIdentifierError.js +1 -1
  148. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  149. package/browser/error/TreeRepositoryNotSupportedError.js +1 -1
  150. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  151. package/browser/error/UsingJoinColumnIsNotAllowedError.js +1 -1
  152. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  153. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -1
  154. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  155. package/browser/error/UsingJoinTableIsNotAllowedError.js +2 -2
  156. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  157. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -1
  158. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  159. package/browser/find-options/FindOptionsUtils.js +6 -6
  160. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  161. package/browser/logger/FileLogger.js +3 -3
  162. package/browser/logger/FileLogger.js.map +1 -1
  163. package/browser/metadata/EmbeddedMetadata.js +1 -1
  164. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  165. package/browser/metadata/IndexMetadata.js +1 -1
  166. package/browser/metadata/IndexMetadata.js.map +1 -1
  167. package/browser/metadata/RelationCountMetadata.js +1 -1
  168. package/browser/metadata/RelationCountMetadata.js.map +1 -1
  169. package/browser/metadata/RelationIdMetadata.js +1 -1
  170. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  171. package/browser/metadata/UniqueMetadata.js +1 -1
  172. package/browser/metadata/UniqueMetadata.js.map +1 -1
  173. package/browser/metadata-builder/EntityMetadataBuilder.js +1 -1
  174. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  175. package/browser/metadata-builder/EntityMetadataValidator.js +9 -9
  176. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  177. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +2 -2
  178. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  179. package/browser/metadata-builder/RelationJoinColumnBuilder.js +1 -1
  180. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  181. package/browser/migration/MigrationExecutor.js +16 -16
  182. package/browser/migration/MigrationExecutor.js.map +1 -1
  183. package/browser/naming-strategy/DefaultNamingStrategy.js +11 -11
  184. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  185. package/browser/persistence/tree/ClosureSubjectExecutor.js +17 -17
  186. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  187. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +2 -2
  188. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  189. package/browser/persistence/tree/NestedSetSubjectExecutor.js +44 -44
  190. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  191. package/browser/platform/BrowserPlatformTools.js +9 -9
  192. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  193. package/browser/platform/PlatformTools.js +1 -1
  194. package/browser/platform/PlatformTools.js.map +1 -1
  195. package/browser/query-builder/Alias.js +1 -1
  196. package/browser/query-builder/Alias.js.map +1 -1
  197. package/browser/query-builder/DeleteQueryBuilder.js +3 -3
  198. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  199. package/browser/query-builder/InsertQueryBuilder.js +22 -22
  200. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  201. package/browser/query-builder/JoinAttribute.js +1 -1
  202. package/browser/query-builder/JoinAttribute.js.map +1 -1
  203. package/browser/query-builder/QueryBuilder.js +39 -39
  204. package/browser/query-builder/QueryBuilder.js.map +1 -1
  205. package/browser/query-builder/QueryExpressionMap.js +2 -2
  206. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  207. package/browser/query-builder/RelationLoader.js +7 -7
  208. package/browser/query-builder/RelationLoader.js.map +1 -1
  209. package/browser/query-builder/RelationQueryBuilder.js +3 -3
  210. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  211. package/browser/query-builder/RelationRemover.js +4 -4
  212. package/browser/query-builder/RelationRemover.js.map +1 -1
  213. package/browser/query-builder/RelationUpdater.js +1 -1
  214. package/browser/query-builder/RelationUpdater.js.map +1 -1
  215. package/browser/query-builder/SelectQueryBuilder.js +23 -23
  216. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  217. package/browser/query-builder/SoftDeleteQueryBuilder.js +4 -4
  218. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  219. package/browser/query-builder/UpdateQueryBuilder.js +8 -8
  220. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  221. package/browser/query-builder/relation-count/RelationCountAttribute.js +1 -1
  222. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  223. package/browser/query-builder/relation-id/RelationIdAttribute.js +1 -1
  224. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  225. package/browser/query-builder/relation-id/RelationIdLoader.js +4 -4
  226. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  227. package/browser/query-runner/BaseQueryRunner.js +7 -7
  228. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  229. package/browser/repository/TreeRepository.js +7 -7
  230. package/browser/repository/TreeRepository.js.map +1 -1
  231. package/browser/schema-builder/RdbmsSchemaBuilder.js +19 -19
  232. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  233. package/browser/subscriber/Broadcaster.js +1 -1
  234. package/browser/subscriber/Broadcaster.js.map +1 -1
  235. package/browser/util/DateUtils.js +1 -1
  236. package/browser/util/DateUtils.js.map +1 -1
  237. package/browser/util/DepGraph.js +7 -7
  238. package/browser/util/DepGraph.js.map +1 -1
  239. package/browser/util/DirectoryExportedClassesLoader.js +2 -2
  240. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  241. package/browser/util/PathUtils.js +1 -1
  242. package/browser/util/PathUtils.js.map +1 -1
  243. package/cache/DbQueryResultCache.js +6 -6
  244. package/cache/DbQueryResultCache.js.map +1 -1
  245. package/cache/RedisQueryResultCache.js +2 -2
  246. package/cache/RedisQueryResultCache.js.map +1 -1
  247. package/cli.js +0 -0
  248. package/commands/CommandUtils.js +1 -1
  249. package/commands/CommandUtils.js.map +1 -1
  250. package/commands/EntityCreateCommand.js +3 -3
  251. package/commands/EntityCreateCommand.js.map +1 -1
  252. package/commands/InitCommand.js +6 -6
  253. package/commands/InitCommand.js.map +1 -1
  254. package/commands/MigrationCreateCommand.js +3 -3
  255. package/commands/MigrationCreateCommand.js.map +1 -1
  256. package/commands/MigrationGenerateCommand.js +8 -8
  257. package/commands/MigrationGenerateCommand.js.map +1 -1
  258. package/commands/SchemaLogCommand.js +1 -1
  259. package/commands/SchemaLogCommand.js.map +1 -1
  260. package/commands/SubscriberCreateCommand.js +2 -2
  261. package/commands/SubscriberCreateCommand.js.map +1 -1
  262. package/connection/Connection.js +2 -2
  263. package/connection/Connection.js.map +1 -1
  264. package/connection/ConnectionOptionsReader.js +2 -2
  265. package/connection/ConnectionOptionsReader.js.map +1 -1
  266. package/driver/aurora-data-api/AuroraDataApiDriver.js +10 -10
  267. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  268. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +157 -157
  269. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  270. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +3 -3
  271. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  272. package/driver/better-sqlite3/BetterSqlite3Driver.js +4 -4
  273. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  274. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +2 -2
  275. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  276. package/driver/capacitor/CapacitorDriver.js +1 -1
  277. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  278. package/driver/capacitor/CapacitorQueryRunner.js +1 -1
  279. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  280. package/driver/cockroachdb/CockroachDriver.js +6 -6
  281. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  282. package/driver/cockroachdb/CockroachQueryRunner.js +153 -153
  283. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  284. package/driver/cordova/CordovaQueryRunner.js +1 -1
  285. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  286. package/driver/expo/ExpoQueryRunner.js +3 -3
  287. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  288. package/driver/mongodb/MongoDriver.js +4 -4
  289. package/driver/mongodb/MongoDriver.js.map +1 -1
  290. package/driver/mysql/MysqlDriver.js +11 -11
  291. package/driver/mysql/MysqlDriver.js.map +1 -1
  292. package/driver/mysql/MysqlQueryRunner.js +163 -163
  293. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  294. package/driver/nativescript/NativescriptQueryRunner.js +1 -1
  295. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  296. package/driver/oracle/OracleDriver.js +10 -10
  297. package/driver/oracle/OracleDriver.js.map +1 -1
  298. package/driver/oracle/OracleQueryRunner.js +124 -124
  299. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  300. package/driver/postgres/PostgresDriver.js +18 -18
  301. package/driver/postgres/PostgresDriver.js.map +1 -1
  302. package/driver/postgres/PostgresQueryRunner.js +229 -229
  303. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  304. package/driver/react-native/ReactNativeQueryRunner.js +1 -1
  305. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  306. package/driver/sap/SapDriver.js +9 -9
  307. package/driver/sap/SapDriver.js.map +1 -1
  308. package/driver/sap/SapQueryRunner.js +126 -126
  309. package/driver/sap/SapQueryRunner.js.map +1 -1
  310. package/driver/sqlite/SqliteDriver.js +4 -4
  311. package/driver/sqlite/SqliteDriver.js.map +1 -1
  312. package/driver/sqlite-abstract/AbstractSqliteDriver.js +3 -3
  313. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  314. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +61 -61
  315. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  316. package/driver/sqljs/SqljsDriver.js +3 -3
  317. package/driver/sqljs/SqljsDriver.js.map +1 -1
  318. package/driver/sqlserver/SqlServerDriver.js +11 -11
  319. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  320. package/driver/sqlserver/SqlServerQueryRunner.js +203 -203
  321. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  322. package/entity-manager/EntityManager.js +4 -4
  323. package/entity-manager/EntityManager.js.map +1 -1
  324. package/entity-manager/MongoEntityManager.js +1 -1
  325. package/entity-manager/MongoEntityManager.js.map +1 -1
  326. package/entity-schema/EntitySchemaEmbeddedError.js +2 -2
  327. package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  328. package/error/AlreadyHasActiveConnectionError.js +1 -1
  329. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  330. package/error/CannotAttachTreeChildrenEntityError.js +1 -1
  331. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  332. package/error/CannotConnectAlreadyConnectedError.js +1 -1
  333. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  334. package/error/CannotCreateEntityIdMapError.js +1 -1
  335. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  336. package/error/CannotDetermineEntityError.js +1 -1
  337. package/error/CannotDetermineEntityError.js.map +1 -1
  338. package/error/CannotExecuteNotConnectedError.js +1 -1
  339. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  340. package/error/CannotGetEntityManagerNotConnectedError.js +1 -1
  341. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  342. package/error/CannotReflectMethodParameterTypeError.js +1 -1
  343. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  344. package/error/CircularRelationsError.js +1 -1
  345. package/error/CircularRelationsError.js.map +1 -1
  346. package/error/ColumnTypeUndefinedError.js +1 -1
  347. package/error/ColumnTypeUndefinedError.js.map +1 -1
  348. package/error/ConnectionIsNotSetError.js +1 -1
  349. package/error/ConnectionIsNotSetError.js.map +1 -1
  350. package/error/ConnectionNotFoundError.js +1 -1
  351. package/error/ConnectionNotFoundError.js.map +1 -1
  352. package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -1
  353. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  354. package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -1
  355. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  356. package/error/CustomRepositoryNotFoundError.js +1 -1
  357. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  358. package/error/DataTypeNotSupportedError.js +1 -1
  359. package/error/DataTypeNotSupportedError.js.map +1 -1
  360. package/error/DriverOptionNotSetError.js +1 -1
  361. package/error/DriverOptionNotSetError.js.map +1 -1
  362. package/error/DriverPackageNotInstalledError.js +2 -2
  363. package/error/DriverPackageNotInstalledError.js.map +1 -1
  364. package/error/EntityColumnNotFound.js +1 -1
  365. package/error/EntityColumnNotFound.js.map +1 -1
  366. package/error/EntityMetadataNotFoundError.js +1 -1
  367. package/error/EntityMetadataNotFoundError.js.map +1 -1
  368. package/error/EntityNotFoundError.js +2 -2
  369. package/error/EntityNotFoundError.js.map +1 -1
  370. package/error/FindRelationsNotFoundError.js +2 -2
  371. package/error/FindRelationsNotFoundError.js.map +1 -1
  372. package/error/InitializedRelationError.js +1 -1
  373. package/error/InitializedRelationError.js.map +1 -1
  374. package/error/MissingDeleteDateColumnError.js +1 -1
  375. package/error/MissingDeleteDateColumnError.js.map +1 -1
  376. package/error/MissingDriverError.js +2 -2
  377. package/error/MissingDriverError.js.map +1 -1
  378. package/error/MissingJoinColumnError.js +3 -3
  379. package/error/MissingJoinColumnError.js.map +1 -1
  380. package/error/MissingJoinTableError.js +3 -3
  381. package/error/MissingJoinTableError.js.map +1 -1
  382. package/error/MissingPrimaryColumnError.js +1 -1
  383. package/error/MissingPrimaryColumnError.js.map +1 -1
  384. package/error/MustBeEntityError.js +1 -1
  385. package/error/MustBeEntityError.js.map +1 -1
  386. package/error/NamingStrategyNotFoundError.js +2 -2
  387. package/error/NamingStrategyNotFoundError.js.map +1 -1
  388. package/error/NoConnectionForRepositoryError.js +1 -1
  389. package/error/NoConnectionForRepositoryError.js.map +1 -1
  390. package/error/NoConnectionOptionError.js +2 -2
  391. package/error/NoConnectionOptionError.js.map +1 -1
  392. package/error/NoVersionOrUpdateDateColumnError.js +1 -1
  393. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  394. package/error/OptimisticLockVersionMismatchError.js +1 -1
  395. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  396. package/error/PrimaryColumnCannotBeNullableError.js +1 -1
  397. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  398. package/error/RepositoryNotFoundError.js +2 -2
  399. package/error/RepositoryNotFoundError.js.map +1 -1
  400. package/error/RepositoryNotTreeError.js +1 -1
  401. package/error/RepositoryNotTreeError.js.map +1 -1
  402. package/error/SubjectRemovedAndUpdatedError.js +1 -1
  403. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  404. package/error/SubjectWithoutIdentifierError.js +1 -1
  405. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  406. package/error/TreeRepositoryNotSupportedError.js +1 -1
  407. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  408. package/error/UsingJoinColumnIsNotAllowedError.js +1 -1
  409. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  410. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -1
  411. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  412. package/error/UsingJoinTableIsNotAllowedError.js +2 -2
  413. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  414. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -1
  415. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  416. package/find-options/FindOptionsUtils.js +6 -6
  417. package/find-options/FindOptionsUtils.js.map +1 -1
  418. package/logger/FileLogger.js +3 -3
  419. package/logger/FileLogger.js.map +1 -1
  420. package/metadata/EmbeddedMetadata.js +1 -1
  421. package/metadata/EmbeddedMetadata.js.map +1 -1
  422. package/metadata/IndexMetadata.js +1 -1
  423. package/metadata/IndexMetadata.js.map +1 -1
  424. package/metadata/RelationCountMetadata.js +1 -1
  425. package/metadata/RelationCountMetadata.js.map +1 -1
  426. package/metadata/RelationIdMetadata.js +1 -1
  427. package/metadata/RelationIdMetadata.js.map +1 -1
  428. package/metadata/UniqueMetadata.js +1 -1
  429. package/metadata/UniqueMetadata.js.map +1 -1
  430. package/metadata-builder/EntityMetadataBuilder.js +1 -1
  431. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  432. package/metadata-builder/EntityMetadataValidator.js +9 -9
  433. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  434. package/metadata-builder/JunctionEntityMetadataBuilder.js +2 -2
  435. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  436. package/metadata-builder/RelationJoinColumnBuilder.js +1 -1
  437. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  438. package/migration/MigrationExecutor.js +16 -16
  439. package/migration/MigrationExecutor.js.map +1 -1
  440. package/naming-strategy/DefaultNamingStrategy.js +11 -11
  441. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  442. package/package.json +260 -1
  443. package/persistence/tree/ClosureSubjectExecutor.js +17 -17
  444. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  445. package/persistence/tree/MaterializedPathSubjectExecutor.js +2 -2
  446. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  447. package/persistence/tree/NestedSetSubjectExecutor.js +44 -44
  448. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  449. package/platform/PlatformTools.js +1 -1
  450. package/platform/PlatformTools.js.map +1 -1
  451. package/query-builder/Alias.js +1 -1
  452. package/query-builder/Alias.js.map +1 -1
  453. package/query-builder/DeleteQueryBuilder.js +3 -3
  454. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  455. package/query-builder/InsertQueryBuilder.js +22 -22
  456. package/query-builder/InsertQueryBuilder.js.map +1 -1
  457. package/query-builder/JoinAttribute.js +1 -1
  458. package/query-builder/JoinAttribute.js.map +1 -1
  459. package/query-builder/QueryBuilder.js +39 -39
  460. package/query-builder/QueryBuilder.js.map +1 -1
  461. package/query-builder/QueryExpressionMap.js +2 -2
  462. package/query-builder/QueryExpressionMap.js.map +1 -1
  463. package/query-builder/RelationLoader.js +7 -7
  464. package/query-builder/RelationLoader.js.map +1 -1
  465. package/query-builder/RelationQueryBuilder.js +3 -3
  466. package/query-builder/RelationQueryBuilder.js.map +1 -1
  467. package/query-builder/RelationRemover.js +4 -4
  468. package/query-builder/RelationRemover.js.map +1 -1
  469. package/query-builder/RelationUpdater.js +1 -1
  470. package/query-builder/RelationUpdater.js.map +1 -1
  471. package/query-builder/SelectQueryBuilder.js +23 -23
  472. package/query-builder/SelectQueryBuilder.js.map +1 -1
  473. package/query-builder/SoftDeleteQueryBuilder.js +4 -4
  474. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  475. package/query-builder/UpdateQueryBuilder.js +8 -8
  476. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  477. package/query-builder/relation-count/RelationCountAttribute.js +1 -1
  478. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  479. package/query-builder/relation-id/RelationIdAttribute.js +1 -1
  480. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  481. package/query-builder/relation-id/RelationIdLoader.js +4 -4
  482. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  483. package/query-runner/BaseQueryRunner.js +7 -7
  484. package/query-runner/BaseQueryRunner.js.map +1 -1
  485. package/repository/TreeRepository.js +7 -7
  486. package/repository/TreeRepository.js.map +1 -1
  487. package/schema-builder/RdbmsSchemaBuilder.js +19 -19
  488. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  489. package/subscriber/Broadcaster.js +1 -1
  490. package/subscriber/Broadcaster.js.map +1 -1
  491. package/util/DateUtils.js +1 -1
  492. package/util/DateUtils.js.map +1 -1
  493. package/util/DepGraph.js +7 -7
  494. package/util/DepGraph.js.map +1 -1
  495. package/util/DirectoryExportedClassesLoader.js +2 -2
  496. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  497. package/util/PathUtils.js +1 -1
  498. package/util/PathUtils.js.map +1 -1
@@ -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 protected getTableName(tableOrName: Table | string): string {\n if (tableOrName instanceof Table) {\n tableOrName = tableOrName.name;\n }\n\n return tableOrName.split(\".\").pop()!;\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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 protected getTableName(tableOrName: Table | string): string {\n if (tableOrName instanceof Table) {\n tableOrName = tableOrName.name;\n }\n\n return tableOrName.split(\".\").pop()!;\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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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 = this.getTableName(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":".."}
package/package.json CHANGED
@@ -1 +1,260 @@
1
- { "name": "typeorm", "private": false, "version": "0.2.45-dev.f3cfdd2", "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.", "license": "MIT", "readmeFilename": "README.md", "author": { "name": "Umed Khudoiberdiev", "email": "pleerock.me@gmail.com" }, "exports": { ".": { "node": { "import": "./index.mjs", "require": "./index.js" }, "browser": { "require": "./index.js", "import": "./browser/index.js", "default": "./index.js" } }, "./browser": "./browser/index.js", "./*.js": "./*.js", "./*": { "require": "./*.js", "import": "./*" } }, "main": "./index.js", "module": "./index.mjs", "types": "./index.d.ts", "browser": { "./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js", "./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js", "./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js", "./index.js": "./browser/index.js", "./index.mjs": "./browser/index.js" }, "repository": { "type": "git", "url": "https://github.com/typeorm/typeorm.git" }, "bugs": { "url": "https://github.com/typeorm/typeorm/issues" }, "tags": [ "orm", "typescript", "typescript-orm", "mysql", "mysql-orm", "postgresql", "postgresql-orm", "mariadb", "mariadb-orm", "sqlite", "sqlite-orm", "sql-server", "sql-server-orm", "oracle", "oracle-orm" ], "devDependencies": { "@types/app-root-path": "^1.2.4", "@types/chai": "^4.2.15", "@types/chai-as-promised": "^7.1.3", "@types/debug": "^4.1.5", "@types/js-yaml": "^4.0.0", "@types/mkdirp": "^1.0.1", "@types/mocha": "^8.2.1", "@types/node": "^14.14.31", "@types/rimraf": "^3.0.0", "@types/sha.js": "^2.4.0", "@types/sinon": "^9.0.10", "@types/source-map-support": "^0.5.3", "@types/uuid": "^8.3.4", "@types/xml2js": "^0.4.8", "@types/yargs": "^17.0.2", "@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/parser": "^4.15.2", "better-sqlite3": "^7.1.2", "chai": "^4.3.0", "chai-as-promised": "^7.1.1", "class-transformer": "^0.4.0", "conventional-changelog-angular": "^5.0.12", "conventional-changelog-cli": "^2.1.1", "del": "^6.0.0", "eslint": "^7.20.0", "gulp": "^4.0.2", "gulp-eslint": "^6.0.0", "gulp-istanbul": "^1.1.3", "gulp-mocha": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-replace": "^1.0.0", "gulp-shell": "^0.8.0", "gulp-sourcemaps": "^3.0.0", "gulp-typescript": "^6.0.0-alpha.1", "gulpclass": "^0.2.0", "husky": "^5.1.1", "lint-staged": "^10.5.4", "mocha": "^8.3.0", "mongodb": "^3.6.4", "mssql": "^6.3.1", "mysql": "^2.18.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "remap-istanbul": "^0.13.0", "rimraf": "^3.0.2", "sinon": "^9.2.4", "sinon-chai": "^3.5.0", "source-map-support": "^0.5.19", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "ts-node": "^9.1.1", "typeorm-aurora-data-api-driver": "^2.0.0", "typescript": "^4.2.2" }, "peerDependencies": { "@sap/hana-client": "^2.11.14", "better-sqlite3": "^7.1.2", "hdb-pool": "^0.1.6", "ioredis": "^4.28.3", "mongodb": "^3.6.0", "mssql": "^6.3.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-native": "^3.0.0", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "typeorm-aurora-data-api-driver": "^2.0.0" }, "peerDependenciesMeta": { "@sap/hana-client": { "optional": true }, "better-sqlite3": { "optional": true }, "hdb-pool": { "optional": true }, "ioredis": { "optional": true }, "mongodb": { "optional": true }, "mssql": { "optional": true }, "mysql2": { "optional": true }, "oracledb": { "optional": true }, "pg": { "optional": true }, "pg-native": { "optional": true }, "pg-query-stream": { "optional": true }, "redis": { "optional": true }, "sql.js": { "optional": true }, "sqlite3": { "optional": true }, "typeorm-aurora-data-api-driver": { "optional": true } }, "dependencies": { "@sqltools/formatter": "^1.2.2", "app-root-path": "^3.0.0", "buffer": "^6.0.3", "chalk": "^4.1.0", "cli-highlight": "^2.1.11", "debug": "^4.3.1", "dotenv": "^8.2.0", "glob": "^7.1.6", "js-yaml": "^4.0.0", "mkdirp": "^1.0.4", "reflect-metadata": "^0.1.13", "sha.js": "^2.4.11", "tslib": "^2.1.0", "uuid": "^8.3.2", "xml2js": "^0.4.23", "yargs": "^17.0.1", "zen-observable-ts": "^1.0.0" }, "lint-staged": { "*.ts": [ "eslint --fix", "git add" ] }, "scripts": { "test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "compile": "rimraf ./build && tsc", "watch": "./node_modules/.bin/tsc -w", "package": "gulp package", "pack": "gulp pack", "lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 2" }, "bin": "./cli.js", "funding": "https://opencollective.com/typeorm", "collective": { "type": "opencollective", "url": "https://opencollective.com/typeorm", "logo": "https://opencollective.com/opencollective/logo.txt" }, "nyc": { "all": true, "cache": false, "exclude": [ "**/*.d.ts" ], "extension": [ ".ts" ], "include": [ "build/compiled/src/**", "src/**" ], "reporter": "json" } }
1
+ {
2
+ "name": "typeorm",
3
+ "private": false,
4
+ "version": "0.2.45",
5
+ "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.",
6
+ "license": "MIT",
7
+ "readmeFilename": "README.md",
8
+ "author": {
9
+ "name": "Umed Khudoiberdiev",
10
+ "email": "pleerock.me@gmail.com"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "node": {
15
+ "import": "./index.mjs",
16
+ "require": "./index.js"
17
+ },
18
+ "browser": {
19
+ "require": "./index.js",
20
+ "import": "./browser/index.js",
21
+ "default": "./index.js"
22
+ }
23
+ },
24
+ "./browser": "./browser/index.js",
25
+ "./*.js": "./*.js",
26
+ "./*": {
27
+ "require": "./*.js",
28
+ "import": "./*"
29
+ }
30
+ },
31
+ "main": "./index.js",
32
+ "module": "./index.mjs",
33
+ "types": "./index.d.ts",
34
+ "browser": {
35
+ "./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js",
36
+ "./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js",
37
+ "./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js",
38
+ "./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
39
+ "./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
40
+ "./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
41
+ "./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
42
+ "./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js",
43
+ "./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
44
+ "./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
45
+ "./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
46
+ "./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
47
+ "./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
48
+ "./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js",
49
+ "./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js",
50
+ "./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js",
51
+ "./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js",
52
+ "./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js",
53
+ "./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js",
54
+ "./index.js": "./browser/index.js",
55
+ "./index.mjs": "./browser/index.js"
56
+ },
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "https://github.com/typeorm/typeorm.git"
60
+ },
61
+ "bugs": {
62
+ "url": "https://github.com/typeorm/typeorm/issues"
63
+ },
64
+ "tags": [
65
+ "orm",
66
+ "typescript",
67
+ "typescript-orm",
68
+ "mysql",
69
+ "mysql-orm",
70
+ "postgresql",
71
+ "postgresql-orm",
72
+ "mariadb",
73
+ "mariadb-orm",
74
+ "sqlite",
75
+ "sqlite-orm",
76
+ "sql-server",
77
+ "sql-server-orm",
78
+ "oracle",
79
+ "oracle-orm"
80
+ ],
81
+ "devDependencies": {
82
+ "@types/app-root-path": "^1.2.4",
83
+ "@types/chai": "^4.2.15",
84
+ "@types/chai-as-promised": "^7.1.3",
85
+ "@types/debug": "^4.1.5",
86
+ "@types/js-yaml": "^4.0.0",
87
+ "@types/mkdirp": "^1.0.1",
88
+ "@types/mocha": "^8.2.1",
89
+ "@types/node": "^14.14.31",
90
+ "@types/rimraf": "^3.0.0",
91
+ "@types/sha.js": "^2.4.0",
92
+ "@types/sinon": "^9.0.10",
93
+ "@types/source-map-support": "^0.5.3",
94
+ "@types/uuid": "^8.3.4",
95
+ "@types/xml2js": "^0.4.8",
96
+ "@types/yargs": "^17.0.2",
97
+ "@typescript-eslint/eslint-plugin": "^4.15.2",
98
+ "@typescript-eslint/parser": "^4.15.2",
99
+ "better-sqlite3": "^7.1.2",
100
+ "chai": "^4.3.0",
101
+ "chai-as-promised": "^7.1.1",
102
+ "class-transformer": "^0.4.0",
103
+ "conventional-changelog-angular": "^5.0.12",
104
+ "conventional-changelog-cli": "^2.1.1",
105
+ "del": "^6.0.0",
106
+ "eslint": "^7.20.0",
107
+ "gulp": "^4.0.2",
108
+ "gulp-eslint": "^6.0.0",
109
+ "gulp-istanbul": "^1.1.3",
110
+ "gulp-mocha": "^8.0.0",
111
+ "gulp-rename": "^2.0.0",
112
+ "gulp-replace": "^1.0.0",
113
+ "gulp-shell": "^0.8.0",
114
+ "gulp-sourcemaps": "^3.0.0",
115
+ "gulp-typescript": "^6.0.0-alpha.1",
116
+ "gulpclass": "^0.2.0",
117
+ "husky": "^5.1.1",
118
+ "lint-staged": "^10.5.4",
119
+ "mocha": "^8.3.0",
120
+ "mongodb": "^3.6.4",
121
+ "mssql": "^6.3.1",
122
+ "mysql": "^2.18.1",
123
+ "mysql2": "^2.2.5",
124
+ "oracledb": "^5.1.0",
125
+ "pg": "^8.5.1",
126
+ "pg-query-stream": "^4.0.0",
127
+ "redis": "^3.1.1",
128
+ "remap-istanbul": "^0.13.0",
129
+ "rimraf": "^3.0.2",
130
+ "sinon": "^9.2.4",
131
+ "sinon-chai": "^3.5.0",
132
+ "source-map-support": "^0.5.19",
133
+ "sql.js": "^1.4.0",
134
+ "sqlite3": "^5.0.2",
135
+ "ts-node": "^9.1.1",
136
+ "typeorm-aurora-data-api-driver": "^2.0.0",
137
+ "typescript": "^4.2.2"
138
+ },
139
+ "peerDependencies": {
140
+ "@sap/hana-client": "^2.11.14",
141
+ "better-sqlite3": "^7.1.2",
142
+ "hdb-pool": "^0.1.6",
143
+ "ioredis": "^4.28.3",
144
+ "mongodb": "^3.6.0",
145
+ "mssql": "^6.3.1",
146
+ "mysql2": "^2.2.5",
147
+ "oracledb": "^5.1.0",
148
+ "pg": "^8.5.1",
149
+ "pg-native": "^3.0.0",
150
+ "pg-query-stream": "^4.0.0",
151
+ "redis": "^3.1.1",
152
+ "sql.js": "^1.4.0",
153
+ "sqlite3": "^5.0.2",
154
+ "typeorm-aurora-data-api-driver": "^2.0.0"
155
+ },
156
+ "peerDependenciesMeta": {
157
+ "@sap/hana-client": {
158
+ "optional": true
159
+ },
160
+ "better-sqlite3": {
161
+ "optional": true
162
+ },
163
+ "hdb-pool": {
164
+ "optional": true
165
+ },
166
+ "ioredis": {
167
+ "optional": true
168
+ },
169
+ "mongodb": {
170
+ "optional": true
171
+ },
172
+ "mssql": {
173
+ "optional": true
174
+ },
175
+ "mysql2": {
176
+ "optional": true
177
+ },
178
+ "oracledb": {
179
+ "optional": true
180
+ },
181
+ "pg": {
182
+ "optional": true
183
+ },
184
+ "pg-native": {
185
+ "optional": true
186
+ },
187
+ "pg-query-stream": {
188
+ "optional": true
189
+ },
190
+ "redis": {
191
+ "optional": true
192
+ },
193
+ "sql.js": {
194
+ "optional": true
195
+ },
196
+ "sqlite3": {
197
+ "optional": true
198
+ },
199
+ "typeorm-aurora-data-api-driver": {
200
+ "optional": true
201
+ }
202
+ },
203
+ "dependencies": {
204
+ "@sqltools/formatter": "^1.2.2",
205
+ "app-root-path": "^3.0.0",
206
+ "buffer": "^6.0.3",
207
+ "chalk": "^4.1.0",
208
+ "cli-highlight": "^2.1.11",
209
+ "debug": "^4.3.1",
210
+ "dotenv": "^8.2.0",
211
+ "glob": "^7.1.6",
212
+ "js-yaml": "^4.0.0",
213
+ "mkdirp": "^1.0.4",
214
+ "reflect-metadata": "^0.1.13",
215
+ "sha.js": "^2.4.11",
216
+ "tslib": "^2.1.0",
217
+ "uuid": "^8.3.2",
218
+ "xml2js": "^0.4.23",
219
+ "yargs": "^17.0.1",
220
+ "zen-observable-ts": "^1.0.0"
221
+ },
222
+ "lint-staged": {
223
+ "*.ts": [
224
+ "eslint --fix",
225
+ "git add"
226
+ ]
227
+ },
228
+ "scripts": {
229
+ "test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test",
230
+ "test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test",
231
+ "compile": "rimraf ./build && tsc",
232
+ "watch": "./node_modules/.bin/tsc -w",
233
+ "package": "gulp package",
234
+ "pack": "gulp pack",
235
+ "lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts",
236
+ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 2"
237
+ },
238
+ "bin": "./cli.js",
239
+ "funding": "https://opencollective.com/typeorm",
240
+ "collective": {
241
+ "type": "opencollective",
242
+ "url": "https://opencollective.com/typeorm",
243
+ "logo": "https://opencollective.com/opencollective/logo.txt"
244
+ },
245
+ "nyc": {
246
+ "all": true,
247
+ "cache": false,
248
+ "exclude": [
249
+ "**/*.d.ts"
250
+ ],
251
+ "extension": [
252
+ ".ts"
253
+ ],
254
+ "include": [
255
+ "build/compiled/src/**",
256
+ "src/**"
257
+ ],
258
+ "reporter": "json"
259
+ }
260
+ }
@@ -72,10 +72,10 @@ var ClosureSubjectExecutor = /** @class */ (function () {
72
72
  throw new CannotAttachTreeChildrenEntityError_1.CannotAttachTreeChildrenEntityError(subject.metadata.name);
73
73
  queryParams_1.push(parentId);
74
74
  var parameterName = _this.queryRunner.connection.driver.createParameter("parent_entity_" + column.referencedColumn.databaseName, queryParams_1.length - 1);
75
- return columnName + " = " + parameterName;
75
+ return "".concat(columnName, " = ").concat(parameterName);
76
76
  });
77
- return [4 /*yield*/, this.queryRunner.query("INSERT INTO " + tableName + " (" + (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames), false), (0, tslib_1.__read)(descendantColumnNames), false).join(", ") + ") " +
78
- ("SELECT " + ancestorColumnNames.join(", ") + ", " + childEntityIds1.join(", ") + " FROM " + tableName + " WHERE " + whereCondition.join(" AND ")), queryParams_1)];
77
+ return [4 /*yield*/, this.queryRunner.query("INSERT INTO ".concat(tableName, " (").concat((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames), false), (0, tslib_1.__read)(descendantColumnNames), false).join(", "), ") ") +
78
+ "SELECT ".concat(ancestorColumnNames.join(", "), ", ").concat(childEntityIds1.join(", "), " FROM ").concat(tableName, " WHERE ").concat(whereCondition.join(" AND ")), queryParams_1)];
79
79
  case 2:
80
80
  _a.sent();
81
81
  _a.label = 3;
@@ -127,7 +127,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
127
127
  });
128
128
  createSubQuery = function (qb, alias) {
129
129
  var e_2, _a;
130
- var subAlias = "sub" + alias;
130
+ var subAlias = "sub".concat(alias);
131
131
  var subSelect = qb.createQueryBuilder()
132
132
  .select(descendantColumnNames.join(", "))
133
133
  .from(closureTable.tablePath, subAlias);
@@ -135,7 +135,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
135
135
  // Create where conditions e.g. (WHERE "subdescendant"."id_ancestor" = :value_id)
136
136
  for (var _b = (0, tslib_1.__values)(closureTable.ancestorColumns), _c = _b.next(); !_c.done; _c = _b.next()) {
137
137
  var column = _c.value;
138
- subSelect.andWhere(escape(subAlias) + "." + escape(column.databaseName) + " = :value_" + column.referencedColumn.databaseName);
138
+ subSelect.andWhere("".concat(escape(subAlias), ".").concat(escape(column.databaseName), " = :value_").concat(column.referencedColumn.databaseName));
139
139
  }
140
140
  }
141
141
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -147,7 +147,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
147
147
  }
148
148
  return qb.createQueryBuilder()
149
149
  .select(descendantColumnNames.join(", "))
150
- .from("(" + subSelect.getQuery() + ")", alias)
150
+ .from("(".concat(subSelect.getQuery(), ")"), alias)
151
151
  .setParameters(subSelect.getParameters())
152
152
  .getQuery();
153
153
  };
@@ -155,7 +155,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
155
155
  try {
156
156
  for (_a = (0, tslib_1.__values)(subject.metadata.primaryColumns), _b = _a.next(); !_b.done; _b = _a.next()) {
157
157
  column = _b.value;
158
- parameters["value_" + column.databaseName] = entity[column.databaseName];
158
+ parameters["value_".concat(column.databaseName)] = entity[column.databaseName];
159
159
  }
160
160
  }
161
161
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -170,8 +170,8 @@ var ClosureSubjectExecutor = /** @class */ (function () {
170
170
  .createQueryBuilder()
171
171
  .delete()
172
172
  .from(closureTable.tablePath)
173
- .where(function (qb) { return "(" + descendantColumnNames.join(", ") + ") IN (" + createSubQuery(qb, "descendant") + ")"; })
174
- .andWhere(function (qb) { return "(" + ancestorColumnNames.join(", ") + ") NOT IN (" + createSubQuery(qb, "ancestor") + ")"; })
173
+ .where(function (qb) { return "(".concat(descendantColumnNames.join(", "), ") IN (").concat(createSubQuery(qb, "descendant"), ")"); })
174
+ .andWhere(function (qb) { return "(".concat(ancestorColumnNames.join(", "), ") NOT IN (").concat(createSubQuery(qb, "ancestor"), ")"); })
175
175
  .setParameters(parameters)
176
176
  .execute()];
177
177
  case 1:
@@ -181,13 +181,13 @@ var ClosureSubjectExecutor = /** @class */ (function () {
181
181
  tableName = this.getTableName(closureTable.tablePath);
182
182
  superAlias_1 = escape("supertree");
183
183
  subAlias_1 = escape("subtree");
184
- select = (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames.map(function (columnName) { return superAlias_1 + "." + columnName; })), false), (0, tslib_1.__read)(descendantColumnNames.map(function (columnName) { return subAlias_1 + "." + columnName; })), false);
184
+ select = (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames.map(function (columnName) { return "".concat(superAlias_1, ".").concat(columnName); })), false), (0, tslib_1.__read)(descendantColumnNames.map(function (columnName) { return "".concat(subAlias_1, ".").concat(columnName); })), false);
185
185
  entityWhereCondition = subject.metadata.closureJunctionTable.ancestorColumns.map(function (column) {
186
186
  var columnName = escape(column.databaseName);
187
187
  var entityId = column.referencedColumn.getEntityValue(entity);
188
188
  queryParams_2.push(entityId);
189
189
  var parameterName = _this.queryRunner.connection.driver.createParameter("entity_" + column.referencedColumn.databaseName, queryParams_2.length - 1);
190
- return subAlias_1 + "." + columnName + " = " + parameterName;
190
+ return "".concat(subAlias_1, ".").concat(columnName, " = ").concat(parameterName);
191
191
  });
192
192
  parentWhereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(function (column) {
193
193
  var columnName = escape(column.databaseName);
@@ -196,12 +196,12 @@ var ClosureSubjectExecutor = /** @class */ (function () {
196
196
  throw new CannotAttachTreeChildrenEntityError_1.CannotAttachTreeChildrenEntityError(subject.metadata.name);
197
197
  queryParams_2.push(parentId);
198
198
  var parameterName = _this.queryRunner.connection.driver.createParameter("parent_entity_" + column.referencedColumn.databaseName, queryParams_2.length - 1);
199
- return superAlias_1 + "." + columnName + " = " + parameterName;
199
+ return "".concat(superAlias_1, ".").concat(columnName, " = ").concat(parameterName);
200
200
  });
201
- return [4 /*yield*/, this.queryRunner.query("INSERT INTO " + tableName + " (" + (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames), false), (0, tslib_1.__read)(descendantColumnNames), false).join(", ") + ") " +
202
- ("SELECT " + select.join(", ") + " ") +
203
- ("FROM " + tableName + " AS " + superAlias_1 + ", " + tableName + " AS " + subAlias_1 + " ") +
204
- ("WHERE " + (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(entityWhereCondition), false), (0, tslib_1.__read)(parentWhereCondition), false).join(" AND ")), queryParams_2)];
201
+ return [4 /*yield*/, this.queryRunner.query("INSERT INTO ".concat(tableName, " (").concat((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(ancestorColumnNames), false), (0, tslib_1.__read)(descendantColumnNames), false).join(", "), ") ") +
202
+ "SELECT ".concat(select.join(", "), " ") +
203
+ "FROM ".concat(tableName, " AS ").concat(superAlias_1, ", ").concat(tableName, " AS ").concat(subAlias_1, " ") +
204
+ "WHERE ".concat((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(entityWhereCondition), false), (0, tslib_1.__read)(parentWhereCondition), false).join(" AND ")), queryParams_2)];
205
205
  case 2:
206
206
  _d.sent();
207
207
  _d.label = 3;
@@ -232,7 +232,7 @@ var ClosureSubjectExecutor = /** @class */ (function () {
232
232
  generateWheres = function (columns) {
233
233
  return columns.map(function (column) {
234
234
  var data = identifiers.map(function (identifier) { return identifier[column.referencedColumn.databaseName]; });
235
- return escape(column.databaseName) + " IN (" + data.join(", ") + ")";
235
+ return "".concat(escape(column.databaseName), " IN (").concat(data.join(", "), ")");
236
236
  }).join(" AND ");
237
237
  };
238
238
  ancestorWhere = generateWheres(closureTable.ancestorColumns);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/persistence/tree/ClosureSubjectExecutor.ts"],"names":[],"mappings":"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","file":"ClosureSubjectExecutor.js","sourcesContent":["import {Subject} from \"../Subject\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {CannotAttachTreeChildrenEntityError} from \"../../error/CannotAttachTreeChildrenEntityError\";\nimport {DeleteQueryBuilder} from \"../../query-builder/DeleteQueryBuilder\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {SqlServerDriver} from \"../../driver/sqlserver/SqlServerDriver\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\n\n/**\n * Executes subject operations for closure entities.\n */\nexport class ClosureSubjectExecutor {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected queryRunner: QueryRunner) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes operations when subject is being inserted.\n */\n async insert(subject: Subject): Promise<void> {\n\n // create values to be inserted into the closure junction\n const closureJunctionInsertMap: ObjectLiteral = {};\n subject.metadata.closureJunctionTable.ancestorColumns.forEach(column => {\n closureJunctionInsertMap[column.databaseName] = subject.identifier;\n });\n subject.metadata.closureJunctionTable.descendantColumns.forEach(column => {\n closureJunctionInsertMap[column.databaseName] = subject.identifier;\n });\n\n // insert values into the closure junction table\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .insert()\n .into(subject.metadata.closureJunctionTable.tablePath)\n .values(closureJunctionInsertMap)\n .updateEntity(false)\n .callListeners(false)\n .execute();\n\n let parent = subject.metadata.treeParentRelation!.getEntityValue(subject.entity!); // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity) // if entity was attached via children\n parent = subject.parentSubject.insertedValueSet ? subject.parentSubject.insertedValueSet : subject.parentSubject.entity;\n\n if (parent) {\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const tableName = this.getTableName(subject.metadata.closureJunctionTable.tablePath);\n const queryParams: any[] = [];\n\n const ancestorColumnNames = subject.metadata.closureJunctionTable.ancestorColumns.map(column => {\n return escape(column.databaseName);\n });\n const descendantColumnNames = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n return escape(column.databaseName);\n });\n const childEntityIds1 = subject.metadata.primaryColumns.map(column => {\n queryParams.push(column.getEntityValue(subject.insertedValueSet ? subject.insertedValueSet : subject.entity!));\n return this.queryRunner.connection.driver.createParameter(\"child_entity_\" + column.databaseName, queryParams.length - 1);\n });\n\n const whereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n const columnName = escape(column.databaseName);\n const parentId = column.referencedColumn!.getEntityValue(parent);\n\n if (!parentId)\n throw new CannotAttachTreeChildrenEntityError(subject.metadata.name);\n\n queryParams.push(parentId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"parent_entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${columnName} = ${parameterName}`;\n });\n\n await this.queryRunner.query(\n `INSERT INTO ${tableName} (${[...ancestorColumnNames, ...descendantColumnNames].join(\", \")}) ` +\n `SELECT ${ancestorColumnNames.join(\", \")}, ${childEntityIds1.join(\", \")} FROM ${tableName} WHERE ${whereCondition.join(\" AND \")}`,\n queryParams\n );\n }\n }\n\n /**\n * Executes operations when subject is being updated.\n */\n async update(subject: Subject): Promise<void> {\n let parent = subject.metadata.treeParentRelation!.getEntityValue(subject.entity!); // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity) // if entity was attached via children\n parent = subject.parentSubject.entity;\n\n let entity = subject.databaseEntity; // if entity was attached via parent\n if (!entity && parent) // if entity was attached via children\n entity = subject.metadata.treeChildrenRelation!.getEntityValue(parent).find((child: any) => {\n return Object.entries(subject.identifier!).every(([key, value]) => child[key] === value);\n });\n\n // Exit if the parent or the entity where never set\n if (entity === undefined || parent === undefined) {\n return;\n }\n\n const oldParent = subject.metadata.treeParentRelation!.getEntityValue(entity!);\n const oldParentId = subject.metadata.getEntityIdMap(oldParent);\n const parentId = subject.metadata.getEntityIdMap(parent);\n\n // Exit if the new and old parents are the same\n if (OrmUtils.compareIds(oldParentId, parentId)) {\n return;\n }\n\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const closureTable = subject.metadata.closureJunctionTable;\n\n const ancestorColumnNames = closureTable.ancestorColumns.map(column => {\n return escape(column.databaseName);\n });\n\n const descendantColumnNames = closureTable.descendantColumns.map(column => {\n return escape(column.databaseName);\n });\n\n // Delete logic\n const createSubQuery = (qb: DeleteQueryBuilder<any>, alias: string) => {\n const subAlias = `sub${alias}`;\n\n const subSelect = qb.createQueryBuilder()\n .select(descendantColumnNames.join(\", \"))\n .from(closureTable.tablePath, subAlias);\n\n // Create where conditions e.g. (WHERE \"subdescendant\".\"id_ancestor\" = :value_id)\n for (const column of closureTable.ancestorColumns) {\n subSelect.andWhere(`${escape(subAlias)}.${escape(column.databaseName)} = :value_${column.referencedColumn!.databaseName}`);\n }\n\n return qb.createQueryBuilder()\n .select(descendantColumnNames.join(\", \"))\n .from(`(${subSelect.getQuery()})`, alias)\n .setParameters(subSelect.getParameters())\n .getQuery();\n };\n\n const parameters: ObjectLiteral = {};\n for (const column of subject.metadata.primaryColumns) {\n parameters[`value_${column.databaseName}`] = entity![column.databaseName];\n }\n\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .delete()\n .from(closureTable.tablePath)\n .where(qb => `(${descendantColumnNames.join(\", \")}) IN (${createSubQuery(qb, \"descendant\")})`)\n .andWhere(qb => `(${ancestorColumnNames.join(\", \")}) NOT IN (${createSubQuery(qb, \"ancestor\")})`)\n .setParameters(parameters)\n .execute();\n\n /**\n * Only insert new parent if it exits\n * \n * This only happens if the entity doesn't become a root entity\n */\n if (parent) {\n // Insert logic\n const queryParams: any[] = [];\n\n const tableName = this.getTableName(closureTable.tablePath);\n const superAlias = escape(\"supertree\");\n const subAlias = escape(\"subtree\");\n\n const select = [\n ...ancestorColumnNames.map(columnName => `${superAlias}.${columnName}`),\n ...descendantColumnNames.map(columnName => `${subAlias}.${columnName}`)\n ];\n\n const entityWhereCondition = subject.metadata.closureJunctionTable.ancestorColumns.map(column => {\n const columnName = escape(column.databaseName);\n const entityId = column.referencedColumn!.getEntityValue(entity!);\n\n queryParams.push(entityId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${subAlias}.${columnName} = ${parameterName}`;\n });\n\n const parentWhereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n const columnName = escape(column.databaseName);\n const parentId = column.referencedColumn!.getEntityValue(parent);\n\n if (!parentId)\n throw new CannotAttachTreeChildrenEntityError(subject.metadata.name);\n\n queryParams.push(parentId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"parent_entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${superAlias}.${columnName} = ${parameterName}`;\n });\n\n\n await this.queryRunner.query(\n `INSERT INTO ${tableName} (${[...ancestorColumnNames, ...descendantColumnNames].join(\", \")}) ` +\n `SELECT ${select.join(\", \")} ` +\n `FROM ${tableName} AS ${superAlias}, ${tableName} AS ${subAlias} ` +\n `WHERE ${[...entityWhereCondition, ...parentWhereCondition].join(\" AND \")}`,\n queryParams\n );\n }\n }\n\n /**\n * Executes operations when subject is being removed.\n */\n async remove(subjects: Subject|Subject[]): Promise<void> {\n // Only mssql need to execute deletes for the juntion table as it doesn't support multi cascade paths.\n if (!(this.queryRunner.connection.driver instanceof SqlServerDriver)) {\n return;\n }\n\n if (!Array.isArray(subjects))\n subjects = [subjects];\n\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const identifiers = subjects.map(subject => subject.identifier);\n const closureTable = subjects[0].metadata.closureJunctionTable;\n\n const generateWheres = (columns: ColumnMetadata[]) => {\n return columns.map(column => {\n const data = identifiers.map(identifier => identifier![column.referencedColumn!.databaseName]);\n return `${escape(column.databaseName)} IN (${data.join(\", \")})`;\n }).join(\" AND \");\n };\n\n const ancestorWhere = generateWheres(closureTable.ancestorColumns);\n const descendantWhere = generateWheres(closureTable.descendantColumns);\n\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .delete()\n .from(closureTable.tablePath)\n .where(ancestorWhere)\n .orWhere(descendantWhere)\n .execute();\n }\n\n /**\n * Gets escaped table name with schema name if SqlServer or Postgres driver used with custom\n * schema name, otherwise returns escaped table name.\n */\n protected getTableName(tablePath: string): string {\n return tablePath.split(\".\")\n .map(i => {\n // this condition need because in SQL Server driver when custom database name was specified and schema name was not, we got `dbName..tableName` string, and doesn't need to escape middle empty string\n return i === \"\" ? i : this.queryRunner.connection.driver.escape(i);\n }).join(\".\");\n }\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/persistence/tree/ClosureSubjectExecutor.ts"],"names":[],"mappings":"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","file":"ClosureSubjectExecutor.js","sourcesContent":["import {Subject} from \"../Subject\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {CannotAttachTreeChildrenEntityError} from \"../../error/CannotAttachTreeChildrenEntityError\";\nimport {DeleteQueryBuilder} from \"../../query-builder/DeleteQueryBuilder\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {SqlServerDriver} from \"../../driver/sqlserver/SqlServerDriver\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\n\n/**\n * Executes subject operations for closure entities.\n */\nexport class ClosureSubjectExecutor {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected queryRunner: QueryRunner) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes operations when subject is being inserted.\n */\n async insert(subject: Subject): Promise<void> {\n\n // create values to be inserted into the closure junction\n const closureJunctionInsertMap: ObjectLiteral = {};\n subject.metadata.closureJunctionTable.ancestorColumns.forEach(column => {\n closureJunctionInsertMap[column.databaseName] = subject.identifier;\n });\n subject.metadata.closureJunctionTable.descendantColumns.forEach(column => {\n closureJunctionInsertMap[column.databaseName] = subject.identifier;\n });\n\n // insert values into the closure junction table\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .insert()\n .into(subject.metadata.closureJunctionTable.tablePath)\n .values(closureJunctionInsertMap)\n .updateEntity(false)\n .callListeners(false)\n .execute();\n\n let parent = subject.metadata.treeParentRelation!.getEntityValue(subject.entity!); // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity) // if entity was attached via children\n parent = subject.parentSubject.insertedValueSet ? subject.parentSubject.insertedValueSet : subject.parentSubject.entity;\n\n if (parent) {\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const tableName = this.getTableName(subject.metadata.closureJunctionTable.tablePath);\n const queryParams: any[] = [];\n\n const ancestorColumnNames = subject.metadata.closureJunctionTable.ancestorColumns.map(column => {\n return escape(column.databaseName);\n });\n const descendantColumnNames = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n return escape(column.databaseName);\n });\n const childEntityIds1 = subject.metadata.primaryColumns.map(column => {\n queryParams.push(column.getEntityValue(subject.insertedValueSet ? subject.insertedValueSet : subject.entity!));\n return this.queryRunner.connection.driver.createParameter(\"child_entity_\" + column.databaseName, queryParams.length - 1);\n });\n\n const whereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n const columnName = escape(column.databaseName);\n const parentId = column.referencedColumn!.getEntityValue(parent);\n\n if (!parentId)\n throw new CannotAttachTreeChildrenEntityError(subject.metadata.name);\n\n queryParams.push(parentId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"parent_entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${columnName} = ${parameterName}`;\n });\n\n await this.queryRunner.query(\n `INSERT INTO ${tableName} (${[...ancestorColumnNames, ...descendantColumnNames].join(\", \")}) ` +\n `SELECT ${ancestorColumnNames.join(\", \")}, ${childEntityIds1.join(\", \")} FROM ${tableName} WHERE ${whereCondition.join(\" AND \")}`,\n queryParams\n );\n }\n }\n\n /**\n * Executes operations when subject is being updated.\n */\n async update(subject: Subject): Promise<void> {\n let parent = subject.metadata.treeParentRelation!.getEntityValue(subject.entity!); // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity) // if entity was attached via children\n parent = subject.parentSubject.entity;\n\n let entity = subject.databaseEntity; // if entity was attached via parent\n if (!entity && parent) // if entity was attached via children\n entity = subject.metadata.treeChildrenRelation!.getEntityValue(parent).find((child: any) => {\n return Object.entries(subject.identifier!).every(([key, value]) => child[key] === value);\n });\n\n // Exit if the parent or the entity where never set\n if (entity === undefined || parent === undefined) {\n return;\n }\n\n const oldParent = subject.metadata.treeParentRelation!.getEntityValue(entity!);\n const oldParentId = subject.metadata.getEntityIdMap(oldParent);\n const parentId = subject.metadata.getEntityIdMap(parent);\n\n // Exit if the new and old parents are the same\n if (OrmUtils.compareIds(oldParentId, parentId)) {\n return;\n }\n\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const closureTable = subject.metadata.closureJunctionTable;\n\n const ancestorColumnNames = closureTable.ancestorColumns.map(column => {\n return escape(column.databaseName);\n });\n\n const descendantColumnNames = closureTable.descendantColumns.map(column => {\n return escape(column.databaseName);\n });\n\n // Delete logic\n const createSubQuery = (qb: DeleteQueryBuilder<any>, alias: string) => {\n const subAlias = `sub${alias}`;\n\n const subSelect = qb.createQueryBuilder()\n .select(descendantColumnNames.join(\", \"))\n .from(closureTable.tablePath, subAlias);\n\n // Create where conditions e.g. (WHERE \"subdescendant\".\"id_ancestor\" = :value_id)\n for (const column of closureTable.ancestorColumns) {\n subSelect.andWhere(`${escape(subAlias)}.${escape(column.databaseName)} = :value_${column.referencedColumn!.databaseName}`);\n }\n\n return qb.createQueryBuilder()\n .select(descendantColumnNames.join(\", \"))\n .from(`(${subSelect.getQuery()})`, alias)\n .setParameters(subSelect.getParameters())\n .getQuery();\n };\n\n const parameters: ObjectLiteral = {};\n for (const column of subject.metadata.primaryColumns) {\n parameters[`value_${column.databaseName}`] = entity![column.databaseName];\n }\n\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .delete()\n .from(closureTable.tablePath)\n .where(qb => `(${descendantColumnNames.join(\", \")}) IN (${createSubQuery(qb, \"descendant\")})`)\n .andWhere(qb => `(${ancestorColumnNames.join(\", \")}) NOT IN (${createSubQuery(qb, \"ancestor\")})`)\n .setParameters(parameters)\n .execute();\n\n /**\n * Only insert new parent if it exits\n * \n * This only happens if the entity doesn't become a root entity\n */\n if (parent) {\n // Insert logic\n const queryParams: any[] = [];\n\n const tableName = this.getTableName(closureTable.tablePath);\n const superAlias = escape(\"supertree\");\n const subAlias = escape(\"subtree\");\n\n const select = [\n ...ancestorColumnNames.map(columnName => `${superAlias}.${columnName}`),\n ...descendantColumnNames.map(columnName => `${subAlias}.${columnName}`)\n ];\n\n const entityWhereCondition = subject.metadata.closureJunctionTable.ancestorColumns.map(column => {\n const columnName = escape(column.databaseName);\n const entityId = column.referencedColumn!.getEntityValue(entity!);\n\n queryParams.push(entityId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${subAlias}.${columnName} = ${parameterName}`;\n });\n\n const parentWhereCondition = subject.metadata.closureJunctionTable.descendantColumns.map(column => {\n const columnName = escape(column.databaseName);\n const parentId = column.referencedColumn!.getEntityValue(parent);\n\n if (!parentId)\n throw new CannotAttachTreeChildrenEntityError(subject.metadata.name);\n\n queryParams.push(parentId);\n const parameterName = this.queryRunner.connection.driver.createParameter(\"parent_entity_\" + column.referencedColumn!.databaseName, queryParams.length - 1);\n return `${superAlias}.${columnName} = ${parameterName}`;\n });\n\n\n await this.queryRunner.query(\n `INSERT INTO ${tableName} (${[...ancestorColumnNames, ...descendantColumnNames].join(\", \")}) ` +\n `SELECT ${select.join(\", \")} ` +\n `FROM ${tableName} AS ${superAlias}, ${tableName} AS ${subAlias} ` +\n `WHERE ${[...entityWhereCondition, ...parentWhereCondition].join(\" AND \")}`,\n queryParams\n );\n }\n }\n\n /**\n * Executes operations when subject is being removed.\n */\n async remove(subjects: Subject|Subject[]): Promise<void> {\n // Only mssql need to execute deletes for the juntion table as it doesn't support multi cascade paths.\n if (!(this.queryRunner.connection.driver instanceof SqlServerDriver)) {\n return;\n }\n\n if (!Array.isArray(subjects))\n subjects = [subjects];\n\n const escape = (alias: string) => this.queryRunner.connection.driver.escape(alias);\n const identifiers = subjects.map(subject => subject.identifier);\n const closureTable = subjects[0].metadata.closureJunctionTable;\n\n const generateWheres = (columns: ColumnMetadata[]) => {\n return columns.map(column => {\n const data = identifiers.map(identifier => identifier![column.referencedColumn!.databaseName]);\n return `${escape(column.databaseName)} IN (${data.join(\", \")})`;\n }).join(\" AND \");\n };\n\n const ancestorWhere = generateWheres(closureTable.ancestorColumns);\n const descendantWhere = generateWheres(closureTable.descendantColumns);\n\n await this.queryRunner\n .manager\n .createQueryBuilder()\n .delete()\n .from(closureTable.tablePath)\n .where(ancestorWhere)\n .orWhere(descendantWhere)\n .execute();\n }\n\n /**\n * Gets escaped table name with schema name if SqlServer or Postgres driver used with custom\n * schema name, otherwise returns escaped table name.\n */\n protected getTableName(tablePath: string): string {\n return tablePath.split(\".\")\n .map(i => {\n // this condition need because in SQL Server driver when custom database name was specified and schema name was not, we got `dbName..tableName` string, and doesn't need to escape middle empty string\n return i === \"\" ? i : this.queryRunner.connection.driver.escape(i);\n }).join(\".\");\n }\n}"],"sourceRoot":"../.."}
@@ -105,9 +105,9 @@ var MaterializedPathSubjectExecutor = /** @class */ (function () {
105
105
  .createQueryBuilder()
106
106
  .update(subject.metadata.target)
107
107
  .set((_a = {},
108
- _a[propertyPath] = function () { return "REPLACE(" + propertyPath + ", '" + oldParentPath + entityPath + ".', '" + newParentPath + entityPath + ".')"; },
108
+ _a[propertyPath] = function () { return "REPLACE(".concat(propertyPath, ", '").concat(oldParentPath).concat(entityPath, ".', '").concat(newParentPath).concat(entityPath, ".')"); },
109
109
  _a))
110
- .where(propertyPath + " LIKE :path", { path: "" + oldParentPath + entityPath + ".%" })
110
+ .where("".concat(propertyPath, " LIKE :path"), { path: "".concat(oldParentPath).concat(entityPath, ".%") })
111
111
  .execute()];
112
112
  case 5:
113
113
  _b.sent();