typeorm 0.3.21 → 0.3.22-dev.00d5639

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 (1125) hide show
  1. package/README.md +1315 -1315
  2. package/browser/cache/DbQueryResultCache.js +1 -1
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/cache/QueryResultCache.js.map +1 -1
  5. package/browser/cache/QueryResultCacheFactory.js.map +1 -1
  6. package/browser/cache/QueryResultCacheOptions.js.map +1 -1
  7. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  8. package/browser/cli-ts-node-commonjs.js.map +1 -1
  9. package/browser/cli-ts-node-esm.js.map +1 -1
  10. package/browser/common/DeepPartial.js.map +1 -1
  11. package/browser/common/EntityTarget.js.map +1 -1
  12. package/browser/common/MixedList.js.map +1 -1
  13. package/browser/common/NonNever.js.map +1 -1
  14. package/browser/common/ObjectLiteral.js.map +1 -1
  15. package/browser/common/ObjectType.js.map +1 -1
  16. package/browser/common/PickKeysByType.js.map +1 -1
  17. package/browser/common/RelationType.js.map +1 -1
  18. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  19. package/browser/connection/Connection.js.map +1 -1
  20. package/browser/connection/ConnectionManager.js.map +1 -1
  21. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  22. package/browser/connection/ConnectionOptions.js.map +1 -1
  23. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  24. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  25. package/browser/container.js.map +1 -1
  26. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  27. package/browser/data-source/DataSource.js +2 -2
  28. package/browser/data-source/DataSource.js.map +1 -1
  29. package/browser/data-source/DataSourceOptions.js.map +1 -1
  30. package/browser/data-source/index.js.map +1 -1
  31. package/browser/decorator/Check.js.map +1 -1
  32. package/browser/decorator/EntityRepository.js.map +1 -1
  33. package/browser/decorator/Exclusion.js.map +1 -1
  34. package/browser/decorator/Generated.js.map +1 -1
  35. package/browser/decorator/Index.js.map +1 -1
  36. package/browser/decorator/Unique.js.map +1 -1
  37. package/browser/decorator/columns/Column.js.map +1 -1
  38. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  39. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  40. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  41. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  42. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  43. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  44. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  45. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  46. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  47. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  48. package/browser/decorator/entity/Entity.js.map +1 -1
  49. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  50. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  51. package/browser/decorator/listeners/AfterInsert.js.map +1 -1
  52. package/browser/decorator/listeners/AfterLoad.js.map +1 -1
  53. package/browser/decorator/listeners/AfterRecover.js.map +1 -1
  54. package/browser/decorator/listeners/AfterRemove.js.map +1 -1
  55. package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -1
  56. package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
  57. package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
  58. package/browser/decorator/listeners/BeforeRecover.js.map +1 -1
  59. package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
  60. package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  61. package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
  62. package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
  63. package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
  64. package/browser/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  65. package/browser/decorator/options/ColumnEnumOptions.js.map +1 -1
  66. package/browser/decorator/options/ColumnHstoreOptions.js.map +1 -1
  67. package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
  68. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  69. package/browser/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  70. package/browser/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  71. package/browser/decorator/options/EntityOptions.js.map +1 -1
  72. package/browser/decorator/options/IndexOptions.js.map +1 -1
  73. package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
  74. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  75. package/browser/decorator/options/JoinTableOptions.js.map +1 -1
  76. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  77. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  78. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  79. package/browser/decorator/options/RelationOptions.js.map +1 -1
  80. package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
  81. package/browser/decorator/options/TransactionOptions.js.map +1 -1
  82. package/browser/decorator/options/UniqueOptions.js.map +1 -1
  83. package/browser/decorator/options/ValueTransformer.js.map +1 -1
  84. package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
  85. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  86. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  87. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  88. package/browser/decorator/relations/JoinTable.js.map +1 -1
  89. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  90. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  91. package/browser/decorator/relations/OneToMany.js.map +1 -1
  92. package/browser/decorator/relations/OneToOne.js.map +1 -1
  93. package/browser/decorator/relations/RelationCount.d.ts +2 -1
  94. package/browser/decorator/relations/RelationCount.js +2 -1
  95. package/browser/decorator/relations/RelationCount.js.map +1 -1
  96. package/browser/decorator/relations/RelationId.js.map +1 -1
  97. package/browser/decorator/tree/Tree.js.map +1 -1
  98. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  99. package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
  100. package/browser/decorator/tree/TreeParent.js.map +1 -1
  101. package/browser/driver/Driver.js.map +1 -1
  102. package/browser/driver/DriverFactory.js.map +1 -1
  103. package/browser/driver/DriverUtils.js +3 -3
  104. package/browser/driver/DriverUtils.js.map +1 -1
  105. package/browser/driver/Query.js.map +1 -1
  106. package/browser/driver/SqlInMemory.js.map +1 -1
  107. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  108. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  109. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  110. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +2 -2
  111. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  112. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +7 -10
  113. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  114. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  115. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  116. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +6 -9
  117. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  118. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  119. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  120. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  121. package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  122. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  123. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  124. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  125. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  126. package/browser/driver/cockroachdb/CockroachDriver.js +2 -2
  127. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  128. package/browser/driver/cockroachdb/CockroachQueryRunner.js +7 -11
  129. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  130. package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  131. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  132. package/browser/driver/cordova/CordovaQueryRunner.js +1 -1
  133. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  134. package/browser/driver/expo/ExpoConnectionOptions.js.map +1 -1
  135. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  136. package/browser/driver/expo/ExpoQueryRunner.js +1 -1
  137. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  138. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  139. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  140. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  141. package/browser/driver/mongodb/bson.typings.js.map +1 -1
  142. package/browser/driver/mongodb/typings.js.map +1 -1
  143. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  144. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  145. package/browser/driver/mysql/MysqlDriver.js +2 -2
  146. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  147. package/browser/driver/mysql/MysqlQueryRunner.js +78 -81
  148. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  149. package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  150. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  151. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  152. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  153. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  154. package/browser/driver/oracle/OracleDriver.js +2 -2
  155. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  156. package/browser/driver/oracle/OracleQueryRunner.js +6 -8
  157. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  158. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  159. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  160. package/browser/driver/postgres/PostgresDriver.js +3 -2
  161. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  162. package/browser/driver/postgres/PostgresQueryRunner.js +7 -10
  163. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  164. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  165. package/browser/driver/react-native/ReactNativeDriver.js +1 -1
  166. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  167. package/browser/driver/react-native/ReactNativeQueryRunner.js +1 -1
  168. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  169. package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  170. package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
  171. package/browser/driver/sap/SapDriver.d.ts +2 -1
  172. package/browser/driver/sap/SapDriver.js +19 -13
  173. package/browser/driver/sap/SapDriver.js.map +1 -1
  174. package/browser/driver/sap/SapQueryRunner.js +1 -1
  175. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  176. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  177. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  178. package/browser/driver/spanner/SpannerDriver.js +3 -3
  179. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  180. package/browser/driver/spanner/SpannerQueryRunner.js +7 -7
  181. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  182. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  183. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  184. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  185. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +1 -1
  186. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  187. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +13 -16
  188. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  189. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  190. package/browser/driver/sqljs/SqljsDriver.js +1 -1
  191. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  192. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  193. package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
  194. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  195. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  196. package/browser/driver/sqlserver/SqlServerDriver.js +2 -2
  197. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  198. package/browser/driver/sqlserver/SqlServerQueryRunner.js +35 -36
  199. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  200. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  201. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
  202. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  203. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  204. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  205. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  206. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  207. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  208. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  209. package/browser/driver/types/ColumnTypes.js.map +1 -1
  210. package/browser/driver/types/CteCapabilities.js.map +1 -1
  211. package/browser/driver/types/DataTypeDefaults.js.map +1 -1
  212. package/browser/driver/types/DatabaseType.js.map +1 -1
  213. package/browser/driver/types/GeoJsonTypes.js.map +1 -1
  214. package/browser/driver/types/IsolationLevel.js.map +1 -1
  215. package/browser/driver/types/MappedColumnTypes.js.map +1 -1
  216. package/browser/driver/types/MetadataTableType.js.map +1 -1
  217. package/browser/driver/types/ReplicationMode.js.map +1 -1
  218. package/browser/driver/types/UpsertType.js.map +1 -1
  219. package/browser/entity-manager/EntityManager.js.map +1 -1
  220. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  221. package/browser/entity-manager/MongoEntityManager.js +1 -1
  222. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  223. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  224. package/browser/entity-schema/EntitySchema.js.map +1 -1
  225. package/browser/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  226. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  227. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  228. package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  229. package/browser/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  230. package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  231. package/browser/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
  232. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  233. package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  234. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  235. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  236. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  237. package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
  238. package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  239. package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  240. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  241. package/browser/error/CannotDetermineEntityError.js.map +1 -1
  242. package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
  243. package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  244. package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  245. package/browser/error/CircularRelationsError.js.map +1 -1
  246. package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
  247. package/browser/error/ConnectionIsNotSetError.js.map +1 -1
  248. package/browser/error/ConnectionNotFoundError.js.map +1 -1
  249. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  250. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  251. package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
  252. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  253. package/browser/error/DriverOptionNotSetError.js.map +1 -1
  254. package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
  255. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  256. package/browser/error/EntityNotFoundError.js.map +1 -1
  257. package/browser/error/EntityPropertyNotFoundError.js.map +1 -1
  258. package/browser/error/FindRelationsNotFoundError.js.map +1 -1
  259. package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  260. package/browser/error/InitializedRelationError.js.map +1 -1
  261. package/browser/error/InsertValuesMissingError.js.map +1 -1
  262. package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  263. package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  264. package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
  265. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  266. package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
  267. package/browser/error/MissingDriverError.js.map +1 -1
  268. package/browser/error/MissingJoinColumnError.js.map +1 -1
  269. package/browser/error/MissingJoinTableError.js.map +1 -1
  270. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  271. package/browser/error/MustBeEntityError.js.map +1 -1
  272. package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
  273. package/browser/error/NestedSetMultipleRootError.js.map +1 -1
  274. package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
  275. package/browser/error/NoConnectionOptionError.js.map +1 -1
  276. package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  277. package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  278. package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  279. package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  280. package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
  281. package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
  282. package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  283. package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  284. package/browser/error/QueryFailedError.js.map +1 -1
  285. package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  286. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  287. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  288. package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
  289. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  290. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  291. package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
  292. package/browser/error/TransactionNotStartedError.js.map +1 -1
  293. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  294. package/browser/error/TypeORMError.js.map +1 -1
  295. package/browser/error/UpdateValuesMissingError.js.map +1 -1
  296. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  297. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  298. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  299. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  300. package/browser/error/index.js.map +1 -1
  301. package/browser/find-options/EqualOperator.js.map +1 -1
  302. package/browser/find-options/FindManyOptions.js.map +1 -1
  303. package/browser/find-options/FindOneOptions.js.map +1 -1
  304. package/browser/find-options/FindOperator.js.map +1 -1
  305. package/browser/find-options/FindOperatorType.js.map +1 -1
  306. package/browser/find-options/FindOptionsOrder.js.map +1 -1
  307. package/browser/find-options/FindOptionsRelations.js.map +1 -1
  308. package/browser/find-options/FindOptionsSelect.js.map +1 -1
  309. package/browser/find-options/FindOptionsUtils.js +1 -1
  310. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  311. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  312. package/browser/find-options/FindTreeOptions.js.map +1 -1
  313. package/browser/find-options/JoinOptions.js.map +1 -1
  314. package/browser/find-options/OrderByCondition.js.map +1 -1
  315. package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  316. package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  317. package/browser/find-options/operator/And.js.map +1 -1
  318. package/browser/find-options/operator/Any.js.map +1 -1
  319. package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
  320. package/browser/find-options/operator/ArrayContains.js.map +1 -1
  321. package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
  322. package/browser/find-options/operator/Between.js.map +1 -1
  323. package/browser/find-options/operator/Equal.js.map +1 -1
  324. package/browser/find-options/operator/ILike.js.map +1 -1
  325. package/browser/find-options/operator/In.js.map +1 -1
  326. package/browser/find-options/operator/IsNull.js.map +1 -1
  327. package/browser/find-options/operator/JsonContains.js.map +1 -1
  328. package/browser/find-options/operator/LessThan.js.map +1 -1
  329. package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
  330. package/browser/find-options/operator/Like.js.map +1 -1
  331. package/browser/find-options/operator/MoreThan.js.map +1 -1
  332. package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
  333. package/browser/find-options/operator/Not.js.map +1 -1
  334. package/browser/find-options/operator/Or.js.map +1 -1
  335. package/browser/find-options/operator/Raw.js.map +1 -1
  336. package/browser/globals.js.map +1 -1
  337. package/browser/index.js.map +1 -1
  338. package/browser/logger/AbstractLogger.js.map +1 -1
  339. package/browser/logger/AdvancedConsoleLogger.js +1 -1
  340. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  341. package/browser/logger/DebugLogger.js +1 -1
  342. package/browser/logger/DebugLogger.js.map +1 -1
  343. package/browser/logger/FileLogger.js +1 -1
  344. package/browser/logger/FileLogger.js.map +1 -1
  345. package/browser/logger/Logger.js.map +1 -1
  346. package/browser/logger/LoggerFactory.js.map +1 -1
  347. package/browser/logger/LoggerOptions.js.map +1 -1
  348. package/browser/logger/SimpleConsoleLogger.js +1 -1
  349. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  350. package/browser/metadata/CheckMetadata.js.map +1 -1
  351. package/browser/metadata/ColumnMetadata.js +1 -1
  352. package/browser/metadata/ColumnMetadata.js.map +1 -1
  353. package/browser/metadata/EmbeddedMetadata.js +1 -1
  354. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  355. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  356. package/browser/metadata/EntityMetadata.js.map +1 -1
  357. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  358. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  359. package/browser/metadata/IndexMetadata.js.map +1 -1
  360. package/browser/metadata/RelationCountMetadata.js.map +1 -1
  361. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  362. package/browser/metadata/RelationMetadata.js.map +1 -1
  363. package/browser/metadata/UniqueMetadata.js.map +1 -1
  364. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -1
  365. package/browser/metadata/types/DeferrableType.js.map +1 -1
  366. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  367. package/browser/metadata/types/OnDeleteType.js.map +1 -1
  368. package/browser/metadata/types/OnUpdateType.js.map +1 -1
  369. package/browser/metadata/types/PropertyTypeInFunction.js.map +1 -1
  370. package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
  371. package/browser/metadata/types/RelationTypes.js.map +1 -1
  372. package/browser/metadata/types/TableTypes.js.map +1 -1
  373. package/browser/metadata/types/TreeTypes.js.map +1 -1
  374. package/browser/metadata-args/CheckMetadataArgs.js.map +1 -1
  375. package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
  376. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  377. package/browser/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  378. package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  379. package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  380. package/browser/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  381. package/browser/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  382. package/browser/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  383. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  384. package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  385. package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  386. package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  387. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  388. package/browser/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  389. package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  390. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  391. package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
  392. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  393. package/browser/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  394. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  395. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  396. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  397. package/browser/metadata-args/types/ColumnMode.js.map +1 -1
  398. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  399. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  400. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  401. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  402. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  403. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  404. package/browser/migration/Migration.js.map +1 -1
  405. package/browser/migration/MigrationExecutor.js +2 -2
  406. package/browser/migration/MigrationExecutor.js.map +1 -1
  407. package/browser/migration/MigrationInterface.js.map +1 -1
  408. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  409. package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  410. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  411. package/browser/persistence/EntityPersistExecutor.js +2 -2
  412. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  413. package/browser/persistence/Subject.js.map +1 -1
  414. package/browser/persistence/SubjectChangeMap.js.map +1 -1
  415. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  416. package/browser/persistence/SubjectDatabaseEntityLoader.js +1 -1
  417. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  418. package/browser/persistence/SubjectExecutor.js +1 -1
  419. package/browser/persistence/SubjectExecutor.js.map +1 -1
  420. package/browser/persistence/SubjectTopologicalSorter.js +5 -5
  421. package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
  422. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  423. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  424. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  425. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  426. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  427. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  428. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  429. package/browser/persistence/tree/NestedSetSubjectExecutor.js +2 -2
  430. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  431. package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -1
  432. package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -1
  433. package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
  434. package/browser/platform/BrowserFileLoggerDummy.js.map +1 -1
  435. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  436. package/browser/platform/PlatformTools.js.map +1 -1
  437. package/browser/query-builder/Alias.js.map +1 -1
  438. package/browser/query-builder/Brackets.js.map +1 -1
  439. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  440. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
  441. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  442. package/browser/query-builder/JoinAttribute.js +2 -2
  443. package/browser/query-builder/JoinAttribute.js.map +1 -1
  444. package/browser/query-builder/JoinOptions.js.map +1 -1
  445. package/browser/query-builder/NotBrackets.js.map +1 -1
  446. package/browser/query-builder/QueryBuilder.js +2 -2
  447. package/browser/query-builder/QueryBuilder.js.map +1 -1
  448. package/browser/query-builder/QueryBuilderCte.js.map +1 -1
  449. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  450. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  451. package/browser/query-builder/QueryPartialEntity.js.map +1 -1
  452. package/browser/query-builder/RelationIdLoader.js +5 -4
  453. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  454. package/browser/query-builder/RelationLoader.js.map +1 -1
  455. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  456. package/browser/query-builder/RelationRemover.js.map +1 -1
  457. package/browser/query-builder/RelationUpdater.js.map +1 -1
  458. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  459. package/browser/query-builder/SelectQuery.js.map +1 -1
  460. package/browser/query-builder/SelectQueryBuilder.js +27 -14
  461. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  462. package/browser/query-builder/SelectQueryBuilderOption.js.map +1 -1
  463. package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
  464. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  465. package/browser/query-builder/UpdateQueryBuilder.js +3 -3
  466. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  467. package/browser/query-builder/WhereClause.js.map +1 -1
  468. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  469. package/browser/query-builder/index.js.map +1 -1
  470. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  471. package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  472. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  473. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  474. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  475. package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  476. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  477. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  478. package/browser/query-builder/result/DeleteResult.js.map +1 -1
  479. package/browser/query-builder/result/InsertResult.js.map +1 -1
  480. package/browser/query-builder/result/UpdateResult.js.map +1 -1
  481. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  482. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  483. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  484. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +2 -2
  485. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  486. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  487. package/browser/query-runner/QueryLock.js.map +1 -1
  488. package/browser/query-runner/QueryResult.js.map +1 -1
  489. package/browser/query-runner/QueryRunner.js.map +1 -1
  490. package/browser/repository/AbstractRepository.js.map +1 -1
  491. package/browser/repository/BaseEntity.js.map +1 -1
  492. package/browser/repository/EntityId.js.map +1 -1
  493. package/browser/repository/FindTreesOptions.js.map +1 -1
  494. package/browser/repository/MongoRepository.js.map +1 -1
  495. package/browser/repository/RemoveOptions.js.map +1 -1
  496. package/browser/repository/Repository.js.map +1 -1
  497. package/browser/repository/SaveOptions.js.map +1 -1
  498. package/browser/repository/TreeRepository.js.map +1 -1
  499. package/browser/repository/UpsertOptions.js.map +1 -1
  500. package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
  501. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  502. package/browser/schema-builder/SchemaBuilder.js.map +1 -1
  503. package/browser/schema-builder/options/TableCheckOptions.js.map +1 -1
  504. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  505. package/browser/schema-builder/options/TableExclusionOptions.js.map +1 -1
  506. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  507. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  508. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  509. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  510. package/browser/schema-builder/options/ViewOptions.js.map +1 -1
  511. package/browser/schema-builder/table/Table.js.map +1 -1
  512. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  513. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  514. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  515. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  516. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  517. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  518. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  519. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  520. package/browser/schema-builder/view/View.js.map +1 -1
  521. package/browser/subscriber/Broadcaster.js.map +1 -1
  522. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  523. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  524. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  525. package/browser/subscriber/event/LoadEvent.js.map +1 -1
  526. package/browser/subscriber/event/QueryEvent.js.map +1 -1
  527. package/browser/subscriber/event/RecoverEvent.js.map +1 -1
  528. package/browser/subscriber/event/RemoveEvent.js.map +1 -1
  529. package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -1
  530. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -1
  531. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  532. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -1
  533. package/browser/subscriber/event/UpdateEvent.js.map +1 -1
  534. package/browser/util/ApplyValueTransformers.js.map +1 -1
  535. package/browser/util/DateUtils.js.map +1 -1
  536. package/browser/util/DepGraph.js +13 -13
  537. package/browser/util/DepGraph.js.map +1 -1
  538. package/browser/util/DirectoryExportedClassesLoader.js +2 -2
  539. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  540. package/browser/util/ImportUtils.js.map +1 -1
  541. package/browser/util/InstanceChecker.js.map +1 -1
  542. package/browser/util/ObjectUtils.d.ts +2 -2
  543. package/browser/util/ObjectUtils.js.map +1 -1
  544. package/browser/util/OrmUtils.js +4 -4
  545. package/browser/util/OrmUtils.js.map +1 -1
  546. package/browser/util/PathUtils.js.map +1 -1
  547. package/browser/util/RandomGenerator.js +6 -6
  548. package/browser/util/RandomGenerator.js.map +1 -1
  549. package/browser/util/StringUtils.js.map +1 -1
  550. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  551. package/browser/util/VersionUtils.js.map +1 -1
  552. package/browser/util/escapeRegExp.d.ts +1 -1
  553. package/browser/util/escapeRegExp.js.map +1 -1
  554. package/cache/DbQueryResultCache.js +1 -1
  555. package/cache/DbQueryResultCache.js.map +1 -1
  556. package/cache/QueryResultCache.js.map +1 -1
  557. package/cache/QueryResultCacheFactory.js.map +1 -1
  558. package/cache/QueryResultCacheOptions.js.map +1 -1
  559. package/cache/RedisQueryResultCache.js.map +1 -1
  560. package/cli-ts-node-commonjs.js.map +1 -1
  561. package/cli-ts-node-esm.js.map +1 -1
  562. package/cli.js.map +1 -1
  563. package/commands/CacheClearCommand.js.map +1 -1
  564. package/commands/CommandUtils.js +1 -0
  565. package/commands/CommandUtils.js.map +1 -1
  566. package/commands/EntityCreateCommand.js +6 -6
  567. package/commands/EntityCreateCommand.js.map +1 -1
  568. package/commands/InitCommand.js +316 -322
  569. package/commands/InitCommand.js.map +1 -1
  570. package/commands/MigrationCreateCommand.js +20 -22
  571. package/commands/MigrationCreateCommand.js.map +1 -1
  572. package/commands/MigrationGenerateCommand.js +29 -31
  573. package/commands/MigrationGenerateCommand.js.map +1 -1
  574. package/commands/MigrationRevertCommand.js.map +1 -1
  575. package/commands/MigrationRunCommand.js.map +1 -1
  576. package/commands/MigrationShowCommand.js.map +1 -1
  577. package/commands/QueryCommand.js.map +1 -1
  578. package/commands/SchemaDropCommand.js.map +1 -1
  579. package/commands/SchemaLogCommand.js.map +1 -1
  580. package/commands/SchemaSyncCommand.js.map +1 -1
  581. package/commands/SubscriberCreateCommand.js +6 -6
  582. package/commands/SubscriberCreateCommand.js.map +1 -1
  583. package/commands/VersionCommand.js.map +1 -1
  584. package/common/DeepPartial.js.map +1 -1
  585. package/common/EntityTarget.js.map +1 -1
  586. package/common/MixedList.js.map +1 -1
  587. package/common/NonNever.js.map +1 -1
  588. package/common/ObjectLiteral.js.map +1 -1
  589. package/common/ObjectType.js.map +1 -1
  590. package/common/PickKeysByType.js.map +1 -1
  591. package/common/RelationType.js.map +1 -1
  592. package/connection/BaseConnectionOptions.js.map +1 -1
  593. package/connection/Connection.js.map +1 -1
  594. package/connection/ConnectionManager.js.map +1 -1
  595. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  596. package/connection/ConnectionOptions.js.map +1 -1
  597. package/connection/ConnectionOptionsReader.js.map +1 -1
  598. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  599. package/container.js.map +1 -1
  600. package/data-source/BaseDataSourceOptions.js.map +1 -1
  601. package/data-source/DataSource.js +2 -2
  602. package/data-source/DataSource.js.map +1 -1
  603. package/data-source/DataSourceOptions.js.map +1 -1
  604. package/data-source/index.js.map +1 -1
  605. package/decorator/Check.js.map +1 -1
  606. package/decorator/EntityRepository.js.map +1 -1
  607. package/decorator/Exclusion.js.map +1 -1
  608. package/decorator/Generated.js.map +1 -1
  609. package/decorator/Index.js.map +1 -1
  610. package/decorator/Unique.js.map +1 -1
  611. package/decorator/columns/Column.js.map +1 -1
  612. package/decorator/columns/CreateDateColumn.js.map +1 -1
  613. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  614. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  615. package/decorator/columns/PrimaryColumn.js.map +1 -1
  616. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  617. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  618. package/decorator/columns/VersionColumn.js.map +1 -1
  619. package/decorator/columns/ViewColumn.js.map +1 -1
  620. package/decorator/columns/VirtualColumn.js.map +1 -1
  621. package/decorator/entity/ChildEntity.js.map +1 -1
  622. package/decorator/entity/Entity.js.map +1 -1
  623. package/decorator/entity/TableInheritance.js.map +1 -1
  624. package/decorator/entity-view/ViewEntity.js.map +1 -1
  625. package/decorator/listeners/AfterInsert.js.map +1 -1
  626. package/decorator/listeners/AfterLoad.js.map +1 -1
  627. package/decorator/listeners/AfterRecover.js.map +1 -1
  628. package/decorator/listeners/AfterRemove.js.map +1 -1
  629. package/decorator/listeners/AfterSoftRemove.js.map +1 -1
  630. package/decorator/listeners/AfterUpdate.js.map +1 -1
  631. package/decorator/listeners/BeforeInsert.js.map +1 -1
  632. package/decorator/listeners/BeforeRecover.js.map +1 -1
  633. package/decorator/listeners/BeforeRemove.js.map +1 -1
  634. package/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  635. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  636. package/decorator/listeners/EventSubscriber.js.map +1 -1
  637. package/decorator/options/ColumnCommonOptions.js.map +1 -1
  638. package/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  639. package/decorator/options/ColumnEnumOptions.js.map +1 -1
  640. package/decorator/options/ColumnHstoreOptions.js.map +1 -1
  641. package/decorator/options/ColumnNumericOptions.js.map +1 -1
  642. package/decorator/options/ColumnOptions.js.map +1 -1
  643. package/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  644. package/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  645. package/decorator/options/EntityOptions.js.map +1 -1
  646. package/decorator/options/IndexOptions.js.map +1 -1
  647. package/decorator/options/JoinColumnOptions.js.map +1 -1
  648. package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  649. package/decorator/options/JoinTableOptions.js.map +1 -1
  650. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  651. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  652. package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  653. package/decorator/options/RelationOptions.js.map +1 -1
  654. package/decorator/options/SpatialColumnOptions.js.map +1 -1
  655. package/decorator/options/TransactionOptions.js.map +1 -1
  656. package/decorator/options/UniqueOptions.js.map +1 -1
  657. package/decorator/options/ValueTransformer.js.map +1 -1
  658. package/decorator/options/ViewColumnOptions.js.map +1 -1
  659. package/decorator/options/ViewEntityOptions.js.map +1 -1
  660. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  661. package/decorator/relations/JoinColumn.js.map +1 -1
  662. package/decorator/relations/JoinTable.js.map +1 -1
  663. package/decorator/relations/ManyToMany.js.map +1 -1
  664. package/decorator/relations/ManyToOne.js.map +1 -1
  665. package/decorator/relations/OneToMany.js.map +1 -1
  666. package/decorator/relations/OneToOne.js.map +1 -1
  667. package/decorator/relations/RelationCount.d.ts +2 -1
  668. package/decorator/relations/RelationCount.js +2 -1
  669. package/decorator/relations/RelationCount.js.map +1 -1
  670. package/decorator/relations/RelationId.js.map +1 -1
  671. package/decorator/tree/Tree.js.map +1 -1
  672. package/decorator/tree/TreeChildren.js.map +1 -1
  673. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  674. package/decorator/tree/TreeParent.js.map +1 -1
  675. package/driver/Driver.js.map +1 -1
  676. package/driver/DriverFactory.js.map +1 -1
  677. package/driver/DriverUtils.js +3 -3
  678. package/driver/DriverUtils.js.map +1 -1
  679. package/driver/Query.js.map +1 -1
  680. package/driver/SqlInMemory.js.map +1 -1
  681. package/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  682. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  683. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  684. package/driver/aurora-mysql/AuroraMysqlDriver.js +2 -2
  685. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  686. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +7 -10
  687. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  688. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  689. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  690. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +6 -9
  691. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  692. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  693. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  694. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  695. package/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  696. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  697. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  698. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  699. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  700. package/driver/cockroachdb/CockroachDriver.js +2 -2
  701. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  702. package/driver/cockroachdb/CockroachQueryRunner.js +7 -11
  703. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  704. package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  705. package/driver/cordova/CordovaDriver.js.map +1 -1
  706. package/driver/cordova/CordovaQueryRunner.js +1 -1
  707. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  708. package/driver/expo/ExpoConnectionOptions.js.map +1 -1
  709. package/driver/expo/ExpoDriver.js.map +1 -1
  710. package/driver/expo/ExpoQueryRunner.js +1 -1
  711. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  712. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  713. package/driver/mongodb/MongoDriver.js.map +1 -1
  714. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  715. package/driver/mongodb/bson.typings.js.map +1 -1
  716. package/driver/mongodb/typings.js.map +1 -1
  717. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  718. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  719. package/driver/mysql/MysqlDriver.js +2 -2
  720. package/driver/mysql/MysqlDriver.js.map +1 -1
  721. package/driver/mysql/MysqlQueryRunner.js +78 -81
  722. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  723. package/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  724. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  725. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  726. package/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  727. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  728. package/driver/oracle/OracleDriver.js +2 -2
  729. package/driver/oracle/OracleDriver.js.map +1 -1
  730. package/driver/oracle/OracleQueryRunner.js +6 -8
  731. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  732. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  733. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  734. package/driver/postgres/PostgresDriver.js +3 -2
  735. package/driver/postgres/PostgresDriver.js.map +1 -1
  736. package/driver/postgres/PostgresQueryRunner.js +7 -10
  737. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  738. package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  739. package/driver/react-native/ReactNativeDriver.js +1 -1
  740. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  741. package/driver/react-native/ReactNativeQueryRunner.js +1 -1
  742. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  743. package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  744. package/driver/sap/SapConnectionOptions.js.map +1 -1
  745. package/driver/sap/SapDriver.d.ts +2 -1
  746. package/driver/sap/SapDriver.js +19 -13
  747. package/driver/sap/SapDriver.js.map +1 -1
  748. package/driver/sap/SapQueryRunner.js +1 -1
  749. package/driver/sap/SapQueryRunner.js.map +1 -1
  750. package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  751. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  752. package/driver/spanner/SpannerDriver.js +3 -3
  753. package/driver/spanner/SpannerDriver.js.map +1 -1
  754. package/driver/spanner/SpannerQueryRunner.js +7 -7
  755. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  756. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  757. package/driver/sqlite/SqliteDriver.js.map +1 -1
  758. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  759. package/driver/sqlite-abstract/AbstractSqliteDriver.js +1 -1
  760. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  761. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +13 -16
  762. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  763. package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  764. package/driver/sqljs/SqljsDriver.js +1 -1
  765. package/driver/sqljs/SqljsDriver.js.map +1 -1
  766. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  767. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  768. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  769. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  770. package/driver/sqlserver/SqlServerDriver.js +2 -2
  771. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  772. package/driver/sqlserver/SqlServerQueryRunner.js +35 -36
  773. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  774. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  775. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
  776. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  777. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  778. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  779. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  780. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  781. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  782. package/driver/types/ColumnTypes.d.ts +1 -1
  783. package/driver/types/ColumnTypes.js.map +1 -1
  784. package/driver/types/CteCapabilities.js.map +1 -1
  785. package/driver/types/DataTypeDefaults.js.map +1 -1
  786. package/driver/types/DatabaseType.js.map +1 -1
  787. package/driver/types/GeoJsonTypes.js.map +1 -1
  788. package/driver/types/IsolationLevel.js.map +1 -1
  789. package/driver/types/MappedColumnTypes.js.map +1 -1
  790. package/driver/types/MetadataTableType.js.map +1 -1
  791. package/driver/types/ReplicationMode.js.map +1 -1
  792. package/driver/types/UpsertType.js.map +1 -1
  793. package/entity-manager/EntityManager.js.map +1 -1
  794. package/entity-manager/EntityManagerFactory.js.map +1 -1
  795. package/entity-manager/MongoEntityManager.js +1 -1
  796. package/entity-manager/MongoEntityManager.js.map +1 -1
  797. package/entity-manager/SqljsEntityManager.js.map +1 -1
  798. package/entity-schema/EntitySchema.js.map +1 -1
  799. package/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  800. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  801. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  802. package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  803. package/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  804. package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  805. package/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
  806. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  807. package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  808. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  809. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  810. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  811. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  812. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  813. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  814. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  815. package/error/CannotDetermineEntityError.js.map +1 -1
  816. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  817. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  818. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  819. package/error/CircularRelationsError.js.map +1 -1
  820. package/error/ColumnTypeUndefinedError.js.map +1 -1
  821. package/error/ConnectionIsNotSetError.js.map +1 -1
  822. package/error/ConnectionNotFoundError.js.map +1 -1
  823. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  824. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  825. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  826. package/error/DataTypeNotSupportedError.js.map +1 -1
  827. package/error/DriverOptionNotSetError.js.map +1 -1
  828. package/error/DriverPackageNotInstalledError.js.map +1 -1
  829. package/error/EntityMetadataNotFoundError.js.map +1 -1
  830. package/error/EntityNotFoundError.js.map +1 -1
  831. package/error/EntityPropertyNotFoundError.js.map +1 -1
  832. package/error/FindRelationsNotFoundError.js.map +1 -1
  833. package/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  834. package/error/InitializedRelationError.js.map +1 -1
  835. package/error/InsertValuesMissingError.js.map +1 -1
  836. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  837. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  838. package/error/MetadataAlreadyExistsError.js.map +1 -1
  839. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  840. package/error/MissingDeleteDateColumnError.js.map +1 -1
  841. package/error/MissingDriverError.js.map +1 -1
  842. package/error/MissingJoinColumnError.js.map +1 -1
  843. package/error/MissingJoinTableError.js.map +1 -1
  844. package/error/MissingPrimaryColumnError.js.map +1 -1
  845. package/error/MustBeEntityError.js.map +1 -1
  846. package/error/NamingStrategyNotFoundError.js.map +1 -1
  847. package/error/NestedSetMultipleRootError.js.map +1 -1
  848. package/error/NoConnectionForRepositoryError.js.map +1 -1
  849. package/error/NoConnectionOptionError.js.map +1 -1
  850. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  851. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  852. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  853. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  854. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  855. package/error/PersistedEntityNotFoundError.js.map +1 -1
  856. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  857. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  858. package/error/QueryFailedError.js.map +1 -1
  859. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  860. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  861. package/error/RepositoryNotTreeError.js.map +1 -1
  862. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  863. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  864. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  865. package/error/TransactionAlreadyStartedError.js.map +1 -1
  866. package/error/TransactionNotStartedError.js.map +1 -1
  867. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  868. package/error/TypeORMError.js.map +1 -1
  869. package/error/UpdateValuesMissingError.js.map +1 -1
  870. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  871. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  872. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  873. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  874. package/error/index.js.map +1 -1
  875. package/find-options/EqualOperator.js.map +1 -1
  876. package/find-options/FindManyOptions.js.map +1 -1
  877. package/find-options/FindOneOptions.js.map +1 -1
  878. package/find-options/FindOperator.js.map +1 -1
  879. package/find-options/FindOperatorType.js.map +1 -1
  880. package/find-options/FindOptionsOrder.js.map +1 -1
  881. package/find-options/FindOptionsRelations.js.map +1 -1
  882. package/find-options/FindOptionsSelect.js.map +1 -1
  883. package/find-options/FindOptionsUtils.js +1 -1
  884. package/find-options/FindOptionsUtils.js.map +1 -1
  885. package/find-options/FindOptionsWhere.js.map +1 -1
  886. package/find-options/FindTreeOptions.js.map +1 -1
  887. package/find-options/JoinOptions.js.map +1 -1
  888. package/find-options/OrderByCondition.js.map +1 -1
  889. package/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  890. package/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  891. package/find-options/operator/And.js.map +1 -1
  892. package/find-options/operator/Any.js.map +1 -1
  893. package/find-options/operator/ArrayContainedBy.js.map +1 -1
  894. package/find-options/operator/ArrayContains.js.map +1 -1
  895. package/find-options/operator/ArrayOverlap.js.map +1 -1
  896. package/find-options/operator/Between.js.map +1 -1
  897. package/find-options/operator/Equal.js.map +1 -1
  898. package/find-options/operator/ILike.js.map +1 -1
  899. package/find-options/operator/In.js.map +1 -1
  900. package/find-options/operator/IsNull.js.map +1 -1
  901. package/find-options/operator/JsonContains.js.map +1 -1
  902. package/find-options/operator/LessThan.js.map +1 -1
  903. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  904. package/find-options/operator/Like.js.map +1 -1
  905. package/find-options/operator/MoreThan.js.map +1 -1
  906. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  907. package/find-options/operator/Not.js.map +1 -1
  908. package/find-options/operator/Or.js.map +1 -1
  909. package/find-options/operator/Raw.js.map +1 -1
  910. package/globals.js.map +1 -1
  911. package/index.js.map +1 -1
  912. package/logger/AbstractLogger.js.map +1 -1
  913. package/logger/AdvancedConsoleLogger.js +1 -1
  914. package/logger/AdvancedConsoleLogger.js.map +1 -1
  915. package/logger/DebugLogger.js +1 -1
  916. package/logger/DebugLogger.js.map +1 -1
  917. package/logger/FileLogger.js +1 -1
  918. package/logger/FileLogger.js.map +1 -1
  919. package/logger/Logger.js.map +1 -1
  920. package/logger/LoggerFactory.js.map +1 -1
  921. package/logger/LoggerOptions.js.map +1 -1
  922. package/logger/SimpleConsoleLogger.js +1 -1
  923. package/logger/SimpleConsoleLogger.js.map +1 -1
  924. package/metadata/CheckMetadata.js.map +1 -1
  925. package/metadata/ColumnMetadata.js +1 -1
  926. package/metadata/ColumnMetadata.js.map +1 -1
  927. package/metadata/EmbeddedMetadata.js +1 -1
  928. package/metadata/EmbeddedMetadata.js.map +1 -1
  929. package/metadata/EntityListenerMetadata.js.map +1 -1
  930. package/metadata/EntityMetadata.js.map +1 -1
  931. package/metadata/ExclusionMetadata.js.map +1 -1
  932. package/metadata/ForeignKeyMetadata.js.map +1 -1
  933. package/metadata/IndexMetadata.js.map +1 -1
  934. package/metadata/RelationCountMetadata.js.map +1 -1
  935. package/metadata/RelationIdMetadata.js.map +1 -1
  936. package/metadata/RelationMetadata.js.map +1 -1
  937. package/metadata/UniqueMetadata.js.map +1 -1
  938. package/metadata/types/ClosureTreeOptions.js.map +1 -1
  939. package/metadata/types/DeferrableType.js.map +1 -1
  940. package/metadata/types/EventListenerTypes.js.map +1 -1
  941. package/metadata/types/OnDeleteType.js.map +1 -1
  942. package/metadata/types/OnUpdateType.js.map +1 -1
  943. package/metadata/types/PropertyTypeInFunction.js.map +1 -1
  944. package/metadata/types/RelationTypeInFunction.js.map +1 -1
  945. package/metadata/types/RelationTypes.js.map +1 -1
  946. package/metadata/types/TableTypes.js.map +1 -1
  947. package/metadata/types/TreeTypes.js.map +1 -1
  948. package/metadata-args/CheckMetadataArgs.js.map +1 -1
  949. package/metadata-args/ColumnMetadataArgs.js.map +1 -1
  950. package/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  951. package/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  952. package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  953. package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  954. package/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  955. package/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  956. package/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  957. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  958. package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  959. package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  960. package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  961. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  962. package/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  963. package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  964. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  965. package/metadata-args/RelationMetadataArgs.js.map +1 -1
  966. package/metadata-args/TableMetadataArgs.js.map +1 -1
  967. package/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  968. package/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  969. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  970. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  971. package/metadata-args/types/ColumnMode.js.map +1 -1
  972. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  973. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  974. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  975. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  976. package/metadata-builder/MetadataUtils.js.map +1 -1
  977. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  978. package/migration/Migration.js.map +1 -1
  979. package/migration/MigrationExecutor.js +2 -2
  980. package/migration/MigrationExecutor.js.map +1 -1
  981. package/migration/MigrationInterface.js.map +1 -1
  982. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  983. package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  984. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  985. package/package.json +1 -260
  986. package/persistence/EntityPersistExecutor.js +2 -2
  987. package/persistence/EntityPersistExecutor.js.map +1 -1
  988. package/persistence/Subject.js.map +1 -1
  989. package/persistence/SubjectChangeMap.js.map +1 -1
  990. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  991. package/persistence/SubjectDatabaseEntityLoader.js +1 -1
  992. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  993. package/persistence/SubjectExecutor.js +1 -1
  994. package/persistence/SubjectExecutor.js.map +1 -1
  995. package/persistence/SubjectTopologicalSorter.js +5 -5
  996. package/persistence/SubjectTopologicalSorter.js.map +1 -1
  997. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  998. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  999. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1000. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  1001. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1002. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1003. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1004. package/persistence/tree/NestedSetSubjectExecutor.js +2 -2
  1005. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1006. package/platform/PlatformTools.js.map +1 -1
  1007. package/query-builder/Alias.js.map +1 -1
  1008. package/query-builder/Brackets.js.map +1 -1
  1009. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1010. package/query-builder/InsertOrUpdateOptions.js.map +1 -1
  1011. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1012. package/query-builder/JoinAttribute.js +2 -2
  1013. package/query-builder/JoinAttribute.js.map +1 -1
  1014. package/query-builder/JoinOptions.js.map +1 -1
  1015. package/query-builder/NotBrackets.js.map +1 -1
  1016. package/query-builder/QueryBuilder.js +2 -2
  1017. package/query-builder/QueryBuilder.js.map +1 -1
  1018. package/query-builder/QueryBuilderCte.js.map +1 -1
  1019. package/query-builder/QueryBuilderUtils.js.map +1 -1
  1020. package/query-builder/QueryExpressionMap.js.map +1 -1
  1021. package/query-builder/QueryPartialEntity.js.map +1 -1
  1022. package/query-builder/RelationIdLoader.js +5 -4
  1023. package/query-builder/RelationIdLoader.js.map +1 -1
  1024. package/query-builder/RelationLoader.js.map +1 -1
  1025. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1026. package/query-builder/RelationRemover.js.map +1 -1
  1027. package/query-builder/RelationUpdater.js.map +1 -1
  1028. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1029. package/query-builder/SelectQuery.js.map +1 -1
  1030. package/query-builder/SelectQueryBuilder.js +27 -14
  1031. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1032. package/query-builder/SelectQueryBuilderOption.js.map +1 -1
  1033. package/query-builder/SoftDeleteQueryBuilder.js +1 -1
  1034. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1035. package/query-builder/UpdateQueryBuilder.js +3 -3
  1036. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1037. package/query-builder/WhereClause.js.map +1 -1
  1038. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  1039. package/query-builder/index.js.map +1 -1
  1040. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  1041. package/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  1042. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  1043. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  1044. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1045. package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  1046. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1047. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  1048. package/query-builder/result/DeleteResult.js.map +1 -1
  1049. package/query-builder/result/InsertResult.js.map +1 -1
  1050. package/query-builder/result/UpdateResult.js.map +1 -1
  1051. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1052. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1053. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1054. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +2 -2
  1055. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1056. package/query-runner/BaseQueryRunner.js.map +1 -1
  1057. package/query-runner/QueryLock.js.map +1 -1
  1058. package/query-runner/QueryResult.js.map +1 -1
  1059. package/query-runner/QueryRunner.js.map +1 -1
  1060. package/repository/AbstractRepository.js.map +1 -1
  1061. package/repository/BaseEntity.js.map +1 -1
  1062. package/repository/EntityId.js.map +1 -1
  1063. package/repository/FindTreesOptions.js.map +1 -1
  1064. package/repository/MongoRepository.js.map +1 -1
  1065. package/repository/RemoveOptions.js.map +1 -1
  1066. package/repository/Repository.js.map +1 -1
  1067. package/repository/SaveOptions.js.map +1 -1
  1068. package/repository/TreeRepository.js.map +1 -1
  1069. package/repository/UpsertOptions.js.map +1 -1
  1070. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  1071. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1072. package/schema-builder/SchemaBuilder.js.map +1 -1
  1073. package/schema-builder/options/TableCheckOptions.js.map +1 -1
  1074. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  1075. package/schema-builder/options/TableExclusionOptions.js.map +1 -1
  1076. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  1077. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  1078. package/schema-builder/options/TableOptions.js.map +1 -1
  1079. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  1080. package/schema-builder/options/ViewOptions.js.map +1 -1
  1081. package/schema-builder/table/Table.js.map +1 -1
  1082. package/schema-builder/table/TableCheck.js.map +1 -1
  1083. package/schema-builder/table/TableColumn.js.map +1 -1
  1084. package/schema-builder/table/TableExclusion.js.map +1 -1
  1085. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1086. package/schema-builder/table/TableIndex.js.map +1 -1
  1087. package/schema-builder/table/TableUnique.js.map +1 -1
  1088. package/schema-builder/util/TableUtils.js.map +1 -1
  1089. package/schema-builder/util/ViewUtils.js.map +1 -1
  1090. package/schema-builder/view/View.js.map +1 -1
  1091. package/subscriber/Broadcaster.js.map +1 -1
  1092. package/subscriber/BroadcasterResult.js.map +1 -1
  1093. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  1094. package/subscriber/event/InsertEvent.js.map +1 -1
  1095. package/subscriber/event/LoadEvent.js.map +1 -1
  1096. package/subscriber/event/QueryEvent.js.map +1 -1
  1097. package/subscriber/event/RecoverEvent.js.map +1 -1
  1098. package/subscriber/event/RemoveEvent.js.map +1 -1
  1099. package/subscriber/event/SoftRemoveEvent.js.map +1 -1
  1100. package/subscriber/event/TransactionCommitEvent.js.map +1 -1
  1101. package/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  1102. package/subscriber/event/TransactionStartEvent.js.map +1 -1
  1103. package/subscriber/event/UpdateEvent.js.map +1 -1
  1104. package/typeorm-class-transformer-shim.js +271 -271
  1105. package/typeorm-model-shim.js +298 -295
  1106. package/util/ApplyValueTransformers.js.map +1 -1
  1107. package/util/DateUtils.js.map +1 -1
  1108. package/util/DepGraph.js +13 -13
  1109. package/util/DepGraph.js.map +1 -1
  1110. package/util/DirectoryExportedClassesLoader.js +2 -2
  1111. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1112. package/util/ImportUtils.js.map +1 -1
  1113. package/util/InstanceChecker.js.map +1 -1
  1114. package/util/ObjectUtils.d.ts +2 -2
  1115. package/util/ObjectUtils.js.map +1 -1
  1116. package/util/OrmUtils.js +4 -4
  1117. package/util/OrmUtils.js.map +1 -1
  1118. package/util/PathUtils.js.map +1 -1
  1119. package/util/RandomGenerator.js +6 -6
  1120. package/util/RandomGenerator.js.map +1 -1
  1121. package/util/StringUtils.js.map +1 -1
  1122. package/util/TreeRepositoryUtils.js.map +1 -1
  1123. package/util/VersionUtils.js.map +1 -1
  1124. package/util/escapeRegExp.d.ts +1 -1
  1125. package/util/escapeRegExp.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/persistence/tree/NestedSetSubjectExecutor.ts"],"names":[],"mappings":"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","file":"NestedSetSubjectExecutor.js","sourcesContent":["import { Subject } from \"../Subject\"\r\nimport { QueryRunner } from \"../../query-runner/QueryRunner\"\r\nimport { OrmUtils } from \"../../util/OrmUtils\"\r\nimport { NestedSetMultipleRootError } from \"../../error/NestedSetMultipleRootError\"\r\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\r\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\r\n\r\nclass NestedSetIds {\r\n left: number\r\n right: number\r\n}\r\n\r\n/**\r\n * Executes subject operations for nested set tree entities.\r\n */\r\nexport class NestedSetSubjectExecutor {\r\n // -------------------------------------------------------------------------\r\n // Constructor\r\n // -------------------------------------------------------------------------\r\n\r\n constructor(protected queryRunner: QueryRunner) {}\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Executes operations when subject is being inserted.\r\n */\r\n async insert(subject: Subject): Promise<void> {\r\n const escape = (alias: string) =>\r\n this.queryRunner.connection.driver.escape(alias)\r\n const tableName = this.getTableName(subject.metadata.tablePath)\r\n const leftColumnName = escape(\r\n subject.metadata.nestedSetLeftColumn!.databaseName,\r\n )\r\n const rightColumnName = escape(\r\n subject.metadata.nestedSetRightColumn!.databaseName,\r\n )\r\n\r\n let parent = subject.metadata.treeParentRelation!.getEntityValue(\r\n subject.entity!,\r\n ) // if entity was attached via parent\r\n if (!parent && subject.parentSubject && subject.parentSubject.entity)\r\n // if entity was attached via children\r\n parent = subject.parentSubject.insertedValueSet\r\n ? subject.parentSubject.insertedValueSet\r\n : subject.parentSubject.entity\r\n const parentId = subject.metadata.getEntityIdMap(parent)\r\n\r\n let parentNsRight: number | undefined = undefined\r\n if (parentId) {\r\n parentNsRight = await this.queryRunner.manager\r\n .createQueryBuilder()\r\n .select(\r\n subject.metadata.targetName +\r\n \".\" +\r\n subject.metadata.nestedSetRightColumn!.propertyPath,\r\n \"right\",\r\n )\r\n .from(subject.metadata.target, subject.metadata.targetName)\r\n .whereInIds(parentId)\r\n .getRawOne()\r\n .then((result) => {\r\n const value: any = result ? result[\"right\"] : undefined\r\n // CockroachDB returns numeric types as string\r\n return typeof value === \"string\" ? parseInt(value) : value\r\n })\r\n }\r\n\r\n if (parentNsRight !== undefined) {\r\n await this.queryRunner.query(\r\n `UPDATE ${tableName} SET ` +\r\n `${leftColumnName} = CASE WHEN ${leftColumnName} > ${parentNsRight} THEN ${leftColumnName} + 2 ELSE ${leftColumnName} END,` +\r\n `${rightColumnName} = ${rightColumnName} + 2 ` +\r\n `WHERE ${rightColumnName} >= ${parentNsRight}`,\r\n )\r\n\r\n OrmUtils.mergeDeep(\r\n subject.insertedValueSet,\r\n subject.metadata.nestedSetLeftColumn!.createValueMap(\r\n parentNsRight,\r\n ),\r\n subject.metadata.nestedSetRightColumn!.createValueMap(\r\n parentNsRight + 1,\r\n ),\r\n )\r\n } else {\r\n const isUniqueRoot = await this.isUniqueRootEntity(subject, parent)\r\n\r\n // Validate if a root entity already exits and throw an exception\r\n if (!isUniqueRoot) throw new NestedSetMultipleRootError()\r\n\r\n OrmUtils.mergeDeep(\r\n subject.insertedValueSet,\r\n subject.metadata.nestedSetLeftColumn!.createValueMap(1),\r\n subject.metadata.nestedSetRightColumn!.createValueMap(2),\r\n )\r\n }\r\n }\r\n\r\n /**\r\n * Executes operations when subject is being updated.\r\n */\r\n async update(subject: Subject): Promise<void> {\r\n let parent = subject.metadata.treeParentRelation!.getEntityValue(\r\n subject.entity!,\r\n ) // if entity was attached via parent\r\n if (!parent && subject.parentSubject && subject.parentSubject.entity)\r\n // if entity was attached via children\r\n parent = subject.parentSubject.entity\r\n\r\n let entity = subject.databaseEntity // if entity was attached via parent\r\n if (!entity && parent)\r\n // if entity was attached via children\r\n entity = subject.metadata\r\n .treeChildrenRelation!.getEntityValue(parent)\r\n .find((child: any) => {\r\n return Object.entries(subject.identifier!).every(\r\n ([key, value]) => child[key] === value,\r\n )\r\n })\r\n\r\n // Exit if the parent or the entity where never set\r\n if (entity === undefined || parent === undefined) {\r\n return\r\n }\r\n\r\n const oldParent = subject.metadata.treeParentRelation!.getEntityValue(\r\n entity!,\r\n )\r\n const oldParentId = subject.metadata.getEntityIdMap(oldParent)\r\n const parentId = subject.metadata.getEntityIdMap(parent)\r\n\r\n // Exit if the new and old parents are the same\r\n if (OrmUtils.compareIds(oldParentId, parentId)) {\r\n return\r\n }\r\n\r\n if (parent) {\r\n const escape = (alias: string) =>\r\n this.queryRunner.connection.driver.escape(alias)\r\n const tableName = this.getTableName(subject.metadata.tablePath)\r\n const leftColumnName = escape(\r\n subject.metadata.nestedSetLeftColumn!.databaseName,\r\n )\r\n const rightColumnName = escape(\r\n subject.metadata.nestedSetRightColumn!.databaseName,\r\n )\r\n\r\n const entityId = subject.metadata.getEntityIdMap(entity)\r\n\r\n let entityNs: NestedSetIds | undefined = undefined\r\n if (entityId) {\r\n entityNs = (\r\n await this.getNestedSetIds(subject.metadata, entityId)\r\n )[0]\r\n }\r\n\r\n let parentNs: NestedSetIds | undefined = undefined\r\n if (parentId) {\r\n parentNs = (\r\n await this.getNestedSetIds(subject.metadata, parentId)\r\n )[0]\r\n }\r\n\r\n if (entityNs !== undefined && parentNs !== undefined) {\r\n const isMovingUp = parentNs.left > entityNs.left\r\n const treeSize = entityNs.right - entityNs.left + 1\r\n\r\n let entitySize: number\r\n if (isMovingUp) {\r\n entitySize = parentNs.left - entityNs.right\r\n } else {\r\n entitySize = parentNs.right - entityNs.left\r\n }\r\n\r\n // Moved entity logic\r\n const updateLeftSide =\r\n `WHEN ${leftColumnName} >= ${entityNs.left} AND ` +\r\n `${leftColumnName} < ${entityNs.right} ` +\r\n `THEN ${leftColumnName} + ${entitySize} `\r\n\r\n const updateRightSide =\r\n `WHEN ${rightColumnName} > ${entityNs.left} AND ` +\r\n `${rightColumnName} <= ${entityNs.right} ` +\r\n `THEN ${rightColumnName} + ${entitySize} `\r\n\r\n // Update the surrounding entities\r\n if (isMovingUp) {\r\n await this.queryRunner.query(\r\n `UPDATE ${tableName} ` +\r\n `SET ${leftColumnName} = CASE ` +\r\n `WHEN ${leftColumnName} > ${entityNs.right} AND ` +\r\n `${leftColumnName} <= ${parentNs.left} ` +\r\n `THEN ${leftColumnName} - ${treeSize} ` +\r\n updateLeftSide +\r\n `ELSE ${leftColumnName} ` +\r\n `END, ` +\r\n `${rightColumnName} = CASE ` +\r\n `WHEN ${rightColumnName} > ${entityNs.right} AND ` +\r\n `${rightColumnName} < ${parentNs.left} ` +\r\n `THEN ${rightColumnName} - ${treeSize} ` +\r\n updateRightSide +\r\n `ELSE ${rightColumnName} ` +\r\n `END`,\r\n )\r\n } else {\r\n await this.queryRunner.query(\r\n `UPDATE ${tableName} ` +\r\n `SET ${leftColumnName} = CASE ` +\r\n `WHEN ${leftColumnName} < ${entityNs.left} AND ` +\r\n `${leftColumnName} > ${parentNs.right} ` +\r\n `THEN ${leftColumnName} + ${treeSize} ` +\r\n updateLeftSide +\r\n `ELSE ${leftColumnName} ` +\r\n `END, ` +\r\n `${rightColumnName} = CASE ` +\r\n `WHEN ${rightColumnName} < ${entityNs.left} AND ` +\r\n `${rightColumnName} >= ${parentNs.right} ` +\r\n `THEN ${rightColumnName} + ${treeSize} ` +\r\n updateRightSide +\r\n `ELSE ${rightColumnName} ` +\r\n `END`,\r\n )\r\n }\r\n }\r\n } else {\r\n const isUniqueRoot = await this.isUniqueRootEntity(subject, parent)\r\n\r\n // Validate if a root entity already exits and throw an exception\r\n if (!isUniqueRoot) throw new NestedSetMultipleRootError()\r\n }\r\n }\r\n\r\n /**\r\n * Executes operations when subject is being removed.\r\n */\r\n async remove(subjects: Subject | Subject[]): Promise<void> {\r\n if (!Array.isArray(subjects)) subjects = [subjects]\r\n\r\n const metadata = subjects[0].metadata\r\n\r\n const escape = (alias: string) =>\r\n this.queryRunner.connection.driver.escape(alias)\r\n const tableName = this.getTableName(metadata.tablePath)\r\n const leftColumnName = escape(\r\n metadata.nestedSetLeftColumn!.databaseName,\r\n )\r\n const rightColumnName = escape(\r\n metadata.nestedSetRightColumn!.databaseName,\r\n )\r\n\r\n let entitiesIds: ObjectLiteral[] = []\r\n for (const subject of subjects) {\r\n const entityId = metadata.getEntityIdMap(subject.entity)\r\n\r\n if (entityId) {\r\n entitiesIds.push(entityId)\r\n }\r\n }\r\n\r\n let entitiesNs = await this.getNestedSetIds(metadata, entitiesIds)\r\n\r\n for (const entity of entitiesNs) {\r\n const treeSize = entity.right - entity.left + 1\r\n\r\n await this.queryRunner.query(\r\n `UPDATE ${tableName} ` +\r\n `SET ${leftColumnName} = CASE ` +\r\n `WHEN ${leftColumnName} > ${entity.left} THEN ${leftColumnName} - ${treeSize} ` +\r\n `ELSE ${leftColumnName} ` +\r\n `END, ` +\r\n `${rightColumnName} = CASE ` +\r\n `WHEN ${rightColumnName} > ${entity.right} THEN ${rightColumnName} - ${treeSize} ` +\r\n `ELSE ${rightColumnName} ` +\r\n `END`,\r\n )\r\n }\r\n }\r\n\r\n /**\r\n * Get the nested set ids for a given entity\r\n */\r\n protected getNestedSetIds(\r\n metadata: EntityMetadata,\r\n ids: ObjectLiteral | ObjectLiteral[],\r\n ): Promise<NestedSetIds[]> {\r\n const select = {\r\n left: `${metadata.targetName}.${\r\n metadata.nestedSetLeftColumn!.propertyPath\r\n }`,\r\n right: `${metadata.targetName}.${\r\n metadata.nestedSetRightColumn!.propertyPath\r\n }`,\r\n }\r\n\r\n const queryBuilder = this.queryRunner.manager.createQueryBuilder()\r\n\r\n Object.entries(select).forEach(([key, value]) => {\r\n queryBuilder.addSelect(value, key)\r\n })\r\n\r\n return queryBuilder\r\n .from(metadata.target, metadata.targetName)\r\n .whereInIds(ids)\r\n .orderBy(select.right, \"DESC\")\r\n .getRawMany()\r\n .then((results) => {\r\n const data: NestedSetIds[] = []\r\n\r\n for (const result of results) {\r\n const entry: any = {}\r\n for (const key of Object.keys(select)) {\r\n const value = result ? result[key] : undefined\r\n\r\n // CockroachDB returns numeric types as string\r\n entry[key] =\r\n typeof value === \"string\" ? parseInt(value) : value\r\n }\r\n data.push(entry)\r\n }\r\n\r\n return data\r\n })\r\n }\r\n\r\n private async isUniqueRootEntity(\r\n subject: Subject,\r\n parent: any,\r\n ): Promise<boolean> {\r\n const escape = (alias: string) =>\r\n this.queryRunner.connection.driver.escape(alias)\r\n const tableName = this.getTableName(subject.metadata.tablePath)\r\n const parameters: any[] = []\r\n const whereCondition = subject.metadata\r\n .treeParentRelation!.joinColumns.map((column) => {\r\n const columnName = escape(column.databaseName)\r\n const parameter = column.getEntityValue(parent)\r\n\r\n if (parameter == null) {\r\n return `${columnName} IS NULL`\r\n }\r\n\r\n parameters.push(parameter)\r\n const parameterName =\r\n this.queryRunner.connection.driver.createParameter(\r\n \"entity_\" + column.databaseName,\r\n parameters.length - 1,\r\n )\r\n return `${columnName} = ${parameterName}`\r\n })\r\n .join(\" AND \")\r\n\r\n const countAlias = \"count\"\r\n const result = await this.queryRunner.query(\r\n `SELECT COUNT(1) AS ${escape(\r\n countAlias,\r\n )} FROM ${tableName} WHERE ${whereCondition}`,\r\n parameters,\r\n true,\r\n )\r\n\r\n return parseInt(result.records[0][countAlias]) === 0\r\n }\r\n\r\n /**\r\n * Gets escaped table name with schema name if SqlServer or Postgres driver used with custom\r\n * schema name, otherwise returns escaped table name.\r\n */\r\n protected getTableName(tablePath: string): string {\r\n return tablePath\r\n .split(\".\")\r\n .map((i) => {\r\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\r\n return i === \"\"\r\n ? i\r\n : this.queryRunner.connection.driver.escape(i)\r\n })\r\n .join(\".\")\r\n }\r\n}\r\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/persistence/tree/NestedSetSubjectExecutor.ts"],"names":[],"mappings":"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","file":"NestedSetSubjectExecutor.js","sourcesContent":["import { Subject } from \"../Subject\"\nimport { QueryRunner } from \"../../query-runner/QueryRunner\"\nimport { OrmUtils } from \"../../util/OrmUtils\"\nimport { NestedSetMultipleRootError } from \"../../error/NestedSetMultipleRootError\"\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\n\nclass NestedSetIds {\n left: number\n right: number\n}\n\n/**\n * Executes subject operations for nested set tree entities.\n */\nexport class NestedSetSubjectExecutor {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected queryRunner: QueryRunner) {}\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 const escape = (alias: string) =>\n this.queryRunner.connection.driver.escape(alias)\n const tableName = this.getTableName(subject.metadata.tablePath)\n const leftColumnName = escape(\n subject.metadata.nestedSetLeftColumn!.databaseName,\n )\n const rightColumnName = escape(\n subject.metadata.nestedSetRightColumn!.databaseName,\n )\n\n let parent = subject.metadata.treeParentRelation!.getEntityValue(\n subject.entity!,\n ) // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity)\n // if entity was attached via children\n parent = subject.parentSubject.insertedValueSet\n ? subject.parentSubject.insertedValueSet\n : subject.parentSubject.entity\n const parentId = subject.metadata.getEntityIdMap(parent)\n\n let parentNsRight: number | undefined = undefined\n if (parentId) {\n parentNsRight = await this.queryRunner.manager\n .createQueryBuilder()\n .select(\n subject.metadata.targetName +\n \".\" +\n subject.metadata.nestedSetRightColumn!.propertyPath,\n \"right\",\n )\n .from(subject.metadata.target, subject.metadata.targetName)\n .whereInIds(parentId)\n .getRawOne()\n .then((result) => {\n const value: any = result ? result[\"right\"] : undefined\n // CockroachDB returns numeric types as string\n return typeof value === \"string\" ? parseInt(value) : value\n })\n }\n\n if (parentNsRight !== undefined) {\n await this.queryRunner.query(\n `UPDATE ${tableName} SET ` +\n `${leftColumnName} = CASE WHEN ${leftColumnName} > ${parentNsRight} THEN ${leftColumnName} + 2 ELSE ${leftColumnName} END,` +\n `${rightColumnName} = ${rightColumnName} + 2 ` +\n `WHERE ${rightColumnName} >= ${parentNsRight}`,\n )\n\n OrmUtils.mergeDeep(\n subject.insertedValueSet,\n subject.metadata.nestedSetLeftColumn!.createValueMap(\n parentNsRight,\n ),\n subject.metadata.nestedSetRightColumn!.createValueMap(\n parentNsRight + 1,\n ),\n )\n } else {\n const isUniqueRoot = await this.isUniqueRootEntity(subject, parent)\n\n // Validate if a root entity already exits and throw an exception\n if (!isUniqueRoot) throw new NestedSetMultipleRootError()\n\n OrmUtils.mergeDeep(\n subject.insertedValueSet,\n subject.metadata.nestedSetLeftColumn!.createValueMap(1),\n subject.metadata.nestedSetRightColumn!.createValueMap(2),\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(\n subject.entity!,\n ) // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity)\n // 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)\n // if entity was attached via children\n entity = subject.metadata\n .treeChildrenRelation!.getEntityValue(parent)\n .find((child: any) => {\n return Object.entries(subject.identifier!).every(\n ([key, value]) => child[key] === value,\n )\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(\n entity!,\n )\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 if (parent) {\n const escape = (alias: string) =>\n this.queryRunner.connection.driver.escape(alias)\n const tableName = this.getTableName(subject.metadata.tablePath)\n const leftColumnName = escape(\n subject.metadata.nestedSetLeftColumn!.databaseName,\n )\n const rightColumnName = escape(\n subject.metadata.nestedSetRightColumn!.databaseName,\n )\n\n const entityId = subject.metadata.getEntityIdMap(entity)\n\n let entityNs: NestedSetIds | undefined = undefined\n if (entityId) {\n entityNs = (\n await this.getNestedSetIds(subject.metadata, entityId)\n )[0]\n }\n\n let parentNs: NestedSetIds | undefined = undefined\n if (parentId) {\n parentNs = (\n await this.getNestedSetIds(subject.metadata, parentId)\n )[0]\n }\n\n if (entityNs !== undefined && parentNs !== undefined) {\n const isMovingUp = parentNs.left > entityNs.left\n const treeSize = entityNs.right - entityNs.left + 1\n\n let entitySize: number\n if (isMovingUp) {\n entitySize = parentNs.left - entityNs.right\n } else {\n entitySize = parentNs.right - entityNs.left\n }\n\n // Moved entity logic\n const updateLeftSide =\n `WHEN ${leftColumnName} >= ${entityNs.left} AND ` +\n `${leftColumnName} < ${entityNs.right} ` +\n `THEN ${leftColumnName} + ${entitySize} `\n\n const updateRightSide =\n `WHEN ${rightColumnName} > ${entityNs.left} AND ` +\n `${rightColumnName} <= ${entityNs.right} ` +\n `THEN ${rightColumnName} + ${entitySize} `\n\n // Update the surrounding entities\n if (isMovingUp) {\n await this.queryRunner.query(\n `UPDATE ${tableName} ` +\n `SET ${leftColumnName} = CASE ` +\n `WHEN ${leftColumnName} > ${entityNs.right} AND ` +\n `${leftColumnName} <= ${parentNs.left} ` +\n `THEN ${leftColumnName} - ${treeSize} ` +\n updateLeftSide +\n `ELSE ${leftColumnName} ` +\n `END, ` +\n `${rightColumnName} = CASE ` +\n `WHEN ${rightColumnName} > ${entityNs.right} AND ` +\n `${rightColumnName} < ${parentNs.left} ` +\n `THEN ${rightColumnName} - ${treeSize} ` +\n updateRightSide +\n `ELSE ${rightColumnName} ` +\n `END`,\n )\n } else {\n await this.queryRunner.query(\n `UPDATE ${tableName} ` +\n `SET ${leftColumnName} = CASE ` +\n `WHEN ${leftColumnName} < ${entityNs.left} AND ` +\n `${leftColumnName} > ${parentNs.right} ` +\n `THEN ${leftColumnName} + ${treeSize} ` +\n updateLeftSide +\n `ELSE ${leftColumnName} ` +\n `END, ` +\n `${rightColumnName} = CASE ` +\n `WHEN ${rightColumnName} < ${entityNs.left} AND ` +\n `${rightColumnName} >= ${parentNs.right} ` +\n `THEN ${rightColumnName} + ${treeSize} ` +\n updateRightSide +\n `ELSE ${rightColumnName} ` +\n `END`,\n )\n }\n }\n } else {\n const isUniqueRoot = await this.isUniqueRootEntity(subject, parent)\n\n // Validate if a root entity already exits and throw an exception\n if (!isUniqueRoot) throw new NestedSetMultipleRootError()\n }\n }\n\n /**\n * Executes operations when subject is being removed.\n */\n async remove(subjects: Subject | Subject[]): Promise<void> {\n if (!Array.isArray(subjects)) subjects = [subjects]\n\n const metadata = subjects[0].metadata\n\n const escape = (alias: string) =>\n this.queryRunner.connection.driver.escape(alias)\n const tableName = this.getTableName(metadata.tablePath)\n const leftColumnName = escape(\n metadata.nestedSetLeftColumn!.databaseName,\n )\n const rightColumnName = escape(\n metadata.nestedSetRightColumn!.databaseName,\n )\n\n const entitiesIds: ObjectLiteral[] = []\n for (const subject of subjects) {\n const entityId = metadata.getEntityIdMap(subject.entity)\n\n if (entityId) {\n entitiesIds.push(entityId)\n }\n }\n\n const entitiesNs = await this.getNestedSetIds(metadata, entitiesIds)\n\n for (const entity of entitiesNs) {\n const treeSize = entity.right - entity.left + 1\n\n await this.queryRunner.query(\n `UPDATE ${tableName} ` +\n `SET ${leftColumnName} = CASE ` +\n `WHEN ${leftColumnName} > ${entity.left} THEN ${leftColumnName} - ${treeSize} ` +\n `ELSE ${leftColumnName} ` +\n `END, ` +\n `${rightColumnName} = CASE ` +\n `WHEN ${rightColumnName} > ${entity.right} THEN ${rightColumnName} - ${treeSize} ` +\n `ELSE ${rightColumnName} ` +\n `END`,\n )\n }\n }\n\n /**\n * Get the nested set ids for a given entity\n */\n protected getNestedSetIds(\n metadata: EntityMetadata,\n ids: ObjectLiteral | ObjectLiteral[],\n ): Promise<NestedSetIds[]> {\n const select = {\n left: `${metadata.targetName}.${\n metadata.nestedSetLeftColumn!.propertyPath\n }`,\n right: `${metadata.targetName}.${\n metadata.nestedSetRightColumn!.propertyPath\n }`,\n }\n\n const queryBuilder = this.queryRunner.manager.createQueryBuilder()\n\n Object.entries(select).forEach(([key, value]) => {\n queryBuilder.addSelect(value, key)\n })\n\n return queryBuilder\n .from(metadata.target, metadata.targetName)\n .whereInIds(ids)\n .orderBy(select.right, \"DESC\")\n .getRawMany()\n .then((results) => {\n const data: NestedSetIds[] = []\n\n for (const result of results) {\n const entry: any = {}\n for (const key of Object.keys(select)) {\n const value = result ? result[key] : undefined\n\n // CockroachDB returns numeric types as string\n entry[key] =\n typeof value === \"string\" ? parseInt(value) : value\n }\n data.push(entry)\n }\n\n return data\n })\n }\n\n private async isUniqueRootEntity(\n subject: Subject,\n parent: any,\n ): Promise<boolean> {\n const escape = (alias: string) =>\n this.queryRunner.connection.driver.escape(alias)\n const tableName = this.getTableName(subject.metadata.tablePath)\n const parameters: any[] = []\n const whereCondition = subject.metadata\n .treeParentRelation!.joinColumns.map((column) => {\n const columnName = escape(column.databaseName)\n const parameter = column.getEntityValue(parent)\n\n if (parameter == null) {\n return `${columnName} IS NULL`\n }\n\n parameters.push(parameter)\n const parameterName =\n this.queryRunner.connection.driver.createParameter(\n \"entity_\" + column.databaseName,\n parameters.length - 1,\n )\n return `${columnName} = ${parameterName}`\n })\n .join(\" AND \")\n\n const countAlias = \"count\"\n const result = await this.queryRunner.query(\n `SELECT COUNT(1) AS ${escape(\n countAlias,\n )} FROM ${tableName} WHERE ${whereCondition}`,\n parameters,\n true,\n )\n\n return parseInt(result.records[0][countAlias]) === 0\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\n .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 === \"\"\n ? i\n : this.queryRunner.connection.driver.escape(i)\n })\n .join(\".\")\n }\n}\n"],"sourceRoot":"../.."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/platform/PlatformTools.ts"],"names":[],"mappings":";;;;AAAA,0DAAwB;AACxB,4DAA2B;AAC3B,oDAAmB;AACnB,wDAAuB;AACvB,iDAAyC;AAEzC,iCAAqC;AAA5B,sGAAA,YAAY,OAAA;AACrB,yBAA+B;AAAtB,gGAAA,UAAU,OAAA;AACnB,iCAA2C;AAAlC,kGAAA,QAAQ,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAE3B;;GAEG;AACH,MAAa,aAAa;IAMtB;;OAEG;IACH,MAAM,CAAC,iBAAiB;QACpB,OAAO,MAAM,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,IAAY;QACpB,2HAA2H;QAC3H,8FAA8F;QAC9F,kCAAkC;QAElC,IAAI,CAAC;YACD,wEAAwE;YACxE,QAAQ,IAAI,EAAE,CAAC;gBACX;;mBAEG;gBACH,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,uBAAuB,CAAC,CAAA;gBAE3C;;mBAEG;gBACH,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;gBAE7B;;mBAEG;gBACH,KAAK,kBAAkB;oBACnB,OAAO,OAAO,CAAC,kBAAkB,CAAC,CAAA;gBAEtC,KAAK,mCAAmC;oBACpC,OAAO,OAAO,CAAC,mCAAmC,CAAC,CAAA;gBAEvD,KAAK,UAAU;oBACX,OAAO,OAAO,CAAC,UAAU,CAAC,CAAA;gBAE9B;;mBAEG;gBACH,KAAK,OAAO;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;gBAE3B,KAAK,QAAQ;oBACT,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAE5B;;mBAEG;gBACH,KAAK,UAAU;oBACX,OAAO,OAAO,CAAC,UAAU,CAAC,CAAA;gBAE9B;;mBAEG;gBACH,KAAK,IAAI;oBACL,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;gBAExB,KAAK,WAAW;oBACZ,OAAO,OAAO,CAAC,WAAW,CAAC,CAAA;gBAE/B,KAAK,iBAAiB;oBAClB,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAA;gBAErC,KAAK,gCAAgC;oBACjC,OAAO,OAAO,CAAC,gCAAgC,CAAC,CAAA;gBAEpD;;mBAEG;gBACH,KAAK,OAAO;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;gBAE3B,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;gBAE7B;;mBAEG;gBACH,KAAK,gBAAgB;oBACjB,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBAEpC;;mBAEG;gBACH,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;gBAE7B;;mBAEG;gBACH,KAAK,QAAQ;oBACT,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAE5B;;mBAEG;gBACH,KAAK,OAAO;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;gBAE3B;;mBAEG;gBACH,KAAK,6BAA6B;oBAC9B,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAA;YACrD,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,cAAI,CAAC,OAAO,CACvB,OAAO,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAC1C,CAAC,CAAA;QACN,CAAC;QAED,4FAA4F;QAC5F,6FAA6F;QAC7F,8FAA8F;QAC9F,YAAY;QACZ,MAAM,IAAI,SAAS,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAe;QAChC,IAAI,cAAc,GAAG,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvD,OAAO,cAAc,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe;QAC9B,OAAO,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe;QAC9B,OAAO,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAe;QAC5B,OAAO,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAgB;QAChC,OAAO,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,IAAS;QAC7C,YAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAS;QAC1C,OAAO,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,OAAe;QACzB,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAY;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,GAAW;QAC3B,OAAO,IAAA,yBAAS,EAAC,GAAG,EAAE;YAClB,MAAM,EAAE;gBACJ,OAAO,EAAE,eAAI,CAAC,UAAU,CAAC,IAAI;gBAC7B,QAAQ,EAAE,eAAI,CAAC,aAAa,CAAC,IAAI;gBACjC,MAAM,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBACvB,MAAM,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBACvB,UAAU,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBAC3B,OAAO,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBACxB,OAAO,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBACxB,OAAO,EAAE,eAAI,CAAC,IAAI,CAAC,IAAI;gBACvB,KAAK,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;aACzB;SACJ,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,IAAS;QACpC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,MAAc,EAAE,KAAU;QACtC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,OAAY;QACvC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAe;QACtB,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAS;QACjB,OAAO,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAU;QACnB,OAAO,eAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe;QACvB,OAAO,eAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAc,EAAE,GAAS;QACtC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACrC,IAAI,GAAG;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;;AAnPL,sCAoPC;AAnPG;;GAEG;AACI,kBAAI,GAAuB,MAAM,CAAA","file":"PlatformTools.js","sourcesContent":["import ansi from \"ansis\"\r\nimport dotenv from \"dotenv\"\r\nimport fs from \"fs\"\r\nimport path from \"path\"\r\nimport { highlight } from \"sql-highlight\"\r\n\r\nexport { EventEmitter } from \"events\"\r\nexport { ReadStream } from \"fs\"\r\nexport { Readable, Writable } from \"stream\"\r\n\r\n/**\r\n * Platform-specific tools.\r\n */\r\nexport class PlatformTools {\r\n /**\r\n * Type of the currently running platform.\r\n */\r\n static type: \"browser\" | \"node\" = \"node\"\r\n\r\n /**\r\n * Gets global variable where global stuff can be stored.\r\n */\r\n static getGlobalVariable(): any {\r\n return global\r\n }\r\n\r\n /**\r\n * Loads (\"require\"-s) given file or package.\r\n * This operation only supports on node platform\r\n */\r\n static load(name: string): any {\r\n // if name is not absolute or relative, then try to load package from the node_modules of the directory we are currently in\r\n // this is useful when we are using typeorm package globally installed and it accesses drivers\r\n // that are not installed globally\r\n\r\n try {\r\n // switch case to explicit require statements for webpack compatibility.\r\n switch (name) {\r\n /**\r\n * spanner\r\n */\r\n case \"spanner\":\r\n return require(\"@google-cloud/spanner\")\r\n\r\n /**\r\n * mongodb\r\n */\r\n case \"mongodb\":\r\n return require(\"mongodb\")\r\n\r\n /**\r\n * hana\r\n */\r\n case \"@sap/hana-client\":\r\n return require(\"@sap/hana-client\")\r\n\r\n case \"@sap/hana-client/extension/Stream\":\r\n return require(\"@sap/hana-client/extension/Stream\")\r\n\r\n case \"hdb-pool\":\r\n return require(\"hdb-pool\")\r\n\r\n /**\r\n * mysql\r\n */\r\n case \"mysql\":\r\n return require(\"mysql\")\r\n\r\n case \"mysql2\":\r\n return require(\"mysql2\")\r\n\r\n /**\r\n * oracle\r\n */\r\n case \"oracledb\":\r\n return require(\"oracledb\")\r\n\r\n /**\r\n * postgres\r\n */\r\n case \"pg\":\r\n return require(\"pg\")\r\n\r\n case \"pg-native\":\r\n return require(\"pg-native\")\r\n\r\n case \"pg-query-stream\":\r\n return require(\"pg-query-stream\")\r\n\r\n case \"typeorm-aurora-data-api-driver\":\r\n return require(\"typeorm-aurora-data-api-driver\")\r\n\r\n /**\r\n * redis\r\n */\r\n case \"redis\":\r\n return require(\"redis\")\r\n\r\n case \"ioredis\":\r\n return require(\"ioredis\")\r\n\r\n /**\r\n * better-sqlite3\r\n */\r\n case \"better-sqlite3\":\r\n return require(\"better-sqlite3\")\r\n\r\n /**\r\n * sqlite\r\n */\r\n case \"sqlite3\":\r\n return require(\"sqlite3\")\r\n\r\n /**\r\n * sql.js\r\n */\r\n case \"sql.js\":\r\n return require(\"sql.js\")\r\n\r\n /**\r\n * sqlserver\r\n */\r\n case \"mssql\":\r\n return require(\"mssql\")\r\n\r\n /**\r\n * react-native-sqlite\r\n */\r\n case \"react-native-sqlite-storage\":\r\n return require(\"react-native-sqlite-storage\")\r\n }\r\n } catch (err) {\r\n return require(path.resolve(\r\n process.cwd() + \"/node_modules/\" + name,\r\n ))\r\n }\r\n\r\n // If nothing above matched and we get here, the package was not listed within PlatformTools\r\n // and is an Invalid Package. To make it explicit that this is NOT the intended use case for\r\n // PlatformTools.load - it's not just a way to replace `require` all willy-nilly - let's throw\r\n // an error.\r\n throw new TypeError(`Invalid Package for PlatformTools.load: ${name}`)\r\n }\r\n\r\n /**\r\n * Normalizes given path. Does \"path.normalize\" and replaces backslashes with forward slashes on Windows.\r\n */\r\n static pathNormalize(pathStr: string): string {\r\n let normalizedPath = path.normalize(pathStr)\r\n if (process.platform === \"win32\")\r\n normalizedPath = normalizedPath.replace(/\\\\/g, \"/\")\r\n return normalizedPath\r\n }\r\n\r\n /**\r\n * Gets file extension. Does \"path.extname\".\r\n */\r\n static pathExtname(pathStr: string): string {\r\n return path.extname(pathStr)\r\n }\r\n\r\n /**\r\n * Resolved given path. Does \"path.resolve\".\r\n */\r\n static pathResolve(pathStr: string): string {\r\n return path.resolve(pathStr)\r\n }\r\n\r\n /**\r\n * Synchronously checks if file exist. Does \"fs.existsSync\".\r\n */\r\n static fileExist(pathStr: string): boolean {\r\n return fs.existsSync(pathStr)\r\n }\r\n\r\n static readFileSync(filename: string): Buffer {\r\n return fs.readFileSync(filename)\r\n }\r\n\r\n static appendFileSync(filename: string, data: any): void {\r\n fs.appendFileSync(filename, data)\r\n }\r\n\r\n static async writeFile(path: string, data: any): Promise<void> {\r\n return fs.promises.writeFile(path, data)\r\n }\r\n\r\n /**\r\n * Loads a dotenv file into the environment variables.\r\n *\r\n * @param path The file to load as a dotenv configuration\r\n */\r\n static dotenv(pathStr: string): void {\r\n dotenv.config({ path: pathStr })\r\n }\r\n\r\n /**\r\n * Gets environment variable.\r\n */\r\n static getEnvVariable(name: string): any {\r\n return process.env[name]\r\n }\r\n\r\n /**\r\n * Highlights sql string to be printed in the console.\r\n */\r\n static highlightSql(sql: string) {\r\n return highlight(sql, {\r\n colors: {\r\n keyword: ansi.blueBright.open,\r\n function: ansi.magentaBright.open,\r\n number: ansi.green.open,\r\n string: ansi.white.open,\r\n identifier: ansi.white.open,\r\n special: ansi.white.open,\r\n bracket: ansi.white.open,\r\n comment: ansi.gray.open,\r\n clear: ansi.reset.open,\r\n },\r\n })\r\n }\r\n\r\n /**\r\n * Logging functions needed by AdvancedConsoleLogger\r\n */\r\n static logInfo(prefix: string, info: any) {\r\n console.log(ansi.gray.underline(prefix), info)\r\n }\r\n\r\n static logError(prefix: string, error: any) {\r\n console.log(ansi.underline.red(prefix), error)\r\n }\r\n\r\n static logWarn(prefix: string, warning: any) {\r\n console.log(ansi.underline.yellow(prefix), warning)\r\n }\r\n\r\n static log(message: string) {\r\n console.log(ansi.underline(message))\r\n }\r\n\r\n static info(info: any) {\r\n return ansi.gray(info)\r\n }\r\n\r\n static error(error: any) {\r\n return ansi.red(error)\r\n }\r\n\r\n static warn(message: string) {\r\n return ansi.yellow(message)\r\n }\r\n\r\n static logCmdErr(prefix: string, err?: any) {\r\n console.log(ansi.black.bgRed(prefix))\r\n if (err) console.error(err)\r\n }\r\n}\r\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/platform/PlatformTools.ts"],"names":[],"mappings":"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","file":"PlatformTools.js","sourcesContent":["import ansi from \"ansis\"\nimport dotenv from \"dotenv\"\nimport fs from \"fs\"\nimport path from \"path\"\nimport { highlight } from \"sql-highlight\"\n\nexport { EventEmitter } from \"events\"\nexport { ReadStream } from \"fs\"\nexport { Readable, Writable } from \"stream\"\n\n/**\n * Platform-specific tools.\n */\nexport class PlatformTools {\n /**\n * Type of the currently running platform.\n */\n static type: \"browser\" | \"node\" = \"node\"\n\n /**\n * Gets global variable where global stuff can be stored.\n */\n static getGlobalVariable(): any {\n return global\n }\n\n /**\n * Loads (\"require\"-s) given file or package.\n * This operation only supports on node platform\n */\n static load(name: string): any {\n // if name is not absolute or relative, then try to load package from the node_modules of the directory we are currently in\n // this is useful when we are using typeorm package globally installed and it accesses drivers\n // that are not installed globally\n\n try {\n // switch case to explicit require statements for webpack compatibility.\n switch (name) {\n /**\n * spanner\n */\n case \"spanner\":\n return require(\"@google-cloud/spanner\")\n\n /**\n * mongodb\n */\n case \"mongodb\":\n return require(\"mongodb\")\n\n /**\n * hana\n */\n case \"@sap/hana-client\":\n return require(\"@sap/hana-client\")\n\n case \"@sap/hana-client/extension/Stream\":\n return require(\"@sap/hana-client/extension/Stream\")\n\n case \"hdb-pool\":\n return require(\"hdb-pool\")\n\n /**\n * mysql\n */\n case \"mysql\":\n return require(\"mysql\")\n\n case \"mysql2\":\n return require(\"mysql2\")\n\n /**\n * oracle\n */\n case \"oracledb\":\n return require(\"oracledb\")\n\n /**\n * postgres\n */\n case \"pg\":\n return require(\"pg\")\n\n case \"pg-native\":\n return require(\"pg-native\")\n\n case \"pg-query-stream\":\n return require(\"pg-query-stream\")\n\n case \"typeorm-aurora-data-api-driver\":\n return require(\"typeorm-aurora-data-api-driver\")\n\n /**\n * redis\n */\n case \"redis\":\n return require(\"redis\")\n\n case \"ioredis\":\n return require(\"ioredis\")\n\n /**\n * better-sqlite3\n */\n case \"better-sqlite3\":\n return require(\"better-sqlite3\")\n\n /**\n * sqlite\n */\n case \"sqlite3\":\n return require(\"sqlite3\")\n\n /**\n * sql.js\n */\n case \"sql.js\":\n return require(\"sql.js\")\n\n /**\n * sqlserver\n */\n case \"mssql\":\n return require(\"mssql\")\n\n /**\n * react-native-sqlite\n */\n case \"react-native-sqlite-storage\":\n return require(\"react-native-sqlite-storage\")\n }\n } catch (err) {\n return require(path.resolve(\n process.cwd() + \"/node_modules/\" + name,\n ))\n }\n\n // If nothing above matched and we get here, the package was not listed within PlatformTools\n // and is an Invalid Package. To make it explicit that this is NOT the intended use case for\n // PlatformTools.load - it's not just a way to replace `require` all willy-nilly - let's throw\n // an error.\n throw new TypeError(`Invalid Package for PlatformTools.load: ${name}`)\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\" and replaces backslashes with forward slashes on Windows.\n */\n static pathNormalize(pathStr: string): string {\n let normalizedPath = path.normalize(pathStr)\n if (process.platform === \"win32\")\n normalizedPath = normalizedPath.replace(/\\\\/g, \"/\")\n return normalizedPath\n }\n\n /**\n * Gets file extension. Does \"path.extname\".\n */\n static pathExtname(pathStr: string): string {\n return path.extname(pathStr)\n }\n\n /**\n * Resolved given path. Does \"path.resolve\".\n */\n static pathResolve(pathStr: string): string {\n return path.resolve(pathStr)\n }\n\n /**\n * Synchronously checks if file exist. Does \"fs.existsSync\".\n */\n static fileExist(pathStr: string): boolean {\n return fs.existsSync(pathStr)\n }\n\n static readFileSync(filename: string): Buffer {\n return fs.readFileSync(filename)\n }\n\n static appendFileSync(filename: string, data: any): void {\n fs.appendFileSync(filename, data)\n }\n\n static async writeFile(path: string, data: any): Promise<void> {\n return fs.promises.writeFile(path, data)\n }\n\n /**\n * Loads a dotenv file into the environment variables.\n *\n * @param path The file to load as a dotenv configuration\n */\n static dotenv(pathStr: string): void {\n dotenv.config({ path: pathStr })\n }\n\n /**\n * Gets environment variable.\n */\n static getEnvVariable(name: string): any {\n return process.env[name]\n }\n\n /**\n * Highlights sql string to be printed in the console.\n */\n static highlightSql(sql: string) {\n return highlight(sql, {\n colors: {\n keyword: ansi.blueBright.open,\n function: ansi.magentaBright.open,\n number: ansi.green.open,\n string: ansi.white.open,\n identifier: ansi.white.open,\n special: ansi.white.open,\n bracket: ansi.white.open,\n comment: ansi.gray.open,\n clear: ansi.reset.open,\n },\n })\n }\n\n /**\n * Logging functions needed by AdvancedConsoleLogger\n */\n static logInfo(prefix: string, info: any) {\n console.log(ansi.gray.underline(prefix), info)\n }\n\n static logError(prefix: string, error: any) {\n console.log(ansi.underline.red(prefix), error)\n }\n\n static logWarn(prefix: string, warning: any) {\n console.log(ansi.underline.yellow(prefix), warning)\n }\n\n static log(message: string) {\n console.log(ansi.underline(message))\n }\n\n static info(info: any) {\n return ansi.gray(info)\n }\n\n static error(error: any) {\n return ansi.red(error)\n }\n\n static warn(message: string) {\n return ansi.yellow(message)\n }\n\n static logCmdErr(prefix: string, err?: any) {\n console.log(ansi.black.bgRed(prefix))\n if (err) console.error(err)\n }\n}\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/query-builder/Alias.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,oCAAuC;AAEvC;GACG;AACH,MAAa,KAAK;IAgBd,YAAY,KAAa;QACrB,yBAAW,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;IAID,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC/B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAwB;QACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC7B,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,SAAS;YACf,MAAM,IAAI,oBAAY,CAClB,mDAAmD,IAAI,CAAC,IAAI,GAAG,CAClE,CAAA;QAEL,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;CACJ;AA1CD,sBA0CC","file":"Alias.js","sourcesContent":["import { EntityMetadata } from \"../metadata/EntityMetadata\"\r\nimport { ObjectUtils } from \"../util/ObjectUtils\"\r\nimport { TypeORMError } from \"../error\"\r\n\r\n/**\r\n */\r\nexport class Alias {\r\n type: \"from\" | \"select\" | \"join\" | \"other\" // todo: make something with \"other\"\r\n\r\n name: string\r\n\r\n /**\r\n * Table on which this alias is applied.\r\n * Used only for aliases which select custom tables.\r\n */\r\n tablePath?: string\r\n\r\n /**\r\n * If this alias is for sub query.\r\n */\r\n subQuery?: string\r\n\r\n constructor(alias?: Alias) {\r\n ObjectUtils.assign(this, alias || {})\r\n }\r\n\r\n private _metadata?: EntityMetadata\r\n\r\n get target(): Function | string {\r\n return this.metadata.target\r\n }\r\n\r\n get hasMetadata(): boolean {\r\n return !!this._metadata\r\n }\r\n\r\n set metadata(metadata: EntityMetadata) {\r\n this._metadata = metadata\r\n }\r\n\r\n get metadata(): EntityMetadata {\r\n if (!this._metadata)\r\n throw new TypeORMError(\r\n `Cannot get entity metadata for the given alias \"${this.name}\"`,\r\n )\r\n\r\n return this._metadata\r\n }\r\n}\r\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/query-builder/Alias.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,oCAAuC;AAEvC;GACG;AACH,MAAa,KAAK;IAgBd,YAAY,KAAa;QACrB,yBAAW,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;IAID,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC/B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAwB;QACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC7B,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,SAAS;YACf,MAAM,IAAI,oBAAY,CAClB,mDAAmD,IAAI,CAAC,IAAI,GAAG,CAClE,CAAA;QAEL,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;CACJ;AA1CD,sBA0CC","file":"Alias.js","sourcesContent":["import { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { TypeORMError } from \"../error\"\n\n/**\n */\nexport class Alias {\n type: \"from\" | \"select\" | \"join\" | \"other\" // todo: make something with \"other\"\n\n name: string\n\n /**\n * Table on which this alias is applied.\n * Used only for aliases which select custom tables.\n */\n tablePath?: string\n\n /**\n * If this alias is for sub query.\n */\n subQuery?: string\n\n constructor(alias?: Alias) {\n ObjectUtils.assign(this, alias || {})\n }\n\n private _metadata?: EntityMetadata\n\n get target(): Function | string {\n return this.metadata.target\n }\n\n get hasMetadata(): boolean {\n return !!this._metadata\n }\n\n set metadata(metadata: EntityMetadata) {\n this._metadata = metadata\n }\n\n get metadata(): EntityMetadata {\n if (!this._metadata)\n throw new TypeORMError(\n `Cannot get entity metadata for the given alias \"${this.name}\"`,\n )\n\n return this._metadata\n }\n}\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/query-builder/Brackets.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,QAAQ;IAQjB;;OAEG;IACH,YAAY,YAAiD;QAVpD,mBAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAW3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;CACJ;AAdD,4BAcC","file":"Brackets.js","sourcesContent":["import { WhereExpressionBuilder } from \"./WhereExpressionBuilder\"\r\n\r\n/**\r\n * Syntax sugar.\r\n * Allows to use brackets in WHERE expressions for better syntax.\r\n */\r\nexport class Brackets {\r\n readonly \"@instanceof\" = Symbol.for(\"Brackets\")\r\n\r\n /**\r\n * WHERE expression that will be taken into brackets.\r\n */\r\n whereFactory: (qb: WhereExpressionBuilder) => any\r\n\r\n /**\r\n * Given WHERE query builder that will build a WHERE expression that will be taken into brackets.\r\n */\r\n constructor(whereFactory: (qb: WhereExpressionBuilder) => any) {\r\n this.whereFactory = whereFactory\r\n }\r\n}\r\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/query-builder/Brackets.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,QAAQ;IAQjB;;OAEG;IACH,YAAY,YAAiD;QAVpD,mBAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAW3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;CACJ;AAdD,4BAcC","file":"Brackets.js","sourcesContent":["import { WhereExpressionBuilder } from \"./WhereExpressionBuilder\"\n\n/**\n * Syntax sugar.\n * Allows to use brackets in WHERE expressions for better syntax.\n */\nexport class Brackets {\n readonly \"@instanceof\" = Symbol.for(\"Brackets\")\n\n /**\n * WHERE expression that will be taken into brackets.\n */\n whereFactory: (qb: WhereExpressionBuilder) => any\n\n /**\n * Given WHERE query builder that will build a WHERE expression that will be taken into brackets.\n */\n constructor(whereFactory: (qb: WhereExpressionBuilder) => any) {\n this.whereFactory = whereFactory\n }\n}\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/query-builder/DeleteQueryBuilder.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAO7C,wDAAoD;AACpD,sGAAkG;AAClG,6DAAyD;AAEzD;;GAEG;AACH,MAAa,kBACT,SAAQ,2BAAoB;IAK5B,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,YACI,wBAAwD,EACxD,WAAyB;QAEzB,KAAK,CAAC,wBAA+B,EAAE,WAAW,CAAC,CAAA;QAV9C,mBAAa,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAWrD,IAAI,CAAC,aAAa,CAAC,yBAAyB,GAAG,KAAK,CAAA;IACxD,CAAC;IAED,4EAA4E;IAC5E,6BAA6B;IAC7B,4EAA4E;IAE5E;;OAEG;IACH,QAAQ;QACJ,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,GAAG,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACjC,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAA;QACpC,OAAO,IAAI,CAAC,oCAAoC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC5C,IAAI,sBAAsB,GAAY,KAAK,CAAA;QAE3C,IAAI,CAAC;YACD,sCAAsC;YACtC,IACI,IAAI,CAAC,aAAa,CAAC,cAAc,KAAK,IAAI;gBAC1C,WAAW,CAAC,mBAAmB,KAAK,KAAK,EAC3C,CAAC;gBACC,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAA;gBACpC,sBAAsB,GAAG,IAAI,CAAA;YACjC,CAAC;YAED,4DAA4D;YAC5D,IACI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI;gBACzC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C,CAAC;gBACC,MAAM,WAAW,CAAC,WAAW,CAAC,SAAS,CACnC,cAAc,EACd,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CACzC,CAAA;YACL,CAAC;YAED,gBAAgB;YAChB,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;YAClE,MAAM,YAAY,GAAG,2BAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAEnD,2DAA2D;YAC3D,IACI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI;gBACzC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C,CAAC;gBACC,MAAM,WAAW,CAAC,WAAW,CAAC,SAAS,CACnC,aAAa,EACb,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CACzC,CAAA;YACL,CAAC;YAED,qCAAqC;YACrC,IAAI,sBAAsB;gBAAE,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAA;YAEjE,OAAO,YAAY,CAAA;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,wCAAwC;YACxC,IAAI,sBAAsB,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACD,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAA;gBAC3C,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC,CAAA,CAAC;YAC9B,CAAC;YACD,MAAM,KAAK,CAAA;QACf,CAAC;gBAAS,CAAC;YACP,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,wCAAwC;gBACxC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;YAC/B,CAAC;QACL,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;;OAGG;IACH,IAAI,CACA,YAA6B,EAC7B,SAAkB;QAElB,YAAY,GAAG,iCAAe,CAAC,cAAc,CAAC,YAAY,CAAC;YACvD,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI;YAC3B,CAAC,CAAC,YAAY,CAAA;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAC/D,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC1C,OAAO,IAAoC,CAAA;IAC/C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CACD,KAKqB,EACrB,UAA0B;QAE1B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE,CAAA,CAAC,oFAAoF;QACnH,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAC/C,IAAI,SAAS;YACT,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG;gBACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;aAC3C,CAAA;QACL,IAAI,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,QAAQ,CACJ,KAKqB,EACrB,UAA0B;QAE1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SAC3C,CAAC,CAAA;QACF,IAAI,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,OAAO,CACH,KAKqB,EACrB,UAA0B;QAE1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SAC3C,CAAC,CAAA;QACF,IAAI,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAgB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAA;IACvD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,GAAgB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,CAAC;IAkBD;;OAEG;IACH,MAAM,CAAC,MAAyB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAmBD;;OAEG;IACH,SAAS,CAAC,SAA4B;QAClC,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,yEAAmC,EAAE,CAAA;QACnD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAA;QACxC,OAAO,IAAI,CAAA;IACf,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,sBAAsB;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA;QAEpE,IAAI,mBAAmB,KAAK,EAAE,EAAE,CAAC;YAC7B,OAAO,eAAe,SAAS,GAAG,eAAe,EAAE,CAAA;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClD,OAAO,eAAe,SAAS,WAAW,mBAAmB,GAAG,eAAe,EAAE,CAAA;QACrF,CAAC;QACD,OAAO,eAAe,SAAS,GAAG,eAAe,cAAc,mBAAmB,EAAE,CAAA;IACxF,CAAC;CACJ;AAvRD,gDAuRC","file":"DeleteQueryBuilder.js","sourcesContent":["import { QueryBuilder } from \"./QueryBuilder\"\r\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\r\nimport { EntityTarget } from \"../common/EntityTarget\"\r\nimport { DataSource } from \"../data-source/DataSource\"\r\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\r\nimport { WhereExpressionBuilder } from \"./WhereExpressionBuilder\"\r\nimport { Brackets } from \"./Brackets\"\r\nimport { DeleteResult } from \"./result/DeleteResult\"\r\nimport { ReturningStatementNotSupportedError } from \"../error/ReturningStatementNotSupportedError\"\r\nimport { InstanceChecker } from \"../util/InstanceChecker\"\r\n\r\n/**\r\n * Allows to build complex sql queries in a fashion way and execute those queries.\r\n */\r\nexport class DeleteQueryBuilder<Entity extends ObjectLiteral>\r\n extends QueryBuilder<Entity>\r\n implements WhereExpressionBuilder\r\n{\r\n readonly \"@instanceof\" = Symbol.for(\"DeleteQueryBuilder\")\r\n\r\n // -------------------------------------------------------------------------\r\n // Constructor\r\n // -------------------------------------------------------------------------\r\n\r\n constructor(\r\n connectionOrQueryBuilder: DataSource | QueryBuilder<any>,\r\n queryRunner?: QueryRunner,\r\n ) {\r\n super(connectionOrQueryBuilder as any, queryRunner)\r\n this.expressionMap.aliasNamePrefixingEnabled = false\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Implemented Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Gets generated SQL query without parameters being replaced.\r\n */\r\n getQuery(): string {\r\n let sql = this.createComment()\r\n sql += this.createCteExpression()\r\n sql += this.createDeleteExpression()\r\n return this.replacePropertyNamesForTheWholeQuery(sql.trim())\r\n }\r\n\r\n /**\r\n * Executes sql generated by query builder and returns raw database results.\r\n */\r\n async execute(): Promise<DeleteResult> {\r\n const [sql, parameters] = this.getQueryAndParameters()\r\n const queryRunner = this.obtainQueryRunner()\r\n let transactionStartedByUs: boolean = false\r\n\r\n try {\r\n // start transaction if it was enabled\r\n if (\r\n this.expressionMap.useTransaction === true &&\r\n queryRunner.isTransactionActive === false\r\n ) {\r\n await queryRunner.startTransaction()\r\n transactionStartedByUs = true\r\n }\r\n\r\n // call before deletion methods in listeners and subscribers\r\n if (\r\n this.expressionMap.callListeners === true &&\r\n this.expressionMap.mainAlias!.hasMetadata\r\n ) {\r\n await queryRunner.broadcaster.broadcast(\r\n \"BeforeRemove\",\r\n this.expressionMap.mainAlias!.metadata,\r\n )\r\n }\r\n\r\n // execute query\r\n const queryResult = await queryRunner.query(sql, parameters, true)\r\n const deleteResult = DeleteResult.from(queryResult)\r\n\r\n // call after deletion methods in listeners and subscribers\r\n if (\r\n this.expressionMap.callListeners === true &&\r\n this.expressionMap.mainAlias!.hasMetadata\r\n ) {\r\n await queryRunner.broadcaster.broadcast(\r\n \"AfterRemove\",\r\n this.expressionMap.mainAlias!.metadata,\r\n )\r\n }\r\n\r\n // close transaction if we started it\r\n if (transactionStartedByUs) await queryRunner.commitTransaction()\r\n\r\n return deleteResult\r\n } catch (error) {\r\n // rollback transaction if we started it\r\n if (transactionStartedByUs) {\r\n try {\r\n await queryRunner.rollbackTransaction()\r\n } catch (rollbackError) {}\r\n }\r\n throw error\r\n } finally {\r\n if (queryRunner !== this.queryRunner) {\r\n // means we created our own query runner\r\n await queryRunner.release()\r\n }\r\n }\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Specifies FROM which entity's table select/update/delete will be executed.\r\n * Also sets a main string alias of the selection data.\r\n */\r\n from<T extends ObjectLiteral>(\r\n entityTarget: EntityTarget<T>,\r\n aliasName?: string,\r\n ): DeleteQueryBuilder<T> {\r\n entityTarget = InstanceChecker.isEntitySchema(entityTarget)\r\n ? entityTarget.options.name\r\n : entityTarget\r\n const mainAlias = this.createFromAlias(entityTarget, aliasName)\r\n this.expressionMap.setMainAlias(mainAlias)\r\n return this as any as DeleteQueryBuilder<T>\r\n }\r\n\r\n /**\r\n * Sets WHERE condition in the query builder.\r\n * If you had previously WHERE expression defined,\r\n * calling this function will override previously set WHERE conditions.\r\n * Additionally you can add parameters used in where expression.\r\n */\r\n where(\r\n where:\r\n | Brackets\r\n | string\r\n | ((qb: this) => string)\r\n | ObjectLiteral\r\n | ObjectLiteral[],\r\n parameters?: ObjectLiteral,\r\n ): this {\r\n this.expressionMap.wheres = [] // don't move this block below since computeWhereParameter can add where expressions\r\n const condition = this.getWhereCondition(where)\r\n if (condition)\r\n this.expressionMap.wheres = [\r\n { type: \"simple\", condition: condition },\r\n ]\r\n if (parameters) this.setParameters(parameters)\r\n return this\r\n }\r\n\r\n /**\r\n * Adds new AND WHERE condition in the query builder.\r\n * Additionally you can add parameters used in where expression.\r\n */\r\n andWhere(\r\n where:\r\n | Brackets\r\n | string\r\n | ((qb: this) => string)\r\n | ObjectLiteral\r\n | ObjectLiteral[],\r\n parameters?: ObjectLiteral,\r\n ): this {\r\n this.expressionMap.wheres.push({\r\n type: \"and\",\r\n condition: this.getWhereCondition(where),\r\n })\r\n if (parameters) this.setParameters(parameters)\r\n return this\r\n }\r\n\r\n /**\r\n * Adds new OR WHERE condition in the query builder.\r\n * Additionally you can add parameters used in where expression.\r\n */\r\n orWhere(\r\n where:\r\n | Brackets\r\n | string\r\n | ((qb: this) => string)\r\n | ObjectLiteral\r\n | ObjectLiteral[],\r\n parameters?: ObjectLiteral,\r\n ): this {\r\n this.expressionMap.wheres.push({\r\n type: \"or\",\r\n condition: this.getWhereCondition(where),\r\n })\r\n if (parameters) this.setParameters(parameters)\r\n return this\r\n }\r\n\r\n /**\r\n * Sets WHERE condition in the query builder with a condition for the given ids.\r\n * If you had previously WHERE expression defined,\r\n * calling this function will override previously set WHERE conditions.\r\n */\r\n whereInIds(ids: any | any[]): this {\r\n return this.where(this.getWhereInIdsCondition(ids))\r\n }\r\n\r\n /**\r\n * Adds new AND WHERE with conditions for the given ids.\r\n */\r\n andWhereInIds(ids: any | any[]): this {\r\n return this.andWhere(this.getWhereInIdsCondition(ids))\r\n }\r\n\r\n /**\r\n * Adds new OR WHERE with conditions for the given ids.\r\n */\r\n orWhereInIds(ids: any | any[]): this {\r\n return this.orWhere(this.getWhereInIdsCondition(ids))\r\n }\r\n /**\r\n * Optional returning/output clause.\r\n * This will return given column values.\r\n */\r\n output(columns: string[]): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n * Returning is a SQL string containing returning statement.\r\n */\r\n output(output: string): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n */\r\n output(output: string | string[]): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n */\r\n output(output: string | string[]): this {\r\n return this.returning(output)\r\n }\r\n\r\n /**\r\n * Optional returning/output clause.\r\n * This will return given column values.\r\n */\r\n returning(columns: string[]): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n * Returning is a SQL string containing returning statement.\r\n */\r\n returning(returning: string): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n */\r\n returning(returning: string | string[]): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n */\r\n returning(returning: string | string[]): this {\r\n // not all databases support returning/output cause\r\n if (!this.connection.driver.isReturningSqlSupported(\"delete\")) {\r\n throw new ReturningStatementNotSupportedError()\r\n }\r\n\r\n this.expressionMap.returning = returning\r\n return this\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Protected Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Creates DELETE express used to perform query.\r\n */\r\n protected createDeleteExpression() {\r\n const tableName = this.getTableName(this.getMainTableName())\r\n const whereExpression = this.createWhereExpression()\r\n const returningExpression = this.createReturningExpression(\"delete\")\r\n\r\n if (returningExpression === \"\") {\r\n return `DELETE FROM ${tableName}${whereExpression}`\r\n }\r\n if (this.connection.driver.options.type === \"mssql\") {\r\n return `DELETE FROM ${tableName} OUTPUT ${returningExpression}${whereExpression}`\r\n }\r\n return `DELETE FROM ${tableName}${whereExpression} RETURNING ${returningExpression}`\r\n }\r\n}\r\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/query-builder/DeleteQueryBuilder.ts"],"names":[],"mappings":"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","file":"DeleteQueryBuilder.js","sourcesContent":["import { QueryBuilder } from \"./QueryBuilder\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { EntityTarget } from \"../common/EntityTarget\"\nimport { DataSource } from \"../data-source/DataSource\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { WhereExpressionBuilder } from \"./WhereExpressionBuilder\"\nimport { Brackets } from \"./Brackets\"\nimport { DeleteResult } from \"./result/DeleteResult\"\nimport { ReturningStatementNotSupportedError } from \"../error/ReturningStatementNotSupportedError\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport class DeleteQueryBuilder<Entity extends ObjectLiteral>\n extends QueryBuilder<Entity>\n implements WhereExpressionBuilder\n{\n readonly \"@instanceof\" = Symbol.for(\"DeleteQueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n connectionOrQueryBuilder: DataSource | QueryBuilder<any>,\n queryRunner?: QueryRunner,\n ) {\n super(connectionOrQueryBuilder as any, queryRunner)\n this.expressionMap.aliasNamePrefixingEnabled = false\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n getQuery(): string {\n let sql = this.createComment()\n sql += this.createCteExpression()\n sql += this.createDeleteExpression()\n return this.replacePropertyNamesForTheWholeQuery(sql.trim())\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<DeleteResult> {\n const [sql, parameters] = this.getQueryAndParameters()\n const queryRunner = this.obtainQueryRunner()\n let transactionStartedByUs: boolean = false\n\n try {\n // start transaction if it was enabled\n if (\n this.expressionMap.useTransaction === true &&\n queryRunner.isTransactionActive === false\n ) {\n await queryRunner.startTransaction()\n transactionStartedByUs = true\n }\n\n // call before deletion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n await queryRunner.broadcaster.broadcast(\n \"BeforeRemove\",\n this.expressionMap.mainAlias!.metadata,\n )\n }\n\n // execute query\n const queryResult = await queryRunner.query(sql, parameters, true)\n const deleteResult = DeleteResult.from(queryResult)\n\n // call after deletion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n await queryRunner.broadcaster.broadcast(\n \"AfterRemove\",\n this.expressionMap.mainAlias!.metadata,\n )\n }\n\n // close transaction if we started it\n if (transactionStartedByUs) await queryRunner.commitTransaction()\n\n return deleteResult\n } catch (error) {\n // rollback transaction if we started it\n if (transactionStartedByUs) {\n try {\n await queryRunner.rollbackTransaction()\n } catch (rollbackError) {}\n }\n throw error\n } finally {\n if (queryRunner !== this.queryRunner) {\n // means we created our own query runner\n await queryRunner.release()\n }\n }\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Specifies FROM which entity's table select/update/delete will be executed.\n * Also sets a main string alias of the selection data.\n */\n from<T extends ObjectLiteral>(\n entityTarget: EntityTarget<T>,\n aliasName?: string,\n ): DeleteQueryBuilder<T> {\n entityTarget = InstanceChecker.isEntitySchema(entityTarget)\n ? entityTarget.options.name\n : entityTarget\n const mainAlias = this.createFromAlias(entityTarget, aliasName)\n this.expressionMap.setMainAlias(mainAlias)\n return this as any as DeleteQueryBuilder<T>\n }\n\n /**\n * Sets WHERE condition in the query builder.\n * If you had previously WHERE expression defined,\n * calling this function will override previously set WHERE conditions.\n * Additionally you can add parameters used in where expression.\n */\n where(\n where:\n | Brackets\n | string\n | ((qb: this) => string)\n | ObjectLiteral\n | ObjectLiteral[],\n parameters?: ObjectLiteral,\n ): this {\n this.expressionMap.wheres = [] // don't move this block below since computeWhereParameter can add where expressions\n const condition = this.getWhereCondition(where)\n if (condition)\n this.expressionMap.wheres = [\n { type: \"simple\", condition: condition },\n ]\n if (parameters) this.setParameters(parameters)\n return this\n }\n\n /**\n * Adds new AND WHERE condition in the query builder.\n * Additionally you can add parameters used in where expression.\n */\n andWhere(\n where:\n | Brackets\n | string\n | ((qb: this) => string)\n | ObjectLiteral\n | ObjectLiteral[],\n parameters?: ObjectLiteral,\n ): this {\n this.expressionMap.wheres.push({\n type: \"and\",\n condition: this.getWhereCondition(where),\n })\n if (parameters) this.setParameters(parameters)\n return this\n }\n\n /**\n * Adds new OR WHERE condition in the query builder.\n * Additionally you can add parameters used in where expression.\n */\n orWhere(\n where:\n | Brackets\n | string\n | ((qb: this) => string)\n | ObjectLiteral\n | ObjectLiteral[],\n parameters?: ObjectLiteral,\n ): this {\n this.expressionMap.wheres.push({\n type: \"or\",\n condition: this.getWhereCondition(where),\n })\n if (parameters) this.setParameters(parameters)\n return this\n }\n\n /**\n * Sets WHERE condition in the query builder with a condition for the given ids.\n * If you had previously WHERE expression defined,\n * calling this function will override previously set WHERE conditions.\n */\n whereInIds(ids: any | any[]): this {\n return this.where(this.getWhereInIdsCondition(ids))\n }\n\n /**\n * Adds new AND WHERE with conditions for the given ids.\n */\n andWhereInIds(ids: any | any[]): this {\n return this.andWhere(this.getWhereInIdsCondition(ids))\n }\n\n /**\n * Adds new OR WHERE with conditions for the given ids.\n */\n orWhereInIds(ids: any | any[]): this {\n return this.orWhere(this.getWhereInIdsCondition(ids))\n }\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n output(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n output(output: string): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this {\n return this.returning(output)\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n returning(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n returning(returning: string): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this {\n // not all databases support returning/output cause\n if (!this.connection.driver.isReturningSqlSupported(\"delete\")) {\n throw new ReturningStatementNotSupportedError()\n }\n\n this.expressionMap.returning = returning\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates DELETE express used to perform query.\n */\n protected createDeleteExpression() {\n const tableName = this.getTableName(this.getMainTableName())\n const whereExpression = this.createWhereExpression()\n const returningExpression = this.createReturningExpression(\"delete\")\n\n if (returningExpression === \"\") {\n return `DELETE FROM ${tableName}${whereExpression}`\n }\n if (this.connection.driver.options.type === \"mssql\") {\n return `DELETE FROM ${tableName} OUTPUT ${returningExpression}${whereExpression}`\n }\n return `DELETE FROM ${tableName}${whereExpression} RETURNING ${returningExpression}`\n }\n}\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/query-builder/InsertOrUpdateOptions.ts"],"names":[],"mappings":"","file":"InsertOrUpdateOptions.js","sourcesContent":["import { UpsertType } from \"../driver/types/UpsertType\"\r\n\r\nexport type InsertOrUpdateOptions = {\r\n /**\r\n * If true, postgres will skip the update if no values would be changed (reduces writes)\r\n */\r\n skipUpdateIfNoValuesChanged?: boolean\r\n /**\r\n * If included, postgres will apply the index predicate to a conflict target (partial index)\r\n */\r\n indexPredicate?: string\r\n upsertType?: UpsertType\r\n}\r\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/query-builder/InsertOrUpdateOptions.ts"],"names":[],"mappings":"","file":"InsertOrUpdateOptions.js","sourcesContent":["import { UpsertType } from \"../driver/types/UpsertType\"\n\nexport type InsertOrUpdateOptions = {\n /**\n * If true, postgres will skip the update if no values would be changed (reduces writes)\n */\n skipUpdateIfNoValuesChanged?: boolean\n /**\n * If included, postgres will apply the index predicate to a conflict target (partial index)\n */\n indexPredicate?: string\n upsertType?: UpsertType\n}\n"],"sourceRoot":".."}