typeorm 0.3.29-dev.cc07c90 → 1.0.0-beta.1

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 (2906) hide show
  1. package/README.md +67 -74
  2. package/browser/cache/DbQueryResultCache.d.ts +17 -6
  3. package/browser/cache/DbQueryResultCache.js +46 -32
  4. package/browser/cache/DbQueryResultCache.js.map +1 -1
  5. package/browser/cache/QueryResultCache.d.ts +2 -2
  6. package/browser/cache/QueryResultCache.js +3 -3
  7. package/browser/cache/QueryResultCache.js.map +1 -1
  8. package/browser/cache/QueryResultCacheFactory.d.ts +4 -4
  9. package/browser/cache/QueryResultCacheFactory.js +17 -14
  10. package/browser/cache/QueryResultCacheFactory.js.map +1 -1
  11. package/browser/cache/QueryResultCacheOptions.js +3 -3
  12. package/browser/cache/QueryResultCacheOptions.js.map +1 -1
  13. package/browser/cache/RedisQueryResultCache.d.ts +18 -19
  14. package/browser/cache/RedisQueryResultCache.js +54 -130
  15. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  16. package/browser/cli-ts-node-commonjs.js +4 -3
  17. package/browser/cli-ts-node-commonjs.js.map +1 -1
  18. package/browser/cli-ts-node-esm.js +5 -4
  19. package/browser/cli-ts-node-esm.js.map +1 -1
  20. package/browser/common/DeepPartial.js +3 -3
  21. package/browser/common/DeepPartial.js.map +1 -1
  22. package/browser/common/EntityTarget.d.ts +2 -2
  23. package/browser/common/EntityTarget.js +3 -3
  24. package/browser/common/EntityTarget.js.map +1 -1
  25. package/browser/common/MixedList.js +3 -3
  26. package/browser/common/MixedList.js.map +1 -1
  27. package/browser/common/NonNever.d.ts +1 -1
  28. package/browser/common/NonNever.js +3 -3
  29. package/browser/common/NonNever.js.map +1 -1
  30. package/browser/common/ObjectLiteral.js +3 -3
  31. package/browser/common/ObjectLiteral.js.map +1 -1
  32. package/browser/common/ObjectType.js +3 -3
  33. package/browser/common/ObjectType.js.map +1 -1
  34. package/browser/common/PickKeysByType.js +3 -3
  35. package/browser/common/PickKeysByType.js.map +1 -1
  36. package/browser/common/PrimitiveCriteria.js +3 -3
  37. package/browser/common/PrimitiveCriteria.js.map +1 -1
  38. package/browser/common/RelationType.d.ts +5 -5
  39. package/browser/common/RelationType.js +3 -3
  40. package/browser/common/RelationType.js.map +1 -1
  41. package/browser/connection/ConnectionMetadataBuilder.d.ts +10 -7
  42. package/browser/connection/ConnectionMetadataBuilder.js +32 -27
  43. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  44. package/browser/connection/ConnectionOptionsReader.d.ts +3 -11
  45. package/browser/connection/ConnectionOptionsReader.js +43 -71
  46. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  47. package/browser/data-source/BaseDataSourceOptions.d.ts +13 -20
  48. package/browser/data-source/BaseDataSourceOptions.js +3 -3
  49. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  50. package/browser/data-source/DataSource.d.ts +50 -61
  51. package/browser/data-source/DataSource.js +107 -114
  52. package/browser/data-source/DataSource.js.map +1 -1
  53. package/browser/data-source/DataSourceOptions.d.ts +18 -19
  54. package/browser/data-source/DataSourceOptions.js +3 -3
  55. package/browser/data-source/DataSourceOptions.js.map +1 -1
  56. package/browser/data-source/index.d.ts +1 -1
  57. package/browser/data-source/index.js +5 -4
  58. package/browser/data-source/index.js.map +1 -1
  59. package/browser/decorator/Check.d.ts +3 -0
  60. package/browser/decorator/Check.js +11 -7
  61. package/browser/decorator/Check.js.map +1 -1
  62. package/browser/decorator/Exclusion.d.ts +8 -2
  63. package/browser/decorator/Exclusion.js +17 -9
  64. package/browser/decorator/Exclusion.js.map +1 -1
  65. package/browser/decorator/ForeignKey.d.ts +11 -2
  66. package/browser/decorator/ForeignKey.js +14 -8
  67. package/browser/decorator/ForeignKey.js.map +1 -1
  68. package/browser/decorator/Generated.d.ts +1 -0
  69. package/browser/decorator/Generated.js +8 -5
  70. package/browser/decorator/Generated.js.map +1 -1
  71. package/browser/decorator/Index.d.ts +17 -1
  72. package/browser/decorator/Index.js +14 -8
  73. package/browser/decorator/Index.js.map +1 -1
  74. package/browser/decorator/Unique.d.ts +11 -1
  75. package/browser/decorator/Unique.js +13 -8
  76. package/browser/decorator/Unique.js.map +1 -1
  77. package/browser/decorator/columns/Column.d.ts +31 -10
  78. package/browser/decorator/columns/Column.js +14 -10
  79. package/browser/decorator/columns/Column.js.map +1 -1
  80. package/browser/decorator/columns/CreateDateColumn.d.ts +2 -1
  81. package/browser/decorator/columns/CreateDateColumn.js +8 -5
  82. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  83. package/browser/decorator/columns/DeleteDateColumn.d.ts +2 -1
  84. package/browser/decorator/columns/DeleteDateColumn.js +8 -5
  85. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  86. package/browser/decorator/columns/ObjectIdColumn.d.ts +2 -1
  87. package/browser/decorator/columns/ObjectIdColumn.js +8 -5
  88. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  89. package/browser/decorator/columns/PrimaryColumn.d.ts +5 -2
  90. package/browser/decorator/columns/PrimaryColumn.js +14 -10
  91. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  92. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +10 -3
  93. package/browser/decorator/columns/PrimaryGeneratedColumn.js +13 -9
  94. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  95. package/browser/decorator/columns/UpdateDateColumn.d.ts +2 -1
  96. package/browser/decorator/columns/UpdateDateColumn.js +8 -5
  97. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  98. package/browser/decorator/columns/VersionColumn.d.ts +2 -1
  99. package/browser/decorator/columns/VersionColumn.js +8 -5
  100. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  101. package/browser/decorator/columns/ViewColumn.d.ts +2 -1
  102. package/browser/decorator/columns/ViewColumn.js +8 -5
  103. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  104. package/browser/decorator/columns/VirtualColumn.d.ts +5 -2
  105. package/browser/decorator/columns/VirtualColumn.js +11 -7
  106. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  107. package/browser/decorator/entity/ChildEntity.d.ts +1 -0
  108. package/browser/decorator/entity/ChildEntity.js +9 -6
  109. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  110. package/browser/decorator/entity/Entity.d.ts +4 -1
  111. package/browser/decorator/entity/Entity.js +11 -7
  112. package/browser/decorator/entity/Entity.js.map +1 -1
  113. package/browser/decorator/entity/TableInheritance.d.ts +4 -1
  114. package/browser/decorator/entity/TableInheritance.js +10 -5
  115. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  116. package/browser/decorator/entity-view/ViewEntity.d.ts +4 -1
  117. package/browser/decorator/entity-view/ViewEntity.js +11 -7
  118. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  119. package/browser/decorator/listeners/AfterInsert.js +9 -7
  120. package/browser/decorator/listeners/AfterInsert.js.map +1 -1
  121. package/browser/decorator/listeners/AfterLoad.js +9 -7
  122. package/browser/decorator/listeners/AfterLoad.js.map +1 -1
  123. package/browser/decorator/listeners/AfterRecover.js +9 -7
  124. package/browser/decorator/listeners/AfterRecover.js.map +1 -1
  125. package/browser/decorator/listeners/AfterRemove.js +9 -7
  126. package/browser/decorator/listeners/AfterRemove.js.map +1 -1
  127. package/browser/decorator/listeners/AfterSoftRemove.js +9 -7
  128. package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -1
  129. package/browser/decorator/listeners/AfterUpdate.js +9 -7
  130. package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
  131. package/browser/decorator/listeners/BeforeInsert.js +9 -7
  132. package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
  133. package/browser/decorator/listeners/BeforeRecover.js +9 -7
  134. package/browser/decorator/listeners/BeforeRecover.js.map +1 -1
  135. package/browser/decorator/listeners/BeforeRemove.js +9 -7
  136. package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
  137. package/browser/decorator/listeners/BeforeSoftRemove.js +9 -7
  138. package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  139. package/browser/decorator/listeners/BeforeUpdate.js +9 -7
  140. package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
  141. package/browser/decorator/listeners/EventSubscriber.js +7 -5
  142. package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
  143. package/browser/decorator/options/ColumnCommonOptions.d.ts +2 -2
  144. package/browser/decorator/options/ColumnCommonOptions.js +3 -3
  145. package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
  146. package/browser/decorator/options/ColumnEmbeddedOptions.js +3 -3
  147. package/browser/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  148. package/browser/decorator/options/ColumnEnumOptions.js +3 -3
  149. package/browser/decorator/options/ColumnEnumOptions.js.map +1 -1
  150. package/browser/decorator/options/ColumnHstoreOptions.js +3 -3
  151. package/browser/decorator/options/ColumnHstoreOptions.js.map +1 -1
  152. package/browser/decorator/options/ColumnNumericOptions.d.ts +0 -16
  153. package/browser/decorator/options/ColumnNumericOptions.js +3 -3
  154. package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
  155. package/browser/decorator/options/ColumnOptions.d.ts +8 -33
  156. package/browser/decorator/options/ColumnOptions.js +3 -3
  157. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  158. package/browser/decorator/options/ColumnUnsignedOptions.d.ts +1 -20
  159. package/browser/decorator/options/ColumnUnsignedOptions.js +3 -3
  160. package/browser/decorator/options/ColumnUnsignedOptions.js.map +1 -1
  161. package/browser/decorator/options/ColumnWithLengthOptions.js +3 -3
  162. package/browser/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  163. package/browser/decorator/options/EntityOptions.d.ts +1 -1
  164. package/browser/decorator/options/EntityOptions.js +3 -3
  165. package/browser/decorator/options/EntityOptions.js.map +1 -1
  166. package/browser/decorator/options/ExclusionOptions.d.ts +10 -0
  167. package/{connection/ConnectionOptions.js → browser/decorator/options/ExclusionOptions.js} +1 -2
  168. package/browser/decorator/options/ExclusionOptions.js.map +1 -0
  169. package/browser/decorator/options/ForeignKeyOptions.d.ts +3 -3
  170. package/browser/decorator/options/ForeignKeyOptions.js +3 -3
  171. package/browser/decorator/options/ForeignKeyOptions.js.map +1 -1
  172. package/browser/decorator/options/IndexOptions.d.ts +7 -0
  173. package/browser/decorator/options/IndexOptions.js +3 -3
  174. package/browser/decorator/options/IndexOptions.js.map +1 -1
  175. package/browser/decorator/options/JoinColumnOptions.js +3 -3
  176. package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
  177. package/browser/decorator/options/JoinTableMultipleColumnsOptions.d.ts +1 -1
  178. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +3 -3
  179. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  180. package/browser/decorator/options/JoinTableOptions.d.ts +1 -1
  181. package/browser/decorator/options/JoinTableOptions.js +3 -3
  182. package/browser/decorator/options/JoinTableOptions.js.map +1 -1
  183. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +1 -1
  184. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -3
  185. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  186. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +1 -9
  187. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +3 -3
  188. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  189. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +3 -3
  190. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  191. package/browser/decorator/options/RelationOptions.d.ts +3 -3
  192. package/browser/decorator/options/RelationOptions.js +3 -3
  193. package/browser/decorator/options/RelationOptions.js.map +1 -1
  194. package/browser/decorator/options/SpatialColumnOptions.d.ts +1 -1
  195. package/browser/decorator/options/SpatialColumnOptions.js +3 -3
  196. package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
  197. package/browser/decorator/options/TransactionOptions.d.ts +1 -1
  198. package/browser/decorator/options/TransactionOptions.js +3 -3
  199. package/browser/decorator/options/TransactionOptions.js.map +1 -1
  200. package/browser/decorator/options/UniqueOptions.d.ts +1 -1
  201. package/browser/decorator/options/UniqueOptions.js +3 -3
  202. package/browser/decorator/options/UniqueOptions.js.map +1 -1
  203. package/browser/decorator/options/ValueTransformer.js +3 -3
  204. package/browser/decorator/options/ValueTransformer.js.map +1 -1
  205. package/browser/decorator/options/ViewColumnOptions.d.ts +1 -1
  206. package/browser/decorator/options/ViewColumnOptions.js +3 -3
  207. package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
  208. package/browser/decorator/options/ViewEntityOptions.d.ts +3 -2
  209. package/browser/decorator/options/ViewEntityOptions.js +3 -3
  210. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  211. package/browser/decorator/options/VirtualColumnOptions.d.ts +3 -3
  212. package/browser/decorator/options/VirtualColumnOptions.js +3 -3
  213. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  214. package/browser/decorator/relations/JoinColumn.d.ts +3 -1
  215. package/browser/decorator/relations/JoinColumn.js +8 -5
  216. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  217. package/browser/decorator/relations/JoinTable.d.ts +4 -2
  218. package/browser/decorator/relations/JoinTable.js +8 -5
  219. package/browser/decorator/relations/JoinTable.js.map +1 -1
  220. package/browser/decorator/relations/ManyToMany.d.ts +7 -2
  221. package/browser/decorator/relations/ManyToMany.js +12 -7
  222. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  223. package/browser/decorator/relations/ManyToOne.d.ts +7 -2
  224. package/browser/decorator/relations/ManyToOne.js +12 -7
  225. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  226. package/browser/decorator/relations/OneToMany.d.ts +5 -2
  227. package/browser/decorator/relations/OneToMany.js +10 -5
  228. package/browser/decorator/relations/OneToMany.js.map +1 -1
  229. package/browser/decorator/relations/OneToOne.d.ts +7 -2
  230. package/browser/decorator/relations/OneToOne.js +12 -7
  231. package/browser/decorator/relations/OneToOne.js.map +1 -1
  232. package/browser/decorator/relations/RelationId.d.ts +4 -2
  233. package/browser/decorator/relations/RelationId.js +10 -6
  234. package/browser/decorator/relations/RelationId.js.map +1 -1
  235. package/browser/decorator/tree/Tree.d.ts +6 -4
  236. package/browser/decorator/tree/Tree.js +11 -7
  237. package/browser/decorator/tree/Tree.js.map +1 -1
  238. package/browser/decorator/tree/TreeChildren.d.ts +2 -0
  239. package/browser/decorator/tree/TreeChildren.js +9 -5
  240. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  241. package/browser/decorator/tree/TreeLevelColumn.js +7 -5
  242. package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
  243. package/browser/decorator/tree/TreeParent.d.ts +3 -1
  244. package/browser/decorator/tree/TreeParent.js +9 -5
  245. package/browser/decorator/tree/TreeParent.js.map +1 -1
  246. package/browser/driver/Driver.d.ts +32 -21
  247. package/browser/driver/Driver.js +3 -3
  248. package/browser/driver/Driver.js.map +1 -1
  249. package/browser/driver/DriverFactory.d.ts +5 -3
  250. package/browser/driver/DriverFactory.js +61 -60
  251. package/browser/driver/DriverFactory.js.map +1 -1
  252. package/browser/driver/DriverUtils.d.ts +13 -11
  253. package/browser/driver/DriverUtils.js +28 -30
  254. package/browser/driver/DriverUtils.js.map +1 -1
  255. package/browser/driver/Query.js +6 -3
  256. package/browser/driver/Query.js.map +1 -1
  257. package/browser/driver/SqlInMemory.d.ts +1 -1
  258. package/browser/driver/SqlInMemory.js +6 -3
  259. package/browser/driver/SqlInMemory.js.map +1 -1
  260. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +0 -1
  261. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +3 -3
  262. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  263. package/{driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts → browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts} +4 -5
  264. package/{driver/cockroachdb/CockroachConnectionOptions.js → browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js} +1 -2
  265. package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -0
  266. package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +66 -28
  267. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +113 -97
  268. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  269. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +168 -32
  270. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +404 -290
  271. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  272. package/{driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts → browser/driver/aurora-postgres/AuroraPostgresDataSourceOptions.d.ts} +2 -2
  273. package/browser/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js +3 -0
  274. package/browser/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js.map +1 -0
  275. package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +15 -13
  276. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js +30 -20
  277. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  278. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +11 -9
  279. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +23 -14
  280. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  281. package/{driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts → browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts} +5 -3
  282. package/{driver/aurora-mysql/AuroraMysqlConnectionOptions.js → browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js} +1 -2
  283. package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -0
  284. package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +13 -12
  285. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +35 -27
  286. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  287. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +4 -1
  288. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +35 -24
  289. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  290. package/browser/driver/capacitor/{CapacitorConnectionOptions.d.ts → CapacitorDataSourceOptions.d.ts} +2 -2
  291. package/{driver/cordova/CordovaConnectionOptions.js → browser/driver/capacitor/CapacitorDataSourceOptions.js} +1 -2
  292. package/browser/driver/capacitor/CapacitorDataSourceOptions.js.map +1 -0
  293. package/browser/driver/capacitor/CapacitorDriver.d.ts +7 -6
  294. package/browser/driver/capacitor/CapacitorDriver.js +14 -10
  295. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  296. package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +6 -2
  297. package/browser/driver/capacitor/CapacitorQueryRunner.js +23 -16
  298. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  299. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -1
  300. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +3 -3
  301. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  302. package/{driver/cockroachdb/CockroachConnectionOptions.d.ts → browser/driver/cockroachdb/CockroachDataSourceOptions.d.ts} +4 -4
  303. package/browser/driver/cockroachdb/CockroachDataSourceOptions.js +3 -0
  304. package/browser/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -0
  305. package/browser/driver/cockroachdb/CockroachDriver.d.ts +79 -27
  306. package/browser/driver/cockroachdb/CockroachDriver.js +168 -88
  307. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  308. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +203 -31
  309. package/browser/driver/cockroachdb/CockroachQueryRunner.js +582 -368
  310. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  311. package/browser/driver/cordova/{CordovaConnectionOptions.d.ts → CordovaDataSourceOptions.d.ts} +2 -2
  312. package/{driver/mongodb/MongoConnectionOptions.js → browser/driver/cordova/CordovaDataSourceOptions.js} +1 -2
  313. package/browser/driver/cordova/CordovaDataSourceOptions.js.map +1 -0
  314. package/browser/driver/cordova/CordovaDriver.d.ts +7 -6
  315. package/browser/driver/cordova/CordovaDriver.js +14 -12
  316. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  317. package/browser/driver/cordova/CordovaQueryRunner.d.ts +7 -35
  318. package/browser/driver/cordova/CordovaQueryRunner.js +31 -55
  319. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  320. package/browser/driver/expo/{ExpoConnectionOptions.d.ts → ExpoDataSourceOptions.d.ts} +2 -2
  321. package/{driver/sap/SapConnectionOptions.js → browser/driver/expo/ExpoDataSourceOptions.js} +1 -2
  322. package/browser/driver/expo/ExpoDataSourceOptions.js.map +1 -0
  323. package/browser/driver/expo/ExpoDriver.d.ts +6 -5
  324. package/browser/driver/expo/ExpoDriver.js +18 -8
  325. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  326. package/browser/driver/expo/ExpoQueryRunner.d.ts +1 -1
  327. package/browser/driver/expo/ExpoQueryRunner.js +21 -18
  328. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  329. package/{driver/mongodb/MongoConnectionOptions.d.ts → browser/driver/mongodb/MongoDataSourceOptions.d.ts} +7 -69
  330. package/{driver/expo/ExpoConnectionOptions.js → browser/driver/mongodb/MongoDataSourceOptions.js} +1 -2
  331. package/browser/driver/mongodb/MongoDataSourceOptions.js.map +1 -0
  332. package/browser/driver/mongodb/MongoDriver.d.ts +51 -23
  333. package/browser/driver/mongodb/MongoDriver.js +70 -58
  334. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  335. package/browser/driver/mongodb/MongoQueryRunner.d.ts +239 -83
  336. package/browser/driver/mongodb/MongoQueryRunner.js +303 -133
  337. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  338. package/browser/driver/mongodb/bson.typings.d.ts +604 -97
  339. package/browser/driver/mongodb/bson.typings.js +4 -3
  340. package/browser/driver/mongodb/bson.typings.js.map +1 -1
  341. package/browser/driver/mongodb/typings.d.ts +3577 -1025
  342. package/browser/driver/mongodb/typings.js +24 -24
  343. package/browser/driver/mongodb/typings.js.map +1 -1
  344. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +0 -1
  345. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +3 -3
  346. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  347. package/{driver/mysql/MysqlConnectionOptions.d.ts → browser/driver/mysql/MysqlDataSourceOptions.d.ts} +6 -13
  348. package/browser/driver/mysql/MysqlDataSourceOptions.js +3 -0
  349. package/browser/driver/mysql/MysqlDataSourceOptions.js.map +1 -0
  350. package/browser/driver/mysql/MysqlDriver.d.ts +69 -37
  351. package/browser/driver/mysql/MysqlDriver.js +141 -251
  352. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  353. package/browser/driver/mysql/MysqlQueryRunner.d.ts +167 -33
  354. package/browser/driver/mysql/MysqlQueryRunner.js +448 -325
  355. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  356. package/{driver/nativescript/NativescriptConnectionOptions.d.ts → browser/driver/nativescript/NativescriptDataSourceOptions.d.ts} +2 -2
  357. package/browser/driver/nativescript/NativescriptDataSourceOptions.js +3 -0
  358. package/browser/driver/nativescript/NativescriptDataSourceOptions.js.map +1 -0
  359. package/browser/driver/nativescript/NativescriptDriver.d.ts +9 -8
  360. package/browser/driver/nativescript/NativescriptDriver.js +16 -13
  361. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  362. package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +7 -2
  363. package/browser/driver/nativescript/NativescriptQueryRunner.js +22 -14
  364. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  365. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +3 -3
  366. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  367. package/{driver/oracle/OracleConnectionOptions.d.ts → browser/driver/oracle/OracleDataSourceOptions.d.ts} +3 -3
  368. package/{connection/BaseConnectionOptions.js → browser/driver/oracle/OracleDataSourceOptions.js} +1 -2
  369. package/browser/driver/oracle/OracleDataSourceOptions.js.map +1 -0
  370. package/browser/driver/oracle/OracleDriver.d.ts +65 -28
  371. package/browser/driver/oracle/OracleDriver.js +96 -55
  372. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  373. package/browser/driver/oracle/OracleQueryRunner.d.ts +176 -29
  374. package/browser/driver/oracle/OracleQueryRunner.js +442 -267
  375. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  376. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  377. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +3 -3
  378. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  379. package/{driver/postgres/PostgresConnectionOptions.d.ts → browser/driver/postgres/PostgresDataSourceOptions.d.ts} +8 -5
  380. package/browser/driver/postgres/PostgresDataSourceOptions.js +3 -0
  381. package/browser/driver/postgres/PostgresDataSourceOptions.js.map +1 -0
  382. package/browser/driver/postgres/PostgresDriver.d.ts +85 -28
  383. package/browser/driver/postgres/PostgresDriver.js +244 -80
  384. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  385. package/browser/driver/postgres/PostgresQueryRunner.d.ts +225 -34
  386. package/browser/driver/postgres/PostgresQueryRunner.js +729 -447
  387. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  388. package/{driver/react-native/ReactNativeConnectionOptions.d.ts → browser/driver/react-native/ReactNativeDataSourceOptions.d.ts} +6 -2
  389. package/{driver/capacitor/CapacitorConnectionOptions.js → browser/driver/react-native/ReactNativeDataSourceOptions.js} +1 -2
  390. package/browser/driver/react-native/ReactNativeDataSourceOptions.js.map +1 -0
  391. package/browser/driver/react-native/ReactNativeDriver.d.ts +64 -24
  392. package/browser/driver/react-native/ReactNativeDriver.js +92 -50
  393. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  394. package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +7 -2
  395. package/browser/driver/react-native/ReactNativeQueryRunner.js +26 -18
  396. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  397. package/browser/driver/sap/SapConnectionCredentialsOptions.js +3 -3
  398. package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  399. package/browser/driver/sap/{SapConnectionOptions.d.ts → SapDataSourceOptions.d.ts} +10 -37
  400. package/browser/driver/sap/SapDataSourceOptions.js +3 -0
  401. package/browser/driver/sap/SapDataSourceOptions.js.map +1 -0
  402. package/browser/driver/sap/SapDriver.d.ts +54 -17
  403. package/browser/driver/sap/SapDriver.js +97 -70
  404. package/browser/driver/sap/SapDriver.js.map +1 -1
  405. package/browser/driver/sap/SapQueryRunner.d.ts +179 -31
  406. package/browser/driver/sap/SapQueryRunner.js +488 -286
  407. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  408. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -3
  409. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  410. package/{driver/spanner/SpannerConnectionOptions.d.ts → browser/driver/spanner/SpannerDataSourceOptions.d.ts} +4 -4
  411. package/browser/driver/spanner/SpannerDataSourceOptions.js +3 -0
  412. package/browser/driver/spanner/SpannerDataSourceOptions.js.map +1 -0
  413. package/browser/driver/spanner/SpannerDriver.d.ts +61 -23
  414. package/browser/driver/spanner/SpannerDriver.js +82 -42
  415. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  416. package/browser/driver/spanner/SpannerQueryRunner.d.ts +170 -28
  417. package/browser/driver/spanner/SpannerQueryRunner.js +373 -201
  418. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  419. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +74 -23
  420. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +162 -53
  421. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  422. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +164 -30
  423. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +357 -193
  424. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  425. package/{driver/sqljs/SqljsConnectionOptions.d.ts → browser/driver/sqljs/SqljsDataSourceOptions.d.ts} +2 -2
  426. package/browser/driver/sqljs/SqljsDataSourceOptions.js +3 -0
  427. package/browser/driver/sqljs/SqljsDataSourceOptions.js.map +1 -0
  428. package/browser/driver/sqljs/SqljsDriver.d.ts +15 -8
  429. package/browser/driver/sqljs/SqljsDriver.js +44 -34
  430. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  431. package/browser/driver/sqljs/SqljsQueryRunner.d.ts +4 -1
  432. package/browser/driver/sqljs/SqljsQueryRunner.js +24 -18
  433. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  434. package/browser/driver/sqlserver/MssqlParameter.d.ts +0 -1
  435. package/browser/driver/sqlserver/MssqlParameter.js +6 -4
  436. package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
  437. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +8 -15
  438. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +3 -3
  439. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  440. package/browser/driver/sqlserver/{SqlServerConnectionOptions.d.ts → SqlServerDataSourceOptions.d.ts} +4 -4
  441. package/browser/driver/sqlserver/SqlServerDataSourceOptions.js +3 -0
  442. package/browser/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -0
  443. package/browser/driver/sqlserver/SqlServerDriver.d.ts +70 -28
  444. package/browser/driver/sqlserver/SqlServerDriver.js +115 -79
  445. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  446. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +190 -30
  447. package/browser/driver/sqlserver/SqlServerQueryRunner.js +576 -350
  448. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  449. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -3
  450. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  451. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -3
  452. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
  453. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -3
  454. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  455. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -3
  456. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  457. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -3
  458. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  459. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -3
  460. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  461. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -3
  462. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  463. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -3
  464. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  465. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  466. package/browser/driver/types/ColumnTypes.js +3 -3
  467. package/browser/driver/types/ColumnTypes.js.map +1 -1
  468. package/browser/driver/types/CteCapabilities.js +3 -3
  469. package/browser/driver/types/CteCapabilities.js.map +1 -1
  470. package/browser/driver/types/DataTypeDefaults.d.ts +0 -1
  471. package/browser/driver/types/DataTypeDefaults.js +3 -3
  472. package/browser/driver/types/DataTypeDefaults.js.map +1 -1
  473. package/browser/driver/types/DatabaseType.d.ts +1 -1
  474. package/browser/driver/types/DatabaseType.js +3 -3
  475. package/browser/driver/types/DatabaseType.js.map +1 -1
  476. package/browser/driver/types/GeoJsonTypes.js +3 -3
  477. package/browser/driver/types/GeoJsonTypes.js.map +1 -1
  478. package/browser/driver/types/IsolationLevel.js +3 -3
  479. package/browser/driver/types/IsolationLevel.js.map +1 -1
  480. package/browser/driver/types/MappedColumnTypes.d.ts +1 -1
  481. package/browser/driver/types/MappedColumnTypes.js +3 -3
  482. package/browser/driver/types/MappedColumnTypes.js.map +1 -1
  483. package/browser/driver/types/MetadataTableType.js +6 -4
  484. package/browser/driver/types/MetadataTableType.js.map +1 -1
  485. package/browser/driver/types/ReplicationMode.js +3 -3
  486. package/browser/driver/types/ReplicationMode.js.map +1 -1
  487. package/browser/driver/types/ReturningType.d.ts +1 -0
  488. package/{find-options/JoinOptions.js → browser/driver/types/ReturningType.js} +1 -2
  489. package/browser/driver/types/ReturningType.js.map +1 -0
  490. package/browser/driver/types/UpsertType.js +3 -3
  491. package/browser/driver/types/UpsertType.js.map +1 -1
  492. package/browser/entity-manager/EntityManager.d.ts +111 -57
  493. package/browser/entity-manager/EntityManager.js +245 -203
  494. package/browser/entity-manager/EntityManager.js.map +1 -1
  495. package/browser/entity-manager/EntityManagerFactory.d.ts +6 -3
  496. package/browser/entity-manager/EntityManagerFactory.js +18 -12
  497. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  498. package/browser/entity-manager/MongoEntityManager.d.ts +156 -30
  499. package/browser/entity-manager/MongoEntityManager.js +289 -112
  500. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  501. package/browser/entity-manager/SqljsEntityManager.d.ts +5 -3
  502. package/browser/entity-manager/SqljsEntityManager.js +12 -7
  503. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  504. package/browser/entity-schema/EntitySchema.d.ts +1 -1
  505. package/browser/entity-schema/EntitySchema.js +6 -3
  506. package/browser/entity-schema/EntitySchema.js.map +1 -1
  507. package/browser/entity-schema/EntitySchemaCheckOptions.js +3 -3
  508. package/browser/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  509. package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +2 -2
  510. package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.js +3 -3
  511. package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -1
  512. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +6 -26
  513. package/browser/entity-schema/EntitySchemaColumnOptions.js +3 -3
  514. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  515. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +1 -1
  516. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js +6 -3
  517. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  518. package/browser/entity-schema/EntitySchemaEmbeddedError.js +7 -4
  519. package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  520. package/browser/entity-schema/EntitySchemaExclusionOptions.d.ts +5 -0
  521. package/browser/entity-schema/EntitySchemaExclusionOptions.js +3 -3
  522. package/browser/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  523. package/browser/entity-schema/EntitySchemaForeignKeyOptions.d.ts +2 -2
  524. package/browser/entity-schema/EntitySchemaForeignKeyOptions.js +3 -3
  525. package/browser/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -1
  526. package/browser/entity-schema/EntitySchemaIndexOptions.js +3 -3
  527. package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  528. package/browser/entity-schema/EntitySchemaInheritanceOptions.d.ts +1 -1
  529. package/browser/entity-schema/EntitySchemaInheritanceOptions.js +3 -3
  530. package/browser/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
  531. package/browser/entity-schema/EntitySchemaOptions.d.ts +16 -14
  532. package/browser/entity-schema/EntitySchemaOptions.js +6 -3
  533. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  534. package/browser/entity-schema/EntitySchemaRelationIdOptions.d.ts +1 -1
  535. package/browser/entity-schema/EntitySchemaRelationIdOptions.js +3 -3
  536. package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  537. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +8 -8
  538. package/browser/entity-schema/EntitySchemaRelationOptions.js +3 -3
  539. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  540. package/browser/entity-schema/EntitySchemaTransformer.d.ts +2 -1
  541. package/browser/entity-schema/EntitySchemaTransformer.js +12 -10
  542. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  543. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +1 -1
  544. package/browser/entity-schema/EntitySchemaUniqueOptions.js +3 -3
  545. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  546. package/browser/error/AlreadyHasActiveConnectionError.js +7 -4
  547. package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
  548. package/browser/error/CannotAttachTreeChildrenEntityError.js +7 -4
  549. package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  550. package/browser/error/CannotConnectAlreadyConnectedError.d.ts +1 -1
  551. package/browser/error/CannotConnectAlreadyConnectedError.js +9 -6
  552. package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  553. package/browser/error/CannotCreateEntityIdMapError.d.ts +1 -1
  554. package/browser/error/CannotCreateEntityIdMapError.js +7 -4
  555. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  556. package/browser/error/CannotDetermineEntityError.js +7 -4
  557. package/browser/error/CannotDetermineEntityError.js.map +1 -1
  558. package/browser/error/CannotExecuteNotConnectedError.d.ts +1 -1
  559. package/browser/error/CannotExecuteNotConnectedError.js +9 -6
  560. package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
  561. package/browser/error/CannotGetEntityManagerNotConnectedError.js +7 -4
  562. package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  563. package/browser/error/CannotReflectMethodParameterTypeError.js +7 -4
  564. package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  565. package/browser/error/CircularRelationsError.js +7 -4
  566. package/browser/error/CircularRelationsError.js.map +1 -1
  567. package/browser/error/ColumnTypeUndefinedError.js +7 -4
  568. package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
  569. package/browser/error/ConnectionIsNotSetError.js +7 -4
  570. package/browser/error/ConnectionIsNotSetError.js.map +1 -1
  571. package/browser/error/ConnectionNotFoundError.js +7 -4
  572. package/browser/error/ConnectionNotFoundError.js.map +1 -1
  573. package/browser/error/DataTypeNotSupportedError.d.ts +3 -3
  574. package/browser/error/DataTypeNotSupportedError.js +7 -4
  575. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  576. package/browser/error/DriverOptionNotSetError.js +7 -4
  577. package/browser/error/DriverOptionNotSetError.js.map +1 -1
  578. package/browser/error/DriverPackageNotInstalledError.js +7 -4
  579. package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
  580. package/browser/error/EntityMetadataNotFoundError.d.ts +1 -1
  581. package/browser/error/EntityMetadataNotFoundError.js +11 -8
  582. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  583. package/browser/error/EntityNotFoundError.d.ts +1 -1
  584. package/browser/error/EntityNotFoundError.js +11 -8
  585. package/browser/error/EntityNotFoundError.js.map +1 -1
  586. package/browser/error/EntityPropertyNotFoundError.d.ts +1 -1
  587. package/browser/error/EntityPropertyNotFoundError.js +7 -4
  588. package/browser/error/EntityPropertyNotFoundError.js.map +1 -1
  589. package/browser/error/FindRelationsNotFoundError.js +7 -4
  590. package/browser/error/FindRelationsNotFoundError.js.map +1 -1
  591. package/browser/error/ForbiddenTransactionModeOverrideError.d.ts +1 -1
  592. package/browser/error/ForbiddenTransactionModeOverrideError.js +7 -4
  593. package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  594. package/browser/error/InitializedRelationError.d.ts +1 -2
  595. package/browser/error/InitializedRelationError.js +7 -5
  596. package/browser/error/InitializedRelationError.js.map +1 -1
  597. package/browser/error/InsertValuesMissingError.js +7 -4
  598. package/browser/error/InsertValuesMissingError.js.map +1 -1
  599. package/browser/error/LimitOnUpdateNotSupportedError.js +7 -4
  600. package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  601. package/browser/error/LockNotSupportedOnGivenDriverError.js +7 -4
  602. package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  603. package/browser/error/MetadataAlreadyExistsError.js +7 -4
  604. package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
  605. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js +7 -4
  606. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  607. package/browser/error/MissingDeleteDateColumnError.d.ts +1 -1
  608. package/browser/error/MissingDeleteDateColumnError.js +7 -4
  609. package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
  610. package/browser/error/MissingDriverError.js +7 -4
  611. package/browser/error/MissingDriverError.js.map +1 -1
  612. package/browser/error/MissingJoinColumnError.d.ts +2 -2
  613. package/browser/error/MissingJoinColumnError.js +7 -4
  614. package/browser/error/MissingJoinColumnError.js.map +1 -1
  615. package/browser/error/MissingJoinTableError.d.ts +2 -2
  616. package/browser/error/MissingJoinTableError.js +7 -4
  617. package/browser/error/MissingJoinTableError.js.map +1 -1
  618. package/browser/error/MissingPrimaryColumnError.d.ts +1 -1
  619. package/browser/error/MissingPrimaryColumnError.js +7 -4
  620. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  621. package/browser/error/MustBeEntityError.js +7 -4
  622. package/browser/error/MustBeEntityError.js.map +1 -1
  623. package/browser/error/NestedSetMultipleRootError.js +7 -4
  624. package/browser/error/NestedSetMultipleRootError.js.map +1 -1
  625. package/browser/error/NoConnectionForRepositoryError.d.ts +1 -1
  626. package/browser/error/NoConnectionForRepositoryError.js +10 -7
  627. package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
  628. package/browser/error/NoConnectionOptionError.js +7 -4
  629. package/browser/error/NoConnectionOptionError.js.map +1 -1
  630. package/browser/error/NoNeedToReleaseEntityManagerError.js +7 -4
  631. package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  632. package/browser/error/NoVersionOrUpdateDateColumnError.js +7 -4
  633. package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  634. package/browser/error/OffsetWithoutLimitNotSupportedError.js +7 -4
  635. package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  636. package/browser/error/OptimisticLockCanNotBeUsedError.js +7 -4
  637. package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  638. package/browser/error/OptimisticLockVersionMismatchError.js +7 -4
  639. package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
  640. package/browser/error/PersistedEntityNotFoundError.js +7 -4
  641. package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
  642. package/browser/error/PessimisticLockTransactionRequiredError.js +7 -4
  643. package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  644. package/browser/error/PrimaryColumnCannotBeNullableError.js +7 -4
  645. package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  646. package/browser/error/QueryFailedError.js +9 -6
  647. package/browser/error/QueryFailedError.js.map +1 -1
  648. package/browser/error/QueryRunnerAlreadyReleasedError.js +7 -4
  649. package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  650. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js +7 -4
  651. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  652. package/browser/error/RepositoryNotTreeError.d.ts +1 -1
  653. package/browser/error/RepositoryNotTreeError.js +11 -8
  654. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  655. package/browser/error/ReturningStatementNotSupportedError.js +7 -4
  656. package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
  657. package/browser/error/SubjectRemovedAndUpdatedError.d.ts +1 -1
  658. package/browser/error/SubjectRemovedAndUpdatedError.js +7 -4
  659. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  660. package/browser/error/SubjectWithoutIdentifierError.d.ts +1 -1
  661. package/browser/error/SubjectWithoutIdentifierError.js +7 -4
  662. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  663. package/browser/error/TransactionAlreadyStartedError.js +7 -4
  664. package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
  665. package/browser/error/TransactionNotStartedError.js +7 -4
  666. package/browser/error/TransactionNotStartedError.js.map +1 -1
  667. package/browser/error/TreeRepositoryNotSupportedError.d.ts +1 -1
  668. package/browser/error/TreeRepositoryNotSupportedError.js +7 -4
  669. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  670. package/browser/error/TypeORMError.js +6 -3
  671. package/browser/error/TypeORMError.js.map +1 -1
  672. package/browser/error/UpdateValuesMissingError.js +7 -4
  673. package/browser/error/UpdateValuesMissingError.js.map +1 -1
  674. package/browser/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -2
  675. package/browser/error/UsingJoinColumnIsNotAllowedError.js +7 -4
  676. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  677. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -2
  678. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +7 -4
  679. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  680. package/browser/error/UsingJoinTableIsNotAllowedError.d.ts +2 -2
  681. package/browser/error/UsingJoinTableIsNotAllowedError.js +7 -4
  682. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  683. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -2
  684. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js +7 -4
  685. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  686. package/browser/error/index.d.ts +0 -3
  687. package/browser/error/index.js +62 -63
  688. package/browser/error/index.js.map +1 -1
  689. package/browser/find-options/EqualOperator.js +7 -4
  690. package/browser/find-options/EqualOperator.js.map +1 -1
  691. package/browser/find-options/FindManyOptions.d.ts +1 -1
  692. package/browser/find-options/FindManyOptions.js +3 -3
  693. package/browser/find-options/FindManyOptions.js.map +1 -1
  694. package/browser/find-options/FindOneOptions.d.ts +7 -14
  695. package/browser/find-options/FindOneOptions.js +3 -3
  696. package/browser/find-options/FindOneOptions.js.map +1 -1
  697. package/browser/find-options/FindOperator.d.ts +3 -3
  698. package/browser/find-options/FindOperator.js +16 -13
  699. package/browser/find-options/FindOperator.js.map +1 -1
  700. package/browser/find-options/FindOperatorType.js +3 -3
  701. package/browser/find-options/FindOperatorType.js.map +1 -1
  702. package/browser/find-options/FindOptionsOrder.d.ts +2 -2
  703. package/browser/find-options/FindOptionsOrder.js +3 -3
  704. package/browser/find-options/FindOptionsOrder.js.map +1 -1
  705. package/browser/find-options/FindOptionsRelations.d.ts +2 -9
  706. package/browser/find-options/FindOptionsRelations.js +3 -3
  707. package/browser/find-options/FindOptionsRelations.js.map +1 -1
  708. package/browser/find-options/FindOptionsSelect.d.ts +2 -9
  709. package/browser/find-options/FindOptionsSelect.js +3 -3
  710. package/browser/find-options/FindOptionsSelect.js.map +1 -1
  711. package/browser/find-options/FindOptionsUtils.d.ts +46 -11
  712. package/browser/find-options/FindOptionsUtils.js +114 -28
  713. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  714. package/browser/find-options/FindOptionsWhere.d.ts +4 -4
  715. package/browser/find-options/FindOptionsWhere.js +3 -3
  716. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  717. package/browser/find-options/FindTreeOptions.js +3 -3
  718. package/browser/find-options/FindTreeOptions.js.map +1 -1
  719. package/browser/find-options/OrderByCondition.d.ts +0 -2
  720. package/browser/find-options/OrderByCondition.js +3 -3
  721. package/browser/find-options/OrderByCondition.js.map +1 -1
  722. package/browser/find-options/mongodb/MongoFindManyOptions.d.ts +1 -1
  723. package/browser/find-options/mongodb/MongoFindManyOptions.js +3 -3
  724. package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  725. package/browser/find-options/mongodb/MongoFindOneOptions.d.ts +2 -2
  726. package/browser/find-options/mongodb/MongoFindOneOptions.js +3 -3
  727. package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  728. package/browser/find-options/operator/And.d.ts +4 -0
  729. package/browser/find-options/operator/And.js +11 -5
  730. package/browser/find-options/operator/And.js.map +1 -1
  731. package/browser/find-options/operator/Any.d.ts +1 -0
  732. package/browser/find-options/operator/Any.js +8 -5
  733. package/browser/find-options/operator/Any.js.map +1 -1
  734. package/browser/find-options/operator/ArrayContainedBy.d.ts +1 -0
  735. package/browser/find-options/operator/ArrayContainedBy.js +8 -5
  736. package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
  737. package/browser/find-options/operator/ArrayContains.d.ts +1 -0
  738. package/browser/find-options/operator/ArrayContains.js +8 -5
  739. package/browser/find-options/operator/ArrayContains.js.map +1 -1
  740. package/browser/find-options/operator/ArrayOverlap.d.ts +1 -0
  741. package/browser/find-options/operator/ArrayOverlap.js +8 -5
  742. package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
  743. package/browser/find-options/operator/Between.d.ts +2 -0
  744. package/browser/find-options/operator/Between.js +9 -5
  745. package/browser/find-options/operator/Between.js.map +1 -1
  746. package/browser/find-options/operator/Equal.d.ts +2 -1
  747. package/browser/find-options/operator/Equal.js +8 -5
  748. package/browser/find-options/operator/Equal.js.map +1 -1
  749. package/browser/find-options/operator/ILike.d.ts +1 -0
  750. package/browser/find-options/operator/ILike.js +8 -5
  751. package/browser/find-options/operator/ILike.js.map +1 -1
  752. package/browser/find-options/operator/In.d.ts +1 -0
  753. package/browser/find-options/operator/In.js +8 -5
  754. package/browser/find-options/operator/In.js.map +1 -1
  755. package/browser/find-options/operator/IsNull.js +7 -5
  756. package/browser/find-options/operator/IsNull.js.map +1 -1
  757. package/browser/find-options/operator/JsonContains.d.ts +1 -0
  758. package/browser/find-options/operator/JsonContains.js +8 -5
  759. package/browser/find-options/operator/JsonContains.js.map +1 -1
  760. package/browser/find-options/operator/LessThan.d.ts +1 -0
  761. package/browser/find-options/operator/LessThan.js +8 -5
  762. package/browser/find-options/operator/LessThan.js.map +1 -1
  763. package/browser/find-options/operator/LessThanOrEqual.d.ts +1 -0
  764. package/browser/find-options/operator/LessThanOrEqual.js +8 -5
  765. package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
  766. package/browser/find-options/operator/Like.d.ts +1 -0
  767. package/browser/find-options/operator/Like.js +8 -5
  768. package/browser/find-options/operator/Like.js.map +1 -1
  769. package/browser/find-options/operator/MoreThan.d.ts +1 -0
  770. package/browser/find-options/operator/MoreThan.js +8 -5
  771. package/browser/find-options/operator/MoreThan.js.map +1 -1
  772. package/browser/find-options/operator/MoreThanOrEqual.d.ts +1 -0
  773. package/browser/find-options/operator/MoreThanOrEqual.js +8 -5
  774. package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
  775. package/browser/find-options/operator/Not.d.ts +1 -0
  776. package/browser/find-options/operator/Not.js +8 -5
  777. package/browser/find-options/operator/Not.js.map +1 -1
  778. package/browser/find-options/operator/Or.d.ts +4 -0
  779. package/browser/find-options/operator/Or.js +11 -5
  780. package/browser/find-options/operator/Or.js.map +1 -1
  781. package/browser/find-options/operator/Raw.d.ts +5 -1
  782. package/browser/find-options/operator/Raw.js +8 -6
  783. package/browser/find-options/operator/Raw.js.map +1 -1
  784. package/browser/globals.d.ts +2 -114
  785. package/browser/globals.js +17 -163
  786. package/browser/globals.js.map +1 -1
  787. package/browser/index.d.ts +62 -69
  788. package/browser/index.js +141 -161
  789. package/browser/index.js.map +1 -1
  790. package/browser/logger/AbstractLogger.d.ts +26 -3
  791. package/browser/logger/AbstractLogger.js +32 -6
  792. package/browser/logger/AbstractLogger.js.map +1 -1
  793. package/browser/logger/AdvancedConsoleLogger.d.ts +5 -2
  794. package/browser/logger/AdvancedConsoleLogger.js +18 -12
  795. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  796. package/browser/logger/DebugLogger.d.ts +6 -2
  797. package/browser/logger/DebugLogger.js +21 -14
  798. package/browser/logger/DebugLogger.js.map +1 -1
  799. package/browser/logger/FileLogger.d.ts +7 -3
  800. package/browser/logger/FileLogger.js +17 -9
  801. package/browser/logger/FileLogger.js.map +1 -1
  802. package/browser/logger/FormattedConsoleLogger.d.ts +5 -2
  803. package/browser/logger/FormattedConsoleLogger.js +18 -12
  804. package/browser/logger/FormattedConsoleLogger.js.map +1 -1
  805. package/browser/logger/Logger.d.ts +1 -1
  806. package/browser/logger/Logger.js +3 -3
  807. package/browser/logger/Logger.js.map +1 -1
  808. package/browser/logger/LoggerFactory.d.ts +4 -2
  809. package/browser/logger/LoggerFactory.js +21 -16
  810. package/browser/logger/LoggerFactory.js.map +1 -1
  811. package/browser/logger/LoggerOptions.d.ts +1 -1
  812. package/browser/logger/LoggerOptions.js +3 -3
  813. package/browser/logger/LoggerOptions.js.map +1 -1
  814. package/browser/logger/SimpleConsoleLogger.d.ts +5 -2
  815. package/browser/logger/SimpleConsoleLogger.js +10 -4
  816. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  817. package/browser/metadata/CheckMetadata.d.ts +4 -3
  818. package/browser/metadata/CheckMetadata.js +7 -3
  819. package/browser/metadata/CheckMetadata.js.map +1 -1
  820. package/browser/metadata/ColumnMetadata.d.ts +24 -23
  821. package/browser/metadata/ColumnMetadata.js +85 -74
  822. package/browser/metadata/ColumnMetadata.js.map +1 -1
  823. package/browser/metadata/EmbeddedMetadata.d.ts +14 -22
  824. package/browser/metadata/EmbeddedMetadata.js +11 -18
  825. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  826. package/browser/metadata/EntityListenerMetadata.d.ts +9 -5
  827. package/browser/metadata/EntityListenerMetadata.js +10 -3
  828. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  829. package/browser/metadata/EntityMetadata.d.ts +60 -35
  830. package/browser/metadata/EntityMetadata.js +71 -57
  831. package/browser/metadata/EntityMetadata.js.map +1 -1
  832. package/browser/metadata/ExclusionMetadata.d.ts +9 -3
  833. package/browser/metadata/ExclusionMetadata.js +8 -3
  834. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  835. package/browser/metadata/ForeignKeyMetadata.d.ts +7 -6
  836. package/browser/metadata/ForeignKeyMetadata.js +7 -3
  837. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  838. package/browser/metadata/IndexMetadata.d.ts +13 -5
  839. package/browser/metadata/IndexMetadata.js +27 -10
  840. package/browser/metadata/IndexMetadata.js.map +1 -1
  841. package/browser/metadata/RelationIdMetadata.d.ts +6 -5
  842. package/browser/metadata/RelationIdMetadata.js +9 -5
  843. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  844. package/browser/metadata/RelationMetadata.d.ts +27 -16
  845. package/browser/metadata/RelationMetadata.js +29 -15
  846. package/browser/metadata/RelationMetadata.js.map +1 -1
  847. package/browser/metadata/UniqueMetadata.d.ts +7 -6
  848. package/browser/metadata/UniqueMetadata.js +19 -9
  849. package/browser/metadata/UniqueMetadata.js.map +1 -1
  850. package/browser/metadata/types/ClosureTreeOptions.d.ts +1 -1
  851. package/browser/metadata/types/ClosureTreeOptions.js +3 -3
  852. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -1
  853. package/browser/metadata/types/DeferrableType.js +3 -3
  854. package/browser/metadata/types/DeferrableType.js.map +1 -1
  855. package/browser/metadata/types/EventListenerTypes.js +17 -14
  856. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  857. package/browser/metadata/types/OnDeleteType.js +3 -3
  858. package/browser/metadata/types/OnDeleteType.js.map +1 -1
  859. package/browser/metadata/types/OnUpdateType.js +3 -3
  860. package/browser/metadata/types/OnUpdateType.js.map +1 -1
  861. package/browser/metadata/types/PropertyTypeInFunction.js +3 -3
  862. package/browser/metadata/types/PropertyTypeInFunction.js.map +1 -1
  863. package/browser/metadata/types/RelationTypeInFunction.d.ts +1 -1
  864. package/browser/metadata/types/RelationTypeInFunction.js +3 -3
  865. package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
  866. package/browser/metadata/types/RelationTypes.js +3 -3
  867. package/browser/metadata/types/RelationTypes.js.map +1 -1
  868. package/browser/metadata/types/TableTypes.js +3 -3
  869. package/browser/metadata/types/TableTypes.js.map +1 -1
  870. package/browser/metadata/types/TreeTypes.js +3 -3
  871. package/browser/metadata/types/TreeTypes.js.map +1 -1
  872. package/browser/metadata-args/CheckMetadataArgs.js +3 -3
  873. package/browser/metadata-args/CheckMetadataArgs.js.map +1 -1
  874. package/browser/metadata-args/ColumnMetadataArgs.d.ts +2 -2
  875. package/browser/metadata-args/ColumnMetadataArgs.js +3 -3
  876. package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
  877. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +3 -3
  878. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  879. package/browser/metadata-args/EmbeddedMetadataArgs.js +3 -3
  880. package/browser/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  881. package/browser/metadata-args/EntityListenerMetadataArgs.d.ts +1 -1
  882. package/browser/metadata-args/EntityListenerMetadataArgs.js +3 -3
  883. package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  884. package/browser/metadata-args/EntitySubscriberMetadataArgs.js +3 -3
  885. package/browser/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  886. package/browser/metadata-args/ExclusionMetadataArgs.d.ts +5 -0
  887. package/browser/metadata-args/ExclusionMetadataArgs.js +3 -3
  888. package/browser/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  889. package/browser/metadata-args/ForeignKeyMetadataArgs.d.ts +5 -5
  890. package/browser/metadata-args/ForeignKeyMetadataArgs.js +3 -3
  891. package/browser/metadata-args/ForeignKeyMetadataArgs.js.map +1 -1
  892. package/browser/metadata-args/GeneratedMetadataArgs.js +3 -3
  893. package/browser/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  894. package/browser/metadata-args/IndexMetadataArgs.d.ts +7 -0
  895. package/browser/metadata-args/IndexMetadataArgs.js +3 -3
  896. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  897. package/browser/metadata-args/InheritanceMetadataArgs.d.ts +1 -1
  898. package/browser/metadata-args/InheritanceMetadataArgs.js +3 -3
  899. package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  900. package/browser/metadata-args/JoinColumnMetadataArgs.js +3 -3
  901. package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  902. package/browser/metadata-args/JoinTableMetadataArgs.d.ts +1 -1
  903. package/browser/metadata-args/JoinTableMetadataArgs.js +3 -3
  904. package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  905. package/browser/metadata-args/MetadataArgsStorage.d.ts +29 -27
  906. package/browser/metadata-args/MetadataArgsStorage.js +16 -10
  907. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  908. package/browser/metadata-args/NamingStrategyMetadataArgs.js +3 -3
  909. package/browser/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  910. package/browser/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
  911. package/browser/metadata-args/RelationIdMetadataArgs.js +3 -3
  912. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  913. package/browser/metadata-args/RelationMetadataArgs.d.ts +4 -4
  914. package/browser/metadata-args/RelationMetadataArgs.js +3 -3
  915. package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
  916. package/browser/metadata-args/TableMetadataArgs.d.ts +5 -4
  917. package/browser/metadata-args/TableMetadataArgs.js +3 -3
  918. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  919. package/browser/metadata-args/TransactionEntityMetadataArgs.d.ts +1 -1
  920. package/browser/metadata-args/TransactionEntityMetadataArgs.js +3 -3
  921. package/browser/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  922. package/browser/metadata-args/TransactionRepositoryMetadataArgs.d.ts +1 -1
  923. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +3 -3
  924. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  925. package/browser/metadata-args/TreeMetadataArgs.d.ts +2 -2
  926. package/browser/metadata-args/TreeMetadataArgs.js +3 -3
  927. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  928. package/browser/metadata-args/UniqueMetadataArgs.d.ts +1 -1
  929. package/browser/metadata-args/UniqueMetadataArgs.js +3 -3
  930. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  931. package/browser/metadata-args/types/ColumnMode.js +3 -3
  932. package/browser/metadata-args/types/ColumnMode.js.map +1 -1
  933. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +4 -3
  934. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +27 -28
  935. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  936. package/browser/metadata-builder/EntityMetadataBuilder.d.ts +16 -6
  937. package/browser/metadata-builder/EntityMetadataBuilder.js +119 -126
  938. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  939. package/browser/metadata-builder/EntityMetadataValidator.d.ts +9 -2
  940. package/browser/metadata-builder/EntityMetadataValidator.js +42 -37
  941. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  942. package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +11 -5
  943. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +53 -52
  944. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  945. package/browser/metadata-builder/MetadataUtils.d.ts +5 -0
  946. package/browser/metadata-builder/MetadataUtils.js +11 -3
  947. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  948. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +24 -12
  949. package/browser/metadata-builder/RelationJoinColumnBuilder.js +46 -34
  950. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  951. package/browser/migration/Migration.d.ts +1 -1
  952. package/browser/migration/Migration.js +6 -3
  953. package/browser/migration/Migration.js.map +1 -1
  954. package/browser/migration/MigrationExecutor.d.ts +16 -9
  955. package/browser/migration/MigrationExecutor.js +95 -79
  956. package/browser/migration/MigrationExecutor.js.map +1 -1
  957. package/browser/migration/MigrationInterface.d.ts +1 -1
  958. package/browser/migration/MigrationInterface.js +3 -3
  959. package/browser/migration/MigrationInterface.js.map +1 -1
  960. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +5 -5
  961. package/browser/naming-strategy/DefaultNamingStrategy.js +24 -21
  962. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  963. package/browser/naming-strategy/LegacyOracleNamingStrategy.d.ts +1 -1
  964. package/browser/naming-strategy/LegacyOracleNamingStrategy.js +12 -9
  965. package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  966. package/browser/naming-strategy/NamingStrategyInterface.d.ts +3 -5
  967. package/browser/naming-strategy/NamingStrategyInterface.js +3 -3
  968. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  969. package/browser/persistence/EntityPersistExecutor.d.ts +7 -7
  970. package/browser/persistence/EntityPersistExecutor.js +32 -29
  971. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  972. package/browser/persistence/Subject.d.ts +5 -5
  973. package/browser/persistence/Subject.js +13 -9
  974. package/browser/persistence/Subject.js.map +1 -1
  975. package/browser/persistence/SubjectChangeMap.d.ts +3 -3
  976. package/browser/persistence/SubjectChangeMap.js +3 -3
  977. package/browser/persistence/SubjectChangeMap.js.map +1 -1
  978. package/browser/persistence/SubjectChangedColumnsComputer.d.ts +5 -1
  979. package/browser/persistence/SubjectChangedColumnsComputer.js +48 -36
  980. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  981. package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +3 -2
  982. package/browser/persistence/SubjectDatabaseEntityLoader.js +15 -8
  983. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  984. package/browser/persistence/SubjectExecutor.d.ts +7 -4
  985. package/browser/persistence/SubjectExecutor.js +63 -49
  986. package/browser/persistence/SubjectExecutor.js.map +1 -1
  987. package/browser/persistence/SubjectTopologicalSorter.d.ts +6 -2
  988. package/browser/persistence/SubjectTopologicalSorter.js +23 -6
  989. package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
  990. package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +5 -1
  991. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +14 -7
  992. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  993. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +16 -6
  994. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +29 -16
  995. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  996. package/browser/persistence/subject-builder/OneToManySubjectBuilder.d.ts +14 -7
  997. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +26 -16
  998. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  999. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +14 -7
  1000. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +24 -14
  1001. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1002. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +6 -2
  1003. package/browser/persistence/tree/ClosureSubjectExecutor.js +24 -17
  1004. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1005. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +4 -2
  1006. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +17 -11
  1007. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1008. package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +10 -4
  1009. package/browser/persistence/tree/NestedSetSubjectExecutor.js +25 -16
  1010. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1011. package/browser/platform/BrowserConnectionOptionsReaderDummy.d.ts +0 -11
  1012. package/browser/platform/BrowserConnectionOptionsReaderDummy.js +10 -22
  1013. package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -1
  1014. package/browser/platform/BrowserDirectoryExportedClassesLoader.d.ts +0 -4
  1015. package/browser/platform/BrowserDirectoryExportedClassesLoader.js +5 -9
  1016. package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -1
  1017. package/browser/platform/BrowserDisabledDriversDummy.d.ts +0 -6
  1018. package/browser/platform/BrowserDisabledDriversDummy.js +30 -21
  1019. package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
  1020. package/browser/platform/BrowserFileLoggerDummy.js +8 -4
  1021. package/browser/platform/BrowserFileLoggerDummy.js.map +1 -1
  1022. package/browser/platform/BrowserPlatformTools.d.ts +7 -5
  1023. package/browser/platform/BrowserPlatformTools.js +16 -33
  1024. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  1025. package/browser/platform/PlatformTools.d.ts +12 -11
  1026. package/browser/platform/PlatformTools.js +62 -65
  1027. package/browser/platform/PlatformTools.js.map +1 -1
  1028. package/browser/query-builder/Alias.d.ts +1 -1
  1029. package/browser/query-builder/Alias.js +10 -7
  1030. package/browser/query-builder/Alias.js.map +1 -1
  1031. package/browser/query-builder/Brackets.d.ts +2 -1
  1032. package/browser/query-builder/Brackets.js +7 -3
  1033. package/browser/query-builder/Brackets.js.map +1 -1
  1034. package/browser/query-builder/DeleteQueryBuilder.d.ts +17 -6
  1035. package/browser/query-builder/DeleteQueryBuilder.js +29 -13
  1036. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  1037. package/browser/query-builder/InsertOrUpdateOptions.d.ts +3 -3
  1038. package/browser/query-builder/InsertOrUpdateOptions.js +3 -3
  1039. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
  1040. package/browser/query-builder/InsertQueryBuilder.d.ts +34 -29
  1041. package/browser/query-builder/InsertQueryBuilder.js +320 -187
  1042. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  1043. package/browser/query-builder/JoinAttribute.d.ts +7 -7
  1044. package/browser/query-builder/JoinAttribute.js +25 -33
  1045. package/browser/query-builder/JoinAttribute.js.map +1 -1
  1046. package/browser/query-builder/JoinOptions.js +3 -3
  1047. package/browser/query-builder/JoinOptions.js.map +1 -1
  1048. package/browser/query-builder/NotBrackets.js +7 -4
  1049. package/browser/query-builder/NotBrackets.js.map +1 -1
  1050. package/browser/query-builder/QueryBuilder.d.ts +51 -33
  1051. package/browser/query-builder/QueryBuilder.js +120 -127
  1052. package/browser/query-builder/QueryBuilder.js.map +1 -1
  1053. package/browser/query-builder/QueryBuilderCte.js +3 -3
  1054. package/browser/query-builder/QueryBuilderCte.js.map +1 -1
  1055. package/browser/query-builder/QueryBuilderUtils.d.ts +1 -0
  1056. package/browser/query-builder/QueryBuilderUtils.js +7 -3
  1057. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  1058. package/browser/query-builder/QueryExpressionMap.d.ts +29 -30
  1059. package/browser/query-builder/QueryExpressionMap.js +36 -39
  1060. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  1061. package/browser/query-builder/QueryPartialEntity.d.ts +1 -1
  1062. package/browser/query-builder/QueryPartialEntity.js +3 -3
  1063. package/browser/query-builder/QueryPartialEntity.js.map +1 -1
  1064. package/browser/query-builder/RelationIdLoader.d.ts +39 -11
  1065. package/browser/query-builder/RelationIdLoader.js +106 -65
  1066. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  1067. package/browser/query-builder/RelationLoader.d.ts +49 -14
  1068. package/browser/query-builder/RelationLoader.js +86 -28
  1069. package/browser/query-builder/RelationLoader.js.map +1 -1
  1070. package/browser/query-builder/RelationQueryBuilder.d.ts +7 -11
  1071. package/browser/query-builder/RelationQueryBuilder.js +33 -34
  1072. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  1073. package/browser/query-builder/RelationRemover.d.ts +3 -2
  1074. package/browser/query-builder/RelationRemover.js +12 -8
  1075. package/browser/query-builder/RelationRemover.js.map +1 -1
  1076. package/browser/query-builder/RelationUpdater.d.ts +3 -2
  1077. package/browser/query-builder/RelationUpdater.js +17 -13
  1078. package/browser/query-builder/RelationUpdater.js.map +1 -1
  1079. package/browser/query-builder/ReturningOption.d.ts +4 -0
  1080. package/browser/query-builder/ReturningOption.js +3 -0
  1081. package/browser/query-builder/ReturningOption.js.map +1 -0
  1082. package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +10 -6
  1083. package/browser/query-builder/ReturningResultsEntityUpdator.js +21 -14
  1084. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1085. package/browser/query-builder/SelectQuery.js +3 -3
  1086. package/browser/query-builder/SelectQuery.js.map +1 -1
  1087. package/browser/query-builder/SelectQueryBuilder.d.ts +71 -33
  1088. package/browser/query-builder/SelectQueryBuilder.js +418 -338
  1089. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  1090. package/browser/query-builder/SelectQueryBuilderOption.js +3 -3
  1091. package/browser/query-builder/SelectQueryBuilderOption.js.map +1 -1
  1092. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +24 -7
  1093. package/browser/query-builder/SoftDeleteQueryBuilder.js +61 -31
  1094. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1095. package/browser/query-builder/UpdateQueryBuilder.d.ts +23 -7
  1096. package/browser/query-builder/UpdateQueryBuilder.js +75 -49
  1097. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  1098. package/browser/query-builder/WhereClause.js +3 -3
  1099. package/browser/query-builder/WhereClause.js.map +1 -1
  1100. package/browser/query-builder/WhereExpressionBuilder.d.ts +2 -7
  1101. package/browser/query-builder/WhereExpressionBuilder.js +3 -3
  1102. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  1103. package/browser/query-builder/index.d.ts +3 -0
  1104. package/browser/query-builder/index.js +21 -16
  1105. package/browser/query-builder/index.js.map +1 -1
  1106. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +4 -4
  1107. package/browser/query-builder/relation-id/RelationIdAttribute.js +17 -14
  1108. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1109. package/browser/query-builder/relation-id/RelationIdLoadResult.d.ts +1 -1
  1110. package/browser/query-builder/relation-id/RelationIdLoadResult.js +3 -3
  1111. package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  1112. package/browser/query-builder/relation-id/RelationIdLoader.d.ts +6 -6
  1113. package/browser/query-builder/relation-id/RelationIdLoader.js +22 -19
  1114. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1115. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +1 -1
  1116. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +8 -5
  1117. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  1118. package/browser/query-builder/result/DeleteResult.d.ts +1 -1
  1119. package/browser/query-builder/result/DeleteResult.js +6 -3
  1120. package/browser/query-builder/result/DeleteResult.js.map +1 -1
  1121. package/browser/query-builder/result/InsertResult.d.ts +2 -2
  1122. package/browser/query-builder/result/InsertResult.js +6 -3
  1123. package/browser/query-builder/result/InsertResult.js.map +1 -1
  1124. package/browser/query-builder/result/UpdateResult.d.ts +2 -2
  1125. package/browser/query-builder/result/UpdateResult.js +6 -3
  1126. package/browser/query-builder/result/UpdateResult.js.map +1 -1
  1127. package/browser/query-builder/transformer/DocumentToEntityTransformer.d.ts +3 -3
  1128. package/browser/query-builder/transformer/DocumentToEntityTransformer.js +7 -74
  1129. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1130. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +3 -3
  1131. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +22 -8
  1132. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1133. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +6 -2
  1134. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js +13 -6
  1135. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1136. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +22 -11
  1137. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +57 -59
  1138. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1139. package/browser/query-runner/BaseQueryRunner.d.ts +79 -16
  1140. package/browser/query-runner/BaseQueryRunner.js +120 -54
  1141. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  1142. package/browser/query-runner/QueryLock.js +9 -4
  1143. package/browser/query-runner/QueryLock.js.map +1 -1
  1144. package/browser/query-runner/QueryResult.js +6 -3
  1145. package/browser/query-runner/QueryResult.js.map +1 -1
  1146. package/browser/query-runner/QueryRunner.d.ts +52 -56
  1147. package/browser/query-runner/QueryRunner.js +3 -3
  1148. package/browser/query-runner/QueryRunner.js.map +1 -1
  1149. package/browser/repository/BaseEntity.d.ts +64 -44
  1150. package/browser/repository/BaseEntity.js +61 -34
  1151. package/browser/repository/BaseEntity.js.map +1 -1
  1152. package/browser/repository/EntityId.d.ts +1 -1
  1153. package/browser/repository/EntityId.js +3 -3
  1154. package/browser/repository/EntityId.js.map +1 -1
  1155. package/browser/repository/FindTreesOptions.js +3 -3
  1156. package/browser/repository/FindTreesOptions.js.map +1 -1
  1157. package/browser/repository/MongoRepository.d.ts +79 -29
  1158. package/browser/repository/MongoRepository.js +80 -31
  1159. package/browser/repository/MongoRepository.js.map +1 -1
  1160. package/browser/repository/RemoveOptions.js +3 -3
  1161. package/browser/repository/RemoveOptions.js.map +1 -1
  1162. package/browser/repository/Repository.d.ts +75 -52
  1163. package/browser/repository/Repository.js +76 -50
  1164. package/browser/repository/Repository.js.map +1 -1
  1165. package/browser/repository/SaveOptions.js +3 -3
  1166. package/browser/repository/SaveOptions.js.map +1 -1
  1167. package/browser/repository/TreeRepository.d.ts +21 -4
  1168. package/browser/repository/TreeRepository.js +48 -28
  1169. package/browser/repository/TreeRepository.js.map +1 -1
  1170. package/browser/repository/UpdateOptions.d.ts +11 -0
  1171. package/browser/repository/UpdateOptions.js +3 -0
  1172. package/browser/repository/UpdateOptions.js.map +1 -0
  1173. package/browser/repository/UpsertOptions.d.ts +8 -2
  1174. package/browser/repository/UpsertOptions.js +3 -3
  1175. package/browser/repository/UpsertOptions.js.map +1 -1
  1176. package/browser/schema-builder/MongoSchemaBuilder.d.ts +4 -4
  1177. package/browser/schema-builder/MongoSchemaBuilder.js +12 -9
  1178. package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
  1179. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +29 -9
  1180. package/browser/schema-builder/RdbmsSchemaBuilder.js +202 -180
  1181. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1182. package/browser/schema-builder/SchemaBuilder.d.ts +1 -1
  1183. package/browser/schema-builder/SchemaBuilder.js +3 -3
  1184. package/browser/schema-builder/SchemaBuilder.js.map +1 -1
  1185. package/browser/schema-builder/options/TableCheckOptions.js +3 -3
  1186. package/browser/schema-builder/options/TableCheckOptions.js.map +1 -1
  1187. package/browser/schema-builder/options/TableColumnOptions.d.ts +0 -10
  1188. package/browser/schema-builder/options/TableColumnOptions.js +3 -3
  1189. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  1190. package/browser/schema-builder/options/TableExclusionOptions.d.ts +5 -0
  1191. package/browser/schema-builder/options/TableExclusionOptions.js +3 -3
  1192. package/browser/schema-builder/options/TableExclusionOptions.js.map +1 -1
  1193. package/browser/schema-builder/options/TableForeignKeyOptions.js +3 -3
  1194. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  1195. package/browser/schema-builder/options/TableIndexOptions.d.ts +7 -0
  1196. package/browser/schema-builder/options/TableIndexOptions.js +3 -3
  1197. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  1198. package/browser/schema-builder/options/TableIndexTypes.d.ts +1 -0
  1199. package/browser/schema-builder/options/TableIndexTypes.js +3 -0
  1200. package/browser/schema-builder/options/TableIndexTypes.js.map +1 -0
  1201. package/browser/schema-builder/options/TableOptions.d.ts +6 -6
  1202. package/browser/schema-builder/options/TableOptions.js +3 -3
  1203. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  1204. package/browser/schema-builder/options/TableUniqueOptions.js +3 -3
  1205. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  1206. package/browser/schema-builder/options/ViewOptions.d.ts +3 -2
  1207. package/browser/schema-builder/options/ViewOptions.js +3 -3
  1208. package/browser/schema-builder/options/ViewOptions.js.map +1 -1
  1209. package/browser/schema-builder/table/Table.d.ts +23 -3
  1210. package/browser/schema-builder/table/Table.js +44 -21
  1211. package/browser/schema-builder/table/Table.js.map +1 -1
  1212. package/browser/schema-builder/table/TableCheck.d.ts +3 -2
  1213. package/browser/schema-builder/table/TableCheck.js +7 -3
  1214. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  1215. package/browser/schema-builder/table/TableColumn.d.ts +1 -11
  1216. package/browser/schema-builder/table/TableColumn.js +7 -13
  1217. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  1218. package/browser/schema-builder/table/TableExclusion.d.ts +8 -2
  1219. package/browser/schema-builder/table/TableExclusion.js +10 -3
  1220. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  1221. package/browser/schema-builder/table/TableForeignKey.d.ts +5 -3
  1222. package/browser/schema-builder/table/TableForeignKey.js +8 -3
  1223. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  1224. package/browser/schema-builder/table/TableIndex.d.ts +10 -2
  1225. package/browser/schema-builder/table/TableIndex.js +10 -3
  1226. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  1227. package/browser/schema-builder/table/TableUnique.d.ts +3 -2
  1228. package/browser/schema-builder/table/TableUnique.js +7 -3
  1229. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  1230. package/browser/schema-builder/util/TableUtils.d.ts +3 -3
  1231. package/browser/schema-builder/util/TableUtils.js +6 -5
  1232. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  1233. package/browser/schema-builder/util/ViewUtils.d.ts +3 -1
  1234. package/browser/schema-builder/util/ViewUtils.js +8 -3
  1235. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  1236. package/browser/schema-builder/view/View.d.ts +11 -3
  1237. package/browser/schema-builder/view/View.js +10 -3
  1238. package/browser/schema-builder/view/View.js.map +1 -1
  1239. package/browser/subscriber/Broadcaster.d.ts +76 -10
  1240. package/browser/subscriber/Broadcaster.js +157 -71
  1241. package/browser/subscriber/Broadcaster.js.map +1 -1
  1242. package/browser/subscriber/BroadcasterResult.js +6 -3
  1243. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  1244. package/browser/subscriber/EntitySubscriberInterface.d.ts +12 -12
  1245. package/browser/subscriber/EntitySubscriberInterface.js +3 -3
  1246. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  1247. package/browser/subscriber/event/BaseEvent.d.ts +27 -0
  1248. package/browser/subscriber/event/BaseEvent.js +3 -0
  1249. package/browser/subscriber/event/BaseEvent.js.map +1 -0
  1250. package/browser/subscriber/event/InsertEvent.d.ts +4 -20
  1251. package/browser/subscriber/event/InsertEvent.js +3 -3
  1252. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  1253. package/browser/subscriber/event/LoadEvent.d.ts +3 -19
  1254. package/browser/subscriber/event/LoadEvent.js +3 -3
  1255. package/browser/subscriber/event/LoadEvent.js.map +1 -1
  1256. package/browser/subscriber/event/QueryEvent.d.ts +4 -20
  1257. package/browser/subscriber/event/QueryEvent.js +3 -3
  1258. package/browser/subscriber/event/QueryEvent.js.map +1 -1
  1259. package/browser/subscriber/event/RecoverEvent.d.ts +1 -1
  1260. package/browser/subscriber/event/RecoverEvent.js +3 -3
  1261. package/browser/subscriber/event/RecoverEvent.js.map +1 -1
  1262. package/browser/subscriber/event/RemoveEvent.d.ts +3 -19
  1263. package/browser/subscriber/event/RemoveEvent.js +3 -3
  1264. package/browser/subscriber/event/RemoveEvent.js.map +1 -1
  1265. package/browser/subscriber/event/SoftRemoveEvent.d.ts +1 -1
  1266. package/browser/subscriber/event/SoftRemoveEvent.js +3 -3
  1267. package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -1
  1268. package/browser/subscriber/event/TransactionCommitEvent.d.ts +2 -18
  1269. package/browser/subscriber/event/TransactionCommitEvent.js +3 -3
  1270. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -1
  1271. package/browser/subscriber/event/TransactionRollbackEvent.d.ts +2 -18
  1272. package/browser/subscriber/event/TransactionRollbackEvent.js +3 -3
  1273. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  1274. package/browser/subscriber/event/TransactionStartEvent.d.ts +2 -18
  1275. package/browser/subscriber/event/TransactionStartEvent.js +3 -3
  1276. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -1
  1277. package/browser/subscriber/event/UpdateEvent.d.ts +6 -22
  1278. package/browser/subscriber/event/UpdateEvent.js +3 -3
  1279. package/browser/subscriber/event/UpdateEvent.js.map +1 -1
  1280. package/browser/util/ApplyValueTransformers.d.ts +1 -1
  1281. package/browser/util/ApplyValueTransformers.js +11 -3
  1282. package/browser/util/ApplyValueTransformers.js.map +1 -1
  1283. package/browser/util/DateUtils.d.ts +36 -1
  1284. package/browser/util/DateUtils.js +63 -11
  1285. package/browser/util/DateUtils.js.map +1 -1
  1286. package/browser/util/DepGraph.d.ts +16 -0
  1287. package/browser/util/DepGraph.js +30 -12
  1288. package/browser/util/DepGraph.js.map +1 -1
  1289. package/browser/util/DirectoryExportedClassesLoader.d.ts +4 -5
  1290. package/browser/util/DirectoryExportedClassesLoader.js +23 -24
  1291. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  1292. package/browser/util/ImportUtils.d.ts +4 -0
  1293. package/browser/util/ImportUtils.js +28 -12
  1294. package/browser/util/ImportUtils.js.map +1 -1
  1295. package/browser/util/InstanceChecker.d.ts +2 -2
  1296. package/browser/util/InstanceChecker.js +6 -3
  1297. package/browser/util/InstanceChecker.js.map +1 -1
  1298. package/browser/util/ObjectUtils.d.ts +4 -1
  1299. package/browser/util/ObjectUtils.js +9 -3
  1300. package/browser/util/ObjectUtils.js.map +1 -1
  1301. package/browser/util/OrmUtils.d.ts +43 -4
  1302. package/browser/util/OrmUtils.js +119 -20
  1303. package/browser/util/OrmUtils.js.map +1 -1
  1304. package/browser/util/PathUtils.d.ts +6 -0
  1305. package/browser/util/PathUtils.js +17 -7
  1306. package/browser/util/PathUtils.js.map +1 -1
  1307. package/browser/util/RandomGenerator.d.ts +9 -0
  1308. package/browser/util/RandomGenerator.js +107 -69
  1309. package/browser/util/RandomGenerator.js.map +1 -1
  1310. package/browser/util/SqlTagUtils.d.ts +8 -1
  1311. package/browser/util/SqlTagUtils.js +15 -5
  1312. package/browser/util/SqlTagUtils.js.map +1 -1
  1313. package/browser/util/StringUtils.d.ts +13 -8
  1314. package/browser/util/StringUtils.js +50 -22
  1315. package/browser/util/StringUtils.js.map +1 -1
  1316. package/browser/util/TreeRepositoryUtils.d.ts +3 -3
  1317. package/browser/util/TreeRepositoryUtils.js +8 -5
  1318. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  1319. package/browser/util/Uint8ArrayUtils.d.ts +3 -0
  1320. package/browser/util/Uint8ArrayUtils.js +45 -0
  1321. package/browser/util/Uint8ArrayUtils.js.map +1 -0
  1322. package/browser/util/VersionUtils.js +10 -3
  1323. package/browser/util/VersionUtils.js.map +1 -1
  1324. package/browser/util/escapeRegExp.js +6 -3
  1325. package/browser/util/escapeRegExp.js.map +1 -1
  1326. package/cache/DbQueryResultCache.d.ts +17 -6
  1327. package/cache/DbQueryResultCache.js +31 -21
  1328. package/cache/DbQueryResultCache.js.map +1 -1
  1329. package/cache/QueryResultCache.d.ts +2 -2
  1330. package/cache/QueryResultCache.js +1 -2
  1331. package/cache/QueryResultCache.js.map +1 -1
  1332. package/cache/QueryResultCacheFactory.d.ts +4 -4
  1333. package/cache/QueryResultCacheFactory.js +8 -9
  1334. package/cache/QueryResultCacheFactory.js.map +1 -1
  1335. package/cache/QueryResultCacheOptions.js +1 -2
  1336. package/cache/QueryResultCacheOptions.js.map +1 -1
  1337. package/cache/RedisQueryResultCache.d.ts +18 -19
  1338. package/cache/RedisQueryResultCache.js +43 -123
  1339. package/cache/RedisQueryResultCache.js.map +1 -1
  1340. package/cli-ts-node-commonjs.js +1 -2
  1341. package/cli-ts-node-commonjs.js.map +1 -1
  1342. package/cli-ts-node-esm.js +1 -2
  1343. package/cli-ts-node-esm.js.map +1 -1
  1344. package/cli.js +19 -19
  1345. package/cli.js.map +1 -1
  1346. package/commands/CacheClearCommand.d.ts +1 -1
  1347. package/commands/CacheClearCommand.js +1 -2
  1348. package/commands/CacheClearCommand.js.map +1 -1
  1349. package/commands/CommandUtils.d.ts +7 -1
  1350. package/commands/CommandUtils.js +10 -4
  1351. package/commands/CommandUtils.js.map +1 -1
  1352. package/commands/EntityCreateCommand.d.ts +2 -1
  1353. package/commands/EntityCreateCommand.js +2 -2
  1354. package/commands/EntityCreateCommand.js.map +1 -1
  1355. package/commands/InitCommand.d.ts +19 -2
  1356. package/commands/InitCommand.js +115 -85
  1357. package/commands/InitCommand.js.map +1 -1
  1358. package/commands/MigrationCreateCommand.d.ts +6 -1
  1359. package/commands/MigrationCreateCommand.js +6 -2
  1360. package/commands/MigrationCreateCommand.js.map +1 -1
  1361. package/commands/MigrationGenerateCommand.d.ts +12 -1
  1362. package/commands/MigrationGenerateCommand.js +13 -3
  1363. package/commands/MigrationGenerateCommand.js.map +1 -1
  1364. package/commands/MigrationRevertCommand.d.ts +1 -1
  1365. package/commands/MigrationRevertCommand.js +1 -2
  1366. package/commands/MigrationRevertCommand.js.map +1 -1
  1367. package/commands/MigrationRunCommand.d.ts +1 -1
  1368. package/commands/MigrationRunCommand.js +5 -6
  1369. package/commands/MigrationRunCommand.js.map +1 -1
  1370. package/commands/MigrationShowCommand.d.ts +1 -1
  1371. package/commands/MigrationShowCommand.js +1 -2
  1372. package/commands/MigrationShowCommand.js.map +1 -1
  1373. package/commands/QueryCommand.d.ts +1 -1
  1374. package/commands/QueryCommand.js +1 -2
  1375. package/commands/QueryCommand.js.map +1 -1
  1376. package/commands/SchemaDropCommand.d.ts +1 -1
  1377. package/commands/SchemaDropCommand.js +1 -2
  1378. package/commands/SchemaDropCommand.js.map +1 -1
  1379. package/commands/SchemaLogCommand.d.ts +1 -1
  1380. package/commands/SchemaLogCommand.js +1 -2
  1381. package/commands/SchemaLogCommand.js.map +1 -1
  1382. package/commands/SchemaSyncCommand.d.ts +1 -1
  1383. package/commands/SchemaSyncCommand.js +1 -2
  1384. package/commands/SchemaSyncCommand.js.map +1 -1
  1385. package/commands/SubscriberCreateCommand.d.ts +2 -1
  1386. package/commands/SubscriberCreateCommand.js +2 -2
  1387. package/commands/SubscriberCreateCommand.js.map +1 -1
  1388. package/commands/VersionCommand.d.ts +1 -1
  1389. package/commands/VersionCommand.js +1 -2
  1390. package/commands/VersionCommand.js.map +1 -1
  1391. package/common/DeepPartial.js +1 -2
  1392. package/common/DeepPartial.js.map +1 -1
  1393. package/common/EntityTarget.d.ts +2 -2
  1394. package/common/EntityTarget.js +1 -2
  1395. package/common/EntityTarget.js.map +1 -1
  1396. package/common/MixedList.js +1 -2
  1397. package/common/MixedList.js.map +1 -1
  1398. package/common/NonNever.d.ts +1 -1
  1399. package/common/NonNever.js +1 -2
  1400. package/common/NonNever.js.map +1 -1
  1401. package/common/ObjectLiteral.js +1 -2
  1402. package/common/ObjectLiteral.js.map +1 -1
  1403. package/common/ObjectType.js +1 -2
  1404. package/common/ObjectType.js.map +1 -1
  1405. package/common/PickKeysByType.js +1 -2
  1406. package/common/PickKeysByType.js.map +1 -1
  1407. package/common/PrimitiveCriteria.js +1 -2
  1408. package/common/PrimitiveCriteria.js.map +1 -1
  1409. package/common/RelationType.d.ts +5 -5
  1410. package/common/RelationType.js +1 -2
  1411. package/common/RelationType.js.map +1 -1
  1412. package/connection/ConnectionMetadataBuilder.d.ts +10 -7
  1413. package/connection/ConnectionMetadataBuilder.js +13 -12
  1414. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  1415. package/connection/ConnectionOptionsReader.d.ts +3 -11
  1416. package/connection/ConnectionOptionsReader.js +26 -59
  1417. package/connection/ConnectionOptionsReader.js.map +1 -1
  1418. package/data-source/BaseDataSourceOptions.d.ts +13 -20
  1419. package/data-source/BaseDataSourceOptions.js +1 -2
  1420. package/data-source/BaseDataSourceOptions.js.map +1 -1
  1421. package/data-source/DataSource.d.ts +50 -61
  1422. package/data-source/DataSource.js +38 -49
  1423. package/data-source/DataSource.js.map +1 -1
  1424. package/data-source/DataSourceOptions.d.ts +18 -19
  1425. package/data-source/DataSourceOptions.js +1 -2
  1426. package/data-source/DataSourceOptions.js.map +1 -1
  1427. package/data-source/index.d.ts +1 -1
  1428. package/data-source/index.js +1 -3
  1429. package/data-source/index.js.map +1 -1
  1430. package/decorator/Check.d.ts +3 -0
  1431. package/decorator/Check.js +3 -2
  1432. package/decorator/Check.js.map +1 -1
  1433. package/decorator/Exclusion.d.ts +8 -2
  1434. package/decorator/Exclusion.js +10 -5
  1435. package/decorator/Exclusion.js.map +1 -1
  1436. package/decorator/ForeignKey.d.ts +11 -2
  1437. package/decorator/ForeignKey.js +5 -2
  1438. package/decorator/ForeignKey.js.map +1 -1
  1439. package/decorator/Generated.d.ts +1 -0
  1440. package/decorator/Generated.js +2 -2
  1441. package/decorator/Generated.js.map +1 -1
  1442. package/decorator/Index.d.ts +17 -1
  1443. package/decorator/Index.js +5 -2
  1444. package/decorator/Index.js.map +1 -1
  1445. package/decorator/Unique.d.ts +11 -1
  1446. package/decorator/Unique.js +4 -2
  1447. package/decorator/Unique.js.map +1 -1
  1448. package/decorator/columns/Column.d.ts +31 -10
  1449. package/decorator/columns/Column.js +3 -2
  1450. package/decorator/columns/Column.js.map +1 -1
  1451. package/decorator/columns/CreateDateColumn.d.ts +2 -1
  1452. package/decorator/columns/CreateDateColumn.js +2 -2
  1453. package/decorator/columns/CreateDateColumn.js.map +1 -1
  1454. package/decorator/columns/DeleteDateColumn.d.ts +2 -1
  1455. package/decorator/columns/DeleteDateColumn.js +2 -2
  1456. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  1457. package/decorator/columns/ObjectIdColumn.d.ts +2 -1
  1458. package/decorator/columns/ObjectIdColumn.js +2 -2
  1459. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  1460. package/decorator/columns/PrimaryColumn.d.ts +5 -2
  1461. package/decorator/columns/PrimaryColumn.js +3 -2
  1462. package/decorator/columns/PrimaryColumn.js.map +1 -1
  1463. package/decorator/columns/PrimaryGeneratedColumn.d.ts +10 -3
  1464. package/decorator/columns/PrimaryGeneratedColumn.js +3 -2
  1465. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  1466. package/decorator/columns/UpdateDateColumn.d.ts +2 -1
  1467. package/decorator/columns/UpdateDateColumn.js +2 -2
  1468. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  1469. package/decorator/columns/VersionColumn.d.ts +2 -1
  1470. package/decorator/columns/VersionColumn.js +2 -2
  1471. package/decorator/columns/VersionColumn.js.map +1 -1
  1472. package/decorator/columns/ViewColumn.d.ts +2 -1
  1473. package/decorator/columns/ViewColumn.js +2 -2
  1474. package/decorator/columns/ViewColumn.js.map +1 -1
  1475. package/decorator/columns/VirtualColumn.d.ts +5 -2
  1476. package/decorator/columns/VirtualColumn.js +3 -2
  1477. package/decorator/columns/VirtualColumn.js.map +1 -1
  1478. package/decorator/entity/ChildEntity.d.ts +1 -0
  1479. package/decorator/entity/ChildEntity.js +2 -2
  1480. package/decorator/entity/ChildEntity.js.map +1 -1
  1481. package/decorator/entity/Entity.d.ts +4 -1
  1482. package/decorator/entity/Entity.js +3 -2
  1483. package/decorator/entity/Entity.js.map +1 -1
  1484. package/decorator/entity/TableInheritance.d.ts +4 -1
  1485. package/decorator/entity/TableInheritance.js +4 -2
  1486. package/decorator/entity/TableInheritance.js.map +1 -1
  1487. package/decorator/entity-view/ViewEntity.d.ts +4 -1
  1488. package/decorator/entity-view/ViewEntity.js +3 -2
  1489. package/decorator/entity-view/ViewEntity.js.map +1 -1
  1490. package/decorator/listeners/AfterInsert.js +1 -2
  1491. package/decorator/listeners/AfterInsert.js.map +1 -1
  1492. package/decorator/listeners/AfterLoad.js +1 -2
  1493. package/decorator/listeners/AfterLoad.js.map +1 -1
  1494. package/decorator/listeners/AfterRecover.js +1 -2
  1495. package/decorator/listeners/AfterRecover.js.map +1 -1
  1496. package/decorator/listeners/AfterRemove.js +1 -2
  1497. package/decorator/listeners/AfterRemove.js.map +1 -1
  1498. package/decorator/listeners/AfterSoftRemove.js +1 -2
  1499. package/decorator/listeners/AfterSoftRemove.js.map +1 -1
  1500. package/decorator/listeners/AfterUpdate.js +1 -2
  1501. package/decorator/listeners/AfterUpdate.js.map +1 -1
  1502. package/decorator/listeners/BeforeInsert.js +1 -2
  1503. package/decorator/listeners/BeforeInsert.js.map +1 -1
  1504. package/decorator/listeners/BeforeRecover.js +1 -2
  1505. package/decorator/listeners/BeforeRecover.js.map +1 -1
  1506. package/decorator/listeners/BeforeRemove.js +1 -2
  1507. package/decorator/listeners/BeforeRemove.js.map +1 -1
  1508. package/decorator/listeners/BeforeSoftRemove.js +1 -2
  1509. package/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  1510. package/decorator/listeners/BeforeUpdate.js +1 -2
  1511. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  1512. package/decorator/listeners/EventSubscriber.js +1 -2
  1513. package/decorator/listeners/EventSubscriber.js.map +1 -1
  1514. package/decorator/options/ColumnCommonOptions.d.ts +2 -2
  1515. package/decorator/options/ColumnCommonOptions.js +1 -2
  1516. package/decorator/options/ColumnCommonOptions.js.map +1 -1
  1517. package/decorator/options/ColumnEmbeddedOptions.js +1 -2
  1518. package/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  1519. package/decorator/options/ColumnEnumOptions.js +1 -2
  1520. package/decorator/options/ColumnEnumOptions.js.map +1 -1
  1521. package/decorator/options/ColumnHstoreOptions.js +1 -2
  1522. package/decorator/options/ColumnHstoreOptions.js.map +1 -1
  1523. package/decorator/options/ColumnNumericOptions.d.ts +0 -16
  1524. package/decorator/options/ColumnNumericOptions.js +1 -2
  1525. package/decorator/options/ColumnNumericOptions.js.map +1 -1
  1526. package/decorator/options/ColumnOptions.d.ts +8 -33
  1527. package/decorator/options/ColumnOptions.js +1 -2
  1528. package/decorator/options/ColumnOptions.js.map +1 -1
  1529. package/decorator/options/ColumnUnsignedOptions.d.ts +1 -20
  1530. package/decorator/options/ColumnUnsignedOptions.js +1 -2
  1531. package/decorator/options/ColumnUnsignedOptions.js.map +1 -1
  1532. package/decorator/options/ColumnWithLengthOptions.js +1 -2
  1533. package/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  1534. package/decorator/options/EntityOptions.d.ts +1 -1
  1535. package/decorator/options/EntityOptions.js +1 -2
  1536. package/decorator/options/EntityOptions.js.map +1 -1
  1537. package/decorator/options/ExclusionOptions.d.ts +10 -0
  1538. package/decorator/options/ExclusionOptions.js +3 -0
  1539. package/decorator/options/ExclusionOptions.js.map +1 -0
  1540. package/decorator/options/ForeignKeyOptions.d.ts +3 -3
  1541. package/decorator/options/ForeignKeyOptions.js +1 -2
  1542. package/decorator/options/ForeignKeyOptions.js.map +1 -1
  1543. package/decorator/options/IndexOptions.d.ts +7 -0
  1544. package/decorator/options/IndexOptions.js +1 -2
  1545. package/decorator/options/IndexOptions.js.map +1 -1
  1546. package/decorator/options/JoinColumnOptions.js +1 -2
  1547. package/decorator/options/JoinColumnOptions.js.map +1 -1
  1548. package/decorator/options/JoinTableMultipleColumnsOptions.d.ts +1 -1
  1549. package/decorator/options/JoinTableMultipleColumnsOptions.js +1 -2
  1550. package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  1551. package/decorator/options/JoinTableOptions.d.ts +1 -1
  1552. package/decorator/options/JoinTableOptions.js +1 -2
  1553. package/decorator/options/JoinTableOptions.js.map +1 -1
  1554. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +1 -1
  1555. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +1 -2
  1556. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  1557. package/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +1 -9
  1558. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -2
  1559. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  1560. package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -2
  1561. package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  1562. package/decorator/options/RelationOptions.d.ts +3 -3
  1563. package/decorator/options/RelationOptions.js +1 -2
  1564. package/decorator/options/RelationOptions.js.map +1 -1
  1565. package/decorator/options/SpatialColumnOptions.d.ts +1 -1
  1566. package/decorator/options/SpatialColumnOptions.js +1 -2
  1567. package/decorator/options/SpatialColumnOptions.js.map +1 -1
  1568. package/decorator/options/TransactionOptions.d.ts +1 -1
  1569. package/decorator/options/TransactionOptions.js +1 -2
  1570. package/decorator/options/TransactionOptions.js.map +1 -1
  1571. package/decorator/options/UniqueOptions.d.ts +1 -1
  1572. package/decorator/options/UniqueOptions.js +1 -2
  1573. package/decorator/options/UniqueOptions.js.map +1 -1
  1574. package/decorator/options/ValueTransformer.js +1 -2
  1575. package/decorator/options/ValueTransformer.js.map +1 -1
  1576. package/decorator/options/ViewColumnOptions.d.ts +1 -1
  1577. package/decorator/options/ViewColumnOptions.js +1 -2
  1578. package/decorator/options/ViewColumnOptions.js.map +1 -1
  1579. package/decorator/options/ViewEntityOptions.d.ts +3 -2
  1580. package/decorator/options/ViewEntityOptions.js +1 -2
  1581. package/decorator/options/ViewEntityOptions.js.map +1 -1
  1582. package/decorator/options/VirtualColumnOptions.d.ts +3 -3
  1583. package/decorator/options/VirtualColumnOptions.js +1 -2
  1584. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  1585. package/decorator/relations/JoinColumn.d.ts +3 -1
  1586. package/decorator/relations/JoinColumn.js +2 -2
  1587. package/decorator/relations/JoinColumn.js.map +1 -1
  1588. package/decorator/relations/JoinTable.d.ts +4 -2
  1589. package/decorator/relations/JoinTable.js +2 -2
  1590. package/decorator/relations/JoinTable.js.map +1 -1
  1591. package/decorator/relations/ManyToMany.d.ts +7 -2
  1592. package/decorator/relations/ManyToMany.js +4 -2
  1593. package/decorator/relations/ManyToMany.js.map +1 -1
  1594. package/decorator/relations/ManyToOne.d.ts +7 -2
  1595. package/decorator/relations/ManyToOne.js +4 -2
  1596. package/decorator/relations/ManyToOne.js.map +1 -1
  1597. package/decorator/relations/OneToMany.d.ts +5 -2
  1598. package/decorator/relations/OneToMany.js +4 -2
  1599. package/decorator/relations/OneToMany.js.map +1 -1
  1600. package/decorator/relations/OneToOne.d.ts +7 -2
  1601. package/decorator/relations/OneToOne.js +4 -2
  1602. package/decorator/relations/OneToOne.js.map +1 -1
  1603. package/decorator/relations/RelationId.d.ts +4 -2
  1604. package/decorator/relations/RelationId.js +4 -3
  1605. package/decorator/relations/RelationId.js.map +1 -1
  1606. package/decorator/tree/Tree.d.ts +6 -4
  1607. package/decorator/tree/Tree.js +5 -4
  1608. package/decorator/tree/Tree.js.map +1 -1
  1609. package/decorator/tree/TreeChildren.d.ts +2 -0
  1610. package/decorator/tree/TreeChildren.js +3 -2
  1611. package/decorator/tree/TreeChildren.js.map +1 -1
  1612. package/decorator/tree/TreeLevelColumn.js +1 -2
  1613. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  1614. package/decorator/tree/TreeParent.d.ts +3 -1
  1615. package/decorator/tree/TreeParent.js +3 -2
  1616. package/decorator/tree/TreeParent.js.map +1 -1
  1617. package/driver/Driver.d.ts +32 -21
  1618. package/driver/Driver.js +1 -2
  1619. package/driver/Driver.js.map +1 -1
  1620. package/driver/DriverFactory.d.ts +5 -3
  1621. package/driver/DriverFactory.js +48 -51
  1622. package/driver/DriverFactory.js.map +1 -1
  1623. package/driver/DriverUtils.d.ts +13 -11
  1624. package/driver/DriverUtils.js +18 -24
  1625. package/driver/DriverUtils.js.map +1 -1
  1626. package/driver/Query.js +1 -2
  1627. package/driver/Query.js.map +1 -1
  1628. package/driver/SqlInMemory.d.ts +1 -1
  1629. package/driver/SqlInMemory.js +1 -2
  1630. package/driver/SqlInMemory.js.map +1 -1
  1631. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +0 -1
  1632. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +1 -2
  1633. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  1634. package/{browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts → driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts} +4 -5
  1635. package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js +3 -0
  1636. package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -0
  1637. package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +66 -28
  1638. package/driver/aurora-mysql/AuroraMysqlDriver.js +76 -64
  1639. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  1640. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +168 -32
  1641. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +245 -135
  1642. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  1643. package/{browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts → driver/aurora-postgres/AuroraPostgresDataSourceOptions.d.ts} +2 -2
  1644. package/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js +3 -0
  1645. package/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js.map +1 -0
  1646. package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +15 -13
  1647. package/driver/aurora-postgres/AuroraPostgresDriver.js +17 -11
  1648. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  1649. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +11 -9
  1650. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +7 -2
  1651. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  1652. package/{browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts → driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts} +5 -3
  1653. package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js +3 -0
  1654. package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -0
  1655. package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +13 -12
  1656. package/driver/better-sqlite3/BetterSqlite3Driver.js +19 -16
  1657. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  1658. package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +4 -1
  1659. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +23 -16
  1660. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  1661. package/driver/capacitor/{CapacitorConnectionOptions.d.ts → CapacitorDataSourceOptions.d.ts} +2 -2
  1662. package/driver/capacitor/CapacitorDataSourceOptions.js +3 -0
  1663. package/driver/capacitor/CapacitorDataSourceOptions.js.map +1 -0
  1664. package/driver/capacitor/CapacitorDriver.d.ts +7 -6
  1665. package/driver/capacitor/CapacitorDriver.js +5 -5
  1666. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  1667. package/driver/capacitor/CapacitorQueryRunner.d.ts +6 -2
  1668. package/driver/capacitor/CapacitorQueryRunner.js +11 -8
  1669. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  1670. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -1
  1671. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -2
  1672. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  1673. package/{browser/driver/cockroachdb/CockroachConnectionOptions.d.ts → driver/cockroachdb/CockroachDataSourceOptions.d.ts} +4 -4
  1674. package/driver/cockroachdb/CockroachDataSourceOptions.js +3 -0
  1675. package/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -0
  1676. package/driver/cockroachdb/CockroachDriver.d.ts +79 -27
  1677. package/driver/cockroachdb/CockroachDriver.js +121 -45
  1678. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  1679. package/driver/cockroachdb/CockroachQueryRunner.d.ts +203 -31
  1680. package/driver/cockroachdb/CockroachQueryRunner.js +370 -160
  1681. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  1682. package/driver/cordova/{CordovaConnectionOptions.d.ts → CordovaDataSourceOptions.d.ts} +2 -2
  1683. package/driver/cordova/CordovaDataSourceOptions.js +3 -0
  1684. package/driver/cordova/CordovaDataSourceOptions.js.map +1 -0
  1685. package/driver/cordova/CordovaDriver.d.ts +7 -6
  1686. package/driver/cordova/CordovaDriver.js +5 -7
  1687. package/driver/cordova/CordovaDriver.js.map +1 -1
  1688. package/driver/cordova/CordovaQueryRunner.d.ts +7 -35
  1689. package/driver/cordova/CordovaQueryRunner.js +11 -39
  1690. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  1691. package/driver/expo/{ExpoConnectionOptions.d.ts → ExpoDataSourceOptions.d.ts} +2 -2
  1692. package/driver/expo/ExpoDataSourceOptions.js +3 -0
  1693. package/driver/expo/ExpoDataSourceOptions.js.map +1 -0
  1694. package/driver/expo/ExpoDriver.d.ts +6 -5
  1695. package/driver/expo/ExpoDriver.js +10 -4
  1696. package/driver/expo/ExpoDriver.js.map +1 -1
  1697. package/driver/expo/ExpoQueryRunner.d.ts +1 -1
  1698. package/driver/expo/ExpoQueryRunner.js +5 -6
  1699. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  1700. package/{browser/driver/mongodb/MongoConnectionOptions.d.ts → driver/mongodb/MongoDataSourceOptions.d.ts} +7 -69
  1701. package/driver/mongodb/MongoDataSourceOptions.js +3 -0
  1702. package/driver/mongodb/MongoDataSourceOptions.js.map +1 -0
  1703. package/driver/mongodb/MongoDriver.d.ts +51 -23
  1704. package/driver/mongodb/MongoDriver.js +41 -33
  1705. package/driver/mongodb/MongoDriver.js.map +1 -1
  1706. package/driver/mongodb/MongoQueryRunner.d.ts +239 -83
  1707. package/driver/mongodb/MongoQueryRunner.js +234 -68
  1708. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  1709. package/driver/mongodb/bson.typings.d.ts +604 -97
  1710. package/driver/mongodb/bson.typings.js +2 -2
  1711. package/driver/mongodb/bson.typings.js.map +1 -1
  1712. package/driver/mongodb/typings.d.ts +3577 -1025
  1713. package/driver/mongodb/typings.js +3 -3
  1714. package/driver/mongodb/typings.js.map +1 -1
  1715. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +0 -1
  1716. package/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -2
  1717. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  1718. package/{browser/driver/mysql/MysqlConnectionOptions.d.ts → driver/mysql/MysqlDataSourceOptions.d.ts} +6 -13
  1719. package/driver/mysql/MysqlDataSourceOptions.js +3 -0
  1720. package/driver/mysql/MysqlDataSourceOptions.js.map +1 -0
  1721. package/driver/mysql/MysqlDriver.d.ts +69 -37
  1722. package/driver/mysql/MysqlDriver.js +91 -205
  1723. package/driver/mysql/MysqlDriver.js.map +1 -1
  1724. package/driver/mysql/MysqlQueryRunner.d.ts +167 -33
  1725. package/driver/mysql/MysqlQueryRunner.js +265 -146
  1726. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  1727. package/{browser/driver/nativescript/NativescriptConnectionOptions.d.ts → driver/nativescript/NativescriptDataSourceOptions.d.ts} +2 -2
  1728. package/driver/nativescript/NativescriptDataSourceOptions.js +3 -0
  1729. package/driver/nativescript/NativescriptDataSourceOptions.js.map +1 -0
  1730. package/driver/nativescript/NativescriptDriver.d.ts +9 -8
  1731. package/driver/nativescript/NativescriptDriver.js +7 -8
  1732. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  1733. package/driver/nativescript/NativescriptQueryRunner.d.ts +7 -2
  1734. package/driver/nativescript/NativescriptQueryRunner.js +8 -4
  1735. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  1736. package/driver/oracle/OracleConnectionCredentialsOptions.js +1 -2
  1737. package/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  1738. package/{browser/driver/oracle/OracleConnectionOptions.d.ts → driver/oracle/OracleDataSourceOptions.d.ts} +3 -3
  1739. package/driver/oracle/OracleDataSourceOptions.js +3 -0
  1740. package/driver/oracle/OracleDataSourceOptions.js.map +1 -0
  1741. package/driver/oracle/OracleDriver.d.ts +65 -28
  1742. package/driver/oracle/OracleDriver.js +60 -23
  1743. package/driver/oracle/OracleDriver.js.map +1 -1
  1744. package/driver/oracle/OracleQueryRunner.d.ts +176 -29
  1745. package/driver/oracle/OracleQueryRunner.js +271 -100
  1746. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  1747. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  1748. package/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -2
  1749. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  1750. package/{browser/driver/postgres/PostgresConnectionOptions.d.ts → driver/postgres/PostgresDataSourceOptions.d.ts} +8 -5
  1751. package/driver/postgres/PostgresDataSourceOptions.js +3 -0
  1752. package/driver/postgres/PostgresDataSourceOptions.js.map +1 -0
  1753. package/driver/postgres/PostgresDriver.d.ts +85 -28
  1754. package/driver/postgres/PostgresDriver.js +201 -41
  1755. package/driver/postgres/PostgresDriver.js.map +1 -1
  1756. package/driver/postgres/PostgresQueryRunner.d.ts +225 -34
  1757. package/driver/postgres/PostgresQueryRunner.js +497 -219
  1758. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  1759. package/{browser/driver/react-native/ReactNativeConnectionOptions.d.ts → driver/react-native/ReactNativeDataSourceOptions.d.ts} +6 -2
  1760. package/driver/react-native/ReactNativeDataSourceOptions.js +3 -0
  1761. package/driver/react-native/ReactNativeDataSourceOptions.js.map +1 -0
  1762. package/driver/react-native/ReactNativeDriver.d.ts +64 -24
  1763. package/driver/react-native/ReactNativeDriver.js +60 -22
  1764. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  1765. package/driver/react-native/ReactNativeQueryRunner.d.ts +7 -2
  1766. package/driver/react-native/ReactNativeQueryRunner.js +10 -6
  1767. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  1768. package/driver/sap/SapConnectionCredentialsOptions.js +1 -2
  1769. package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  1770. package/driver/sap/{SapConnectionOptions.d.ts → SapDataSourceOptions.d.ts} +10 -37
  1771. package/driver/sap/SapDataSourceOptions.js +3 -0
  1772. package/driver/sap/SapDataSourceOptions.js.map +1 -0
  1773. package/driver/sap/SapDriver.d.ts +54 -17
  1774. package/driver/sap/SapDriver.js +48 -25
  1775. package/driver/sap/SapDriver.js.map +1 -1
  1776. package/driver/sap/SapQueryRunner.d.ts +179 -31
  1777. package/driver/sap/SapQueryRunner.js +316 -118
  1778. package/driver/sap/SapQueryRunner.js.map +1 -1
  1779. package/driver/spanner/SpannerConnectionCredentialsOptions.js +1 -2
  1780. package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  1781. package/{browser/driver/spanner/SpannerConnectionOptions.d.ts → driver/spanner/SpannerDataSourceOptions.d.ts} +4 -4
  1782. package/driver/spanner/SpannerDataSourceOptions.js +3 -0
  1783. package/driver/spanner/SpannerDataSourceOptions.js.map +1 -0
  1784. package/driver/spanner/SpannerDriver.d.ts +61 -23
  1785. package/driver/spanner/SpannerDriver.js +57 -21
  1786. package/driver/spanner/SpannerDriver.js.map +1 -1
  1787. package/driver/spanner/SpannerQueryRunner.d.ts +170 -28
  1788. package/driver/spanner/SpannerQueryRunner.js +243 -75
  1789. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  1790. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +74 -23
  1791. package/driver/sqlite-abstract/AbstractSqliteDriver.js +131 -26
  1792. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  1793. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +164 -30
  1794. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +242 -82
  1795. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  1796. package/{browser/driver/sqljs/SqljsConnectionOptions.d.ts → driver/sqljs/SqljsDataSourceOptions.d.ts} +2 -2
  1797. package/driver/sqljs/SqljsDataSourceOptions.js +3 -0
  1798. package/driver/sqljs/SqljsDataSourceOptions.js.map +1 -0
  1799. package/driver/sqljs/SqljsDriver.d.ts +15 -8
  1800. package/driver/sqljs/SqljsDriver.js +17 -11
  1801. package/driver/sqljs/SqljsDriver.js.map +1 -1
  1802. package/driver/sqljs/SqljsQueryRunner.d.ts +4 -1
  1803. package/driver/sqljs/SqljsQueryRunner.js +8 -6
  1804. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  1805. package/driver/sqlserver/MssqlParameter.d.ts +0 -1
  1806. package/driver/sqlserver/MssqlParameter.js +1 -3
  1807. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  1808. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +8 -15
  1809. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -2
  1810. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  1811. package/driver/sqlserver/{SqlServerConnectionOptions.d.ts → SqlServerDataSourceOptions.d.ts} +4 -4
  1812. package/driver/sqlserver/SqlServerDataSourceOptions.js +3 -0
  1813. package/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -0
  1814. package/driver/sqlserver/SqlServerDriver.d.ts +70 -28
  1815. package/driver/sqlserver/SqlServerDriver.js +66 -34
  1816. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  1817. package/driver/sqlserver/SqlServerQueryRunner.d.ts +190 -30
  1818. package/driver/sqlserver/SqlServerQueryRunner.js +377 -155
  1819. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  1820. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +1 -2
  1821. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  1822. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +1 -2
  1823. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
  1824. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +1 -2
  1825. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  1826. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +1 -2
  1827. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  1828. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +1 -2
  1829. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  1830. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +1 -2
  1831. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  1832. package/driver/sqlserver/authentication/DefaultAuthentication.js +1 -2
  1833. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  1834. package/driver/sqlserver/authentication/NtlmAuthentication.js +1 -2
  1835. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  1836. package/driver/types/ColumnTypes.d.ts +1 -1
  1837. package/driver/types/ColumnTypes.js +1 -2
  1838. package/driver/types/ColumnTypes.js.map +1 -1
  1839. package/driver/types/CteCapabilities.js +1 -2
  1840. package/driver/types/CteCapabilities.js.map +1 -1
  1841. package/driver/types/DataTypeDefaults.d.ts +0 -1
  1842. package/driver/types/DataTypeDefaults.js +1 -2
  1843. package/driver/types/DataTypeDefaults.js.map +1 -1
  1844. package/driver/types/DatabaseType.d.ts +1 -1
  1845. package/driver/types/DatabaseType.js +1 -2
  1846. package/driver/types/DatabaseType.js.map +1 -1
  1847. package/driver/types/GeoJsonTypes.js +1 -2
  1848. package/driver/types/GeoJsonTypes.js.map +1 -1
  1849. package/driver/types/IsolationLevel.js +1 -2
  1850. package/driver/types/IsolationLevel.js.map +1 -1
  1851. package/driver/types/MappedColumnTypes.d.ts +1 -1
  1852. package/driver/types/MappedColumnTypes.js +1 -2
  1853. package/driver/types/MappedColumnTypes.js.map +1 -1
  1854. package/driver/types/MetadataTableType.js +1 -2
  1855. package/driver/types/MetadataTableType.js.map +1 -1
  1856. package/driver/types/ReplicationMode.js +1 -2
  1857. package/driver/types/ReplicationMode.js.map +1 -1
  1858. package/driver/types/ReturningType.d.ts +1 -0
  1859. package/driver/types/ReturningType.js +3 -0
  1860. package/driver/types/ReturningType.js.map +1 -0
  1861. package/driver/types/UpsertType.js +1 -2
  1862. package/driver/types/UpsertType.js.map +1 -1
  1863. package/entity-manager/EntityManager.d.ts +111 -57
  1864. package/entity-manager/EntityManager.js +191 -153
  1865. package/entity-manager/EntityManager.js.map +1 -1
  1866. package/entity-manager/EntityManagerFactory.d.ts +6 -3
  1867. package/entity-manager/EntityManagerFactory.js +10 -8
  1868. package/entity-manager/EntityManagerFactory.js.map +1 -1
  1869. package/entity-manager/MongoEntityManager.d.ts +156 -30
  1870. package/entity-manager/MongoEntityManager.js +262 -89
  1871. package/entity-manager/MongoEntityManager.js.map +1 -1
  1872. package/entity-manager/SqljsEntityManager.d.ts +5 -3
  1873. package/entity-manager/SqljsEntityManager.js +6 -5
  1874. package/entity-manager/SqljsEntityManager.js.map +1 -1
  1875. package/entity-schema/EntitySchema.d.ts +1 -1
  1876. package/entity-schema/EntitySchema.js +1 -2
  1877. package/entity-schema/EntitySchema.js.map +1 -1
  1878. package/entity-schema/EntitySchemaCheckOptions.js +1 -2
  1879. package/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  1880. package/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +2 -2
  1881. package/entity-schema/EntitySchemaColumnForeignKeyOptions.js +1 -2
  1882. package/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -1
  1883. package/entity-schema/EntitySchemaColumnOptions.d.ts +6 -26
  1884. package/entity-schema/EntitySchemaColumnOptions.js +1 -2
  1885. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  1886. package/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +1 -1
  1887. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js +1 -2
  1888. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  1889. package/entity-schema/EntitySchemaEmbeddedError.js +1 -2
  1890. package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  1891. package/entity-schema/EntitySchemaExclusionOptions.d.ts +5 -0
  1892. package/entity-schema/EntitySchemaExclusionOptions.js +1 -2
  1893. package/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  1894. package/entity-schema/EntitySchemaForeignKeyOptions.d.ts +2 -2
  1895. package/entity-schema/EntitySchemaForeignKeyOptions.js +1 -2
  1896. package/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -1
  1897. package/entity-schema/EntitySchemaIndexOptions.js +1 -2
  1898. package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  1899. package/entity-schema/EntitySchemaInheritanceOptions.d.ts +1 -1
  1900. package/entity-schema/EntitySchemaInheritanceOptions.js +1 -2
  1901. package/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
  1902. package/entity-schema/EntitySchemaOptions.d.ts +16 -14
  1903. package/entity-schema/EntitySchemaOptions.js +1 -2
  1904. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  1905. package/entity-schema/EntitySchemaRelationIdOptions.d.ts +1 -1
  1906. package/entity-schema/EntitySchemaRelationIdOptions.js +1 -2
  1907. package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  1908. package/entity-schema/EntitySchemaRelationOptions.d.ts +8 -8
  1909. package/entity-schema/EntitySchemaRelationOptions.js +1 -2
  1910. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  1911. package/entity-schema/EntitySchemaTransformer.d.ts +2 -1
  1912. package/entity-schema/EntitySchemaTransformer.js +3 -5
  1913. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  1914. package/entity-schema/EntitySchemaUniqueOptions.d.ts +1 -1
  1915. package/entity-schema/EntitySchemaUniqueOptions.js +1 -2
  1916. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  1917. package/error/AlreadyHasActiveConnectionError.js +1 -2
  1918. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  1919. package/error/CannotAttachTreeChildrenEntityError.js +1 -2
  1920. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  1921. package/error/CannotConnectAlreadyConnectedError.d.ts +1 -1
  1922. package/error/CannotConnectAlreadyConnectedError.js +3 -4
  1923. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  1924. package/error/CannotCreateEntityIdMapError.d.ts +1 -1
  1925. package/error/CannotCreateEntityIdMapError.js +1 -2
  1926. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  1927. package/error/CannotDetermineEntityError.js +1 -2
  1928. package/error/CannotDetermineEntityError.js.map +1 -1
  1929. package/error/CannotExecuteNotConnectedError.d.ts +1 -1
  1930. package/error/CannotExecuteNotConnectedError.js +3 -4
  1931. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  1932. package/error/CannotGetEntityManagerNotConnectedError.js +1 -2
  1933. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  1934. package/error/CannotReflectMethodParameterTypeError.js +1 -2
  1935. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  1936. package/error/CircularRelationsError.js +1 -2
  1937. package/error/CircularRelationsError.js.map +1 -1
  1938. package/error/ColumnTypeUndefinedError.js +1 -2
  1939. package/error/ColumnTypeUndefinedError.js.map +1 -1
  1940. package/error/ConnectionIsNotSetError.js +1 -2
  1941. package/error/ConnectionIsNotSetError.js.map +1 -1
  1942. package/error/ConnectionNotFoundError.js +1 -2
  1943. package/error/ConnectionNotFoundError.js.map +1 -1
  1944. package/error/DataTypeNotSupportedError.d.ts +3 -3
  1945. package/error/DataTypeNotSupportedError.js +1 -2
  1946. package/error/DataTypeNotSupportedError.js.map +1 -1
  1947. package/error/DriverOptionNotSetError.js +1 -2
  1948. package/error/DriverOptionNotSetError.js.map +1 -1
  1949. package/error/DriverPackageNotInstalledError.js +1 -2
  1950. package/error/DriverPackageNotInstalledError.js.map +1 -1
  1951. package/error/EntityMetadataNotFoundError.d.ts +1 -1
  1952. package/error/EntityMetadataNotFoundError.js +1 -2
  1953. package/error/EntityMetadataNotFoundError.js.map +1 -1
  1954. package/error/EntityNotFoundError.d.ts +1 -1
  1955. package/error/EntityNotFoundError.js +1 -2
  1956. package/error/EntityNotFoundError.js.map +1 -1
  1957. package/error/EntityPropertyNotFoundError.d.ts +1 -1
  1958. package/error/EntityPropertyNotFoundError.js +1 -2
  1959. package/error/EntityPropertyNotFoundError.js.map +1 -1
  1960. package/error/FindRelationsNotFoundError.js +1 -2
  1961. package/error/FindRelationsNotFoundError.js.map +1 -1
  1962. package/error/ForbiddenTransactionModeOverrideError.d.ts +1 -1
  1963. package/error/ForbiddenTransactionModeOverrideError.js +1 -2
  1964. package/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  1965. package/error/InitializedRelationError.d.ts +1 -2
  1966. package/error/InitializedRelationError.js +1 -3
  1967. package/error/InitializedRelationError.js.map +1 -1
  1968. package/error/InsertValuesMissingError.js +1 -2
  1969. package/error/InsertValuesMissingError.js.map +1 -1
  1970. package/error/LimitOnUpdateNotSupportedError.js +1 -2
  1971. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  1972. package/error/LockNotSupportedOnGivenDriverError.js +1 -2
  1973. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  1974. package/error/MetadataAlreadyExistsError.js +1 -2
  1975. package/error/MetadataAlreadyExistsError.js.map +1 -1
  1976. package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -2
  1977. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  1978. package/error/MissingDeleteDateColumnError.d.ts +1 -1
  1979. package/error/MissingDeleteDateColumnError.js +1 -2
  1980. package/error/MissingDeleteDateColumnError.js.map +1 -1
  1981. package/error/MissingDriverError.js +1 -2
  1982. package/error/MissingDriverError.js.map +1 -1
  1983. package/error/MissingJoinColumnError.d.ts +2 -2
  1984. package/error/MissingJoinColumnError.js +1 -2
  1985. package/error/MissingJoinColumnError.js.map +1 -1
  1986. package/error/MissingJoinTableError.d.ts +2 -2
  1987. package/error/MissingJoinTableError.js +1 -2
  1988. package/error/MissingJoinTableError.js.map +1 -1
  1989. package/error/MissingPrimaryColumnError.d.ts +1 -1
  1990. package/error/MissingPrimaryColumnError.js +1 -2
  1991. package/error/MissingPrimaryColumnError.js.map +1 -1
  1992. package/error/MustBeEntityError.js +1 -2
  1993. package/error/MustBeEntityError.js.map +1 -1
  1994. package/error/NestedSetMultipleRootError.js +1 -2
  1995. package/error/NestedSetMultipleRootError.js.map +1 -1
  1996. package/error/NoConnectionForRepositoryError.d.ts +1 -1
  1997. package/error/NoConnectionForRepositoryError.js +4 -5
  1998. package/error/NoConnectionForRepositoryError.js.map +1 -1
  1999. package/error/NoConnectionOptionError.js +1 -2
  2000. package/error/NoConnectionOptionError.js.map +1 -1
  2001. package/error/NoNeedToReleaseEntityManagerError.js +1 -2
  2002. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  2003. package/error/NoVersionOrUpdateDateColumnError.js +1 -2
  2004. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  2005. package/error/OffsetWithoutLimitNotSupportedError.js +1 -2
  2006. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  2007. package/error/OptimisticLockCanNotBeUsedError.js +1 -2
  2008. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  2009. package/error/OptimisticLockVersionMismatchError.js +1 -2
  2010. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  2011. package/error/PersistedEntityNotFoundError.js +1 -2
  2012. package/error/PersistedEntityNotFoundError.js.map +1 -1
  2013. package/error/PessimisticLockTransactionRequiredError.js +1 -2
  2014. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  2015. package/error/PrimaryColumnCannotBeNullableError.js +1 -2
  2016. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  2017. package/error/QueryFailedError.js +1 -2
  2018. package/error/QueryFailedError.js.map +1 -1
  2019. package/error/QueryRunnerAlreadyReleasedError.js +1 -2
  2020. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  2021. package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -2
  2022. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  2023. package/error/RepositoryNotTreeError.d.ts +1 -1
  2024. package/error/RepositoryNotTreeError.js +1 -2
  2025. package/error/RepositoryNotTreeError.js.map +1 -1
  2026. package/error/ReturningStatementNotSupportedError.js +1 -2
  2027. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  2028. package/error/SubjectRemovedAndUpdatedError.d.ts +1 -1
  2029. package/error/SubjectRemovedAndUpdatedError.js +1 -2
  2030. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  2031. package/error/SubjectWithoutIdentifierError.d.ts +1 -1
  2032. package/error/SubjectWithoutIdentifierError.js +1 -2
  2033. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  2034. package/error/TransactionAlreadyStartedError.js +1 -2
  2035. package/error/TransactionAlreadyStartedError.js.map +1 -1
  2036. package/error/TransactionNotStartedError.js +1 -2
  2037. package/error/TransactionNotStartedError.js.map +1 -1
  2038. package/error/TreeRepositoryNotSupportedError.d.ts +1 -1
  2039. package/error/TreeRepositoryNotSupportedError.js +1 -2
  2040. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  2041. package/error/TypeORMError.js +1 -2
  2042. package/error/TypeORMError.js.map +1 -1
  2043. package/error/UpdateValuesMissingError.js +1 -2
  2044. package/error/UpdateValuesMissingError.js.map +1 -1
  2045. package/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -2
  2046. package/error/UsingJoinColumnIsNotAllowedError.js +1 -2
  2047. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  2048. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -2
  2049. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -2
  2050. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  2051. package/error/UsingJoinTableIsNotAllowedError.d.ts +2 -2
  2052. package/error/UsingJoinTableIsNotAllowedError.js +1 -2
  2053. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  2054. package/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -2
  2055. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -2
  2056. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  2057. package/error/index.d.ts +0 -3
  2058. package/error/index.js +1 -5
  2059. package/error/index.js.map +1 -1
  2060. package/find-options/EqualOperator.js +1 -2
  2061. package/find-options/EqualOperator.js.map +1 -1
  2062. package/find-options/FindManyOptions.d.ts +1 -1
  2063. package/find-options/FindManyOptions.js +1 -2
  2064. package/find-options/FindManyOptions.js.map +1 -1
  2065. package/find-options/FindOneOptions.d.ts +7 -14
  2066. package/find-options/FindOneOptions.js +1 -2
  2067. package/find-options/FindOneOptions.js.map +1 -1
  2068. package/find-options/FindOperator.d.ts +3 -3
  2069. package/find-options/FindOperator.js +1 -2
  2070. package/find-options/FindOperator.js.map +1 -1
  2071. package/find-options/FindOperatorType.js +1 -2
  2072. package/find-options/FindOperatorType.js.map +1 -1
  2073. package/find-options/FindOptionsOrder.d.ts +2 -2
  2074. package/find-options/FindOptionsOrder.js +1 -2
  2075. package/find-options/FindOptionsOrder.js.map +1 -1
  2076. package/find-options/FindOptionsRelations.d.ts +2 -9
  2077. package/find-options/FindOptionsRelations.js +1 -2
  2078. package/find-options/FindOptionsRelations.js.map +1 -1
  2079. package/find-options/FindOptionsSelect.d.ts +2 -9
  2080. package/find-options/FindOptionsSelect.js +1 -2
  2081. package/find-options/FindOptionsSelect.js.map +1 -1
  2082. package/find-options/FindOptionsUtils.d.ts +46 -11
  2083. package/find-options/FindOptionsUtils.js +104 -22
  2084. package/find-options/FindOptionsUtils.js.map +1 -1
  2085. package/find-options/FindOptionsWhere.d.ts +4 -4
  2086. package/find-options/FindOptionsWhere.js +1 -2
  2087. package/find-options/FindOptionsWhere.js.map +1 -1
  2088. package/find-options/FindTreeOptions.js +1 -2
  2089. package/find-options/FindTreeOptions.js.map +1 -1
  2090. package/find-options/OrderByCondition.d.ts +0 -2
  2091. package/find-options/OrderByCondition.js +1 -2
  2092. package/find-options/OrderByCondition.js.map +1 -1
  2093. package/find-options/mongodb/MongoFindManyOptions.d.ts +1 -1
  2094. package/find-options/mongodb/MongoFindManyOptions.js +1 -2
  2095. package/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  2096. package/find-options/mongodb/MongoFindOneOptions.d.ts +2 -2
  2097. package/find-options/mongodb/MongoFindOneOptions.js +1 -2
  2098. package/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  2099. package/find-options/operator/And.d.ts +4 -0
  2100. package/find-options/operator/And.js +5 -2
  2101. package/find-options/operator/And.js.map +1 -1
  2102. package/find-options/operator/Any.d.ts +1 -0
  2103. package/find-options/operator/Any.js +2 -2
  2104. package/find-options/operator/Any.js.map +1 -1
  2105. package/find-options/operator/ArrayContainedBy.d.ts +1 -0
  2106. package/find-options/operator/ArrayContainedBy.js +2 -2
  2107. package/find-options/operator/ArrayContainedBy.js.map +1 -1
  2108. package/find-options/operator/ArrayContains.d.ts +1 -0
  2109. package/find-options/operator/ArrayContains.js +2 -2
  2110. package/find-options/operator/ArrayContains.js.map +1 -1
  2111. package/find-options/operator/ArrayOverlap.d.ts +1 -0
  2112. package/find-options/operator/ArrayOverlap.js +2 -2
  2113. package/find-options/operator/ArrayOverlap.js.map +1 -1
  2114. package/find-options/operator/Between.d.ts +2 -0
  2115. package/find-options/operator/Between.js +3 -2
  2116. package/find-options/operator/Between.js.map +1 -1
  2117. package/find-options/operator/Equal.d.ts +2 -1
  2118. package/find-options/operator/Equal.js +2 -2
  2119. package/find-options/operator/Equal.js.map +1 -1
  2120. package/find-options/operator/ILike.d.ts +1 -0
  2121. package/find-options/operator/ILike.js +2 -2
  2122. package/find-options/operator/ILike.js.map +1 -1
  2123. package/find-options/operator/In.d.ts +1 -0
  2124. package/find-options/operator/In.js +2 -2
  2125. package/find-options/operator/In.js.map +1 -1
  2126. package/find-options/operator/IsNull.js +1 -2
  2127. package/find-options/operator/IsNull.js.map +1 -1
  2128. package/find-options/operator/JsonContains.d.ts +1 -0
  2129. package/find-options/operator/JsonContains.js +2 -2
  2130. package/find-options/operator/JsonContains.js.map +1 -1
  2131. package/find-options/operator/LessThan.d.ts +1 -0
  2132. package/find-options/operator/LessThan.js +2 -2
  2133. package/find-options/operator/LessThan.js.map +1 -1
  2134. package/find-options/operator/LessThanOrEqual.d.ts +1 -0
  2135. package/find-options/operator/LessThanOrEqual.js +2 -2
  2136. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  2137. package/find-options/operator/Like.d.ts +1 -0
  2138. package/find-options/operator/Like.js +2 -2
  2139. package/find-options/operator/Like.js.map +1 -1
  2140. package/find-options/operator/MoreThan.d.ts +1 -0
  2141. package/find-options/operator/MoreThan.js +2 -2
  2142. package/find-options/operator/MoreThan.js.map +1 -1
  2143. package/find-options/operator/MoreThanOrEqual.d.ts +1 -0
  2144. package/find-options/operator/MoreThanOrEqual.js +2 -2
  2145. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  2146. package/find-options/operator/Not.d.ts +1 -0
  2147. package/find-options/operator/Not.js +2 -2
  2148. package/find-options/operator/Not.js.map +1 -1
  2149. package/find-options/operator/Or.d.ts +4 -0
  2150. package/find-options/operator/Or.js +5 -2
  2151. package/find-options/operator/Or.js.map +1 -1
  2152. package/find-options/operator/Raw.d.ts +5 -1
  2153. package/find-options/operator/Raw.js +1 -2
  2154. package/find-options/operator/Raw.js.map +1 -1
  2155. package/globals.d.ts +2 -114
  2156. package/globals.js +7 -169
  2157. package/globals.js.map +1 -1
  2158. package/index.d.ts +62 -69
  2159. package/index.js +2 -52
  2160. package/index.js.map +1 -1
  2161. package/index.mjs +0 -80
  2162. package/logger/AbstractLogger.d.ts +26 -3
  2163. package/logger/AbstractLogger.js +25 -3
  2164. package/logger/AbstractLogger.js.map +1 -1
  2165. package/logger/AdvancedConsoleLogger.d.ts +5 -2
  2166. package/logger/AdvancedConsoleLogger.js +4 -2
  2167. package/logger/AdvancedConsoleLogger.js.map +1 -1
  2168. package/logger/DebugLogger.d.ts +6 -2
  2169. package/logger/DebugLogger.js +5 -2
  2170. package/logger/DebugLogger.js.map +1 -1
  2171. package/logger/FileLogger.d.ts +7 -3
  2172. package/logger/FileLogger.js +5 -2
  2173. package/logger/FileLogger.js.map +1 -1
  2174. package/logger/FormattedConsoleLogger.d.ts +5 -2
  2175. package/logger/FormattedConsoleLogger.js +4 -2
  2176. package/logger/FormattedConsoleLogger.js.map +1 -1
  2177. package/logger/Logger.d.ts +1 -1
  2178. package/logger/Logger.js +1 -2
  2179. package/logger/Logger.js.map +1 -1
  2180. package/logger/LoggerFactory.d.ts +4 -2
  2181. package/logger/LoggerFactory.js +3 -2
  2182. package/logger/LoggerFactory.js.map +1 -1
  2183. package/logger/LoggerOptions.d.ts +1 -1
  2184. package/logger/LoggerOptions.js +1 -2
  2185. package/logger/LoggerOptions.js.map +1 -1
  2186. package/logger/SimpleConsoleLogger.d.ts +5 -2
  2187. package/logger/SimpleConsoleLogger.js +4 -2
  2188. package/logger/SimpleConsoleLogger.js.map +1 -1
  2189. package/metadata/CheckMetadata.d.ts +4 -3
  2190. package/metadata/CheckMetadata.js +2 -2
  2191. package/metadata/CheckMetadata.js.map +1 -1
  2192. package/metadata/ColumnMetadata.d.ts +24 -23
  2193. package/metadata/ColumnMetadata.js +64 -57
  2194. package/metadata/ColumnMetadata.js.map +1 -1
  2195. package/metadata/EmbeddedMetadata.d.ts +14 -22
  2196. package/metadata/EmbeddedMetadata.js +4 -15
  2197. package/metadata/EmbeddedMetadata.js.map +1 -1
  2198. package/metadata/EntityListenerMetadata.d.ts +9 -5
  2199. package/metadata/EntityListenerMetadata.js +5 -2
  2200. package/metadata/EntityListenerMetadata.js.map +1 -1
  2201. package/metadata/EntityMetadata.d.ts +60 -35
  2202. package/metadata/EntityMetadata.js +52 -42
  2203. package/metadata/EntityMetadata.js.map +1 -1
  2204. package/metadata/ExclusionMetadata.d.ts +9 -3
  2205. package/metadata/ExclusionMetadata.js +3 -2
  2206. package/metadata/ExclusionMetadata.js.map +1 -1
  2207. package/metadata/ForeignKeyMetadata.d.ts +7 -6
  2208. package/metadata/ForeignKeyMetadata.js +2 -2
  2209. package/metadata/ForeignKeyMetadata.js.map +1 -1
  2210. package/metadata/IndexMetadata.d.ts +13 -5
  2211. package/metadata/IndexMetadata.js +20 -7
  2212. package/metadata/IndexMetadata.js.map +1 -1
  2213. package/metadata/RelationIdMetadata.d.ts +6 -5
  2214. package/metadata/RelationIdMetadata.js +2 -2
  2215. package/metadata/RelationIdMetadata.js.map +1 -1
  2216. package/metadata/RelationMetadata.d.ts +27 -16
  2217. package/metadata/RelationMetadata.js +12 -2
  2218. package/metadata/RelationMetadata.js.map +1 -1
  2219. package/metadata/UniqueMetadata.d.ts +7 -6
  2220. package/metadata/UniqueMetadata.js +12 -6
  2221. package/metadata/UniqueMetadata.js.map +1 -1
  2222. package/metadata/types/ClosureTreeOptions.d.ts +1 -1
  2223. package/metadata/types/ClosureTreeOptions.js +1 -2
  2224. package/metadata/types/ClosureTreeOptions.js.map +1 -1
  2225. package/metadata/types/DeferrableType.js +1 -2
  2226. package/metadata/types/DeferrableType.js.map +1 -1
  2227. package/metadata/types/EventListenerTypes.js +12 -13
  2228. package/metadata/types/EventListenerTypes.js.map +1 -1
  2229. package/metadata/types/OnDeleteType.js +1 -2
  2230. package/metadata/types/OnDeleteType.js.map +1 -1
  2231. package/metadata/types/OnUpdateType.js +1 -2
  2232. package/metadata/types/OnUpdateType.js.map +1 -1
  2233. package/metadata/types/PropertyTypeInFunction.js +1 -2
  2234. package/metadata/types/PropertyTypeInFunction.js.map +1 -1
  2235. package/metadata/types/RelationTypeInFunction.d.ts +1 -1
  2236. package/metadata/types/RelationTypeInFunction.js +1 -2
  2237. package/metadata/types/RelationTypeInFunction.js.map +1 -1
  2238. package/metadata/types/RelationTypes.js +1 -2
  2239. package/metadata/types/RelationTypes.js.map +1 -1
  2240. package/metadata/types/TableTypes.js +1 -2
  2241. package/metadata/types/TableTypes.js.map +1 -1
  2242. package/metadata/types/TreeTypes.js +1 -2
  2243. package/metadata/types/TreeTypes.js.map +1 -1
  2244. package/metadata-args/CheckMetadataArgs.js +1 -2
  2245. package/metadata-args/CheckMetadataArgs.js.map +1 -1
  2246. package/metadata-args/ColumnMetadataArgs.d.ts +2 -2
  2247. package/metadata-args/ColumnMetadataArgs.js +1 -2
  2248. package/metadata-args/ColumnMetadataArgs.js.map +1 -1
  2249. package/metadata-args/DiscriminatorValueMetadataArgs.js +1 -2
  2250. package/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  2251. package/metadata-args/EmbeddedMetadataArgs.js +1 -2
  2252. package/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  2253. package/metadata-args/EntityListenerMetadataArgs.d.ts +1 -1
  2254. package/metadata-args/EntityListenerMetadataArgs.js +1 -2
  2255. package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  2256. package/metadata-args/EntitySubscriberMetadataArgs.js +1 -2
  2257. package/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  2258. package/metadata-args/ExclusionMetadataArgs.d.ts +5 -0
  2259. package/metadata-args/ExclusionMetadataArgs.js +1 -2
  2260. package/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  2261. package/metadata-args/ForeignKeyMetadataArgs.d.ts +5 -5
  2262. package/metadata-args/ForeignKeyMetadataArgs.js +1 -2
  2263. package/metadata-args/ForeignKeyMetadataArgs.js.map +1 -1
  2264. package/metadata-args/GeneratedMetadataArgs.js +1 -2
  2265. package/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  2266. package/metadata-args/IndexMetadataArgs.d.ts +7 -0
  2267. package/metadata-args/IndexMetadataArgs.js +1 -2
  2268. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  2269. package/metadata-args/InheritanceMetadataArgs.d.ts +1 -1
  2270. package/metadata-args/InheritanceMetadataArgs.js +1 -2
  2271. package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  2272. package/metadata-args/JoinColumnMetadataArgs.js +1 -2
  2273. package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  2274. package/metadata-args/JoinTableMetadataArgs.d.ts +1 -1
  2275. package/metadata-args/JoinTableMetadataArgs.js +1 -2
  2276. package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  2277. package/metadata-args/MetadataArgsStorage.d.ts +29 -27
  2278. package/metadata-args/MetadataArgsStorage.js +9 -7
  2279. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  2280. package/metadata-args/NamingStrategyMetadataArgs.js +1 -2
  2281. package/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  2282. package/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
  2283. package/metadata-args/RelationIdMetadataArgs.js +1 -2
  2284. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  2285. package/metadata-args/RelationMetadataArgs.d.ts +4 -4
  2286. package/metadata-args/RelationMetadataArgs.js +1 -2
  2287. package/metadata-args/RelationMetadataArgs.js.map +1 -1
  2288. package/metadata-args/TableMetadataArgs.d.ts +5 -4
  2289. package/metadata-args/TableMetadataArgs.js +1 -2
  2290. package/metadata-args/TableMetadataArgs.js.map +1 -1
  2291. package/metadata-args/TransactionEntityMetadataArgs.d.ts +1 -1
  2292. package/metadata-args/TransactionEntityMetadataArgs.js +1 -2
  2293. package/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  2294. package/metadata-args/TransactionRepositoryMetadataArgs.d.ts +1 -1
  2295. package/metadata-args/TransactionRepositoryMetadataArgs.js +1 -2
  2296. package/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  2297. package/metadata-args/TreeMetadataArgs.d.ts +2 -2
  2298. package/metadata-args/TreeMetadataArgs.js +1 -2
  2299. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  2300. package/metadata-args/UniqueMetadataArgs.d.ts +1 -1
  2301. package/metadata-args/UniqueMetadataArgs.js +1 -2
  2302. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  2303. package/metadata-args/types/ColumnMode.js +1 -2
  2304. package/metadata-args/types/ColumnMode.js.map +1 -1
  2305. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +4 -3
  2306. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +10 -15
  2307. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  2308. package/metadata-builder/EntityMetadataBuilder.d.ts +16 -6
  2309. package/metadata-builder/EntityMetadataBuilder.js +50 -61
  2310. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  2311. package/metadata-builder/EntityMetadataValidator.d.ts +9 -2
  2312. package/metadata-builder/EntityMetadataValidator.js +8 -7
  2313. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  2314. package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +11 -5
  2315. package/metadata-builder/JunctionEntityMetadataBuilder.js +33 -36
  2316. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  2317. package/metadata-builder/MetadataUtils.d.ts +5 -0
  2318. package/metadata-builder/MetadataUtils.js +6 -2
  2319. package/metadata-builder/MetadataUtils.js.map +1 -1
  2320. package/metadata-builder/RelationJoinColumnBuilder.d.ts +24 -12
  2321. package/metadata-builder/RelationJoinColumnBuilder.js +30 -22
  2322. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  2323. package/migration/Migration.d.ts +1 -1
  2324. package/migration/Migration.js +1 -2
  2325. package/migration/Migration.js.map +1 -1
  2326. package/migration/MigrationExecutor.d.ts +16 -9
  2327. package/migration/MigrationExecutor.js +76 -64
  2328. package/migration/MigrationExecutor.js.map +1 -1
  2329. package/migration/MigrationInterface.d.ts +1 -1
  2330. package/migration/MigrationInterface.js +1 -2
  2331. package/migration/MigrationInterface.js.map +1 -1
  2332. package/naming-strategy/DefaultNamingStrategy.d.ts +5 -5
  2333. package/naming-strategy/DefaultNamingStrategy.js +4 -5
  2334. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  2335. package/naming-strategy/LegacyOracleNamingStrategy.d.ts +1 -1
  2336. package/naming-strategy/LegacyOracleNamingStrategy.js +1 -2
  2337. package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  2338. package/naming-strategy/NamingStrategyInterface.d.ts +3 -5
  2339. package/naming-strategy/NamingStrategyInterface.js +1 -2
  2340. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  2341. package/package.json +181 -1
  2342. package/persistence/EntityPersistExecutor.d.ts +7 -7
  2343. package/persistence/EntityPersistExecutor.js +6 -7
  2344. package/persistence/EntityPersistExecutor.js.map +1 -1
  2345. package/persistence/Subject.d.ts +5 -5
  2346. package/persistence/Subject.js +3 -3
  2347. package/persistence/Subject.js.map +1 -1
  2348. package/persistence/SubjectChangeMap.d.ts +3 -3
  2349. package/persistence/SubjectChangeMap.js +1 -2
  2350. package/persistence/SubjectChangeMap.js.map +1 -1
  2351. package/persistence/SubjectChangedColumnsComputer.d.ts +5 -1
  2352. package/persistence/SubjectChangedColumnsComputer.js +27 -19
  2353. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  2354. package/persistence/SubjectDatabaseEntityLoader.d.ts +3 -2
  2355. package/persistence/SubjectDatabaseEntityLoader.js +8 -5
  2356. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  2357. package/persistence/SubjectExecutor.d.ts +7 -4
  2358. package/persistence/SubjectExecutor.js +21 -11
  2359. package/persistence/SubjectExecutor.js.map +1 -1
  2360. package/persistence/SubjectTopologicalSorter.d.ts +6 -2
  2361. package/persistence/SubjectTopologicalSorter.js +15 -2
  2362. package/persistence/SubjectTopologicalSorter.js.map +1 -1
  2363. package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +5 -1
  2364. package/persistence/subject-builder/CascadesSubjectBuilder.js +5 -2
  2365. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  2366. package/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +16 -6
  2367. package/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -6
  2368. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  2369. package/persistence/subject-builder/OneToManySubjectBuilder.d.ts +14 -7
  2370. package/persistence/subject-builder/OneToManySubjectBuilder.js +14 -8
  2371. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  2372. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +14 -7
  2373. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +14 -8
  2374. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  2375. package/persistence/tree/ClosureSubjectExecutor.d.ts +6 -2
  2376. package/persistence/tree/ClosureSubjectExecutor.js +14 -11
  2377. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  2378. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +4 -2
  2379. package/persistence/tree/MaterializedPathSubjectExecutor.js +5 -3
  2380. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  2381. package/persistence/tree/NestedSetSubjectExecutor.d.ts +10 -4
  2382. package/persistence/tree/NestedSetSubjectExecutor.js +13 -8
  2383. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  2384. package/platform/PlatformTools.d.ts +12 -11
  2385. package/platform/PlatformTools.js +17 -29
  2386. package/platform/PlatformTools.js.map +1 -1
  2387. package/query-builder/Alias.d.ts +1 -1
  2388. package/query-builder/Alias.js +1 -2
  2389. package/query-builder/Alias.js.map +1 -1
  2390. package/query-builder/Brackets.d.ts +2 -1
  2391. package/query-builder/Brackets.js +2 -2
  2392. package/query-builder/Brackets.js.map +1 -1
  2393. package/query-builder/DeleteQueryBuilder.d.ts +17 -6
  2394. package/query-builder/DeleteQueryBuilder.js +17 -5
  2395. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  2396. package/query-builder/InsertOrUpdateOptions.d.ts +3 -3
  2397. package/query-builder/InsertOrUpdateOptions.js +1 -2
  2398. package/query-builder/InsertOrUpdateOptions.js.map +1 -1
  2399. package/query-builder/InsertQueryBuilder.d.ts +34 -29
  2400. package/query-builder/InsertQueryBuilder.js +289 -160
  2401. package/query-builder/InsertQueryBuilder.js.map +1 -1
  2402. package/query-builder/JoinAttribute.d.ts +7 -7
  2403. package/query-builder/JoinAttribute.js +9 -21
  2404. package/query-builder/JoinAttribute.js.map +1 -1
  2405. package/query-builder/JoinOptions.js +1 -2
  2406. package/query-builder/JoinOptions.js.map +1 -1
  2407. package/query-builder/NotBrackets.js +1 -2
  2408. package/query-builder/NotBrackets.js.map +1 -1
  2409. package/query-builder/QueryBuilder.d.ts +51 -33
  2410. package/query-builder/QueryBuilder.js +81 -92
  2411. package/query-builder/QueryBuilder.js.map +1 -1
  2412. package/query-builder/QueryBuilderCte.js +1 -2
  2413. package/query-builder/QueryBuilderCte.js.map +1 -1
  2414. package/query-builder/QueryBuilderUtils.d.ts +1 -0
  2415. package/query-builder/QueryBuilderUtils.js +2 -2
  2416. package/query-builder/QueryBuilderUtils.js.map +1 -1
  2417. package/query-builder/QueryExpressionMap.d.ts +29 -30
  2418. package/query-builder/QueryExpressionMap.js +22 -29
  2419. package/query-builder/QueryExpressionMap.js.map +1 -1
  2420. package/query-builder/QueryPartialEntity.d.ts +1 -1
  2421. package/query-builder/QueryPartialEntity.js +1 -2
  2422. package/query-builder/QueryPartialEntity.js.map +1 -1
  2423. package/query-builder/RelationIdLoader.d.ts +39 -11
  2424. package/query-builder/RelationIdLoader.js +100 -63
  2425. package/query-builder/RelationIdLoader.js.map +1 -1
  2426. package/query-builder/RelationLoader.d.ts +49 -14
  2427. package/query-builder/RelationLoader.js +80 -26
  2428. package/query-builder/RelationLoader.js.map +1 -1
  2429. package/query-builder/RelationQueryBuilder.d.ts +7 -11
  2430. package/query-builder/RelationQueryBuilder.js +8 -13
  2431. package/query-builder/RelationQueryBuilder.js.map +1 -1
  2432. package/query-builder/RelationRemover.d.ts +3 -2
  2433. package/query-builder/RelationRemover.js +2 -2
  2434. package/query-builder/RelationRemover.js.map +1 -1
  2435. package/query-builder/RelationUpdater.d.ts +3 -2
  2436. package/query-builder/RelationUpdater.js +4 -4
  2437. package/query-builder/RelationUpdater.js.map +1 -1
  2438. package/query-builder/ReturningOption.d.ts +4 -0
  2439. package/query-builder/ReturningOption.js +3 -0
  2440. package/query-builder/ReturningOption.js.map +1 -0
  2441. package/query-builder/ReturningResultsEntityUpdator.d.ts +10 -6
  2442. package/query-builder/ReturningResultsEntityUpdator.js +13 -10
  2443. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  2444. package/query-builder/SelectQuery.js +1 -2
  2445. package/query-builder/SelectQuery.js.map +1 -1
  2446. package/query-builder/SelectQueryBuilder.d.ts +71 -33
  2447. package/query-builder/SelectQueryBuilder.js +337 -261
  2448. package/query-builder/SelectQueryBuilder.js.map +1 -1
  2449. package/query-builder/SelectQueryBuilderOption.js +1 -2
  2450. package/query-builder/SelectQueryBuilderOption.js.map +1 -1
  2451. package/query-builder/SoftDeleteQueryBuilder.d.ts +24 -7
  2452. package/query-builder/SoftDeleteQueryBuilder.js +35 -9
  2453. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  2454. package/query-builder/UpdateQueryBuilder.d.ts +23 -7
  2455. package/query-builder/UpdateQueryBuilder.js +52 -30
  2456. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  2457. package/query-builder/WhereClause.js +1 -2
  2458. package/query-builder/WhereClause.js.map +1 -1
  2459. package/query-builder/WhereExpressionBuilder.d.ts +2 -7
  2460. package/query-builder/WhereExpressionBuilder.js +1 -2
  2461. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  2462. package/query-builder/index.d.ts +3 -0
  2463. package/query-builder/index.js +4 -2
  2464. package/query-builder/index.js.map +1 -1
  2465. package/query-builder/relation-id/RelationIdAttribute.d.ts +4 -4
  2466. package/query-builder/relation-id/RelationIdAttribute.js +1 -2
  2467. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  2468. package/query-builder/relation-id/RelationIdLoadResult.d.ts +1 -1
  2469. package/query-builder/relation-id/RelationIdLoadResult.js +1 -2
  2470. package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  2471. package/query-builder/relation-id/RelationIdLoader.d.ts +6 -6
  2472. package/query-builder/relation-id/RelationIdLoader.js +12 -13
  2473. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  2474. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +1 -1
  2475. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +1 -2
  2476. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  2477. package/query-builder/result/DeleteResult.d.ts +1 -1
  2478. package/query-builder/result/DeleteResult.js +1 -2
  2479. package/query-builder/result/DeleteResult.js.map +1 -1
  2480. package/query-builder/result/InsertResult.d.ts +2 -2
  2481. package/query-builder/result/InsertResult.js +1 -2
  2482. package/query-builder/result/InsertResult.js.map +1 -1
  2483. package/query-builder/result/UpdateResult.d.ts +2 -2
  2484. package/query-builder/result/UpdateResult.js +1 -2
  2485. package/query-builder/result/UpdateResult.js.map +1 -1
  2486. package/query-builder/transformer/DocumentToEntityTransformer.d.ts +3 -3
  2487. package/query-builder/transformer/DocumentToEntityTransformer.js +2 -73
  2488. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  2489. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +3 -3
  2490. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +17 -7
  2491. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  2492. package/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +6 -2
  2493. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +5 -2
  2494. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  2495. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +22 -11
  2496. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +47 -53
  2497. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  2498. package/query-runner/BaseQueryRunner.d.ts +79 -16
  2499. package/query-runner/BaseQueryRunner.js +96 -34
  2500. package/query-runner/BaseQueryRunner.js.map +1 -1
  2501. package/query-runner/QueryLock.js +4 -3
  2502. package/query-runner/QueryLock.js.map +1 -1
  2503. package/query-runner/QueryResult.js +1 -2
  2504. package/query-runner/QueryResult.js.map +1 -1
  2505. package/query-runner/QueryRunner.d.ts +52 -56
  2506. package/query-runner/QueryRunner.js +1 -2
  2507. package/query-runner/QueryRunner.js.map +1 -1
  2508. package/repository/BaseEntity.d.ts +64 -44
  2509. package/repository/BaseEntity.js +54 -31
  2510. package/repository/BaseEntity.js.map +1 -1
  2511. package/repository/EntityId.d.ts +1 -1
  2512. package/repository/EntityId.js +1 -2
  2513. package/repository/EntityId.js.map +1 -1
  2514. package/repository/FindTreesOptions.js +1 -2
  2515. package/repository/FindTreesOptions.js.map +1 -1
  2516. package/repository/MongoRepository.d.ts +79 -29
  2517. package/repository/MongoRepository.js +71 -26
  2518. package/repository/MongoRepository.js.map +1 -1
  2519. package/repository/RemoveOptions.js +1 -2
  2520. package/repository/RemoveOptions.js.map +1 -1
  2521. package/repository/Repository.d.ts +75 -52
  2522. package/repository/Repository.js +69 -47
  2523. package/repository/Repository.js.map +1 -1
  2524. package/repository/SaveOptions.js +1 -2
  2525. package/repository/SaveOptions.js.map +1 -1
  2526. package/repository/TreeRepository.d.ts +21 -4
  2527. package/repository/TreeRepository.js +27 -11
  2528. package/repository/TreeRepository.js.map +1 -1
  2529. package/repository/UpdateOptions.d.ts +11 -0
  2530. package/repository/UpdateOptions.js +3 -0
  2531. package/repository/UpdateOptions.js.map +1 -0
  2532. package/repository/UpsertOptions.d.ts +8 -2
  2533. package/repository/UpsertOptions.js +1 -2
  2534. package/repository/UpsertOptions.js.map +1 -1
  2535. package/schema-builder/MongoSchemaBuilder.d.ts +4 -4
  2536. package/schema-builder/MongoSchemaBuilder.js +5 -6
  2537. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  2538. package/schema-builder/RdbmsSchemaBuilder.d.ts +29 -9
  2539. package/schema-builder/RdbmsSchemaBuilder.js +176 -158
  2540. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  2541. package/schema-builder/SchemaBuilder.d.ts +1 -1
  2542. package/schema-builder/SchemaBuilder.js +1 -2
  2543. package/schema-builder/SchemaBuilder.js.map +1 -1
  2544. package/schema-builder/options/TableCheckOptions.js +1 -2
  2545. package/schema-builder/options/TableCheckOptions.js.map +1 -1
  2546. package/schema-builder/options/TableColumnOptions.d.ts +0 -10
  2547. package/schema-builder/options/TableColumnOptions.js +1 -2
  2548. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  2549. package/schema-builder/options/TableExclusionOptions.d.ts +5 -0
  2550. package/schema-builder/options/TableExclusionOptions.js +1 -2
  2551. package/schema-builder/options/TableExclusionOptions.js.map +1 -1
  2552. package/schema-builder/options/TableForeignKeyOptions.js +1 -2
  2553. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  2554. package/schema-builder/options/TableIndexOptions.d.ts +7 -0
  2555. package/schema-builder/options/TableIndexOptions.js +1 -2
  2556. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  2557. package/schema-builder/options/TableIndexTypes.d.ts +1 -0
  2558. package/schema-builder/options/TableIndexTypes.js +3 -0
  2559. package/schema-builder/options/TableIndexTypes.js.map +1 -0
  2560. package/schema-builder/options/TableOptions.d.ts +6 -6
  2561. package/schema-builder/options/TableOptions.js +1 -2
  2562. package/schema-builder/options/TableOptions.js.map +1 -1
  2563. package/schema-builder/options/TableUniqueOptions.js +1 -2
  2564. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  2565. package/schema-builder/options/ViewOptions.d.ts +3 -2
  2566. package/schema-builder/options/ViewOptions.js +1 -2
  2567. package/schema-builder/options/ViewOptions.js.map +1 -1
  2568. package/schema-builder/table/Table.d.ts +23 -3
  2569. package/schema-builder/table/Table.js +21 -2
  2570. package/schema-builder/table/Table.js.map +1 -1
  2571. package/schema-builder/table/TableCheck.d.ts +3 -2
  2572. package/schema-builder/table/TableCheck.js +2 -2
  2573. package/schema-builder/table/TableCheck.js.map +1 -1
  2574. package/schema-builder/table/TableColumn.d.ts +1 -11
  2575. package/schema-builder/table/TableColumn.js +2 -12
  2576. package/schema-builder/table/TableColumn.js.map +1 -1
  2577. package/schema-builder/table/TableExclusion.d.ts +8 -2
  2578. package/schema-builder/table/TableExclusion.js +5 -2
  2579. package/schema-builder/table/TableExclusion.js.map +1 -1
  2580. package/schema-builder/table/TableForeignKey.d.ts +5 -3
  2581. package/schema-builder/table/TableForeignKey.js +3 -2
  2582. package/schema-builder/table/TableForeignKey.js.map +1 -1
  2583. package/schema-builder/table/TableIndex.d.ts +10 -2
  2584. package/schema-builder/table/TableIndex.js +5 -2
  2585. package/schema-builder/table/TableIndex.js.map +1 -1
  2586. package/schema-builder/table/TableUnique.d.ts +3 -2
  2587. package/schema-builder/table/TableUnique.js +2 -2
  2588. package/schema-builder/table/TableUnique.js.map +1 -1
  2589. package/schema-builder/util/TableUtils.d.ts +3 -3
  2590. package/schema-builder/util/TableUtils.js +1 -4
  2591. package/schema-builder/util/TableUtils.js.map +1 -1
  2592. package/schema-builder/util/ViewUtils.d.ts +3 -1
  2593. package/schema-builder/util/ViewUtils.js +3 -2
  2594. package/schema-builder/util/ViewUtils.js.map +1 -1
  2595. package/schema-builder/view/View.d.ts +11 -3
  2596. package/schema-builder/view/View.js +5 -2
  2597. package/schema-builder/view/View.js.map +1 -1
  2598. package/subscriber/Broadcaster.d.ts +76 -10
  2599. package/subscriber/Broadcaster.js +148 -66
  2600. package/subscriber/Broadcaster.js.map +1 -1
  2601. package/subscriber/BroadcasterResult.js +1 -2
  2602. package/subscriber/BroadcasterResult.js.map +1 -1
  2603. package/subscriber/EntitySubscriberInterface.d.ts +12 -12
  2604. package/subscriber/EntitySubscriberInterface.js +1 -2
  2605. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  2606. package/subscriber/event/BaseEvent.d.ts +27 -0
  2607. package/subscriber/event/BaseEvent.js +3 -0
  2608. package/subscriber/event/BaseEvent.js.map +1 -0
  2609. package/subscriber/event/InsertEvent.d.ts +4 -20
  2610. package/subscriber/event/InsertEvent.js +1 -2
  2611. package/subscriber/event/InsertEvent.js.map +1 -1
  2612. package/subscriber/event/LoadEvent.d.ts +3 -19
  2613. package/subscriber/event/LoadEvent.js +1 -2
  2614. package/subscriber/event/LoadEvent.js.map +1 -1
  2615. package/subscriber/event/QueryEvent.d.ts +4 -20
  2616. package/subscriber/event/QueryEvent.js +1 -2
  2617. package/subscriber/event/QueryEvent.js.map +1 -1
  2618. package/subscriber/event/RecoverEvent.d.ts +1 -1
  2619. package/subscriber/event/RecoverEvent.js +1 -2
  2620. package/subscriber/event/RecoverEvent.js.map +1 -1
  2621. package/subscriber/event/RemoveEvent.d.ts +3 -19
  2622. package/subscriber/event/RemoveEvent.js +1 -2
  2623. package/subscriber/event/RemoveEvent.js.map +1 -1
  2624. package/subscriber/event/SoftRemoveEvent.d.ts +1 -1
  2625. package/subscriber/event/SoftRemoveEvent.js +1 -2
  2626. package/subscriber/event/SoftRemoveEvent.js.map +1 -1
  2627. package/subscriber/event/TransactionCommitEvent.d.ts +2 -18
  2628. package/subscriber/event/TransactionCommitEvent.js +1 -2
  2629. package/subscriber/event/TransactionCommitEvent.js.map +1 -1
  2630. package/subscriber/event/TransactionRollbackEvent.d.ts +2 -18
  2631. package/subscriber/event/TransactionRollbackEvent.js +1 -2
  2632. package/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  2633. package/subscriber/event/TransactionStartEvent.d.ts +2 -18
  2634. package/subscriber/event/TransactionStartEvent.js +1 -2
  2635. package/subscriber/event/TransactionStartEvent.js.map +1 -1
  2636. package/subscriber/event/UpdateEvent.d.ts +6 -22
  2637. package/subscriber/event/UpdateEvent.js +1 -2
  2638. package/subscriber/event/UpdateEvent.js.map +1 -1
  2639. package/typeorm-class-transformer-shim.js +0 -5
  2640. package/typeorm-model-shim.js +0 -10
  2641. package/util/ApplyValueTransformers.d.ts +1 -1
  2642. package/util/ApplyValueTransformers.js +6 -2
  2643. package/util/ApplyValueTransformers.js.map +1 -1
  2644. package/util/DateUtils.d.ts +36 -1
  2645. package/util/DateUtils.js +55 -8
  2646. package/util/DateUtils.js.map +1 -1
  2647. package/util/DepGraph.d.ts +16 -0
  2648. package/util/DepGraph.js +17 -3
  2649. package/util/DepGraph.js.map +1 -1
  2650. package/util/DirectoryExportedClassesLoader.d.ts +4 -5
  2651. package/util/DirectoryExportedClassesLoader.js +12 -18
  2652. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  2653. package/util/ImportUtils.d.ts +4 -0
  2654. package/util/ImportUtils.js +14 -2
  2655. package/util/ImportUtils.js.map +1 -1
  2656. package/util/InstanceChecker.d.ts +2 -2
  2657. package/util/InstanceChecker.js +1 -2
  2658. package/util/InstanceChecker.js.map +1 -1
  2659. package/util/ObjectUtils.d.ts +4 -1
  2660. package/util/ObjectUtils.js +4 -2
  2661. package/util/ObjectUtils.js.map +1 -1
  2662. package/util/OrmUtils.d.ts +43 -4
  2663. package/util/OrmUtils.js +114 -19
  2664. package/util/OrmUtils.js.map +1 -1
  2665. package/util/PathUtils.d.ts +6 -0
  2666. package/util/PathUtils.js +7 -2
  2667. package/util/PathUtils.js.map +1 -1
  2668. package/util/RandomGenerator.d.ts +9 -0
  2669. package/util/RandomGenerator.js +102 -68
  2670. package/util/RandomGenerator.js.map +1 -1
  2671. package/util/SqlTagUtils.d.ts +8 -1
  2672. package/util/SqlTagUtils.js +8 -2
  2673. package/util/SqlTagUtils.js.map +1 -1
  2674. package/util/StringUtils.d.ts +13 -8
  2675. package/util/StringUtils.js +36 -17
  2676. package/util/StringUtils.js.map +1 -1
  2677. package/util/TreeRepositoryUtils.d.ts +3 -3
  2678. package/util/TreeRepositoryUtils.js +3 -4
  2679. package/util/TreeRepositoryUtils.js.map +1 -1
  2680. package/util/Uint8ArrayUtils.d.ts +3 -0
  2681. package/util/Uint8ArrayUtils.js +45 -0
  2682. package/util/Uint8ArrayUtils.js.map +1 -0
  2683. package/util/VersionUtils.js +5 -2
  2684. package/util/VersionUtils.js.map +1 -1
  2685. package/util/escapeRegExp.js +1 -2
  2686. package/util/escapeRegExp.js.map +1 -1
  2687. package/browser/connection/BaseConnectionOptions.d.ts +0 -7
  2688. package/browser/connection/BaseConnectionOptions.js +0 -3
  2689. package/browser/connection/BaseConnectionOptions.js.map +0 -1
  2690. package/browser/connection/Connection.d.ts +0 -10
  2691. package/browser/connection/Connection.js +0 -12
  2692. package/browser/connection/Connection.js.map +0 -1
  2693. package/browser/connection/ConnectionManager.d.ts +0 -33
  2694. package/browser/connection/ConnectionManager.js +0 -62
  2695. package/browser/connection/ConnectionManager.js.map +0 -1
  2696. package/browser/connection/ConnectionOptions.d.ts +0 -9
  2697. package/browser/connection/ConnectionOptions.js +0 -3
  2698. package/browser/connection/ConnectionOptions.js.map +0 -1
  2699. package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +0 -30
  2700. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +0 -107
  2701. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +0 -1
  2702. package/browser/container.d.ts +0 -39
  2703. package/browser/container.js +0 -56
  2704. package/browser/container.js.map +0 -1
  2705. package/browser/decorator/EntityRepository.d.ts +0 -9
  2706. package/browser/decorator/EntityRepository.js +0 -18
  2707. package/browser/decorator/EntityRepository.js.map +0 -1
  2708. package/browser/decorator/relations/RelationCount.d.ts +0 -8
  2709. package/browser/decorator/relations/RelationCount.js +0 -20
  2710. package/browser/decorator/relations/RelationCount.js.map +0 -1
  2711. package/browser/driver/aurora-mysql/AuroraMysqlConnection.d.ts +0 -13
  2712. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js +0 -15
  2713. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +0 -1
  2714. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js +0 -3
  2715. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +0 -1
  2716. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +0 -3
  2717. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +0 -1
  2718. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +0 -3
  2719. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +0 -1
  2720. package/browser/driver/capacitor/CapacitorConnectionOptions.js +0 -3
  2721. package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +0 -1
  2722. package/browser/driver/cockroachdb/CockroachConnectionOptions.js +0 -3
  2723. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +0 -1
  2724. package/browser/driver/cordova/CordovaConnectionOptions.js +0 -3
  2725. package/browser/driver/cordova/CordovaConnectionOptions.js.map +0 -1
  2726. package/browser/driver/expo/ExpoConnectionOptions.js +0 -3
  2727. package/browser/driver/expo/ExpoConnectionOptions.js.map +0 -1
  2728. package/browser/driver/expo/ExpoDriverFactory.d.ts +0 -9
  2729. package/browser/driver/expo/ExpoDriverFactory.js +0 -18
  2730. package/browser/driver/expo/ExpoDriverFactory.js.map +0 -1
  2731. package/browser/driver/expo/legacy/ExpoLegacyDriver.d.ts +0 -21
  2732. package/browser/driver/expo/legacy/ExpoLegacyDriver.js +0 -71
  2733. package/browser/driver/expo/legacy/ExpoLegacyDriver.js.map +0 -1
  2734. package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.d.ts +0 -57
  2735. package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js +0 -165
  2736. package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +0 -1
  2737. package/browser/driver/mongodb/MongoConnectionOptions.js +0 -3
  2738. package/browser/driver/mongodb/MongoConnectionOptions.js.map +0 -1
  2739. package/browser/driver/mysql/MysqlConnectionOptions.js +0 -3
  2740. package/browser/driver/mysql/MysqlConnectionOptions.js.map +0 -1
  2741. package/browser/driver/nativescript/NativescriptConnectionOptions.js +0 -3
  2742. package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +0 -1
  2743. package/browser/driver/oracle/OracleConnectionOptions.js +0 -3
  2744. package/browser/driver/oracle/OracleConnectionOptions.js.map +0 -1
  2745. package/browser/driver/postgres/PostgresConnectionOptions.js +0 -3
  2746. package/browser/driver/postgres/PostgresConnectionOptions.js.map +0 -1
  2747. package/browser/driver/react-native/ReactNativeConnectionOptions.js +0 -3
  2748. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +0 -1
  2749. package/browser/driver/sap/SapConnectionOptions.js +0 -3
  2750. package/browser/driver/sap/SapConnectionOptions.js.map +0 -1
  2751. package/browser/driver/spanner/SpannerConnectionOptions.js +0 -3
  2752. package/browser/driver/spanner/SpannerConnectionOptions.js.map +0 -1
  2753. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +0 -55
  2754. package/browser/driver/sqlite/SqliteConnectionOptions.js +0 -3
  2755. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +0 -1
  2756. package/browser/driver/sqlite/SqliteDriver.d.ts +0 -59
  2757. package/browser/driver/sqlite/SqliteDriver.js +0 -169
  2758. package/browser/driver/sqlite/SqliteDriver.js.map +0 -1
  2759. package/browser/driver/sqlite/SqliteQueryRunner.d.ts +0 -27
  2760. package/browser/driver/sqlite/SqliteQueryRunner.js +0 -120
  2761. package/browser/driver/sqlite/SqliteQueryRunner.js.map +0 -1
  2762. package/browser/driver/sqljs/SqljsConnectionOptions.js +0 -3
  2763. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +0 -1
  2764. package/browser/driver/sqlserver/SqlServerConnectionOptions.js +0 -3
  2765. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +0 -1
  2766. package/browser/error/CustomRepositoryCannotInheritRepositoryError.d.ts +0 -7
  2767. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js +0 -14
  2768. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +0 -1
  2769. package/browser/error/CustomRepositoryDoesNotHaveEntityError.d.ts +0 -7
  2770. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js +0 -14
  2771. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +0 -1
  2772. package/browser/error/CustomRepositoryNotFoundError.d.ts +0 -7
  2773. package/browser/error/CustomRepositoryNotFoundError.js +0 -14
  2774. package/browser/error/CustomRepositoryNotFoundError.js.map +0 -1
  2775. package/browser/find-options/JoinOptions.d.ts +0 -76
  2776. package/browser/find-options/JoinOptions.js +0 -3
  2777. package/browser/find-options/JoinOptions.js.map +0 -1
  2778. package/browser/metadata/RelationCountMetadata.d.ts +0 -46
  2779. package/browser/metadata/RelationCountMetadata.js +0 -35
  2780. package/browser/metadata/RelationCountMetadata.js.map +0 -1
  2781. package/browser/metadata-args/EntityRepositoryMetadataArgs.d.ts +0 -14
  2782. package/browser/metadata-args/EntityRepositoryMetadataArgs.js +0 -3
  2783. package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +0 -1
  2784. package/browser/metadata-args/RelationCountMetadataArgs.d.ts +0 -26
  2785. package/browser/metadata-args/RelationCountMetadataArgs.js +0 -3
  2786. package/browser/metadata-args/RelationCountMetadataArgs.js.map +0 -1
  2787. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +0 -53
  2788. package/browser/query-builder/relation-count/RelationCountAttribute.js +0 -76
  2789. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +0 -1
  2790. package/browser/query-builder/relation-count/RelationCountLoadResult.d.ts +0 -8
  2791. package/browser/query-builder/relation-count/RelationCountLoadResult.js +0 -3
  2792. package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +0 -1
  2793. package/browser/query-builder/relation-count/RelationCountLoader.d.ts +0 -11
  2794. package/browser/query-builder/relation-count/RelationCountLoader.js +0 -164
  2795. package/browser/query-builder/relation-count/RelationCountLoader.js.map +0 -1
  2796. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +0 -7
  2797. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +0 -51
  2798. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +0 -1
  2799. package/browser/repository/AbstractRepository.d.ts +0 -51
  2800. package/browser/repository/AbstractRepository.js +0 -88
  2801. package/browser/repository/AbstractRepository.js.map +0 -1
  2802. package/connection/BaseConnectionOptions.d.ts +0 -7
  2803. package/connection/BaseConnectionOptions.js.map +0 -1
  2804. package/connection/Connection.d.ts +0 -10
  2805. package/connection/Connection.js +0 -16
  2806. package/connection/Connection.js.map +0 -1
  2807. package/connection/ConnectionManager.d.ts +0 -33
  2808. package/connection/ConnectionManager.js +0 -66
  2809. package/connection/ConnectionManager.js.map +0 -1
  2810. package/connection/ConnectionOptions.d.ts +0 -9
  2811. package/connection/ConnectionOptions.js.map +0 -1
  2812. package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +0 -30
  2813. package/connection/options-reader/ConnectionOptionsEnvReader.js +0 -111
  2814. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +0 -1
  2815. package/container.d.ts +0 -39
  2816. package/container.js +0 -60
  2817. package/container.js.map +0 -1
  2818. package/decorator/EntityRepository.d.ts +0 -9
  2819. package/decorator/EntityRepository.js +0 -21
  2820. package/decorator/EntityRepository.js.map +0 -1
  2821. package/decorator/relations/RelationCount.d.ts +0 -8
  2822. package/decorator/relations/RelationCount.js +0 -23
  2823. package/decorator/relations/RelationCount.js.map +0 -1
  2824. package/driver/aurora-mysql/AuroraMysqlConnection.d.ts +0 -13
  2825. package/driver/aurora-mysql/AuroraMysqlConnection.js +0 -19
  2826. package/driver/aurora-mysql/AuroraMysqlConnection.js.map +0 -1
  2827. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +0 -1
  2828. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +0 -4
  2829. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +0 -1
  2830. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +0 -4
  2831. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +0 -1
  2832. package/driver/capacitor/CapacitorConnectionOptions.js.map +0 -1
  2833. package/driver/cockroachdb/CockroachConnectionOptions.js.map +0 -1
  2834. package/driver/cordova/CordovaConnectionOptions.js.map +0 -1
  2835. package/driver/expo/ExpoConnectionOptions.js.map +0 -1
  2836. package/driver/expo/ExpoDriverFactory.d.ts +0 -9
  2837. package/driver/expo/ExpoDriverFactory.js +0 -22
  2838. package/driver/expo/ExpoDriverFactory.js.map +0 -1
  2839. package/driver/expo/legacy/ExpoLegacyDriver.d.ts +0 -21
  2840. package/driver/expo/legacy/ExpoLegacyDriver.js +0 -75
  2841. package/driver/expo/legacy/ExpoLegacyDriver.js.map +0 -1
  2842. package/driver/expo/legacy/ExpoLegacyQueryRunner.d.ts +0 -57
  2843. package/driver/expo/legacy/ExpoLegacyQueryRunner.js +0 -169
  2844. package/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +0 -1
  2845. package/driver/mongodb/MongoConnectionOptions.js.map +0 -1
  2846. package/driver/mysql/MysqlConnectionOptions.js +0 -4
  2847. package/driver/mysql/MysqlConnectionOptions.js.map +0 -1
  2848. package/driver/nativescript/NativescriptConnectionOptions.js +0 -4
  2849. package/driver/nativescript/NativescriptConnectionOptions.js.map +0 -1
  2850. package/driver/oracle/OracleConnectionOptions.js +0 -4
  2851. package/driver/oracle/OracleConnectionOptions.js.map +0 -1
  2852. package/driver/postgres/PostgresConnectionOptions.js +0 -4
  2853. package/driver/postgres/PostgresConnectionOptions.js.map +0 -1
  2854. package/driver/react-native/ReactNativeConnectionOptions.js +0 -4
  2855. package/driver/react-native/ReactNativeConnectionOptions.js.map +0 -1
  2856. package/driver/sap/SapConnectionOptions.js.map +0 -1
  2857. package/driver/spanner/SpannerConnectionOptions.js +0 -4
  2858. package/driver/spanner/SpannerConnectionOptions.js.map +0 -1
  2859. package/driver/sqlite/SqliteConnectionOptions.d.ts +0 -55
  2860. package/driver/sqlite/SqliteConnectionOptions.js +0 -4
  2861. package/driver/sqlite/SqliteConnectionOptions.js.map +0 -1
  2862. package/driver/sqlite/SqliteDriver.d.ts +0 -59
  2863. package/driver/sqlite/SqliteDriver.js +0 -174
  2864. package/driver/sqlite/SqliteDriver.js.map +0 -1
  2865. package/driver/sqlite/SqliteQueryRunner.d.ts +0 -27
  2866. package/driver/sqlite/SqliteQueryRunner.js +0 -124
  2867. package/driver/sqlite/SqliteQueryRunner.js.map +0 -1
  2868. package/driver/sqljs/SqljsConnectionOptions.js +0 -4
  2869. package/driver/sqljs/SqljsConnectionOptions.js.map +0 -1
  2870. package/driver/sqlserver/SqlServerConnectionOptions.js +0 -4
  2871. package/driver/sqlserver/SqlServerConnectionOptions.js.map +0 -1
  2872. package/error/CustomRepositoryCannotInheritRepositoryError.d.ts +0 -7
  2873. package/error/CustomRepositoryCannotInheritRepositoryError.js +0 -18
  2874. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +0 -1
  2875. package/error/CustomRepositoryDoesNotHaveEntityError.d.ts +0 -7
  2876. package/error/CustomRepositoryDoesNotHaveEntityError.js +0 -18
  2877. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +0 -1
  2878. package/error/CustomRepositoryNotFoundError.d.ts +0 -7
  2879. package/error/CustomRepositoryNotFoundError.js +0 -18
  2880. package/error/CustomRepositoryNotFoundError.js.map +0 -1
  2881. package/find-options/JoinOptions.d.ts +0 -76
  2882. package/find-options/JoinOptions.js.map +0 -1
  2883. package/metadata/RelationCountMetadata.d.ts +0 -46
  2884. package/metadata/RelationCountMetadata.js +0 -39
  2885. package/metadata/RelationCountMetadata.js.map +0 -1
  2886. package/metadata-args/EntityRepositoryMetadataArgs.d.ts +0 -14
  2887. package/metadata-args/EntityRepositoryMetadataArgs.js +0 -4
  2888. package/metadata-args/EntityRepositoryMetadataArgs.js.map +0 -1
  2889. package/metadata-args/RelationCountMetadataArgs.d.ts +0 -26
  2890. package/metadata-args/RelationCountMetadataArgs.js +0 -4
  2891. package/metadata-args/RelationCountMetadataArgs.js.map +0 -1
  2892. package/query-builder/relation-count/RelationCountAttribute.d.ts +0 -53
  2893. package/query-builder/relation-count/RelationCountAttribute.js +0 -80
  2894. package/query-builder/relation-count/RelationCountAttribute.js.map +0 -1
  2895. package/query-builder/relation-count/RelationCountLoadResult.d.ts +0 -8
  2896. package/query-builder/relation-count/RelationCountLoadResult.js +0 -4
  2897. package/query-builder/relation-count/RelationCountLoadResult.js.map +0 -1
  2898. package/query-builder/relation-count/RelationCountLoader.d.ts +0 -11
  2899. package/query-builder/relation-count/RelationCountLoader.js +0 -168
  2900. package/query-builder/relation-count/RelationCountLoader.js.map +0 -1
  2901. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +0 -7
  2902. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +0 -55
  2903. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +0 -1
  2904. package/repository/AbstractRepository.d.ts +0 -51
  2905. package/repository/AbstractRepository.js +0 -92
  2906. package/repository/AbstractRepository.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/query-builder/QueryBuilder.ts"],"names":[],"mappings":"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","file":"QueryBuilder.js","sourcesContent":["import { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { DataSource } from \"../data-source/DataSource\"\nimport { QueryBuilderCteOptions } from \"./QueryBuilderCte\"\nimport { QueryExpressionMap } from \"./QueryExpressionMap\"\nimport { SelectQueryBuilder } from \"./SelectQueryBuilder\"\nimport { UpdateQueryBuilder } from \"./UpdateQueryBuilder\"\nimport { DeleteQueryBuilder } from \"./DeleteQueryBuilder\"\nimport { SoftDeleteQueryBuilder } from \"./SoftDeleteQueryBuilder\"\nimport { InsertQueryBuilder } from \"./InsertQueryBuilder\"\nimport { RelationQueryBuilder } from \"./RelationQueryBuilder\"\nimport { EntityTarget } from \"../common/EntityTarget\"\nimport { Alias } from \"./Alias\"\nimport { Brackets } from \"./Brackets\"\nimport { QueryDeepPartialEntity } from \"./QueryPartialEntity\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { FindOperator } from \"../find-options/FindOperator\"\nimport { In } from \"../find-options/operator/In\"\nimport { TypeORMError } from \"../error\"\nimport { WhereClause, WhereClauseCondition } from \"./WhereClause\"\nimport { NotBrackets } from \"./NotBrackets\"\nimport { EntityPropertyNotFoundError } from \"../error/EntityPropertyNotFoundError\"\nimport { ReturningType } from \"../driver/Driver\"\nimport { OracleDriver } from \"../driver/oracle/OracleDriver\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { escapeRegExp } from \"../util/escapeRegExp\"\n\n// todo: completely cover query builder with tests\n// todo: entityOrProperty can be target name. implement proper behaviour if it is.\n// todo: check in persistment if id exist on object and throw exception (can be in partial selection?)\n// todo: fix problem with long aliases eg getMaxIdentifierLength\n// todo: fix replacing in .select(\"COUNT(post.id) AS cnt\") statement\n// todo: implement joinAlways in relations and relationId\n// todo: finish partial selection\n// todo: sugar methods like: .addCount and .selectCount, selectCountAndMap, selectSum, selectSumAndMap, ...\n// todo: implement @Select decorator\n// todo: add select and map functions\n\n// todo: implement relation/entity loading and setting them into properties within a separate query\n// .loadAndMap(\"post.categories\", \"post.categories\", qb => ...)\n// .loadAndMap(\"post.categories\", Category, qb => ...)\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport abstract class QueryBuilder<Entity extends ObjectLiteral> {\n readonly \"@instanceof\" = Symbol.for(\"QueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection on which QueryBuilder was created.\n */\n readonly connection: DataSource\n\n /**\n * Contains all properties of the QueryBuilder that needs to be build a final query.\n */\n readonly expressionMap: QueryExpressionMap\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Query runner used to execute query builder query.\n */\n protected queryRunner?: QueryRunner\n\n /**\n * If QueryBuilder was created in a subquery mode then its parent QueryBuilder (who created subquery) will be stored here.\n */\n protected parentQueryBuilder: QueryBuilder<any>\n\n /**\n * Memo to help keep place of current parameter index for `createParameter`\n */\n private parameterIndex = 0\n\n /**\n * Contains all registered query builder classes.\n */\n private static queryBuilderRegistry: Record<string, any> = {}\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(queryBuilder: QueryBuilder<any>)\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(connection: DataSource, queryRunner?: QueryRunner)\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(\n connectionOrQueryBuilder: DataSource | QueryBuilder<any>,\n queryRunner?: QueryRunner,\n ) {\n if (InstanceChecker.isDataSource(connectionOrQueryBuilder)) {\n this.connection = connectionOrQueryBuilder\n this.queryRunner = queryRunner\n this.expressionMap = new QueryExpressionMap(this.connection)\n } else {\n this.connection = connectionOrQueryBuilder.connection\n this.queryRunner = connectionOrQueryBuilder.queryRunner\n this.expressionMap = connectionOrQueryBuilder.expressionMap.clone()\n }\n }\n\n static registerQueryBuilderClass(name: string, factory: any) {\n QueryBuilder.queryBuilderRegistry[name] = factory\n }\n\n // -------------------------------------------------------------------------\n // Abstract Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n abstract getQuery(): string\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the main alias string used in this query builder.\n */\n get alias(): string {\n if (!this.expressionMap.mainAlias)\n throw new TypeORMError(`Main alias is not set`) // todo: better exception\n\n return this.expressionMap.mainAlias.name\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates SELECT query.\n * Replaces all previous selections if they exist.\n */\n select(): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(\n selection: string,\n selectionAliasName?: string,\n ): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(selection: string[]): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(\n selection?: string | string[],\n selectionAliasName?: string,\n ): SelectQueryBuilder<Entity> {\n this.expressionMap.queryType = \"select\"\n if (Array.isArray(selection)) {\n this.expressionMap.selects = selection.map((selection) => ({\n selection: selection,\n }))\n } else if (selection) {\n this.expressionMap.selects = [\n { selection: selection, aliasName: selectionAliasName },\n ]\n }\n\n if (InstanceChecker.isSelectQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"SelectQueryBuilder\"](this)\n }\n\n /**\n * Creates INSERT query.\n */\n insert(): InsertQueryBuilder<Entity> {\n this.expressionMap.queryType = \"insert\"\n\n if (InstanceChecker.isInsertQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"InsertQueryBuilder\"](this)\n }\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(\n updateSet: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query for the given entity and applies given update values.\n */\n update<Entity extends ObjectLiteral>(\n entity: EntityTarget<Entity>,\n updateSet?: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query for the given table name and applies given update values.\n */\n update(\n tableName: string,\n updateSet?: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(\n entityOrTableNameUpdateSet?: EntityTarget<any> | ObjectLiteral,\n maybeUpdateSet?: ObjectLiteral,\n ): UpdateQueryBuilder<any> {\n const updateSet = maybeUpdateSet\n ? maybeUpdateSet\n : (entityOrTableNameUpdateSet as ObjectLiteral | undefined)\n entityOrTableNameUpdateSet = InstanceChecker.isEntitySchema(\n entityOrTableNameUpdateSet,\n )\n ? entityOrTableNameUpdateSet.options.name\n : entityOrTableNameUpdateSet\n\n if (\n typeof entityOrTableNameUpdateSet === \"function\" ||\n typeof entityOrTableNameUpdateSet === \"string\"\n ) {\n const mainAlias = this.createFromAlias(entityOrTableNameUpdateSet)\n this.expressionMap.setMainAlias(mainAlias)\n }\n\n this.expressionMap.queryType = \"update\"\n this.expressionMap.valuesSet = updateSet\n\n if (InstanceChecker.isUpdateQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"UpdateQueryBuilder\"](this)\n }\n\n /**\n * Creates DELETE query.\n */\n delete(): DeleteQueryBuilder<Entity> {\n this.expressionMap.queryType = \"delete\"\n\n if (InstanceChecker.isDeleteQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"DeleteQueryBuilder\"](this)\n }\n\n softDelete(): SoftDeleteQueryBuilder<any> {\n this.expressionMap.queryType = \"soft-delete\"\n\n if (InstanceChecker.isSoftDeleteQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"SoftDeleteQueryBuilder\"](this)\n }\n\n restore(): SoftDeleteQueryBuilder<any> {\n this.expressionMap.queryType = \"restore\"\n\n if (InstanceChecker.isSoftDeleteQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"SoftDeleteQueryBuilder\"](this)\n }\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation(propertyPath: string): RelationQueryBuilder<Entity>\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation<T extends ObjectLiteral>(\n entityTarget: EntityTarget<T>,\n propertyPath: string,\n ): RelationQueryBuilder<T>\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation(\n entityTargetOrPropertyPath: Function | string,\n maybePropertyPath?: string,\n ): RelationQueryBuilder<Entity> {\n const entityTarget =\n arguments.length === 2 ? entityTargetOrPropertyPath : undefined\n const propertyPath =\n arguments.length === 2\n ? (maybePropertyPath as string)\n : (entityTargetOrPropertyPath as string)\n\n this.expressionMap.queryType = \"relation\"\n this.expressionMap.relationPropertyPath = propertyPath\n\n if (entityTarget) {\n const mainAlias = this.createFromAlias(entityTarget)\n this.expressionMap.setMainAlias(mainAlias)\n }\n\n if (InstanceChecker.isRelationQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"RelationQueryBuilder\"](this)\n }\n\n /**\n * Checks if given relation exists in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: EntityTarget<T>, relation: string): boolean\n\n /**\n * Checks if given relations exist in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: EntityTarget<T>, relation: string[]): boolean\n\n /**\n * Checks if given relation or relations exist in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(\n target: EntityTarget<T>,\n relation: string | string[],\n ): boolean {\n const entityMetadata = this.connection.getMetadata(target)\n const relations = Array.isArray(relation) ? relation : [relation]\n return relations.every((relation) => {\n return !!entityMetadata.findRelationWithPropertyPath(relation)\n })\n }\n\n /**\n * Check the existence of a parameter for this query builder.\n */\n hasParameter(key: string): boolean {\n return (\n this.parentQueryBuilder?.hasParameter(key) ||\n key in this.expressionMap.parameters\n )\n }\n\n /**\n * Sets parameter name and its value.\n *\n * The key for this parameter may contain numbers, letters, underscores, or periods.\n */\n setParameter(key: string, value: any): this {\n if (typeof value === \"function\") {\n throw new TypeORMError(\n `Function parameter isn't supported in the parameters. Please check \"${key}\" parameter.`,\n )\n }\n\n if (!key.match(/^([A-Za-z0-9_.]+)$/)) {\n throw new TypeORMError(\n \"QueryBuilder parameter keys may only contain numbers, letters, underscores, or periods.\",\n )\n }\n\n if (this.parentQueryBuilder) {\n this.parentQueryBuilder.setParameter(key, value)\n }\n\n this.expressionMap.parameters[key] = value\n return this\n }\n\n /**\n * Adds all parameters from the given object.\n */\n setParameters(parameters: ObjectLiteral): this {\n for (const [key, value] of Object.entries(parameters)) {\n this.setParameter(key, value)\n }\n\n return this\n }\n\n protected createParameter(value: any): string {\n let parameterName\n\n do {\n parameterName = `orm_param_${this.parameterIndex++}`\n } while (this.hasParameter(parameterName))\n\n this.setParameter(parameterName, value)\n\n return `:${parameterName}`\n }\n\n /**\n * Adds native parameters from the given object.\n *\n * @deprecated Use `setParameters` instead\n */\n setNativeParameters(parameters: ObjectLiteral): this {\n // set parent query builder parameters as well in sub-query mode\n if (this.parentQueryBuilder) {\n this.parentQueryBuilder.setNativeParameters(parameters)\n }\n\n Object.keys(parameters).forEach((key) => {\n this.expressionMap.nativeParameters[key] = parameters[key]\n })\n return this\n }\n\n /**\n * Gets all parameters.\n */\n getParameters(): ObjectLiteral {\n const parameters: ObjectLiteral = Object.assign(\n {},\n this.expressionMap.parameters,\n )\n\n // add discriminator column parameter if it exist\n if (\n this.expressionMap.mainAlias &&\n this.expressionMap.mainAlias.hasMetadata\n ) {\n const metadata = this.expressionMap.mainAlias!.metadata\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const values = metadata.childEntityMetadatas\n .filter(\n (childMetadata) => childMetadata.discriminatorColumn,\n )\n .map((childMetadata) => childMetadata.discriminatorValue)\n values.push(metadata.discriminatorValue)\n parameters[\"discriminatorColumnValues\"] = values\n }\n }\n\n return parameters\n }\n\n /**\n * Prints sql to stdout using console.log.\n */\n printSql(): this {\n // TODO rename to logSql()\n const [query, parameters] = this.getQueryAndParameters()\n this.connection.logger.logQuery(query, parameters)\n return this\n }\n\n /**\n * Gets generated sql that will be executed.\n * Parameters in the query are escaped for the currently used driver.\n */\n getSql(): string {\n return this.getQueryAndParameters()[0]\n }\n\n /**\n * Gets query to be executed with all parameters used in it.\n */\n getQueryAndParameters(): [string, any[]] {\n // this execution order is important because getQuery method generates this.expressionMap.nativeParameters values\n const query = this.getQuery()\n const parameters = this.getParameters()\n return this.connection.driver.escapeQueryWithParameters(\n query,\n parameters,\n this.expressionMap.nativeParameters,\n )\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<any> {\n const [sql, parameters] = this.getQueryAndParameters()\n const queryRunner = this.obtainQueryRunner()\n try {\n return await queryRunner.query(sql, parameters) // await is needed here because we are using finally\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 * Creates a completely new query builder.\n * Uses same query runner as current QueryBuilder.\n */\n createQueryBuilder(queryRunner?: QueryRunner): this {\n return new (this.constructor as any)(\n this.connection,\n queryRunner ?? this.queryRunner,\n )\n }\n\n /**\n * Clones query builder as it is.\n * Note: it uses new query runner, if you want query builder that uses exactly same query runner,\n * you can create query builder using its constructor, for example new SelectQueryBuilder(queryBuilder)\n * where queryBuilder is cloned QueryBuilder.\n */\n clone(): this {\n return new (this.constructor as any)(this)\n }\n\n /**\n * Includes a Query comment in the query builder. This is helpful for debugging purposes,\n * such as finding a specific query in the database server's logs, or for categorization using\n * an APM product.\n */\n comment(comment: string): this {\n this.expressionMap.comment = comment\n return this\n }\n\n /**\n * Disables escaping.\n */\n disableEscaping(): this {\n this.expressionMap.disableEscaping = false\n return this\n }\n\n /**\n * Escapes table name, column name or alias name using current database's escaping character.\n */\n escape(name: string): string {\n if (!this.expressionMap.disableEscaping) return name\n return this.connection.driver.escape(name)\n }\n\n /**\n * Sets or overrides query builder's QueryRunner.\n */\n setQueryRunner(queryRunner: QueryRunner): this {\n this.queryRunner = queryRunner\n return this\n }\n\n /**\n * Indicates if listeners and subscribers must be called before and after query execution.\n * Enabled by default.\n */\n callListeners(enabled: boolean): this {\n this.expressionMap.callListeners = enabled\n return this\n }\n\n /**\n * If set to true the query will be wrapped into a transaction.\n */\n useTransaction(enabled: boolean): this {\n this.expressionMap.useTransaction = enabled\n return this\n }\n\n /**\n * Adds CTE to query\n */\n addCommonTableExpression(\n queryBuilder: QueryBuilder<any> | string,\n alias: string,\n options?: QueryBuilderCteOptions,\n ): this {\n this.expressionMap.commonTableExpressions.push({\n queryBuilder,\n alias,\n options: options || {},\n })\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets escaped table name with schema name if SqlServer 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 if (i === \"\") return i\n return this.escape(i)\n })\n .join(\".\")\n }\n\n /**\n * Gets name of the table where insert should be performed.\n */\n protected getMainTableName(): string {\n if (!this.expressionMap.mainAlias)\n throw new TypeORMError(\n `Entity where values should be inserted is not specified. Call \"qb.into(entity)\" method to specify it.`,\n )\n\n if (this.expressionMap.mainAlias.hasMetadata)\n return this.expressionMap.mainAlias.metadata.tablePath\n\n return this.expressionMap.mainAlias.tablePath!\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 protected createFromAlias(\n entityTarget:\n | EntityTarget<any>\n | ((qb: SelectQueryBuilder<any>) => SelectQueryBuilder<any>),\n aliasName?: string,\n ): Alias {\n // if table has a metadata then find it to properly escape its properties\n // const metadata = this.connection.entityMetadatas.find(metadata => metadata.tableName === tableName);\n if (this.connection.hasMetadata(entityTarget)) {\n const metadata = this.connection.getMetadata(entityTarget)\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n metadata: this.connection.getMetadata(entityTarget),\n tablePath: metadata.tablePath,\n })\n } else {\n if (typeof entityTarget === \"string\") {\n const isSubquery =\n entityTarget.substr(0, 1) === \"(\" &&\n entityTarget.substr(-1) === \")\"\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n tablePath: !isSubquery\n ? (entityTarget as string)\n : undefined,\n subQuery: isSubquery ? entityTarget : undefined,\n })\n }\n\n const subQueryBuilder: SelectQueryBuilder<any> = (\n entityTarget as any\n )((this as any as SelectQueryBuilder<any>).subQuery())\n this.setParameters(subQueryBuilder.getParameters())\n const subquery = subQueryBuilder.getQuery()\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n subQuery: subquery,\n })\n }\n }\n\n /**\n * @deprecated this way of replace property names is too slow.\n * Instead, we'll replace property names at the end - once query is build.\n */\n protected replacePropertyNames(statement: string) {\n return statement\n }\n\n /**\n * Replaces all entity's propertyName to name in the given SQL string.\n */\n protected replacePropertyNamesForTheWholeQuery(statement: string) {\n const replacements: { [key: string]: { [key: string]: string } } = {}\n\n for (const alias of this.expressionMap.aliases) {\n if (!alias.hasMetadata) continue\n const replaceAliasNamePrefix =\n this.expressionMap.aliasNamePrefixingEnabled && alias.name\n ? `${alias.name}.`\n : \"\"\n\n if (!replacements[replaceAliasNamePrefix]) {\n replacements[replaceAliasNamePrefix] = {}\n }\n\n // Insert & overwrite the replacements from least to most relevant in our replacements object.\n // To do this we iterate and overwrite in the order of relevance.\n // Least to Most Relevant:\n // * Relation Property Path to first join column key\n // * Relation Property Path + Column Path\n // * Column Database Name\n // * Column Property Name\n // * Column Property Path\n\n for (const relation of alias.metadata.relations) {\n if (relation.joinColumns.length > 0)\n replacements[replaceAliasNamePrefix][\n relation.propertyPath\n ] = relation.joinColumns[0].databaseName\n }\n\n for (const relation of alias.metadata.relations) {\n const allColumns = [\n ...relation.joinColumns,\n ...relation.inverseJoinColumns,\n ]\n for (const joinColumn of allColumns) {\n const propertyKey = `${relation.propertyPath}.${\n joinColumn.referencedColumn!.propertyPath\n }`\n replacements[replaceAliasNamePrefix][propertyKey] =\n joinColumn.databaseName\n }\n }\n\n for (const column of alias.metadata.columns) {\n replacements[replaceAliasNamePrefix][column.databaseName] =\n column.databaseName\n }\n\n for (const column of alias.metadata.columns) {\n replacements[replaceAliasNamePrefix][column.propertyName] =\n column.databaseName\n }\n\n for (const column of alias.metadata.columns) {\n replacements[replaceAliasNamePrefix][column.propertyPath] =\n column.databaseName\n }\n }\n\n const replacementKeys = Object.keys(replacements)\n const replaceAliasNamePrefixes = replacementKeys\n .map((key) => escapeRegExp(key))\n .join(\"|\")\n\n if (replacementKeys.length > 0) {\n statement = statement.replace(\n new RegExp(\n // Avoid a lookbehind here since it's not well supported\n `([ =(]|^.{0})` + // any of ' =(' or start of line\n // followed by our prefix, e.g. 'tablename.' or ''\n `${\n replaceAliasNamePrefixes\n ? \"(\" + replaceAliasNamePrefixes + \")\"\n : \"\"\n }([^ =(),]+)` + // a possible property name: sequence of anything but ' =(),'\n // terminated by ' =),' or end of line\n `(?=[ =),]|.{0}$)`,\n \"gm\",\n ),\n (...matches) => {\n let match: string, pre: string, p: string\n if (replaceAliasNamePrefixes) {\n match = matches[0]\n pre = matches[1]\n p = matches[3]\n\n if (replacements[matches[2]][p]) {\n return `${pre}${this.escape(\n matches[2].substring(0, matches[2].length - 1),\n )}.${this.escape(replacements[matches[2]][p])}`\n }\n } else {\n match = matches[0]\n pre = matches[1]\n p = matches[2]\n\n if (replacements[\"\"][p]) {\n return `${pre}${this.escape(replacements[\"\"][p])}`\n }\n }\n return match\n },\n )\n }\n\n return statement\n }\n\n protected createComment(): string {\n if (!this.expressionMap.comment) {\n return \"\"\n }\n\n // ANSI SQL 2003 support C style comments - comments that start with `/*` and end with `*/`\n // In some dialects query nesting is available - but not all. Because of this, we'll need\n // to scrub \"ending\" characters from the SQL but otherwise we can leave everything else\n // as-is and it should be valid.\n\n return `/* ${this.expressionMap.comment.replace(/\\*\\//g, \"\")} */ `\n }\n\n /**\n * Time travel queries for CockroachDB\n */\n protected createTimeTravelQuery(): string {\n if (\n this.expressionMap.queryType === \"select\" &&\n this.expressionMap.timeTravel\n ) {\n return ` AS OF SYSTEM TIME ${this.expressionMap.timeTravel}`\n }\n\n return \"\"\n }\n\n /**\n * Creates \"WHERE\" expression.\n */\n protected createWhereExpression() {\n const conditionsArray = []\n\n const whereExpression = this.createWhereClausesExpression(\n this.expressionMap.wheres,\n )\n\n if (whereExpression.length > 0 && whereExpression !== \"1=1\") {\n conditionsArray.push(this.replacePropertyNames(whereExpression))\n }\n\n if (this.expressionMap.mainAlias!.hasMetadata) {\n const metadata = this.expressionMap.mainAlias!.metadata\n // Adds the global condition of \"non-deleted\" for the entity with delete date columns in select query.\n if (\n this.expressionMap.queryType === \"select\" &&\n !this.expressionMap.withDeleted &&\n metadata.deleteDateColumn\n ) {\n const column = this.expressionMap.aliasNamePrefixingEnabled\n ? this.expressionMap.mainAlias!.name +\n \".\" +\n metadata.deleteDateColumn.propertyName\n : metadata.deleteDateColumn.propertyName\n\n const condition = `${this.replacePropertyNames(column)} IS NULL`\n conditionsArray.push(condition)\n }\n\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const column = this.expressionMap.aliasNamePrefixingEnabled\n ? this.expressionMap.mainAlias!.name +\n \".\" +\n metadata.discriminatorColumn.databaseName\n : metadata.discriminatorColumn.databaseName\n\n const condition = `${this.replacePropertyNames(\n column,\n )} IN (:...discriminatorColumnValues)`\n conditionsArray.push(condition)\n }\n }\n\n if (this.expressionMap.extraAppendedAndWhereCondition) {\n const condition = this.replacePropertyNames(\n this.expressionMap.extraAppendedAndWhereCondition,\n )\n conditionsArray.push(condition)\n }\n\n let condition = \"\"\n\n // time travel\n condition += this.createTimeTravelQuery()\n\n if (!conditionsArray.length) {\n condition += \"\"\n } else if (conditionsArray.length === 1) {\n condition += ` WHERE ${conditionsArray[0]}`\n } else {\n condition += ` WHERE ( ${conditionsArray.join(\" ) AND ( \")} )`\n }\n\n return condition\n }\n\n /**\n * Creates \"RETURNING\" / \"OUTPUT\" expression.\n */\n protected createReturningExpression(returningType: ReturningType): string {\n const columns = this.getReturningColumns()\n const driver = this.connection.driver\n\n // also add columns we must auto-return to perform entity updation\n // if user gave his own returning\n if (\n typeof this.expressionMap.returning !== \"string\" &&\n this.expressionMap.extraReturningColumns.length > 0 &&\n driver.isReturningSqlSupported(returningType)\n ) {\n columns.push(\n ...this.expressionMap.extraReturningColumns.filter((column) => {\n return columns.indexOf(column) === -1\n }),\n )\n }\n\n if (columns.length) {\n let columnsExpression = columns\n .map((column) => {\n const name = this.escape(column.databaseName)\n if (driver.options.type === \"mssql\") {\n if (\n this.expressionMap.queryType === \"insert\" ||\n this.expressionMap.queryType === \"update\" ||\n this.expressionMap.queryType === \"soft-delete\" ||\n this.expressionMap.queryType === \"restore\"\n ) {\n return \"INSERTED.\" + name\n } else {\n return (\n this.escape(this.getMainTableName()) +\n \".\" +\n name\n )\n }\n } else {\n return name\n }\n })\n .join(\", \")\n\n if (driver.options.type === \"oracle\") {\n columnsExpression +=\n \" INTO \" +\n columns\n .map((column) => {\n return this.createParameter({\n type: (\n driver as OracleDriver\n ).columnTypeToNativeParameter(column.type),\n dir: (driver as OracleDriver).oracle.BIND_OUT,\n })\n })\n .join(\", \")\n }\n\n if (driver.options.type === \"mssql\") {\n if (\n this.expressionMap.queryType === \"insert\" ||\n this.expressionMap.queryType === \"update\"\n ) {\n columnsExpression += \" INTO @OutputTable\"\n }\n }\n\n return columnsExpression\n } else if (typeof this.expressionMap.returning === \"string\") {\n return this.expressionMap.returning\n }\n\n return \"\"\n }\n\n /**\n * If returning / output cause is set to array of column names,\n * then this method will return all column metadatas of those column names.\n */\n protected getReturningColumns(): ColumnMetadata[] {\n const columns: ColumnMetadata[] = []\n if (Array.isArray(this.expressionMap.returning)) {\n ;(this.expressionMap.returning as string[]).forEach(\n (columnName) => {\n if (this.expressionMap.mainAlias!.hasMetadata) {\n columns.push(\n ...this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(\n columnName,\n ),\n )\n }\n },\n )\n }\n return columns\n }\n\n protected createWhereClausesExpression(clauses: WhereClause[]): string {\n return clauses\n .map((clause, index) => {\n const expression = this.createWhereConditionExpression(\n clause.condition,\n )\n\n switch (clause.type) {\n case \"and\":\n return (\n (index > 0 ? \"AND \" : \"\") +\n `${\n this.connection.options.isolateWhereStatements\n ? \"(\"\n : \"\"\n }${expression}${\n this.connection.options.isolateWhereStatements\n ? \")\"\n : \"\"\n }`\n )\n case \"or\":\n return (\n (index > 0 ? \"OR \" : \"\") +\n `${\n this.connection.options.isolateWhereStatements\n ? \"(\"\n : \"\"\n }${expression}${\n this.connection.options.isolateWhereStatements\n ? \")\"\n : \"\"\n }`\n )\n }\n\n return expression\n })\n .join(\" \")\n .trim()\n }\n\n /**\n * Computes given where argument - transforms to a where string all forms it can take.\n */\n protected createWhereConditionExpression(\n condition: WhereClauseCondition,\n alwaysWrap: boolean = false,\n ): string {\n if (typeof condition === \"string\") return condition\n\n if (Array.isArray(condition)) {\n if (condition.length === 0) {\n return \"1=1\"\n }\n\n // In the future we should probably remove this entire condition\n // but for now to prevent any breaking changes it exists.\n if (condition.length === 1 && !alwaysWrap) {\n return this.createWhereClausesExpression(condition)\n }\n\n return \"(\" + this.createWhereClausesExpression(condition) + \")\"\n }\n\n const { driver } = this.connection\n\n switch (condition.operator) {\n case \"lessThan\":\n return `${condition.parameters[0]} < ${condition.parameters[1]}`\n case \"lessThanOrEqual\":\n return `${condition.parameters[0]} <= ${condition.parameters[1]}`\n case \"arrayContains\":\n return `${condition.parameters[0]} @> ${condition.parameters[1]}`\n case \"jsonContains\":\n return `${condition.parameters[0]} ::jsonb @> ${condition.parameters[1]}`\n case \"arrayContainedBy\":\n return `${condition.parameters[0]} <@ ${condition.parameters[1]}`\n case \"arrayOverlap\":\n return `${condition.parameters[0]} && ${condition.parameters[1]}`\n case \"moreThan\":\n return `${condition.parameters[0]} > ${condition.parameters[1]}`\n case \"moreThanOrEqual\":\n return `${condition.parameters[0]} >= ${condition.parameters[1]}`\n case \"notEqual\":\n return `${condition.parameters[0]} != ${condition.parameters[1]}`\n case \"equal\":\n return `${condition.parameters[0]} = ${condition.parameters[1]}`\n case \"ilike\":\n if (\n driver.options.type === \"postgres\" ||\n driver.options.type === \"cockroachdb\"\n ) {\n return `${condition.parameters[0]} ILIKE ${condition.parameters[1]}`\n }\n\n return `UPPER(${condition.parameters[0]}) LIKE UPPER(${condition.parameters[1]})`\n case \"like\":\n return `${condition.parameters[0]} LIKE ${condition.parameters[1]}`\n case \"between\":\n return `${condition.parameters[0]} BETWEEN ${condition.parameters[1]} AND ${condition.parameters[2]}`\n case \"in\":\n if (condition.parameters.length <= 1) {\n return \"0=1\"\n }\n return `${condition.parameters[0]} IN (${condition.parameters\n .slice(1)\n .join(\", \")})`\n case \"any\":\n if (driver.options.type === \"cockroachdb\") {\n return `${condition.parameters[0]}::STRING = ANY(${condition.parameters[1]}::STRING[])`\n }\n\n return `${condition.parameters[0]} = ANY(${condition.parameters[1]})`\n case \"isNull\":\n return `${condition.parameters[0]} IS NULL`\n\n case \"not\":\n return `NOT(${this.createWhereConditionExpression(\n condition.condition,\n )})`\n case \"brackets\":\n return `${this.createWhereConditionExpression(\n condition.condition,\n true,\n )}`\n case \"and\":\n return \"(\" + condition.parameters.join(\" AND \") + \")\"\n case \"or\":\n return \"(\" + condition.parameters.join(\" OR \") + \")\"\n }\n\n throw new TypeError(\n `Unsupported FindOperator ${FindOperator.constructor.name}`,\n )\n }\n\n protected createCteExpression(): string {\n if (!this.hasCommonTableExpressions()) {\n return \"\"\n }\n const databaseRequireRecusiveHint =\n this.connection.driver.cteCapabilities.requiresRecursiveHint\n\n const cteStrings = this.expressionMap.commonTableExpressions.map(\n (cte) => {\n let cteBodyExpression =\n typeof cte.queryBuilder === \"string\" ? cte.queryBuilder : \"\"\n if (typeof cte.queryBuilder !== \"string\") {\n if (cte.queryBuilder.hasCommonTableExpressions()) {\n throw new TypeORMError(\n `Nested CTEs aren't supported (CTE: ${cte.alias})`,\n )\n }\n cteBodyExpression = cte.queryBuilder.getQuery()\n if (\n !this.connection.driver.cteCapabilities.writable &&\n !InstanceChecker.isSelectQueryBuilder(cte.queryBuilder)\n ) {\n throw new TypeORMError(\n `Only select queries are supported in CTEs in ${this.connection.options.type} (CTE: ${cte.alias})`,\n )\n }\n this.setParameters(cte.queryBuilder.getParameters())\n }\n let cteHeader = this.escape(cte.alias)\n if (cte.options.columnNames) {\n const escapedColumnNames = cte.options.columnNames.map(\n (column) => this.escape(column),\n )\n if (\n InstanceChecker.isSelectQueryBuilder(cte.queryBuilder)\n ) {\n if (\n cte.queryBuilder.expressionMap.selects.length &&\n cte.options.columnNames.length !==\n cte.queryBuilder.expressionMap.selects.length\n ) {\n throw new TypeORMError(\n `cte.options.columnNames length (${cte.options.columnNames.length}) doesn't match subquery select list length ${cte.queryBuilder.expressionMap.selects.length} (CTE: ${cte.alias})`,\n )\n }\n }\n cteHeader += `(${escapedColumnNames.join(\", \")})`\n }\n const recursiveClause =\n cte.options.recursive && databaseRequireRecusiveHint\n ? \"RECURSIVE\"\n : \"\"\n let materializeClause = \"\"\n if (\n this.connection.driver.cteCapabilities.materializedHint &&\n cte.options.materialized !== undefined\n ) {\n materializeClause = cte.options.materialized\n ? \"MATERIALIZED\"\n : \"NOT MATERIALIZED\"\n }\n\n return [\n recursiveClause,\n cteHeader,\n \"AS\",\n materializeClause,\n `(${cteBodyExpression})`,\n ]\n .filter(Boolean)\n .join(\" \")\n },\n )\n\n return \"WITH \" + cteStrings.join(\", \") + \" \"\n }\n\n /**\n * Creates \"WHERE\" condition for an in-ids condition.\n */\n protected getWhereInIdsCondition(\n ids: any | any[],\n ): ObjectLiteral | Brackets {\n const metadata = this.expressionMap.mainAlias!.metadata\n const normalized = (Array.isArray(ids) ? ids : [ids]).map((id) =>\n metadata.ensureEntityIdMap(id),\n )\n\n // using in(...ids) for single primary key entities\n if (!metadata.hasMultiplePrimaryKeys) {\n const primaryColumn = metadata.primaryColumns[0]\n\n // getEntityValue will try to transform `In`, it is a bug\n // todo: remove this transformer check after #2390 is fixed\n // This also fails for embedded & relation, so until that is fixed skip it.\n if (\n !primaryColumn.transformer &&\n !primaryColumn.relationMetadata &&\n !primaryColumn.embeddedMetadata\n ) {\n return {\n [primaryColumn.propertyName]: In(\n normalized.map((id) =>\n primaryColumn.getEntityValue(id, false),\n ),\n ),\n }\n }\n }\n\n return new Brackets((qb) => {\n for (const data of normalized) {\n qb.orWhere(new Brackets((qb) => qb.where(data)))\n }\n })\n }\n\n protected getExistsCondition(subQuery: any): [string, any[]] {\n const query = subQuery\n .clone()\n .orderBy()\n .groupBy()\n .offset(undefined)\n .limit(undefined)\n .skip(undefined)\n .take(undefined)\n .select(\"1\")\n .setOption(\"disable-global-order\")\n\n return [`EXISTS (${query.getQuery()})`, query.getParameters()]\n }\n\n private findColumnsForPropertyPath(\n propertyPath: string,\n ): [Alias, string[], ColumnMetadata[]] {\n // Make a helper to iterate the entity & relations?\n // Use that to set the correct alias? Or the other way around?\n\n // Start with the main alias with our property paths\n let alias = this.expressionMap.mainAlias\n const root: string[] = []\n const propertyPathParts = propertyPath.split(\".\")\n\n while (propertyPathParts.length > 1) {\n const part = propertyPathParts[0]\n\n if (!alias?.hasMetadata) {\n // If there's no metadata, we're wasting our time\n // and can't actually look any of this up.\n break\n }\n\n if (alias.metadata.hasEmbeddedWithPropertyPath(part)) {\n // If this is an embedded then we should combine the two as part of our lookup.\n // Instead of just breaking, we keep going with this in case there's an embedded/relation\n // inside an embedded.\n propertyPathParts.unshift(\n `${propertyPathParts.shift()}.${propertyPathParts.shift()}`,\n )\n continue\n }\n\n if (alias.metadata.hasRelationWithPropertyPath(part)) {\n // If this is a relation then we should find the aliases\n // that match the relation & then continue further down\n // the property path\n const joinAttr = this.expressionMap.joinAttributes.find(\n (joinAttr) => joinAttr.relationPropertyPath === part,\n )\n\n if (!joinAttr?.alias) {\n const fullRelationPath =\n root.length > 0 ? `${root.join(\".\")}.${part}` : part\n throw new Error(\n `Cannot find alias for relation at ${fullRelationPath}`,\n )\n }\n\n alias = joinAttr.alias\n root.push(...part.split(\".\"))\n propertyPathParts.shift()\n continue\n }\n\n break\n }\n\n if (!alias) {\n throw new Error(`Cannot find alias for property ${propertyPath}`)\n }\n\n // Remaining parts are combined back and used to find the actual property path\n const aliasPropertyPath = propertyPathParts.join(\".\")\n\n const columns =\n alias.metadata.findColumnsWithPropertyPath(aliasPropertyPath)\n\n if (!columns.length) {\n throw new EntityPropertyNotFoundError(propertyPath, alias.metadata)\n }\n\n return [alias, root, columns]\n }\n\n /**\n * Creates a property paths for a given ObjectLiteral.\n */\n protected createPropertyPath(\n metadata: EntityMetadata,\n entity: ObjectLiteral,\n prefix: string = \"\",\n ) {\n const paths: string[] = []\n\n for (const key of Object.keys(entity)) {\n const path = prefix ? `${prefix}.${key}` : key\n\n // There's times where we don't actually want to traverse deeper.\n // If the value is a `FindOperator`, or null, or not an object, then we don't, for example.\n if (\n entity[key] === null ||\n typeof entity[key] !== \"object\" ||\n InstanceChecker.isFindOperator(entity[key])\n ) {\n paths.push(path)\n continue\n }\n\n if (metadata.hasEmbeddedWithPropertyPath(path)) {\n const subPaths = this.createPropertyPath(\n metadata,\n entity[key],\n path,\n )\n paths.push(...subPaths)\n continue\n }\n\n if (metadata.hasRelationWithPropertyPath(path)) {\n const relation = metadata.findRelationWithPropertyPath(path)!\n\n // There's also cases where we don't want to return back all of the properties.\n // These handles the situation where someone passes the model & we don't need to make\n // a HUGE `where` to uniquely look up the entity.\n\n // In the case of a *-to-one, there's only ever one possible entity on the other side\n // so if the join columns are all defined we can return just the relation itself\n // because it will fetch only the join columns and do the lookup.\n if (\n relation.relationType === \"one-to-one\" ||\n relation.relationType === \"many-to-one\"\n ) {\n const joinColumns = relation.joinColumns\n .map((j) => j.referencedColumn)\n .filter((j): j is ColumnMetadata => !!j)\n\n const hasAllJoinColumns =\n joinColumns.length > 0 &&\n joinColumns.every((column) =>\n column.getEntityValue(entity[key], false),\n )\n\n if (hasAllJoinColumns) {\n paths.push(path)\n continue\n }\n }\n\n if (\n relation.relationType === \"one-to-many\" ||\n relation.relationType === \"many-to-many\"\n ) {\n throw new Error(\n `Cannot query across ${relation.relationType} for property ${path}`,\n )\n }\n\n // For any other case, if the `entity[key]` contains all of the primary keys we can do a\n // lookup via these. We don't need to look up via any other values 'cause these are\n // the unique primary keys.\n // This handles the situation where someone passes the model & we don't need to make\n // a HUGE where.\n const primaryColumns =\n relation.inverseEntityMetadata.primaryColumns\n const hasAllPrimaryKeys =\n primaryColumns.length > 0 &&\n primaryColumns.every((column) =>\n column.getEntityValue(entity[key], false),\n )\n\n if (hasAllPrimaryKeys) {\n const subPaths = primaryColumns.map(\n (column) => `${path}.${column.propertyPath}`,\n )\n paths.push(...subPaths)\n continue\n }\n\n // If nothing else, just return every property that's being passed to us.\n const subPaths = this.createPropertyPath(\n relation.inverseEntityMetadata,\n entity[key],\n ).map((p) => `${path}.${p}`)\n paths.push(...subPaths)\n continue\n }\n\n paths.push(path)\n }\n\n return paths\n }\n\n protected *getPredicates(where: ObjectLiteral) {\n if (this.expressionMap.mainAlias!.hasMetadata) {\n const propertyPaths = this.createPropertyPath(\n this.expressionMap.mainAlias!.metadata,\n where,\n )\n\n for (const propertyPath of propertyPaths) {\n const [alias, aliasPropertyPath, columns] =\n this.findColumnsForPropertyPath(propertyPath)\n\n for (const column of columns) {\n let containedWhere = where\n\n for (const part of aliasPropertyPath) {\n if (!containedWhere || !(part in containedWhere)) {\n containedWhere = {}\n break\n }\n\n containedWhere = containedWhere[part]\n }\n\n // Use the correct alias & the property path from the column\n const aliasPath = this.expressionMap\n .aliasNamePrefixingEnabled\n ? `${alias.name}.${column.propertyPath}`\n : column.propertyPath\n\n const parameterValue = column.getEntityValue(\n containedWhere,\n true,\n )\n\n yield [aliasPath, parameterValue]\n }\n }\n } else {\n for (const key of Object.keys(where)) {\n const parameterValue = where[key]\n const aliasPath = this.expressionMap.aliasNamePrefixingEnabled\n ? `${this.alias}.${key}`\n : key\n\n yield [aliasPath, parameterValue]\n }\n }\n }\n\n protected getWherePredicateCondition(\n aliasPath: string,\n parameterValue: any,\n ): WhereClauseCondition {\n if (InstanceChecker.isFindOperator(parameterValue)) {\n const parameters: any[] = []\n if (parameterValue.useParameter) {\n if (parameterValue.objectLiteralParameters) {\n this.setParameters(parameterValue.objectLiteralParameters)\n } else if (parameterValue.multipleParameters) {\n for (const v of parameterValue.value) {\n parameters.push(this.createParameter(v))\n }\n } else {\n parameters.push(this.createParameter(parameterValue.value))\n }\n }\n\n if (parameterValue.type === \"raw\") {\n if (parameterValue.getSql) {\n return parameterValue.getSql(aliasPath)\n } else {\n return {\n operator: \"equal\",\n parameters: [aliasPath, parameterValue.value],\n }\n }\n } else if (parameterValue.type === \"not\") {\n if (parameterValue.child) {\n return {\n operator: parameterValue.type,\n condition: this.getWherePredicateCondition(\n aliasPath,\n parameterValue.child,\n ),\n }\n } else {\n return {\n operator: \"notEqual\",\n parameters: [aliasPath, ...parameters],\n }\n }\n } else if (parameterValue.type === \"and\") {\n const values: FindOperator<any>[] = parameterValue.value\n\n return {\n operator: parameterValue.type,\n parameters: values.map((operator) =>\n this.createWhereConditionExpression(\n this.getWherePredicateCondition(\n aliasPath,\n operator,\n ),\n ),\n ),\n }\n } else if (parameterValue.type === \"or\") {\n const values: FindOperator<any>[] = parameterValue.value\n\n return {\n operator: parameterValue.type,\n parameters: values.map((operator) =>\n this.createWhereConditionExpression(\n this.getWherePredicateCondition(\n aliasPath,\n operator,\n ),\n ),\n ),\n }\n } else {\n return {\n operator: parameterValue.type,\n parameters: [aliasPath, ...parameters],\n }\n }\n } else if (parameterValue === null) {\n const nullBehavior =\n this.connection.options.invalidWhereValuesBehavior?.null ||\n \"ignore\"\n if (nullBehavior === \"sql-null\") {\n return {\n operator: \"isNull\",\n parameters: [aliasPath],\n }\n } else if (nullBehavior === \"throw\") {\n throw new TypeORMError(\n `Null value encountered in property '${aliasPath}' of a where condition. ` +\n `To match with SQL NULL, the IsNull() operator must be used. ` +\n `Set 'invalidWhereValuesBehavior.null' to 'ignore' or 'sql-null' in connection options to skip or handle null values.`,\n )\n }\n } else if (parameterValue === undefined) {\n const undefinedBehavior =\n this.connection.options.invalidWhereValuesBehavior?.undefined ||\n \"ignore\"\n if (undefinedBehavior === \"throw\") {\n throw new TypeORMError(\n `Undefined value encountered in property '${aliasPath}' of a where condition. ` +\n `Set 'invalidWhereValuesBehavior.undefined' to 'ignore' in connection options to skip properties with undefined values.`,\n )\n }\n }\n\n return {\n operator: \"equal\",\n parameters: [aliasPath, this.createParameter(parameterValue)],\n }\n }\n\n protected getWhereCondition(\n where:\n | string\n | ((qb: this) => string)\n | Brackets\n | NotBrackets\n | ObjectLiteral\n | ObjectLiteral[],\n ): WhereClauseCondition {\n if (typeof where === \"string\") {\n return where\n }\n\n if (InstanceChecker.isBrackets(where)) {\n const whereQueryBuilder = this.createQueryBuilder()\n\n whereQueryBuilder.parentQueryBuilder = this\n\n whereQueryBuilder.expressionMap.mainAlias =\n this.expressionMap.mainAlias\n whereQueryBuilder.expressionMap.aliasNamePrefixingEnabled =\n this.expressionMap.aliasNamePrefixingEnabled\n whereQueryBuilder.expressionMap.parameters =\n this.expressionMap.parameters\n whereQueryBuilder.expressionMap.nativeParameters =\n this.expressionMap.nativeParameters\n\n whereQueryBuilder.expressionMap.wheres = []\n\n where.whereFactory(whereQueryBuilder as any)\n\n return {\n operator: InstanceChecker.isNotBrackets(where)\n ? \"not\"\n : \"brackets\",\n condition: whereQueryBuilder.expressionMap.wheres,\n }\n }\n\n if (typeof where === \"function\") {\n return where(this)\n }\n\n const wheres: ObjectLiteral[] = Array.isArray(where) ? where : [where]\n const clauses: WhereClause[] = []\n\n for (const where of wheres) {\n const conditions: WhereClauseCondition = []\n\n // Filter the conditions and set up the parameter values\n for (const [aliasPath, parameterValue] of this.getPredicates(\n where,\n )) {\n conditions.push({\n type: \"and\",\n condition: this.getWherePredicateCondition(\n aliasPath,\n parameterValue,\n ),\n })\n }\n\n clauses.push({ type: \"or\", condition: conditions })\n }\n\n if (clauses.length === 1) {\n return clauses[0].condition\n }\n\n return clauses\n }\n\n /**\n * Creates a query builder used to execute sql queries inside this query builder.\n */\n protected obtainQueryRunner() {\n return this.queryRunner || this.connection.createQueryRunner()\n }\n\n protected hasCommonTableExpressions(): boolean {\n return this.expressionMap.commonTableExpressions.length > 0\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../src/query-builder/QueryBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport type { QueryRunner } from \"../query-runner/QueryRunner\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport type { QueryBuilderCteOptions } from \"./QueryBuilderCte\"\nimport { QueryExpressionMap } from \"./QueryExpressionMap\"\nimport type { SelectQueryBuilder } from \"./SelectQueryBuilder\"\nimport type { UpdateQueryBuilder } from \"./UpdateQueryBuilder\"\nimport type { DeleteQueryBuilder } from \"./DeleteQueryBuilder\"\nimport type { SoftDeleteQueryBuilder } from \"./SoftDeleteQueryBuilder\"\nimport type { InsertQueryBuilder } from \"./InsertQueryBuilder\"\nimport type { RelationQueryBuilder } from \"./RelationQueryBuilder\"\nimport type { EntityTarget } from \"../common/EntityTarget\"\nimport type { Alias } from \"./Alias\"\nimport { Brackets } from \"./Brackets\"\nimport type { QueryDeepPartialEntity } from \"./QueryPartialEntity\"\nimport type { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport type { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { FindOperator } from \"../find-options/FindOperator\"\nimport { Equal } from \"../find-options/operator/Equal\"\nimport { In } from \"../find-options/operator/In\"\nimport { TypeORMError } from \"../error\"\nimport type { WhereClause, WhereClauseCondition } from \"./WhereClause\"\nimport type { NotBrackets } from \"./NotBrackets\"\nimport { EntityPropertyNotFoundError } from \"../error/EntityPropertyNotFoundError\"\nimport type { ReturningType } from \"../driver/types/ReturningType\"\nimport type { OracleDriver } from \"../driver/oracle/OracleDriver\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { escapeRegExp } from \"../util/escapeRegExp\"\n\n// todo: completely cover query builder with tests\n// todo: entityOrProperty can be target name. implement proper behaviour if it is.\n// todo: check in persistment if id exist on object and throw exception (can be in partial selection?)\n// todo: fix problem with long aliases eg getMaxIdentifierLength\n// todo: fix replacing in .select(\"COUNT(post.id) AS cnt\") statement\n// todo: implement joinAlways in relations and relationId\n// todo: finish partial selection\n// todo: sugar methods like: .addCount and .selectCount, selectCountAndMap, selectSum, selectSumAndMap, ...\n// todo: implement @Select decorator\n// todo: add select and map functions\n\n// todo: implement relation/entity loading and setting them into properties within a separate query\n// .loadAndMap(\"post.categories\", \"post.categories\", qb => ...)\n// .loadAndMap(\"post.categories\", Category, qb => ...)\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport abstract class QueryBuilder<Entity extends ObjectLiteral> {\n readonly \"@instanceof\" = Symbol.for(\"QueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * DataSource on which QueryBuilder was created.\n */\n readonly dataSource: DataSource\n\n /**\n * DataSource on which QueryBuilder was created.\n * @deprecated since 1.0.0. Use {@link dataSource} instance instead.\n */\n get connection(): DataSource {\n return this.dataSource\n }\n\n /**\n * Contains all properties of the QueryBuilder that needs to be build a final query.\n */\n readonly expressionMap: QueryExpressionMap\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Query runner used to execute query builder query.\n */\n protected queryRunner?: QueryRunner\n\n /**\n * If QueryBuilder was created in a subquery mode then its parent QueryBuilder (who created subquery) will be stored here.\n */\n protected parentQueryBuilder: QueryBuilder<any>\n\n /**\n * Memo to help keep place of current parameter index for `createParameter`\n */\n private parameterIndex = 0\n\n /**\n * Contains all registered query builder classes.\n */\n private static queryBuilderRegistry: Record<string, any> = {}\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(queryBuilder: QueryBuilder<any>)\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(connection: DataSource, queryRunner?: QueryRunner)\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n * @param connectionOrQueryBuilder\n * @param queryRunner\n */\n constructor(\n connectionOrQueryBuilder: DataSource | QueryBuilder<any>,\n queryRunner?: QueryRunner,\n ) {\n if (InstanceChecker.isDataSource(connectionOrQueryBuilder)) {\n this.dataSource = connectionOrQueryBuilder\n this.queryRunner = queryRunner\n this.expressionMap = new QueryExpressionMap(this.dataSource)\n } else {\n this.dataSource = connectionOrQueryBuilder.dataSource\n this.queryRunner = connectionOrQueryBuilder.queryRunner\n this.expressionMap = connectionOrQueryBuilder.expressionMap.clone()\n }\n }\n\n static registerQueryBuilderClass(name: string, factory: any) {\n QueryBuilder.queryBuilderRegistry[name] = factory\n }\n\n // -------------------------------------------------------------------------\n // Abstract Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n abstract getQuery(): string\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the main alias string used in this query builder.\n */\n get alias(): string {\n if (!this.expressionMap.mainAlias)\n throw new TypeORMError(`Main alias is not set`) // todo: better exception\n\n return this.expressionMap.mainAlias.name\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates SELECT query.\n * Replaces all previous selections if they exist.\n */\n select(): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(\n selection: string,\n selectionAliasName?: string,\n ): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(selection: string[]): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n * @param selection\n * @param selectionAliasName\n */\n select(\n selection?: string | string[],\n selectionAliasName?: string,\n ): SelectQueryBuilder<Entity> {\n this.expressionMap.queryType = \"select\"\n if (Array.isArray(selection)) {\n this.expressionMap.selects = selection.map((selection) => ({\n selection: selection,\n }))\n } else if (selection) {\n this.expressionMap.selects = [\n { selection: selection, aliasName: selectionAliasName },\n ]\n }\n\n if (InstanceChecker.isSelectQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"SelectQueryBuilder\"](this)\n }\n\n /**\n * Creates INSERT query.\n */\n insert(): InsertQueryBuilder<Entity> {\n this.expressionMap.queryType = \"insert\"\n\n if (InstanceChecker.isInsertQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"InsertQueryBuilder\"](this)\n }\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(\n updateSet: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query for the given entity and applies given update values.\n */\n update<Entity extends ObjectLiteral>(\n entity: EntityTarget<Entity>,\n updateSet?: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query for the given table name and applies given update values.\n */\n update(\n tableName: string,\n updateSet?: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query and applies given update values.\n * @param entityOrTableNameUpdateSet\n * @param maybeUpdateSet\n */\n update(\n entityOrTableNameUpdateSet?: EntityTarget<any> | ObjectLiteral,\n maybeUpdateSet?: ObjectLiteral,\n ): UpdateQueryBuilder<any> {\n const updateSet = maybeUpdateSet\n ? maybeUpdateSet\n : (entityOrTableNameUpdateSet as ObjectLiteral | undefined)\n entityOrTableNameUpdateSet = InstanceChecker.isEntitySchema(\n entityOrTableNameUpdateSet,\n )\n ? entityOrTableNameUpdateSet.options.name\n : entityOrTableNameUpdateSet\n\n if (\n typeof entityOrTableNameUpdateSet === \"function\" ||\n typeof entityOrTableNameUpdateSet === \"string\"\n ) {\n const mainAlias = this.createFromAlias(entityOrTableNameUpdateSet)\n this.expressionMap.setMainAlias(mainAlias)\n }\n\n this.expressionMap.queryType = \"update\"\n this.expressionMap.valuesSet = updateSet\n\n if (InstanceChecker.isUpdateQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"UpdateQueryBuilder\"](this)\n }\n\n /**\n * Creates DELETE query.\n */\n delete(): DeleteQueryBuilder<Entity> {\n this.expressionMap.queryType = \"delete\"\n\n if (InstanceChecker.isDeleteQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"DeleteQueryBuilder\"](this)\n }\n\n softDelete(): SoftDeleteQueryBuilder<any> {\n this.expressionMap.queryType = \"soft-delete\"\n\n if (InstanceChecker.isSoftDeleteQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"SoftDeleteQueryBuilder\"](this)\n }\n\n restore(): SoftDeleteQueryBuilder<any> {\n this.expressionMap.queryType = \"restore\"\n\n if (InstanceChecker.isSoftDeleteQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"SoftDeleteQueryBuilder\"](this)\n }\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation(propertyPath: string): RelationQueryBuilder<Entity>\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation<T extends ObjectLiteral>(\n entityTarget: EntityTarget<T>,\n propertyPath: string,\n ): RelationQueryBuilder<T>\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n * @param entityTargetOrPropertyPath\n * @param maybePropertyPath\n */\n relation(\n entityTargetOrPropertyPath: Function | string,\n maybePropertyPath?: string,\n ): RelationQueryBuilder<Entity> {\n const entityTarget =\n arguments.length === 2 ? entityTargetOrPropertyPath : undefined\n const propertyPath =\n arguments.length === 2\n ? (maybePropertyPath as string)\n : (entityTargetOrPropertyPath as string)\n\n this.expressionMap.queryType = \"relation\"\n this.expressionMap.relationPropertyPath = propertyPath\n\n if (entityTarget) {\n const mainAlias = this.createFromAlias(entityTarget)\n this.expressionMap.setMainAlias(mainAlias)\n }\n\n if (InstanceChecker.isRelationQueryBuilder(this)) return this as any\n\n return QueryBuilder.queryBuilderRegistry[\"RelationQueryBuilder\"](this)\n }\n\n /**\n * Checks if given relation exists in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: EntityTarget<T>, relation: string): boolean\n\n /**\n * Checks if given relations exist in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: EntityTarget<T>, relation: string[]): boolean\n\n /**\n * Checks if given relation or relations exist in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n * @param target\n * @param relation\n */\n hasRelation<T>(\n target: EntityTarget<T>,\n relation: string | string[],\n ): boolean {\n const entityMetadata = this.dataSource.getMetadata(target)\n const relations = Array.isArray(relation) ? relation : [relation]\n return relations.every((relation) => {\n return !!entityMetadata.findRelationWithPropertyPath(relation)\n })\n }\n\n /**\n * Check the existence of a parameter for this query builder.\n * @param key\n */\n hasParameter(key: string): boolean {\n return (\n this.parentQueryBuilder?.hasParameter(key) ||\n key in this.expressionMap.parameters\n )\n }\n\n /**\n * Sets parameter name and its value.\n *\n * The key for this parameter may contain numbers, letters, underscores, or periods.\n * @param key\n * @param value\n */\n setParameter(key: string, value: any): this {\n if (typeof value === \"function\") {\n throw new TypeORMError(\n `Function parameter isn't supported in the parameters. Please check \"${key}\" parameter.`,\n )\n }\n\n if (!key.match(/^([A-Za-z0-9_.]+)$/)) {\n throw new TypeORMError(\n \"QueryBuilder parameter keys may only contain numbers, letters, underscores, or periods.\",\n )\n }\n\n if (this.parentQueryBuilder) {\n this.parentQueryBuilder.setParameter(key, value)\n }\n\n this.expressionMap.parameters[key] = value\n return this\n }\n\n /**\n * Adds all parameters from the given object.\n * @param parameters\n */\n setParameters(parameters: ObjectLiteral): this {\n for (const [key, value] of Object.entries(parameters)) {\n this.setParameter(key, value)\n }\n\n return this\n }\n\n protected createParameter(value: any): string {\n let parameterName\n\n do {\n parameterName = `orm_param_${this.parameterIndex++}`\n } while (this.hasParameter(parameterName))\n\n this.setParameter(parameterName, value)\n\n return `:${parameterName}`\n }\n\n /**\n * Gets all parameters.\n */\n getParameters(): ObjectLiteral {\n const parameters: ObjectLiteral = Object.assign(\n {},\n this.expressionMap.parameters,\n )\n\n // add discriminator column parameter if it exist\n if (\n this.expressionMap.mainAlias &&\n this.expressionMap.mainAlias.hasMetadata\n ) {\n const metadata = this.expressionMap.mainAlias!.metadata\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const values = metadata.childEntityMetadatas\n .filter(\n (childMetadata) => childMetadata.discriminatorColumn,\n )\n .map((childMetadata) => childMetadata.discriminatorValue)\n values.push(metadata.discriminatorValue)\n parameters[\"discriminatorColumnValues\"] = values\n }\n }\n\n return parameters\n }\n\n /**\n * Logs the generated sql query using the configured logger.\n */\n logQuery(): this {\n const [query, parameters] = this.getQueryAndParameters()\n this.dataSource.logger.logQuery(query, parameters)\n return this\n }\n\n /**\n * Gets generated sql that will be executed.\n * Parameters in the query are escaped for the currently used driver.\n */\n getSql(): string {\n return this.getQueryAndParameters()[0]\n }\n\n /**\n * Gets query to be executed with all parameters used in it.\n */\n getQueryAndParameters(): [string, any[]] {\n const query = this.getQuery()\n const parameters = this.getParameters()\n return this.dataSource.driver.escapeQueryWithParameters(\n query,\n parameters,\n )\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<any> {\n const [sql, parameters] = this.getQueryAndParameters()\n const queryRunner = this.obtainQueryRunner()\n try {\n return await queryRunner.query(sql, parameters) // await is needed here because we are using finally\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 * Creates a completely new query builder.\n * Uses same query runner as current QueryBuilder.\n * @param queryRunner\n */\n createQueryBuilder(queryRunner?: QueryRunner): this {\n return new (this.constructor as any)(\n this.dataSource,\n queryRunner ?? this.queryRunner,\n )\n }\n\n /**\n * Clones query builder as it is.\n * Note: it uses new query runner, if you want query builder that uses exactly same query runner,\n * you can create query builder using its constructor, for example new SelectQueryBuilder(queryBuilder)\n * where queryBuilder is cloned QueryBuilder.\n */\n clone(): this {\n return new (this.constructor as any)(this)\n }\n\n /**\n * Includes a Query comment in the query builder. This is helpful for debugging purposes,\n * such as finding a specific query in the database server's logs, or for categorization using\n * an APM product.\n * @param comment\n */\n comment(comment: string): this {\n this.expressionMap.comment = comment\n return this\n }\n\n /**\n * Disables escaping.\n */\n disableEscaping(): this {\n this.expressionMap.disableEscaping = false\n return this\n }\n\n /**\n * Escapes table name, column name or alias name using current database's escaping character.\n * @param name\n */\n escape(name: string): string {\n if (!this.expressionMap.disableEscaping) return name\n return this.dataSource.driver.escape(name)\n }\n\n /**\n * Sets or overrides query builder's QueryRunner.\n * @param queryRunner\n */\n setQueryRunner(queryRunner: QueryRunner): this {\n this.queryRunner = queryRunner\n return this\n }\n\n /**\n * Indicates if listeners and subscribers must be called before and after query execution.\n * Enabled by default.\n * @param enabled\n */\n callListeners(enabled: boolean): this {\n this.expressionMap.callListeners = enabled\n return this\n }\n\n /**\n * If set to true the query will be wrapped into a transaction.\n * @param enabled\n */\n useTransaction(enabled: boolean): this {\n this.expressionMap.useTransaction = enabled\n return this\n }\n\n /**\n * Adds CTE to query\n * @param queryBuilder\n * @param alias\n * @param options\n */\n addCommonTableExpression(\n queryBuilder: QueryBuilder<any> | string,\n alias: string,\n options?: QueryBuilderCteOptions,\n ): this {\n this.expressionMap.commonTableExpressions.push({\n queryBuilder,\n alias,\n options: options || {},\n })\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets escaped table name with schema name if SqlServer driver used with custom\n * schema name, otherwise returns escaped table name.\n * @param tablePath\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 if (i === \"\") return i\n return this.escape(i)\n })\n .join(\".\")\n }\n\n /**\n * Gets name of the table where insert should be performed.\n */\n protected getMainTableName(): string {\n if (!this.expressionMap.mainAlias)\n throw new TypeORMError(\n `Entity where values should be inserted is not specified. Call \"qb.into(entity)\" method to specify it.`,\n )\n\n if (this.expressionMap.mainAlias.hasMetadata)\n return this.expressionMap.mainAlias.metadata.tablePath\n\n return this.expressionMap.mainAlias.tablePath!\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 * @param entityTarget\n * @param aliasName\n */\n protected createFromAlias(\n entityTarget:\n | EntityTarget<any>\n | ((qb: SelectQueryBuilder<any>) => SelectQueryBuilder<any>),\n aliasName?: string,\n ): Alias {\n // if table has a metadata then find it to properly escape its properties\n // const metadata = this.dataSource.entityMetadatas.find(metadata => metadata.tableName === tableName);\n if (this.dataSource.hasMetadata(entityTarget)) {\n const metadata = this.dataSource.getMetadata(entityTarget)\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n metadata: this.dataSource.getMetadata(entityTarget),\n tablePath: metadata.tablePath,\n })\n } else {\n if (typeof entityTarget === \"string\") {\n const isSubquery =\n entityTarget.startsWith(\"(\") && entityTarget.endsWith(\")\")\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n tablePath: !isSubquery\n ? (entityTarget as string)\n : undefined,\n subQuery: isSubquery ? entityTarget : undefined,\n })\n }\n\n const subQueryBuilder: SelectQueryBuilder<any> = (\n entityTarget as any\n )((this as any as SelectQueryBuilder<any>).subQuery())\n this.setParameters(subQueryBuilder.getParameters())\n const subquery = subQueryBuilder.getQuery()\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n subQuery: subquery,\n })\n }\n }\n\n /**\n * Replaces all entity's propertyName to name in the given SQL string.\n * @param statement\n */\n protected replacePropertyNamesForTheWholeQuery(statement: string) {\n const replacements: { [key: string]: { [key: string]: string } } = {}\n\n for (const alias of this.expressionMap.aliases) {\n if (!alias.hasMetadata) continue\n const replaceAliasNamePrefix =\n this.expressionMap.aliasNamePrefixingEnabled && alias.name\n ? `${alias.name}.`\n : \"\"\n\n if (!replacements[replaceAliasNamePrefix]) {\n replacements[replaceAliasNamePrefix] = {}\n }\n\n // Insert & overwrite the replacements from least to most relevant in our replacements object.\n // To do this we iterate and overwrite in the order of relevance.\n // Least to Most Relevant:\n // * Relation Property Path to first join column key\n // * Relation Property Path + Column Path\n // * Column Database Name\n // * Column Property Name\n // * Column Property Path\n\n for (const relation of alias.metadata.relations) {\n if (relation.joinColumns.length > 0)\n replacements[replaceAliasNamePrefix][\n relation.propertyPath\n ] = relation.joinColumns[0].databaseName\n }\n\n for (const relation of alias.metadata.relations) {\n const allColumns = [\n ...relation.joinColumns,\n ...relation.inverseJoinColumns,\n ]\n for (const joinColumn of allColumns) {\n const propertyKey = `${relation.propertyPath}.${\n joinColumn.referencedColumn!.propertyPath\n }`\n replacements[replaceAliasNamePrefix][propertyKey] =\n joinColumn.databaseName\n }\n }\n\n for (const column of alias.metadata.columns) {\n replacements[replaceAliasNamePrefix][column.databaseName] =\n column.databaseName\n }\n\n for (const column of alias.metadata.columns) {\n replacements[replaceAliasNamePrefix][column.propertyName] =\n column.databaseName\n }\n\n for (const column of alias.metadata.columns) {\n replacements[replaceAliasNamePrefix][column.propertyPath] =\n column.databaseName\n }\n }\n\n const replacementKeys = Object.keys(replacements)\n const replaceAliasNamePrefixes = replacementKeys\n .map((key) => escapeRegExp(key))\n .join(\"|\")\n\n if (replacementKeys.length > 0) {\n statement = statement.replace(\n new RegExp(\n // Avoid a lookbehind here since it's not well supported\n `([ =(]|^.{0})` + // any of ' =(' or start of line\n // followed by our prefix, e.g. 'tablename.' or ''\n `${\n replaceAliasNamePrefixes\n ? \"(\" + replaceAliasNamePrefixes + \")\"\n : \"\"\n }([^ =(),]+)` + // a possible property name: sequence of anything but ' =(),'\n // terminated by ' =),' or end of line\n `(?=[ =),]|.{0}$)`,\n \"gm\",\n ),\n (...matches) => {\n let match: string, pre: string, p: string\n if (replaceAliasNamePrefixes) {\n match = matches[0]\n pre = matches[1]\n p = matches[3]\n\n if (replacements[matches[2]][p]) {\n return `${pre}${this.escape(\n matches[2].substring(0, matches[2].length - 1),\n )}.${this.escape(replacements[matches[2]][p])}`\n }\n } else {\n match = matches[0]\n pre = matches[1]\n p = matches[2]\n\n if (replacements[\"\"][p]) {\n return `${pre}${this.escape(replacements[\"\"][p])}`\n }\n }\n return match\n },\n )\n }\n\n return statement\n }\n\n protected createComment(): string {\n if (!this.expressionMap.comment) {\n return \"\"\n }\n\n // ANSI SQL 2003 support C style comments - comments that start with `/*` and end with `*/`\n // In some dialects query nesting is available - but not all. Because of this, we'll need\n // to scrub \"ending\" characters from the SQL but otherwise we can leave everything else\n // as-is and it should be valid.\n\n return `/* ${this.expressionMap.comment.replace(/\\*\\//g, \"\")} */ `\n }\n\n /**\n * Time travel queries for CockroachDB\n */\n protected createTimeTravelQuery(): string {\n if (\n this.expressionMap.queryType === \"select\" &&\n this.expressionMap.timeTravel\n ) {\n return ` AS OF SYSTEM TIME ${this.expressionMap.timeTravel}`\n }\n\n return \"\"\n }\n\n /**\n * Creates \"WHERE\" expression.\n */\n protected createWhereExpression() {\n const conditionsArray = []\n\n const whereExpression = this.createWhereClausesExpression(\n this.expressionMap.wheres,\n )\n\n if (whereExpression.length > 0 && whereExpression !== \"1=1\") {\n conditionsArray.push(whereExpression)\n }\n\n if (this.expressionMap.mainAlias!.hasMetadata) {\n const metadata = this.expressionMap.mainAlias!.metadata\n // Adds the global condition of \"non-deleted\" for the entity with delete date columns in select query.\n if (\n this.expressionMap.queryType === \"select\" &&\n !this.expressionMap.withDeleted &&\n metadata.deleteDateColumn\n ) {\n const column = this.expressionMap.aliasNamePrefixingEnabled\n ? this.expressionMap.mainAlias!.name +\n \".\" +\n metadata.deleteDateColumn.propertyName\n : metadata.deleteDateColumn.propertyName\n\n const condition = `${column} IS NULL`\n conditionsArray.push(condition)\n }\n\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const column = this.expressionMap.aliasNamePrefixingEnabled\n ? this.expressionMap.mainAlias!.name +\n \".\" +\n metadata.discriminatorColumn.databaseName\n : metadata.discriminatorColumn.databaseName\n\n const condition = `${column} IN (:...discriminatorColumnValues)`\n conditionsArray.push(condition)\n }\n }\n\n if (this.expressionMap.extraAppendedAndWhereCondition) {\n conditionsArray.push(\n this.expressionMap.extraAppendedAndWhereCondition,\n )\n }\n\n let condition = \"\"\n\n // time travel\n condition += this.createTimeTravelQuery()\n\n if (!conditionsArray.length) {\n condition += \"\"\n } else if (conditionsArray.length === 1) {\n condition += ` WHERE ${conditionsArray[0]}`\n } else {\n condition += ` WHERE ( ${conditionsArray.join(\" ) AND ( \")} )`\n }\n\n return condition\n }\n\n /**\n * Creates \"RETURNING\" / \"OUTPUT\" expression.\n * @param returningType\n */\n protected createReturningExpression(returningType: ReturningType): string {\n const columns = this.getReturningColumns()\n const driver = this.dataSource.driver\n\n // also add columns we must auto-return to perform entity updation\n // if user gave his own returning\n if (\n typeof this.expressionMap.returning !== \"string\" &&\n this.expressionMap.extraReturningColumns.length > 0 &&\n driver.isReturningSqlSupported(returningType)\n ) {\n columns.push(\n ...this.expressionMap.extraReturningColumns.filter((column) => {\n return columns.indexOf(column) === -1\n }),\n )\n }\n\n if (columns.length) {\n let columnsExpression = columns\n .map((column) => {\n const name = this.escape(column.databaseName)\n if (driver.options.type === \"mssql\") {\n if (\n this.expressionMap.queryType === \"insert\" ||\n this.expressionMap.queryType === \"update\" ||\n this.expressionMap.queryType === \"soft-delete\" ||\n this.expressionMap.queryType === \"restore\"\n ) {\n return \"INSERTED.\" + name\n } else {\n return (\n this.escape(this.getMainTableName()) +\n \".\" +\n name\n )\n }\n } else {\n return name\n }\n })\n .join(\", \")\n\n if (driver.options.type === \"oracle\") {\n columnsExpression +=\n \" INTO \" +\n columns\n .map((column) => {\n return this.createParameter({\n type: (\n driver as OracleDriver\n ).columnTypeToNativeParameter(column.type),\n dir: (driver as OracleDriver).oracle.BIND_OUT,\n })\n })\n .join(\", \")\n }\n\n if (driver.options.type === \"mssql\") {\n if (\n this.expressionMap.queryType === \"insert\" ||\n this.expressionMap.queryType === \"update\"\n ) {\n columnsExpression += \" INTO @OutputTable\"\n }\n }\n\n return columnsExpression\n } else if (typeof this.expressionMap.returning === \"string\") {\n return this.expressionMap.returning\n }\n\n return \"\"\n }\n\n /**\n * If returning / output cause is set to array of column names,\n * then this method will return all column metadatas of those column names.\n */\n protected getReturningColumns(): ColumnMetadata[] {\n const columns: ColumnMetadata[] = []\n if (Array.isArray(this.expressionMap.returning)) {\n ;(this.expressionMap.returning as string[]).forEach(\n (columnName) => {\n if (this.expressionMap.mainAlias!.hasMetadata) {\n columns.push(\n ...this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(\n columnName,\n ),\n )\n }\n },\n )\n }\n return columns\n }\n\n protected createWhereClausesExpression(clauses: WhereClause[]): string {\n return clauses\n .map((clause, index) => {\n const expression = this.createWhereConditionExpression(\n clause.condition,\n )\n\n switch (clause.type) {\n case \"and\":\n return (\n (index > 0 ? \"AND \" : \"\") +\n `${\n this.dataSource.options.isolateWhereStatements\n ? \"(\"\n : \"\"\n }${expression}${\n this.dataSource.options.isolateWhereStatements\n ? \")\"\n : \"\"\n }`\n )\n case \"or\":\n return (\n (index > 0 ? \"OR \" : \"\") +\n `${\n this.dataSource.options.isolateWhereStatements\n ? \"(\"\n : \"\"\n }${expression}${\n this.dataSource.options.isolateWhereStatements\n ? \")\"\n : \"\"\n }`\n )\n }\n\n return expression\n })\n .join(\" \")\n .trim()\n }\n\n /**\n * Computes given where argument - transforms to a where string all forms it can take.\n * @param condition\n * @param alwaysWrap\n */\n protected createWhereConditionExpression(\n condition: WhereClauseCondition,\n alwaysWrap: boolean = false,\n ): string {\n if (typeof condition === \"string\") return condition\n\n if (Array.isArray(condition)) {\n if (condition.length === 0) {\n return \"1=1\"\n }\n\n // In the future we should probably remove this entire condition\n // but for now to prevent any breaking changes it exists.\n if (condition.length === 1 && !alwaysWrap) {\n return this.createWhereClausesExpression(condition)\n }\n\n return \"(\" + this.createWhereClausesExpression(condition) + \")\"\n }\n\n const { driver } = this.dataSource\n\n switch (condition.operator) {\n case \"lessThan\":\n return `${condition.parameters[0]} < ${condition.parameters[1]}`\n case \"lessThanOrEqual\":\n return `${condition.parameters[0]} <= ${condition.parameters[1]}`\n case \"arrayContains\":\n return `${condition.parameters[0]} @> ${condition.parameters[1]}`\n case \"jsonContains\":\n return `${condition.parameters[0]} ::jsonb @> ${condition.parameters[1]}`\n case \"arrayContainedBy\":\n return `${condition.parameters[0]} <@ ${condition.parameters[1]}`\n case \"arrayOverlap\":\n return `${condition.parameters[0]} && ${condition.parameters[1]}`\n case \"moreThan\":\n return `${condition.parameters[0]} > ${condition.parameters[1]}`\n case \"moreThanOrEqual\":\n return `${condition.parameters[0]} >= ${condition.parameters[1]}`\n case \"notEqual\":\n return `${condition.parameters[0]} != ${condition.parameters[1]}`\n case \"equal\":\n return `${condition.parameters[0]} = ${condition.parameters[1]}`\n case \"ilike\":\n if (\n driver.options.type === \"postgres\" ||\n driver.options.type === \"cockroachdb\"\n ) {\n return `${condition.parameters[0]} ILIKE ${condition.parameters[1]}`\n }\n\n return `UPPER(${condition.parameters[0]}) LIKE UPPER(${condition.parameters[1]})`\n case \"like\":\n return `${condition.parameters[0]} LIKE ${condition.parameters[1]}`\n case \"between\":\n return `${condition.parameters[0]} BETWEEN ${condition.parameters[1]} AND ${condition.parameters[2]}`\n case \"in\":\n if (condition.parameters.length <= 1) {\n return \"0=1\"\n }\n return `${condition.parameters[0]} IN (${condition.parameters\n .slice(1)\n .join(\", \")})`\n case \"any\":\n if (driver.options.type === \"cockroachdb\") {\n return `${condition.parameters[0]}::STRING = ANY(${condition.parameters[1]}::STRING[])`\n }\n\n return `${condition.parameters[0]} = ANY(${condition.parameters[1]})`\n case \"isNull\":\n return `${condition.parameters[0]} IS NULL`\n\n case \"not\":\n return `NOT(${this.createWhereConditionExpression(\n condition.condition,\n )})`\n case \"brackets\":\n return `${this.createWhereConditionExpression(\n condition.condition,\n true,\n )}`\n case \"and\":\n return \"(\" + condition.parameters.join(\" AND \") + \")\"\n case \"or\":\n return \"(\" + condition.parameters.join(\" OR \") + \")\"\n }\n\n throw new TypeError(\n `Unsupported FindOperator ${FindOperator.constructor.name}`,\n )\n }\n\n protected createCteExpression(): string {\n if (!this.hasCommonTableExpressions()) {\n return \"\"\n }\n const databaseRequireRecusiveHint =\n this.dataSource.driver.cteCapabilities.requiresRecursiveHint\n\n const cteStrings = this.expressionMap.commonTableExpressions.map(\n (cte) => {\n let cteBodyExpression =\n typeof cte.queryBuilder === \"string\" ? cte.queryBuilder : \"\"\n if (typeof cte.queryBuilder !== \"string\") {\n if (cte.queryBuilder.hasCommonTableExpressions()) {\n throw new TypeORMError(\n `Nested CTEs aren't supported (CTE: ${cte.alias})`,\n )\n }\n cteBodyExpression = cte.queryBuilder.getQuery()\n if (\n !this.dataSource.driver.cteCapabilities.writable &&\n !InstanceChecker.isSelectQueryBuilder(cte.queryBuilder)\n ) {\n throw new TypeORMError(\n `Only select queries are supported in CTEs in ${this.dataSource.options.type} (CTE: ${cte.alias})`,\n )\n }\n this.setParameters(cte.queryBuilder.getParameters())\n }\n let cteHeader = this.escape(cte.alias)\n if (cte.options.columnNames) {\n const escapedColumnNames = cte.options.columnNames.map(\n (column) => this.escape(column),\n )\n if (\n InstanceChecker.isSelectQueryBuilder(cte.queryBuilder)\n ) {\n if (\n cte.queryBuilder.expressionMap.selects.length &&\n cte.options.columnNames.length !==\n cte.queryBuilder.expressionMap.selects.length\n ) {\n throw new TypeORMError(\n `cte.options.columnNames length (${cte.options.columnNames.length}) doesn't match subquery select list length ${cte.queryBuilder.expressionMap.selects.length} (CTE: ${cte.alias})`,\n )\n }\n }\n cteHeader += `(${escapedColumnNames.join(\", \")})`\n }\n const recursiveClause =\n cte.options.recursive && databaseRequireRecusiveHint\n ? \"RECURSIVE\"\n : \"\"\n let materializeClause = \"\"\n if (\n this.dataSource.driver.cteCapabilities.materializedHint &&\n cte.options.materialized !== undefined\n ) {\n materializeClause = cte.options.materialized\n ? \"MATERIALIZED\"\n : \"NOT MATERIALIZED\"\n }\n\n return [\n recursiveClause,\n cteHeader,\n \"AS\",\n materializeClause,\n `(${cteBodyExpression})`,\n ]\n .filter(Boolean)\n .join(\" \")\n },\n )\n\n return \"WITH \" + cteStrings.join(\", \") + \" \"\n }\n\n /**\n * Creates \"WHERE\" condition for an in-ids condition.\n * @param ids\n */\n protected getWhereInIdsCondition(\n ids: any | any[],\n ): ObjectLiteral | Brackets {\n const metadata = this.expressionMap.mainAlias!.metadata\n const normalized = (Array.isArray(ids) ? ids : [ids]).map((id) =>\n metadata.ensureEntityIdMap(id),\n )\n\n // using in(...ids) for single primary key entities\n if (!metadata.hasMultiplePrimaryKeys) {\n const primaryColumn = metadata.primaryColumns[0]\n\n // getEntityValue will try to transform `In`, it is a bug\n // todo: remove this transformer check after #2390 is fixed\n // This also fails for embedded & relation, so until that is fixed skip it.\n if (\n !primaryColumn.transformer &&\n !primaryColumn.relationMetadata &&\n !primaryColumn.embeddedMetadata\n ) {\n const values = normalized.map((id) =>\n primaryColumn.getEntityValue(id, false),\n )\n return {\n [primaryColumn.propertyName]:\n values.length === 1 ? Equal(values[0]) : In(values),\n }\n }\n }\n\n return new Brackets((qb) => {\n for (const data of normalized) {\n qb.orWhere(new Brackets((qb) => qb.where(data)))\n }\n })\n }\n\n protected getExistsCondition(subQuery: any): [string, any[]] {\n const query = subQuery\n .clone()\n .orderBy()\n .groupBy()\n .offset(undefined)\n .limit(undefined)\n .skip(undefined)\n .take(undefined)\n .select(\"1\")\n .setOption(\"disable-global-order\")\n\n return [`EXISTS (${query.getQuery()})`, query.getParameters()]\n }\n\n private findColumnsForPropertyPath(\n propertyPath: string,\n ): [Alias, string[], ColumnMetadata[]] {\n // Make a helper to iterate the entity & relations?\n // Use that to set the correct alias? Or the other way around?\n\n // Start with the main alias with our property paths\n let alias = this.expressionMap.mainAlias\n const root: string[] = []\n const propertyPathParts = propertyPath.split(\".\")\n\n while (propertyPathParts.length > 1) {\n const part = propertyPathParts[0]\n\n if (!alias?.hasMetadata) {\n // If there's no metadata, we're wasting our time\n // and can't actually look any of this up.\n break\n }\n\n if (alias.metadata.hasEmbeddedWithPropertyPath(part)) {\n // If this is an embedded then we should combine the two as part of our lookup.\n // Instead of just breaking, we keep going with this in case there's an embedded/relation\n // inside an embedded.\n propertyPathParts.unshift(\n `${propertyPathParts.shift()}.${propertyPathParts.shift()}`,\n )\n continue\n }\n\n if (alias.metadata.hasRelationWithPropertyPath(part)) {\n // If this is a relation then we should find the aliases\n // that match the relation & then continue further down\n // the property path\n const joinAttr = this.expressionMap.joinAttributes.find(\n (joinAttr) => joinAttr.relationPropertyPath === part,\n )\n\n if (!joinAttr?.alias) {\n const fullRelationPath =\n root.length > 0 ? `${root.join(\".\")}.${part}` : part\n throw new Error(\n `Cannot find alias for relation at ${fullRelationPath}`,\n )\n }\n\n alias = joinAttr.alias\n root.push(...part.split(\".\"))\n propertyPathParts.shift()\n continue\n }\n\n break\n }\n\n if (!alias) {\n throw new Error(`Cannot find alias for property ${propertyPath}`)\n }\n\n // Remaining parts are combined back and used to find the actual property path\n const aliasPropertyPath = propertyPathParts.join(\".\")\n\n const columns =\n alias.metadata.findColumnsWithPropertyPath(aliasPropertyPath)\n\n if (!columns.length) {\n throw new EntityPropertyNotFoundError(propertyPath, alias.metadata)\n }\n\n return [alias, root, columns]\n }\n\n /**\n * Creates a property paths for a given ObjectLiteral.\n * @param metadata\n * @param entity\n * @param prefix\n */\n protected createPropertyPath(\n metadata: EntityMetadata,\n entity: ObjectLiteral,\n prefix: string = \"\",\n ) {\n const paths: string[] = []\n\n for (const key of Object.keys(entity)) {\n const path = prefix ? `${prefix}.${key}` : key\n\n // There's times where we don't actually want to traverse deeper.\n // If the value is a `FindOperator`, or null, or not an object, then we don't, for example.\n if (\n entity[key] === null ||\n typeof entity[key] !== \"object\" ||\n InstanceChecker.isFindOperator(entity[key])\n ) {\n paths.push(path)\n continue\n }\n\n if (metadata.hasEmbeddedWithPropertyPath(path)) {\n const subPaths = this.createPropertyPath(\n metadata,\n entity[key],\n path,\n )\n paths.push(...subPaths)\n continue\n }\n\n if (metadata.hasRelationWithPropertyPath(path)) {\n const relation = metadata.findRelationWithPropertyPath(path)!\n\n // There's also cases where we don't want to return back all of the properties.\n // These handles the situation where someone passes the model & we don't need to make\n // a HUGE `where` to uniquely look up the entity.\n\n // In the case of a *-to-one, there's only ever one possible entity on the other side\n // so if the join columns are all defined we can return just the relation itself\n // because it will fetch only the join columns and do the lookup.\n if (\n relation.relationType === \"one-to-one\" ||\n relation.relationType === \"many-to-one\"\n ) {\n const joinColumns = relation.joinColumns\n .map((j) => j.referencedColumn)\n .filter((j): j is ColumnMetadata => !!j)\n\n const hasAllJoinColumns =\n joinColumns.length > 0 &&\n joinColumns.every((column) =>\n column.getEntityValue(entity[key], false),\n )\n\n if (hasAllJoinColumns) {\n paths.push(path)\n continue\n }\n }\n\n // For any other case, if the `entity[key]` contains all of the primary keys we can do a\n // lookup via these. We don't need to look up via any other values 'cause these are\n // the unique primary keys.\n // This handles the situation where someone passes the model & we don't need to make\n // a HUGE where.\n const primaryColumns =\n relation.inverseEntityMetadata.primaryColumns\n const hasAllPrimaryKeys =\n primaryColumns.length > 0 &&\n primaryColumns.every((column) =>\n column.getEntityValue(entity[key], false),\n )\n\n if (hasAllPrimaryKeys) {\n const subPaths = primaryColumns.map(\n (column) => `${path}.${column.propertyPath}`,\n )\n paths.push(...subPaths)\n continue\n }\n\n // If nothing else, just return every property that's being passed to us.\n const subPaths = this.createPropertyPath(\n relation.inverseEntityMetadata,\n entity[key],\n ).map((p) => `${path}.${p}`)\n paths.push(...subPaths)\n continue\n }\n\n paths.push(path)\n }\n\n return paths\n }\n\n protected *getPredicates(where: ObjectLiteral) {\n if (this.expressionMap.mainAlias!.hasMetadata) {\n const propertyPaths = this.createPropertyPath(\n this.expressionMap.mainAlias!.metadata,\n where,\n )\n\n for (const propertyPath of propertyPaths) {\n const [alias, aliasPropertyPath, columns] =\n this.findColumnsForPropertyPath(propertyPath)\n\n for (const column of columns) {\n let containedWhere = where\n\n for (const part of aliasPropertyPath) {\n if (!containedWhere || !(part in containedWhere)) {\n containedWhere = {}\n break\n }\n\n containedWhere = containedWhere[part]\n }\n\n // Use the correct alias & the property path from the column\n const aliasPath = this.expressionMap\n .aliasNamePrefixingEnabled\n ? `${alias.name}.${column.propertyPath}`\n : column.propertyPath\n\n const parameterValue = column.getEntityValue(\n containedWhere,\n true,\n )\n\n yield [aliasPath, parameterValue]\n }\n }\n } else {\n for (const key of Object.keys(where)) {\n const parameterValue = where[key]\n const aliasPath = this.expressionMap.aliasNamePrefixingEnabled\n ? `${this.alias}.${key}`\n : key\n\n yield [aliasPath, parameterValue]\n }\n }\n }\n\n protected getWherePredicateCondition(\n aliasPath: string,\n parameterValue: any,\n ): WhereClauseCondition {\n if (InstanceChecker.isFindOperator(parameterValue)) {\n const parameters: any[] = []\n if (parameterValue.useParameter) {\n if (parameterValue.objectLiteralParameters) {\n this.setParameters(parameterValue.objectLiteralParameters)\n } else if (parameterValue.multipleParameters) {\n for (const v of parameterValue.value) {\n parameters.push(this.createParameter(v))\n }\n } else {\n parameters.push(this.createParameter(parameterValue.value))\n }\n }\n\n if (parameterValue.type === \"raw\") {\n if (parameterValue.getSql) {\n return parameterValue.getSql(aliasPath)\n } else {\n return {\n operator: \"equal\",\n parameters: [aliasPath, parameterValue.value],\n }\n }\n } else if (parameterValue.type === \"not\") {\n if (parameterValue.child) {\n return {\n operator: parameterValue.type,\n condition: this.getWherePredicateCondition(\n aliasPath,\n parameterValue.child,\n ),\n }\n } else {\n return {\n operator: \"notEqual\",\n parameters: [aliasPath, ...parameters],\n }\n }\n } else if (parameterValue.type === \"and\") {\n const values: FindOperator<any>[] = parameterValue.value\n\n return {\n operator: parameterValue.type,\n parameters: values.map((operator) =>\n this.createWhereConditionExpression(\n this.getWherePredicateCondition(\n aliasPath,\n operator,\n ),\n ),\n ),\n }\n } else if (parameterValue.type === \"or\") {\n const values: FindOperator<any>[] = parameterValue.value\n\n return {\n operator: parameterValue.type,\n parameters: values.map((operator) =>\n this.createWhereConditionExpression(\n this.getWherePredicateCondition(\n aliasPath,\n operator,\n ),\n ),\n ),\n }\n } else {\n return {\n operator: parameterValue.type,\n parameters: [aliasPath, ...parameters],\n }\n }\n }\n\n return {\n operator: \"equal\",\n parameters: [aliasPath, this.createParameter(parameterValue)],\n }\n }\n\n protected getWhereCondition(\n where:\n | string\n | ((qb: this) => string)\n | Brackets\n | NotBrackets\n | ObjectLiteral\n | ObjectLiteral[],\n ): WhereClauseCondition {\n if (typeof where === \"string\") {\n return where\n }\n\n if (InstanceChecker.isBrackets(where)) {\n const whereQueryBuilder = this.createQueryBuilder()\n\n whereQueryBuilder.parentQueryBuilder = this\n\n whereQueryBuilder.expressionMap.mainAlias =\n this.expressionMap.mainAlias\n whereQueryBuilder.expressionMap.aliasNamePrefixingEnabled =\n this.expressionMap.aliasNamePrefixingEnabled\n whereQueryBuilder.expressionMap.parameters =\n this.expressionMap.parameters\n whereQueryBuilder.expressionMap.joinAttributes =\n this.expressionMap.joinAttributes\n\n whereQueryBuilder.expressionMap.wheres = []\n\n where.whereFactory(whereQueryBuilder as any)\n\n return {\n operator: InstanceChecker.isNotBrackets(where)\n ? \"not\"\n : \"brackets\",\n condition: whereQueryBuilder.expressionMap.wheres,\n }\n }\n\n if (typeof where === \"function\") {\n return where(this)\n }\n\n const wheres: ObjectLiteral[] = Array.isArray(where) ? where : [where]\n const clauses: WhereClause[] = []\n\n for (const where of wheres) {\n const conditions: WhereClauseCondition = []\n\n // Filter the conditions and set up the parameter values\n for (const [aliasPath, parameterValue] of this.getPredicates(\n where,\n )) {\n conditions.push({\n type: \"and\",\n condition: this.getWherePredicateCondition(\n aliasPath,\n parameterValue,\n ),\n })\n }\n\n clauses.push({ type: \"or\", condition: conditions })\n }\n\n if (clauses.length === 1) {\n return clauses[0].condition\n }\n\n return clauses\n }\n\n /**\n * Creates a query builder used to execute sql queries inside this query builder.\n */\n protected obtainQueryRunner() {\n return this.queryRunner || this.dataSource.createQueryRunner()\n }\n\n protected hasCommonTableExpressions(): boolean {\n return this.expressionMap.commonTableExpressions.length > 0\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
-
4
- //# sourceMappingURL=QueryBuilderCte.js.map
3
+ //# sourceMappingURL=QueryBuilderCte.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/query-builder/QueryBuilderCte.ts"],"names":[],"mappings":"","file":"QueryBuilderCte.js","sourcesContent":["export interface QueryBuilderCteOptions {\n /**\n * Supported only by Postgres currently\n * Oracle users should use query with undocumented materialize hint\n */\n materialized?: boolean\n /**\n * Supported by Postgres, SQLite, MySQL and MariaDB\n * SQL Server automatically detects recursive queries\n */\n recursive?: boolean\n /**\n * Overwrite column names\n * If number of columns returned doesn't work, it throws\n */\n columnNames?: string[]\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"QueryBuilderCte.js","sourceRoot":"","sources":["../../../src/query-builder/QueryBuilderCte.ts"],"names":[],"mappings":"","sourcesContent":["export interface QueryBuilderCteOptions {\n /**\n * Supported only by Postgres currently\n * Oracle users should use query with undocumented materialize hint\n */\n materialized?: boolean\n /**\n * Supported by Postgres, SQLite, MySQL and MariaDB\n * SQL Server automatically detects recursive queries\n */\n recursive?: boolean\n /**\n * Overwrite column names\n * If number of columns returned doesn't work, it throws\n */\n columnNames?: string[]\n}\n"]}
@@ -5,6 +5,7 @@ export declare class QueryBuilderUtils {
5
5
  /**
6
6
  * Checks if given value is a string representation of alias property,
7
7
  * e.g. "post.category" or "post.id".
8
+ * @param str
8
9
  */
9
10
  static isAliasProperty(str: any): str is string;
10
11
  }
@@ -8,6 +8,7 @@ class QueryBuilderUtils {
8
8
  /**
9
9
  * Checks if given value is a string representation of alias property,
10
10
  * e.g. "post.category" or "post.id".
11
+ * @param str
11
12
  */
12
13
  static isAliasProperty(str) {
13
14
  // alias property must be a string and must have a dot separator
@@ -28,5 +29,4 @@ class QueryBuilderUtils {
28
29
  }
29
30
  }
30
31
  exports.QueryBuilderUtils = QueryBuilderUtils;
31
-
32
- //# sourceMappingURL=QueryBuilderUtils.js.map
32
+ //# sourceMappingURL=QueryBuilderUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/query-builder/QueryBuilderUtils.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,iBAAiB;IAC1B;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,GAAQ;QAC3B,gEAAgE;QAChE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAEpE,wCAAwC;QACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,0CAA0C;QAC3F,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAA;QAE7C,6DAA6D;QAC7D,8CAA8C;QAC9C,+EAA+E;QAC/E,oBAAoB;QACpB,qCAAqC;QACrC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAEpE,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAtBD,8CAsBC","file":"QueryBuilderUtils.js","sourcesContent":["/**\n * Helper utility functions for QueryBuilder.\n */\nexport class QueryBuilderUtils {\n /**\n * Checks if given value is a string representation of alias property,\n * e.g. \"post.category\" or \"post.id\".\n */\n static isAliasProperty(str: any): str is string {\n // alias property must be a string and must have a dot separator\n if (typeof str !== \"string\" || str.indexOf(\".\") === -1) return false\n\n // extra alias and its property relation\n const [aliasName, propertyName] = str.split(\".\") // todo: what about relations in embedded?\n if (!aliasName || !propertyName) return false\n\n // alias and property must be represented in a special format\n // const aliasNameRegexp = /^[a-zA-Z0-9_-]+$/;\n // if (!aliasNameRegexp.test(aliasName) || !aliasNameRegexp.test(propertyName))\n // return false;\n // make sure string is not a subquery\n if (str.indexOf(\"(\") !== -1 || str.indexOf(\")\") !== -1) return false\n\n return true\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"QueryBuilderUtils.js","sourceRoot":"","sources":["../../../src/query-builder/QueryBuilderUtils.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,iBAAiB;IAC1B;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,GAAQ;QAC3B,gEAAgE;QAChE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAEpE,wCAAwC;QACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,0CAA0C;QAC3F,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAA;QAE7C,6DAA6D;QAC7D,8CAA8C;QAC9C,+EAA+E;QAC/E,oBAAoB;QACpB,qCAAqC;QACrC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAEpE,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAvBD,8CAuBC","sourcesContent":["/**\n * Helper utility functions for QueryBuilder.\n */\nexport class QueryBuilderUtils {\n /**\n * Checks if given value is a string representation of alias property,\n * e.g. \"post.category\" or \"post.id\".\n * @param str\n */\n static isAliasProperty(str: any): str is string {\n // alias property must be a string and must have a dot separator\n if (typeof str !== \"string\" || str.indexOf(\".\") === -1) return false\n\n // extra alias and its property relation\n const [aliasName, propertyName] = str.split(\".\") // todo: what about relations in embedded?\n if (!aliasName || !propertyName) return false\n\n // alias and property must be represented in a special format\n // const aliasNameRegexp = /^[a-zA-Z0-9_-]+$/;\n // if (!aliasNameRegexp.test(aliasName) || !aliasNameRegexp.test(propertyName))\n // return false;\n // make sure string is not a subquery\n if (str.indexOf(\"(\") !== -1 || str.indexOf(\")\") !== -1) return false\n\n return true\n }\n}\n"]}