@lakutata/orm 3.0.0 → 3.1.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 (1705) hide show
  1. package/README.md +160 -76
  2. package/README.zh-CN.md +452 -0
  3. package/THIRD_PARTY_NOTICES.md +260 -4
  4. package/dist/cjs/components/Database.d.ts +31 -22
  5. package/dist/cjs/components/Database.js +14 -5
  6. package/dist/cjs/decorators/orm/AfterInsert.d.ts +1 -1
  7. package/dist/cjs/decorators/orm/AfterInsert.js +1 -1
  8. package/dist/cjs/decorators/orm/AfterLoad.d.ts +1 -1
  9. package/dist/cjs/decorators/orm/AfterLoad.js +1 -1
  10. package/dist/cjs/decorators/orm/AfterRecover.d.ts +1 -1
  11. package/dist/cjs/decorators/orm/AfterRecover.js +1 -1
  12. package/dist/cjs/decorators/orm/AfterRemove.d.ts +1 -1
  13. package/dist/cjs/decorators/orm/AfterRemove.js +1 -1
  14. package/dist/cjs/decorators/orm/AfterSoftRemove.d.ts +1 -1
  15. package/dist/cjs/decorators/orm/AfterSoftRemove.js +1 -1
  16. package/dist/cjs/decorators/orm/AfterUpdate.d.ts +1 -1
  17. package/dist/cjs/decorators/orm/AfterUpdate.js +1 -1
  18. package/dist/cjs/decorators/orm/BeforeInsert.d.ts +1 -1
  19. package/dist/cjs/decorators/orm/BeforeInsert.js +1 -1
  20. package/dist/cjs/decorators/orm/BeforeRecover.d.ts +1 -1
  21. package/dist/cjs/decorators/orm/BeforeRecover.js +1 -1
  22. package/dist/cjs/decorators/orm/BeforeRemove.d.ts +1 -1
  23. package/dist/cjs/decorators/orm/BeforeRemove.js +1 -1
  24. package/dist/cjs/decorators/orm/BeforeSoftRemove.d.ts +1 -1
  25. package/dist/cjs/decorators/orm/BeforeSoftRemove.js +1 -1
  26. package/dist/cjs/decorators/orm/BeforeUpdate.d.ts +1 -1
  27. package/dist/cjs/decorators/orm/BeforeUpdate.js +1 -1
  28. package/dist/cjs/decorators/orm/Check.d.ts +1 -1
  29. package/dist/cjs/decorators/orm/Check.js +1 -1
  30. package/dist/cjs/decorators/orm/ChildEntity.d.ts +1 -1
  31. package/dist/cjs/decorators/orm/ChildEntity.js +1 -1
  32. package/dist/cjs/decorators/orm/Column.d.ts +1 -1
  33. package/dist/cjs/decorators/orm/Column.js +1 -1
  34. package/dist/cjs/decorators/orm/CreateDateColumn.d.ts +1 -1
  35. package/dist/cjs/decorators/orm/CreateDateColumn.js +1 -1
  36. package/dist/cjs/decorators/orm/DeleteDateColumn.d.ts +1 -1
  37. package/dist/cjs/decorators/orm/DeleteDateColumn.js +1 -1
  38. package/dist/cjs/decorators/orm/Entity.d.ts +1 -1
  39. package/dist/cjs/decorators/orm/Entity.js +1 -1
  40. package/dist/cjs/decorators/orm/EventSubscriber.d.ts +1 -1
  41. package/dist/cjs/decorators/orm/EventSubscriber.js +1 -1
  42. package/dist/cjs/decorators/orm/Exclusion.d.ts +1 -1
  43. package/dist/cjs/decorators/orm/Exclusion.js +1 -1
  44. package/dist/cjs/decorators/orm/Generated.d.ts +1 -1
  45. package/dist/cjs/decorators/orm/Generated.js +1 -1
  46. package/dist/cjs/decorators/orm/Index.d.ts +1 -1
  47. package/dist/cjs/decorators/orm/Index.js +1 -1
  48. package/dist/cjs/decorators/orm/JoinColumn.d.ts +1 -1
  49. package/dist/cjs/decorators/orm/JoinColumn.js +1 -1
  50. package/dist/cjs/decorators/orm/JoinTable.d.ts +1 -1
  51. package/dist/cjs/decorators/orm/JoinTable.js +1 -1
  52. package/dist/cjs/decorators/orm/ManyToMany.d.ts +1 -1
  53. package/dist/cjs/decorators/orm/ManyToMany.js +1 -1
  54. package/dist/cjs/decorators/orm/ManyToOne.d.ts +1 -1
  55. package/dist/cjs/decorators/orm/ManyToOne.js +1 -1
  56. package/dist/cjs/decorators/orm/ObjectIdColumn.d.ts +1 -1
  57. package/dist/cjs/decorators/orm/ObjectIdColumn.js +1 -1
  58. package/dist/cjs/decorators/orm/OneToMany.d.ts +1 -1
  59. package/dist/cjs/decorators/orm/OneToMany.js +1 -1
  60. package/dist/cjs/decorators/orm/OneToOne.d.ts +1 -1
  61. package/dist/cjs/decorators/orm/OneToOne.js +1 -1
  62. package/dist/cjs/decorators/orm/PrimaryColumn.d.ts +1 -1
  63. package/dist/cjs/decorators/orm/PrimaryColumn.js +1 -1
  64. package/dist/cjs/decorators/orm/PrimaryGeneratedColumn.d.ts +1 -1
  65. package/dist/cjs/decorators/orm/PrimaryGeneratedColumn.js +1 -1
  66. package/dist/cjs/decorators/orm/RelationId.d.ts +1 -1
  67. package/dist/cjs/decorators/orm/RelationId.js +1 -1
  68. package/dist/cjs/decorators/orm/TableInheritance.d.ts +1 -1
  69. package/dist/cjs/decorators/orm/TableInheritance.js +1 -1
  70. package/dist/cjs/decorators/orm/Tree.d.ts +1 -1
  71. package/dist/cjs/decorators/orm/Tree.js +1 -1
  72. package/dist/cjs/decorators/orm/TreeChildren.d.ts +1 -1
  73. package/dist/cjs/decorators/orm/TreeChildren.js +1 -1
  74. package/dist/cjs/decorators/orm/TreeLevelColumn.d.ts +1 -1
  75. package/dist/cjs/decorators/orm/TreeLevelColumn.js +1 -1
  76. package/dist/cjs/decorators/orm/TreeParent.d.ts +1 -1
  77. package/dist/cjs/decorators/orm/TreeParent.js +1 -1
  78. package/dist/cjs/decorators/orm/Unique.d.ts +1 -1
  79. package/dist/cjs/decorators/orm/Unique.js +1 -1
  80. package/dist/cjs/decorators/orm/UpdateDateColumn.d.ts +1 -1
  81. package/dist/cjs/decorators/orm/UpdateDateColumn.js +1 -1
  82. package/dist/cjs/decorators/orm/VersionColumn.d.ts +1 -1
  83. package/dist/cjs/decorators/orm/VersionColumn.js +1 -1
  84. package/dist/cjs/decorators/orm/ViewColumn.d.ts +1 -1
  85. package/dist/cjs/decorators/orm/ViewColumn.js +1 -1
  86. package/dist/cjs/decorators/orm/ViewEntity.d.ts +1 -1
  87. package/dist/cjs/decorators/orm/ViewEntity.js +1 -1
  88. package/dist/cjs/decorators/orm/VirtualColumn.d.ts +1 -1
  89. package/dist/cjs/decorators/orm/VirtualColumn.js +1 -1
  90. package/dist/cjs/exports/ORM.d.ts +189 -192
  91. package/dist/cjs/exports/ORM.js +120 -121
  92. package/dist/cjs/lib/ConnectionOptions.d.ts +10 -0
  93. package/dist/cjs/lib/ConnectionOptions.js +17 -0
  94. package/dist/cjs/providers/Database.d.ts +33 -26
  95. package/dist/cjs/providers/Database.js +15 -8
  96. package/dist/cjs/providers/migration/ExecuteMigration.d.ts +5 -4
  97. package/dist/cjs/providers/migration/ExecuteMigration.js +9 -5
  98. package/dist/cjs/providers/migration/GenerateMigration.d.ts +35 -5
  99. package/dist/cjs/providers/migration/GenerateMigration.js +30 -10
  100. package/dist/cjs/types/LegacyConnectionOptions.d.ts +102 -0
  101. package/dist/cjs/types/LegacyConnectionOptions.js +2 -0
  102. package/dist/cjs/types/MigrationRunOptions.d.ts +4 -1
  103. package/dist/esm/components/Database.js +14 -5
  104. package/dist/esm/decorators/orm/AfterInsert.js +1 -1
  105. package/dist/esm/decorators/orm/AfterLoad.js +1 -1
  106. package/dist/esm/decorators/orm/AfterRecover.js +1 -1
  107. package/dist/esm/decorators/orm/AfterRemove.js +1 -1
  108. package/dist/esm/decorators/orm/AfterSoftRemove.js +1 -1
  109. package/dist/esm/decorators/orm/AfterUpdate.js +1 -1
  110. package/dist/esm/decorators/orm/BeforeInsert.js +1 -1
  111. package/dist/esm/decorators/orm/BeforeRecover.js +1 -1
  112. package/dist/esm/decorators/orm/BeforeRemove.js +1 -1
  113. package/dist/esm/decorators/orm/BeforeSoftRemove.js +1 -1
  114. package/dist/esm/decorators/orm/BeforeUpdate.js +1 -1
  115. package/dist/esm/decorators/orm/Check.js +1 -1
  116. package/dist/esm/decorators/orm/ChildEntity.js +1 -1
  117. package/dist/esm/decorators/orm/Column.js +1 -1
  118. package/dist/esm/decorators/orm/CreateDateColumn.js +1 -1
  119. package/dist/esm/decorators/orm/DeleteDateColumn.js +1 -1
  120. package/dist/esm/decorators/orm/Entity.js +1 -1
  121. package/dist/esm/decorators/orm/EventSubscriber.js +1 -1
  122. package/dist/esm/decorators/orm/Exclusion.js +1 -1
  123. package/dist/esm/decorators/orm/Generated.js +1 -1
  124. package/dist/esm/decorators/orm/Index.js +1 -1
  125. package/dist/esm/decorators/orm/JoinColumn.js +1 -1
  126. package/dist/esm/decorators/orm/JoinTable.js +1 -1
  127. package/dist/esm/decorators/orm/ManyToMany.js +1 -1
  128. package/dist/esm/decorators/orm/ManyToOne.js +1 -1
  129. package/dist/esm/decorators/orm/ObjectIdColumn.js +1 -1
  130. package/dist/esm/decorators/orm/OneToMany.js +1 -1
  131. package/dist/esm/decorators/orm/OneToOne.js +1 -1
  132. package/dist/esm/decorators/orm/PrimaryColumn.js +1 -1
  133. package/dist/esm/decorators/orm/PrimaryGeneratedColumn.js +1 -1
  134. package/dist/esm/decorators/orm/RelationId.js +1 -1
  135. package/dist/esm/decorators/orm/TableInheritance.js +1 -1
  136. package/dist/esm/decorators/orm/Tree.js +1 -1
  137. package/dist/esm/decorators/orm/TreeChildren.js +1 -1
  138. package/dist/esm/decorators/orm/TreeLevelColumn.js +1 -1
  139. package/dist/esm/decorators/orm/TreeParent.js +1 -1
  140. package/dist/esm/decorators/orm/Unique.js +1 -1
  141. package/dist/esm/decorators/orm/UpdateDateColumn.js +1 -1
  142. package/dist/esm/decorators/orm/VersionColumn.js +1 -1
  143. package/dist/esm/decorators/orm/ViewColumn.js +1 -1
  144. package/dist/esm/decorators/orm/ViewEntity.js +1 -1
  145. package/dist/esm/decorators/orm/VirtualColumn.js +1 -1
  146. package/dist/esm/exports/ORM.js +116 -119
  147. package/dist/esm/lib/ConnectionOptions.js +14 -0
  148. package/dist/esm/providers/Database.js +15 -8
  149. package/dist/esm/providers/migration/ExecuteMigration.js +9 -5
  150. package/dist/esm/providers/migration/GenerateMigration.js +30 -10
  151. package/dist/esm/types/LegacyConnectionOptions.js +1 -0
  152. package/dist/types/components/Database.d.ts +31 -22
  153. package/dist/types/decorators/orm/AfterInsert.d.ts +1 -1
  154. package/dist/types/decorators/orm/AfterLoad.d.ts +1 -1
  155. package/dist/types/decorators/orm/AfterRecover.d.ts +1 -1
  156. package/dist/types/decorators/orm/AfterRemove.d.ts +1 -1
  157. package/dist/types/decorators/orm/AfterSoftRemove.d.ts +1 -1
  158. package/dist/types/decorators/orm/AfterUpdate.d.ts +1 -1
  159. package/dist/types/decorators/orm/BeforeInsert.d.ts +1 -1
  160. package/dist/types/decorators/orm/BeforeRecover.d.ts +1 -1
  161. package/dist/types/decorators/orm/BeforeRemove.d.ts +1 -1
  162. package/dist/types/decorators/orm/BeforeSoftRemove.d.ts +1 -1
  163. package/dist/types/decorators/orm/BeforeUpdate.d.ts +1 -1
  164. package/dist/types/decorators/orm/Check.d.ts +1 -1
  165. package/dist/types/decorators/orm/ChildEntity.d.ts +1 -1
  166. package/dist/types/decorators/orm/Column.d.ts +1 -1
  167. package/dist/types/decorators/orm/CreateDateColumn.d.ts +1 -1
  168. package/dist/types/decorators/orm/DeleteDateColumn.d.ts +1 -1
  169. package/dist/types/decorators/orm/Entity.d.ts +1 -1
  170. package/dist/types/decorators/orm/EventSubscriber.d.ts +1 -1
  171. package/dist/types/decorators/orm/Exclusion.d.ts +1 -1
  172. package/dist/types/decorators/orm/Generated.d.ts +1 -1
  173. package/dist/types/decorators/orm/Index.d.ts +1 -1
  174. package/dist/types/decorators/orm/JoinColumn.d.ts +1 -1
  175. package/dist/types/decorators/orm/JoinTable.d.ts +1 -1
  176. package/dist/types/decorators/orm/ManyToMany.d.ts +1 -1
  177. package/dist/types/decorators/orm/ManyToOne.d.ts +1 -1
  178. package/dist/types/decorators/orm/ObjectIdColumn.d.ts +1 -1
  179. package/dist/types/decorators/orm/OneToMany.d.ts +1 -1
  180. package/dist/types/decorators/orm/OneToOne.d.ts +1 -1
  181. package/dist/types/decorators/orm/PrimaryColumn.d.ts +1 -1
  182. package/dist/types/decorators/orm/PrimaryGeneratedColumn.d.ts +1 -1
  183. package/dist/types/decorators/orm/RelationId.d.ts +1 -1
  184. package/dist/types/decorators/orm/TableInheritance.d.ts +1 -1
  185. package/dist/types/decorators/orm/Tree.d.ts +1 -1
  186. package/dist/types/decorators/orm/TreeChildren.d.ts +1 -1
  187. package/dist/types/decorators/orm/TreeLevelColumn.d.ts +1 -1
  188. package/dist/types/decorators/orm/TreeParent.d.ts +1 -1
  189. package/dist/types/decorators/orm/Unique.d.ts +1 -1
  190. package/dist/types/decorators/orm/UpdateDateColumn.d.ts +1 -1
  191. package/dist/types/decorators/orm/VersionColumn.d.ts +1 -1
  192. package/dist/types/decorators/orm/ViewColumn.d.ts +1 -1
  193. package/dist/types/decorators/orm/ViewEntity.d.ts +1 -1
  194. package/dist/types/decorators/orm/VirtualColumn.d.ts +1 -1
  195. package/dist/types/exports/ORM.d.ts +189 -192
  196. package/dist/types/lib/ConnectionOptions.d.ts +10 -0
  197. package/dist/types/providers/Database.d.ts +33 -26
  198. package/dist/types/providers/migration/ExecuteMigration.d.ts +5 -4
  199. package/dist/types/providers/migration/GenerateMigration.d.ts +35 -5
  200. package/dist/types/types/LegacyConnectionOptions.d.ts +102 -0
  201. package/dist/types/types/MigrationRunOptions.d.ts +4 -1
  202. package/dist/vendor/typeorm/cache/DbQueryResultCache.d.ts +70 -0
  203. package/dist/vendor/typeorm/cache/DbQueryResultCache.js +301 -0
  204. package/dist/vendor/typeorm/cache/DbQueryResultCache.js.map +1 -0
  205. package/dist/vendor/typeorm/cache/QueryResultCache.d.ts +41 -0
  206. package/dist/vendor/typeorm/cache/QueryResultCache.js +3 -0
  207. package/dist/vendor/typeorm/cache/QueryResultCache.js.map +1 -0
  208. package/dist/vendor/typeorm/cache/QueryResultCacheFactory.d.ts +13 -0
  209. package/dist/vendor/typeorm/cache/QueryResultCacheFactory.js +41 -0
  210. package/dist/vendor/typeorm/cache/QueryResultCacheFactory.js.map +1 -0
  211. package/dist/vendor/typeorm/cache/QueryResultCacheOptions.d.ts +26 -0
  212. package/dist/vendor/typeorm/cache/QueryResultCacheOptions.js +3 -0
  213. package/dist/vendor/typeorm/cache/QueryResultCacheOptions.js.map +1 -0
  214. package/dist/vendor/typeorm/cache/RedisQueryResultCache.d.ts +84 -0
  215. package/dist/vendor/typeorm/cache/RedisQueryResultCache.js +185 -0
  216. package/dist/vendor/typeorm/cache/RedisQueryResultCache.js.map +1 -0
  217. package/dist/vendor/typeorm/commands/CommandUtils.d.ts +34 -0
  218. package/dist/vendor/typeorm/commands/CommandUtils.js +107 -0
  219. package/dist/vendor/typeorm/commands/CommandUtils.js.map +1 -0
  220. package/dist/vendor/typeorm/common/DeepPartial.d.ts +6 -0
  221. package/dist/vendor/typeorm/common/DeepPartial.js +3 -0
  222. package/dist/vendor/typeorm/common/DeepPartial.js.map +1 -0
  223. package/dist/vendor/typeorm/common/EntityTarget.d.ts +9 -0
  224. package/dist/vendor/typeorm/common/EntityTarget.js +3 -0
  225. package/dist/vendor/typeorm/common/EntityTarget.js.map +1 -0
  226. package/dist/vendor/typeorm/common/MixedList.d.ts +8 -0
  227. package/dist/vendor/typeorm/common/MixedList.js +3 -0
  228. package/dist/vendor/typeorm/common/MixedList.js.map +1 -0
  229. package/dist/vendor/typeorm/common/NonNever.d.ts +6 -0
  230. package/dist/vendor/typeorm/common/NonNever.js +3 -0
  231. package/dist/vendor/typeorm/common/NonNever.js.map +1 -0
  232. package/dist/vendor/typeorm/common/ObjectLiteral.d.ts +6 -0
  233. package/dist/vendor/typeorm/common/ObjectLiteral.js +3 -0
  234. package/dist/vendor/typeorm/common/ObjectLiteral.js.map +1 -0
  235. package/dist/vendor/typeorm/common/ObjectType.d.ts +6 -0
  236. package/dist/vendor/typeorm/common/ObjectType.js +3 -0
  237. package/dist/vendor/typeorm/common/ObjectType.js.map +1 -0
  238. package/dist/vendor/typeorm/common/PickKeysByType.d.ts +6 -0
  239. package/dist/vendor/typeorm/common/PickKeysByType.js +3 -0
  240. package/dist/vendor/typeorm/common/PickKeysByType.js.map +1 -0
  241. package/dist/vendor/typeorm/common/PrimitiveCriteria.d.ts +2 -0
  242. package/dist/vendor/typeorm/common/PrimitiveCriteria.js +3 -0
  243. package/dist/vendor/typeorm/common/PrimitiveCriteria.js.map +1 -0
  244. package/dist/vendor/typeorm/common/RelationType.d.ts +16 -0
  245. package/dist/vendor/typeorm/common/RelationType.js +3 -0
  246. package/dist/vendor/typeorm/common/RelationType.js.map +1 -0
  247. package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.d.ts +30 -0
  248. package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.js +78 -0
  249. package/dist/vendor/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -0
  250. package/dist/vendor/typeorm/connection/ConnectionOptionsReader.d.ts +56 -0
  251. package/dist/vendor/typeorm/connection/ConnectionOptionsReader.js +165 -0
  252. package/dist/vendor/typeorm/connection/ConnectionOptionsReader.js.map +1 -0
  253. package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.d.ts +180 -0
  254. package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.js +3 -0
  255. package/dist/vendor/typeorm/data-source/BaseDataSourceOptions.js.map +1 -0
  256. package/dist/vendor/typeorm/data-source/DataSource.d.ts +277 -0
  257. package/dist/vendor/typeorm/data-source/DataSource.js +555 -0
  258. package/dist/vendor/typeorm/data-source/DataSource.js.map +1 -0
  259. package/dist/vendor/typeorm/data-source/DataSourceOptions.d.ts +22 -0
  260. package/dist/vendor/typeorm/data-source/DataSourceOptions.js +3 -0
  261. package/dist/vendor/typeorm/data-source/DataSourceOptions.js.map +1 -0
  262. package/dist/vendor/typeorm/data-source/index.d.ts +2 -0
  263. package/dist/vendor/typeorm/data-source/index.js +5 -0
  264. package/dist/vendor/typeorm/data-source/index.js.map +1 -0
  265. package/dist/vendor/typeorm/decorator/Check.d.ts +17 -0
  266. package/dist/vendor/typeorm/decorator/Check.js +29 -0
  267. package/dist/vendor/typeorm/decorator/Check.js.map +1 -0
  268. package/dist/vendor/typeorm/decorator/Exclusion.d.ts +20 -0
  269. package/dist/vendor/typeorm/decorator/Exclusion.js +33 -0
  270. package/dist/vendor/typeorm/decorator/Exclusion.js.map +1 -0
  271. package/dist/vendor/typeorm/decorator/ForeignKey.d.ts +34 -0
  272. package/dist/vendor/typeorm/decorator/ForeignKey.js +48 -0
  273. package/dist/vendor/typeorm/decorator/ForeignKey.js.map +1 -0
  274. package/dist/vendor/typeorm/decorator/Generated.d.ts +12 -0
  275. package/dist/vendor/typeorm/decorator/Generated.js +25 -0
  276. package/dist/vendor/typeorm/decorator/Generated.js.map +1 -0
  277. package/dist/vendor/typeorm/decorator/Index.d.ts +72 -0
  278. package/dist/vendor/typeorm/decorator/Index.js +59 -0
  279. package/dist/vendor/typeorm/decorator/Index.js.map +1 -0
  280. package/dist/vendor/typeorm/decorator/Unique.d.ts +35 -0
  281. package/dist/vendor/typeorm/decorator/Unique.js +52 -0
  282. package/dist/vendor/typeorm/decorator/Unique.js.map +1 -0
  283. package/dist/vendor/typeorm/decorator/columns/Column.d.ts +106 -0
  284. package/dist/vendor/typeorm/decorator/columns/Column.js +79 -0
  285. package/dist/vendor/typeorm/decorator/columns/Column.js.map +1 -0
  286. package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.d.ts +9 -0
  287. package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.js +22 -0
  288. package/dist/vendor/typeorm/decorator/columns/CreateDateColumn.js.map +1 -0
  289. package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.d.ts +8 -0
  290. package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.js +21 -0
  291. package/dist/vendor/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -0
  292. package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.d.ts +8 -0
  293. package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.js +26 -0
  294. package/dist/vendor/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -0
  295. package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.d.ts +26 -0
  296. package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.js +64 -0
  297. package/dist/vendor/typeorm/decorator/columns/PrimaryColumn.js.map +1 -0
  298. package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.d.ts +35 -0
  299. package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.js +61 -0
  300. package/dist/vendor/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -0
  301. package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.d.ts +8 -0
  302. package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.js +21 -0
  303. package/dist/vendor/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -0
  304. package/dist/vendor/typeorm/decorator/columns/VersionColumn.d.ts +9 -0
  305. package/dist/vendor/typeorm/decorator/columns/VersionColumn.js +22 -0
  306. package/dist/vendor/typeorm/decorator/columns/VersionColumn.js.map +1 -0
  307. package/dist/vendor/typeorm/decorator/columns/ViewColumn.d.ts +7 -0
  308. package/dist/vendor/typeorm/decorator/columns/ViewColumn.js +20 -0
  309. package/dist/vendor/typeorm/decorator/columns/ViewColumn.js.map +1 -0
  310. package/dist/vendor/typeorm/decorator/columns/VirtualColumn.d.ts +15 -0
  311. package/dist/vendor/typeorm/decorator/columns/VirtualColumn.js +51 -0
  312. package/dist/vendor/typeorm/decorator/columns/VirtualColumn.js.map +1 -0
  313. package/dist/vendor/typeorm/decorator/entity/ChildEntity.d.ts +6 -0
  314. package/dist/vendor/typeorm/decorator/entity/ChildEntity.js +26 -0
  315. package/dist/vendor/typeorm/decorator/entity/ChildEntity.js.map +1 -0
  316. package/dist/vendor/typeorm/decorator/entity/Entity.d.ts +16 -0
  317. package/dist/vendor/typeorm/decorator/entity/Entity.js +33 -0
  318. package/dist/vendor/typeorm/decorator/entity/Entity.js.map +1 -0
  319. package/dist/vendor/typeorm/decorator/entity/TableInheritance.d.ts +12 -0
  320. package/dist/vendor/typeorm/decorator/entity/TableInheritance.js +25 -0
  321. package/dist/vendor/typeorm/decorator/entity/TableInheritance.js.map +1 -0
  322. package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.d.ts +16 -0
  323. package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.js +34 -0
  324. package/dist/vendor/typeorm/decorator/entity-view/ViewEntity.js.map +1 -0
  325. package/dist/vendor/typeorm/decorator/listeners/AfterInsert.d.ts +4 -0
  326. package/dist/vendor/typeorm/decorator/listeners/AfterInsert.js +18 -0
  327. package/dist/vendor/typeorm/decorator/listeners/AfterInsert.js.map +1 -0
  328. package/dist/vendor/typeorm/decorator/listeners/AfterLoad.d.ts +4 -0
  329. package/dist/vendor/typeorm/decorator/listeners/AfterLoad.js +18 -0
  330. package/dist/vendor/typeorm/decorator/listeners/AfterLoad.js.map +1 -0
  331. package/dist/vendor/typeorm/decorator/listeners/AfterRecover.d.ts +4 -0
  332. package/dist/vendor/typeorm/decorator/listeners/AfterRecover.js +18 -0
  333. package/dist/vendor/typeorm/decorator/listeners/AfterRecover.js.map +1 -0
  334. package/dist/vendor/typeorm/decorator/listeners/AfterRemove.d.ts +4 -0
  335. package/dist/vendor/typeorm/decorator/listeners/AfterRemove.js +18 -0
  336. package/dist/vendor/typeorm/decorator/listeners/AfterRemove.js.map +1 -0
  337. package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.d.ts +4 -0
  338. package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.js +18 -0
  339. package/dist/vendor/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -0
  340. package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.d.ts +4 -0
  341. package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.js +18 -0
  342. package/dist/vendor/typeorm/decorator/listeners/AfterUpdate.js.map +1 -0
  343. package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.d.ts +4 -0
  344. package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.js +18 -0
  345. package/dist/vendor/typeorm/decorator/listeners/BeforeInsert.js.map +1 -0
  346. package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.d.ts +4 -0
  347. package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.js +18 -0
  348. package/dist/vendor/typeorm/decorator/listeners/BeforeRecover.js.map +1 -0
  349. package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.d.ts +4 -0
  350. package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.js +18 -0
  351. package/dist/vendor/typeorm/decorator/listeners/BeforeRemove.js.map +1 -0
  352. package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
  353. package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.js +18 -0
  354. package/dist/vendor/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -0
  355. package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.d.ts +4 -0
  356. package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.js +18 -0
  357. package/dist/vendor/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -0
  358. package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.d.ts +5 -0
  359. package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.js +16 -0
  360. package/dist/vendor/typeorm/decorator/listeners/EventSubscriber.js.map +1 -0
  361. package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.d.ts +57 -0
  362. package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.js +3 -0
  363. package/dist/vendor/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -0
  364. package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.d.ts +16 -0
  365. package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.js +3 -0
  366. package/dist/vendor/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -0
  367. package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.d.ts +13 -0
  368. package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.js +3 -0
  369. package/dist/vendor/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -0
  370. package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.d.ts +10 -0
  371. package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.js +3 -0
  372. package/dist/vendor/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -0
  373. package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.d.ts +15 -0
  374. package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.js +3 -0
  375. package/dist/vendor/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -0
  376. package/dist/vendor/typeorm/decorator/options/ColumnOptions.d.ts +158 -0
  377. package/dist/vendor/typeorm/decorator/options/ColumnOptions.js +3 -0
  378. package/dist/vendor/typeorm/decorator/options/ColumnOptions.js.map +1 -0
  379. package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.d.ts +9 -0
  380. package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.js +3 -0
  381. package/dist/vendor/typeorm/decorator/options/ColumnUnsignedOptions.js.map +1 -0
  382. package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.d.ts +10 -0
  383. package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.js +3 -0
  384. package/dist/vendor/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -0
  385. package/dist/vendor/typeorm/decorator/options/EntityOptions.d.ts +47 -0
  386. package/dist/vendor/typeorm/decorator/options/EntityOptions.js +3 -0
  387. package/dist/vendor/typeorm/decorator/options/EntityOptions.js.map +1 -0
  388. package/dist/vendor/typeorm/decorator/options/ExclusionOptions.d.ts +10 -0
  389. package/dist/vendor/typeorm/decorator/options/ExclusionOptions.js +3 -0
  390. package/dist/vendor/typeorm/decorator/options/ExclusionOptions.js.map +1 -0
  391. package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.d.ts +24 -0
  392. package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.js +3 -0
  393. package/dist/vendor/typeorm/decorator/options/ForeignKeyOptions.js.map +1 -0
  394. package/dist/vendor/typeorm/decorator/options/IndexOptions.d.ts +64 -0
  395. package/dist/vendor/typeorm/decorator/options/IndexOptions.js +3 -0
  396. package/dist/vendor/typeorm/decorator/options/IndexOptions.js.map +1 -0
  397. package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.d.ts +17 -0
  398. package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.js +3 -0
  399. package/dist/vendor/typeorm/decorator/options/JoinColumnOptions.js.map +1 -0
  400. package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.d.ts +35 -0
  401. package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js +3 -0
  402. package/dist/vendor/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -0
  403. package/dist/vendor/typeorm/decorator/options/JoinTableOptions.d.ts +35 -0
  404. package/dist/vendor/typeorm/decorator/options/JoinTableOptions.js +3 -0
  405. package/dist/vendor/typeorm/decorator/options/JoinTableOptions.js.map +1 -0
  406. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +26 -0
  407. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
  408. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  409. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +26 -0
  410. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js +3 -0
  411. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -0
  412. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.d.ts +17 -0
  413. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +3 -0
  414. package/dist/vendor/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -0
  415. package/dist/vendor/typeorm/decorator/options/RelationOptions.d.ts +66 -0
  416. package/dist/vendor/typeorm/decorator/options/RelationOptions.js +3 -0
  417. package/dist/vendor/typeorm/decorator/options/RelationOptions.js.map +1 -0
  418. package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.d.ts +17 -0
  419. package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.js +3 -0
  420. package/dist/vendor/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -0
  421. package/dist/vendor/typeorm/decorator/options/TransactionOptions.d.ts +5 -0
  422. package/dist/vendor/typeorm/decorator/options/TransactionOptions.js +3 -0
  423. package/dist/vendor/typeorm/decorator/options/TransactionOptions.js.map +1 -0
  424. package/dist/vendor/typeorm/decorator/options/UniqueOptions.d.ts +10 -0
  425. package/dist/vendor/typeorm/decorator/options/UniqueOptions.js +3 -0
  426. package/dist/vendor/typeorm/decorator/options/UniqueOptions.js.map +1 -0
  427. package/dist/vendor/typeorm/decorator/options/ValueTransformer.d.ts +13 -0
  428. package/dist/vendor/typeorm/decorator/options/ValueTransformer.js +3 -0
  429. package/dist/vendor/typeorm/decorator/options/ValueTransformer.js.map +1 -0
  430. package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.d.ts +15 -0
  431. package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.js +3 -0
  432. package/dist/vendor/typeorm/decorator/options/ViewColumnOptions.js.map +1 -0
  433. package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.d.ts +40 -0
  434. package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.js +3 -0
  435. package/dist/vendor/typeorm/decorator/options/ViewEntityOptions.js.map +1 -0
  436. package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.d.ts +33 -0
  437. package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.js +3 -0
  438. package/dist/vendor/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -0
  439. package/dist/vendor/typeorm/decorator/relations/JoinColumn.d.ts +23 -0
  440. package/dist/vendor/typeorm/decorator/relations/JoinColumn.js +28 -0
  441. package/dist/vendor/typeorm/decorator/relations/JoinColumn.js.map +1 -0
  442. package/dist/vendor/typeorm/decorator/relations/JoinTable.d.ts +21 -0
  443. package/dist/vendor/typeorm/decorator/relations/JoinTable.js +35 -0
  444. package/dist/vendor/typeorm/decorator/relations/JoinTable.js.map +1 -0
  445. package/dist/vendor/typeorm/decorator/relations/ManyToMany.d.ts +21 -0
  446. package/dist/vendor/typeorm/decorator/relations/ManyToMany.js +48 -0
  447. package/dist/vendor/typeorm/decorator/relations/ManyToMany.js.map +1 -0
  448. package/dist/vendor/typeorm/decorator/relations/ManyToOne.d.ts +21 -0
  449. package/dist/vendor/typeorm/decorator/relations/ManyToOne.js +48 -0
  450. package/dist/vendor/typeorm/decorator/relations/ManyToOne.js.map +1 -0
  451. package/dist/vendor/typeorm/decorator/relations/OneToMany.d.ts +12 -0
  452. package/dist/vendor/typeorm/decorator/relations/OneToMany.js +39 -0
  453. package/dist/vendor/typeorm/decorator/relations/OneToMany.js.map +1 -0
  454. package/dist/vendor/typeorm/decorator/relations/OneToOne.d.ts +19 -0
  455. package/dist/vendor/typeorm/decorator/relations/OneToOne.js +47 -0
  456. package/dist/vendor/typeorm/decorator/relations/OneToOne.js.map +1 -0
  457. package/dist/vendor/typeorm/decorator/relations/RelationId.d.ts +10 -0
  458. package/dist/vendor/typeorm/decorator/relations/RelationId.js +24 -0
  459. package/dist/vendor/typeorm/decorator/relations/RelationId.js.map +1 -0
  460. package/dist/vendor/typeorm/decorator/tree/Tree.d.ts +12 -0
  461. package/dist/vendor/typeorm/decorator/tree/Tree.js +23 -0
  462. package/dist/vendor/typeorm/decorator/tree/Tree.js.map +1 -0
  463. package/dist/vendor/typeorm/decorator/tree/TreeChildren.d.ts +10 -0
  464. package/dist/vendor/typeorm/decorator/tree/TreeChildren.js +35 -0
  465. package/dist/vendor/typeorm/decorator/tree/TreeChildren.js.map +1 -0
  466. package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.d.ts +4 -0
  467. package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.js +18 -0
  468. package/dist/vendor/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -0
  469. package/dist/vendor/typeorm/decorator/tree/TreeParent.d.ts +11 -0
  470. package/dist/vendor/typeorm/decorator/tree/TreeParent.js +34 -0
  471. package/dist/vendor/typeorm/decorator/tree/TreeParent.js.map +1 -0
  472. package/dist/vendor/typeorm/driver/Driver.d.ts +241 -0
  473. package/dist/vendor/typeorm/driver/Driver.js +3 -0
  474. package/dist/vendor/typeorm/driver/Driver.js.map +1 -0
  475. package/dist/vendor/typeorm/driver/DriverFactory.d.ts +14 -0
  476. package/dist/vendor/typeorm/driver/DriverFactory.js +100 -0
  477. package/dist/vendor/typeorm/driver/DriverFactory.js.map +1 -0
  478. package/dist/vendor/typeorm/driver/DriverUtils.d.ts +71 -0
  479. package/dist/vendor/typeorm/driver/DriverUtils.js +233 -0
  480. package/dist/vendor/typeorm/driver/DriverUtils.js.map +1 -0
  481. package/dist/vendor/typeorm/driver/Query.d.ts +9 -0
  482. package/dist/vendor/typeorm/driver/Query.js +15 -0
  483. package/dist/vendor/typeorm/driver/Query.js.map +1 -0
  484. package/dist/vendor/typeorm/driver/SqlInMemory.d.ts +8 -0
  485. package/dist/vendor/typeorm/driver/SqlInMemory.js +14 -0
  486. package/dist/vendor/typeorm/driver/SqlInMemory.js.map +1 -0
  487. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +35 -0
  488. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +3 -0
  489. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -0
  490. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +35 -0
  491. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js +3 -0
  492. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -0
  493. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.d.ts +322 -0
  494. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js +880 -0
  495. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -0
  496. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +532 -0
  497. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1875 -0
  498. package/dist/vendor/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -0
  499. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.d.ts +35 -0
  500. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js +3 -0
  501. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js.map +1 -0
  502. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.d.ts +85 -0
  503. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js +130 -0
  504. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -0
  505. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +59 -0
  506. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js +180 -0
  507. package/dist/vendor/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -0
  508. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +69 -0
  509. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js +3 -0
  510. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -0
  511. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.d.ts +63 -0
  512. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js +158 -0
  513. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
  514. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +37 -0
  515. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js +144 -0
  516. package/dist/vendor/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
  517. package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.d.ts +31 -0
  518. package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.js +3 -0
  519. package/dist/vendor/typeorm/driver/capacitor/CapacitorDataSourceOptions.js.map +1 -0
  520. package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.d.ts +29 -0
  521. package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.js +78 -0
  522. package/dist/vendor/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -0
  523. package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.d.ts +39 -0
  524. package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.js +107 -0
  525. package/dist/vendor/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -0
  526. package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +34 -0
  527. package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +3 -0
  528. package/dist/vendor/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -0
  529. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.d.ts +64 -0
  530. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.js +3 -0
  531. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -0
  532. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.d.ts +357 -0
  533. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.js +1006 -0
  534. package/dist/vendor/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -0
  535. package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.d.ts +646 -0
  536. package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.js +2755 -0
  537. package/dist/vendor/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -0
  538. package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.d.ts +24 -0
  539. package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.js +3 -0
  540. package/dist/vendor/typeorm/driver/cordova/CordovaDataSourceOptions.js.map +1 -0
  541. package/dist/vendor/typeorm/driver/cordova/CordovaDriver.d.ts +33 -0
  542. package/dist/vendor/typeorm/driver/cordova/CordovaDriver.js +84 -0
  543. package/dist/vendor/typeorm/driver/cordova/CordovaDriver.js.map +1 -0
  544. package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.d.ts +54 -0
  545. package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.js +146 -0
  546. package/dist/vendor/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -0
  547. package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.d.ts +21 -0
  548. package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.js +3 -0
  549. package/dist/vendor/typeorm/driver/expo/ExpoDataSourceOptions.js.map +1 -0
  550. package/dist/vendor/typeorm/driver/expo/ExpoDriver.d.ts +15 -0
  551. package/dist/vendor/typeorm/driver/expo/ExpoDriver.js +45 -0
  552. package/dist/vendor/typeorm/driver/expo/ExpoDriver.js.map +1 -0
  553. package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.d.ts +10 -0
  554. package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.js +67 -0
  555. package/dist/vendor/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -0
  556. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.d.ts +167 -0
  557. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.js +541 -0
  558. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedBTree.js.map +1 -0
  559. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.d.ts +96 -0
  560. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.js +185 -0
  561. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCache.js.map +1 -0
  562. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.d.ts +411 -0
  563. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.js +1345 -0
  564. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedClient.js.map +1 -0
  565. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.d.ts +402 -0
  566. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.js +1017 -0
  567. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedCollectionStore.js.map +1 -0
  568. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.d.ts +68 -0
  569. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.js +126 -0
  570. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedFile.js.map +1 -0
  571. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.d.ts +88 -0
  572. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.js +306 -0
  573. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeyEncoding.js.map +1 -0
  574. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.d.ts +124 -0
  575. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.js +331 -0
  576. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedKeydir.js.map +1 -0
  577. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.d.ts +80 -0
  578. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.js +119 -0
  579. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedLog.js.map +1 -0
  580. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.d.ts +19 -0
  581. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.js +35 -0
  582. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedObjectId.js.map +1 -0
  583. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.d.ts +100 -0
  584. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.js +261 -0
  585. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedPlanner.js.map +1 -0
  586. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.d.ts +185 -0
  587. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.js +529 -0
  588. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedStore.js.map +1 -0
  589. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.d.ts +58 -0
  590. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.js +176 -0
  591. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedValues.js.map +1 -0
  592. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.d.ts +12 -0
  593. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.js +181 -0
  594. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorker.js.map +1 -0
  595. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.d.ts +204 -0
  596. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.js +564 -0
  597. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerClient.js.map +1 -0
  598. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerCode.d.ts +7 -0
  599. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerCode.js +4 -0
  600. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.d.ts +117 -0
  601. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.js +155 -0
  602. package/dist/vendor/typeorm/driver/mongo-embedded/EmbeddedWorkerProtocol.js.map +1 -0
  603. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.d.ts +97 -0
  604. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.js +3 -0
  605. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDataSourceOptions.js.map +1 -0
  606. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.d.ts +33 -0
  607. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.js +67 -0
  608. package/dist/vendor/typeorm/driver/mongo-embedded/MongoEmbeddedDriver.js.map +1 -0
  609. package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.d.ts +205 -0
  610. package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.js +3 -0
  611. package/dist/vendor/typeorm/driver/mongodb/MongoDataSourceOptions.js.map +1 -0
  612. package/dist/vendor/typeorm/driver/mongodb/MongoDriver.d.ts +281 -0
  613. package/dist/vendor/typeorm/driver/mongodb/MongoDriver.js +446 -0
  614. package/dist/vendor/typeorm/driver/mongodb/MongoDriver.js.map +1 -0
  615. package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.d.ts +752 -0
  616. package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.js +951 -0
  617. package/dist/vendor/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -0
  618. package/dist/vendor/typeorm/driver/mongodb/bson.typings.d.ts +1588 -0
  619. package/dist/vendor/typeorm/driver/mongodb/bson.typings.js +4 -0
  620. package/dist/vendor/typeorm/driver/mongodb/bson.typings.js.map +1 -0
  621. package/dist/vendor/typeorm/driver/mongodb/typings.d.ts +8064 -0
  622. package/dist/vendor/typeorm/driver/mongodb/typings.js +24 -0
  623. package/dist/vendor/typeorm/driver/mongodb/typings.js.map +1 -0
  624. package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +44 -0
  625. package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js +3 -0
  626. package/dist/vendor/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -0
  627. package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.d.ts +133 -0
  628. package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.js +3 -0
  629. package/dist/vendor/typeorm/driver/mysql/MysqlDataSourceOptions.js.map +1 -0
  630. package/dist/vendor/typeorm/driver/mysql/MysqlDriver.d.ts +344 -0
  631. package/dist/vendor/typeorm/driver/mysql/MysqlDriver.js +1077 -0
  632. package/dist/vendor/typeorm/driver/mysql/MysqlDriver.js.map +1 -0
  633. package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.d.ts +532 -0
  634. package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.js +2341 -0
  635. package/dist/vendor/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -0
  636. package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.d.ts +45 -0
  637. package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.js +3 -0
  638. package/dist/vendor/typeorm/driver/nativescript/NativescriptDataSourceOptions.js.map +1 -0
  639. package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.d.ts +46 -0
  640. package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.js +92 -0
  641. package/dist/vendor/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -0
  642. package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.d.ts +36 -0
  643. package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.js +101 -0
  644. package/dist/vendor/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -0
  645. package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.d.ts +41 -0
  646. package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js +3 -0
  647. package/dist/vendor/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -0
  648. package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.d.ts +51 -0
  649. package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.js +3 -0
  650. package/dist/vendor/typeorm/driver/oracle/OracleDataSourceOptions.js.map +1 -0
  651. package/dist/vendor/typeorm/driver/oracle/OracleDriver.d.ts +332 -0
  652. package/dist/vendor/typeorm/driver/oracle/OracleDriver.js +939 -0
  653. package/dist/vendor/typeorm/driver/oracle/OracleDriver.js.map +1 -0
  654. package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.d.ts +550 -0
  655. package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.js +2135 -0
  656. package/dist/vendor/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -0
  657. package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +39 -0
  658. package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js +3 -0
  659. package/dist/vendor/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -0
  660. package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.d.ts +89 -0
  661. package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.js +3 -0
  662. package/dist/vendor/typeorm/driver/postgres/PostgresDataSourceOptions.js.map +1 -0
  663. package/dist/vendor/typeorm/driver/postgres/PostgresDriver.d.ts +391 -0
  664. package/dist/vendor/typeorm/driver/postgres/PostgresDriver.js +1494 -0
  665. package/dist/vendor/typeorm/driver/postgres/PostgresDriver.js.map +1 -0
  666. package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.d.ts +691 -0
  667. package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.js +3119 -0
  668. package/dist/vendor/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -0
  669. package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.d.ts +28 -0
  670. package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.js +3 -0
  671. package/dist/vendor/typeorm/driver/react-native/ReactNativeDataSourceOptions.js.map +1 -0
  672. package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.d.ts +307 -0
  673. package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.js +805 -0
  674. package/dist/vendor/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -0
  675. package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.d.ts +36 -0
  676. package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.js +116 -0
  677. package/dist/vendor/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -0
  678. package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.d.ts +45 -0
  679. package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.js +3 -0
  680. package/dist/vendor/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -0
  681. package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.d.ts +59 -0
  682. package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.js +3 -0
  683. package/dist/vendor/typeorm/driver/sap/SapDataSourceOptions.js.map +1 -0
  684. package/dist/vendor/typeorm/driver/sap/SapDriver.d.ts +296 -0
  685. package/dist/vendor/typeorm/driver/sap/SapDriver.js +761 -0
  686. package/dist/vendor/typeorm/driver/sap/SapDriver.js.map +1 -0
  687. package/dist/vendor/typeorm/driver/sap/SapQueryRunner.d.ts +565 -0
  688. package/dist/vendor/typeorm/driver/sap/SapQueryRunner.js +2452 -0
  689. package/dist/vendor/typeorm/driver/sap/SapQueryRunner.js.map +1 -0
  690. package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +30 -0
  691. package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -0
  692. package/dist/vendor/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
  693. package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.d.ts +123 -0
  694. package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.js +3 -0
  695. package/dist/vendor/typeorm/driver/spanner/SpannerDataSourceOptions.js.map +1 -0
  696. package/dist/vendor/typeorm/driver/spanner/SpannerDriver.d.ts +302 -0
  697. package/dist/vendor/typeorm/driver/spanner/SpannerDriver.js +673 -0
  698. package/dist/vendor/typeorm/driver/spanner/SpannerDriver.js.map +1 -0
  699. package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.d.ts +574 -0
  700. package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.js +1761 -0
  701. package/dist/vendor/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -0
  702. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +319 -0
  703. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js +770 -0
  704. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -0
  705. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +498 -0
  706. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1732 -0
  707. package/dist/vendor/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -0
  708. package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.d.ts +46 -0
  709. package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.js +3 -0
  710. package/dist/vendor/typeorm/driver/sqljs/SqljsDataSourceOptions.js.map +1 -0
  711. package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.d.ts +76 -0
  712. package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.js +264 -0
  713. package/dist/vendor/typeorm/driver/sqljs/SqljsDriver.js.map +1 -0
  714. package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.d.ts +40 -0
  715. package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.js +129 -0
  716. package/dist/vendor/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -0
  717. package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.d.ts +45 -0
  718. package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.js +22 -0
  719. package/dist/vendor/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -0
  720. package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +43 -0
  721. package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +3 -0
  722. package/dist/vendor/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -0
  723. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.d.ts +266 -0
  724. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.js +3 -0
  725. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -0
  726. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.d.ts +359 -0
  727. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.js +1056 -0
  728. package/dist/vendor/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -0
  729. package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.d.ts +588 -0
  730. package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.js +2767 -0
  731. package/dist/vendor/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -0
  732. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  733. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
  734. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  735. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  736. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
  737. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  738. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  739. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
  740. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  741. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  742. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
  743. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  744. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  745. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
  746. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  747. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  748. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
  749. package/dist/vendor/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  750. package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  751. package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
  752. package/dist/vendor/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  753. package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  754. package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
  755. package/dist/vendor/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  756. package/dist/vendor/typeorm/driver/types/ColumnTypes.d.ts +25 -0
  757. package/dist/vendor/typeorm/driver/types/ColumnTypes.js +3 -0
  758. package/dist/vendor/typeorm/driver/types/ColumnTypes.js.map +1 -0
  759. package/dist/vendor/typeorm/driver/types/CteCapabilities.d.ts +18 -0
  760. package/dist/vendor/typeorm/driver/types/CteCapabilities.js +3 -0
  761. package/dist/vendor/typeorm/driver/types/CteCapabilities.js.map +1 -0
  762. package/dist/vendor/typeorm/driver/types/DataTypeDefaults.d.ts +7 -0
  763. package/dist/vendor/typeorm/driver/types/DataTypeDefaults.js +3 -0
  764. package/dist/vendor/typeorm/driver/types/DataTypeDefaults.js.map +1 -0
  765. package/dist/vendor/typeorm/driver/types/DatabaseType.d.ts +4 -0
  766. package/dist/vendor/typeorm/driver/types/DatabaseType.js +3 -0
  767. package/dist/vendor/typeorm/driver/types/DatabaseType.js.map +1 -0
  768. package/dist/vendor/typeorm/driver/types/GeoJsonTypes.d.ts +92 -0
  769. package/dist/vendor/typeorm/driver/types/GeoJsonTypes.js +3 -0
  770. package/dist/vendor/typeorm/driver/types/GeoJsonTypes.js.map +1 -0
  771. package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.d.ts +15 -0
  772. package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.js +3 -0
  773. package/dist/vendor/typeorm/driver/types/InvalidFindOptionsWhereBehavior.js.map +1 -0
  774. package/dist/vendor/typeorm/driver/types/IsolationLevel.d.ts +2 -0
  775. package/dist/vendor/typeorm/driver/types/IsolationLevel.js +11 -0
  776. package/dist/vendor/typeorm/driver/types/IsolationLevel.js.map +1 -0
  777. package/dist/vendor/typeorm/driver/types/MappedColumnTypes.d.ts +112 -0
  778. package/dist/vendor/typeorm/driver/types/MappedColumnTypes.js +3 -0
  779. package/dist/vendor/typeorm/driver/types/MappedColumnTypes.js.map +1 -0
  780. package/dist/vendor/typeorm/driver/types/MetadataTableType.d.ts +5 -0
  781. package/dist/vendor/typeorm/driver/types/MetadataTableType.js +10 -0
  782. package/dist/vendor/typeorm/driver/types/MetadataTableType.js.map +1 -0
  783. package/dist/vendor/typeorm/driver/types/ReplicationMode.d.ts +1 -0
  784. package/dist/vendor/typeorm/driver/types/ReplicationMode.js +3 -0
  785. package/dist/vendor/typeorm/driver/types/ReplicationMode.js.map +1 -0
  786. package/dist/vendor/typeorm/driver/types/ReturningType.d.ts +1 -0
  787. package/dist/vendor/typeorm/driver/types/ReturningType.js +3 -0
  788. package/dist/vendor/typeorm/driver/types/ReturningType.js.map +1 -0
  789. package/dist/vendor/typeorm/driver/types/UpsertType.d.ts +1 -0
  790. package/dist/vendor/typeorm/driver/types/UpsertType.js +3 -0
  791. package/dist/vendor/typeorm/driver/types/UpsertType.js.map +1 -0
  792. package/dist/vendor/typeorm/driver/validate-isolation-level.d.ts +9 -0
  793. package/dist/vendor/typeorm/driver/validate-isolation-level.js +23 -0
  794. package/dist/vendor/typeorm/driver/validate-isolation-level.js.map +1 -0
  795. package/dist/vendor/typeorm/entity-manager/EntityManager.d.ts +530 -0
  796. package/dist/vendor/typeorm/entity-manager/EntityManager.js +918 -0
  797. package/dist/vendor/typeorm/entity-manager/EntityManager.js.map +1 -0
  798. package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.d.ts +16 -0
  799. package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.js +27 -0
  800. package/dist/vendor/typeorm/entity-manager/EntityManagerFactory.js.map +1 -0
  801. package/dist/vendor/typeorm/entity-manager/MongoEntityManager.d.ts +441 -0
  802. package/dist/vendor/typeorm/entity-manager/MongoEntityManager.js +948 -0
  803. package/dist/vendor/typeorm/entity-manager/MongoEntityManager.js.map +1 -0
  804. package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.d.ts +30 -0
  805. package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.js +47 -0
  806. package/dist/vendor/typeorm/entity-manager/SqljsEntityManager.js.map +1 -0
  807. package/dist/vendor/typeorm/entity-schema/EntitySchema.d.ts +9 -0
  808. package/dist/vendor/typeorm/entity-schema/EntitySchema.js +14 -0
  809. package/dist/vendor/typeorm/entity-schema/EntitySchema.js.map +1 -0
  810. package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.d.ts +10 -0
  811. package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.js +3 -0
  812. package/dist/vendor/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -0
  813. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +12 -0
  814. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.js +3 -0
  815. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -0
  816. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.d.ts +170 -0
  817. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.js +3 -0
  818. package/dist/vendor/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -0
  819. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +18 -0
  820. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js +7 -0
  821. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -0
  822. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.d.ts +6 -0
  823. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.js +17 -0
  824. package/dist/vendor/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -0
  825. package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.d.ts +15 -0
  826. package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.js +3 -0
  827. package/dist/vendor/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -0
  828. package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.d.ts +16 -0
  829. package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.js +3 -0
  830. package/dist/vendor/typeorm/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -0
  831. package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.d.ts +53 -0
  832. package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.js +3 -0
  833. package/dist/vendor/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -0
  834. package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.d.ts +11 -0
  835. package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.js +3 -0
  836. package/dist/vendor/typeorm/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -0
  837. package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.d.ts +118 -0
  838. package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.js +10 -0
  839. package/dist/vendor/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -0
  840. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.d.ts +15 -0
  841. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.js +3 -0
  842. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -0
  843. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.d.ts +95 -0
  844. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.js +3 -0
  845. package/dist/vendor/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -0
  846. package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.d.ts +15 -0
  847. package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.js +342 -0
  848. package/dist/vendor/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -0
  849. package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.d.ts +17 -0
  850. package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.js +3 -0
  851. package/dist/vendor/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -0
  852. package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.d.ts +7 -0
  853. package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.js +15 -0
  854. package/dist/vendor/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -0
  855. package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.d.ts +7 -0
  856. package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.js +15 -0
  857. package/dist/vendor/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -0
  858. package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.d.ts +7 -0
  859. package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.js +14 -0
  860. package/dist/vendor/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -0
  861. package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.d.ts +9 -0
  862. package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.js +20 -0
  863. package/dist/vendor/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -0
  864. package/dist/vendor/typeorm/error/CannotDetermineEntityError.d.ts +7 -0
  865. package/dist/vendor/typeorm/error/CannotDetermineEntityError.js +15 -0
  866. package/dist/vendor/typeorm/error/CannotDetermineEntityError.js.map +1 -0
  867. package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.d.ts +7 -0
  868. package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.js +14 -0
  869. package/dist/vendor/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -0
  870. package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.d.ts +7 -0
  871. package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.js +14 -0
  872. package/dist/vendor/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -0
  873. package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.d.ts +8 -0
  874. package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.js +17 -0
  875. package/dist/vendor/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -0
  876. package/dist/vendor/typeorm/error/CircularRelationsError.d.ts +7 -0
  877. package/dist/vendor/typeorm/error/CircularRelationsError.js +15 -0
  878. package/dist/vendor/typeorm/error/CircularRelationsError.js.map +1 -0
  879. package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.d.ts +8 -0
  880. package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.js +18 -0
  881. package/dist/vendor/typeorm/error/ColumnTypeUndefinedError.js.map +1 -0
  882. package/dist/vendor/typeorm/error/ConnectionIsNotSetError.d.ts +7 -0
  883. package/dist/vendor/typeorm/error/ConnectionIsNotSetError.js +14 -0
  884. package/dist/vendor/typeorm/error/ConnectionIsNotSetError.js.map +1 -0
  885. package/dist/vendor/typeorm/error/ConnectionNotFoundError.d.ts +7 -0
  886. package/dist/vendor/typeorm/error/ConnectionNotFoundError.js +14 -0
  887. package/dist/vendor/typeorm/error/ConnectionNotFoundError.js.map +1 -0
  888. package/dist/vendor/typeorm/error/DataTypeNotSupportedError.d.ts +7 -0
  889. package/dist/vendor/typeorm/error/DataTypeNotSupportedError.js +13 -0
  890. package/dist/vendor/typeorm/error/DataTypeNotSupportedError.js.map +1 -0
  891. package/dist/vendor/typeorm/error/DriverOptionNotSetError.d.ts +7 -0
  892. package/dist/vendor/typeorm/error/DriverOptionNotSetError.js +15 -0
  893. package/dist/vendor/typeorm/error/DriverOptionNotSetError.js.map +1 -0
  894. package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.d.ts +7 -0
  895. package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.js +14 -0
  896. package/dist/vendor/typeorm/error/DriverPackageNotInstalledError.js.map +1 -0
  897. package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.d.ts +6 -0
  898. package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.js +28 -0
  899. package/dist/vendor/typeorm/error/EntityMetadataNotFoundError.js.map +1 -0
  900. package/dist/vendor/typeorm/error/EntityNotFoundError.d.ts +12 -0
  901. package/dist/vendor/typeorm/error/EntityNotFoundError.js +41 -0
  902. package/dist/vendor/typeorm/error/EntityNotFoundError.js.map +1 -0
  903. package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.d.ts +8 -0
  904. package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.js +16 -0
  905. package/dist/vendor/typeorm/error/EntityPropertyNotFoundError.js.map +1 -0
  906. package/dist/vendor/typeorm/error/FindRelationsNotFoundError.d.ts +7 -0
  907. package/dist/vendor/typeorm/error/FindRelationsNotFoundError.js +22 -0
  908. package/dist/vendor/typeorm/error/FindRelationsNotFoundError.js.map +1 -0
  909. package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.d.ts +8 -0
  910. package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.js +15 -0
  911. package/dist/vendor/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -0
  912. package/dist/vendor/typeorm/error/InitializedRelationError.d.ts +11 -0
  913. package/dist/vendor/typeorm/error/InitializedRelationError.js +19 -0
  914. package/dist/vendor/typeorm/error/InitializedRelationError.js.map +1 -0
  915. package/dist/vendor/typeorm/error/InsertValuesMissingError.d.ts +7 -0
  916. package/dist/vendor/typeorm/error/InsertValuesMissingError.js +15 -0
  917. package/dist/vendor/typeorm/error/InsertValuesMissingError.js.map +1 -0
  918. package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.d.ts +7 -0
  919. package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.js +14 -0
  920. package/dist/vendor/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -0
  921. package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.d.ts +7 -0
  922. package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.js +14 -0
  923. package/dist/vendor/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -0
  924. package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.d.ts +4 -0
  925. package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.js +17 -0
  926. package/dist/vendor/typeorm/error/MetadataAlreadyExistsError.js.map +1 -0
  927. package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.d.ts +4 -0
  928. package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js +15 -0
  929. package/dist/vendor/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -0
  930. package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.d.ts +5 -0
  931. package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.js +11 -0
  932. package/dist/vendor/typeorm/error/MissingDeleteDateColumnError.js.map +1 -0
  933. package/dist/vendor/typeorm/error/MissingDriverError.d.ts +7 -0
  934. package/dist/vendor/typeorm/error/MissingDriverError.js +15 -0
  935. package/dist/vendor/typeorm/error/MissingDriverError.js.map +1 -0
  936. package/dist/vendor/typeorm/error/MissingJoinColumnError.d.ts +6 -0
  937. package/dist/vendor/typeorm/error/MissingJoinColumnError.js +22 -0
  938. package/dist/vendor/typeorm/error/MissingJoinColumnError.js.map +1 -0
  939. package/dist/vendor/typeorm/error/MissingJoinTableError.d.ts +6 -0
  940. package/dist/vendor/typeorm/error/MissingJoinTableError.js +22 -0
  941. package/dist/vendor/typeorm/error/MissingJoinTableError.js.map +1 -0
  942. package/dist/vendor/typeorm/error/MissingPrimaryColumnError.d.ts +5 -0
  943. package/dist/vendor/typeorm/error/MissingPrimaryColumnError.js +12 -0
  944. package/dist/vendor/typeorm/error/MissingPrimaryColumnError.js.map +1 -0
  945. package/dist/vendor/typeorm/error/MustBeEntityError.d.ts +7 -0
  946. package/dist/vendor/typeorm/error/MustBeEntityError.js +14 -0
  947. package/dist/vendor/typeorm/error/MustBeEntityError.js.map +1 -0
  948. package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.d.ts +7 -0
  949. package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.js +14 -0
  950. package/dist/vendor/typeorm/error/NamedPlaceholdersNotSupportedError.js.map +1 -0
  951. package/dist/vendor/typeorm/error/NestedSetMultipleRootError.d.ts +4 -0
  952. package/dist/vendor/typeorm/error/NestedSetMultipleRootError.js +11 -0
  953. package/dist/vendor/typeorm/error/NestedSetMultipleRootError.js.map +1 -0
  954. package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.d.ts +7 -0
  955. package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.js +15 -0
  956. package/dist/vendor/typeorm/error/NoConnectionForRepositoryError.js.map +1 -0
  957. package/dist/vendor/typeorm/error/NoConnectionOptionError.d.ts +7 -0
  958. package/dist/vendor/typeorm/error/NoConnectionOptionError.js +15 -0
  959. package/dist/vendor/typeorm/error/NoConnectionOptionError.js.map +1 -0
  960. package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.d.ts +7 -0
  961. package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.js +16 -0
  962. package/dist/vendor/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -0
  963. package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.d.ts +7 -0
  964. package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.js +14 -0
  965. package/dist/vendor/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -0
  966. package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.d.ts +7 -0
  967. package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.js +16 -0
  968. package/dist/vendor/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -0
  969. package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.d.ts +7 -0
  970. package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.js +14 -0
  971. package/dist/vendor/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -0
  972. package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.d.ts +7 -0
  973. package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.js +14 -0
  974. package/dist/vendor/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -0
  975. package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.d.ts +7 -0
  976. package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.js +14 -0
  977. package/dist/vendor/typeorm/error/PersistedEntityNotFoundError.js.map +1 -0
  978. package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.d.ts +7 -0
  979. package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.js +14 -0
  980. package/dist/vendor/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -0
  981. package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.d.ts +4 -0
  982. package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.js +12 -0
  983. package/dist/vendor/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -0
  984. package/dist/vendor/typeorm/error/QueryFailedError.d.ts +11 -0
  985. package/dist/vendor/typeorm/error/QueryFailedError.js +29 -0
  986. package/dist/vendor/typeorm/error/QueryFailedError.js.map +1 -0
  987. package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.d.ts +4 -0
  988. package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.js +11 -0
  989. package/dist/vendor/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -0
  990. package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.d.ts +7 -0
  991. package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js +15 -0
  992. package/dist/vendor/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -0
  993. package/dist/vendor/typeorm/error/RepositoryNotTreeError.d.ts +8 -0
  994. package/dist/vendor/typeorm/error/RepositoryNotTreeError.js +31 -0
  995. package/dist/vendor/typeorm/error/RepositoryNotTreeError.js.map +1 -0
  996. package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.d.ts +8 -0
  997. package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.js +15 -0
  998. package/dist/vendor/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -0
  999. package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.d.ts +8 -0
  1000. package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.js +15 -0
  1001. package/dist/vendor/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -0
  1002. package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.d.ts +10 -0
  1003. package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.js +16 -0
  1004. package/dist/vendor/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -0
  1005. package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.d.ts +7 -0
  1006. package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.js +14 -0
  1007. package/dist/vendor/typeorm/error/TransactionAlreadyStartedError.js.map +1 -0
  1008. package/dist/vendor/typeorm/error/TransactionNotStartedError.d.ts +7 -0
  1009. package/dist/vendor/typeorm/error/TransactionNotStartedError.js +14 -0
  1010. package/dist/vendor/typeorm/error/TransactionNotStartedError.js.map +1 -0
  1011. package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.d.ts +5 -0
  1012. package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.js +11 -0
  1013. package/dist/vendor/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -0
  1014. package/dist/vendor/typeorm/error/TypeORMError.d.ts +4 -0
  1015. package/dist/vendor/typeorm/error/TypeORMError.js +22 -0
  1016. package/dist/vendor/typeorm/error/TypeORMError.js.map +1 -0
  1017. package/dist/vendor/typeorm/error/UpdateValuesMissingError.d.ts +4 -0
  1018. package/dist/vendor/typeorm/error/UpdateValuesMissingError.js +11 -0
  1019. package/dist/vendor/typeorm/error/UpdateValuesMissingError.js.map +1 -0
  1020. package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.d.ts +6 -0
  1021. package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.js +12 -0
  1022. package/dist/vendor/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -0
  1023. package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +6 -0
  1024. package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +13 -0
  1025. package/dist/vendor/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -0
  1026. package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.d.ts +6 -0
  1027. package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.js +13 -0
  1028. package/dist/vendor/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -0
  1029. package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +6 -0
  1030. package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js +13 -0
  1031. package/dist/vendor/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -0
  1032. package/dist/vendor/typeorm/error/index.d.ts +59 -0
  1033. package/dist/vendor/typeorm/error/index.js +63 -0
  1034. package/dist/vendor/typeorm/error/index.js.map +1 -0
  1035. package/dist/vendor/typeorm/find-options/EqualOperator.d.ts +5 -0
  1036. package/dist/vendor/typeorm/find-options/EqualOperator.js +12 -0
  1037. package/dist/vendor/typeorm/find-options/EqualOperator.js.map +1 -0
  1038. package/dist/vendor/typeorm/find-options/FindManyOptions.d.ts +14 -0
  1039. package/dist/vendor/typeorm/find-options/FindManyOptions.js +3 -0
  1040. package/dist/vendor/typeorm/find-options/FindManyOptions.js.map +1 -0
  1041. package/dist/vendor/typeorm/find-options/FindOneOptions.d.ts +80 -0
  1042. package/dist/vendor/typeorm/find-options/FindOneOptions.js +3 -0
  1043. package/dist/vendor/typeorm/find-options/FindOneOptions.js.map +1 -0
  1044. package/dist/vendor/typeorm/find-options/FindOperator.d.ts +67 -0
  1045. package/dist/vendor/typeorm/find-options/FindOperator.js +95 -0
  1046. package/dist/vendor/typeorm/find-options/FindOperator.js.map +1 -0
  1047. package/dist/vendor/typeorm/find-options/FindOperatorType.d.ts +4 -0
  1048. package/dist/vendor/typeorm/find-options/FindOperatorType.js +3 -0
  1049. package/dist/vendor/typeorm/find-options/FindOperatorType.js.map +1 -0
  1050. package/dist/vendor/typeorm/find-options/FindOptionsOrder.d.ts +18 -0
  1051. package/dist/vendor/typeorm/find-options/FindOptionsOrder.js +3 -0
  1052. package/dist/vendor/typeorm/find-options/FindOptionsOrder.js.map +1 -0
  1053. package/dist/vendor/typeorm/find-options/FindOptionsRelations.d.ts +11 -0
  1054. package/dist/vendor/typeorm/find-options/FindOptionsRelations.js +3 -0
  1055. package/dist/vendor/typeorm/find-options/FindOptionsRelations.js.map +1 -0
  1056. package/dist/vendor/typeorm/find-options/FindOptionsSelect.d.ts +11 -0
  1057. package/dist/vendor/typeorm/find-options/FindOptionsSelect.js +3 -0
  1058. package/dist/vendor/typeorm/find-options/FindOptionsSelect.js.map +1 -0
  1059. package/dist/vendor/typeorm/find-options/FindOptionsUtils.d.ts +71 -0
  1060. package/dist/vendor/typeorm/find-options/FindOptionsUtils.js +278 -0
  1061. package/dist/vendor/typeorm/find-options/FindOptionsUtils.js.map +1 -0
  1062. package/dist/vendor/typeorm/find-options/FindOptionsWhere.d.ts +17 -0
  1063. package/dist/vendor/typeorm/find-options/FindOptionsWhere.js +3 -0
  1064. package/dist/vendor/typeorm/find-options/FindOptionsWhere.js.map +1 -0
  1065. package/dist/vendor/typeorm/find-options/FindTreeOptions.d.ts +13 -0
  1066. package/dist/vendor/typeorm/find-options/FindTreeOptions.js +3 -0
  1067. package/dist/vendor/typeorm/find-options/FindTreeOptions.js.map +1 -0
  1068. package/dist/vendor/typeorm/find-options/OrderByCondition.d.ts +16 -0
  1069. package/dist/vendor/typeorm/find-options/OrderByCondition.js +3 -0
  1070. package/dist/vendor/typeorm/find-options/OrderByCondition.js.map +1 -0
  1071. package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.d.ts +14 -0
  1072. package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.js +3 -0
  1073. package/dist/vendor/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -0
  1074. package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.d.ts +11 -0
  1075. package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.js +3 -0
  1076. package/dist/vendor/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -0
  1077. package/dist/vendor/typeorm/find-options/operator/And.d.ts +6 -0
  1078. package/dist/vendor/typeorm/find-options/operator/And.js +12 -0
  1079. package/dist/vendor/typeorm/find-options/operator/And.js.map +1 -0
  1080. package/dist/vendor/typeorm/find-options/operator/Any.d.ts +10 -0
  1081. package/dist/vendor/typeorm/find-options/operator/Any.js +16 -0
  1082. package/dist/vendor/typeorm/find-options/operator/Any.js.map +1 -0
  1083. package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.d.ts +10 -0
  1084. package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.js +16 -0
  1085. package/dist/vendor/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -0
  1086. package/dist/vendor/typeorm/find-options/operator/ArrayContains.d.ts +10 -0
  1087. package/dist/vendor/typeorm/find-options/operator/ArrayContains.js +16 -0
  1088. package/dist/vendor/typeorm/find-options/operator/ArrayContains.js.map +1 -0
  1089. package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.d.ts +10 -0
  1090. package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.js +16 -0
  1091. package/dist/vendor/typeorm/find-options/operator/ArrayOverlap.js.map +1 -0
  1092. package/dist/vendor/typeorm/find-options/operator/Between.d.ts +11 -0
  1093. package/dist/vendor/typeorm/find-options/operator/Between.js +17 -0
  1094. package/dist/vendor/typeorm/find-options/operator/Between.js.map +1 -0
  1095. package/dist/vendor/typeorm/find-options/operator/Equal.d.ts +15 -0
  1096. package/dist/vendor/typeorm/find-options/operator/Equal.js +20 -0
  1097. package/dist/vendor/typeorm/find-options/operator/Equal.js.map +1 -0
  1098. package/dist/vendor/typeorm/find-options/operator/ILike.d.ts +10 -0
  1099. package/dist/vendor/typeorm/find-options/operator/ILike.js +16 -0
  1100. package/dist/vendor/typeorm/find-options/operator/ILike.js.map +1 -0
  1101. package/dist/vendor/typeorm/find-options/operator/In.d.ts +10 -0
  1102. package/dist/vendor/typeorm/find-options/operator/In.js +16 -0
  1103. package/dist/vendor/typeorm/find-options/operator/In.js.map +1 -0
  1104. package/dist/vendor/typeorm/find-options/operator/IsNull.d.ts +9 -0
  1105. package/dist/vendor/typeorm/find-options/operator/IsNull.js +15 -0
  1106. package/dist/vendor/typeorm/find-options/operator/IsNull.js.map +1 -0
  1107. package/dist/vendor/typeorm/find-options/operator/JsonContains.d.ts +10 -0
  1108. package/dist/vendor/typeorm/find-options/operator/JsonContains.js +16 -0
  1109. package/dist/vendor/typeorm/find-options/operator/JsonContains.js.map +1 -0
  1110. package/dist/vendor/typeorm/find-options/operator/LessThan.d.ts +10 -0
  1111. package/dist/vendor/typeorm/find-options/operator/LessThan.js +16 -0
  1112. package/dist/vendor/typeorm/find-options/operator/LessThan.js.map +1 -0
  1113. package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.d.ts +10 -0
  1114. package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.js +16 -0
  1115. package/dist/vendor/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -0
  1116. package/dist/vendor/typeorm/find-options/operator/Like.d.ts +10 -0
  1117. package/dist/vendor/typeorm/find-options/operator/Like.js +16 -0
  1118. package/dist/vendor/typeorm/find-options/operator/Like.js.map +1 -0
  1119. package/dist/vendor/typeorm/find-options/operator/MoreThan.d.ts +10 -0
  1120. package/dist/vendor/typeorm/find-options/operator/MoreThan.js +16 -0
  1121. package/dist/vendor/typeorm/find-options/operator/MoreThan.js.map +1 -0
  1122. package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.d.ts +10 -0
  1123. package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.js +16 -0
  1124. package/dist/vendor/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -0
  1125. package/dist/vendor/typeorm/find-options/operator/Not.d.ts +11 -0
  1126. package/dist/vendor/typeorm/find-options/operator/Not.js +17 -0
  1127. package/dist/vendor/typeorm/find-options/operator/Not.js.map +1 -0
  1128. package/dist/vendor/typeorm/find-options/operator/Or.d.ts +6 -0
  1129. package/dist/vendor/typeorm/find-options/operator/Or.js +12 -0
  1130. package/dist/vendor/typeorm/find-options/operator/Or.js.map +1 -0
  1131. package/dist/vendor/typeorm/find-options/operator/Raw.d.ts +31 -0
  1132. package/dist/vendor/typeorm/find-options/operator/Raw.js +11 -0
  1133. package/dist/vendor/typeorm/find-options/operator/Raw.js.map +1 -0
  1134. package/dist/vendor/typeorm/globals.d.ts +6 -0
  1135. package/dist/vendor/typeorm/globals.js +19 -0
  1136. package/dist/vendor/typeorm/globals.js.map +1 -0
  1137. package/dist/vendor/typeorm/index.d.ts +177 -0
  1138. package/dist/vendor/typeorm/index.js +147 -0
  1139. package/dist/vendor/typeorm/index.js.map +1 -0
  1140. package/dist/vendor/typeorm/legacy-naming-strategies/index.d.ts +2 -0
  1141. package/dist/vendor/typeorm/legacy-naming-strategies/index.js +8 -0
  1142. package/dist/vendor/typeorm/legacy-naming-strategies/index.js.map +1 -0
  1143. package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.d.ts +16 -0
  1144. package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.js +48 -0
  1145. package/dist/vendor/typeorm/legacy-naming-strategies/legacy-oracle-naming-strategy.js.map +1 -0
  1146. package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.d.ts +4 -0
  1147. package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.js +14 -0
  1148. package/dist/vendor/typeorm/legacy-naming-strategies/naming-strategy-v03.js.map +1 -0
  1149. package/dist/vendor/typeorm/logger/AbstractLogger.d.ts +82 -0
  1150. package/dist/vendor/typeorm/logger/AbstractLogger.js +270 -0
  1151. package/dist/vendor/typeorm/logger/AbstractLogger.js.map +1 -0
  1152. package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.d.ts +17 -0
  1153. package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.js +59 -0
  1154. package/dist/vendor/typeorm/logger/AdvancedConsoleLogger.js.map +1 -0
  1155. package/dist/vendor/typeorm/logger/DebugLogger.d.ts +26 -0
  1156. package/dist/vendor/typeorm/logger/DebugLogger.js +85 -0
  1157. package/dist/vendor/typeorm/logger/DebugLogger.js.map +1 -0
  1158. package/dist/vendor/typeorm/logger/FileLogger.d.ts +35 -0
  1159. package/dist/vendor/typeorm/logger/FileLogger.js +90 -0
  1160. package/dist/vendor/typeorm/logger/FileLogger.js.map +1 -0
  1161. package/dist/vendor/typeorm/logger/FormattedConsoleLogger.d.ts +17 -0
  1162. package/dist/vendor/typeorm/logger/FormattedConsoleLogger.js +62 -0
  1163. package/dist/vendor/typeorm/logger/FormattedConsoleLogger.js.map +1 -0
  1164. package/dist/vendor/typeorm/logger/Logger.d.ts +64 -0
  1165. package/dist/vendor/typeorm/logger/Logger.js +3 -0
  1166. package/dist/vendor/typeorm/logger/Logger.js.map +1 -0
  1167. package/dist/vendor/typeorm/logger/LoggerFactory.d.ts +14 -0
  1168. package/dist/vendor/typeorm/logger/LoggerFactory.js +41 -0
  1169. package/dist/vendor/typeorm/logger/LoggerFactory.js.map +1 -0
  1170. package/dist/vendor/typeorm/logger/LoggerOptions.d.ts +5 -0
  1171. package/dist/vendor/typeorm/logger/LoggerOptions.js +3 -0
  1172. package/dist/vendor/typeorm/logger/LoggerOptions.js.map +1 -0
  1173. package/dist/vendor/typeorm/logger/SimpleConsoleLogger.d.ts +17 -0
  1174. package/dist/vendor/typeorm/logger/SimpleConsoleLogger.js +60 -0
  1175. package/dist/vendor/typeorm/logger/SimpleConsoleLogger.js.map +1 -0
  1176. package/dist/vendor/typeorm/metadata/CheckMetadata.d.ts +41 -0
  1177. package/dist/vendor/typeorm/metadata/CheckMetadata.js +36 -0
  1178. package/dist/vendor/typeorm/metadata/CheckMetadata.js.map +1 -0
  1179. package/dist/vendor/typeorm/metadata/ColumnMetadata.d.ts +324 -0
  1180. package/dist/vendor/typeorm/metadata/ColumnMetadata.js +624 -0
  1181. package/dist/vendor/typeorm/metadata/ColumnMetadata.js.map +1 -0
  1182. package/dist/vendor/typeorm/metadata/EmbeddedMetadata.d.ts +158 -0
  1183. package/dist/vendor/typeorm/metadata/EmbeddedMetadata.js +214 -0
  1184. package/dist/vendor/typeorm/metadata/EmbeddedMetadata.js.map +1 -0
  1185. package/dist/vendor/typeorm/metadata/EntityListenerMetadata.d.ts +55 -0
  1186. package/dist/vendor/typeorm/metadata/EntityListenerMetadata.js +83 -0
  1187. package/dist/vendor/typeorm/metadata/EntityListenerMetadata.js.map +1 -0
  1188. package/dist/vendor/typeorm/metadata/EntityMetadata.d.ts +619 -0
  1189. package/dist/vendor/typeorm/metadata/EntityMetadata.js +722 -0
  1190. package/dist/vendor/typeorm/metadata/EntityMetadata.js.map +1 -0
  1191. package/dist/vendor/typeorm/metadata/ExclusionMetadata.d.ts +46 -0
  1192. package/dist/vendor/typeorm/metadata/ExclusionMetadata.js +37 -0
  1193. package/dist/vendor/typeorm/metadata/ExclusionMetadata.js.map +1 -0
  1194. package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.d.ts +79 -0
  1195. package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.js +58 -0
  1196. package/dist/vendor/typeorm/metadata/ForeignKeyMetadata.js.map +1 -0
  1197. package/dist/vendor/typeorm/metadata/IndexMetadata.d.ts +125 -0
  1198. package/dist/vendor/typeorm/metadata/IndexMetadata.js +158 -0
  1199. package/dist/vendor/typeorm/metadata/IndexMetadata.js.map +1 -0
  1200. package/dist/vendor/typeorm/metadata/RelationIdMetadata.d.ts +55 -0
  1201. package/dist/vendor/typeorm/metadata/RelationIdMetadata.js +63 -0
  1202. package/dist/vendor/typeorm/metadata/RelationIdMetadata.js.map +1 -0
  1203. package/dist/vendor/typeorm/metadata/RelationMetadata.d.ts +309 -0
  1204. package/dist/vendor/typeorm/metadata/RelationMetadata.js +456 -0
  1205. package/dist/vendor/typeorm/metadata/RelationMetadata.js.map +1 -0
  1206. package/dist/vendor/typeorm/metadata/UniqueMetadata.d.ts +67 -0
  1207. package/dist/vendor/typeorm/metadata/UniqueMetadata.js +108 -0
  1208. package/dist/vendor/typeorm/metadata/UniqueMetadata.js.map +1 -0
  1209. package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.d.ts +11 -0
  1210. package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.js +3 -0
  1211. package/dist/vendor/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -0
  1212. package/dist/vendor/typeorm/metadata/types/DeferrableType.d.ts +4 -0
  1213. package/dist/vendor/typeorm/metadata/types/DeferrableType.js +3 -0
  1214. package/dist/vendor/typeorm/metadata/types/DeferrableType.js.map +1 -0
  1215. package/dist/vendor/typeorm/metadata/types/EventListenerTypes.d.ts +20 -0
  1216. package/dist/vendor/typeorm/metadata/types/EventListenerTypes.js +21 -0
  1217. package/dist/vendor/typeorm/metadata/types/EventListenerTypes.js.map +1 -0
  1218. package/dist/vendor/typeorm/metadata/types/OnDeleteType.d.ts +4 -0
  1219. package/dist/vendor/typeorm/metadata/types/OnDeleteType.js +3 -0
  1220. package/dist/vendor/typeorm/metadata/types/OnDeleteType.js.map +1 -0
  1221. package/dist/vendor/typeorm/metadata/types/OnUpdateType.d.ts +4 -0
  1222. package/dist/vendor/typeorm/metadata/types/OnUpdateType.js +3 -0
  1223. package/dist/vendor/typeorm/metadata/types/OnUpdateType.js.map +1 -0
  1224. package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.d.ts +4 -0
  1225. package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.js +3 -0
  1226. package/dist/vendor/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -0
  1227. package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.d.ts +5 -0
  1228. package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.js +3 -0
  1229. package/dist/vendor/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -0
  1230. package/dist/vendor/typeorm/metadata/types/RelationTypes.d.ts +4 -0
  1231. package/dist/vendor/typeorm/metadata/types/RelationTypes.js +3 -0
  1232. package/dist/vendor/typeorm/metadata/types/RelationTypes.js.map +1 -0
  1233. package/dist/vendor/typeorm/metadata/types/TableTypes.d.ts +4 -0
  1234. package/dist/vendor/typeorm/metadata/types/TableTypes.js +3 -0
  1235. package/dist/vendor/typeorm/metadata/types/TableTypes.js.map +1 -0
  1236. package/dist/vendor/typeorm/metadata/types/TreeTypes.d.ts +5 -0
  1237. package/dist/vendor/typeorm/metadata/types/TreeTypes.js +3 -0
  1238. package/dist/vendor/typeorm/metadata/types/TreeTypes.js.map +1 -0
  1239. package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.d.ts +17 -0
  1240. package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.js +3 -0
  1241. package/dist/vendor/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -0
  1242. package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.d.ts +25 -0
  1243. package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.js +3 -0
  1244. package/dist/vendor/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -0
  1245. package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.d.ts +13 -0
  1246. package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js +3 -0
  1247. package/dist/vendor/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -0
  1248. package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.d.ts +26 -0
  1249. package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.js +3 -0
  1250. package/dist/vendor/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -0
  1251. package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.d.ts +18 -0
  1252. package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.js +3 -0
  1253. package/dist/vendor/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -0
  1254. package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.d.ts +9 -0
  1255. package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.js +3 -0
  1256. package/dist/vendor/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -0
  1257. package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.d.ts +22 -0
  1258. package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.js +3 -0
  1259. package/dist/vendor/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -0
  1260. package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.d.ts +54 -0
  1261. package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.js +3 -0
  1262. package/dist/vendor/typeorm/metadata-args/ForeignKeyMetadataArgs.js.map +1 -0
  1263. package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.d.ts +17 -0
  1264. package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.js +3 -0
  1265. package/dist/vendor/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -0
  1266. package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.d.ts +82 -0
  1267. package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.js +3 -0
  1268. package/dist/vendor/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -0
  1269. package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.d.ts +18 -0
  1270. package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.js +3 -0
  1271. package/dist/vendor/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -0
  1272. package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.d.ts +26 -0
  1273. package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.js +3 -0
  1274. package/dist/vendor/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -0
  1275. package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.d.ts +43 -0
  1276. package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.js +3 -0
  1277. package/dist/vendor/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -0
  1278. package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.d.ts +118 -0
  1279. package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.js +242 -0
  1280. package/dist/vendor/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -0
  1281. package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.d.ts +13 -0
  1282. package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.js +3 -0
  1283. package/dist/vendor/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -0
  1284. package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.d.ts +26 -0
  1285. package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.js +3 -0
  1286. package/dist/vendor/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -0
  1287. package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.d.ts +55 -0
  1288. package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.js +3 -0
  1289. package/dist/vendor/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -0
  1290. package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.d.ts +66 -0
  1291. package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.js +3 -0
  1292. package/dist/vendor/typeorm/metadata-args/TableMetadataArgs.js.map +1 -0
  1293. package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.d.ts +17 -0
  1294. package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.js +3 -0
  1295. package/dist/vendor/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -0
  1296. package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.d.ts +25 -0
  1297. package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js +3 -0
  1298. package/dist/vendor/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -0
  1299. package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.d.ts +19 -0
  1300. package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.js +3 -0
  1301. package/dist/vendor/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -0
  1302. package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.d.ts +24 -0
  1303. package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.js +3 -0
  1304. package/dist/vendor/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -0
  1305. package/dist/vendor/typeorm/metadata-args/types/ColumnMode.d.ts +7 -0
  1306. package/dist/vendor/typeorm/metadata-args/types/ColumnMode.js +3 -0
  1307. package/dist/vendor/typeorm/metadata-args/types/ColumnMode.js.map +1 -0
  1308. package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +16 -0
  1309. package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +154 -0
  1310. package/dist/vendor/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -0
  1311. package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.d.ts +78 -0
  1312. package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.js +835 -0
  1313. package/dist/vendor/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -0
  1314. package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.d.ts +34 -0
  1315. package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.js +220 -0
  1316. package/dist/vendor/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -0
  1317. package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.d.ts +35 -0
  1318. package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js +301 -0
  1319. package/dist/vendor/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -0
  1320. package/dist/vendor/typeorm/metadata-builder/MetadataUtils.d.ts +31 -0
  1321. package/dist/vendor/typeorm/metadata-builder/MetadataUtils.js +51 -0
  1322. package/dist/vendor/typeorm/metadata-builder/MetadataUtils.js.map +1 -0
  1323. package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.d.ts +71 -0
  1324. package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.js +216 -0
  1325. package/dist/vendor/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -0
  1326. package/dist/vendor/typeorm/migration/Migration.d.ts +28 -0
  1327. package/dist/vendor/typeorm/migration/Migration.js +20 -0
  1328. package/dist/vendor/typeorm/migration/Migration.js.map +1 -0
  1329. package/dist/vendor/typeorm/migration/MigrationExecutor.d.ts +115 -0
  1330. package/dist/vendor/typeorm/migration/MigrationExecutor.js +558 -0
  1331. package/dist/vendor/typeorm/migration/MigrationExecutor.js.map +1 -0
  1332. package/dist/vendor/typeorm/migration/MigrationInterface.d.ts +25 -0
  1333. package/dist/vendor/typeorm/migration/MigrationInterface.js +3 -0
  1334. package/dist/vendor/typeorm/migration/MigrationInterface.js.map +1 -0
  1335. package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.d.ts +32 -0
  1336. package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.js +129 -0
  1337. package/dist/vendor/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -0
  1338. package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.d.ts +109 -0
  1339. package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.js +3 -0
  1340. package/dist/vendor/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -0
  1341. package/dist/vendor/typeorm/package.json +1 -0
  1342. package/dist/vendor/typeorm/persistence/EntityPersistExecutor.d.ts +21 -0
  1343. package/dist/vendor/typeorm/persistence/EntityPersistExecutor.js +179 -0
  1344. package/dist/vendor/typeorm/persistence/EntityPersistExecutor.js.map +1 -0
  1345. package/dist/vendor/typeorm/persistence/Subject.d.ts +155 -0
  1346. package/dist/vendor/typeorm/persistence/Subject.js +237 -0
  1347. package/dist/vendor/typeorm/persistence/Subject.js.map +1 -0
  1348. package/dist/vendor/typeorm/persistence/SubjectChangeMap.d.ts +23 -0
  1349. package/dist/vendor/typeorm/persistence/SubjectChangeMap.js +3 -0
  1350. package/dist/vendor/typeorm/persistence/SubjectChangeMap.js.map +1 -0
  1351. package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.d.ts +25 -0
  1352. package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.js +231 -0
  1353. package/dist/vendor/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -0
  1354. package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.d.ts +29 -0
  1355. package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.js +150 -0
  1356. package/dist/vendor/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -0
  1357. package/dist/vendor/typeorm/persistence/SubjectExecutor.d.ts +123 -0
  1358. package/dist/vendor/typeorm/persistence/SubjectExecutor.js +764 -0
  1359. package/dist/vendor/typeorm/persistence/SubjectExecutor.js.map +1 -0
  1360. package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.d.ts +53 -0
  1361. package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.js +192 -0
  1362. package/dist/vendor/typeorm/persistence/SubjectTopologicalSorter.js.map +1 -0
  1363. package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.d.ts +25 -0
  1364. package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js +136 -0
  1365. package/dist/vendor/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -0
  1366. package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +47 -0
  1367. package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js +232 -0
  1368. package/dist/vendor/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -0
  1369. package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.d.ts +33 -0
  1370. package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js +193 -0
  1371. package/dist/vendor/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -0
  1372. package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +33 -0
  1373. package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +160 -0
  1374. package/dist/vendor/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -0
  1375. package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.d.ts +34 -0
  1376. package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.js +245 -0
  1377. package/dist/vendor/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -0
  1378. package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.d.ts +23 -0
  1379. package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js +129 -0
  1380. package/dist/vendor/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -0
  1381. package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.d.ts +49 -0
  1382. package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.js +281 -0
  1383. package/dist/vendor/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -0
  1384. package/dist/vendor/typeorm/platform/DriverPackages.d.ts +10 -0
  1385. package/dist/vendor/typeorm/platform/DriverPackages.js +54 -0
  1386. package/dist/vendor/typeorm/platform/DriverPackages.js.map +1 -0
  1387. package/dist/vendor/typeorm/platform/PlatformTools.d.ts +86 -0
  1388. package/dist/vendor/typeorm/platform/PlatformTools.js +218 -0
  1389. package/dist/vendor/typeorm/platform/PlatformTools.js.map +1 -0
  1390. package/dist/vendor/typeorm/query-builder/Alias.d.ts +22 -0
  1391. package/dist/vendor/typeorm/query-builder/Alias.js +28 -0
  1392. package/dist/vendor/typeorm/query-builder/Alias.js.map +1 -0
  1393. package/dist/vendor/typeorm/query-builder/Brackets.d.ts +18 -0
  1394. package/dist/vendor/typeorm/query-builder/Brackets.js +20 -0
  1395. package/dist/vendor/typeorm/query-builder/Brackets.js.map +1 -0
  1396. package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.d.ts +109 -0
  1397. package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.js +221 -0
  1398. package/dist/vendor/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -0
  1399. package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.d.ts +18 -0
  1400. package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.js +3 -0
  1401. package/dist/vendor/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -0
  1402. package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.d.ts +148 -0
  1403. package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.js +1209 -0
  1404. package/dist/vendor/typeorm/query-builder/InsertQueryBuilder.js.map +1 -0
  1405. package/dist/vendor/typeorm/query-builder/JoinAttribute.d.ts +91 -0
  1406. package/dist/vendor/typeorm/query-builder/JoinAttribute.js +163 -0
  1407. package/dist/vendor/typeorm/query-builder/JoinAttribute.js.map +1 -0
  1408. package/dist/vendor/typeorm/query-builder/JoinOptions.d.ts +3 -0
  1409. package/dist/vendor/typeorm/query-builder/JoinOptions.js +3 -0
  1410. package/dist/vendor/typeorm/query-builder/JoinOptions.js.map +1 -0
  1411. package/dist/vendor/typeorm/query-builder/NotBrackets.d.ts +8 -0
  1412. package/dist/vendor/typeorm/query-builder/NotBrackets.js +16 -0
  1413. package/dist/vendor/typeorm/query-builder/NotBrackets.js.map +1 -0
  1414. package/dist/vendor/typeorm/query-builder/QueryBuilder.d.ts +327 -0
  1415. package/dist/vendor/typeorm/query-builder/QueryBuilder.js +1217 -0
  1416. package/dist/vendor/typeorm/query-builder/QueryBuilder.js.map +1 -0
  1417. package/dist/vendor/typeorm/query-builder/QueryBuilderCte.d.ts +17 -0
  1418. package/dist/vendor/typeorm/query-builder/QueryBuilderCte.js +3 -0
  1419. package/dist/vendor/typeorm/query-builder/QueryBuilderCte.js.map +1 -0
  1420. package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.d.ts +12 -0
  1421. package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.js +33 -0
  1422. package/dist/vendor/typeorm/query-builder/QueryBuilderUtils.js.map +1 -0
  1423. package/dist/vendor/typeorm/query-builder/QueryExpressionMap.d.ts +319 -0
  1424. package/dist/vendor/typeorm/query-builder/QueryExpressionMap.js +325 -0
  1425. package/dist/vendor/typeorm/query-builder/QueryExpressionMap.js.map +1 -0
  1426. package/dist/vendor/typeorm/query-builder/QueryPartialEntity.d.ts +15 -0
  1427. package/dist/vendor/typeorm/query-builder/QueryPartialEntity.js +3 -0
  1428. package/dist/vendor/typeorm/query-builder/QueryPartialEntity.js.map +1 -0
  1429. package/dist/vendor/typeorm/query-builder/RelationIdLoader.d.ts +71 -0
  1430. package/dist/vendor/typeorm/query-builder/RelationIdLoader.js +516 -0
  1431. package/dist/vendor/typeorm/query-builder/RelationIdLoader.js.map +1 -0
  1432. package/dist/vendor/typeorm/query-builder/RelationLoader.d.ts +103 -0
  1433. package/dist/vendor/typeorm/query-builder/RelationLoader.js +342 -0
  1434. package/dist/vendor/typeorm/query-builder/RelationLoader.js.map +1 -0
  1435. package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.d.ts +70 -0
  1436. package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.js +155 -0
  1437. package/dist/vendor/typeorm/query-builder/RelationQueryBuilder.js.map +1 -0
  1438. package/dist/vendor/typeorm/query-builder/RelationRemover.d.ts +18 -0
  1439. package/dist/vendor/typeorm/query-builder/RelationRemover.js +144 -0
  1440. package/dist/vendor/typeorm/query-builder/RelationRemover.js.map +1 -0
  1441. package/dist/vendor/typeorm/query-builder/RelationUpdater.d.ts +18 -0
  1442. package/dist/vendor/typeorm/query-builder/RelationUpdater.js +153 -0
  1443. package/dist/vendor/typeorm/query-builder/RelationUpdater.js.map +1 -0
  1444. package/dist/vendor/typeorm/query-builder/ReturningOption.d.ts +4 -0
  1445. package/dist/vendor/typeorm/query-builder/ReturningOption.js +3 -0
  1446. package/dist/vendor/typeorm/query-builder/ReturningOption.js.map +1 -0
  1447. package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.d.ts +36 -0
  1448. package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.js +181 -0
  1449. package/dist/vendor/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -0
  1450. package/dist/vendor/typeorm/query-builder/SelectQuery.d.ts +5 -0
  1451. package/dist/vendor/typeorm/query-builder/SelectQuery.js +3 -0
  1452. package/dist/vendor/typeorm/query-builder/SelectQuery.js.map +1 -0
  1453. package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.d.ts +765 -0
  1454. package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.js +2803 -0
  1455. package/dist/vendor/typeorm/query-builder/SelectQueryBuilder.js.map +1 -0
  1456. package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.d.ts +1 -0
  1457. package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.js +3 -0
  1458. package/dist/vendor/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -0
  1459. package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.d.ts +166 -0
  1460. package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.js +409 -0
  1461. package/dist/vendor/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -0
  1462. package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.d.ts +170 -0
  1463. package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.js +535 -0
  1464. package/dist/vendor/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -0
  1465. package/dist/vendor/typeorm/query-builder/WhereClause.d.ts +16 -0
  1466. package/dist/vendor/typeorm/query-builder/WhereClause.js +3 -0
  1467. package/dist/vendor/typeorm/query-builder/WhereClause.js.map +1 -0
  1468. package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.d.ts +121 -0
  1469. package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.js +3 -0
  1470. package/dist/vendor/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -0
  1471. package/dist/vendor/typeorm/query-builder/index.d.ts +4 -0
  1472. package/dist/vendor/typeorm/query-builder/index.js +22 -0
  1473. package/dist/vendor/typeorm/query-builder/index.js.map +1 -0
  1474. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.d.ts +64 -0
  1475. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.js +87 -0
  1476. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -0
  1477. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.d.ts +5 -0
  1478. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.js +3 -0
  1479. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -0
  1480. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.d.ts +12 -0
  1481. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.js +284 -0
  1482. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -0
  1483. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +7 -0
  1484. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +54 -0
  1485. package/dist/vendor/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -0
  1486. package/dist/vendor/typeorm/query-builder/result/DeleteResult.d.ts +16 -0
  1487. package/dist/vendor/typeorm/query-builder/result/DeleteResult.js +16 -0
  1488. package/dist/vendor/typeorm/query-builder/result/DeleteResult.js.map +1 -0
  1489. package/dist/vendor/typeorm/query-builder/result/InsertResult.d.ts +22 -0
  1490. package/dist/vendor/typeorm/query-builder/result/InsertResult.js +27 -0
  1491. package/dist/vendor/typeorm/query-builder/result/InsertResult.js.map +1 -0
  1492. package/dist/vendor/typeorm/query-builder/result/UpdateResult.d.ts +26 -0
  1493. package/dist/vendor/typeorm/query-builder/result/UpdateResult.js +28 -0
  1494. package/dist/vendor/typeorm/query-builder/result/UpdateResult.js.map +1 -0
  1495. package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.d.ts +11 -0
  1496. package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.js +109 -0
  1497. package/dist/vendor/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -0
  1498. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +12 -0
  1499. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +120 -0
  1500. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -0
  1501. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +19 -0
  1502. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js +96 -0
  1503. package/dist/vendor/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -0
  1504. package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +81 -0
  1505. package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js +450 -0
  1506. package/dist/vendor/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -0
  1507. package/dist/vendor/typeorm/query-runner/BaseQueryRunner.d.ts +318 -0
  1508. package/dist/vendor/typeorm/query-runner/BaseQueryRunner.js +543 -0
  1509. package/dist/vendor/typeorm/query-runner/BaseQueryRunner.js.map +1 -0
  1510. package/dist/vendor/typeorm/query-runner/QueryLock.d.ts +4 -0
  1511. package/dist/vendor/typeorm/query-runner/QueryLock.js +30 -0
  1512. package/dist/vendor/typeorm/query-runner/QueryLock.js.map +1 -0
  1513. package/dist/vendor/typeorm/query-runner/QueryResult.d.ts +17 -0
  1514. package/dist/vendor/typeorm/query-runner/QueryResult.js +16 -0
  1515. package/dist/vendor/typeorm/query-runner/QueryResult.js.map +1 -0
  1516. package/dist/vendor/typeorm/query-runner/QueryRunner.d.ts +380 -0
  1517. package/dist/vendor/typeorm/query-runner/QueryRunner.js +3 -0
  1518. package/dist/vendor/typeorm/query-runner/QueryRunner.js.map +1 -0
  1519. package/dist/vendor/typeorm/repository/BaseEntity.d.ts +387 -0
  1520. package/dist/vendor/typeorm/repository/BaseEntity.js +387 -0
  1521. package/dist/vendor/typeorm/repository/BaseEntity.js.map +1 -0
  1522. package/dist/vendor/typeorm/repository/EntityId.d.ts +2 -0
  1523. package/dist/vendor/typeorm/repository/EntityId.js +3 -0
  1524. package/dist/vendor/typeorm/repository/EntityId.js.map +1 -0
  1525. package/dist/vendor/typeorm/repository/FindTreesOptions.d.ts +9 -0
  1526. package/dist/vendor/typeorm/repository/FindTreesOptions.js +3 -0
  1527. package/dist/vendor/typeorm/repository/FindTreesOptions.js.map +1 -0
  1528. package/dist/vendor/typeorm/repository/MongoRepository.d.ts +313 -0
  1529. package/dist/vendor/typeorm/repository/MongoRepository.js +389 -0
  1530. package/dist/vendor/typeorm/repository/MongoRepository.js.map +1 -0
  1531. package/dist/vendor/typeorm/repository/RemoveOptions.d.ts +27 -0
  1532. package/dist/vendor/typeorm/repository/RemoveOptions.js +3 -0
  1533. package/dist/vendor/typeorm/repository/RemoveOptions.js.map +1 -0
  1534. package/dist/vendor/typeorm/repository/Repository.d.ts +409 -0
  1535. package/dist/vendor/typeorm/repository/Repository.js +442 -0
  1536. package/dist/vendor/typeorm/repository/Repository.js.map +1 -0
  1537. package/dist/vendor/typeorm/repository/SaveOptions.d.ts +35 -0
  1538. package/dist/vendor/typeorm/repository/SaveOptions.js +3 -0
  1539. package/dist/vendor/typeorm/repository/SaveOptions.js.map +1 -0
  1540. package/dist/vendor/typeorm/repository/TreeRepository.d.ts +79 -0
  1541. package/dist/vendor/typeorm/repository/TreeRepository.js +282 -0
  1542. package/dist/vendor/typeorm/repository/TreeRepository.js.map +1 -0
  1543. package/dist/vendor/typeorm/repository/UpdateOptions.d.ts +11 -0
  1544. package/dist/vendor/typeorm/repository/UpdateOptions.js +3 -0
  1545. package/dist/vendor/typeorm/repository/UpdateOptions.js.map +1 -0
  1546. package/dist/vendor/typeorm/repository/UpsertOptions.d.ts +26 -0
  1547. package/dist/vendor/typeorm/repository/UpsertOptions.js +3 -0
  1548. package/dist/vendor/typeorm/repository/UpsertOptions.js.map +1 -0
  1549. package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.d.ts +29 -0
  1550. package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.js +65 -0
  1551. package/dist/vendor/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -0
  1552. package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.d.ts +174 -0
  1553. package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.js +944 -0
  1554. package/dist/vendor/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -0
  1555. package/dist/vendor/typeorm/schema-builder/SchemaBuilder.d.ts +14 -0
  1556. package/dist/vendor/typeorm/schema-builder/SchemaBuilder.js +3 -0
  1557. package/dist/vendor/typeorm/schema-builder/SchemaBuilder.js.map +1 -0
  1558. package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.d.ts +17 -0
  1559. package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.js +3 -0
  1560. package/dist/vendor/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -0
  1561. package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.d.ts +112 -0
  1562. package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.js +3 -0
  1563. package/dist/vendor/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -0
  1564. package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.d.ts +18 -0
  1565. package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.js +3 -0
  1566. package/dist/vendor/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -0
  1567. package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.d.ts +44 -0
  1568. package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.js +3 -0
  1569. package/dist/vendor/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -0
  1570. package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.d.ts +56 -0
  1571. package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.js +3 -0
  1572. package/dist/vendor/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -0
  1573. package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.d.ts +1 -0
  1574. package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.js +3 -0
  1575. package/dist/vendor/typeorm/schema-builder/options/TableIndexTypes.js.map +1 -0
  1576. package/dist/vendor/typeorm/schema-builder/options/TableOptions.d.ts +65 -0
  1577. package/dist/vendor/typeorm/schema-builder/options/TableOptions.js +3 -0
  1578. package/dist/vendor/typeorm/schema-builder/options/TableOptions.js.map +1 -0
  1579. package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.d.ts +18 -0
  1580. package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.js +3 -0
  1581. package/dist/vendor/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -0
  1582. package/dist/vendor/typeorm/schema-builder/options/ViewOptions.d.ts +27 -0
  1583. package/dist/vendor/typeorm/schema-builder/options/ViewOptions.js +3 -0
  1584. package/dist/vendor/typeorm/schema-builder/options/ViewOptions.js.map +1 -0
  1585. package/dist/vendor/typeorm/schema-builder/table/Table.d.ts +183 -0
  1586. package/dist/vendor/typeorm/schema-builder/table/Table.js +332 -0
  1587. package/dist/vendor/typeorm/schema-builder/table/Table.js.map +1 -0
  1588. package/dist/vendor/typeorm/schema-builder/table/TableCheck.d.ts +31 -0
  1589. package/dist/vendor/typeorm/schema-builder/table/TableCheck.js +50 -0
  1590. package/dist/vendor/typeorm/schema-builder/table/TableCheck.js.map +1 -0
  1591. package/dist/vendor/typeorm/schema-builder/table/TableColumn.d.ts +116 -0
  1592. package/dist/vendor/typeorm/schema-builder/table/TableColumn.js +107 -0
  1593. package/dist/vendor/typeorm/schema-builder/table/TableColumn.js.map +1 -0
  1594. package/dist/vendor/typeorm/schema-builder/table/TableExclusion.d.ts +32 -0
  1595. package/dist/vendor/typeorm/schema-builder/table/TableExclusion.js +47 -0
  1596. package/dist/vendor/typeorm/schema-builder/table/TableExclusion.js.map +1 -0
  1597. package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.d.ts +60 -0
  1598. package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.js +74 -0
  1599. package/dist/vendor/typeorm/schema-builder/table/TableForeignKey.js.map +1 -0
  1600. package/dist/vendor/typeorm/schema-builder/table/TableIndex.d.ts +70 -0
  1601. package/dist/vendor/typeorm/schema-builder/table/TableIndex.js +72 -0
  1602. package/dist/vendor/typeorm/schema-builder/table/TableIndex.js.map +1 -0
  1603. package/dist/vendor/typeorm/schema-builder/table/TableUnique.d.ts +32 -0
  1604. package/dist/vendor/typeorm/schema-builder/table/TableUnique.js +51 -0
  1605. package/dist/vendor/typeorm/schema-builder/table/TableUnique.js.map +1 -0
  1606. package/dist/vendor/typeorm/schema-builder/util/TableUtils.d.ts +6 -0
  1607. package/dist/vendor/typeorm/schema-builder/util/TableUtils.js +38 -0
  1608. package/dist/vendor/typeorm/schema-builder/util/TableUtils.js.map +1 -0
  1609. package/dist/vendor/typeorm/schema-builder/util/ViewUtils.d.ts +10 -0
  1610. package/dist/vendor/typeorm/schema-builder/util/ViewUtils.js +29 -0
  1611. package/dist/vendor/typeorm/schema-builder/util/ViewUtils.js.map +1 -0
  1612. package/dist/vendor/typeorm/schema-builder/view/View.d.ts +60 -0
  1613. package/dist/vendor/typeorm/schema-builder/view/View.js +77 -0
  1614. package/dist/vendor/typeorm/schema-builder/view/View.js.map +1 -0
  1615. package/dist/vendor/typeorm/subscriber/Broadcaster.d.ts +263 -0
  1616. package/dist/vendor/typeorm/subscriber/Broadcaster.js +761 -0
  1617. package/dist/vendor/typeorm/subscriber/Broadcaster.js.map +1 -0
  1618. package/dist/vendor/typeorm/subscriber/BroadcasterResult.d.ts +17 -0
  1619. package/dist/vendor/typeorm/subscriber/BroadcasterResult.js +29 -0
  1620. package/dist/vendor/typeorm/subscriber/BroadcasterResult.js.map +1 -0
  1621. package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.d.ts +101 -0
  1622. package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.js +3 -0
  1623. package/dist/vendor/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -0
  1624. package/dist/vendor/typeorm/subscriber/event/BaseEvent.d.ts +28 -0
  1625. package/dist/vendor/typeorm/subscriber/event/BaseEvent.js +3 -0
  1626. package/dist/vendor/typeorm/subscriber/event/BaseEvent.js.map +1 -0
  1627. package/dist/vendor/typeorm/subscriber/event/InsertEvent.d.ts +20 -0
  1628. package/dist/vendor/typeorm/subscriber/event/InsertEvent.js +3 -0
  1629. package/dist/vendor/typeorm/subscriber/event/InsertEvent.js.map +1 -0
  1630. package/dist/vendor/typeorm/subscriber/event/LoadEvent.d.ts +15 -0
  1631. package/dist/vendor/typeorm/subscriber/event/LoadEvent.js +3 -0
  1632. package/dist/vendor/typeorm/subscriber/event/LoadEvent.js.map +1 -0
  1633. package/dist/vendor/typeorm/subscriber/event/QueryEvent.d.ts +35 -0
  1634. package/dist/vendor/typeorm/subscriber/event/QueryEvent.js +3 -0
  1635. package/dist/vendor/typeorm/subscriber/event/QueryEvent.js.map +1 -0
  1636. package/dist/vendor/typeorm/subscriber/event/RecoverEvent.d.ts +6 -0
  1637. package/dist/vendor/typeorm/subscriber/event/RecoverEvent.js +3 -0
  1638. package/dist/vendor/typeorm/subscriber/event/RecoverEvent.js.map +1 -0
  1639. package/dist/vendor/typeorm/subscriber/event/RemoveEvent.d.ts +24 -0
  1640. package/dist/vendor/typeorm/subscriber/event/RemoveEvent.js +3 -0
  1641. package/dist/vendor/typeorm/subscriber/event/RemoveEvent.js.map +1 -0
  1642. package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.d.ts +6 -0
  1643. package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.js +3 -0
  1644. package/dist/vendor/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -0
  1645. package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.d.ts +6 -0
  1646. package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.js +3 -0
  1647. package/dist/vendor/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -0
  1648. package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.d.ts +6 -0
  1649. package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.js +3 -0
  1650. package/dist/vendor/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  1651. package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.d.ts +6 -0
  1652. package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.js +3 -0
  1653. package/dist/vendor/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -0
  1654. package/dist/vendor/typeorm/subscriber/event/UpdateEvent.d.ts +34 -0
  1655. package/dist/vendor/typeorm/subscriber/event/UpdateEvent.js +3 -0
  1656. package/dist/vendor/typeorm/subscriber/event/UpdateEvent.js.map +1 -0
  1657. package/dist/vendor/typeorm/util/ApplyValueTransformers.d.ts +5 -0
  1658. package/dist/vendor/typeorm/util/ApplyValueTransformers.js +29 -0
  1659. package/dist/vendor/typeorm/util/ApplyValueTransformers.js.map +1 -0
  1660. package/dist/vendor/typeorm/util/DateUtils.d.ts +110 -0
  1661. package/dist/vendor/typeorm/util/DateUtils.js +299 -0
  1662. package/dist/vendor/typeorm/util/DateUtils.js.map +1 -0
  1663. package/dist/vendor/typeorm/util/DepGraph.d.ts +90 -0
  1664. package/dist/vendor/typeorm/util/DepGraph.js +255 -0
  1665. package/dist/vendor/typeorm/util/DepGraph.js.map +1 -0
  1666. package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.d.ts +9 -0
  1667. package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.js +60 -0
  1668. package/dist/vendor/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -0
  1669. package/dist/vendor/typeorm/util/ImportUtils.d.ts +5 -0
  1670. package/dist/vendor/typeorm/util/ImportUtils.js +107 -0
  1671. package/dist/vendor/typeorm/util/ImportUtils.js.map +1 -0
  1672. package/dist/vendor/typeorm/util/InstanceChecker.d.ts +61 -0
  1673. package/dist/vendor/typeorm/util/InstanceChecker.js +103 -0
  1674. package/dist/vendor/typeorm/util/InstanceChecker.js.map +1 -0
  1675. package/dist/vendor/typeorm/util/ObjectUtils.d.ts +54 -0
  1676. package/dist/vendor/typeorm/util/ObjectUtils.js +55 -0
  1677. package/dist/vendor/typeorm/util/ObjectUtils.js.map +1 -0
  1678. package/dist/vendor/typeorm/util/OrmUtils.d.ts +133 -0
  1679. package/dist/vendor/typeorm/util/OrmUtils.js +572 -0
  1680. package/dist/vendor/typeorm/util/OrmUtils.js.map +1 -0
  1681. package/dist/vendor/typeorm/util/PathUtils.d.ts +18 -0
  1682. package/dist/vendor/typeorm/util/PathUtils.js +40 -0
  1683. package/dist/vendor/typeorm/util/PathUtils.js.map +1 -0
  1684. package/dist/vendor/typeorm/util/RandomGenerator.d.ts +17 -0
  1685. package/dist/vendor/typeorm/util/RandomGenerator.js +182 -0
  1686. package/dist/vendor/typeorm/util/RandomGenerator.js.map +1 -0
  1687. package/dist/vendor/typeorm/util/SqlTagUtils.d.ts +18 -0
  1688. package/dist/vendor/typeorm/util/SqlTagUtils.js +49 -0
  1689. package/dist/vendor/typeorm/util/SqlTagUtils.js.map +1 -0
  1690. package/dist/vendor/typeorm/util/StringUtils.d.ts +67 -0
  1691. package/dist/vendor/typeorm/util/StringUtils.js +105 -0
  1692. package/dist/vendor/typeorm/util/StringUtils.js.map +1 -0
  1693. package/dist/vendor/typeorm/util/TreeRepositoryUtils.d.ts +23 -0
  1694. package/dist/vendor/typeorm/util/TreeRepositoryUtils.js +66 -0
  1695. package/dist/vendor/typeorm/util/TreeRepositoryUtils.js.map +1 -0
  1696. package/dist/vendor/typeorm/util/Uint8ArrayUtils.d.ts +3 -0
  1697. package/dist/vendor/typeorm/util/Uint8ArrayUtils.js +45 -0
  1698. package/dist/vendor/typeorm/util/Uint8ArrayUtils.js.map +1 -0
  1699. package/dist/vendor/typeorm/util/VersionUtils.d.ts +3 -0
  1700. package/dist/vendor/typeorm/util/VersionUtils.js +33 -0
  1701. package/dist/vendor/typeorm/util/VersionUtils.js.map +1 -0
  1702. package/dist/vendor/typeorm/util/escapeRegExp.d.ts +1 -0
  1703. package/dist/vendor/typeorm/util/escapeRegExp.js +9 -0
  1704. package/dist/vendor/typeorm/util/escapeRegExp.js.map +1 -0
  1705. package/package.json +114 -8
@@ -0,0 +1,2803 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectQueryBuilder = void 0;
4
+ const DriverUtils_1 = require("../driver/DriverUtils");
5
+ const error_1 = require("../error");
6
+ const EntityNotFoundError_1 = require("../error/EntityNotFoundError");
7
+ const EntityPropertyNotFoundError_1 = require("../error/EntityPropertyNotFoundError");
8
+ const LockNotSupportedOnGivenDriverError_1 = require("../error/LockNotSupportedOnGivenDriverError");
9
+ const NoVersionOrUpdateDateColumnError_1 = require("../error/NoVersionOrUpdateDateColumnError");
10
+ const OffsetWithoutLimitNotSupportedError_1 = require("../error/OffsetWithoutLimitNotSupportedError");
11
+ const OptimisticLockCanNotBeUsedError_1 = require("../error/OptimisticLockCanNotBeUsedError");
12
+ const OptimisticLockVersionMismatchError_1 = require("../error/OptimisticLockVersionMismatchError");
13
+ const PessimisticLockTransactionRequiredError_1 = require("../error/PessimisticLockTransactionRequiredError");
14
+ const FindOptionsUtils_1 = require("../find-options/FindOptionsUtils");
15
+ const ApplyValueTransformers_1 = require("../util/ApplyValueTransformers");
16
+ const InstanceChecker_1 = require("../util/InstanceChecker");
17
+ const ObjectUtils_1 = require("../util/ObjectUtils");
18
+ const OrmUtils_1 = require("../util/OrmUtils");
19
+ const JoinAttribute_1 = require("./JoinAttribute");
20
+ const QueryBuilder_1 = require("./QueryBuilder");
21
+ const RelationIdAttribute_1 = require("./relation-id/RelationIdAttribute");
22
+ const RelationIdLoader_1 = require("./relation-id/RelationIdLoader");
23
+ const RelationIdMetadataToAttributeTransformer_1 = require("./relation-id/RelationIdMetadataToAttributeTransformer");
24
+ const RelationIdLoader_2 = require("./RelationIdLoader");
25
+ const RawSqlResultsToEntityTransformer_1 = require("./transformer/RawSqlResultsToEntityTransformer");
26
+ /**
27
+ * Allows to build complex sql queries in a fashion way and execute those queries.
28
+ */
29
+ class SelectQueryBuilder extends QueryBuilder_1.QueryBuilder {
30
+ constructor() {
31
+ super(...arguments);
32
+ this["@instanceof"] = Symbol.for("SelectQueryBuilder");
33
+ this.findOptions = {};
34
+ this.selects = [];
35
+ this.joins = [];
36
+ this.conditions = "";
37
+ this.orderBys = [];
38
+ this.relationMetadatas = [];
39
+ this.eagerLoadChain = new Set();
40
+ }
41
+ // -------------------------------------------------------------------------
42
+ // Public Implemented Methods
43
+ // -------------------------------------------------------------------------
44
+ /**
45
+ * Gets generated SQL query without parameters being replaced.
46
+ */
47
+ getQuery() {
48
+ let sql = this.createComment();
49
+ sql += this.createCteExpression();
50
+ sql += this.createSelectExpression();
51
+ sql += this.createJoinExpression();
52
+ sql += this.createWhereExpression();
53
+ sql += this.createGroupByExpression();
54
+ sql += this.createHavingExpression();
55
+ sql += this.createOrderByExpression();
56
+ sql += this.createLimitOffsetExpression();
57
+ sql += this.createLockExpression();
58
+ sql = sql.trim();
59
+ if (this.expressionMap.subQuery)
60
+ sql = "(" + sql + ")";
61
+ return this.replacePropertyNamesForTheWholeQuery(sql);
62
+ }
63
+ // -------------------------------------------------------------------------
64
+ // Public Methods
65
+ // -------------------------------------------------------------------------
66
+ setFindOptions(findOptions) {
67
+ FindOptionsUtils_1.FindOptionsUtils.rejectJoinOption(findOptions);
68
+ FindOptionsUtils_1.FindOptionsUtils.rejectStringArraySelect(findOptions);
69
+ FindOptionsUtils_1.FindOptionsUtils.rejectStringArrayRelations(findOptions);
70
+ this.findOptions = findOptions;
71
+ this.applyFindOptions();
72
+ return this;
73
+ }
74
+ /**
75
+ * Creates a subquery - query that can be used inside other queries.
76
+ */
77
+ subQuery() {
78
+ const qb = this.createQueryBuilder();
79
+ qb.expressionMap.subQuery = true;
80
+ qb.parentQueryBuilder = this;
81
+ return qb;
82
+ }
83
+ /**
84
+ * Creates SELECT query and selects given data.
85
+ * Replaces all previous selections if they exist.
86
+ *
87
+ * @param selection
88
+ * @param selectionAliasName
89
+ */
90
+ select(selection, selectionAliasName) {
91
+ this.expressionMap.queryType = "select";
92
+ if (Array.isArray(selection)) {
93
+ this.expressionMap.selects = selection.map((selection) => ({
94
+ selection: selection,
95
+ }));
96
+ }
97
+ else if (typeof selection === "function") {
98
+ const subQueryBuilder = selection(this.subQuery());
99
+ this.setParameters(subQueryBuilder.getParameters());
100
+ this.expressionMap.selects.push({
101
+ selection: subQueryBuilder.getQuery(),
102
+ aliasName: selectionAliasName,
103
+ });
104
+ }
105
+ else if (selection) {
106
+ this.expressionMap.selects = [
107
+ { selection: selection, aliasName: selectionAliasName },
108
+ ];
109
+ }
110
+ return this;
111
+ }
112
+ /**
113
+ * Adds new selection to the SELECT query.
114
+ *
115
+ * @param selection
116
+ * @param selectionAliasName
117
+ */
118
+ addSelect(selection, selectionAliasName) {
119
+ if (!selection)
120
+ return this;
121
+ if (Array.isArray(selection)) {
122
+ this.expressionMap.selects = this.expressionMap.selects.concat(selection.map((selection) => ({ selection: selection })));
123
+ }
124
+ else if (typeof selection === "function") {
125
+ const subQueryBuilder = selection(this.subQuery());
126
+ this.setParameters(subQueryBuilder.getParameters());
127
+ this.expressionMap.selects.push({
128
+ selection: subQueryBuilder.getQuery(),
129
+ aliasName: selectionAliasName,
130
+ });
131
+ }
132
+ else if (selection) {
133
+ this.expressionMap.selects.push({
134
+ selection: selection,
135
+ aliasName: selectionAliasName,
136
+ });
137
+ }
138
+ return this;
139
+ }
140
+ /**
141
+ * Set max execution time.
142
+ *
143
+ * @param milliseconds
144
+ */
145
+ maxExecutionTime(milliseconds) {
146
+ this.expressionMap.maxExecutionTime = milliseconds;
147
+ return this;
148
+ }
149
+ /**
150
+ * Sets whether the selection is DISTINCT.
151
+ *
152
+ * @param distinct
153
+ */
154
+ distinct(distinct = true) {
155
+ this.expressionMap.selectDistinct = distinct;
156
+ return this;
157
+ }
158
+ /**
159
+ * Sets the distinct on clause for Postgres.
160
+ *
161
+ * @param distinctOn
162
+ */
163
+ distinctOn(distinctOn) {
164
+ this.expressionMap.selectDistinctOn = distinctOn;
165
+ return this;
166
+ }
167
+ fromDummy() {
168
+ return this.from(this.dataSource.driver.dummyTableName ??
169
+ "(SELECT 1 AS dummy_column)", "dummy_table");
170
+ }
171
+ /**
172
+ * Specifies FROM which entity's table select/update/delete will be executed.
173
+ * Also sets a main string alias of the selection data.
174
+ * Removes all previously set from-s.
175
+ *
176
+ * @param entityTarget
177
+ * @param aliasName
178
+ */
179
+ from(entityTarget, aliasName) {
180
+ const mainAlias = this.createFromAlias(entityTarget, aliasName);
181
+ this.expressionMap.setMainAlias(mainAlias);
182
+ return this;
183
+ }
184
+ /**
185
+ * Specifies FROM which entity's table select/update/delete will be executed.
186
+ * Also sets a main string alias of the selection data.
187
+ *
188
+ * @param entityTarget
189
+ * @param aliasName
190
+ */
191
+ addFrom(entityTarget, aliasName) {
192
+ const alias = this.createFromAlias(entityTarget, aliasName);
193
+ if (!this.expressionMap.mainAlias)
194
+ this.expressionMap.setMainAlias(alias);
195
+ return this;
196
+ }
197
+ /**
198
+ * INNER JOINs (without selection).
199
+ * You also need to specify an alias of the joined data.
200
+ * Optionally, you can add condition and parameters used in condition.
201
+ *
202
+ * @param entityOrProperty
203
+ * @param alias
204
+ * @param condition
205
+ * @param parameters
206
+ */
207
+ innerJoin(entityOrProperty, alias, condition, parameters) {
208
+ this.join("INNER", entityOrProperty, alias, condition, parameters);
209
+ return this;
210
+ }
211
+ /**
212
+ * LEFT JOINs (without selection).
213
+ * You also need to specify an alias of the joined data.
214
+ * Optionally, you can add condition and parameters used in condition.
215
+ *
216
+ * @param entityOrProperty
217
+ * @param alias
218
+ * @param condition
219
+ * @param parameters
220
+ */
221
+ leftJoin(entityOrProperty, alias, condition, parameters) {
222
+ this.join("LEFT", entityOrProperty, alias, condition, parameters);
223
+ return this;
224
+ }
225
+ /**
226
+ * INNER JOINs and adds all selection properties to SELECT.
227
+ * You also need to specify an alias of the joined data.
228
+ * Optionally, you can add condition and parameters used in condition.
229
+ *
230
+ * @param entityOrProperty
231
+ * @param alias
232
+ * @param condition
233
+ * @param parameters
234
+ */
235
+ innerJoinAndSelect(entityOrProperty, alias, condition, parameters) {
236
+ this.addSelect(alias);
237
+ this.innerJoin(entityOrProperty, alias, condition, parameters);
238
+ return this;
239
+ }
240
+ /**
241
+ * LEFT JOINs and adds all selection properties to SELECT.
242
+ * You also need to specify an alias of the joined data.
243
+ * Optionally, you can add condition and parameters used in condition.
244
+ *
245
+ * @param entityOrProperty
246
+ * @param alias
247
+ * @param condition
248
+ * @param parameters
249
+ */
250
+ leftJoinAndSelect(entityOrProperty, alias, condition, parameters) {
251
+ this.addSelect(alias);
252
+ this.leftJoin(entityOrProperty, alias, condition, parameters);
253
+ return this;
254
+ }
255
+ /**
256
+ * INNER JOINs, SELECTs the data returned by a join and MAPs all that data to some entity's property.
257
+ * This is extremely useful when you want to select some data and map it to some virtual property.
258
+ * It will assume that there are multiple rows of selecting data, and mapped result will be an array.
259
+ * You also need to specify an alias of the joined data.
260
+ * Optionally, you can add condition and parameters used in condition.
261
+ *
262
+ * @param mapToProperty
263
+ * @param entityOrProperty
264
+ * @param alias
265
+ * @param condition
266
+ * @param parameters
267
+ */
268
+ innerJoinAndMapMany(mapToProperty, entityOrProperty, alias, condition, parameters) {
269
+ this.addSelect(alias);
270
+ this.join("INNER", entityOrProperty, alias, condition, parameters, mapToProperty, true);
271
+ return this;
272
+ }
273
+ /**
274
+ * INNER JOINs, SELECTs the data returned by a join and MAPs all that data to some entity's property.
275
+ * This is extremely useful when you want to select some data and map it to some virtual property.
276
+ * It will assume that there is a single row of selecting data, and mapped result will be a single selected value.
277
+ * You also need to specify an alias of the joined data.
278
+ * Optionally, you can add condition and parameters used in condition.
279
+ *
280
+ * @param mapToProperty
281
+ * @param entityOrProperty
282
+ * @param alias
283
+ * @param condition
284
+ * @param parameters
285
+ * @param mapAsEntity
286
+ */
287
+ innerJoinAndMapOne(mapToProperty, entityOrProperty, alias, condition, parameters, mapAsEntity) {
288
+ this.addSelect(alias);
289
+ this.join("INNER", entityOrProperty, alias, condition, parameters, mapToProperty, false, mapAsEntity);
290
+ return this;
291
+ }
292
+ /**
293
+ * LEFT JOINs, SELECTs the data returned by a join and MAPs all that data to some entity's property.
294
+ * This is extremely useful when you want to select some data and map it to some virtual property.
295
+ * It will assume that there are multiple rows of selecting data, and mapped result will be an array.
296
+ * You also need to specify an alias of the joined data.
297
+ * Optionally, you can add condition and parameters used in condition.
298
+ *
299
+ * @param mapToProperty
300
+ * @param entityOrProperty
301
+ * @param alias
302
+ * @param condition
303
+ * @param parameters
304
+ */
305
+ leftJoinAndMapMany(mapToProperty, entityOrProperty, alias, condition, parameters) {
306
+ this.addSelect(alias);
307
+ this.join("LEFT", entityOrProperty, alias, condition, parameters, mapToProperty, true);
308
+ return this;
309
+ }
310
+ /**
311
+ * LEFT JOINs, SELECTs the data returned by a join and MAPs all that data to some entity's property.
312
+ * This is extremely useful when you want to select some data and map it to some virtual property.
313
+ * It will assume that there is a single row of selecting data, and mapped result will be a single selected value.
314
+ * You also need to specify an alias of the joined data.
315
+ * Optionally, you can add condition and parameters used in condition.
316
+ *
317
+ * @param mapToProperty
318
+ * @param entityOrProperty
319
+ * @param alias
320
+ * @param condition
321
+ * @param parameters
322
+ * @param mapAsEntity
323
+ */
324
+ leftJoinAndMapOne(mapToProperty, entityOrProperty, alias, condition, parameters, mapAsEntity) {
325
+ this.addSelect(alias);
326
+ this.join("LEFT", entityOrProperty, alias, condition, parameters, mapToProperty, false, mapAsEntity);
327
+ return this;
328
+ }
329
+ /**
330
+ * LEFT JOINs relation id and maps it into some entity's property.
331
+ * Optionally, you can add condition and parameters used in condition.
332
+ *
333
+ * @param mapToProperty
334
+ * @param relationName
335
+ * @param aliasNameOrOptions
336
+ * @param queryBuilderFactory
337
+ */
338
+ loadRelationIdAndMap(mapToProperty, relationName, aliasNameOrOptions, queryBuilderFactory) {
339
+ const relationIdAttribute = new RelationIdAttribute_1.RelationIdAttribute(this.expressionMap);
340
+ relationIdAttribute.mapToProperty = mapToProperty;
341
+ relationIdAttribute.relationName = relationName;
342
+ if (typeof aliasNameOrOptions === "string")
343
+ relationIdAttribute.alias = aliasNameOrOptions;
344
+ if (typeof aliasNameOrOptions === "object" &&
345
+ aliasNameOrOptions.disableMixedMap)
346
+ relationIdAttribute.disableMixedMap = true;
347
+ relationIdAttribute.queryBuilderFactory = queryBuilderFactory;
348
+ this.expressionMap.relationIdAttributes.push(relationIdAttribute);
349
+ if (relationIdAttribute.relation.junctionEntityMetadata) {
350
+ this.expressionMap.createAlias({
351
+ type: "other",
352
+ name: relationIdAttribute.junctionAlias,
353
+ metadata: relationIdAttribute.relation.junctionEntityMetadata,
354
+ });
355
+ }
356
+ return this;
357
+ }
358
+ /**
359
+ * Loads all relation ids for all relations of the selected entity.
360
+ * All relation ids will be mapped to relation property themself.
361
+ * If array of strings is given then loads only relation ids of the given properties.
362
+ *
363
+ * @param options
364
+ * @param options.relations
365
+ * @param options.disableMixedMap
366
+ */
367
+ loadAllRelationIds(options) {
368
+ // todo: add skip relations
369
+ this.expressionMap.mainAlias.metadata.relations.forEach((relation) => {
370
+ if (options?.relations?.indexOf(relation.propertyPath) === -1)
371
+ return;
372
+ this.loadRelationIdAndMap(this.expressionMap.mainAlias.name +
373
+ "." +
374
+ relation.propertyPath, this.expressionMap.mainAlias.name +
375
+ "." +
376
+ relation.propertyPath, options);
377
+ });
378
+ return this;
379
+ }
380
+ /**
381
+ * Sets WHERE condition in the query builder.
382
+ * If you had previously WHERE expression defined,
383
+ * calling this function will override previously set WHERE conditions.
384
+ * Additionally you can add parameters used in where expression.
385
+ *
386
+ * @param where
387
+ * @param parameters
388
+ */
389
+ where(where, parameters) {
390
+ this.expressionMap.wheres = []; // don't move this block below since computeWhereParameter can add where expressions
391
+ const condition = this.getWhereCondition(where);
392
+ if (condition) {
393
+ this.expressionMap.wheres = [
394
+ { type: "simple", condition: condition },
395
+ ];
396
+ }
397
+ if (parameters)
398
+ this.setParameters(parameters);
399
+ return this;
400
+ }
401
+ /**
402
+ * Adds new AND WHERE condition in the query builder.
403
+ * Additionally you can add parameters used in where expression.
404
+ *
405
+ * @param where
406
+ * @param parameters
407
+ */
408
+ andWhere(where, parameters) {
409
+ this.expressionMap.wheres.push({
410
+ type: "and",
411
+ condition: this.getWhereCondition(where),
412
+ });
413
+ if (parameters)
414
+ this.setParameters(parameters);
415
+ return this;
416
+ }
417
+ /**
418
+ * Adds new OR WHERE condition in the query builder.
419
+ * Additionally you can add parameters used in where expression.
420
+ *
421
+ * @param where
422
+ * @param parameters
423
+ */
424
+ orWhere(where, parameters) {
425
+ this.expressionMap.wheres.push({
426
+ type: "or",
427
+ condition: this.getWhereCondition(where),
428
+ });
429
+ if (parameters)
430
+ this.setParameters(parameters);
431
+ return this;
432
+ }
433
+ /**
434
+ * Sets a new where EXISTS clause
435
+ *
436
+ * @param subQuery
437
+ */
438
+ whereExists(subQuery) {
439
+ return this.where(...this.getExistsCondition(subQuery));
440
+ }
441
+ /**
442
+ * Adds a new AND where EXISTS clause
443
+ *
444
+ * @param subQuery
445
+ */
446
+ andWhereExists(subQuery) {
447
+ return this.andWhere(...this.getExistsCondition(subQuery));
448
+ }
449
+ /**
450
+ * Adds a new OR where EXISTS clause
451
+ *
452
+ * @param subQuery
453
+ */
454
+ orWhereExists(subQuery) {
455
+ return this.orWhere(...this.getExistsCondition(subQuery));
456
+ }
457
+ /**
458
+ * Adds new AND WHERE with conditions for the given ids.
459
+ *
460
+ * Ids are mixed.
461
+ * It means if you have single primary key you can pass a simple id values, for example [1, 2, 3].
462
+ * If you have multiple primary keys you need to pass object with property names and values specified,
463
+ * for example [{ firstId: 1, secondId: 2 }, { firstId: 2, secondId: 3 }, ...]
464
+ *
465
+ * @param ids
466
+ */
467
+ whereInIds(ids) {
468
+ return this.where(this.getWhereInIdsCondition(ids));
469
+ }
470
+ /**
471
+ * Adds new AND WHERE with conditions for the given ids.
472
+ *
473
+ * Ids are mixed.
474
+ * It means if you have single primary key you can pass a simple id values, for example [1, 2, 3].
475
+ * If you have multiple primary keys you need to pass object with property names and values specified,
476
+ * for example [{ firstId: 1, secondId: 2 }, { firstId: 2, secondId: 3 }, ...]
477
+ *
478
+ * @param ids
479
+ */
480
+ andWhereInIds(ids) {
481
+ return this.andWhere(this.getWhereInIdsCondition(ids));
482
+ }
483
+ /**
484
+ * Adds new OR WHERE with conditions for the given ids.
485
+ *
486
+ * Ids are mixed.
487
+ * It means if you have single primary key you can pass a simple id values, for example [1, 2, 3].
488
+ * If you have multiple primary keys you need to pass object with property names and values specified,
489
+ * for example [{ firstId: 1, secondId: 2 }, { firstId: 2, secondId: 3 }, ...]
490
+ *
491
+ * @param ids
492
+ */
493
+ orWhereInIds(ids) {
494
+ return this.orWhere(this.getWhereInIdsCondition(ids));
495
+ }
496
+ /**
497
+ * Sets HAVING condition in the query builder.
498
+ * If you had previously HAVING expression defined,
499
+ * calling this function will override previously set HAVING conditions.
500
+ * Additionally you can add parameters used in where expression.
501
+ *
502
+ * @param having
503
+ * @param parameters
504
+ */
505
+ having(having, parameters) {
506
+ this.expressionMap.havings.push({ type: "simple", condition: having });
507
+ if (parameters)
508
+ this.setParameters(parameters);
509
+ return this;
510
+ }
511
+ /**
512
+ * Adds new AND HAVING condition in the query builder.
513
+ * Additionally you can add parameters used in where expression.
514
+ *
515
+ * @param having
516
+ * @param parameters
517
+ */
518
+ andHaving(having, parameters) {
519
+ this.expressionMap.havings.push({ type: "and", condition: having });
520
+ if (parameters)
521
+ this.setParameters(parameters);
522
+ return this;
523
+ }
524
+ /**
525
+ * Adds new OR HAVING condition in the query builder.
526
+ * Additionally you can add parameters used in where expression.
527
+ *
528
+ * @param having
529
+ * @param parameters
530
+ */
531
+ orHaving(having, parameters) {
532
+ this.expressionMap.havings.push({ type: "or", condition: having });
533
+ if (parameters)
534
+ this.setParameters(parameters);
535
+ return this;
536
+ }
537
+ /**
538
+ * Sets GROUP BY condition in the query builder.
539
+ * If you had previously GROUP BY expression defined,
540
+ * calling this function will override previously set GROUP BY conditions.
541
+ *
542
+ * @param groupBy
543
+ */
544
+ groupBy(groupBy) {
545
+ if (groupBy) {
546
+ this.expressionMap.groupBys = [groupBy];
547
+ }
548
+ else {
549
+ this.expressionMap.groupBys = [];
550
+ }
551
+ return this;
552
+ }
553
+ /**
554
+ * Adds GROUP BY condition in the query builder.
555
+ *
556
+ * @param groupBy
557
+ */
558
+ addGroupBy(groupBy) {
559
+ this.expressionMap.groupBys.push(groupBy);
560
+ return this;
561
+ }
562
+ /**
563
+ * Enables time travelling for the current query (only supported by cockroach currently)
564
+ *
565
+ * @param timeTravelFn
566
+ */
567
+ timeTravelQuery(timeTravelFn) {
568
+ if (this.dataSource.driver.options.type === "cockroachdb") {
569
+ if (timeTravelFn === undefined) {
570
+ this.expressionMap.timeTravel = "follower_read_timestamp()";
571
+ }
572
+ else {
573
+ this.expressionMap.timeTravel = timeTravelFn;
574
+ }
575
+ }
576
+ return this;
577
+ }
578
+ /**
579
+ * Sets ORDER BY condition in the query builder.
580
+ * If you had previously ORDER BY expression defined,
581
+ * calling this function will override previously set ORDER BY conditions.
582
+ *
583
+ * @param sort
584
+ * @param order
585
+ * @param nulls
586
+ */
587
+ orderBy(sort, order = "ASC", nulls) {
588
+ if (!sort) {
589
+ this.expressionMap.orderBys = {};
590
+ return this;
591
+ }
592
+ if (typeof sort === "object") {
593
+ this.validateOrderByCondition(sort);
594
+ this.expressionMap.orderBys = sort;
595
+ return this;
596
+ }
597
+ const condition = nulls
598
+ ? { [sort]: { order, nulls } }
599
+ : { [sort]: order };
600
+ this.validateOrderByCondition(condition);
601
+ this.expressionMap.orderBys = condition;
602
+ return this;
603
+ }
604
+ /**
605
+ * Adds ORDER BY condition in the query builder.
606
+ *
607
+ * @param sort
608
+ * @param order
609
+ * @param nulls
610
+ */
611
+ addOrderBy(sort, order = "ASC", nulls) {
612
+ const condition = nulls
613
+ ? { [sort]: { order, nulls } }
614
+ : { [sort]: order };
615
+ this.validateOrderByCondition(condition);
616
+ if (nulls) {
617
+ this.expressionMap.orderBys[sort] = { order, nulls };
618
+ }
619
+ else {
620
+ this.expressionMap.orderBys[sort] = order;
621
+ }
622
+ return this;
623
+ }
624
+ /**
625
+ * Sets LIMIT - maximum number of rows to be selected.
626
+ * NOTE that it may not work as you expect if you are using joins.
627
+ * If you want to implement pagination, and you are having join in your query,
628
+ * then use the take method instead.
629
+ *
630
+ * @param limit
631
+ */
632
+ limit(limit) {
633
+ this.expressionMap.limit = this.validateNumericInput("limit", limit);
634
+ return this;
635
+ }
636
+ /**
637
+ * Sets OFFSET - selection offset.
638
+ * NOTE that it may not work as you expect if you are using joins.
639
+ * If you want to implement pagination, and you are having join in your query,
640
+ * then use the skip method instead.
641
+ *
642
+ * @param offset
643
+ */
644
+ offset(offset) {
645
+ this.expressionMap.offset = this.validateNumericInput("offset", offset);
646
+ return this;
647
+ }
648
+ /**
649
+ * Sets maximal number of entities to take.
650
+ *
651
+ * @param take
652
+ */
653
+ take(take) {
654
+ this.expressionMap.take = this.validateNumericInput("take", take);
655
+ return this;
656
+ }
657
+ /**
658
+ * Sets number of entities to skip.
659
+ *
660
+ * @param skip
661
+ */
662
+ skip(skip) {
663
+ this.expressionMap.skip = this.validateNumericInput("skip", skip);
664
+ return this;
665
+ }
666
+ /**
667
+ * Set certain index(es) to be used by the query.
668
+ *
669
+ * @param indexes Name(s) of index(es) to be used.
670
+ */
671
+ useIndex(indexes) {
672
+ this.expressionMap.useIndex = Array.isArray(indexes)
673
+ ? indexes
674
+ : [indexes];
675
+ return this;
676
+ }
677
+ /**
678
+ * Sets locking mode.
679
+ *
680
+ * @param lockMode
681
+ * @param lockVersion
682
+ * @param lockTables
683
+ */
684
+ setLock(lockMode, lockVersion, lockTables) {
685
+ this.expressionMap.lockMode = lockMode;
686
+ this.expressionMap.lockVersion = lockVersion;
687
+ this.expressionMap.lockTables = lockTables;
688
+ return this;
689
+ }
690
+ /**
691
+ * Sets lock handling by adding NO WAIT or SKIP LOCKED.
692
+ *
693
+ * @param onLocked
694
+ */
695
+ setOnLocked(onLocked) {
696
+ this.expressionMap.onLocked = onLocked;
697
+ return this;
698
+ }
699
+ /**
700
+ * Disables the global condition of "non-deleted" for the entity with delete date columns.
701
+ */
702
+ withDeleted() {
703
+ this.expressionMap.withDeleted = true;
704
+ return this;
705
+ }
706
+ /**
707
+ * Gets first raw result returned by execution of generated query builder sql.
708
+ */
709
+ async getRawOne() {
710
+ return (await this.getRawMany())[0];
711
+ }
712
+ /**
713
+ * Gets all raw results returned by execution of generated query builder sql.
714
+ */
715
+ async getRawMany() {
716
+ if (this.expressionMap.lockMode === "optimistic")
717
+ throw new OptimisticLockCanNotBeUsedError_1.OptimisticLockCanNotBeUsedError();
718
+ this.expressionMap.queryEntity = false;
719
+ const queryRunner = this.obtainQueryRunner();
720
+ let transactionStartedByUs = false;
721
+ try {
722
+ // start transaction if it was enabled
723
+ if (this.expressionMap.useTransaction === true &&
724
+ queryRunner.isTransactionActive === false) {
725
+ await queryRunner.startTransaction();
726
+ transactionStartedByUs = true;
727
+ }
728
+ const results = await this.loadRawResults(queryRunner);
729
+ // close transaction if we started it
730
+ if (transactionStartedByUs) {
731
+ await queryRunner.commitTransaction();
732
+ }
733
+ return results;
734
+ }
735
+ catch (error) {
736
+ // rollback transaction if we started it
737
+ if (transactionStartedByUs) {
738
+ try {
739
+ await queryRunner.rollbackTransaction();
740
+ }
741
+ catch (rollbackError) { }
742
+ }
743
+ throw error;
744
+ }
745
+ finally {
746
+ if (queryRunner !== this.queryRunner) {
747
+ // means we created our own query runner
748
+ await queryRunner.release();
749
+ }
750
+ }
751
+ }
752
+ /**
753
+ * Executes sql generated by query builder and returns object with raw results and entities created from them.
754
+ */
755
+ async getRawAndEntities() {
756
+ const queryRunner = this.obtainQueryRunner();
757
+ let transactionStartedByUs = false;
758
+ try {
759
+ // start transaction if it was enabled
760
+ if (this.expressionMap.useTransaction === true &&
761
+ queryRunner.isTransactionActive === false) {
762
+ await queryRunner.startTransaction();
763
+ transactionStartedByUs = true;
764
+ }
765
+ this.expressionMap.queryEntity = true;
766
+ const results = await this.executeEntitiesAndRawResults(queryRunner);
767
+ // close transaction if we started it
768
+ if (transactionStartedByUs) {
769
+ await queryRunner.commitTransaction();
770
+ }
771
+ return results;
772
+ }
773
+ catch (error) {
774
+ // rollback transaction if we started it
775
+ if (transactionStartedByUs) {
776
+ try {
777
+ await queryRunner.rollbackTransaction();
778
+ }
779
+ catch (rollbackError) { }
780
+ }
781
+ throw error;
782
+ }
783
+ finally {
784
+ if (queryRunner !== this.queryRunner)
785
+ // means we created our own query runner
786
+ await queryRunner.release();
787
+ }
788
+ }
789
+ /**
790
+ * Gets single entity returned by execution of generated query builder sql.
791
+ */
792
+ async getOne() {
793
+ const results = await this.getRawAndEntities();
794
+ const result = results.entities[0];
795
+ if (result &&
796
+ this.expressionMap.lockMode === "optimistic" &&
797
+ this.expressionMap.lockVersion) {
798
+ const metadata = this.expressionMap.mainAlias.metadata;
799
+ if (this.expressionMap.lockVersion instanceof Date) {
800
+ const actualVersion = metadata.updateDateColumn.getEntityValue(result); // what if columns arent set?
801
+ if (actualVersion.getTime() !==
802
+ this.expressionMap.lockVersion.getTime())
803
+ throw new OptimisticLockVersionMismatchError_1.OptimisticLockVersionMismatchError(metadata.name, this.expressionMap.lockVersion, actualVersion);
804
+ }
805
+ else {
806
+ const actualVersion = metadata.versionColumn.getEntityValue(result); // what if columns arent set?
807
+ if (actualVersion !== this.expressionMap.lockVersion)
808
+ throw new OptimisticLockVersionMismatchError_1.OptimisticLockVersionMismatchError(metadata.name, this.expressionMap.lockVersion, actualVersion);
809
+ }
810
+ }
811
+ if (result === undefined) {
812
+ return null;
813
+ }
814
+ return result;
815
+ }
816
+ /**
817
+ * Gets the first entity returned by execution of generated query builder sql or rejects the returned promise on error.
818
+ */
819
+ async getOneOrFail() {
820
+ const entity = await this.getOne();
821
+ if (!entity) {
822
+ throw new EntityNotFoundError_1.EntityNotFoundError(this.expressionMap.mainAlias.target, this.expressionMap.parameters);
823
+ }
824
+ return entity;
825
+ }
826
+ /**
827
+ * Gets entities returned by execution of generated query builder sql.
828
+ */
829
+ async getMany() {
830
+ if (this.expressionMap.lockMode === "optimistic")
831
+ throw new OptimisticLockCanNotBeUsedError_1.OptimisticLockCanNotBeUsedError();
832
+ const results = await this.getRawAndEntities();
833
+ return results.entities;
834
+ }
835
+ /**
836
+ * Gets count - number of entities selected by sql generated by this query builder.
837
+ * Count excludes all limitations set by offset, limit, skip, and take.
838
+ */
839
+ async getCount() {
840
+ if (this.expressionMap.lockMode === "optimistic")
841
+ throw new OptimisticLockCanNotBeUsedError_1.OptimisticLockCanNotBeUsedError();
842
+ const queryRunner = this.obtainQueryRunner();
843
+ let transactionStartedByUs = false;
844
+ try {
845
+ // start transaction if it was enabled
846
+ if (this.expressionMap.useTransaction === true &&
847
+ queryRunner.isTransactionActive === false) {
848
+ await queryRunner.startTransaction();
849
+ transactionStartedByUs = true;
850
+ }
851
+ this.expressionMap.queryEntity = false;
852
+ const results = await this.executeCountQuery(queryRunner);
853
+ // close transaction if we started it
854
+ if (transactionStartedByUs) {
855
+ await queryRunner.commitTransaction();
856
+ }
857
+ return results;
858
+ }
859
+ catch (error) {
860
+ // rollback transaction if we started it
861
+ if (transactionStartedByUs) {
862
+ try {
863
+ await queryRunner.rollbackTransaction();
864
+ }
865
+ catch (rollbackError) { }
866
+ }
867
+ throw error;
868
+ }
869
+ finally {
870
+ if (queryRunner !== this.queryRunner)
871
+ // means we created our own query runner
872
+ await queryRunner.release();
873
+ }
874
+ }
875
+ /**
876
+ * Gets exists
877
+ * Returns whether any rows exists matching current query.
878
+ */
879
+ async getExists() {
880
+ if (this.expressionMap.lockMode === "optimistic")
881
+ throw new OptimisticLockCanNotBeUsedError_1.OptimisticLockCanNotBeUsedError();
882
+ const queryRunner = this.obtainQueryRunner();
883
+ let transactionStartedByUs = false;
884
+ try {
885
+ // start transaction if it was enabled
886
+ if (this.expressionMap.useTransaction === true &&
887
+ queryRunner.isTransactionActive === false) {
888
+ await queryRunner.startTransaction();
889
+ transactionStartedByUs = true;
890
+ }
891
+ this.expressionMap.queryEntity = false;
892
+ const results = await this.executeExistsQuery(queryRunner);
893
+ // close transaction if we started it
894
+ if (transactionStartedByUs) {
895
+ await queryRunner.commitTransaction();
896
+ }
897
+ return results;
898
+ }
899
+ catch (error) {
900
+ // rollback transaction if we started it
901
+ if (transactionStartedByUs) {
902
+ try {
903
+ await queryRunner.rollbackTransaction();
904
+ }
905
+ catch (rollbackError) { }
906
+ }
907
+ throw error;
908
+ }
909
+ finally {
910
+ if (queryRunner !== this.queryRunner)
911
+ // means we created our own query runner
912
+ await queryRunner.release();
913
+ }
914
+ }
915
+ /**
916
+ * Executes built SQL query and returns entities and overall entities count (without limitation).
917
+ * This method is useful to build pagination.
918
+ */
919
+ async getManyAndCount() {
920
+ if (this.expressionMap.lockMode === "optimistic")
921
+ throw new OptimisticLockCanNotBeUsedError_1.OptimisticLockCanNotBeUsedError();
922
+ const queryRunner = this.obtainQueryRunner();
923
+ let transactionStartedByUs = false;
924
+ try {
925
+ // start transaction if it was enabled
926
+ if (this.expressionMap.useTransaction === true &&
927
+ queryRunner.isTransactionActive === false) {
928
+ await queryRunner.startTransaction();
929
+ transactionStartedByUs = true;
930
+ }
931
+ this.expressionMap.queryEntity = true;
932
+ const entitiesAndRaw = await this.executeEntitiesAndRawResults(queryRunner);
933
+ this.expressionMap.queryEntity = false;
934
+ let count = this.lazyCount(entitiesAndRaw);
935
+ if (count === undefined) {
936
+ const cacheId = this.expressionMap.cacheId;
937
+ // Creates a new cacheId for the count query, or it will retrieve the above query results
938
+ // and count will return 0.
939
+ if (cacheId) {
940
+ this.expressionMap.cacheId = `${cacheId}-count`;
941
+ }
942
+ count = await this.executeCountQuery(queryRunner);
943
+ }
944
+ const results = [entitiesAndRaw.entities, count];
945
+ // close transaction if we started it
946
+ if (transactionStartedByUs) {
947
+ await queryRunner.commitTransaction();
948
+ }
949
+ return results;
950
+ }
951
+ catch (error) {
952
+ // rollback transaction if we started it
953
+ if (transactionStartedByUs) {
954
+ try {
955
+ await queryRunner.rollbackTransaction();
956
+ }
957
+ catch (rollbackError) { }
958
+ }
959
+ throw error;
960
+ }
961
+ finally {
962
+ if (queryRunner !== this.queryRunner)
963
+ // means we created our own query runner
964
+ await queryRunner.release();
965
+ }
966
+ }
967
+ lazyCount(entitiesAndRaw) {
968
+ const hasLimit = this.expressionMap.limit !== undefined &&
969
+ this.expressionMap.limit !== null;
970
+ if (this.expressionMap.joinAttributes.length > 0 && hasLimit) {
971
+ return undefined;
972
+ }
973
+ const hasTake = this.expressionMap.take !== undefined &&
974
+ this.expressionMap.take !== null;
975
+ // limit overrides take when no join is defined
976
+ const maxResults = hasLimit
977
+ ? this.expressionMap.limit
978
+ : hasTake
979
+ ? this.expressionMap.take
980
+ : undefined;
981
+ if (maxResults !== undefined &&
982
+ entitiesAndRaw.entities.length === maxResults) {
983
+ // stop here when the result set contains the max number of rows; we need to execute a full count
984
+ return undefined;
985
+ }
986
+ const hasSkip = this.expressionMap.skip !== undefined &&
987
+ this.expressionMap.skip !== null &&
988
+ this.expressionMap.skip > 0;
989
+ const hasOffset = this.expressionMap.offset !== undefined &&
990
+ this.expressionMap.offset !== null &&
991
+ this.expressionMap.offset > 0;
992
+ if (entitiesAndRaw.entities.length === 0 && (hasSkip || hasOffset)) {
993
+ // when skip or offset were used and no results found, we need to execute a full count
994
+ // (the given offset may have exceeded the actual number of rows)
995
+ return undefined;
996
+ }
997
+ // offset overrides skip when no join is defined
998
+ const previousResults = hasOffset
999
+ ? this.expressionMap.offset
1000
+ : hasSkip
1001
+ ? this.expressionMap.skip
1002
+ : 0;
1003
+ return entitiesAndRaw.entities.length + previousResults;
1004
+ }
1005
+ /**
1006
+ * Executes built SQL query and returns raw data stream.
1007
+ */
1008
+ async stream() {
1009
+ this.expressionMap.queryEntity = false;
1010
+ const [sql, parameters] = this.getQueryAndParameters();
1011
+ const queryRunner = this.obtainQueryRunner();
1012
+ let transactionStartedByUs = false;
1013
+ try {
1014
+ // start transaction if it was enabled
1015
+ if (this.expressionMap.useTransaction === true &&
1016
+ queryRunner.isTransactionActive === false) {
1017
+ await queryRunner.startTransaction();
1018
+ transactionStartedByUs = true;
1019
+ }
1020
+ const releaseFn = () => {
1021
+ if (queryRunner !== this.queryRunner)
1022
+ // means we created our own query runner
1023
+ return queryRunner.release();
1024
+ return;
1025
+ };
1026
+ const results = queryRunner.stream(sql, parameters, releaseFn, releaseFn);
1027
+ // close transaction if we started it
1028
+ if (transactionStartedByUs) {
1029
+ await queryRunner.commitTransaction();
1030
+ }
1031
+ return results;
1032
+ }
1033
+ catch (error) {
1034
+ // rollback transaction if we started it
1035
+ if (transactionStartedByUs) {
1036
+ try {
1037
+ await queryRunner.rollbackTransaction();
1038
+ }
1039
+ catch (rollbackError) { }
1040
+ }
1041
+ throw error;
1042
+ }
1043
+ }
1044
+ /**
1045
+ * Enables or disables query result caching.
1046
+ *
1047
+ * @param enabledOrMillisecondsOrId
1048
+ * @param maybeMilliseconds
1049
+ */
1050
+ cache(enabledOrMillisecondsOrId, maybeMilliseconds) {
1051
+ if (typeof enabledOrMillisecondsOrId === "boolean") {
1052
+ this.expressionMap.cache = enabledOrMillisecondsOrId;
1053
+ }
1054
+ else if (typeof enabledOrMillisecondsOrId === "number") {
1055
+ this.expressionMap.cache = true;
1056
+ this.expressionMap.cacheDuration = enabledOrMillisecondsOrId;
1057
+ }
1058
+ else if (typeof enabledOrMillisecondsOrId === "string" ||
1059
+ typeof enabledOrMillisecondsOrId === "number") {
1060
+ this.expressionMap.cache = true;
1061
+ this.expressionMap.cacheId = enabledOrMillisecondsOrId;
1062
+ }
1063
+ if (maybeMilliseconds) {
1064
+ this.expressionMap.cacheDuration = maybeMilliseconds;
1065
+ }
1066
+ return this;
1067
+ }
1068
+ /**
1069
+ * Sets extra options that can be used to configure how query builder works.
1070
+ *
1071
+ * @param option
1072
+ */
1073
+ setOption(option) {
1074
+ this.expressionMap.options.push(option);
1075
+ return this;
1076
+ }
1077
+ // -------------------------------------------------------------------------
1078
+ // Protected Methods
1079
+ // -------------------------------------------------------------------------
1080
+ join(direction, entityOrProperty, aliasName, condition, parameters, mapToProperty, isMappingMany, mapAsEntity) {
1081
+ if (parameters) {
1082
+ this.setParameters(parameters);
1083
+ }
1084
+ const joinAttribute = new JoinAttribute_1.JoinAttribute(this.dataSource, this.expressionMap);
1085
+ joinAttribute.direction = direction;
1086
+ joinAttribute.mapAsEntity = mapAsEntity;
1087
+ joinAttribute.mapToProperty = mapToProperty;
1088
+ joinAttribute.isMappingMany = isMappingMany;
1089
+ joinAttribute.entityOrProperty = entityOrProperty; // relationName
1090
+ joinAttribute.condition = condition; // joinInverseSideCondition
1091
+ // joinAttribute.junctionAlias = joinAttribute.relation.isOwning ? parentAlias + "_" + destinationTableAlias : destinationTableAlias + "_" + parentAlias;
1092
+ this.expressionMap.joinAttributes.push(joinAttribute);
1093
+ const isEntity = this.dataSource.hasMetadata(entityOrProperty);
1094
+ const isSubQuery = (!isEntity && typeof entityOrProperty === "function") ||
1095
+ (typeof entityOrProperty === "string" &&
1096
+ entityOrProperty.startsWith("(") &&
1097
+ entityOrProperty.endsWith(")"));
1098
+ let subQuery = "";
1099
+ if (isSubQuery) {
1100
+ if (typeof entityOrProperty === "string") {
1101
+ subQuery = entityOrProperty;
1102
+ }
1103
+ else {
1104
+ const subQueryBuilder = entityOrProperty(this.subQuery());
1105
+ this.setParameters(subQueryBuilder.getParameters());
1106
+ subQuery = subQueryBuilder.getQuery();
1107
+ }
1108
+ }
1109
+ const joinAttributeMetadata = joinAttribute.metadata;
1110
+ if (joinAttributeMetadata) {
1111
+ if (joinAttributeMetadata.deleteDateColumn &&
1112
+ !this.expressionMap.withDeleted) {
1113
+ const conditionDeleteColumn = `${aliasName}.${joinAttributeMetadata.deleteDateColumn.propertyName} IS NULL`;
1114
+ joinAttribute.condition = joinAttribute.condition
1115
+ ? ` ${joinAttribute.condition} AND ${conditionDeleteColumn}`
1116
+ : `${conditionDeleteColumn}`;
1117
+ }
1118
+ // todo: find and set metadata right there?
1119
+ joinAttribute.alias = this.expressionMap.createAlias({
1120
+ type: "join",
1121
+ name: aliasName,
1122
+ metadata: joinAttributeMetadata,
1123
+ subQuery: isSubQuery ? subQuery : undefined,
1124
+ });
1125
+ if (joinAttribute.relation?.junctionEntityMetadata) {
1126
+ this.expressionMap.createAlias({
1127
+ type: "join",
1128
+ name: joinAttribute.junctionAlias,
1129
+ metadata: joinAttribute.relation.junctionEntityMetadata,
1130
+ });
1131
+ }
1132
+ }
1133
+ else {
1134
+ joinAttribute.alias = this.expressionMap.createAlias({
1135
+ type: "join",
1136
+ name: aliasName,
1137
+ tablePath: isSubQuery === false
1138
+ ? entityOrProperty
1139
+ : undefined,
1140
+ subQuery: isSubQuery === true ? subQuery : undefined,
1141
+ });
1142
+ }
1143
+ }
1144
+ /**
1145
+ * Creates "SELECT FROM" part of SQL query.
1146
+ */
1147
+ createSelectExpression() {
1148
+ if (!this.expressionMap.mainAlias)
1149
+ throw new error_1.TypeORMError("Cannot build query because main alias is not set (call qb#from method)");
1150
+ // todo throw exception if selects or from is missing
1151
+ const allSelects = [];
1152
+ const excludedSelects = [];
1153
+ if (this.expressionMap.mainAlias.hasMetadata) {
1154
+ const metadata = this.expressionMap.mainAlias.metadata;
1155
+ allSelects.push(...this.buildEscapedEntityColumnSelects(this.expressionMap.mainAlias.name, metadata));
1156
+ excludedSelects.push(...this.findEntityColumnSelects(this.expressionMap.mainAlias.name, metadata));
1157
+ }
1158
+ // add selects from joins
1159
+ this.expressionMap.joinAttributes.forEach((join) => {
1160
+ if (join.metadata) {
1161
+ allSelects.push(...this.buildEscapedEntityColumnSelects(join.alias.name, join.metadata));
1162
+ excludedSelects.push(...this.findEntityColumnSelects(join.alias.name, join.metadata));
1163
+ }
1164
+ else {
1165
+ const hasMainAlias = this.expressionMap.selects.some((select) => select.selection === join.alias.name);
1166
+ if (hasMainAlias) {
1167
+ allSelects.push({
1168
+ selection: this.escape(join.alias.name) + ".*",
1169
+ });
1170
+ const excludedSelect = this.expressionMap.selects.find((select) => select.selection === join.alias.name);
1171
+ excludedSelects.push(excludedSelect);
1172
+ }
1173
+ }
1174
+ });
1175
+ // add all other selects
1176
+ this.expressionMap.selects
1177
+ .filter((select) => excludedSelects.indexOf(select) === -1)
1178
+ .forEach((select) => allSelects.push({
1179
+ selection: select.selection,
1180
+ aliasName: select.aliasName,
1181
+ }));
1182
+ // if still selection is empty, then simply set it to all (*)
1183
+ if (allSelects.length === 0)
1184
+ allSelects.push({ selection: "*" });
1185
+ // Use certain index
1186
+ let useIndex = "";
1187
+ if (this.expressionMap.useIndex?.length) {
1188
+ if (DriverUtils_1.DriverUtils.isMySQLFamily(this.dataSource.driver)) {
1189
+ useIndex = ` USE INDEX (${this.expressionMap.useIndex
1190
+ .map((i) => this.escape(i))
1191
+ .join(", ")})`;
1192
+ }
1193
+ }
1194
+ // create a selection query
1195
+ const froms = this.expressionMap.aliases
1196
+ .filter((alias) => alias.type === "from" &&
1197
+ (alias.tablePath ?? alias.subQuery))
1198
+ .map((alias) => {
1199
+ if (alias.subQuery)
1200
+ return alias.subQuery + " " + this.escape(alias.name);
1201
+ return (this.getTableName(alias.tablePath) +
1202
+ " " +
1203
+ this.escape(alias.name));
1204
+ });
1205
+ const select = this.createSelectDistinctExpression();
1206
+ const selection = allSelects
1207
+ .map((select) => select.selection +
1208
+ (select.aliasName
1209
+ ? " AS " + this.escape(select.aliasName)
1210
+ : ""))
1211
+ .join(", ");
1212
+ return (select +
1213
+ selection +
1214
+ " FROM " +
1215
+ froms.join(", ") +
1216
+ this.createTableLockExpression() +
1217
+ useIndex);
1218
+ }
1219
+ /**
1220
+ * Creates select | select distinct part of SQL query.
1221
+ */
1222
+ createSelectDistinctExpression() {
1223
+ const { selectDistinct, selectDistinctOn, maxExecutionTime } = this.expressionMap;
1224
+ const { driver } = this.dataSource;
1225
+ let select = "SELECT ";
1226
+ if (maxExecutionTime > 0) {
1227
+ if (DriverUtils_1.DriverUtils.isMySQLFamily(driver)) {
1228
+ select += `/*+ MAX_EXECUTION_TIME(${this.expressionMap.maxExecutionTime}) */ `;
1229
+ }
1230
+ }
1231
+ if (DriverUtils_1.DriverUtils.isPostgresFamily(driver) &&
1232
+ selectDistinctOn.length > 0) {
1233
+ const selectDistinctOnMap = selectDistinctOn.join(", ");
1234
+ select = `SELECT DISTINCT ON (${selectDistinctOnMap}) `;
1235
+ }
1236
+ else if (selectDistinct) {
1237
+ select = "SELECT DISTINCT ";
1238
+ }
1239
+ return select;
1240
+ }
1241
+ /**
1242
+ * Creates "JOIN" part of SQL query.
1243
+ *
1244
+ * @example
1245
+ * // select from owning side
1246
+ * qb.select("post")
1247
+ * .leftJoinAndSelect("post.category", "category")
1248
+ *
1249
+ * @example
1250
+ * // select from non-owning side
1251
+ * qb.select("category")
1252
+ * .leftJoinAndSelect("category.post", "post")
1253
+ *
1254
+ */
1255
+ createJoinExpression() {
1256
+ // preprocess join attributes by nesting them when necessary
1257
+ const joinAttributeTrees = this.expressionMap.joinAttributes.reduce(({ trees, mappedTrees }, joinAttribute) => {
1258
+ const destinationTableAlias = joinAttribute.alias.name;
1259
+ const existingTree = joinAttribute.parentAlias
1260
+ ? mappedTrees[joinAttribute.parentAlias]
1261
+ : undefined;
1262
+ const joinAttributeTree = {
1263
+ children: [],
1264
+ joinAttribute,
1265
+ };
1266
+ if (existingTree) {
1267
+ existingTree.children.push(joinAttributeTree);
1268
+ }
1269
+ else {
1270
+ trees.push(joinAttributeTree);
1271
+ }
1272
+ mappedTrees[destinationTableAlias] = joinAttributeTree;
1273
+ return { trees, mappedTrees };
1274
+ }, { trees: [], mappedTrees: {} });
1275
+ const joinStatements = joinAttributeTrees.trees.map((joinTree) => {
1276
+ return this.createJoinTreeRecursively(joinTree);
1277
+ });
1278
+ return joinStatements.join(" ");
1279
+ }
1280
+ createJoinTreeRecursively({ children, joinAttribute: joinAttr, }) {
1281
+ const relation = joinAttr.relation;
1282
+ const destinationTableName = joinAttr.tablePath;
1283
+ const destinationTableAlias = joinAttr.alias.name;
1284
+ let appendedCondition = joinAttr.condition
1285
+ ? " AND (" + joinAttr.condition + ")"
1286
+ : "";
1287
+ const parentAlias = joinAttr.parentAlias;
1288
+ const childJoins = (children || [])
1289
+ .map((joinTreeChild) => {
1290
+ return this.createJoinTreeRecursively(joinTreeChild);
1291
+ })
1292
+ .join(" ");
1293
+ // nesting is only needed to stop an inner child join from filtering out the rows its outer parent
1294
+ // preserves. In every other combination the flat form is equivalent and leaves join order to the planner.
1295
+ const nestChildJoins = joinAttr.direction === "LEFT" &&
1296
+ (children || []).some((joinTreeChild) => joinTreeChild.joinAttribute.direction === "INNER");
1297
+ // if join was build without relation (e.g. without "post.category") then it means that we have direct
1298
+ // table to join, without junction table involved. This means we simply join direct table.
1299
+ if (!parentAlias || !relation) {
1300
+ const destinationJoin = joinAttr.alias.subQuery ??
1301
+ this.getTableName(destinationTableName);
1302
+ return this.buildJoinClause(joinAttr.direction, destinationJoin, destinationTableAlias, joinAttr.condition ?? "", childJoins, nestChildJoins);
1303
+ }
1304
+ // if real entity relation is involved
1305
+ if (relation.isManyToOne || relation.isOneToOneOwner) {
1306
+ // JOIN `category` `category` ON `category`.`id` = `post`.`categoryId`
1307
+ const condition = relation.joinColumns
1308
+ .map((joinColumn) => {
1309
+ return (destinationTableAlias +
1310
+ "." +
1311
+ joinColumn.referencedColumn.propertyPath +
1312
+ "=" +
1313
+ parentAlias +
1314
+ "." +
1315
+ relation.propertyPath +
1316
+ "." +
1317
+ joinColumn.referencedColumn.propertyPath);
1318
+ })
1319
+ .join(" AND ");
1320
+ return this.buildJoinClause(joinAttr.direction, this.getTableName(destinationTableName), destinationTableAlias, condition + appendedCondition, childJoins, nestChildJoins);
1321
+ }
1322
+ else if (relation.isOneToMany || relation.isOneToOneNotOwner) {
1323
+ // JOIN `post` `post` ON `post`.`categoryId` = `category`.`id`
1324
+ const condition = relation
1325
+ .inverseRelation.joinColumns.map((joinColumn) => {
1326
+ if (relation.inverseEntityMetadata.tableType ===
1327
+ "entity-child" &&
1328
+ relation.inverseEntityMetadata.discriminatorColumn) {
1329
+ appendedCondition +=
1330
+ " AND " +
1331
+ destinationTableAlias +
1332
+ "." +
1333
+ relation.inverseEntityMetadata.discriminatorColumn
1334
+ .databaseName +
1335
+ "='" +
1336
+ relation.inverseEntityMetadata.discriminatorValue +
1337
+ "'";
1338
+ }
1339
+ return (destinationTableAlias +
1340
+ "." +
1341
+ relation.inverseRelation.propertyPath +
1342
+ "." +
1343
+ joinColumn.referencedColumn.propertyPath +
1344
+ "=" +
1345
+ parentAlias +
1346
+ "." +
1347
+ joinColumn.referencedColumn.propertyPath);
1348
+ })
1349
+ .join(" AND ");
1350
+ if (!condition)
1351
+ throw new error_1.TypeORMError(`Relation ${relation.entityMetadata.name}.${relation.propertyName} does not have join columns.`);
1352
+ return this.buildJoinClause(joinAttr.direction, this.getTableName(destinationTableName), destinationTableAlias, condition + appendedCondition, childJoins, nestChildJoins);
1353
+ }
1354
+ else {
1355
+ // means many-to-many
1356
+ const junctionTableName = relation.junctionEntityMetadata.tablePath;
1357
+ const junctionAlias = joinAttr.junctionAlias;
1358
+ let junctionCondition = "", destinationCondition = "";
1359
+ if (relation.isOwning) {
1360
+ junctionCondition = relation.joinColumns
1361
+ .map((joinColumn) => {
1362
+ // `post_category`.`postId` = `post`.`id`
1363
+ return (junctionAlias +
1364
+ "." +
1365
+ joinColumn.propertyPath +
1366
+ "=" +
1367
+ parentAlias +
1368
+ "." +
1369
+ joinColumn.referencedColumn.propertyPath);
1370
+ })
1371
+ .join(" AND ");
1372
+ destinationCondition = relation.inverseJoinColumns
1373
+ .map((joinColumn) => {
1374
+ // `category`.`id` = `post_category`.`categoryId`
1375
+ return (destinationTableAlias +
1376
+ "." +
1377
+ joinColumn.referencedColumn.propertyPath +
1378
+ "=" +
1379
+ junctionAlias +
1380
+ "." +
1381
+ joinColumn.propertyPath);
1382
+ })
1383
+ .join(" AND ");
1384
+ }
1385
+ else {
1386
+ junctionCondition = relation
1387
+ .inverseRelation.inverseJoinColumns.map((joinColumn) => {
1388
+ // `post_category`.`categoryId` = `category`.`id`
1389
+ return (junctionAlias +
1390
+ "." +
1391
+ joinColumn.propertyPath +
1392
+ "=" +
1393
+ parentAlias +
1394
+ "." +
1395
+ joinColumn.referencedColumn.propertyPath);
1396
+ })
1397
+ .join(" AND ");
1398
+ destinationCondition = relation
1399
+ .inverseRelation.joinColumns.map((joinColumn) => {
1400
+ // `post`.`id` = `post_category`.`postId`
1401
+ return (destinationTableAlias +
1402
+ "." +
1403
+ joinColumn.referencedColumn.propertyPath +
1404
+ "=" +
1405
+ junctionAlias +
1406
+ "." +
1407
+ joinColumn.propertyPath);
1408
+ })
1409
+ .join(" AND ");
1410
+ }
1411
+ return (this.buildJoinClause(joinAttr.direction, this.getTableName(junctionTableName), junctionAlias, junctionCondition) +
1412
+ this.buildJoinClause(joinAttr.direction, this.getTableName(destinationTableName), destinationTableAlias, destinationCondition + appendedCondition, childJoins, nestChildJoins));
1413
+ }
1414
+ }
1415
+ buildJoinClause(direction, tableName, alias, condition, childJoins = "", nestChildJoins = false) {
1416
+ const joinedTable = nestChildJoins
1417
+ ? "(" + tableName + " " + this.escape(alias) + childJoins + ")"
1418
+ : tableName + " " + this.escape(alias);
1419
+ return (" " +
1420
+ direction +
1421
+ " JOIN " +
1422
+ joinedTable +
1423
+ this.createTableLockExpression() +
1424
+ (condition ? " ON " + condition : "") +
1425
+ (nestChildJoins ? "" : childJoins));
1426
+ }
1427
+ /**
1428
+ * Creates "GROUP BY" part of SQL query.
1429
+ */
1430
+ createGroupByExpression() {
1431
+ if (!this.expressionMap.groupBys?.length)
1432
+ return "";
1433
+ return " GROUP BY " + this.expressionMap.groupBys.join(", ");
1434
+ }
1435
+ /**
1436
+ * Creates "ORDER BY" part of SQL query.
1437
+ */
1438
+ createOrderByExpression() {
1439
+ const orderBys = this.expressionMap.allOrderBys;
1440
+ if (Object.keys(orderBys).length === 0)
1441
+ return "";
1442
+ return (" ORDER BY " +
1443
+ Object.keys(orderBys)
1444
+ .map((columnName) => {
1445
+ const orderValue = typeof orderBys[columnName] === "string"
1446
+ ? orderBys[columnName]
1447
+ : orderBys[columnName].order +
1448
+ " " +
1449
+ orderBys[columnName].nulls;
1450
+ if (/[;'"\\]/.test(orderValue))
1451
+ throw new error_1.TypeORMError(`Unsafe order-by value "${orderValue}" for "${columnName}".`);
1452
+ const selectionByAlias = this.expressionMap.selects.find((s) => s.aliasName === columnName);
1453
+ if (selectionByAlias) {
1454
+ return this.escape(columnName) + " " + orderValue;
1455
+ }
1456
+ const selection = this.expressionMap.selects.find((s) => s.selection === columnName);
1457
+ if (selection &&
1458
+ !selection.aliasName &&
1459
+ columnName.indexOf(".") !== -1) {
1460
+ const criteriaParts = columnName.split(".");
1461
+ const aliasName = criteriaParts[0];
1462
+ const propertyPath = criteriaParts.slice(1).join(".");
1463
+ const alias = this.expressionMap.aliases.find((alias) => alias.name === aliasName);
1464
+ if (alias?.hasMetadata) {
1465
+ const column = alias.metadata.findColumnWithPropertyPath(propertyPath);
1466
+ if (column) {
1467
+ const orderAlias = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, aliasName, column.databaseName);
1468
+ return (this.escape(orderAlias) + " " + orderValue);
1469
+ }
1470
+ }
1471
+ }
1472
+ return columnName + " " + orderValue;
1473
+ })
1474
+ .join(", "));
1475
+ }
1476
+ /**
1477
+ * Creates "LIMIT" and "OFFSET" parts of SQL query.
1478
+ */
1479
+ createLimitOffsetExpression() {
1480
+ // in the case if nothing is joined in the query builder we don't need to make two requests to get paginated results
1481
+ // we can use regular limit / offset, that's why we add offset and limit construction here based on skip and take values
1482
+ let offset = this.expressionMap.offset, limit = this.expressionMap.limit;
1483
+ if (offset === undefined &&
1484
+ limit === undefined &&
1485
+ this.expressionMap.joinAttributes.length === 0) {
1486
+ offset = this.expressionMap.skip;
1487
+ limit = this.expressionMap.take;
1488
+ }
1489
+ // Helper functions to check if values are set (including 0)
1490
+ const hasLimit = limit !== undefined && limit !== null;
1491
+ const hasOffset = offset !== undefined && offset !== null;
1492
+ if (this.dataSource.driver.options.type === "mssql") {
1493
+ // Due to a limitation in SQL Server's parser implementation it does not support using
1494
+ // OFFSET or FETCH NEXT without an ORDER BY clause being provided. In cases where the
1495
+ // user does not request one we insert a dummy ORDER BY that does nothing and should
1496
+ // have no effect on the query planner or on the order of the results returned.
1497
+ // https://dba.stackexchange.com/a/193799
1498
+ let prefix = "";
1499
+ if ((hasLimit || hasOffset) &&
1500
+ Object.keys(this.expressionMap.allOrderBys).length <= 0) {
1501
+ prefix = " ORDER BY (SELECT NULL)";
1502
+ }
1503
+ if (hasLimit && hasOffset)
1504
+ return (prefix +
1505
+ " OFFSET " +
1506
+ offset +
1507
+ " ROWS FETCH NEXT " +
1508
+ limit +
1509
+ " ROWS ONLY");
1510
+ if (hasLimit)
1511
+ return (prefix + " OFFSET 0 ROWS FETCH NEXT " + limit + " ROWS ONLY");
1512
+ if (hasOffset)
1513
+ return prefix + " OFFSET " + offset + " ROWS";
1514
+ }
1515
+ else if (DriverUtils_1.DriverUtils.isMySQLFamily(this.dataSource.driver) ||
1516
+ this.dataSource.driver.options.type === "aurora-mysql" ||
1517
+ this.dataSource.driver.options.type === "sap" ||
1518
+ this.dataSource.driver.options.type === "spanner") {
1519
+ if (hasLimit && hasOffset)
1520
+ return " LIMIT " + limit + " OFFSET " + offset;
1521
+ if (hasLimit)
1522
+ return " LIMIT " + limit;
1523
+ if (hasOffset)
1524
+ throw new OffsetWithoutLimitNotSupportedError_1.OffsetWithoutLimitNotSupportedError();
1525
+ }
1526
+ else if (DriverUtils_1.DriverUtils.isSQLiteFamily(this.dataSource.driver)) {
1527
+ if (hasLimit && hasOffset)
1528
+ return " LIMIT " + limit + " OFFSET " + offset;
1529
+ if (hasLimit)
1530
+ return " LIMIT " + limit;
1531
+ if (hasOffset)
1532
+ return " LIMIT -1 OFFSET " + offset;
1533
+ }
1534
+ else if (this.dataSource.driver.options.type === "oracle") {
1535
+ if (hasLimit && hasOffset)
1536
+ return (" OFFSET " +
1537
+ offset +
1538
+ " ROWS FETCH NEXT " +
1539
+ limit +
1540
+ " ROWS ONLY");
1541
+ if (hasLimit)
1542
+ return " FETCH NEXT " + limit + " ROWS ONLY";
1543
+ if (hasOffset)
1544
+ return " OFFSET " + offset + " ROWS";
1545
+ }
1546
+ else {
1547
+ if (hasLimit && hasOffset)
1548
+ return " LIMIT " + limit + " OFFSET " + offset;
1549
+ if (hasLimit)
1550
+ return " LIMIT " + limit;
1551
+ if (hasOffset)
1552
+ return " OFFSET " + offset;
1553
+ }
1554
+ return "";
1555
+ }
1556
+ /**
1557
+ * Creates "LOCK" part of SELECT Query after table Clause
1558
+ * ex.
1559
+ * SELECT 1
1560
+ * FROM USER U WITH (NOLOCK)
1561
+ * JOIN ORDER O WITH (NOLOCK)
1562
+ * ON U.ID=O.OrderID
1563
+ */
1564
+ createTableLockExpression() {
1565
+ if (this.dataSource.driver.options.type === "mssql") {
1566
+ switch (this.expressionMap.lockMode) {
1567
+ case "pessimistic_read":
1568
+ return " WITH (HOLDLOCK, ROWLOCK)";
1569
+ case "pessimistic_write":
1570
+ return " WITH (UPDLOCK, ROWLOCK)";
1571
+ case "dirty_read":
1572
+ return " WITH (NOLOCK)";
1573
+ }
1574
+ }
1575
+ return "";
1576
+ }
1577
+ /**
1578
+ * @returns "LOCK" part of SQL query
1579
+ */
1580
+ createLockExpression() {
1581
+ const driver = this.dataSource.driver;
1582
+ let lockTablesClause = "";
1583
+ if (this.expressionMap.lockTables) {
1584
+ if (!DriverUtils_1.DriverUtils.isPostgresFamily(driver)) {
1585
+ throw new error_1.TypeORMError("Lock tables not supported in selected driver");
1586
+ }
1587
+ if (this.expressionMap.lockTables.length < 1) {
1588
+ throw new error_1.TypeORMError("lockTables cannot be an empty array");
1589
+ }
1590
+ lockTablesClause = " OF " + this.expressionMap.lockTables.join(", ");
1591
+ }
1592
+ let onLockExpression = "";
1593
+ if (this.expressionMap.onLocked === "nowait") {
1594
+ onLockExpression = " NOWAIT";
1595
+ }
1596
+ else if (this.expressionMap.onLocked === "skip_locked") {
1597
+ if (driver.options.type === "sap") {
1598
+ onLockExpression = " IGNORE LOCKED";
1599
+ }
1600
+ else {
1601
+ onLockExpression = " SKIP LOCKED";
1602
+ }
1603
+ }
1604
+ switch (this.expressionMap.lockMode) {
1605
+ case "pessimistic_read":
1606
+ if (driver.options.type === "mysql" ||
1607
+ driver.options.type === "aurora-mysql") {
1608
+ if (DriverUtils_1.DriverUtils.isReleaseVersionOrGreater(driver, "8.0.0")) {
1609
+ return (" FOR SHARE" + lockTablesClause + onLockExpression);
1610
+ }
1611
+ else {
1612
+ return " LOCK IN SHARE MODE";
1613
+ }
1614
+ }
1615
+ else if (driver.options.type === "mariadb") {
1616
+ return " LOCK IN SHARE MODE";
1617
+ }
1618
+ else if (DriverUtils_1.DriverUtils.isPostgresFamily(driver)) {
1619
+ return " FOR SHARE" + lockTablesClause + onLockExpression;
1620
+ }
1621
+ else if (driver.options.type === "sap") {
1622
+ return (" FOR SHARE LOCK" + lockTablesClause + onLockExpression);
1623
+ }
1624
+ else if (driver.options.type === "oracle") {
1625
+ return " FOR UPDATE";
1626
+ }
1627
+ else if (driver.options.type === "mssql") {
1628
+ return "";
1629
+ }
1630
+ else {
1631
+ throw new LockNotSupportedOnGivenDriverError_1.LockNotSupportedOnGivenDriverError();
1632
+ }
1633
+ case "pessimistic_write":
1634
+ if (DriverUtils_1.DriverUtils.isMySQLFamily(driver) ||
1635
+ driver.options.type === "aurora-mysql" ||
1636
+ driver.options.type === "oracle") {
1637
+ return " FOR UPDATE" + onLockExpression;
1638
+ }
1639
+ else if (DriverUtils_1.DriverUtils.isPostgresFamily(driver) ||
1640
+ driver.options.type === "sap") {
1641
+ return " FOR UPDATE" + lockTablesClause + onLockExpression;
1642
+ }
1643
+ else if (driver.options.type === "mssql") {
1644
+ return "";
1645
+ }
1646
+ else {
1647
+ throw new LockNotSupportedOnGivenDriverError_1.LockNotSupportedOnGivenDriverError();
1648
+ }
1649
+ case "for_no_key_update":
1650
+ if (DriverUtils_1.DriverUtils.isPostgresFamily(driver)) {
1651
+ return (" FOR NO KEY UPDATE" +
1652
+ lockTablesClause +
1653
+ onLockExpression);
1654
+ }
1655
+ else {
1656
+ throw new LockNotSupportedOnGivenDriverError_1.LockNotSupportedOnGivenDriverError();
1657
+ }
1658
+ case "for_key_share":
1659
+ if (DriverUtils_1.DriverUtils.isPostgresFamily(driver)) {
1660
+ return (" FOR KEY SHARE" + lockTablesClause + onLockExpression);
1661
+ }
1662
+ else {
1663
+ throw new LockNotSupportedOnGivenDriverError_1.LockNotSupportedOnGivenDriverError();
1664
+ }
1665
+ default:
1666
+ return "";
1667
+ }
1668
+ }
1669
+ /**
1670
+ * Creates "HAVING" part of SQL query.
1671
+ */
1672
+ createHavingExpression() {
1673
+ if (!this.expressionMap.havings?.length)
1674
+ return "";
1675
+ const conditions = this.expressionMap.havings
1676
+ .map((having, index) => {
1677
+ switch (having.type) {
1678
+ case "and":
1679
+ return (index > 0 ? "AND " : "") + having.condition;
1680
+ case "or":
1681
+ return (index > 0 ? "OR " : "") + having.condition;
1682
+ default:
1683
+ return having.condition;
1684
+ }
1685
+ })
1686
+ .join(" ");
1687
+ if (!conditions.length)
1688
+ return "";
1689
+ return " HAVING " + conditions;
1690
+ }
1691
+ buildEscapedEntityColumnSelects(aliasName, metadata) {
1692
+ const hasMainAlias = this.expressionMap.selects.some((select) => select.selection === aliasName);
1693
+ const columns = [];
1694
+ if (hasMainAlias) {
1695
+ columns.push(...metadata.columns.filter((column) => column.isSelect === true));
1696
+ }
1697
+ const columnsMap = new Map(metadata.columns.map((col) => [
1698
+ `${aliasName}.${col.propertyPath}`,
1699
+ col,
1700
+ ]));
1701
+ columns.push(...this.expressionMap.selects
1702
+ .map((select) => columnsMap.get(select.selection))
1703
+ .filter((col) => !!col));
1704
+ // if user used partial selection and did not select some primary columns which are required to be selected
1705
+ // we select those primary columns and mark them as "virtual". Later virtual column values will be removed from final entity
1706
+ // to make entity contain exactly what user selected
1707
+ if (columns.length === 0)
1708
+ // however not in the case when nothing (even partial) was selected from this target (for example joins without selection)
1709
+ return [];
1710
+ const nonSelectedPrimaryColumns = this.expressionMap.queryEntity
1711
+ ? metadata.primaryColumns.filter((primaryColumn) => columns.indexOf(primaryColumn) === -1)
1712
+ : [];
1713
+ const allColumns = [...columns, ...nonSelectedPrimaryColumns];
1714
+ const finalSelects = [];
1715
+ allColumns.forEach((column) => {
1716
+ const selectionPath = this.buildColumnSelectionExpression(aliasName, column);
1717
+ const selections = this.expressionMap.selects.filter((select) => select.selection === aliasName + "." + column.propertyPath);
1718
+ if (selections.length) {
1719
+ selections.forEach((selection) => {
1720
+ finalSelects.push({
1721
+ selection: selectionPath,
1722
+ aliasName: selection.aliasName ??
1723
+ DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, aliasName, column.databaseName),
1724
+ // todo: need to keep in mind that custom selection.aliasName breaks hydrator. fix it later!
1725
+ virtual: selection.virtual,
1726
+ });
1727
+ });
1728
+ }
1729
+ else {
1730
+ finalSelects.push({
1731
+ selection: selectionPath,
1732
+ aliasName: DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, aliasName, column.databaseName),
1733
+ // todo: need to keep in mind that custom selection.aliasName breaks hydrator. fix it later!
1734
+ virtual: hasMainAlias,
1735
+ });
1736
+ }
1737
+ });
1738
+ return finalSelects;
1739
+ }
1740
+ buildColumnSelectionExpression(aliasName, column, includeHydrationTransform = true) {
1741
+ const escapedAliasName = this.escape(aliasName);
1742
+ let selectionPath = escapedAliasName + "." + this.escape(column.databaseName);
1743
+ if (column.isVirtualProperty && column.query) {
1744
+ selectionPath = `(${column.query(escapedAliasName)})`;
1745
+ }
1746
+ if (DriverUtils_1.DriverUtils.isSQLiteFamily(this.dataSource.driver) &&
1747
+ includeHydrationTransform) {
1748
+ selectionPath = this.dataSource.driver.wrapWithJsonFunction(selectionPath, column, false);
1749
+ }
1750
+ if (this.dataSource.driver.spatialTypes.indexOf(column.type) !== -1) {
1751
+ if ((DriverUtils_1.DriverUtils.isMySQLFamily(this.dataSource.driver) ||
1752
+ this.dataSource.driver.options.type === "aurora-mysql") &&
1753
+ includeHydrationTransform) {
1754
+ const useLegacy = this.dataSource.driver.options.legacySpatialSupport;
1755
+ const asText = useLegacy ? "AsText" : "ST_AsText";
1756
+ selectionPath = `${asText}(${selectionPath})`;
1757
+ }
1758
+ if (DriverUtils_1.DriverUtils.isPostgresFamily(this.dataSource.driver) &&
1759
+ includeHydrationTransform)
1760
+ if (column.precision) {
1761
+ // cast to JSON to trigger parsing in the driver
1762
+ selectionPath = `ST_AsGeoJSON(${selectionPath}, ${column.precision})::json`;
1763
+ }
1764
+ else {
1765
+ selectionPath = `ST_AsGeoJSON(${selectionPath})::json`;
1766
+ }
1767
+ if (this.dataSource.driver.options.type === "mssql")
1768
+ selectionPath = `${selectionPath}.ToString()`;
1769
+ }
1770
+ return selectionPath;
1771
+ }
1772
+ findEntityColumnSelects(aliasName, metadata) {
1773
+ return this.expressionMap.selects.filter((select) => select.selection === aliasName ||
1774
+ metadata.columns.some((column) => select.selection ===
1775
+ aliasName + "." + column.propertyPath));
1776
+ }
1777
+ computeCountExpression() {
1778
+ const mainAlias = this.expressionMap.mainAlias.name; // todo: will this work with "fromTableName"?
1779
+ const metadata = this.expressionMap.mainAlias.metadata;
1780
+ const primaryColumns = metadata.primaryColumns;
1781
+ const selectedColumns = [];
1782
+ if (this.findOptions.select) {
1783
+ selectedColumns.push(...this.computeSelectedColumnExpressions());
1784
+ }
1785
+ if (selectedColumns.length > 0) {
1786
+ return this.computeDistinctCountExpression(selectedColumns);
1787
+ }
1788
+ // If we aren't doing anything that will create a join, we can use a simpler `COUNT` instead
1789
+ // so we prevent poor query patterns in the most likely cases
1790
+ if (this.expressionMap.joinAttributes.length === 0 &&
1791
+ this.expressionMap.relationIdAttributes.length === 0) {
1792
+ return "COUNT(1)";
1793
+ }
1794
+ // For everything else, we'll need to do some hackery to get the correct count values.
1795
+ return this.computeDistinctCountExpression(primaryColumns.map((column) => `${this.escape(mainAlias)}.${this.escape(column.databaseName)}`));
1796
+ }
1797
+ computeSelectedColumnExpressions() {
1798
+ const selectedColumns = new Set();
1799
+ this.expressionMap.selects.forEach((select) => {
1800
+ const criteriaParts = select.selection.split(".");
1801
+ if (criteriaParts.length < 2)
1802
+ return;
1803
+ const aliasName = criteriaParts[0];
1804
+ const propertyPath = criteriaParts.slice(1).join(".");
1805
+ const alias = this.expressionMap.aliases.find((queryAlias) => queryAlias.name === aliasName && queryAlias.hasMetadata);
1806
+ if (!alias)
1807
+ return;
1808
+ const column = alias.metadata.findColumnWithPropertyPath(propertyPath);
1809
+ if (!column)
1810
+ return;
1811
+ selectedColumns.add(this.buildColumnSelectionExpression(aliasName, column, false));
1812
+ });
1813
+ return Array.from(selectedColumns);
1814
+ }
1815
+ computeDistinctCountExpression(columns) {
1816
+ if (this.dataSource.driver.options.type === "cockroachdb" ||
1817
+ DriverUtils_1.DriverUtils.isPostgresFamily(this.dataSource.driver)) {
1818
+ // Postgres and CockroachDB can pass multiple parameters to the `DISTINCT` function
1819
+ // https://www.postgresql.org/docs/9.5/sql-select.html#SQL-DISTINCT
1820
+ return "COUNT(DISTINCT(" + columns.join(", ") + "))";
1821
+ }
1822
+ if (DriverUtils_1.DriverUtils.isMySQLFamily(this.dataSource.driver)) {
1823
+ // MySQL & MariaDB can pass multiple parameters to the `DISTINCT` language construct
1824
+ // https://mariadb.com/kb/en/count-distinct/
1825
+ return "COUNT(DISTINCT " + columns.join(", ") + ")";
1826
+ }
1827
+ if (this.dataSource.driver.options.type === "mssql") {
1828
+ // SQL Server has gotta be different from everyone else. They don't support
1829
+ // distinct counting multiple columns & they don't have the same operator
1830
+ // characteristic for concatenating, so we gotta use the `CONCAT` function.
1831
+ // However, If it's exactly 1 column we can omit the `CONCAT` for better performance.
1832
+ const columnsExpression = columns.join(", '|;|', ");
1833
+ if (columns.length === 1) {
1834
+ return `COUNT(DISTINCT(${columnsExpression}))`;
1835
+ }
1836
+ return `COUNT(DISTINCT(CONCAT(${columnsExpression})))`;
1837
+ }
1838
+ if (this.dataSource.driver.options.type === "spanner") {
1839
+ // spanner also has gotta be different from everyone else.
1840
+ // they do not support concatenation of different column types without casting them to string
1841
+ if (columns.length === 1) {
1842
+ return `COUNT(DISTINCT(${columns[0]}))`;
1843
+ }
1844
+ const columnsExpression = columns
1845
+ .map((column) => `CAST(${column} AS STRING)`)
1846
+ .join(", '|;|', ");
1847
+ return `COUNT(DISTINCT(CONCAT(${columnsExpression})))`;
1848
+ }
1849
+ // If all else fails, fall back to a `COUNT` and `DISTINCT` across all the primary columns concatenated.
1850
+ // Per the SQL spec, this is the canonical string concatenation mechanism which is most
1851
+ // likely to work across servers implementing the SQL standard.
1852
+ // Please note, if there is only one primary column that the concatenation does not occur in this
1853
+ // query and the query is a standard `COUNT DISTINCT` in that case.
1854
+ return `COUNT(DISTINCT(` + columns.join(" || '|;|' || ") + "))";
1855
+ }
1856
+ async executeCountQuery(queryRunner) {
1857
+ const countSql = this.computeCountExpression();
1858
+ const results = await this.clone()
1859
+ .orderBy()
1860
+ .groupBy()
1861
+ .offset(undefined)
1862
+ .limit(undefined)
1863
+ .skip(undefined)
1864
+ .take(undefined)
1865
+ .select(countSql, "cnt")
1866
+ .setOption("disable-global-order")
1867
+ .loadRawResults(queryRunner);
1868
+ if (!results?.[0]?.["cnt"])
1869
+ return 0;
1870
+ return parseInt(results[0]["cnt"]);
1871
+ }
1872
+ async executeExistsQuery(queryRunner) {
1873
+ const results = await this.dataSource
1874
+ .createQueryBuilder()
1875
+ .fromDummy()
1876
+ .select("1", "row_exists")
1877
+ .whereExists(this)
1878
+ .limit(1)
1879
+ .loadRawResults(queryRunner);
1880
+ return results.length > 0;
1881
+ }
1882
+ applyFindOptions() {
1883
+ // todo: convert relations: string[] to object map to simplify code
1884
+ // todo: same with selects
1885
+ if (this.expressionMap.mainAlias.metadata) {
1886
+ if (this.findOptions.relationLoadStrategy) {
1887
+ this.expressionMap.relationLoadStrategy =
1888
+ this.findOptions.relationLoadStrategy;
1889
+ }
1890
+ if (this.findOptions.comment) {
1891
+ this.comment(this.findOptions.comment);
1892
+ }
1893
+ if (this.findOptions.withDeleted) {
1894
+ this.withDeleted();
1895
+ }
1896
+ if (this.findOptions.select) {
1897
+ this.buildSelect(this.findOptions.select, this.expressionMap.mainAlias.metadata, this.expressionMap.mainAlias.name);
1898
+ }
1899
+ if (this.selects.length) {
1900
+ this.select(this.selects);
1901
+ }
1902
+ this.selects = [];
1903
+ if (this.findOptions.relations) {
1904
+ this.buildRelations(this.findOptions.relations, this.findOptions.select, this.expressionMap.mainAlias.metadata, this.expressionMap.mainAlias.name);
1905
+ if (this.findOptions.loadEagerRelations !== false &&
1906
+ this.expressionMap.relationLoadStrategy === "join") {
1907
+ this.buildEagerRelations(this.findOptions.relations, this.findOptions.select, this.expressionMap.mainAlias.metadata, this.expressionMap.mainAlias.name);
1908
+ }
1909
+ }
1910
+ if (this.selects.length) {
1911
+ this.addSelect(this.selects);
1912
+ }
1913
+ if (this.findOptions.where) {
1914
+ this.conditions = this.buildWhere(this.findOptions.where, this.expressionMap.mainAlias.metadata, this.expressionMap.mainAlias.name);
1915
+ if (this.conditions.length)
1916
+ this.andWhere(this.conditions.startsWith("(")
1917
+ ? this.conditions
1918
+ : `(${this.conditions})`); // temporary and where and braces
1919
+ }
1920
+ if (this.findOptions.order) {
1921
+ this.buildOrder(this.findOptions.order, this.expressionMap.mainAlias.metadata, this.expressionMap.mainAlias.name);
1922
+ }
1923
+ // apply joins
1924
+ if (this.joins.length) {
1925
+ this.joins.forEach((join) => {
1926
+ if (join.select && !join.selection) {
1927
+ // if (join.selection) {
1928
+ //
1929
+ // } else {
1930
+ if (join.type === "inner") {
1931
+ this.innerJoinAndSelect(`${join.parentAlias}.${join.relationMetadata.propertyPath}`, join.alias);
1932
+ }
1933
+ else {
1934
+ this.leftJoinAndSelect(`${join.parentAlias}.${join.relationMetadata.propertyPath}`, join.alias);
1935
+ }
1936
+ // }
1937
+ }
1938
+ else {
1939
+ if (join.type === "inner") {
1940
+ this.innerJoin(`${join.parentAlias}.${join.relationMetadata.propertyPath}`, join.alias);
1941
+ }
1942
+ else {
1943
+ this.leftJoin(`${join.parentAlias}.${join.relationMetadata.propertyPath}`, join.alias);
1944
+ }
1945
+ }
1946
+ // if (join.select) {
1947
+ // if (this.findOptions.loadEagerRelations !== false) {
1948
+ // FindOptionsUtils.joinEagerRelations(
1949
+ // this,
1950
+ // join.alias,
1951
+ // join.relationMetadata.inverseEntityMetadata
1952
+ // );
1953
+ // }
1954
+ // }
1955
+ });
1956
+ }
1957
+ // if (this.conditions.length) {
1958
+ // this.where(this.conditions.join(" AND "));
1959
+ // }
1960
+ // apply offset
1961
+ if (this.findOptions.skip !== undefined) {
1962
+ // if (this.findOptions.options && this.findOptions.options.pagination === false) {
1963
+ // this.offset(this.findOptions.skip);
1964
+ // } else {
1965
+ this.skip(this.findOptions.skip);
1966
+ // }
1967
+ }
1968
+ // apply limit
1969
+ if (this.findOptions.take !== undefined) {
1970
+ // if (this.findOptions.options && this.findOptions.options.pagination === false) {
1971
+ // this.limit(this.findOptions.take);
1972
+ // } else {
1973
+ this.take(this.findOptions.take);
1974
+ // }
1975
+ }
1976
+ // apply caching options
1977
+ if (typeof this.findOptions.cache === "number") {
1978
+ this.cache(this.findOptions.cache);
1979
+ }
1980
+ else if (typeof this.findOptions.cache === "boolean") {
1981
+ this.cache(this.findOptions.cache);
1982
+ }
1983
+ else if (typeof this.findOptions.cache === "object") {
1984
+ this.cache(this.findOptions.cache.id, this.findOptions.cache.milliseconds);
1985
+ }
1986
+ if (this.findOptions.lock) {
1987
+ if (this.findOptions.lock.mode === "optimistic") {
1988
+ this.setLock(this.findOptions.lock.mode, this.findOptions.lock.version);
1989
+ }
1990
+ else if (this.findOptions.lock.mode === "pessimistic_read" ||
1991
+ this.findOptions.lock.mode === "pessimistic_write" ||
1992
+ this.findOptions.lock.mode === "dirty_read" ||
1993
+ this.findOptions.lock.mode === "for_no_key_update" ||
1994
+ this.findOptions.lock.mode === "for_key_share") {
1995
+ const tableNames = this.findOptions.lock.tables
1996
+ ? this.findOptions.lock.tables.map((table) => {
1997
+ const tableAlias = this.expressionMap.aliases.find((alias) => {
1998
+ return (alias.metadata
1999
+ .tableNameWithoutPrefix === table);
2000
+ });
2001
+ if (!tableAlias) {
2002
+ throw new error_1.TypeORMError(`"${table}" is not part of this query`);
2003
+ }
2004
+ return this.escape(tableAlias.name);
2005
+ })
2006
+ : undefined;
2007
+ this.setLock(this.findOptions.lock.mode, undefined, tableNames);
2008
+ if (this.findOptions.lock.onLocked) {
2009
+ this.setOnLocked(this.findOptions.lock.onLocked);
2010
+ }
2011
+ }
2012
+ }
2013
+ if (this.findOptions.loadRelationIds === true) {
2014
+ this.loadAllRelationIds();
2015
+ }
2016
+ else if (typeof this.findOptions.loadRelationIds === "object") {
2017
+ this.loadAllRelationIds(this.findOptions.loadRelationIds);
2018
+ }
2019
+ if (this.findOptions.loadEagerRelations !== false &&
2020
+ this.expressionMap.mainAlias) {
2021
+ if (this.expressionMap.relationLoadStrategy === "join") {
2022
+ FindOptionsUtils_1.FindOptionsUtils.joinEagerRelations(this, this.expressionMap.mainAlias.name, this.expressionMap.mainAlias.metadata);
2023
+ }
2024
+ else if (this.expressionMap.relationLoadStrategy === "query") {
2025
+ this.concatRelationMetadata(...this.expressionMap.mainAlias.metadata.eagerRelations);
2026
+ }
2027
+ }
2028
+ if (this.findOptions.transaction === true) {
2029
+ this.expressionMap.useTransaction = true;
2030
+ }
2031
+ }
2032
+ }
2033
+ /**
2034
+ * Registers relation metadata for loading via separate queries when using
2035
+ * the "query" relation load strategy. Duplicates (by propertyPath) are
2036
+ * silently skipped.
2037
+ *
2038
+ * @param relationMetadata - one or more relation metadata entries to register
2039
+ */
2040
+ concatRelationMetadata(...relationMetadata) {
2041
+ const newRelationMetadata = relationMetadata.filter((metadata) => !this.relationMetadatas.some((existentMetadata) => existentMetadata.propertyPath === metadata.propertyPath));
2042
+ this.relationMetadatas.push(...newRelationMetadata);
2043
+ }
2044
+ /**
2045
+ * Executes sql generated by query builder and returns object with raw results and entities created from them.
2046
+ *
2047
+ * @param queryRunner
2048
+ */
2049
+ async executeEntitiesAndRawResults(queryRunner) {
2050
+ if (!this.expressionMap.mainAlias)
2051
+ throw new error_1.TypeORMError(`Alias is not set. Use "from" method to set an alias.`);
2052
+ if ((this.expressionMap.lockMode === "pessimistic_read" ||
2053
+ this.expressionMap.lockMode === "pessimistic_write" ||
2054
+ this.expressionMap.lockMode === "for_no_key_update" ||
2055
+ this.expressionMap.lockMode === "for_key_share") &&
2056
+ !queryRunner.isTransactionActive)
2057
+ throw new PessimisticLockTransactionRequiredError_1.PessimisticLockTransactionRequiredError();
2058
+ if (this.expressionMap.lockMode === "optimistic") {
2059
+ const metadata = this.expressionMap.mainAlias.metadata;
2060
+ if (!metadata.versionColumn && !metadata.updateDateColumn)
2061
+ throw new NoVersionOrUpdateDateColumnError_1.NoVersionOrUpdateDateColumnError(metadata.name);
2062
+ }
2063
+ const relationIdLoader = new RelationIdLoader_1.RelationIdLoader(this.dataSource, queryRunner, this.expressionMap.relationIdAttributes, this.expressionMap.withDeleted);
2064
+ const relationIdMetadataTransformer = new RelationIdMetadataToAttributeTransformer_1.RelationIdMetadataToAttributeTransformer(this.expressionMap);
2065
+ relationIdMetadataTransformer.transform();
2066
+ let rawResults, entities = [];
2067
+ // for pagination enabled (e.g. skip and take) its much more complicated - its a special process
2068
+ // where we make two queries to find the data we need
2069
+ // first query find ids in skip and take range
2070
+ // and second query loads the actual data in given ids range
2071
+ if ((this.expressionMap.skip || this.expressionMap.take) &&
2072
+ this.expressionMap.joinAttributes.length > 0) {
2073
+ // we are skipping order by here because its not working in subqueries anyway
2074
+ // to make order by working we need to apply it on a distinct query
2075
+ const [selects, orderBys] = this.createOrderByCombinedWithSelectExpression("distinctAlias");
2076
+ const metadata = this.expressionMap.mainAlias.metadata;
2077
+ const mainAliasName = this.expressionMap.mainAlias.name;
2078
+ const querySelects = metadata.primaryColumns.map((primaryColumn) => {
2079
+ const distinctAlias = this.escape("distinctAlias");
2080
+ const columnAlias = this.escape(DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, mainAliasName, primaryColumn.databaseName));
2081
+ if (!orderBys[columnAlias])
2082
+ // make sure we aren't overriding user-defined order in inverse direction
2083
+ orderBys[columnAlias] = "ASC";
2084
+ const alias = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, "ids_" + mainAliasName, primaryColumn.databaseName);
2085
+ return `${distinctAlias}.${columnAlias} AS ${this.escape(alias)}`;
2086
+ });
2087
+ const originalQuery = this.clone();
2088
+ // preserve original timeTravel value since we set it to "false" in subquery
2089
+ const originalQueryTimeTravel = originalQuery.expressionMap.timeTravel;
2090
+ const paginationQueryBuilder = new SelectQueryBuilder(this.dataSource, queryRunner)
2091
+ .select(`DISTINCT ${querySelects.join(", ")}`)
2092
+ .addSelect(selects)
2093
+ .from(`(${originalQuery
2094
+ .orderBy()
2095
+ .timeTravelQuery(false) // set it to "false" since time travel clause must appear at the very end and applies to the entire SELECT clause.
2096
+ .getQuery()})`, "distinctAlias")
2097
+ .timeTravelQuery(originalQueryTimeTravel)
2098
+ .offset(this.expressionMap.skip)
2099
+ .limit(this.expressionMap.take)
2100
+ .orderBy(orderBys)
2101
+ .cache(this.expressionMap.cache && this.expressionMap.cacheId
2102
+ ? `${this.expressionMap.cacheId}-pagination`
2103
+ : this.expressionMap.cache, this.expressionMap.cacheDuration)
2104
+ .setParameters(this.getParameters());
2105
+ rawResults = await paginationQueryBuilder.getRawMany();
2106
+ if (rawResults.length > 0) {
2107
+ let condition;
2108
+ const parameters = {};
2109
+ if (metadata.hasMultiplePrimaryKeys) {
2110
+ condition = rawResults
2111
+ .map((result, index) => {
2112
+ return metadata.primaryColumns
2113
+ .map((primaryColumn) => {
2114
+ const paramKey = `orm_distinct_ids_${index}_${primaryColumn.databaseName}`;
2115
+ const paramKeyResult = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, "ids_" + mainAliasName, primaryColumn.databaseName);
2116
+ parameters[paramKey] =
2117
+ result[paramKeyResult];
2118
+ return `${mainAliasName}.${primaryColumn.propertyPath}=:${paramKey}`;
2119
+ })
2120
+ .join(" AND ");
2121
+ })
2122
+ .join(" OR ");
2123
+ }
2124
+ else {
2125
+ const alias = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, "ids_" + mainAliasName, metadata.primaryColumns[0].databaseName);
2126
+ const ids = rawResults.map((result) => result[alias]);
2127
+ const areAllNumbers = ids.every((id) => typeof id === "number");
2128
+ if (areAllNumbers) {
2129
+ // fixes #190. if all numbers then its safe to perform query without parameter
2130
+ condition = `${mainAliasName}.${metadata.primaryColumns[0].propertyPath} IN (${ids.join(", ")})`;
2131
+ }
2132
+ else {
2133
+ parameters["orm_distinct_ids"] = ids;
2134
+ condition =
2135
+ mainAliasName +
2136
+ "." +
2137
+ metadata.primaryColumns[0].propertyPath +
2138
+ " IN (:...orm_distinct_ids)";
2139
+ }
2140
+ }
2141
+ rawResults = await this.clone()
2142
+ .mergeExpressionMap({
2143
+ extraAppendedAndWhereCondition: condition,
2144
+ })
2145
+ .setParameters(parameters)
2146
+ .loadRawResults(queryRunner);
2147
+ }
2148
+ }
2149
+ else {
2150
+ rawResults = await this.loadRawResults(queryRunner);
2151
+ }
2152
+ if (rawResults.length > 0) {
2153
+ // transform raw results into entities
2154
+ const rawRelationIdResults = await relationIdLoader.load(rawResults);
2155
+ const transformer = new RawSqlResultsToEntityTransformer_1.RawSqlResultsToEntityTransformer(this.expressionMap, this.dataSource.driver, rawRelationIdResults, this.queryRunner);
2156
+ entities = transformer.transform(rawResults, this.expressionMap.mainAlias);
2157
+ // broadcast all "after load" events
2158
+ if (this.expressionMap.callListeners === true &&
2159
+ this.expressionMap.mainAlias.hasMetadata) {
2160
+ await queryRunner.broadcaster.broadcast("Load", this.expressionMap.mainAlias.metadata, entities);
2161
+ }
2162
+ }
2163
+ if (this.expressionMap.relationLoadStrategy === "query") {
2164
+ const queryStrategyRelationIdLoader = new RelationIdLoader_2.RelationIdLoader(this.dataSource, queryRunner, this.findOptions.loadEagerRelations);
2165
+ const loadRelation = async (relation) => {
2166
+ // Prevent infinite recursion from circular eager
2167
+ // chains (e.g. A→B→C→A). Each branch maintains its
2168
+ // own visited set so parallel branches don't interfere.
2169
+ if (relation.isEager) {
2170
+ const targetEntity = relation.inverseEntityMetadata.tablePath;
2171
+ if (this.eagerLoadChain.has(targetEntity))
2172
+ return;
2173
+ }
2174
+ const relationTarget = relation.inverseEntityMetadata.target;
2175
+ const relationAlias = relation.inverseEntityMetadata.targetName;
2176
+ const queryBuilder = this.createQueryBuilder(queryRunner)
2177
+ .select(relationAlias)
2178
+ .from(relationTarget, relationAlias);
2179
+ // Propagate eager load chain with current entity
2180
+ // added, so the child detects cycles in its branch
2181
+ if (relation.isEager) {
2182
+ queryBuilder.eagerLoadChain = new Set(this.eagerLoadChain);
2183
+ queryBuilder.eagerLoadChain.add(relation.entityMetadata.tablePath);
2184
+ }
2185
+ queryBuilder.setFindOptions({
2186
+ select: this.findOptions.select
2187
+ ? OrmUtils_1.OrmUtils.deepValue(this.findOptions.select, relation.propertyPath)
2188
+ : undefined,
2189
+ order: this.findOptions.order
2190
+ ? OrmUtils_1.OrmUtils.deepValue(this.findOptions.order, relation.propertyPath)
2191
+ : undefined,
2192
+ relations: this.findOptions.relations
2193
+ ? OrmUtils_1.OrmUtils.deepValue(this.findOptions.relations, relation.propertyPath)
2194
+ : undefined,
2195
+ withDeleted: this.findOptions.withDeleted,
2196
+ relationLoadStrategy: this.findOptions.relationLoadStrategy,
2197
+ loadEagerRelations: this.findOptions.loadEagerRelations,
2198
+ });
2199
+ if (entities.length > 0) {
2200
+ const relatedEntityGroups = await queryStrategyRelationIdLoader.loadManyToManyRelationIdsAndGroup(relation, entities, undefined, queryBuilder);
2201
+ entities.forEach((entity) => {
2202
+ const relatedEntityGroup = relatedEntityGroups.find((group) => group.entity === entity);
2203
+ if (relatedEntityGroup) {
2204
+ const value = relatedEntityGroup.related === undefined
2205
+ ? null
2206
+ : relatedEntityGroup.related;
2207
+ relation.setEntityValue(entity, value);
2208
+ }
2209
+ });
2210
+ }
2211
+ };
2212
+ // Avoid concurrent queries on the same pg client; see #12238.
2213
+ // CockroachDB uses the pg package over a single connection too.
2214
+ const driverType = this.dataSource.options.type;
2215
+ if (driverType === "postgres" || driverType === "cockroachdb") {
2216
+ for (const relation of this.relationMetadatas) {
2217
+ await loadRelation(relation);
2218
+ }
2219
+ }
2220
+ else {
2221
+ await Promise.all(this.relationMetadatas.map(loadRelation));
2222
+ }
2223
+ }
2224
+ return {
2225
+ raw: rawResults,
2226
+ entities: entities,
2227
+ };
2228
+ }
2229
+ createOrderByCombinedWithSelectExpression(parentAlias) {
2230
+ // if table has a default order then apply it
2231
+ const orderBys = this.expressionMap.allOrderBys;
2232
+ const selectString = Object.keys(orderBys)
2233
+ .map((orderCriteria) => {
2234
+ if (orderCriteria.indexOf(".") !== -1) {
2235
+ const criteriaParts = orderCriteria.split(".");
2236
+ const aliasName = criteriaParts[0];
2237
+ const propertyPath = criteriaParts.slice(1).join(".");
2238
+ const alias = this.expressionMap.findAliasByName(aliasName);
2239
+ const column = alias.metadata.findColumnWithPropertyPath(propertyPath) ??
2240
+ alias.metadata.findColumnWithDatabaseName(propertyPath);
2241
+ const databaseName = column
2242
+ ? column.databaseName
2243
+ : propertyPath;
2244
+ return (this.escape(parentAlias) +
2245
+ "." +
2246
+ this.escape(DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, aliasName, databaseName)));
2247
+ }
2248
+ else {
2249
+ if (this.expressionMap.selects.find((select) => select.selection === orderCriteria ||
2250
+ select.aliasName === orderCriteria))
2251
+ return (this.escape(parentAlias) +
2252
+ "." +
2253
+ this.escape(orderCriteria));
2254
+ return "";
2255
+ }
2256
+ })
2257
+ .join(", ");
2258
+ const orderByObject = {};
2259
+ Object.keys(orderBys).forEach((orderCriteria) => {
2260
+ if (orderCriteria.indexOf(".") !== -1) {
2261
+ const criteriaParts = orderCriteria.split(".");
2262
+ const aliasName = criteriaParts[0];
2263
+ const propertyPath = criteriaParts.slice(1).join(".");
2264
+ const alias = this.expressionMap.findAliasByName(aliasName);
2265
+ const column = alias.metadata.findColumnWithPropertyPath(propertyPath) ??
2266
+ alias.metadata.findColumnWithDatabaseName(propertyPath);
2267
+ const databaseName = column ? column.databaseName : propertyPath;
2268
+ orderByObject[this.escape(parentAlias) +
2269
+ "." +
2270
+ this.escape(DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, aliasName, databaseName))] = orderBys[orderCriteria];
2271
+ }
2272
+ else {
2273
+ if (this.expressionMap.selects.find((select) => select.selection === orderCriteria ||
2274
+ select.aliasName === orderCriteria)) {
2275
+ orderByObject[this.escape(parentAlias) +
2276
+ "." +
2277
+ this.escape(orderCriteria)] = orderBys[orderCriteria];
2278
+ }
2279
+ else {
2280
+ orderByObject[orderCriteria] = orderBys[orderCriteria];
2281
+ }
2282
+ }
2283
+ });
2284
+ return [selectString, orderByObject];
2285
+ }
2286
+ /**
2287
+ * Loads raw results from the database.
2288
+ *
2289
+ * @param queryRunner
2290
+ */
2291
+ async loadRawResults(queryRunner) {
2292
+ const [sql, parameters] = this.getQueryAndParameters();
2293
+ const queryId = sql +
2294
+ " -- PARAMETERS: " +
2295
+ JSON.stringify(parameters, (_, value) => typeof value === "bigint" ? value.toString() : value);
2296
+ const cacheOptions = typeof this.dataSource.options.cache === "object"
2297
+ ? this.dataSource.options.cache
2298
+ : {};
2299
+ let savedQueryResultCacheOptions = undefined;
2300
+ const isCachingEnabled = cacheOptions.alwaysEnabled
2301
+ ? this.expressionMap.cache !== false
2302
+ : this.expressionMap.cache === true;
2303
+ let cacheError = false;
2304
+ if (this.dataSource.queryResultCache && isCachingEnabled) {
2305
+ try {
2306
+ savedQueryResultCacheOptions =
2307
+ await this.dataSource.queryResultCache.getFromCache({
2308
+ identifier: this.expressionMap.cacheId,
2309
+ query: queryId,
2310
+ duration: this.expressionMap.cacheDuration ||
2311
+ (cacheOptions.duration ?? 1000),
2312
+ }, queryRunner);
2313
+ if (savedQueryResultCacheOptions &&
2314
+ !this.dataSource.queryResultCache.isExpired(savedQueryResultCacheOptions)) {
2315
+ return JSON.parse(savedQueryResultCacheOptions.result);
2316
+ }
2317
+ }
2318
+ catch (error) {
2319
+ if (!cacheOptions.ignoreErrors) {
2320
+ throw error;
2321
+ }
2322
+ cacheError = true;
2323
+ }
2324
+ }
2325
+ const results = await queryRunner.query(sql, parameters, true);
2326
+ if (!cacheError &&
2327
+ this.dataSource.queryResultCache &&
2328
+ isCachingEnabled) {
2329
+ try {
2330
+ await this.dataSource.queryResultCache.storeInCache({
2331
+ identifier: this.expressionMap.cacheId,
2332
+ query: queryId,
2333
+ time: Date.now(),
2334
+ duration: this.expressionMap.cacheDuration ||
2335
+ (cacheOptions.duration ?? 1000),
2336
+ result: JSON.stringify(results.records),
2337
+ }, savedQueryResultCacheOptions, queryRunner);
2338
+ }
2339
+ catch (error) {
2340
+ if (!cacheOptions.ignoreErrors) {
2341
+ throw error;
2342
+ }
2343
+ }
2344
+ }
2345
+ return results.records;
2346
+ }
2347
+ /**
2348
+ * Merges into expression map given expression map properties.
2349
+ *
2350
+ * @param expressionMap
2351
+ */
2352
+ mergeExpressionMap(expressionMap) {
2353
+ ObjectUtils_1.ObjectUtils.assign(this.expressionMap, expressionMap);
2354
+ return this;
2355
+ }
2356
+ /**
2357
+ * Creates a query builder used to execute sql queries inside this query builder.
2358
+ */
2359
+ obtainQueryRunner() {
2360
+ return (this.queryRunner ??
2361
+ this.dataSource.createQueryRunner(this.dataSource.defaultReplicationModeForReads()));
2362
+ }
2363
+ buildSelect(select, metadata, alias, embedPrefix) {
2364
+ for (const key in select) {
2365
+ if (select[key] === undefined || select[key] === false)
2366
+ continue;
2367
+ const propertyPath = embedPrefix ? embedPrefix + "." + key : key;
2368
+ const column = metadata.findColumnWithPropertyPathStrict(propertyPath);
2369
+ const embed = metadata.findEmbeddedWithPropertyPath(propertyPath);
2370
+ const relation = metadata.findRelationWithPropertyPath(propertyPath);
2371
+ if (!embed && !column && !relation)
2372
+ throw new EntityPropertyNotFoundError_1.EntityPropertyNotFoundError(propertyPath, metadata);
2373
+ if (column) {
2374
+ this.selects.push(alias + "." + propertyPath);
2375
+ // this.addSelect(alias + "." + propertyPath);
2376
+ }
2377
+ else if (embed) {
2378
+ this.buildSelect(select[key], metadata, alias, propertyPath);
2379
+ // } else if (relation) {
2380
+ // const joinAlias = alias + "_" + relation.propertyName;
2381
+ // const existJoin = this.joins.find(join => join.alias === joinAlias);
2382
+ // if (!existJoin) {
2383
+ // this.joins.push({
2384
+ // type: "left",
2385
+ // select: false,
2386
+ // alias: joinAlias,
2387
+ // parentAlias: alias,
2388
+ // relationMetadata: relation
2389
+ // });
2390
+ // }
2391
+ // this.buildOrder(select[key] as FindOptionsOrder<any>, relation.inverseEntityMetadata, joinAlias);
2392
+ }
2393
+ }
2394
+ }
2395
+ getRelationJoinType(relation, parentJoinType = "inner") {
2396
+ return FindOptionsUtils_1.FindOptionsUtils.getRelationJoinType(relation, this.expressionMap.withDeleted, parentJoinType);
2397
+ }
2398
+ buildRelations(relations, selection, metadata, alias, embedPrefix, parentJoinType = "inner") {
2399
+ if (!relations)
2400
+ return;
2401
+ Object.keys(relations).forEach((relationName) => {
2402
+ const relationValue = relations[relationName];
2403
+ const propertyPath = embedPrefix
2404
+ ? embedPrefix + "." + relationName
2405
+ : relationName;
2406
+ const embed = metadata.findEmbeddedWithPropertyPath(propertyPath);
2407
+ const relation = metadata.findRelationWithPropertyPath(propertyPath);
2408
+ if (!embed && !relation)
2409
+ throw new EntityPropertyNotFoundError_1.EntityPropertyNotFoundError(propertyPath, metadata);
2410
+ if (embed) {
2411
+ this.buildRelations(relationValue, typeof selection === "object"
2412
+ ? OrmUtils_1.OrmUtils.deepValue(selection, embed.propertyPath)
2413
+ : undefined, metadata, alias, propertyPath);
2414
+ }
2415
+ else if (relation) {
2416
+ let joinAlias = alias + "_" + propertyPath.replace(".", "_");
2417
+ joinAlias = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, { joiner: "__" }, alias, joinAlias);
2418
+ const joinType = this.getRelationJoinType(relation, parentJoinType);
2419
+ if (relationValue === true ||
2420
+ typeof relationValue === "object") {
2421
+ if (this.expressionMap.relationLoadStrategy === "query") {
2422
+ this.concatRelationMetadata(relation);
2423
+ }
2424
+ else {
2425
+ this.joins.push({
2426
+ type: joinType,
2427
+ select: true,
2428
+ selection: selection &&
2429
+ typeof selection[relationName] === "object"
2430
+ ? selection[relationName]
2431
+ : undefined,
2432
+ alias: joinAlias,
2433
+ parentAlias: alias,
2434
+ relationMetadata: relation,
2435
+ });
2436
+ if (selection &&
2437
+ typeof selection[relationName] === "object") {
2438
+ this.buildSelect(selection[relationName], relation.inverseEntityMetadata, joinAlias);
2439
+ }
2440
+ }
2441
+ }
2442
+ if (typeof relationValue === "object" &&
2443
+ this.expressionMap.relationLoadStrategy === "join") {
2444
+ this.buildRelations(relationValue, typeof selection === "object"
2445
+ ? OrmUtils_1.OrmUtils.deepValue(selection, relation.propertyPath)
2446
+ : undefined, relation.inverseEntityMetadata, joinAlias, undefined, joinType);
2447
+ }
2448
+ }
2449
+ });
2450
+ }
2451
+ buildEagerRelations(relations, selection, metadata, alias, embedPrefix) {
2452
+ if (!relations)
2453
+ return;
2454
+ Object.keys(relations).forEach((relationName) => {
2455
+ const relationValue = relations[relationName];
2456
+ const propertyPath = embedPrefix
2457
+ ? embedPrefix + "." + relationName
2458
+ : relationName;
2459
+ const embed = metadata.findEmbeddedWithPropertyPath(propertyPath);
2460
+ const relation = metadata.findRelationWithPropertyPath(propertyPath);
2461
+ if (!embed && !relation)
2462
+ throw new EntityPropertyNotFoundError_1.EntityPropertyNotFoundError(propertyPath, metadata);
2463
+ if (embed) {
2464
+ this.buildEagerRelations(relationValue, typeof selection === "object"
2465
+ ? OrmUtils_1.OrmUtils.deepValue(selection, embed.propertyPath)
2466
+ : undefined, metadata, alias, propertyPath);
2467
+ }
2468
+ else if (relation) {
2469
+ let joinAlias = alias + "_" + propertyPath.replace(".", "_");
2470
+ joinAlias = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, { joiner: "__" }, alias, joinAlias);
2471
+ if ((relationValue === true ||
2472
+ typeof relationValue === "object") &&
2473
+ this.expressionMap.relationLoadStrategy === "join") {
2474
+ // Determine this relation's join type to propagate to eager children
2475
+ const parentJoin = this.joins.find((j) => j.alias === joinAlias);
2476
+ const parentJoinType = parentJoin?.type ?? "inner";
2477
+ relation.inverseEntityMetadata.eagerRelations.forEach((eagerRelation) => {
2478
+ let eagerRelationJoinAlias = joinAlias +
2479
+ "_" +
2480
+ eagerRelation.propertyPath.replace(".", "_");
2481
+ eagerRelationJoinAlias = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, { joiner: "__" }, joinAlias, eagerRelationJoinAlias);
2482
+ const existJoin = this.joins.find((join) => join.alias === eagerRelationJoinAlias);
2483
+ if (!existJoin) {
2484
+ this.joins.push({
2485
+ type: this.getRelationJoinType(eagerRelation, parentJoinType),
2486
+ select: true,
2487
+ alias: eagerRelationJoinAlias,
2488
+ parentAlias: joinAlias,
2489
+ selection: undefined,
2490
+ relationMetadata: eagerRelation,
2491
+ });
2492
+ }
2493
+ if (selection &&
2494
+ typeof selection[relationName] === "object") {
2495
+ this.buildSelect(selection[relationName], relation.inverseEntityMetadata, joinAlias);
2496
+ }
2497
+ });
2498
+ }
2499
+ if (typeof relationValue === "object") {
2500
+ this.buildEagerRelations(relationValue, typeof selection === "object"
2501
+ ? OrmUtils_1.OrmUtils.deepValue(selection, relation.propertyPath)
2502
+ : undefined, relation.inverseEntityMetadata, joinAlias, undefined);
2503
+ }
2504
+ }
2505
+ });
2506
+ }
2507
+ buildOrder(order, metadata, alias, embedPrefix) {
2508
+ for (const key in order) {
2509
+ if (order[key] === undefined)
2510
+ continue;
2511
+ const propertyPath = embedPrefix ? embedPrefix + "." + key : key;
2512
+ const column = metadata.findColumnWithPropertyPathStrict(propertyPath);
2513
+ const embed = metadata.findEmbeddedWithPropertyPath(propertyPath);
2514
+ const relation = metadata.findRelationWithPropertyPath(propertyPath);
2515
+ if (!embed && !column && !relation)
2516
+ throw new EntityPropertyNotFoundError_1.EntityPropertyNotFoundError(propertyPath, metadata);
2517
+ if (column) {
2518
+ let direction = typeof order[key] === "object"
2519
+ ? order[key].direction
2520
+ : order[key];
2521
+ direction =
2522
+ direction === "DESC" ||
2523
+ direction === "desc" ||
2524
+ direction === -1
2525
+ ? "DESC"
2526
+ : "ASC";
2527
+ let nulls = typeof order[key] === "object"
2528
+ ? order[key].nulls
2529
+ : undefined;
2530
+ nulls =
2531
+ nulls?.toLowerCase() === "first"
2532
+ ? "NULLS FIRST"
2533
+ : nulls?.toLowerCase() === "last"
2534
+ ? "NULLS LAST"
2535
+ : undefined;
2536
+ const aliasPath = `${alias}.${propertyPath}`;
2537
+ // const selection = this.expressionMap.selects.find(
2538
+ // (s) => s.selection === aliasPath,
2539
+ // )
2540
+ // if (selection) {
2541
+ // // this is not building correctly now???
2542
+ // aliasPath = this.escape(
2543
+ // DriverUtils.buildAlias(
2544
+ // this.dataSource.driver,
2545
+ // undefined,
2546
+ // alias,
2547
+ // column.databaseName,
2548
+ // ),
2549
+ // )
2550
+ // // selection.aliasName = aliasPath
2551
+ // } else {
2552
+ // if (column.isVirtualProperty && column.query) {
2553
+ // aliasPath = `(${column.query(alias)})`
2554
+ // }
2555
+ // }
2556
+ // console.log("add sort", selection, aliasPath, direction, nulls)
2557
+ this.addOrderBy(aliasPath, direction, nulls);
2558
+ // this.orderBys.push({ alias: alias + "." + propertyPath, direction, nulls });
2559
+ }
2560
+ else if (embed) {
2561
+ this.buildOrder(order[key], metadata, alias, propertyPath);
2562
+ }
2563
+ else if (relation) {
2564
+ let joinAlias = alias + "_" + propertyPath.replace(".", "_");
2565
+ joinAlias = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, { joiner: "__" }, alias, joinAlias);
2566
+ const existJoin = this.joins.find((join) => join.alias === joinAlias);
2567
+ if (!existJoin) {
2568
+ const parentJoin = this.joins.find((j) => j.alias === alias);
2569
+ this.joins.push({
2570
+ type: this.getRelationJoinType(relation, parentJoin?.type ?? "inner"),
2571
+ select: false,
2572
+ alias: joinAlias,
2573
+ parentAlias: alias,
2574
+ selection: undefined,
2575
+ relationMetadata: relation,
2576
+ });
2577
+ }
2578
+ this.buildOrder(order[key], relation.inverseEntityMetadata, joinAlias);
2579
+ }
2580
+ }
2581
+ }
2582
+ buildWhere(where, metadata, alias, embedPrefix) {
2583
+ let condition = "";
2584
+ if (Array.isArray(where)) {
2585
+ if (where.length) {
2586
+ condition = where
2587
+ .map((whereItem) => {
2588
+ return this.buildWhere(whereItem, metadata, alias, embedPrefix);
2589
+ })
2590
+ .filter((condition) => !!condition)
2591
+ .map((condition) => "(" + condition + ")")
2592
+ .join(" OR ");
2593
+ }
2594
+ }
2595
+ else {
2596
+ const andConditions = [];
2597
+ for (const key in where) {
2598
+ let parameterValue = where[key];
2599
+ const propertyPath = embedPrefix ? embedPrefix + "." + key : key;
2600
+ const column = metadata.findColumnWithPropertyPathStrict(propertyPath);
2601
+ const embed = metadata.findEmbeddedWithPropertyPath(propertyPath);
2602
+ const relation = metadata.findRelationWithPropertyPath(propertyPath);
2603
+ if (!embed && !column && !relation) {
2604
+ throw new EntityPropertyNotFoundError_1.EntityPropertyNotFoundError(propertyPath, metadata);
2605
+ }
2606
+ if (parameterValue === undefined) {
2607
+ const undefinedBehavior = this.dataSource.options.invalidWhereValuesBehavior
2608
+ ?.undefined ?? "throw";
2609
+ if (undefinedBehavior === "throw") {
2610
+ throw new error_1.TypeORMError(`Undefined value encountered in property '${alias}.${key}' of a where condition. ` +
2611
+ `Set 'invalidWhereValuesBehavior.undefined' to 'ignore' in connection options to skip properties with undefined values.`);
2612
+ }
2613
+ continue;
2614
+ }
2615
+ if (parameterValue === null) {
2616
+ const nullBehavior = this.dataSource.options.invalidWhereValuesBehavior
2617
+ ?.null ?? "throw";
2618
+ if (nullBehavior === "ignore") {
2619
+ continue;
2620
+ }
2621
+ else if (nullBehavior === "throw") {
2622
+ throw new error_1.TypeORMError(`Null value encountered in property '${alias}.${key}' of a where condition. ` +
2623
+ `To match with SQL NULL, the IsNull() operator must be used. ` +
2624
+ `Set 'invalidWhereValuesBehavior.null' to 'ignore' or 'sql-null' in connection options to skip or handle null values.`);
2625
+ }
2626
+ // 'sql-null' behavior continues to the next logic
2627
+ }
2628
+ if (column) {
2629
+ let aliasPath = `${alias}.${propertyPath}`;
2630
+ if (column.isVirtualProperty && column.query) {
2631
+ aliasPath = `(${column.query(this.escape(alias))})`;
2632
+ }
2633
+ if (parameterValue === null) {
2634
+ andConditions.push(`${aliasPath} IS NULL`);
2635
+ continue;
2636
+ }
2637
+ // const parameterName = alias + "_" + propertyPath.split(".").join("_") + "_" + parameterIndex;
2638
+ // todo: we need to handle other operators as well?
2639
+ if (InstanceChecker_1.InstanceChecker.isEqualOperator(where[key])) {
2640
+ parameterValue = where[key].value;
2641
+ }
2642
+ if (column.transformer) {
2643
+ parameterValue = ApplyValueTransformers_1.ApplyValueTransformers.transformTo(column.transformer, parameterValue);
2644
+ }
2645
+ // MSSQL requires parameters to carry extra type information
2646
+ if (this.dataSource.driver.options.type === "mssql") {
2647
+ parameterValue = this.dataSource.driver.parametrizeValues(column, parameterValue);
2648
+ }
2649
+ andConditions.push(this.createWhereConditionExpression(this.getWherePredicateCondition(aliasPath, parameterValue)));
2650
+ }
2651
+ else if (embed) {
2652
+ const condition = this.buildWhere(where[key], metadata, alias, propertyPath);
2653
+ if (condition)
2654
+ andConditions.push(condition);
2655
+ }
2656
+ else if (relation) {
2657
+ if (where[key] === null) {
2658
+ const nullBehavior = this.dataSource.options.invalidWhereValuesBehavior
2659
+ ?.null ?? "throw";
2660
+ if (nullBehavior === "sql-null") {
2661
+ andConditions.push(`${alias}.${propertyPath} IS NULL`);
2662
+ }
2663
+ else if (nullBehavior === "throw") {
2664
+ throw new error_1.TypeORMError(`Null value encountered in property '${alias}.${key}' of a where condition. ` +
2665
+ `Set 'invalidWhereValuesBehavior.null' to 'ignore' or 'sql-null' in connection options to skip or handle null values.`);
2666
+ }
2667
+ // 'ignore' behavior falls through to continue
2668
+ continue;
2669
+ }
2670
+ // if all properties of where are undefined we don't need to join anything
2671
+ // this can happen when user defines map with conditional queries inside
2672
+ if (typeof where[key] === "object") {
2673
+ const whereKeys = Object.keys(where[key]);
2674
+ // empty object — no predicates to apply, skip the join
2675
+ if (whereKeys.length === 0) {
2676
+ continue;
2677
+ }
2678
+ const allUndefined = whereKeys.every((k) => where[key][k] === undefined);
2679
+ if (allUndefined) {
2680
+ const undefinedBehavior = this.dataSource.options
2681
+ .invalidWhereValuesBehavior?.undefined ??
2682
+ "throw";
2683
+ if (undefinedBehavior === "throw") {
2684
+ throw new error_1.TypeORMError(`Undefined value encountered in nested relation '${alias}.${key}' of a where condition. ` +
2685
+ `All properties of the nested object are undefined. ` +
2686
+ `Set 'invalidWhereValuesBehavior.undefined' to 'ignore' in connection options to skip properties with undefined values.`);
2687
+ }
2688
+ continue;
2689
+ }
2690
+ }
2691
+ if (InstanceChecker_1.InstanceChecker.isFindOperator(where[key])) {
2692
+ if (where[key].type === "moreThan" ||
2693
+ where[key].type === "lessThan" ||
2694
+ where[key].type === "moreThanOrEqual" ||
2695
+ where[key].type === "lessThanOrEqual") {
2696
+ let sqlOperator = "";
2697
+ if (where[key].type === "moreThan") {
2698
+ sqlOperator = ">";
2699
+ }
2700
+ else if (where[key].type === "lessThan") {
2701
+ sqlOperator = "<";
2702
+ }
2703
+ else if (where[key].type === "moreThanOrEqual") {
2704
+ sqlOperator = ">=";
2705
+ }
2706
+ else if (where[key].type === "lessThanOrEqual") {
2707
+ sqlOperator = "<=";
2708
+ }
2709
+ // basically relation count functionality
2710
+ const qb = this.subQuery();
2711
+ if (relation.isManyToManyOwner) {
2712
+ qb.select("COUNT(*)")
2713
+ .from(relation.joinTableName, relation.joinTableName)
2714
+ .where(relation.joinColumns
2715
+ .map((column) => {
2716
+ return `${relation.joinTableName}.${column.propertyName} = ${alias}.${column.referencedColumn
2717
+ .propertyName}`;
2718
+ })
2719
+ .join(" AND "));
2720
+ }
2721
+ else if (relation.isManyToManyNotOwner) {
2722
+ qb.select("COUNT(*)")
2723
+ .from(relation.inverseRelation.joinTableName, relation.inverseRelation.joinTableName)
2724
+ .where(relation
2725
+ .inverseRelation.inverseJoinColumns.map((column) => {
2726
+ return `${relation
2727
+ .inverseRelation
2728
+ .joinTableName}.${column.propertyName} = ${alias}.${column.referencedColumn
2729
+ .propertyName}`;
2730
+ })
2731
+ .join(" AND "));
2732
+ }
2733
+ else if (relation.isOneToMany) {
2734
+ qb.select("COUNT(*)")
2735
+ .from(relation.inverseEntityMetadata.target, relation.inverseEntityMetadata
2736
+ .tableName)
2737
+ .where(relation
2738
+ .inverseRelation.joinColumns.map((column) => {
2739
+ return `${relation
2740
+ .inverseEntityMetadata
2741
+ .tableName}.${column.propertyName} = ${alias}.${column.referencedColumn
2742
+ .propertyName}`;
2743
+ })
2744
+ .join(" AND "));
2745
+ }
2746
+ else {
2747
+ throw new Error(`This relation isn't supported by given find operator`);
2748
+ }
2749
+ // this
2750
+ // .addSelect(qb.getSql(), relation.propertyAliasName + "_cnt")
2751
+ // .andWhere(this.escape(relation.propertyAliasName + "_cnt") + " " + sqlOperator + " " + parseInt(where[key].value));
2752
+ this.andWhere(qb.getSql() +
2753
+ " " +
2754
+ sqlOperator +
2755
+ " " +
2756
+ parseInt(where[key].value));
2757
+ }
2758
+ else {
2759
+ if (relation.isManyToOne ||
2760
+ (relation.isOneToOne &&
2761
+ relation.isOneToOneOwner)) {
2762
+ const aliasPath = `${alias}.${propertyPath}`;
2763
+ andConditions.push(this.createWhereConditionExpression(this.getWherePredicateCondition(aliasPath, where[key])));
2764
+ }
2765
+ else {
2766
+ throw new Error(`This relation isn't supported by given find operator`);
2767
+ }
2768
+ }
2769
+ }
2770
+ else {
2771
+ // const joinAlias = alias + "_" + relation.propertyName;
2772
+ let joinAlias = alias +
2773
+ "_" +
2774
+ relation.propertyPath.replace(".", "_");
2775
+ joinAlias = DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, { joiner: "__" }, alias, joinAlias);
2776
+ const existJoin = this.joins.find((join) => join.alias === joinAlias);
2777
+ if (!existJoin) {
2778
+ const parentJoin = this.joins.find((j) => j.alias === alias);
2779
+ this.joins.push({
2780
+ type: this.getRelationJoinType(relation, parentJoin?.type ?? "inner"),
2781
+ select: false,
2782
+ selection: undefined,
2783
+ alias: joinAlias,
2784
+ parentAlias: alias,
2785
+ relationMetadata: relation,
2786
+ });
2787
+ }
2788
+ const condition = this.buildWhere(where[key], relation.inverseEntityMetadata, joinAlias);
2789
+ if (condition) {
2790
+ andConditions.push(condition);
2791
+ }
2792
+ }
2793
+ }
2794
+ }
2795
+ condition = andConditions.length
2796
+ ? "(" + andConditions.join(") AND (") + ")"
2797
+ : andConditions.join(" AND ");
2798
+ }
2799
+ return condition.length ? "(" + condition + ")" : condition;
2800
+ }
2801
+ }
2802
+ exports.SelectQueryBuilder = SelectQueryBuilder;
2803
+ //# sourceMappingURL=SelectQueryBuilder.js.map