typeorm 0.3.12-dev.ef64bfc → 0.4.0-alpha.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 (1483) hide show
  1. package/browser/cache/DbQueryResultCache.d.ts +4 -4
  2. package/browser/cache/DbQueryResultCache.js +1 -1
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/cache/QueryResultCache.d.ts +2 -2
  5. package/browser/cache/QueryResultCache.js.map +1 -1
  6. package/browser/cache/QueryResultCacheFactory.d.ts +2 -2
  7. package/browser/cache/QueryResultCacheFactory.js.map +1 -1
  8. package/browser/cache/RedisQueryResultCache.d.ts +4 -4
  9. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  10. package/browser/cli-ts-node-commonjs.js +0 -0
  11. package/browser/cli-ts-node-esm.js +0 -0
  12. package/browser/common/DeepPartial.d.ts +1 -1
  13. package/browser/common/EntityTarget.d.ts +3 -3
  14. package/browser/common/EntityTarget.js.map +1 -1
  15. package/browser/common/MixedList.d.ts +1 -1
  16. package/browser/common/NonNever.d.ts +1 -1
  17. package/browser/common/ObjectType.d.ts +1 -1
  18. package/browser/common/PickKeysByType.d.ts +6 -0
  19. package/browser/common/PickKeysByType.js +3 -0
  20. package/browser/common/PickKeysByType.js.map +1 -0
  21. package/browser/common/RelationType.d.ts +1 -1
  22. package/browser/connection/BaseConnectionOptions.d.ts +2 -2
  23. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  24. package/browser/connection/ConnectionManager.d.ts +1 -1
  25. package/browser/connection/ConnectionManager.js.map +1 -1
  26. package/browser/connection/ConnectionMetadataBuilder.d.ts +5 -5
  27. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  28. package/browser/connection/ConnectionOptions.d.ts +2 -2
  29. package/browser/connection/ConnectionOptions.js.map +1 -1
  30. package/browser/connection/ConnectionOptionsReader.d.ts +1 -1
  31. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  32. package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +1 -1
  33. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  34. package/browser/connection/options-reader/ConnectionOptionsXmlReader.d.ts +1 -1
  35. package/browser/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  36. package/browser/connection/options-reader/ConnectionOptionsYmlReader.d.ts +1 -1
  37. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  38. package/browser/container.d.ts +1 -1
  39. package/browser/data-source/BaseDataSourceOptions.d.ts +8 -8
  40. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  41. package/browser/data-source/DataSource.d.ts +21 -21
  42. package/browser/data-source/DataSource.js +1 -1
  43. package/browser/data-source/DataSource.js.map +1 -1
  44. package/browser/data-source/DataSourceOptions.d.ts +19 -19
  45. package/browser/data-source/DataSourceOptions.js.map +1 -1
  46. package/browser/decorator/Check.js.map +1 -1
  47. package/browser/decorator/EntityRepository.d.ts +1 -1
  48. package/browser/decorator/EntityRepository.js.map +1 -1
  49. package/browser/decorator/Exclusion.js.map +1 -1
  50. package/browser/decorator/Generated.js.map +1 -1
  51. package/browser/decorator/Index.d.ts +1 -1
  52. package/browser/decorator/Index.js.map +1 -1
  53. package/browser/decorator/Unique.d.ts +1 -1
  54. package/browser/decorator/Unique.js.map +1 -1
  55. package/browser/decorator/columns/Column.d.ts +10 -10
  56. package/browser/decorator/columns/Column.js.map +1 -1
  57. package/browser/decorator/columns/CreateDateColumn.d.ts +1 -1
  58. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  59. package/browser/decorator/columns/DeleteDateColumn.d.ts +1 -1
  60. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  61. package/browser/decorator/columns/ObjectIdColumn.d.ts +1 -1
  62. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  63. package/browser/decorator/columns/PrimaryColumn.d.ts +3 -3
  64. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  65. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +3 -3
  66. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  67. package/browser/decorator/columns/UpdateDateColumn.d.ts +1 -1
  68. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  69. package/browser/decorator/columns/VersionColumn.d.ts +1 -1
  70. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  71. package/browser/decorator/columns/ViewColumn.d.ts +1 -1
  72. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  73. package/browser/decorator/columns/VirtualColumn.d.ts +2 -2
  74. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  75. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  76. package/browser/decorator/entity/Entity.d.ts +1 -1
  77. package/browser/decorator/entity/Entity.js.map +1 -1
  78. package/browser/decorator/entity/TableInheritance.d.ts +1 -1
  79. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  80. package/browser/decorator/entity-view/ViewEntity.d.ts +1 -1
  81. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  82. package/browser/decorator/listeners/AfterInsert.js.map +1 -1
  83. package/browser/decorator/listeners/AfterLoad.js.map +1 -1
  84. package/browser/decorator/listeners/AfterRecover.js.map +1 -1
  85. package/browser/decorator/listeners/AfterRemove.js.map +1 -1
  86. package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -1
  87. package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
  88. package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
  89. package/browser/decorator/listeners/BeforeRecover.js.map +1 -1
  90. package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
  91. package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  92. package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
  93. package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
  94. package/browser/decorator/options/ColumnCommonOptions.d.ts +1 -1
  95. package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
  96. package/browser/decorator/options/ColumnOptions.d.ts +3 -3
  97. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  98. package/browser/decorator/options/EntityOptions.d.ts +1 -1
  99. package/browser/decorator/options/EntityOptions.js.map +1 -1
  100. package/browser/decorator/options/JoinTableMultipleColumnsOptions.d.ts +1 -1
  101. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  102. package/browser/decorator/options/JoinTableOptions.d.ts +1 -1
  103. package/browser/decorator/options/JoinTableOptions.js.map +1 -1
  104. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +1 -1
  105. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  106. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +1 -1
  107. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  108. package/browser/decorator/options/RelationOptions.d.ts +3 -3
  109. package/browser/decorator/options/RelationOptions.js.map +1 -1
  110. package/browser/decorator/options/SpatialColumnOptions.d.ts +1 -1
  111. package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
  112. package/browser/decorator/options/TransactionOptions.d.ts +1 -1
  113. package/browser/decorator/options/TransactionOptions.js.map +1 -1
  114. package/browser/decorator/options/UniqueOptions.d.ts +1 -1
  115. package/browser/decorator/options/UniqueOptions.js.map +1 -1
  116. package/browser/decorator/options/ViewColumnOptions.d.ts +1 -1
  117. package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
  118. package/browser/decorator/options/ViewEntityOptions.d.ts +1 -1
  119. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  120. package/browser/decorator/options/VirtualColumnOptions.d.ts +2 -2
  121. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  122. package/browser/decorator/relations/JoinColumn.d.ts +1 -1
  123. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  124. package/browser/decorator/relations/JoinTable.d.ts +2 -2
  125. package/browser/decorator/relations/JoinTable.js.map +1 -1
  126. package/browser/decorator/relations/ManyToMany.d.ts +2 -2
  127. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  128. package/browser/decorator/relations/ManyToOne.d.ts +2 -2
  129. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  130. package/browser/decorator/relations/OneToMany.d.ts +2 -2
  131. package/browser/decorator/relations/OneToMany.js.map +1 -1
  132. package/browser/decorator/relations/OneToOne.d.ts +2 -2
  133. package/browser/decorator/relations/OneToOne.js.map +1 -1
  134. package/browser/decorator/relations/RelationCount.d.ts +1 -1
  135. package/browser/decorator/relations/RelationCount.js.map +1 -1
  136. package/browser/decorator/relations/RelationId.d.ts +1 -1
  137. package/browser/decorator/relations/RelationId.js.map +1 -1
  138. package/browser/decorator/tree/Tree.d.ts +2 -2
  139. package/browser/decorator/tree/Tree.js.map +1 -1
  140. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  141. package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
  142. package/browser/decorator/tree/TreeParent.d.ts +1 -1
  143. package/browser/decorator/tree/TreeParent.js.map +1 -1
  144. package/browser/driver/Driver.d.ts +17 -17
  145. package/browser/driver/Driver.js.map +1 -1
  146. package/browser/driver/DriverFactory.d.ts +2 -2
  147. package/browser/driver/DriverFactory.js.map +1 -1
  148. package/browser/driver/DriverUtils.d.ts +1 -1
  149. package/browser/driver/DriverUtils.js +2 -2
  150. package/browser/driver/DriverUtils.js.map +1 -1
  151. package/browser/driver/SqlInMemory.d.ts +1 -1
  152. package/browser/driver/SqlInMemory.js.map +1 -1
  153. package/browser/driver/aurora-mysql/AuroraMysqlConnection.d.ts +4 -4
  154. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  155. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +2 -2
  156. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  157. package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +17 -17
  158. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +2 -2
  159. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  160. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +6 -6
  161. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1 -1
  162. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  163. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +1 -1
  164. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  165. package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +5 -5
  166. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  167. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +4 -4
  168. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  169. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +7 -1
  170. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  171. package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +5 -5
  172. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +3 -1
  173. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  174. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -1
  175. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  176. package/browser/driver/capacitor/CapacitorConnectionOptions.d.ts +1 -1
  177. package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  178. package/browser/driver/capacitor/CapacitorDriver.d.ts +4 -4
  179. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  180. package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +2 -2
  181. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  182. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -1
  183. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  184. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +2 -2
  185. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  186. package/browser/driver/cockroachdb/CockroachDriver.d.ts +18 -18
  187. package/browser/driver/cockroachdb/CockroachDriver.js +2 -2
  188. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  189. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +5 -5
  190. package/browser/driver/cockroachdb/CockroachQueryRunner.js +2 -2
  191. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  192. package/browser/driver/cordova/CordovaConnectionOptions.d.ts +1 -1
  193. package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  194. package/browser/driver/cordova/CordovaDriver.d.ts +4 -4
  195. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  196. package/browser/driver/cordova/CordovaQueryRunner.d.ts +2 -2
  197. package/browser/driver/cordova/CordovaQueryRunner.js +1 -1
  198. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  199. package/browser/driver/expo/ExpoConnectionOptions.d.ts +1 -1
  200. package/browser/driver/expo/ExpoConnectionOptions.js.map +1 -1
  201. package/browser/driver/expo/ExpoDriver.d.ts +4 -4
  202. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  203. package/browser/driver/expo/ExpoQueryRunner.d.ts +1 -1
  204. package/browser/driver/expo/ExpoQueryRunner.js +1 -1
  205. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  206. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +2 -2
  207. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  208. package/browser/driver/mongodb/MongoDriver.d.ts +17 -17
  209. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  210. package/browser/driver/mongodb/MongoQueryRunner.d.ts +16 -16
  211. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  212. package/browser/driver/mongodb/typings.d.ts +6 -6
  213. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +2 -2
  214. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  215. package/browser/driver/mysql/MysqlDriver.d.ts +17 -17
  216. package/browser/driver/mysql/MysqlDriver.js +2 -2
  217. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  218. package/browser/driver/mysql/MysqlQueryRunner.d.ts +7 -7
  219. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  220. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  221. package/browser/driver/nativescript/NativescriptConnectionOptions.d.ts +1 -1
  222. package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  223. package/browser/driver/nativescript/NativescriptDriver.d.ts +5 -5
  224. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  225. package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +2 -2
  226. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  227. package/browser/driver/oracle/OracleConnectionOptions.d.ts +2 -2
  228. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  229. package/browser/driver/oracle/OracleDriver.d.ts +17 -17
  230. package/browser/driver/oracle/OracleDriver.js +2 -2
  231. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  232. package/browser/driver/oracle/OracleQueryRunner.d.ts +6 -6
  233. package/browser/driver/oracle/OracleQueryRunner.js +2 -2
  234. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  235. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  236. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  237. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +2 -2
  238. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  239. package/browser/driver/postgres/PostgresDriver.d.ts +18 -18
  240. package/browser/driver/postgres/PostgresDriver.js +2 -2
  241. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  242. package/browser/driver/postgres/PostgresQueryRunner.d.ts +5 -5
  243. package/browser/driver/postgres/PostgresQueryRunner.js +3 -3
  244. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  245. package/browser/driver/react-native/ReactNativeConnectionOptions.d.ts +1 -1
  246. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  247. package/browser/driver/react-native/ReactNativeDriver.d.ts +4 -4
  248. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  249. package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +2 -2
  250. package/browser/driver/react-native/ReactNativeQueryRunner.js +1 -1
  251. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  252. package/browser/driver/sap/SapConnectionOptions.d.ts +2 -2
  253. package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
  254. package/browser/driver/sap/SapDriver.d.ts +10 -10
  255. package/browser/driver/sap/SapDriver.js +3 -3
  256. package/browser/driver/sap/SapDriver.js.map +1 -1
  257. package/browser/driver/sap/SapQueryRunner.d.ts +6 -6
  258. package/browser/driver/sap/SapQueryRunner.js +1 -1
  259. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  260. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +2 -2
  261. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  262. package/browser/driver/spanner/SpannerDriver.d.ts +12 -12
  263. package/browser/driver/spanner/SpannerDriver.js +3 -3
  264. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  265. package/browser/driver/spanner/SpannerQueryRunner.d.ts +6 -6
  266. package/browser/driver/spanner/SpannerQueryRunner.js +7 -7
  267. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  268. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +1 -1
  269. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  270. package/browser/driver/sqlite/SqliteDriver.d.ts +5 -5
  271. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  272. package/browser/driver/sqlite/SqliteQueryRunner.d.ts +1 -1
  273. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  274. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +18 -18
  275. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +13 -1
  276. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  277. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +5 -5
  278. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -10
  279. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  280. package/browser/driver/sqljs/SqljsConnectionOptions.d.ts +1 -1
  281. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  282. package/browser/driver/sqljs/SqljsDriver.d.ts +5 -5
  283. package/browser/driver/sqljs/SqljsDriver.js +1 -1
  284. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  285. package/browser/driver/sqljs/SqljsQueryRunner.d.ts +1 -1
  286. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  287. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +8 -8
  288. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  289. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +2 -2
  290. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  291. package/browser/driver/sqlserver/SqlServerDriver.d.ts +16 -16
  292. package/browser/driver/sqlserver/SqlServerDriver.js +2 -2
  293. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  294. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +7 -7
  295. package/browser/driver/sqlserver/SqlServerQueryRunner.js +4 -4
  296. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  297. package/browser/driver/types/ColumnTypes.d.ts +7 -7
  298. package/browser/driver/types/DatabaseType.d.ts +1 -1
  299. package/browser/driver/types/GeoJsonTypes.d.ts +12 -12
  300. package/browser/driver/types/IsolationLevel.d.ts +1 -1
  301. package/browser/driver/types/MappedColumnTypes.d.ts +1 -1
  302. package/browser/driver/types/MappedColumnTypes.js.map +1 -1
  303. package/browser/driver/types/ReplicationMode.d.ts +1 -1
  304. package/browser/driver/types/UpsertType.d.ts +1 -1
  305. package/browser/entity-manager/EntityManager.d.ts +37 -19
  306. package/browser/entity-manager/EntityManager.js +32 -0
  307. package/browser/entity-manager/EntityManager.js.map +1 -1
  308. package/browser/entity-manager/EntityManagerFactory.d.ts +2 -2
  309. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  310. package/browser/entity-manager/MongoEntityManager.d.ts +12 -12
  311. package/browser/entity-manager/MongoEntityManager.js +5 -5
  312. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  313. package/browser/entity-manager/SqljsEntityManager.d.ts +2 -2
  314. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  315. package/browser/entity-schema/EntitySchema.d.ts +1 -1
  316. package/browser/entity-schema/EntitySchema.js.map +1 -1
  317. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +3 -3
  318. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  319. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +1 -1
  320. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  321. package/browser/entity-schema/EntitySchemaOptions.d.ts +10 -10
  322. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  323. package/browser/entity-schema/EntitySchemaRelationIdOptions.d.ts +1 -1
  324. package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  325. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +8 -8
  326. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  327. package/browser/entity-schema/EntitySchemaTransformer.d.ts +1 -1
  328. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  329. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +1 -1
  330. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  331. package/browser/error/CannotCreateEntityIdMapError.d.ts +1 -1
  332. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  333. package/browser/error/DataTypeNotSupportedError.d.ts +3 -3
  334. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  335. package/browser/error/EntityMetadataNotFoundError.d.ts +1 -1
  336. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  337. package/browser/error/EntityNotFoundError.d.ts +1 -1
  338. package/browser/error/EntityNotFoundError.js.map +1 -1
  339. package/browser/error/EntityPropertyNotFoundError.d.ts +1 -1
  340. package/browser/error/EntityPropertyNotFoundError.js.map +1 -1
  341. package/browser/error/ForbiddenTransactionModeOverrideError.d.ts +1 -1
  342. package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  343. package/browser/error/InitializedRelationError.d.ts +1 -1
  344. package/browser/error/InitializedRelationError.js.map +1 -1
  345. package/browser/error/MissingDeleteDateColumnError.d.ts +1 -1
  346. package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
  347. package/browser/error/MissingJoinColumnError.d.ts +2 -2
  348. package/browser/error/MissingJoinColumnError.js.map +1 -1
  349. package/browser/error/MissingJoinTableError.d.ts +2 -2
  350. package/browser/error/MissingJoinTableError.js.map +1 -1
  351. package/browser/error/MissingPrimaryColumnError.d.ts +1 -1
  352. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  353. package/browser/error/RepositoryNotTreeError.d.ts +1 -1
  354. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  355. package/browser/error/SubjectRemovedAndUpdatedError.d.ts +1 -1
  356. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  357. package/browser/error/SubjectWithoutIdentifierError.d.ts +1 -1
  358. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  359. package/browser/error/TreeRepositoryNotSupportedError.d.ts +1 -1
  360. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  361. package/browser/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -2
  362. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  363. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -2
  364. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  365. package/browser/error/UsingJoinTableIsNotAllowedError.d.ts +2 -2
  366. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  367. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -2
  368. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  369. package/browser/find-options/FindManyOptions.d.ts +1 -1
  370. package/browser/find-options/FindManyOptions.js.map +1 -1
  371. package/browser/find-options/FindOneOptions.d.ts +5 -5
  372. package/browser/find-options/FindOneOptions.js.map +1 -1
  373. package/browser/find-options/FindOperator.d.ts +3 -3
  374. package/browser/find-options/FindOperator.js.map +1 -1
  375. package/browser/find-options/FindOperatorType.d.ts +1 -1
  376. package/browser/find-options/FindOperatorType.js.map +1 -1
  377. package/browser/find-options/FindOptionsOrder.d.ts +4 -4
  378. package/browser/find-options/FindOptionsOrder.js.map +1 -1
  379. package/browser/find-options/FindOptionsRelations.d.ts +4 -4
  380. package/browser/find-options/FindOptionsRelations.js.map +1 -1
  381. package/browser/find-options/FindOptionsSelect.d.ts +4 -4
  382. package/browser/find-options/FindOptionsSelect.js.map +1 -1
  383. package/browser/find-options/FindOptionsUtils.d.ts +6 -6
  384. package/browser/find-options/FindOptionsUtils.js +1 -1
  385. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  386. package/browser/find-options/FindOptionsWhere.d.ts +9 -5
  387. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  388. package/browser/find-options/OrderByCondition.d.ts +1 -1
  389. package/browser/find-options/mongodb/MongoFindManyOptions.d.ts +1 -1
  390. package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  391. package/browser/find-options/mongodb/MongoFindOneOptions.d.ts +3 -3
  392. package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  393. package/browser/find-options/operator/Equal.d.ts +1 -1
  394. package/browser/find-options/operator/Equal.js.map +1 -1
  395. package/browser/find-options/operator/JsonContains.d.ts +6 -0
  396. package/browser/find-options/operator/JsonContains.js +10 -0
  397. package/browser/find-options/operator/JsonContains.js.map +1 -0
  398. package/browser/find-options/operator/Raw.d.ts +1 -1
  399. package/browser/find-options/operator/Raw.js.map +1 -1
  400. package/browser/globals.d.ts +12 -12
  401. package/browser/globals.js.map +1 -1
  402. package/browser/index.d.ts +3 -0
  403. package/browser/index.js +3 -0
  404. package/browser/index.js.map +1 -1
  405. package/browser/logger/AbstractLogger.d.ts +49 -0
  406. package/browser/logger/AbstractLogger.js +230 -0
  407. package/browser/logger/AbstractLogger.js.map +1 -0
  408. package/browser/logger/AdvancedConsoleLogger.d.ts +6 -34
  409. package/browser/logger/AdvancedConsoleLogger.js +41 -106
  410. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  411. package/browser/logger/DebugLogger.d.ts +10 -30
  412. package/browser/logger/DebugLogger.js +56 -74
  413. package/browser/logger/DebugLogger.js.map +1 -1
  414. package/browser/logger/FileLogger.d.ts +8 -34
  415. package/browser/logger/FileLogger.js +50 -97
  416. package/browser/logger/FileLogger.js.map +1 -1
  417. package/browser/logger/Logger.d.ts +32 -1
  418. package/browser/logger/Logger.js.map +1 -1
  419. package/browser/logger/LoggerFactory.d.ts +2 -2
  420. package/browser/logger/LoggerFactory.js.map +1 -1
  421. package/browser/logger/LoggerOptions.d.ts +3 -2
  422. package/browser/logger/LoggerOptions.js.map +1 -1
  423. package/browser/logger/SimpleConsoleLogger.d.ts +6 -34
  424. package/browser/logger/SimpleConsoleLogger.js +43 -106
  425. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  426. package/browser/metadata/CheckMetadata.d.ts +3 -3
  427. package/browser/metadata/CheckMetadata.js.map +1 -1
  428. package/browser/metadata/ColumnMetadata.d.ts +8 -8
  429. package/browser/metadata/ColumnMetadata.js.map +1 -1
  430. package/browser/metadata/EmbeddedMetadata.d.ts +10 -10
  431. package/browser/metadata/EmbeddedMetadata.js +1 -1
  432. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  433. package/browser/metadata/EntityListenerMetadata.d.ts +5 -5
  434. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  435. package/browser/metadata/EntityMetadata.d.ts +20 -20
  436. package/browser/metadata/EntityMetadata.js.map +1 -1
  437. package/browser/metadata/ExclusionMetadata.d.ts +3 -3
  438. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  439. package/browser/metadata/ForeignKeyMetadata.d.ts +6 -6
  440. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  441. package/browser/metadata/IndexMetadata.d.ts +5 -5
  442. package/browser/metadata/IndexMetadata.js.map +1 -1
  443. package/browser/metadata/RelationCountMetadata.d.ts +4 -4
  444. package/browser/metadata/RelationCountMetadata.js.map +1 -1
  445. package/browser/metadata/RelationIdMetadata.d.ts +5 -5
  446. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  447. package/browser/metadata/RelationMetadata.d.ts +10 -10
  448. package/browser/metadata/RelationMetadata.js.map +1 -1
  449. package/browser/metadata/UniqueMetadata.d.ts +6 -6
  450. package/browser/metadata/UniqueMetadata.js.map +1 -1
  451. package/browser/metadata/types/ClosureTreeOptions.d.ts +1 -1
  452. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -1
  453. package/browser/metadata/types/DeferrableType.d.ts +1 -1
  454. package/browser/metadata/types/EventListenerTypes.d.ts +1 -1
  455. package/browser/metadata/types/OnDeleteType.d.ts +1 -1
  456. package/browser/metadata/types/OnUpdateType.d.ts +1 -1
  457. package/browser/metadata/types/PropertyTypeInFunction.d.ts +1 -1
  458. package/browser/metadata/types/RelationTypeInFunction.d.ts +2 -2
  459. package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
  460. package/browser/metadata/types/RelationTypes.d.ts +1 -1
  461. package/browser/metadata/types/TableTypes.d.ts +1 -1
  462. package/browser/metadata/types/TreeTypes.d.ts +1 -1
  463. package/browser/metadata-args/ColumnMetadataArgs.d.ts +2 -2
  464. package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
  465. package/browser/metadata-args/EntityListenerMetadataArgs.d.ts +1 -1
  466. package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  467. package/browser/metadata-args/EntityRepositoryMetadataArgs.d.ts +1 -1
  468. package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  469. package/browser/metadata-args/InheritanceMetadataArgs.d.ts +1 -1
  470. package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  471. package/browser/metadata-args/JoinTableMetadataArgs.d.ts +1 -1
  472. package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  473. package/browser/metadata-args/MetadataArgsStorage.d.ts +22 -22
  474. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  475. package/browser/metadata-args/RelationCountMetadataArgs.d.ts +1 -1
  476. package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  477. package/browser/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
  478. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  479. package/browser/metadata-args/RelationMetadataArgs.d.ts +4 -4
  480. package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
  481. package/browser/metadata-args/TableMetadataArgs.d.ts +3 -3
  482. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  483. package/browser/metadata-args/TreeMetadataArgs.d.ts +2 -2
  484. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  485. package/browser/metadata-args/UniqueMetadataArgs.d.ts +1 -1
  486. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  487. package/browser/metadata-args/types/ColumnMode.d.ts +1 -1
  488. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -1
  489. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  490. package/browser/metadata-builder/EntityMetadataBuilder.d.ts +4 -4
  491. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  492. package/browser/metadata-builder/EntityMetadataValidator.d.ts +2 -2
  493. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  494. package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -3
  495. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  496. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -3
  497. package/browser/metadata-builder/RelationJoinColumnBuilder.js +2 -1
  498. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  499. package/browser/migration/Migration.d.ts +1 -1
  500. package/browser/migration/Migration.js.map +1 -1
  501. package/browser/migration/MigrationExecutor.d.ts +2 -2
  502. package/browser/migration/MigrationExecutor.js +3 -3
  503. package/browser/migration/MigrationExecutor.js.map +1 -1
  504. package/browser/migration/MigrationInterface.d.ts +1 -1
  505. package/browser/migration/MigrationInterface.js.map +1 -1
  506. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +2 -2
  507. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  508. package/browser/naming-strategy/LegacyOracleNamingStrategy.d.ts +21 -0
  509. package/browser/naming-strategy/LegacyOracleNamingStrategy.js +46 -0
  510. package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -0
  511. package/browser/naming-strategy/NamingStrategyInterface.d.ts +2 -2
  512. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  513. package/browser/persistence/EntityPersistExecutor.d.ts +5 -5
  514. package/browser/persistence/EntityPersistExecutor.js +1 -1
  515. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  516. package/browser/persistence/Subject.d.ts +5 -5
  517. package/browser/persistence/Subject.js.map +1 -1
  518. package/browser/persistence/SubjectChangeMap.d.ts +3 -3
  519. package/browser/persistence/SubjectChangeMap.js.map +1 -1
  520. package/browser/persistence/SubjectChangedColumnsComputer.d.ts +1 -1
  521. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  522. package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +3 -3
  523. package/browser/persistence/SubjectDatabaseEntityLoader.js +1 -1
  524. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  525. package/browser/persistence/SubjectExecutor.d.ts +4 -4
  526. package/browser/persistence/SubjectExecutor.js +1 -1
  527. package/browser/persistence/SubjectExecutor.js.map +1 -1
  528. package/browser/persistence/SubjectTopoligicalSorter.d.ts +2 -2
  529. package/browser/persistence/SubjectTopoligicalSorter.js +7 -11
  530. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  531. package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
  532. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  533. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +2 -2
  534. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  535. package/browser/persistence/subject-builder/OneToManySubjectBuilder.d.ts +1 -1
  536. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  537. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +1 -1
  538. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  539. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  540. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +2 -2
  541. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  542. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -2
  543. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  544. package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +4 -4
  545. package/browser/persistence/tree/NestedSetSubjectExecutor.js +2 -2
  546. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  547. package/browser/platform/BrowserPlatformTools.js +2 -2
  548. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  549. package/browser/platform/PlatformTools.d.ts +2 -0
  550. package/browser/platform/PlatformTools.js +6 -0
  551. package/browser/platform/PlatformTools.js.map +1 -1
  552. package/browser/query-builder/Alias.d.ts +1 -1
  553. package/browser/query-builder/Alias.js.map +1 -1
  554. package/browser/query-builder/Brackets.d.ts +1 -1
  555. package/browser/query-builder/Brackets.js.map +1 -1
  556. package/browser/query-builder/DeleteQueryBuilder.d.ts +6 -6
  557. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  558. package/browser/query-builder/InsertOrUpdateOptions.d.ts +2 -2
  559. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
  560. package/browser/query-builder/InsertQueryBuilder.d.ts +5 -5
  561. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  562. package/browser/query-builder/JoinAttribute.d.ts +5 -5
  563. package/browser/query-builder/JoinAttribute.js +2 -2
  564. package/browser/query-builder/JoinAttribute.js.map +1 -1
  565. package/browser/query-builder/QueryBuilder.d.ts +18 -18
  566. package/browser/query-builder/QueryBuilder.js +3 -1
  567. package/browser/query-builder/QueryBuilder.js.map +1 -1
  568. package/browser/query-builder/QueryExpressionMap.d.ts +12 -12
  569. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  570. package/browser/query-builder/QueryPartialEntity.d.ts +4 -4
  571. package/browser/query-builder/QueryPartialEntity.js.map +1 -1
  572. package/browser/query-builder/RelationIdLoader.d.ts +4 -4
  573. package/browser/query-builder/RelationIdLoader.js +2 -2
  574. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  575. package/browser/query-builder/RelationLoader.d.ts +5 -5
  576. package/browser/query-builder/RelationLoader.js.map +1 -1
  577. package/browser/query-builder/RelationQueryBuilder.d.ts +1 -1
  578. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  579. package/browser/query-builder/RelationRemover.d.ts +2 -2
  580. package/browser/query-builder/RelationRemover.js.map +1 -1
  581. package/browser/query-builder/RelationUpdater.d.ts +2 -2
  582. package/browser/query-builder/RelationUpdater.js.map +1 -1
  583. package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +6 -6
  584. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  585. package/browser/query-builder/SelectQueryBuilder.d.ts +18 -18
  586. package/browser/query-builder/SelectQueryBuilder.js +12 -8
  587. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  588. package/browser/query-builder/SelectQueryBuilderOption.d.ts +1 -1
  589. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +7 -7
  590. package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
  591. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  592. package/browser/query-builder/UpdateQueryBuilder.d.ts +7 -7
  593. package/browser/query-builder/UpdateQueryBuilder.js +3 -3
  594. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  595. package/browser/query-builder/WhereClause.d.ts +3 -3
  596. package/browser/query-builder/WhereClause.js.map +1 -1
  597. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -4
  598. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  599. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +4 -4
  600. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  601. package/browser/query-builder/relation-count/RelationCountLoadResult.d.ts +1 -1
  602. package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  603. package/browser/query-builder/relation-count/RelationCountLoader.d.ts +4 -4
  604. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  605. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +1 -1
  606. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  607. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +4 -4
  608. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  609. package/browser/query-builder/relation-id/RelationIdLoadResult.d.ts +1 -1
  610. package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  611. package/browser/query-builder/relation-id/RelationIdLoader.d.ts +4 -4
  612. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  613. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +1 -1
  614. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  615. package/browser/query-builder/result/DeleteResult.d.ts +1 -1
  616. package/browser/query-builder/result/DeleteResult.js.map +1 -1
  617. package/browser/query-builder/result/InsertResult.d.ts +2 -2
  618. package/browser/query-builder/result/InsertResult.js.map +1 -1
  619. package/browser/query-builder/result/UpdateResult.d.ts +2 -2
  620. package/browser/query-builder/result/UpdateResult.js.map +1 -1
  621. package/browser/query-builder/transformer/DocumentToEntityTransformer.d.ts +2 -2
  622. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  623. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +3 -3
  624. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  625. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +2 -2
  626. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  627. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +8 -8
  628. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +1 -1
  629. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  630. package/browser/query-runner/BaseQueryRunner.d.ts +11 -11
  631. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  632. package/browser/query-runner/QueryRunner.d.ts +17 -17
  633. package/browser/query-runner/QueryRunner.js.map +1 -1
  634. package/browser/repository/AbstractRepository.d.ts +6 -6
  635. package/browser/repository/AbstractRepository.js.map +1 -1
  636. package/browser/repository/BaseEntity.d.ts +41 -16
  637. package/browser/repository/BaseEntity.js +24 -0
  638. package/browser/repository/BaseEntity.js.map +1 -1
  639. package/browser/repository/EntityId.d.ts +2 -2
  640. package/browser/repository/EntityId.js.map +1 -1
  641. package/browser/repository/MongoRepository.d.ts +8 -8
  642. package/browser/repository/MongoRepository.js.map +1 -1
  643. package/browser/repository/Repository.d.ts +34 -17
  644. package/browser/repository/Repository.js +32 -8
  645. package/browser/repository/Repository.js.map +1 -1
  646. package/browser/repository/TreeRepository.d.ts +3 -3
  647. package/browser/repository/TreeRepository.js.map +1 -1
  648. package/browser/repository/UpsertOptions.d.ts +2 -2
  649. package/browser/repository/UpsertOptions.js.map +1 -1
  650. package/browser/schema-builder/MongoSchemaBuilder.d.ts +2 -2
  651. package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
  652. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +7 -7
  653. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  654. package/browser/schema-builder/SchemaBuilder.d.ts +1 -1
  655. package/browser/schema-builder/SchemaBuilder.js.map +1 -1
  656. package/browser/schema-builder/options/TableOptions.d.ts +6 -6
  657. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  658. package/browser/schema-builder/options/ViewOptions.d.ts +1 -1
  659. package/browser/schema-builder/options/ViewOptions.js.map +1 -1
  660. package/browser/schema-builder/table/Table.d.ts +3 -3
  661. package/browser/schema-builder/table/Table.js.map +1 -1
  662. package/browser/schema-builder/table/TableCheck.d.ts +2 -2
  663. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  664. package/browser/schema-builder/table/TableColumn.d.ts +1 -1
  665. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  666. package/browser/schema-builder/table/TableExclusion.d.ts +2 -2
  667. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  668. package/browser/schema-builder/table/TableForeignKey.d.ts +3 -3
  669. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  670. package/browser/schema-builder/table/TableIndex.d.ts +2 -2
  671. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  672. package/browser/schema-builder/table/TableUnique.d.ts +2 -2
  673. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  674. package/browser/schema-builder/util/TableUtils.d.ts +3 -3
  675. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  676. package/browser/schema-builder/util/ViewUtils.d.ts +1 -1
  677. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  678. package/browser/schema-builder/view/View.d.ts +2 -2
  679. package/browser/schema-builder/view/View.js.map +1 -1
  680. package/browser/subscriber/Broadcaster.d.ts +6 -6
  681. package/browser/subscriber/Broadcaster.js.map +1 -1
  682. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  683. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -9
  684. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  685. package/browser/subscriber/event/InsertEvent.d.ts +4 -4
  686. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  687. package/browser/subscriber/event/LoadEvent.d.ts +4 -4
  688. package/browser/subscriber/event/LoadEvent.js.map +1 -1
  689. package/browser/subscriber/event/RecoverEvent.d.ts +2 -3
  690. package/browser/subscriber/event/RecoverEvent.js.map +1 -1
  691. package/browser/subscriber/event/RemoveEvent.d.ts +4 -4
  692. package/browser/subscriber/event/RemoveEvent.js.map +1 -1
  693. package/browser/subscriber/event/SoftRemoveEvent.d.ts +2 -3
  694. package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -1
  695. package/browser/subscriber/event/TransactionCommitEvent.d.ts +3 -3
  696. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -1
  697. package/browser/subscriber/event/TransactionRollbackEvent.d.ts +3 -3
  698. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  699. package/browser/subscriber/event/TransactionStartEvent.d.ts +3 -3
  700. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -1
  701. package/browser/subscriber/event/UpdateEvent.d.ts +7 -7
  702. package/browser/subscriber/event/UpdateEvent.js.map +1 -1
  703. package/browser/util/ApplyValueTransformers.d.ts +1 -1
  704. package/browser/util/ApplyValueTransformers.js.map +1 -1
  705. package/browser/util/DateUtils.d.ts +1 -1
  706. package/browser/util/DateUtils.js.map +1 -1
  707. package/browser/util/DepGraph.js +14 -14
  708. package/browser/util/DepGraph.js.map +1 -1
  709. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  710. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  711. package/browser/util/InstanceChecker.d.ts +2 -2
  712. package/browser/util/InstanceChecker.js.map +1 -1
  713. package/browser/util/ObjectUtils.d.ts +1 -1
  714. package/browser/util/ObjectUtils.js.map +1 -1
  715. package/browser/util/OrmUtils.d.ts +1 -1
  716. package/browser/util/OrmUtils.js +4 -4
  717. package/browser/util/OrmUtils.js.map +1 -1
  718. package/browser/util/RandomGenerator.js +6 -6
  719. package/browser/util/RandomGenerator.js.map +1 -1
  720. package/browser/util/StringUtils.js.map +1 -1
  721. package/browser/util/TreeRepositoryUtils.d.ts +3 -3
  722. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  723. package/browser/util/VersionUtils.d.ts +1 -1
  724. package/browser/util/VersionUtils.js.map +1 -1
  725. package/browser/util/escapeRegExp.d.ts +1 -1
  726. package/browser/util/escapeRegExp.js.map +1 -1
  727. package/cache/DbQueryResultCache.d.ts +4 -4
  728. package/cache/DbQueryResultCache.js +1 -1
  729. package/cache/DbQueryResultCache.js.map +1 -1
  730. package/cache/QueryResultCache.d.ts +2 -2
  731. package/cache/QueryResultCache.js.map +1 -1
  732. package/cache/QueryResultCacheFactory.d.ts +2 -2
  733. package/cache/QueryResultCacheFactory.js.map +1 -1
  734. package/cache/RedisQueryResultCache.d.ts +4 -4
  735. package/cache/RedisQueryResultCache.js.map +1 -1
  736. package/cli-ts-node-commonjs.js +0 -0
  737. package/cli-ts-node-esm.js +0 -0
  738. package/cli.js +0 -0
  739. package/commands/CacheClearCommand.d.ts +1 -1
  740. package/commands/CacheClearCommand.js.map +1 -1
  741. package/commands/CommandUtils.d.ts +2 -2
  742. package/commands/CommandUtils.js.map +1 -1
  743. package/commands/EntityCreateCommand.d.ts +1 -1
  744. package/commands/EntityCreateCommand.js.map +1 -1
  745. package/commands/InitCommand.d.ts +1 -1
  746. package/commands/InitCommand.js.map +1 -1
  747. package/commands/MigrationCreateCommand.d.ts +2 -2
  748. package/commands/MigrationCreateCommand.js.map +1 -1
  749. package/commands/MigrationGenerateCommand.d.ts +2 -2
  750. package/commands/MigrationGenerateCommand.js.map +1 -1
  751. package/commands/MigrationRevertCommand.d.ts +1 -1
  752. package/commands/MigrationRevertCommand.js.map +1 -1
  753. package/commands/MigrationRunCommand.d.ts +1 -1
  754. package/commands/MigrationRunCommand.js.map +1 -1
  755. package/commands/MigrationShowCommand.d.ts +1 -1
  756. package/commands/MigrationShowCommand.js.map +1 -1
  757. package/commands/QueryCommand.d.ts +1 -1
  758. package/commands/QueryCommand.js.map +1 -1
  759. package/commands/SchemaDropCommand.d.ts +1 -1
  760. package/commands/SchemaDropCommand.js.map +1 -1
  761. package/commands/SchemaLogCommand.d.ts +1 -1
  762. package/commands/SchemaLogCommand.js.map +1 -1
  763. package/commands/SchemaSyncCommand.d.ts +1 -1
  764. package/commands/SchemaSyncCommand.js.map +1 -1
  765. package/commands/SubscriberCreateCommand.d.ts +1 -1
  766. package/commands/SubscriberCreateCommand.js.map +1 -1
  767. package/commands/VersionCommand.d.ts +1 -1
  768. package/commands/VersionCommand.js.map +1 -1
  769. package/common/DeepPartial.d.ts +1 -1
  770. package/common/EntityTarget.d.ts +3 -3
  771. package/common/EntityTarget.js.map +1 -1
  772. package/common/MixedList.d.ts +1 -1
  773. package/common/NonNever.d.ts +1 -1
  774. package/common/ObjectType.d.ts +1 -1
  775. package/common/PickKeysByType.d.ts +6 -0
  776. package/common/PickKeysByType.js +4 -0
  777. package/common/PickKeysByType.js.map +1 -0
  778. package/common/RelationType.d.ts +1 -1
  779. package/connection/BaseConnectionOptions.d.ts +2 -2
  780. package/connection/BaseConnectionOptions.js.map +1 -1
  781. package/connection/ConnectionManager.d.ts +1 -1
  782. package/connection/ConnectionManager.js.map +1 -1
  783. package/connection/ConnectionMetadataBuilder.d.ts +5 -5
  784. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  785. package/connection/ConnectionOptions.d.ts +2 -2
  786. package/connection/ConnectionOptions.js.map +1 -1
  787. package/connection/ConnectionOptionsReader.d.ts +1 -1
  788. package/connection/ConnectionOptionsReader.js.map +1 -1
  789. package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +1 -1
  790. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  791. package/connection/options-reader/ConnectionOptionsXmlReader.d.ts +1 -1
  792. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  793. package/connection/options-reader/ConnectionOptionsYmlReader.d.ts +1 -1
  794. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  795. package/container.d.ts +1 -1
  796. package/data-source/BaseDataSourceOptions.d.ts +8 -8
  797. package/data-source/BaseDataSourceOptions.js.map +1 -1
  798. package/data-source/DataSource.d.ts +21 -21
  799. package/data-source/DataSource.js +1 -1
  800. package/data-source/DataSource.js.map +1 -1
  801. package/data-source/DataSourceOptions.d.ts +19 -19
  802. package/data-source/DataSourceOptions.js.map +1 -1
  803. package/decorator/Check.js.map +1 -1
  804. package/decorator/EntityRepository.d.ts +1 -1
  805. package/decorator/EntityRepository.js.map +1 -1
  806. package/decorator/Exclusion.js.map +1 -1
  807. package/decorator/Generated.js.map +1 -1
  808. package/decorator/Index.d.ts +1 -1
  809. package/decorator/Index.js.map +1 -1
  810. package/decorator/Unique.d.ts +1 -1
  811. package/decorator/Unique.js.map +1 -1
  812. package/decorator/columns/Column.d.ts +10 -10
  813. package/decorator/columns/Column.js.map +1 -1
  814. package/decorator/columns/CreateDateColumn.d.ts +1 -1
  815. package/decorator/columns/CreateDateColumn.js.map +1 -1
  816. package/decorator/columns/DeleteDateColumn.d.ts +1 -1
  817. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  818. package/decorator/columns/ObjectIdColumn.d.ts +1 -1
  819. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  820. package/decorator/columns/PrimaryColumn.d.ts +3 -3
  821. package/decorator/columns/PrimaryColumn.js.map +1 -1
  822. package/decorator/columns/PrimaryGeneratedColumn.d.ts +3 -3
  823. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  824. package/decorator/columns/UpdateDateColumn.d.ts +1 -1
  825. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  826. package/decorator/columns/VersionColumn.d.ts +1 -1
  827. package/decorator/columns/VersionColumn.js.map +1 -1
  828. package/decorator/columns/ViewColumn.d.ts +1 -1
  829. package/decorator/columns/ViewColumn.js.map +1 -1
  830. package/decorator/columns/VirtualColumn.d.ts +2 -2
  831. package/decorator/columns/VirtualColumn.js.map +1 -1
  832. package/decorator/entity/ChildEntity.js.map +1 -1
  833. package/decorator/entity/Entity.d.ts +1 -1
  834. package/decorator/entity/Entity.js.map +1 -1
  835. package/decorator/entity/TableInheritance.d.ts +1 -1
  836. package/decorator/entity/TableInheritance.js.map +1 -1
  837. package/decorator/entity-view/ViewEntity.d.ts +1 -1
  838. package/decorator/entity-view/ViewEntity.js.map +1 -1
  839. package/decorator/listeners/AfterInsert.js.map +1 -1
  840. package/decorator/listeners/AfterLoad.js.map +1 -1
  841. package/decorator/listeners/AfterRecover.js.map +1 -1
  842. package/decorator/listeners/AfterRemove.js.map +1 -1
  843. package/decorator/listeners/AfterSoftRemove.js.map +1 -1
  844. package/decorator/listeners/AfterUpdate.js.map +1 -1
  845. package/decorator/listeners/BeforeInsert.js.map +1 -1
  846. package/decorator/listeners/BeforeRecover.js.map +1 -1
  847. package/decorator/listeners/BeforeRemove.js.map +1 -1
  848. package/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  849. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  850. package/decorator/listeners/EventSubscriber.js.map +1 -1
  851. package/decorator/options/ColumnCommonOptions.d.ts +1 -1
  852. package/decorator/options/ColumnCommonOptions.js.map +1 -1
  853. package/decorator/options/ColumnOptions.d.ts +3 -3
  854. package/decorator/options/ColumnOptions.js.map +1 -1
  855. package/decorator/options/EntityOptions.d.ts +1 -1
  856. package/decorator/options/EntityOptions.js.map +1 -1
  857. package/decorator/options/JoinTableMultipleColumnsOptions.d.ts +1 -1
  858. package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  859. package/decorator/options/JoinTableOptions.d.ts +1 -1
  860. package/decorator/options/JoinTableOptions.js.map +1 -1
  861. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +1 -1
  862. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  863. package/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +1 -1
  864. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  865. package/decorator/options/RelationOptions.d.ts +3 -3
  866. package/decorator/options/RelationOptions.js.map +1 -1
  867. package/decorator/options/SpatialColumnOptions.d.ts +1 -1
  868. package/decorator/options/SpatialColumnOptions.js.map +1 -1
  869. package/decorator/options/TransactionOptions.d.ts +1 -1
  870. package/decorator/options/TransactionOptions.js.map +1 -1
  871. package/decorator/options/UniqueOptions.d.ts +1 -1
  872. package/decorator/options/UniqueOptions.js.map +1 -1
  873. package/decorator/options/ViewColumnOptions.d.ts +1 -1
  874. package/decorator/options/ViewColumnOptions.js.map +1 -1
  875. package/decorator/options/ViewEntityOptions.d.ts +1 -1
  876. package/decorator/options/ViewEntityOptions.js.map +1 -1
  877. package/decorator/options/VirtualColumnOptions.d.ts +2 -2
  878. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  879. package/decorator/relations/JoinColumn.d.ts +1 -1
  880. package/decorator/relations/JoinColumn.js.map +1 -1
  881. package/decorator/relations/JoinTable.d.ts +2 -2
  882. package/decorator/relations/JoinTable.js.map +1 -1
  883. package/decorator/relations/ManyToMany.d.ts +2 -2
  884. package/decorator/relations/ManyToMany.js.map +1 -1
  885. package/decorator/relations/ManyToOne.d.ts +2 -2
  886. package/decorator/relations/ManyToOne.js.map +1 -1
  887. package/decorator/relations/OneToMany.d.ts +2 -2
  888. package/decorator/relations/OneToMany.js.map +1 -1
  889. package/decorator/relations/OneToOne.d.ts +2 -2
  890. package/decorator/relations/OneToOne.js.map +1 -1
  891. package/decorator/relations/RelationCount.d.ts +1 -1
  892. package/decorator/relations/RelationCount.js.map +1 -1
  893. package/decorator/relations/RelationId.d.ts +1 -1
  894. package/decorator/relations/RelationId.js.map +1 -1
  895. package/decorator/tree/Tree.d.ts +2 -2
  896. package/decorator/tree/Tree.js.map +1 -1
  897. package/decorator/tree/TreeChildren.js.map +1 -1
  898. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  899. package/decorator/tree/TreeParent.d.ts +1 -1
  900. package/decorator/tree/TreeParent.js.map +1 -1
  901. package/driver/Driver.d.ts +17 -17
  902. package/driver/Driver.js.map +1 -1
  903. package/driver/DriverFactory.d.ts +2 -2
  904. package/driver/DriverFactory.js.map +1 -1
  905. package/driver/DriverUtils.d.ts +1 -1
  906. package/driver/DriverUtils.js +2 -2
  907. package/driver/DriverUtils.js.map +1 -1
  908. package/driver/SqlInMemory.d.ts +1 -1
  909. package/driver/SqlInMemory.js.map +1 -1
  910. package/driver/aurora-mysql/AuroraMysqlConnection.d.ts +4 -4
  911. package/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  912. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +2 -2
  913. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  914. package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +17 -17
  915. package/driver/aurora-mysql/AuroraMysqlDriver.js +2 -2
  916. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  917. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +6 -6
  918. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1 -1
  919. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  920. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +1 -1
  921. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  922. package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +5 -5
  923. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  924. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +4 -4
  925. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  926. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +7 -1
  927. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  928. package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +5 -5
  929. package/driver/better-sqlite3/BetterSqlite3Driver.js +3 -1
  930. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  931. package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -1
  932. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  933. package/driver/capacitor/CapacitorConnectionOptions.d.ts +1 -1
  934. package/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  935. package/driver/capacitor/CapacitorDriver.d.ts +4 -4
  936. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  937. package/driver/capacitor/CapacitorQueryRunner.d.ts +2 -2
  938. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  939. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -1
  940. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  941. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +2 -2
  942. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  943. package/driver/cockroachdb/CockroachDriver.d.ts +18 -18
  944. package/driver/cockroachdb/CockroachDriver.js +2 -2
  945. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  946. package/driver/cockroachdb/CockroachQueryRunner.d.ts +5 -5
  947. package/driver/cockroachdb/CockroachQueryRunner.js +2 -2
  948. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  949. package/driver/cordova/CordovaConnectionOptions.d.ts +1 -1
  950. package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  951. package/driver/cordova/CordovaDriver.d.ts +4 -4
  952. package/driver/cordova/CordovaDriver.js.map +1 -1
  953. package/driver/cordova/CordovaQueryRunner.d.ts +2 -2
  954. package/driver/cordova/CordovaQueryRunner.js +1 -1
  955. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  956. package/driver/expo/ExpoConnectionOptions.d.ts +1 -1
  957. package/driver/expo/ExpoConnectionOptions.js.map +1 -1
  958. package/driver/expo/ExpoDriver.d.ts +4 -4
  959. package/driver/expo/ExpoDriver.js.map +1 -1
  960. package/driver/expo/ExpoQueryRunner.d.ts +1 -1
  961. package/driver/expo/ExpoQueryRunner.js +1 -1
  962. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  963. package/driver/mongodb/MongoConnectionOptions.d.ts +2 -2
  964. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  965. package/driver/mongodb/MongoDriver.d.ts +17 -17
  966. package/driver/mongodb/MongoDriver.js.map +1 -1
  967. package/driver/mongodb/MongoQueryRunner.d.ts +16 -16
  968. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  969. package/driver/mongodb/typings.d.ts +6 -6
  970. package/driver/mysql/MysqlConnectionOptions.d.ts +2 -2
  971. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  972. package/driver/mysql/MysqlDriver.d.ts +17 -17
  973. package/driver/mysql/MysqlDriver.js +2 -2
  974. package/driver/mysql/MysqlDriver.js.map +1 -1
  975. package/driver/mysql/MysqlQueryRunner.d.ts +7 -7
  976. package/driver/mysql/MysqlQueryRunner.js +1 -1
  977. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  978. package/driver/nativescript/NativescriptConnectionOptions.d.ts +1 -1
  979. package/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  980. package/driver/nativescript/NativescriptDriver.d.ts +5 -5
  981. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  982. package/driver/nativescript/NativescriptQueryRunner.d.ts +2 -2
  983. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  984. package/driver/oracle/OracleConnectionOptions.d.ts +2 -2
  985. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  986. package/driver/oracle/OracleDriver.d.ts +17 -17
  987. package/driver/oracle/OracleDriver.js +2 -2
  988. package/driver/oracle/OracleDriver.js.map +1 -1
  989. package/driver/oracle/OracleQueryRunner.d.ts +6 -6
  990. package/driver/oracle/OracleQueryRunner.js +2 -2
  991. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  992. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  993. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  994. package/driver/postgres/PostgresConnectionOptions.d.ts +2 -2
  995. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  996. package/driver/postgres/PostgresDriver.d.ts +18 -18
  997. package/driver/postgres/PostgresDriver.js +2 -2
  998. package/driver/postgres/PostgresDriver.js.map +1 -1
  999. package/driver/postgres/PostgresQueryRunner.d.ts +5 -5
  1000. package/driver/postgres/PostgresQueryRunner.js +3 -3
  1001. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  1002. package/driver/react-native/ReactNativeConnectionOptions.d.ts +1 -1
  1003. package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  1004. package/driver/react-native/ReactNativeDriver.d.ts +4 -4
  1005. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  1006. package/driver/react-native/ReactNativeQueryRunner.d.ts +2 -2
  1007. package/driver/react-native/ReactNativeQueryRunner.js +1 -1
  1008. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  1009. package/driver/sap/SapConnectionOptions.d.ts +2 -2
  1010. package/driver/sap/SapConnectionOptions.js.map +1 -1
  1011. package/driver/sap/SapDriver.d.ts +10 -10
  1012. package/driver/sap/SapDriver.js +2 -2
  1013. package/driver/sap/SapDriver.js.map +1 -1
  1014. package/driver/sap/SapQueryRunner.d.ts +6 -6
  1015. package/driver/sap/SapQueryRunner.js +1 -1
  1016. package/driver/sap/SapQueryRunner.js.map +1 -1
  1017. package/driver/spanner/SpannerConnectionOptions.d.ts +2 -2
  1018. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  1019. package/driver/spanner/SpannerDriver.d.ts +12 -12
  1020. package/driver/spanner/SpannerDriver.js +3 -3
  1021. package/driver/spanner/SpannerDriver.js.map +1 -1
  1022. package/driver/spanner/SpannerQueryRunner.d.ts +6 -6
  1023. package/driver/spanner/SpannerQueryRunner.js +7 -7
  1024. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  1025. package/driver/sqlite/SqliteConnectionOptions.d.ts +1 -1
  1026. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  1027. package/driver/sqlite/SqliteDriver.d.ts +5 -5
  1028. package/driver/sqlite/SqliteDriver.js.map +1 -1
  1029. package/driver/sqlite/SqliteQueryRunner.d.ts +1 -1
  1030. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  1031. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +18 -18
  1032. package/driver/sqlite-abstract/AbstractSqliteDriver.js +13 -1
  1033. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  1034. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +5 -5
  1035. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -10
  1036. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  1037. package/driver/sqljs/SqljsConnectionOptions.d.ts +1 -1
  1038. package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  1039. package/driver/sqljs/SqljsDriver.d.ts +5 -5
  1040. package/driver/sqljs/SqljsDriver.js +1 -1
  1041. package/driver/sqljs/SqljsDriver.js.map +1 -1
  1042. package/driver/sqljs/SqljsQueryRunner.d.ts +1 -1
  1043. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  1044. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +8 -8
  1045. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  1046. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +2 -2
  1047. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  1048. package/driver/sqlserver/SqlServerDriver.d.ts +16 -16
  1049. package/driver/sqlserver/SqlServerDriver.js +2 -2
  1050. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  1051. package/driver/sqlserver/SqlServerQueryRunner.d.ts +7 -7
  1052. package/driver/sqlserver/SqlServerQueryRunner.js +4 -4
  1053. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  1054. package/driver/types/ColumnTypes.d.ts +7 -7
  1055. package/driver/types/DatabaseType.d.ts +1 -1
  1056. package/driver/types/GeoJsonTypes.d.ts +12 -12
  1057. package/driver/types/IsolationLevel.d.ts +1 -1
  1058. package/driver/types/MappedColumnTypes.d.ts +1 -1
  1059. package/driver/types/MappedColumnTypes.js.map +1 -1
  1060. package/driver/types/ReplicationMode.d.ts +1 -1
  1061. package/driver/types/UpsertType.d.ts +1 -1
  1062. package/entity-manager/EntityManager.d.ts +37 -19
  1063. package/entity-manager/EntityManager.js +32 -0
  1064. package/entity-manager/EntityManager.js.map +1 -1
  1065. package/entity-manager/EntityManagerFactory.d.ts +2 -2
  1066. package/entity-manager/EntityManagerFactory.js.map +1 -1
  1067. package/entity-manager/MongoEntityManager.d.ts +12 -12
  1068. package/entity-manager/MongoEntityManager.js +5 -5
  1069. package/entity-manager/MongoEntityManager.js.map +1 -1
  1070. package/entity-manager/SqljsEntityManager.d.ts +2 -2
  1071. package/entity-manager/SqljsEntityManager.js.map +1 -1
  1072. package/entity-schema/EntitySchema.d.ts +1 -1
  1073. package/entity-schema/EntitySchema.js.map +1 -1
  1074. package/entity-schema/EntitySchemaColumnOptions.d.ts +3 -3
  1075. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  1076. package/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +1 -1
  1077. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  1078. package/entity-schema/EntitySchemaOptions.d.ts +10 -10
  1079. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  1080. package/entity-schema/EntitySchemaRelationIdOptions.d.ts +1 -1
  1081. package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  1082. package/entity-schema/EntitySchemaRelationOptions.d.ts +8 -8
  1083. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  1084. package/entity-schema/EntitySchemaTransformer.d.ts +1 -1
  1085. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  1086. package/entity-schema/EntitySchemaUniqueOptions.d.ts +1 -1
  1087. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  1088. package/error/CannotCreateEntityIdMapError.d.ts +1 -1
  1089. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  1090. package/error/DataTypeNotSupportedError.d.ts +3 -3
  1091. package/error/DataTypeNotSupportedError.js.map +1 -1
  1092. package/error/EntityMetadataNotFoundError.d.ts +1 -1
  1093. package/error/EntityMetadataNotFoundError.js.map +1 -1
  1094. package/error/EntityNotFoundError.d.ts +1 -1
  1095. package/error/EntityNotFoundError.js.map +1 -1
  1096. package/error/EntityPropertyNotFoundError.d.ts +1 -1
  1097. package/error/EntityPropertyNotFoundError.js.map +1 -1
  1098. package/error/ForbiddenTransactionModeOverrideError.d.ts +1 -1
  1099. package/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  1100. package/error/InitializedRelationError.d.ts +1 -1
  1101. package/error/InitializedRelationError.js.map +1 -1
  1102. package/error/MissingDeleteDateColumnError.d.ts +1 -1
  1103. package/error/MissingDeleteDateColumnError.js.map +1 -1
  1104. package/error/MissingJoinColumnError.d.ts +2 -2
  1105. package/error/MissingJoinColumnError.js.map +1 -1
  1106. package/error/MissingJoinTableError.d.ts +2 -2
  1107. package/error/MissingJoinTableError.js.map +1 -1
  1108. package/error/MissingPrimaryColumnError.d.ts +1 -1
  1109. package/error/MissingPrimaryColumnError.js.map +1 -1
  1110. package/error/RepositoryNotTreeError.d.ts +1 -1
  1111. package/error/RepositoryNotTreeError.js.map +1 -1
  1112. package/error/SubjectRemovedAndUpdatedError.d.ts +1 -1
  1113. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  1114. package/error/SubjectWithoutIdentifierError.d.ts +1 -1
  1115. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  1116. package/error/TreeRepositoryNotSupportedError.d.ts +1 -1
  1117. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  1118. package/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -2
  1119. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  1120. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -2
  1121. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  1122. package/error/UsingJoinTableIsNotAllowedError.d.ts +2 -2
  1123. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  1124. package/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -2
  1125. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  1126. package/find-options/FindManyOptions.d.ts +1 -1
  1127. package/find-options/FindManyOptions.js.map +1 -1
  1128. package/find-options/FindOneOptions.d.ts +5 -5
  1129. package/find-options/FindOneOptions.js.map +1 -1
  1130. package/find-options/FindOperator.d.ts +3 -3
  1131. package/find-options/FindOperator.js.map +1 -1
  1132. package/find-options/FindOperatorType.d.ts +1 -1
  1133. package/find-options/FindOperatorType.js.map +1 -1
  1134. package/find-options/FindOptionsOrder.d.ts +4 -4
  1135. package/find-options/FindOptionsOrder.js.map +1 -1
  1136. package/find-options/FindOptionsRelations.d.ts +4 -4
  1137. package/find-options/FindOptionsRelations.js.map +1 -1
  1138. package/find-options/FindOptionsSelect.d.ts +4 -4
  1139. package/find-options/FindOptionsSelect.js.map +1 -1
  1140. package/find-options/FindOptionsUtils.d.ts +6 -6
  1141. package/find-options/FindOptionsUtils.js +1 -1
  1142. package/find-options/FindOptionsUtils.js.map +1 -1
  1143. package/find-options/FindOptionsWhere.d.ts +9 -5
  1144. package/find-options/FindOptionsWhere.js.map +1 -1
  1145. package/find-options/OrderByCondition.d.ts +1 -1
  1146. package/find-options/mongodb/MongoFindManyOptions.d.ts +1 -1
  1147. package/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  1148. package/find-options/mongodb/MongoFindOneOptions.d.ts +3 -3
  1149. package/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  1150. package/find-options/operator/Equal.d.ts +1 -1
  1151. package/find-options/operator/Equal.js.map +1 -1
  1152. package/find-options/operator/JsonContains.d.ts +6 -0
  1153. package/find-options/operator/JsonContains.js +14 -0
  1154. package/find-options/operator/JsonContains.js.map +1 -0
  1155. package/find-options/operator/Raw.d.ts +1 -1
  1156. package/find-options/operator/Raw.js.map +1 -1
  1157. package/globals.d.ts +12 -12
  1158. package/globals.js.map +1 -1
  1159. package/index.d.ts +3 -0
  1160. package/index.js +5 -1
  1161. package/index.js.map +1 -1
  1162. package/index.mjs +6 -0
  1163. package/logger/AbstractLogger.d.ts +49 -0
  1164. package/logger/AbstractLogger.js +234 -0
  1165. package/logger/AbstractLogger.js.map +1 -0
  1166. package/logger/AdvancedConsoleLogger.d.ts +6 -34
  1167. package/logger/AdvancedConsoleLogger.js +41 -106
  1168. package/logger/AdvancedConsoleLogger.js.map +1 -1
  1169. package/logger/DebugLogger.d.ts +10 -30
  1170. package/logger/DebugLogger.js +56 -75
  1171. package/logger/DebugLogger.js.map +1 -1
  1172. package/logger/FileLogger.d.ts +8 -34
  1173. package/logger/FileLogger.js +50 -97
  1174. package/logger/FileLogger.js.map +1 -1
  1175. package/logger/Logger.d.ts +32 -1
  1176. package/logger/Logger.js.map +1 -1
  1177. package/logger/LoggerFactory.d.ts +2 -2
  1178. package/logger/LoggerFactory.js.map +1 -1
  1179. package/logger/LoggerOptions.d.ts +3 -2
  1180. package/logger/LoggerOptions.js.map +1 -1
  1181. package/logger/SimpleConsoleLogger.d.ts +6 -34
  1182. package/logger/SimpleConsoleLogger.js +43 -106
  1183. package/logger/SimpleConsoleLogger.js.map +1 -1
  1184. package/metadata/CheckMetadata.d.ts +3 -3
  1185. package/metadata/CheckMetadata.js.map +1 -1
  1186. package/metadata/ColumnMetadata.d.ts +8 -8
  1187. package/metadata/ColumnMetadata.js.map +1 -1
  1188. package/metadata/EmbeddedMetadata.d.ts +10 -10
  1189. package/metadata/EmbeddedMetadata.js +1 -1
  1190. package/metadata/EmbeddedMetadata.js.map +1 -1
  1191. package/metadata/EntityListenerMetadata.d.ts +5 -5
  1192. package/metadata/EntityListenerMetadata.js.map +1 -1
  1193. package/metadata/EntityMetadata.d.ts +20 -20
  1194. package/metadata/EntityMetadata.js.map +1 -1
  1195. package/metadata/ExclusionMetadata.d.ts +3 -3
  1196. package/metadata/ExclusionMetadata.js.map +1 -1
  1197. package/metadata/ForeignKeyMetadata.d.ts +6 -6
  1198. package/metadata/ForeignKeyMetadata.js.map +1 -1
  1199. package/metadata/IndexMetadata.d.ts +5 -5
  1200. package/metadata/IndexMetadata.js.map +1 -1
  1201. package/metadata/RelationCountMetadata.d.ts +4 -4
  1202. package/metadata/RelationCountMetadata.js.map +1 -1
  1203. package/metadata/RelationIdMetadata.d.ts +5 -5
  1204. package/metadata/RelationIdMetadata.js.map +1 -1
  1205. package/metadata/RelationMetadata.d.ts +10 -10
  1206. package/metadata/RelationMetadata.js.map +1 -1
  1207. package/metadata/UniqueMetadata.d.ts +6 -6
  1208. package/metadata/UniqueMetadata.js.map +1 -1
  1209. package/metadata/types/ClosureTreeOptions.d.ts +1 -1
  1210. package/metadata/types/ClosureTreeOptions.js.map +1 -1
  1211. package/metadata/types/DeferrableType.d.ts +1 -1
  1212. package/metadata/types/EventListenerTypes.d.ts +1 -1
  1213. package/metadata/types/OnDeleteType.d.ts +1 -1
  1214. package/metadata/types/OnUpdateType.d.ts +1 -1
  1215. package/metadata/types/PropertyTypeInFunction.d.ts +1 -1
  1216. package/metadata/types/RelationTypeInFunction.d.ts +2 -2
  1217. package/metadata/types/RelationTypeInFunction.js.map +1 -1
  1218. package/metadata/types/RelationTypes.d.ts +1 -1
  1219. package/metadata/types/TableTypes.d.ts +1 -1
  1220. package/metadata/types/TreeTypes.d.ts +1 -1
  1221. package/metadata-args/ColumnMetadataArgs.d.ts +2 -2
  1222. package/metadata-args/ColumnMetadataArgs.js.map +1 -1
  1223. package/metadata-args/EntityListenerMetadataArgs.d.ts +1 -1
  1224. package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  1225. package/metadata-args/EntityRepositoryMetadataArgs.d.ts +1 -1
  1226. package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  1227. package/metadata-args/InheritanceMetadataArgs.d.ts +1 -1
  1228. package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  1229. package/metadata-args/JoinTableMetadataArgs.d.ts +1 -1
  1230. package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  1231. package/metadata-args/MetadataArgsStorage.d.ts +22 -22
  1232. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  1233. package/metadata-args/RelationCountMetadataArgs.d.ts +1 -1
  1234. package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  1235. package/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
  1236. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  1237. package/metadata-args/RelationMetadataArgs.d.ts +4 -4
  1238. package/metadata-args/RelationMetadataArgs.js.map +1 -1
  1239. package/metadata-args/TableMetadataArgs.d.ts +3 -3
  1240. package/metadata-args/TableMetadataArgs.js.map +1 -1
  1241. package/metadata-args/TreeMetadataArgs.d.ts +2 -2
  1242. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  1243. package/metadata-args/UniqueMetadataArgs.d.ts +1 -1
  1244. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  1245. package/metadata-args/types/ColumnMode.d.ts +1 -1
  1246. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -1
  1247. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  1248. package/metadata-builder/EntityMetadataBuilder.d.ts +4 -4
  1249. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  1250. package/metadata-builder/EntityMetadataValidator.d.ts +2 -2
  1251. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  1252. package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -3
  1253. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  1254. package/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -3
  1255. package/metadata-builder/RelationJoinColumnBuilder.js +2 -1
  1256. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  1257. package/migration/Migration.d.ts +1 -1
  1258. package/migration/Migration.js.map +1 -1
  1259. package/migration/MigrationExecutor.d.ts +2 -2
  1260. package/migration/MigrationExecutor.js +3 -3
  1261. package/migration/MigrationExecutor.js.map +1 -1
  1262. package/migration/MigrationInterface.d.ts +1 -1
  1263. package/migration/MigrationInterface.js.map +1 -1
  1264. package/naming-strategy/DefaultNamingStrategy.d.ts +2 -2
  1265. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  1266. package/naming-strategy/LegacyOracleNamingStrategy.d.ts +21 -0
  1267. package/naming-strategy/LegacyOracleNamingStrategy.js +50 -0
  1268. package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -0
  1269. package/naming-strategy/NamingStrategyInterface.d.ts +2 -2
  1270. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  1271. package/package.json +273 -1
  1272. package/persistence/EntityPersistExecutor.d.ts +5 -5
  1273. package/persistence/EntityPersistExecutor.js +1 -1
  1274. package/persistence/EntityPersistExecutor.js.map +1 -1
  1275. package/persistence/Subject.d.ts +5 -5
  1276. package/persistence/Subject.js.map +1 -1
  1277. package/persistence/SubjectChangeMap.d.ts +3 -3
  1278. package/persistence/SubjectChangeMap.js.map +1 -1
  1279. package/persistence/SubjectChangedColumnsComputer.d.ts +1 -1
  1280. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  1281. package/persistence/SubjectDatabaseEntityLoader.d.ts +3 -3
  1282. package/persistence/SubjectDatabaseEntityLoader.js +1 -1
  1283. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  1284. package/persistence/SubjectExecutor.d.ts +4 -4
  1285. package/persistence/SubjectExecutor.js +1 -1
  1286. package/persistence/SubjectExecutor.js.map +1 -1
  1287. package/persistence/SubjectTopoligicalSorter.d.ts +2 -2
  1288. package/persistence/SubjectTopoligicalSorter.js +7 -11
  1289. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  1290. package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
  1291. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  1292. package/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +2 -2
  1293. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  1294. package/persistence/subject-builder/OneToManySubjectBuilder.d.ts +1 -1
  1295. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1296. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +1 -1
  1297. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  1298. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1299. package/persistence/tree/ClosureSubjectExecutor.d.ts +2 -2
  1300. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1301. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -2
  1302. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1303. package/persistence/tree/NestedSetSubjectExecutor.d.ts +4 -4
  1304. package/persistence/tree/NestedSetSubjectExecutor.js +2 -2
  1305. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1306. package/platform/PlatformTools.d.ts +2 -0
  1307. package/platform/PlatformTools.js +6 -0
  1308. package/platform/PlatformTools.js.map +1 -1
  1309. package/query-builder/Alias.d.ts +1 -1
  1310. package/query-builder/Alias.js.map +1 -1
  1311. package/query-builder/Brackets.d.ts +1 -1
  1312. package/query-builder/Brackets.js.map +1 -1
  1313. package/query-builder/DeleteQueryBuilder.d.ts +6 -6
  1314. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1315. package/query-builder/InsertOrUpdateOptions.d.ts +2 -2
  1316. package/query-builder/InsertOrUpdateOptions.js.map +1 -1
  1317. package/query-builder/InsertQueryBuilder.d.ts +5 -5
  1318. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1319. package/query-builder/JoinAttribute.d.ts +5 -5
  1320. package/query-builder/JoinAttribute.js +2 -2
  1321. package/query-builder/JoinAttribute.js.map +1 -1
  1322. package/query-builder/QueryBuilder.d.ts +18 -18
  1323. package/query-builder/QueryBuilder.js +3 -1
  1324. package/query-builder/QueryBuilder.js.map +1 -1
  1325. package/query-builder/QueryExpressionMap.d.ts +12 -12
  1326. package/query-builder/QueryExpressionMap.js.map +1 -1
  1327. package/query-builder/QueryPartialEntity.d.ts +4 -4
  1328. package/query-builder/QueryPartialEntity.js.map +1 -1
  1329. package/query-builder/RelationIdLoader.d.ts +4 -4
  1330. package/query-builder/RelationIdLoader.js +2 -2
  1331. package/query-builder/RelationIdLoader.js.map +1 -1
  1332. package/query-builder/RelationLoader.d.ts +5 -5
  1333. package/query-builder/RelationLoader.js.map +1 -1
  1334. package/query-builder/RelationQueryBuilder.d.ts +1 -1
  1335. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1336. package/query-builder/RelationRemover.d.ts +2 -2
  1337. package/query-builder/RelationRemover.js.map +1 -1
  1338. package/query-builder/RelationUpdater.d.ts +2 -2
  1339. package/query-builder/RelationUpdater.js.map +1 -1
  1340. package/query-builder/ReturningResultsEntityUpdator.d.ts +6 -6
  1341. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1342. package/query-builder/SelectQueryBuilder.d.ts +18 -18
  1343. package/query-builder/SelectQueryBuilder.js +12 -8
  1344. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1345. package/query-builder/SelectQueryBuilderOption.d.ts +1 -1
  1346. package/query-builder/SoftDeleteQueryBuilder.d.ts +7 -7
  1347. package/query-builder/SoftDeleteQueryBuilder.js +1 -1
  1348. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1349. package/query-builder/UpdateQueryBuilder.d.ts +7 -7
  1350. package/query-builder/UpdateQueryBuilder.js +3 -3
  1351. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1352. package/query-builder/WhereClause.d.ts +3 -3
  1353. package/query-builder/WhereClause.js.map +1 -1
  1354. package/query-builder/WhereExpressionBuilder.d.ts +3 -4
  1355. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  1356. package/query-builder/relation-count/RelationCountAttribute.d.ts +4 -4
  1357. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  1358. package/query-builder/relation-count/RelationCountLoadResult.d.ts +1 -1
  1359. package/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  1360. package/query-builder/relation-count/RelationCountLoader.d.ts +4 -4
  1361. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  1362. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +1 -1
  1363. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  1364. package/query-builder/relation-id/RelationIdAttribute.d.ts +4 -4
  1365. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1366. package/query-builder/relation-id/RelationIdLoadResult.d.ts +1 -1
  1367. package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  1368. package/query-builder/relation-id/RelationIdLoader.d.ts +4 -4
  1369. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1370. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +1 -1
  1371. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  1372. package/query-builder/result/DeleteResult.d.ts +1 -1
  1373. package/query-builder/result/DeleteResult.js.map +1 -1
  1374. package/query-builder/result/InsertResult.d.ts +2 -2
  1375. package/query-builder/result/InsertResult.js.map +1 -1
  1376. package/query-builder/result/UpdateResult.d.ts +2 -2
  1377. package/query-builder/result/UpdateResult.js.map +1 -1
  1378. package/query-builder/transformer/DocumentToEntityTransformer.d.ts +2 -2
  1379. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1380. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +3 -3
  1381. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1382. package/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +2 -2
  1383. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1384. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +8 -8
  1385. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +1 -1
  1386. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1387. package/query-runner/BaseQueryRunner.d.ts +11 -11
  1388. package/query-runner/BaseQueryRunner.js.map +1 -1
  1389. package/query-runner/QueryRunner.d.ts +17 -17
  1390. package/query-runner/QueryRunner.js.map +1 -1
  1391. package/repository/AbstractRepository.d.ts +6 -6
  1392. package/repository/AbstractRepository.js.map +1 -1
  1393. package/repository/BaseEntity.d.ts +41 -16
  1394. package/repository/BaseEntity.js +24 -0
  1395. package/repository/BaseEntity.js.map +1 -1
  1396. package/repository/EntityId.d.ts +2 -2
  1397. package/repository/EntityId.js.map +1 -1
  1398. package/repository/MongoRepository.d.ts +8 -8
  1399. package/repository/MongoRepository.js.map +1 -1
  1400. package/repository/Repository.d.ts +34 -17
  1401. package/repository/Repository.js +32 -8
  1402. package/repository/Repository.js.map +1 -1
  1403. package/repository/TreeRepository.d.ts +3 -3
  1404. package/repository/TreeRepository.js.map +1 -1
  1405. package/repository/UpsertOptions.d.ts +2 -2
  1406. package/repository/UpsertOptions.js.map +1 -1
  1407. package/schema-builder/MongoSchemaBuilder.d.ts +2 -2
  1408. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  1409. package/schema-builder/RdbmsSchemaBuilder.d.ts +7 -7
  1410. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1411. package/schema-builder/SchemaBuilder.d.ts +1 -1
  1412. package/schema-builder/SchemaBuilder.js.map +1 -1
  1413. package/schema-builder/options/TableOptions.d.ts +6 -6
  1414. package/schema-builder/options/TableOptions.js.map +1 -1
  1415. package/schema-builder/options/ViewOptions.d.ts +1 -1
  1416. package/schema-builder/options/ViewOptions.js.map +1 -1
  1417. package/schema-builder/table/Table.d.ts +3 -3
  1418. package/schema-builder/table/Table.js.map +1 -1
  1419. package/schema-builder/table/TableCheck.d.ts +2 -2
  1420. package/schema-builder/table/TableCheck.js.map +1 -1
  1421. package/schema-builder/table/TableColumn.d.ts +1 -1
  1422. package/schema-builder/table/TableColumn.js.map +1 -1
  1423. package/schema-builder/table/TableExclusion.d.ts +2 -2
  1424. package/schema-builder/table/TableExclusion.js.map +1 -1
  1425. package/schema-builder/table/TableForeignKey.d.ts +3 -3
  1426. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1427. package/schema-builder/table/TableIndex.d.ts +2 -2
  1428. package/schema-builder/table/TableIndex.js.map +1 -1
  1429. package/schema-builder/table/TableUnique.d.ts +2 -2
  1430. package/schema-builder/table/TableUnique.js.map +1 -1
  1431. package/schema-builder/util/TableUtils.d.ts +3 -3
  1432. package/schema-builder/util/TableUtils.js.map +1 -1
  1433. package/schema-builder/util/ViewUtils.d.ts +1 -1
  1434. package/schema-builder/util/ViewUtils.js.map +1 -1
  1435. package/schema-builder/view/View.d.ts +2 -2
  1436. package/schema-builder/view/View.js.map +1 -1
  1437. package/subscriber/Broadcaster.d.ts +6 -6
  1438. package/subscriber/Broadcaster.js.map +1 -1
  1439. package/subscriber/BroadcasterResult.js.map +1 -1
  1440. package/subscriber/EntitySubscriberInterface.d.ts +9 -9
  1441. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  1442. package/subscriber/event/InsertEvent.d.ts +4 -4
  1443. package/subscriber/event/InsertEvent.js.map +1 -1
  1444. package/subscriber/event/LoadEvent.d.ts +4 -4
  1445. package/subscriber/event/LoadEvent.js.map +1 -1
  1446. package/subscriber/event/RecoverEvent.d.ts +2 -3
  1447. package/subscriber/event/RecoverEvent.js.map +1 -1
  1448. package/subscriber/event/RemoveEvent.d.ts +4 -4
  1449. package/subscriber/event/RemoveEvent.js.map +1 -1
  1450. package/subscriber/event/SoftRemoveEvent.d.ts +2 -3
  1451. package/subscriber/event/SoftRemoveEvent.js.map +1 -1
  1452. package/subscriber/event/TransactionCommitEvent.d.ts +3 -3
  1453. package/subscriber/event/TransactionCommitEvent.js.map +1 -1
  1454. package/subscriber/event/TransactionRollbackEvent.d.ts +3 -3
  1455. package/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  1456. package/subscriber/event/TransactionStartEvent.d.ts +3 -3
  1457. package/subscriber/event/TransactionStartEvent.js.map +1 -1
  1458. package/subscriber/event/UpdateEvent.d.ts +7 -7
  1459. package/subscriber/event/UpdateEvent.js.map +1 -1
  1460. package/util/ApplyValueTransformers.d.ts +1 -1
  1461. package/util/ApplyValueTransformers.js.map +1 -1
  1462. package/util/DateUtils.d.ts +1 -1
  1463. package/util/DateUtils.js.map +1 -1
  1464. package/util/DepGraph.js +14 -14
  1465. package/util/DepGraph.js.map +1 -1
  1466. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  1467. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1468. package/util/InstanceChecker.d.ts +2 -2
  1469. package/util/InstanceChecker.js.map +1 -1
  1470. package/util/ObjectUtils.d.ts +1 -1
  1471. package/util/ObjectUtils.js.map +1 -1
  1472. package/util/OrmUtils.d.ts +1 -1
  1473. package/util/OrmUtils.js +4 -4
  1474. package/util/OrmUtils.js.map +1 -1
  1475. package/util/RandomGenerator.js +6 -6
  1476. package/util/RandomGenerator.js.map +1 -1
  1477. package/util/StringUtils.js.map +1 -1
  1478. package/util/TreeRepositoryUtils.d.ts +3 -3
  1479. package/util/TreeRepositoryUtils.js.map +1 -1
  1480. package/util/VersionUtils.d.ts +1 -1
  1481. package/util/VersionUtils.js.map +1 -1
  1482. package/util/escapeRegExp.d.ts +1 -1
  1483. package/util/escapeRegExp.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/query-builder/InsertQueryBuilder.ts"],"names":[],"mappings":"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","file":"InsertQueryBuilder.js","sourcesContent":["import { v4 as uuidv4 } from \"uuid\"\nimport { EntityTarget } from \"../common/EntityTarget\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { AuroraMysqlDriver } from \"../driver/aurora-mysql/AuroraMysqlDriver\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport { MysqlDriver } from \"../driver/mysql/MysqlDriver\"\nimport { SqlServerDriver } from \"../driver/sqlserver/SqlServerDriver\"\nimport { TypeORMError } from \"../error\"\nimport { InsertValuesMissingError } from \"../error/InsertValuesMissingError\"\nimport { ReturningStatementNotSupportedError } from \"../error/ReturningStatementNotSupportedError\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { BroadcasterResult } from \"../subscriber/BroadcasterResult\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { InsertOrUpdateOptions } from \"./InsertOrUpdateOptions\"\nimport { QueryBuilder } from \"./QueryBuilder\"\nimport { QueryDeepPartialEntity } from \"./QueryPartialEntity\"\nimport { InsertResult } from \"./result/InsertResult\"\nimport { ReturningResultsEntityUpdator } from \"./ReturningResultsEntityUpdator\"\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport class InsertQueryBuilder<\n Entity extends ObjectLiteral,\n> extends QueryBuilder<Entity> {\n readonly \"@instanceof\" = Symbol.for(\"InsertQueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n getQuery(): string {\n let sql = this.createComment()\n sql += this.createCteExpression()\n sql += this.createInsertExpression()\n return sql.trim()\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<InsertResult> {\n // console.time(\".value sets\");\n const valueSets: ObjectLiteral[] = this.getValueSets()\n // console.timeEnd(\".value sets\");\n\n // If user passed empty array of entities then we don't need to do\n // anything.\n //\n // Fixes GitHub issues #3111 and #5734. If we were to let this through\n // we would run into problems downstream, like subscribers getting\n // invoked with the empty array where they expect an entity, and SQL\n // queries with an empty VALUES clause.\n if (valueSets.length === 0) return new InsertResult()\n\n // console.time(\"QueryBuilder.execute\");\n // console.time(\".database stuff\");\n const queryRunner = this.obtainQueryRunner()\n let transactionStartedByUs: boolean = false\n\n try {\n // start transaction if it was enabled\n if (\n this.expressionMap.useTransaction === true &&\n queryRunner.isTransactionActive === false\n ) {\n await queryRunner.startTransaction()\n transactionStartedByUs = true\n }\n\n // console.timeEnd(\".database stuff\");\n\n // call before insertion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n const broadcastResult = new BroadcasterResult()\n valueSets.forEach((valueSet) => {\n queryRunner.broadcaster.broadcastBeforeInsertEvent(\n broadcastResult,\n this.expressionMap.mainAlias!.metadata,\n valueSet,\n )\n })\n await broadcastResult.wait()\n }\n\n let declareSql: string | null = null\n let selectOutputSql: string | null = null\n\n // if update entity mode is enabled we may need extra columns for the returning statement\n // console.time(\".prepare returning statement\");\n const returningResultsEntityUpdator =\n new ReturningResultsEntityUpdator(\n queryRunner,\n this.expressionMap,\n )\n\n const returningColumns: ColumnMetadata[] = []\n\n if (\n Array.isArray(this.expressionMap.returning) &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n for (const columnPath of this.expressionMap.returning) {\n returningColumns.push(\n ...this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(\n columnPath,\n ),\n )\n }\n }\n\n if (\n this.expressionMap.updateEntity === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n if (\n !(\n valueSets.length > 1 &&\n this.connection.driver.options.type === \"oracle\"\n )\n ) {\n this.expressionMap.extraReturningColumns =\n this.expressionMap.mainAlias!.metadata.getInsertionReturningColumns()\n }\n\n returningColumns.push(\n ...this.expressionMap.extraReturningColumns.filter(\n (c) => !returningColumns.includes(c),\n ),\n )\n }\n\n if (\n returningColumns.length > 0 &&\n this.connection.driver.options.type === \"mssql\"\n ) {\n declareSql = (\n this.connection.driver as SqlServerDriver\n ).buildTableVariableDeclaration(\n \"@OutputTable\",\n returningColumns,\n )\n selectOutputSql = `SELECT * FROM @OutputTable`\n }\n // console.timeEnd(\".prepare returning statement\");\n\n // execute query\n // console.time(\".getting query and parameters\");\n const [insertSql, parameters] = this.getQueryAndParameters()\n // console.timeEnd(\".getting query and parameters\");\n\n // console.time(\".query execution by database\");\n const statements = [declareSql, insertSql, selectOutputSql]\n const sql = statements.filter((s) => s != null).join(\";\\n\\n\")\n\n const queryResult = await queryRunner.query(sql, parameters, true)\n\n const insertResult = InsertResult.from(queryResult)\n\n // console.timeEnd(\".query execution by database\");\n\n // load returning results and set them to the entity if entity updation is enabled\n if (\n this.expressionMap.updateEntity === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n // console.time(\".updating entity\");\n await returningResultsEntityUpdator.insert(\n insertResult,\n valueSets,\n )\n // console.timeEnd(\".updating entity\");\n }\n\n // call after insertion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n const broadcastResult = new BroadcasterResult()\n valueSets.forEach((valueSet) => {\n queryRunner.broadcaster.broadcastAfterInsertEvent(\n broadcastResult,\n this.expressionMap.mainAlias!.metadata,\n valueSet,\n )\n })\n await broadcastResult.wait()\n }\n\n // close transaction if we started it\n // console.time(\".commit\");\n if (transactionStartedByUs) {\n await queryRunner.commitTransaction()\n }\n // console.timeEnd(\".commit\");\n\n return insertResult\n } catch (error) {\n // rollback transaction if we started it\n if (transactionStartedByUs) {\n try {\n await queryRunner.rollbackTransaction()\n } catch (rollbackError) {}\n }\n throw error\n } finally {\n // console.time(\".releasing connection\");\n if (queryRunner !== this.queryRunner) {\n // means we created our own query runner\n await queryRunner.release()\n }\n // console.timeEnd(\".releasing connection\");\n // console.timeEnd(\"QueryBuilder.execute\");\n }\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Specifies INTO which entity's table insertion will be executed.\n */\n into<T extends ObjectLiteral>(\n entityTarget: EntityTarget<T>,\n columns?: string[],\n ): InsertQueryBuilder<T> {\n entityTarget = InstanceChecker.isEntitySchema(entityTarget)\n ? entityTarget.options.name\n : entityTarget\n const mainAlias = this.createFromAlias(entityTarget)\n this.expressionMap.setMainAlias(mainAlias)\n this.expressionMap.insertColumns = columns || []\n return this as any as InsertQueryBuilder<T>\n }\n\n /**\n * Values needs to be inserted into table.\n */\n values(\n values:\n | QueryDeepPartialEntity<Entity>\n | QueryDeepPartialEntity<Entity>[],\n ): this {\n this.expressionMap.valuesSet = values\n return this\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n output(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n output(output: string): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this {\n return this.returning(output)\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n returning(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n returning(returning: string): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this {\n // not all databases support returning/output cause\n if (!this.connection.driver.isReturningSqlSupported(\"insert\")) {\n throw new ReturningStatementNotSupportedError()\n }\n\n this.expressionMap.returning = returning\n return this\n }\n\n /**\n * Indicates if entity must be updated after insertion operations.\n * This may produce extra query or use RETURNING / OUTPUT statement (depend on database).\n * Enabled by default.\n */\n updateEntity(enabled: boolean): this {\n this.expressionMap.updateEntity = enabled\n return this\n }\n\n /**\n * Adds additional ON CONFLICT statement supported in postgres and cockroach.\n *\n * @deprecated Use `orIgnore` or `orUpdate`\n */\n onConflict(statement: string): this {\n this.expressionMap.onConflict = statement\n return this\n }\n\n /**\n * Adds additional ignore statement supported in databases.\n */\n orIgnore(statement: string | boolean = true): this {\n this.expressionMap.onIgnore = !!statement\n return this\n }\n\n /**\n * @deprecated\n *\n * `.orUpdate({ columns: [ \"is_updated\" ] }).setParameter(\"is_updated\", value)`\n *\n * is now `.orUpdate([\"is_updated\"])`\n *\n * `.orUpdate({ conflict_target: ['date'], overwrite: ['title'] })`\n *\n * is now `.orUpdate(['title'], ['date'])`\n *\n */\n orUpdate(statement?: {\n columns?: string[]\n overwrite?: string[]\n conflict_target?: string | string[]\n }): this\n\n orUpdate(\n overwrite: string[],\n conflictTarget?: string | string[],\n orUpdateOptions?: InsertOrUpdateOptions,\n ): this\n\n /**\n * Adds additional update statement supported in databases.\n */\n orUpdate(\n statementOrOverwrite?:\n | {\n columns?: string[]\n overwrite?: string[]\n conflict_target?: string | string[]\n }\n | string[],\n conflictTarget?: string | string[],\n orUpdateOptions?: InsertOrUpdateOptions,\n ): this {\n if (!Array.isArray(statementOrOverwrite)) {\n this.expressionMap.onUpdate = {\n conflict: statementOrOverwrite?.conflict_target,\n columns: statementOrOverwrite?.columns,\n overwrite: statementOrOverwrite?.overwrite,\n skipUpdateIfNoValuesChanged:\n orUpdateOptions?.skipUpdateIfNoValuesChanged,\n upsertType: orUpdateOptions?.upsertType,\n }\n return this\n }\n\n this.expressionMap.onUpdate = {\n overwrite: statementOrOverwrite,\n conflict: conflictTarget,\n skipUpdateIfNoValuesChanged:\n orUpdateOptions?.skipUpdateIfNoValuesChanged,\n indexPredicate: orUpdateOptions?.indexPredicate,\n upsertType: orUpdateOptions?.upsertType,\n }\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates INSERT express used to perform insert query.\n */\n protected createInsertExpression() {\n const tableName = this.getTableName(this.getMainTableName())\n const valuesExpression = this.createValuesExpression() // its important to get values before returning expression because oracle rely on native parameters and ordering of them is important\n const returningExpression =\n this.connection.driver.options.type === \"oracle\" &&\n this.getValueSets().length > 1\n ? null\n : this.createReturningExpression(\"insert\") // oracle doesnt support returning with multi-row insert\n const columnsExpression = this.createColumnNamesExpression()\n let query = \"INSERT \"\n\n if (this.expressionMap.onUpdate?.upsertType === \"primary-key\") {\n query = \"UPSERT \"\n }\n\n if (\n DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\"\n ) {\n query += `${this.expressionMap.onIgnore ? \" IGNORE \" : \"\"}`\n }\n\n query += `INTO ${tableName}`\n\n if (\n this.alias !== this.getMainTableName() &&\n DriverUtils.isPostgresFamily(this.connection.driver)\n ) {\n query += ` AS \"${this.alias}\"`\n }\n\n // add columns expression\n if (columnsExpression) {\n query += `(${columnsExpression})`\n } else {\n if (\n !valuesExpression &&\n (DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\")\n )\n // special syntax for mysql DEFAULT VALUES insertion\n query += \"()\"\n }\n\n // add OUTPUT expression\n if (\n returningExpression &&\n this.connection.driver.options.type === \"mssql\"\n ) {\n query += ` OUTPUT ${returningExpression}`\n }\n\n // add VALUES expression\n if (valuesExpression) {\n if (\n this.connection.driver.options.type === \"oracle\" &&\n this.getValueSets().length > 1\n ) {\n query += ` ${valuesExpression}`\n } else {\n query += ` VALUES ${valuesExpression}`\n }\n } else {\n if (\n DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\"\n ) {\n // special syntax for mysql DEFAULT VALUES insertion\n query += \" VALUES ()\"\n } else {\n query += ` DEFAULT VALUES`\n }\n }\n if (this.expressionMap.onUpdate?.upsertType !== \"primary-key\") {\n if (\n this.connection.driver.supportedUpsertTypes.includes(\n \"on-conflict-do-update\",\n )\n ) {\n if (this.expressionMap.onIgnore) {\n query += \" ON CONFLICT DO NOTHING \"\n } else if (this.expressionMap.onConflict) {\n query += ` ON CONFLICT ${this.expressionMap.onConflict} `\n } else if (this.expressionMap.onUpdate) {\n const {\n overwrite,\n columns,\n conflict,\n skipUpdateIfNoValuesChanged,\n indexPredicate,\n } = this.expressionMap.onUpdate\n\n let conflictTarget = \"ON CONFLICT\"\n\n if (Array.isArray(conflict)) {\n conflictTarget += ` ( ${conflict\n .map((column) => this.escape(column))\n .join(\", \")} )`\n if (\n indexPredicate &&\n !DriverUtils.isPostgresFamily(\n this.connection.driver,\n )\n ) {\n throw new TypeORMError(\n `indexPredicate option is not supported by the current database driver`,\n )\n }\n if (\n indexPredicate &&\n DriverUtils.isPostgresFamily(this.connection.driver)\n ) {\n conflictTarget += ` WHERE ( ${this.escape(\n indexPredicate,\n )} )`\n }\n } else if (conflict) {\n conflictTarget += ` ON CONSTRAINT ${this.escape(\n conflict,\n )}`\n }\n\n if (Array.isArray(overwrite)) {\n query += ` ${conflictTarget} DO UPDATE SET `\n query += overwrite\n ?.map(\n (column) =>\n `${this.escape(\n column,\n )} = EXCLUDED.${this.escape(column)}`,\n )\n .join(\", \")\n query += \" \"\n } else if (columns) {\n query += ` ${conflictTarget} DO UPDATE SET `\n query += columns\n .map(\n (column) =>\n `${this.escape(column)} = :${column}`,\n )\n .join(\", \")\n query += \" \"\n }\n\n if (\n Array.isArray(overwrite) &&\n skipUpdateIfNoValuesChanged &&\n DriverUtils.isPostgresFamily(this.connection.driver)\n ) {\n query += ` WHERE (`\n query += overwrite\n .map(\n (column) =>\n `${tableName}.${this.escape(\n column,\n )} IS DISTINCT FROM EXCLUDED.${this.escape(\n column,\n )}`,\n )\n .join(\" OR \")\n query += \") \"\n }\n }\n } else if (\n this.connection.driver.supportedUpsertTypes.includes(\n \"on-duplicate-key-update\",\n )\n ) {\n if (this.expressionMap.onUpdate) {\n const { overwrite, columns } = this.expressionMap.onUpdate\n\n if (Array.isArray(overwrite)) {\n query += \" ON DUPLICATE KEY UPDATE \"\n query += overwrite\n .map(\n (column) =>\n `${this.escape(\n column,\n )} = VALUES(${this.escape(column)})`,\n )\n .join(\", \")\n query += \" \"\n } else if (Array.isArray(columns)) {\n query += \" ON DUPLICATE KEY UPDATE \"\n query += columns\n .map(\n (column) =>\n `${this.escape(column)} = :${column}`,\n )\n .join(\", \")\n query += \" \"\n }\n }\n } else {\n if (this.expressionMap.onUpdate) {\n throw new TypeORMError(\n `onUpdate is not supported by the current database driver`,\n )\n }\n }\n }\n\n // add RETURNING expression\n if (\n returningExpression &&\n (DriverUtils.isPostgresFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"oracle\" ||\n this.connection.driver.options.type === \"cockroachdb\" ||\n DriverUtils.isMySQLFamily(this.connection.driver))\n ) {\n query += ` RETURNING ${returningExpression}`\n }\n\n // Inserting a specific value for an auto-increment primary key in mssql requires enabling IDENTITY_INSERT\n // IDENTITY_INSERT can only be enabled for tables where there is an IDENTITY column and only if there is a value to be inserted (i.e. supplying DEFAULT is prohibited if IDENTITY_INSERT is enabled)\n if (\n this.connection.driver.options.type === \"mssql\" &&\n this.expressionMap.mainAlias!.hasMetadata &&\n this.expressionMap\n .mainAlias!.metadata.columns.filter((column) =>\n this.expressionMap.insertColumns.length > 0\n ? this.expressionMap.insertColumns.indexOf(\n column.propertyPath,\n ) !== -1\n : column.isInsert,\n )\n .some((column) =>\n this.isOverridingAutoIncrementBehavior(column),\n )\n ) {\n query = `SET IDENTITY_INSERT ${tableName} ON; ${query}; SET IDENTITY_INSERT ${tableName} OFF`\n }\n\n return query\n }\n\n /**\n * Gets list of columns where values must be inserted to.\n */\n protected getInsertedColumns(): ColumnMetadata[] {\n if (!this.expressionMap.mainAlias!.hasMetadata) return []\n\n return this.expressionMap.mainAlias!.metadata.columns.filter(\n (column) => {\n // if user specified list of columns he wants to insert to, then we filter only them\n if (this.expressionMap.insertColumns.length)\n return (\n this.expressionMap.insertColumns.indexOf(\n column.propertyPath,\n ) !== -1\n )\n\n // skip columns the user doesn't want included by default\n if (!column.isInsert) {\n return false\n }\n\n // if user did not specified such list then return all columns except auto-increment one\n // for Oracle we return auto-increment column as well because Oracle does not support DEFAULT VALUES expression\n if (\n column.isGenerated &&\n column.generationStrategy === \"increment\" &&\n !(this.connection.driver.options.type === \"spanner\") &&\n !(this.connection.driver.options.type === \"oracle\") &&\n !DriverUtils.isSQLiteFamily(this.connection.driver) &&\n !DriverUtils.isMySQLFamily(this.connection.driver) &&\n !(this.connection.driver.options.type === \"aurora-mysql\") &&\n !(\n this.connection.driver.options.type === \"mssql\" &&\n this.isOverridingAutoIncrementBehavior(column)\n )\n )\n return false\n\n return true\n },\n )\n }\n\n /**\n * Creates a columns string where values must be inserted to for INSERT INTO expression.\n */\n protected createColumnNamesExpression(): string {\n const columns = this.getInsertedColumns()\n if (columns.length > 0)\n return columns\n .map((column) => this.escape(column.databaseName))\n .join(\", \")\n\n // in the case if there are no insert columns specified and table without metadata used\n // we get columns from the inserted value map, in the case if only one inserted map is specified\n if (\n !this.expressionMap.mainAlias!.hasMetadata &&\n !this.expressionMap.insertColumns.length\n ) {\n const valueSets = this.getValueSets()\n if (valueSets.length === 1)\n return Object.keys(valueSets[0])\n .map((columnName) => this.escape(columnName))\n .join(\", \")\n }\n\n // get a table name and all column database names\n return this.expressionMap.insertColumns\n .map((columnName) => this.escape(columnName))\n .join(\", \")\n }\n\n /**\n * Creates list of values needs to be inserted in the VALUES expression.\n */\n protected createValuesExpression(): string {\n const valueSets = this.getValueSets()\n const columns = this.getInsertedColumns()\n\n // if column metadatas are given then apply all necessary operations with values\n if (columns.length > 0) {\n let expression = \"\"\n valueSets.forEach((valueSet, valueSetIndex) => {\n columns.forEach((column, columnIndex) => {\n if (columnIndex === 0) {\n if (\n this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1\n ) {\n expression += \" SELECT \"\n } else if (\n this.connection.driver.options.type === \"sap\" &&\n valueSets.length > 1\n ) {\n expression += \" SELECT \"\n } else {\n expression += \"(\"\n }\n }\n\n // extract real value from the entity\n let value = column.getEntityValue(valueSet)\n\n // if column is relational and value is an object then get real referenced column value from this object\n // for example column value is { question: { id: 1 } }, value will be equal to { id: 1 }\n // and we extract \"1\" from this object\n /*if (column.referencedColumn && value instanceof Object && !(typeof value === \"function\")) { // todo: check if we still need it since getEntityValue already has similar code\n value = column.referencedColumn.getEntityValue(value);\n }*/\n\n if (!(typeof value === \"function\")) {\n // make sure our value is normalized by a driver\n value = this.connection.driver.preparePersistentValue(\n value,\n column,\n )\n }\n\n // newly inserted entities always have a version equal to 1 (first version)\n // also, user-specified version must be empty\n if (column.isVersion && value === undefined) {\n expression += \"1\"\n\n // } else if (column.isNestedSetLeft) {\n // const tableName = this.connection.driver.escape(column.entityMetadata.tablePath);\n // const rightColumnName = this.connection.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);\n // const subQuery = `(SELECT c.max + 1 FROM (SELECT MAX(${rightColumnName}) as max from ${tableName}) c)`;\n // expression += subQuery;\n //\n // } else if (column.isNestedSetRight) {\n // const tableName = this.connection.driver.escape(column.entityMetadata.tablePath);\n // const rightColumnName = this.connection.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);\n // const subQuery = `(SELECT c.max + 2 FROM (SELECT MAX(${rightColumnName}) as max from ${tableName}) c)`;\n // expression += subQuery;\n } else if (column.isDiscriminator) {\n expression += this.createParameter(\n this.expressionMap.mainAlias!.metadata\n .discriminatorValue,\n )\n // return \"1\";\n\n // for create and update dates we insert current date\n // no, we don't do it because this constant is already in \"default\" value of the column\n // with extended timestamp functionality, like CURRENT_TIMESTAMP(6) for example\n // } else if (column.isCreateDate || column.isUpdateDate) {\n // return \"CURRENT_TIMESTAMP\";\n\n // if column is generated uuid and database does not support its generation and custom generated value was not provided by a user - we generate a new uuid value for insertion\n } else if (\n column.isGenerated &&\n column.generationStrategy === \"uuid\" &&\n !this.connection.driver.isUUIDGenerationSupported() &&\n value === undefined\n ) {\n value = uuidv4()\n expression += this.createParameter(value)\n\n if (\n !(\n valueSetIndex in\n this.expressionMap.locallyGenerated\n )\n ) {\n this.expressionMap.locallyGenerated[valueSetIndex] =\n {}\n }\n column.setEntityValue(\n this.expressionMap.locallyGenerated[valueSetIndex],\n value,\n )\n\n // if value for this column was not provided then insert default value\n } else if (value === undefined) {\n if (\n (this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1) ||\n DriverUtils.isSQLiteFamily(\n this.connection.driver,\n ) ||\n this.connection.driver.options.type === \"sap\" ||\n this.connection.driver.options.type === \"spanner\"\n ) {\n // unfortunately sqlite does not support DEFAULT expression in INSERT queries\n if (\n column.default !== undefined &&\n column.default !== null\n ) {\n // try to use default defined in the column\n expression +=\n this.connection.driver.normalizeDefault(\n column,\n )\n } else {\n expression += \"NULL\" // otherwise simply use NULL and pray if column is nullable\n }\n } else {\n expression += \"DEFAULT\"\n }\n } else if (\n value === null &&\n this.connection.driver.options.type === \"spanner\"\n ) {\n expression += \"NULL\"\n\n // support for SQL expressions in queries\n } else if (typeof value === \"function\") {\n expression += value()\n\n // just any other regular value\n } else {\n if (this.connection.driver.options.type === \"mssql\")\n value = (\n this.connection.driver as SqlServerDriver\n ).parametrizeValue(column, value)\n\n // we need to store array values in a special class to make sure parameter replacement will work correctly\n // if (value instanceof Array)\n // value = new ArrayParameter(value);\n\n const paramName = this.createParameter(value)\n\n if (\n (DriverUtils.isMySQLFamily(\n this.connection.driver,\n ) ||\n this.connection.driver.options.type ===\n \"aurora-mysql\") &&\n this.connection.driver.spatialTypes.indexOf(\n column.type,\n ) !== -1\n ) {\n const useLegacy = (\n this.connection.driver as\n | MysqlDriver\n | AuroraMysqlDriver\n ).options.legacySpatialSupport\n const geomFromText = useLegacy\n ? \"GeomFromText\"\n : \"ST_GeomFromText\"\n if (column.srid != null) {\n expression += `${geomFromText}(${paramName}, ${column.srid})`\n } else {\n expression += `${geomFromText}(${paramName})`\n }\n } else if (\n DriverUtils.isPostgresFamily(\n this.connection.driver,\n ) &&\n this.connection.driver.spatialTypes.indexOf(\n column.type,\n ) !== -1\n ) {\n if (column.srid != null) {\n expression += `ST_SetSRID(ST_GeomFromGeoJSON(${paramName}), ${column.srid})::${column.type}`\n } else {\n expression += `ST_GeomFromGeoJSON(${paramName})::${column.type}`\n }\n } else if (\n this.connection.driver.options.type === \"mssql\" &&\n this.connection.driver.spatialTypes.indexOf(\n column.type,\n ) !== -1\n ) {\n expression +=\n column.type +\n \"::STGeomFromText(\" +\n paramName +\n \", \" +\n (column.srid || \"0\") +\n \")\"\n } else {\n expression += paramName\n }\n }\n\n if (columnIndex === columns.length - 1) {\n if (valueSetIndex === valueSets.length - 1) {\n if (\n this.connection.driver.options.type ===\n \"oracle\" &&\n valueSets.length > 1\n ) {\n expression += \" FROM DUAL \"\n } else if (\n this.connection.driver.options.type === \"sap\" &&\n valueSets.length > 1\n ) {\n expression += \" FROM dummy \"\n } else {\n expression += \")\"\n }\n } else {\n if (\n this.connection.driver.options.type ===\n \"oracle\" &&\n valueSets.length > 1\n ) {\n expression += \" FROM DUAL UNION ALL \"\n } else if (\n this.connection.driver.options.type === \"sap\" &&\n valueSets.length > 1\n ) {\n expression += \" FROM dummy UNION ALL \"\n } else {\n expression += \"), \"\n }\n }\n } else {\n expression += \", \"\n }\n })\n })\n if (expression === \"()\") return \"\"\n\n return expression\n } else {\n // for tables without metadata\n // get values needs to be inserted\n let expression = \"\"\n\n valueSets.forEach((valueSet, insertionIndex) => {\n const columns = Object.keys(valueSet)\n columns.forEach((columnName, columnIndex) => {\n if (columnIndex === 0) {\n expression += \"(\"\n }\n\n const value = valueSet[columnName]\n\n // support for SQL expressions in queries\n if (typeof value === \"function\") {\n expression += value()\n\n // if value for this column was not provided then insert default value\n } else if (value === undefined) {\n if (\n (this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1) ||\n DriverUtils.isSQLiteFamily(\n this.connection.driver,\n ) ||\n this.connection.driver.options.type === \"sap\" ||\n this.connection.driver.options.type === \"spanner\"\n ) {\n expression += \"NULL\"\n } else {\n expression += \"DEFAULT\"\n }\n } else if (\n value === null &&\n this.connection.driver.options.type === \"spanner\"\n ) {\n // just any other regular value\n } else {\n expression += this.createParameter(value)\n }\n\n if (columnIndex === Object.keys(valueSet).length - 1) {\n if (insertionIndex === valueSets.length - 1) {\n expression += \")\"\n } else {\n expression += \"), \"\n }\n } else {\n expression += \", \"\n }\n })\n })\n if (expression === \"()\") return \"\"\n return expression\n }\n }\n\n /**\n * Gets array of values need to be inserted into the target table.\n */\n protected getValueSets(): ObjectLiteral[] {\n if (Array.isArray(this.expressionMap.valuesSet))\n return this.expressionMap.valuesSet\n\n if (ObjectUtils.isObject(this.expressionMap.valuesSet))\n return [this.expressionMap.valuesSet]\n\n throw new InsertValuesMissingError()\n }\n\n /**\n * Checks if column is an auto-generated primary key, but the current insertion specifies a value for it.\n *\n * @param column\n */\n protected isOverridingAutoIncrementBehavior(\n column: ColumnMetadata,\n ): boolean {\n return (\n column.isPrimary &&\n column.isGenerated &&\n column.generationStrategy === \"increment\" &&\n this.getValueSets().some(\n (valueSet) =>\n column.getEntityValue(valueSet) !== undefined &&\n column.getEntityValue(valueSet) !== null,\n )\n )\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/query-builder/InsertQueryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAInC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAA;AAElG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAE/E;;GAEG;AACH,MAAM,OAAO,kBAEX,SAAQ,YAAoB;IAF9B;;QAGa,mBAAa,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IA6/B7D,CAAC;IA3/BG,4EAA4E;IAC5E,6BAA6B;IAC7B,4EAA4E;IAE5E;;OAEG;IACH,QAAQ;QACJ,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,GAAG,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACjC,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAA;QACpC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,+BAA+B;QAC/B,MAAM,SAAS,GAAoB,IAAI,CAAC,YAAY,EAAE,CAAA;QACtD,kCAAkC;QAElC,kEAAkE;QAClE,YAAY;QACZ,EAAE;QACF,sEAAsE;QACtE,kEAAkE;QAClE,oEAAoE;QACpE,uCAAuC;QACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,YAAY,EAAE,CAAA;QAErD,wCAAwC;QACxC,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC5C,IAAI,sBAAsB,GAAG,KAAK,CAAA;QAElC,IAAI;YACA,sCAAsC;YACtC,IACI,IAAI,CAAC,aAAa,CAAC,cAAc,KAAK,IAAI;gBAC1C,WAAW,CAAC,mBAAmB,KAAK,KAAK,EAC3C;gBACE,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAA;gBACpC,sBAAsB,GAAG,IAAI,CAAA;aAChC;YAED,sCAAsC;YAEtC,6DAA6D;YAC7D,IACI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI;gBACzC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C;gBACE,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAAE,CAAA;gBAC/C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC3B,WAAW,CAAC,WAAW,CAAC,0BAA0B,CAC9C,eAAe,EACf,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,EACtC,QAAQ,CACX,CAAA;gBACL,CAAC,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;aAC/B;YAED,IAAI,UAAU,GAAkB,IAAI,CAAA;YACpC,IAAI,eAAe,GAAkB,IAAI,CAAA;YAEzC,yFAAyF;YACzF,gDAAgD;YAChD,MAAM,6BAA6B,GAC/B,IAAI,6BAA6B,CAC7B,WAAW,EACX,IAAI,CAAC,aAAa,CACrB,CAAA;YAEL,MAAM,gBAAgB,GAAqB,EAAE,CAAA;YAE7C,IACI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C;gBACE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;oBACnD,gBAAgB,CAAC,IAAI,CACjB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAC,2BAA2B,CACjE,UAAU,CACb,CACJ,CAAA;iBACJ;aACJ;YAED,IACI,IAAI,CAAC,aAAa,CAAC,YAAY,KAAK,IAAI;gBACxC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C;gBACE,IACI,CAAC,CACG,SAAS,CAAC,MAAM,GAAG,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACnD,EACH;oBACE,IAAI,CAAC,aAAa,CAAC,qBAAqB;wBACpC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAA;iBAC5E;gBAED,gBAAgB,CAAC,IAAI,CACjB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACvC,CACJ,CAAA;aACJ;YAED,IACI,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EACjD;gBACE,UAAU,GACN,IAAI,CAAC,UAAU,CAAC,MACnB,CAAC,6BAA6B,CAC3B,cAAc,EACd,gBAAgB,CACnB,CAAA;gBACD,eAAe,GAAG,4BAA4B,CAAA;aACjD;YACD,mDAAmD;YAEnD,gBAAgB;YAChB,iDAAiD;YACjD,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC5D,oDAAoD;YAEpD,gDAAgD;YAChD,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;YAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAE7D,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;YAElE,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAEnD,mDAAmD;YAEnD,kFAAkF;YAClF,IACI,IAAI,CAAC,aAAa,CAAC,YAAY,KAAK,IAAI;gBACxC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C;gBACE,oCAAoC;gBACpC,MAAM,6BAA6B,CAAC,MAAM,CACtC,YAAY,EACZ,SAAS,CACZ,CAAA;gBACD,uCAAuC;aAC1C;YAED,4DAA4D;YAC5D,IACI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI;gBACzC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C;gBACE,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAAE,CAAA;gBAC/C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC3B,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAC7C,eAAe,EACf,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,EACtC,QAAQ,CACX,CAAA;gBACL,CAAC,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;aAC/B;YAED,qCAAqC;YACrC,2BAA2B;YAC3B,IAAI,sBAAsB,EAAE;gBACxB,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAA;aACxC;YACD,8BAA8B;YAE9B,OAAO,YAAY,CAAA;SACtB;QAAC,OAAO,KAAK,EAAE;YACZ,wCAAwC;YACxC,IAAI,sBAAsB,EAAE;gBACxB,IAAI;oBACA,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAA;iBAC1C;gBAAC,OAAO,aAAa,EAAE,GAAE;aAC7B;YACD,MAAM,KAAK,CAAA;SACd;gBAAS;YACN,yCAAyC;YACzC,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;gBAClC,wCAAwC;gBACxC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;aAC9B;YACD,4CAA4C;YAC5C,2CAA2C;SAC9C;IACL,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,IAAI,CACA,YAA6B,EAC7B,OAAkB;QAElB,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC;YACvD,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI;YAC3B,CAAC,CAAC,YAAY,CAAA;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QACpD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,IAAI,EAAE,CAAA;QAChD,OAAO,IAAoC,CAAA;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM,CACF,MAEsC;QAEtC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,MAAM,CAAA;QACrC,OAAO,IAAI,CAAA;IACf,CAAC;IAmBD;;OAEG;IACH,MAAM,CAAC,MAAyB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAmBD;;OAEG;IACH,SAAS,CAAC,SAA4B;QAClC,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE;YAC3D,MAAM,IAAI,mCAAmC,EAAE,CAAA;SAClD;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAA;QACxC,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,OAAgB;QACzB,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,OAAO,CAAA;QACzC,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,SAAiB;QACxB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,SAAS,CAAA;QACzC,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,YAA8B,IAAI;QACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAA;QACzC,OAAO,IAAI,CAAA;IACf,CAAC;IA0BD;;OAEG;IACH,QAAQ,CACJ,oBAMc,EACd,cAAkC,EAClC,eAAuC;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG;gBAC1B,QAAQ,EAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,eAAe;gBAC/C,OAAO,EAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,OAAO;gBACtC,SAAS,EAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,SAAS;gBAC1C,2BAA2B,EACvB,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,2BAA2B;gBAChD,UAAU,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU;aAC1C,CAAA;YACD,OAAO,IAAI,CAAA;SACd;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG;YAC1B,SAAS,EAAE,oBAAoB;YAC/B,QAAQ,EAAE,cAAc;YACxB,2BAA2B,EACvB,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,2BAA2B;YAChD,cAAc,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc;YAC/C,UAAU,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU;SAC1C,CAAA;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,sBAAsB;;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA,CAAC,qIAAqI;QAC5L,MAAM,mBAAmB,GACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YAChD,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA,CAAC,wDAAwD;QAC3G,MAAM,iBAAiB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAC5D,IAAI,KAAK,GAAG,SAAS,CAAA;QAErB,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,0CAAE,UAAU,MAAK,aAAa,EAAE;YAC3D,KAAK,GAAG,SAAS,CAAA;SACpB;QAED,IACI,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EACxD;YACE,KAAK,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;SAC9D;QAED,KAAK,IAAI,QAAQ,SAAS,EAAE,CAAA;QAE5B,IACI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE;YACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACtD;YACE,KAAK,IAAI,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAA;SACjC;QAED,yBAAyB;QACzB,IAAI,iBAAiB,EAAE;YACnB,KAAK,IAAI,IAAI,iBAAiB,GAAG,CAAA;SACpC;aAAM;YACH,IACI,CAAC,gBAAgB;gBACjB,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC;gBAE3D,oDAAoD;gBACpD,KAAK,IAAI,IAAI,CAAA;SACpB;QAED,wBAAwB;QACxB,IACI,mBAAmB;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EACjD;YACE,KAAK,IAAI,WAAW,mBAAmB,EAAE,CAAA;SAC5C;QAED,wBAAwB;QACxB,IAAI,gBAAgB,EAAE;YAClB,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChD,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,EAChC;gBACE,KAAK,IAAI,IAAI,gBAAgB,EAAE,CAAA;aAClC;iBAAM;gBACH,KAAK,IAAI,WAAW,gBAAgB,EAAE,CAAA;aACzC;SACJ;aAAM;YACH,IACI,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EACxD;gBACE,oDAAoD;gBACpD,KAAK,IAAI,YAAY,CAAA;aACxB;iBAAM;gBACH,KAAK,IAAI,iBAAiB,CAAA;aAC7B;SACJ;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,0CAAE,UAAU,MAAK,aAAa,EAAE;YAC3D,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAChD,uBAAuB,CAC1B,EACH;gBACE,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;oBAC7B,KAAK,IAAI,0BAA0B,CAAA;iBACtC;qBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;oBACtC,KAAK,IAAI,gBAAgB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,CAAA;iBAC5D;qBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;oBACpC,MAAM,EACF,SAAS,EACT,OAAO,EACP,QAAQ,EACR,2BAA2B,EAC3B,cAAc,GACjB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA;oBAE/B,IAAI,cAAc,GAAG,aAAa,CAAA;oBAElC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBACzB,cAAc,IAAI,MAAM,QAAQ;6BAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;wBACnB,IACI,cAAc;4BACd,CAAC,WAAW,CAAC,gBAAgB,CACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,EACH;4BACE,MAAM,IAAI,YAAY,CAClB,uEAAuE,CAC1E,CAAA;yBACJ;wBACD,IACI,cAAc;4BACd,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACtD;4BACE,cAAc,IAAI,YAAY,IAAI,CAAC,MAAM,CACrC,cAAc,CACjB,IAAI,CAAA;yBACR;qBACJ;yBAAM,IAAI,QAAQ,EAAE;wBACjB,cAAc,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAC3C,QAAQ,CACX,EAAE,CAAA;qBACN;oBAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;wBAC1B,KAAK,IAAI,IAAI,cAAc,iBAAiB,CAAA;wBAC5C,KAAK,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CACZ,GAAG,CACD,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CACV,MAAM,CACT,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAE5C,IAAI,CAAC,IAAI,CAAC,CAAA;wBACf,KAAK,IAAI,GAAG,CAAA;qBACf;yBAAM,IAAI,OAAO,EAAE;wBAChB,KAAK,IAAI,IAAI,cAAc,iBAAiB,CAAA;wBAC5C,KAAK,IAAI,OAAO;6BACX,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,MAAM,EAAE,CAC5C;6BACA,IAAI,CAAC,IAAI,CAAC,CAAA;wBACf,KAAK,IAAI,GAAG,CAAA;qBACf;oBAED,IACI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;wBACxB,2BAA2B;wBAC3B,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACtD;wBACE,KAAK,IAAI,UAAU,CAAA;wBACnB,KAAK,IAAI,SAAS;6BACb,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,CACvB,MAAM,CACT,8BAA8B,IAAI,CAAC,MAAM,CACtC,MAAM,CACT,EAAE,CACV;6BACA,IAAI,CAAC,MAAM,CAAC,CAAA;wBACjB,KAAK,IAAI,IAAI,CAAA;qBAChB;iBACJ;aACJ;iBAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAChD,yBAAyB,CAC5B,EACH;gBACE,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;oBAC7B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA;oBAE1D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;wBAC1B,KAAK,IAAI,2BAA2B,CAAA;wBACpC,KAAK,IAAI,SAAS;6BACb,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CACV,MAAM,CACT,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAC3C;6BACA,IAAI,CAAC,IAAI,CAAC,CAAA;wBACf,KAAK,IAAI,GAAG,CAAA;qBACf;yBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;wBAC/B,KAAK,IAAI,2BAA2B,CAAA;wBACpC,KAAK,IAAI,OAAO;6BACX,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,MAAM,EAAE,CAC5C;6BACA,IAAI,CAAC,IAAI,CAAC,CAAA;wBACf,KAAK,IAAI,GAAG,CAAA;qBACf;iBACJ;aACJ;iBAAM;gBACH,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;oBAC7B,MAAM,IAAI,YAAY,CAClB,0DAA0D,CAC7D,CAAA;iBACJ;aACJ;SACJ;QAED,2BAA2B;QAC3B,IACI,mBAAmB;YACnB,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa;gBACrD,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EACxD;YACE,KAAK,IAAI,cAAc,mBAAmB,EAAE,CAAA;SAC/C;QAED,0GAA0G;QAC1G,oMAAoM;QACpM,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;YAC/C,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW;YACzC,IAAI,CAAC,aAAa;iBACb,SAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBACvC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CACpC,MAAM,CAAC,YAAY,CACtB,KAAK,CAAC,CAAC;gBACV,CAAC,CAAC,MAAM,CAAC,QAAQ,CACxB;iBACA,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACb,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CACjD,EACP;YACE,KAAK,GAAG,uBAAuB,SAAS,QAAQ,KAAK,yBAAyB,SAAS,MAAM,CAAA;SAChG;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;OAEG;IACO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW;YAAE,OAAO,EAAE,CAAA;QAEzD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACxD,CAAC,MAAM,EAAE,EAAE;YACP,oFAAoF;YACpF,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM;gBACvC,OAAO,CACH,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CACpC,MAAM,CAAC,YAAY,CACtB,KAAK,CAAC,CAAC,CACX,CAAA;YAEL,yDAAyD;YACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAClB,OAAO,KAAK,CAAA;aACf;YAED,wFAAwF;YACxF,+GAA+G;YAC/G,IACI,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,kBAAkB,KAAK,WAAW;gBACzC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACnD,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACnD,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAClD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC;gBACzD,CAAC,CACG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;oBAC/C,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CACjD;gBAED,OAAO,KAAK,CAAA;YAEhB,OAAO,IAAI,CAAA;QACf,CAAC,CACJ,CAAA;IACL,CAAC;IAED;;OAEG;IACO,2BAA2B;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,OAAO,OAAO;iBACT,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBACjD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnB,uFAAuF;QACvF,gGAAgG;QAChG,IACI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW;YAC1C,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,EAC1C;YACE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;YACrC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBAC3B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;qBAC5C,IAAI,CAAC,IAAI,CAAC,CAAA;SACtB;QAED,iDAAiD;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa;aAClC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aAC5C,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED;;OAEG;IACO,sBAAsB;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzC,gFAAgF;QAChF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,UAAU,GAAG,EAAE,CAAA;YACnB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE;gBAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;oBACpC,IAAI,WAAW,KAAK,CAAC,EAAE;wBACnB,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;4BAChD,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB;4BACE,UAAU,IAAI,UAAU,CAAA;yBAC3B;6BAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;4BAC7C,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB;4BACE,UAAU,IAAI,UAAU,CAAA;yBAC3B;6BAAM;4BACH,UAAU,IAAI,GAAG,CAAA;yBACpB;qBACJ;oBAED,qCAAqC;oBACrC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;oBAE3C,wGAAwG;oBACxG,wFAAwF;oBACxF,sCAAsC;oBACtC;;uBAEG;oBAEH,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,EAAE;wBAChC,gDAAgD;wBAChD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CACjD,KAAK,EACL,MAAM,CACT,CAAA;qBACJ;oBAED,2EAA2E;oBAC3E,6CAA6C;oBAC7C,IAAI,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;wBACzC,UAAU,IAAI,GAAG,CAAA;wBAEjB,uCAAuC;wBACvC,wFAAwF;wBACxF,uHAAuH;wBACvH,8GAA8G;wBAC9G,8BAA8B;wBAC9B,EAAE;wBACF,wCAAwC;wBACxC,wFAAwF;wBACxF,uHAAuH;wBACvH,8GAA8G;wBAC9G,8BAA8B;qBACjC;yBAAM,IAAI,MAAM,CAAC,eAAe,EAAE;wBAC/B,UAAU,IAAI,IAAI,CAAC,eAAe,CAC9B,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ;6BACjC,kBAAkB,CAC1B,CAAA;wBACD,cAAc;wBAEd,qDAAqD;wBACrD,uFAAuF;wBACvF,+EAA+E;wBAC/E,2DAA2D;wBAC3D,kCAAkC;wBAElC,8KAA8K;qBACjL;yBAAM,IACH,MAAM,CAAC,WAAW;wBAClB,MAAM,CAAC,kBAAkB,KAAK,MAAM;wBACpC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,yBAAyB,EAAE;wBACnD,KAAK,KAAK,SAAS,EACrB;wBACE,KAAK,GAAG,MAAM,EAAE,CAAA;wBAChB,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;wBAEzC,IACI,CAAC,CACG,aAAa;4BACb,IAAI,CAAC,aAAa,CAAC,gBAAgB,CACtC,EACH;4BACE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC;gCAC9C,EAAE,CAAA;yBACT;wBACD,MAAM,CAAC,cAAc,CACjB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAClD,KAAK,CACR,CAAA;wBAED,sEAAsE;qBACzE;yBAAM,IAAI,KAAK,KAAK,SAAS,EAAE;wBAC5B,IACI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;4BAC7C,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;4BACzB,WAAW,CAAC,cAAc,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB;4BACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;4BAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EACnD;4BACE,6EAA6E;4BAC7E,IACI,MAAM,CAAC,OAAO,KAAK,SAAS;gCAC5B,MAAM,CAAC,OAAO,KAAK,IAAI,EACzB;gCACE,2CAA2C;gCAC3C,UAAU;oCACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CACnC,MAAM,CACT,CAAA;6BACR;iCAAM;gCACH,UAAU,IAAI,MAAM,CAAA,CAAC,2DAA2D;6BACnF;yBACJ;6BAAM;4BACH,UAAU,IAAI,SAAS,CAAA;yBAC1B;qBACJ;yBAAM,IACH,KAAK,KAAK,IAAI;wBACd,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EACnD;wBACE,UAAU,IAAI,MAAM,CAAA;wBAEpB,yCAAyC;qBAC5C;yBAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;wBACpC,UAAU,IAAI,KAAK,EAAE,CAAA;wBAErB,+BAA+B;qBAClC;yBAAM;wBACH,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;4BAC/C,KAAK,GACD,IAAI,CAAC,UAAU,CAAC,MACnB,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;wBAErC,0GAA0G;wBAC1G,8BAA8B;wBAC9B,yCAAyC;wBAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;wBAE7C,IACI,CAAC,WAAW,CAAC,aAAa,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB;4BACG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;gCAC/B,cAAc,CAAC;4BACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CACvC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,CAAC,EACV;4BACE,MAAM,SAAS,GACX,IAAI,CAAC,UAAU,CAAC,MAGnB,CAAC,OAAO,CAAC,oBAAoB,CAAA;4BAC9B,MAAM,YAAY,GAAG,SAAS;gCAC1B,CAAC,CAAC,cAAc;gCAChB,CAAC,CAAC,iBAAiB,CAAA;4BACvB,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;gCACrB,UAAU,IAAI,GAAG,YAAY,IAAI,SAAS,KAAK,MAAM,CAAC,IAAI,GAAG,CAAA;6BAChE;iCAAM;gCACH,UAAU,IAAI,GAAG,YAAY,IAAI,SAAS,GAAG,CAAA;6BAChD;yBACJ;6BAAM,IACH,WAAW,CAAC,gBAAgB,CACxB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB;4BACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CACvC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,CAAC,EACV;4BACE,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;gCACrB,UAAU,IAAI,iCAAiC,SAAS,MAAM,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;6BAC/F;iCAAM;gCACH,UAAU,IAAI,sBAAsB,SAAS,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;6BACnE;yBACJ;6BAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;4BAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CACvC,MAAM,CAAC,IAAI,CACd,KAAK,CAAC,CAAC,EACV;4BACE,UAAU;gCACN,MAAM,CAAC,IAAI;oCACX,mBAAmB;oCACnB,SAAS;oCACT,IAAI;oCACJ,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;oCACpB,GAAG,CAAA;yBACV;6BAAM;4BACH,UAAU,IAAI,SAAS,CAAA;yBAC1B;qBACJ;oBAED,IAAI,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;wBACpC,IAAI,aAAa,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxC,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;gCAC/B,QAAQ;gCACZ,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB;gCACE,UAAU,IAAI,aAAa,CAAA;6BAC9B;iCAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;gCAC7C,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB;gCACE,UAAU,IAAI,cAAc,CAAA;6BAC/B;iCAAM;gCACH,UAAU,IAAI,GAAG,CAAA;6BACpB;yBACJ;6BAAM;4BACH,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;gCAC/B,QAAQ;gCACZ,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB;gCACE,UAAU,IAAI,uBAAuB,CAAA;6BACxC;iCAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;gCAC7C,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB;gCACE,UAAU,IAAI,wBAAwB,CAAA;6BACzC;iCAAM;gCACH,UAAU,IAAI,KAAK,CAAA;6BACtB;yBACJ;qBACJ;yBAAM;wBACH,UAAU,IAAI,IAAI,CAAA;qBACrB;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAA;YAElC,OAAO,UAAU,CAAA;SACpB;aAAM;YACH,8BAA8B;YAC9B,kCAAkC;YAClC,IAAI,UAAU,GAAG,EAAE,CAAA;YAEnB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE;gBAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACrC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE;oBACxC,IAAI,WAAW,KAAK,CAAC,EAAE;wBACnB,UAAU,IAAI,GAAG,CAAA;qBACpB;oBAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;oBAElC,yCAAyC;oBACzC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;wBAC7B,UAAU,IAAI,KAAK,EAAE,CAAA;wBAErB,sEAAsE;qBACzE;yBAAM,IAAI,KAAK,KAAK,SAAS,EAAE;wBAC5B,IACI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;4BAC7C,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;4BACzB,WAAW,CAAC,cAAc,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB;4BACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;4BAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EACnD;4BACE,UAAU,IAAI,MAAM,CAAA;yBACvB;6BAAM;4BACH,UAAU,IAAI,SAAS,CAAA;yBAC1B;qBACJ;yBAAM,IACH,KAAK,KAAK,IAAI;wBACd,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EACnD;wBACE,+BAA+B;qBAClC;yBAAM;wBACH,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;qBAC5C;oBAED,IAAI,WAAW,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClD,IAAI,cAAc,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BACzC,UAAU,IAAI,GAAG,CAAA;yBACpB;6BAAM;4BACH,UAAU,IAAI,KAAK,CAAA;yBACtB;qBACJ;yBAAM;wBACH,UAAU,IAAI,IAAI,CAAA;qBACrB;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAA;YAClC,OAAO,UAAU,CAAA;SACpB;IACL,CAAC;IAED;;OAEG;IACO,YAAY;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAA;QAEvC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAEzC,MAAM,IAAI,wBAAwB,EAAE,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACO,iCAAiC,CACvC,MAAsB;QAEtB,OAAO,CACH,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,WAAW;YAClB,MAAM,CAAC,kBAAkB,KAAK,WAAW;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CACpB,CAAC,QAAQ,EAAE,EAAE,CACT,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,SAAS;gBAC7C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI,CAC/C,CACJ,CAAA;IACL,CAAC;CACJ","file":"InsertQueryBuilder.js","sourcesContent":["import { v4 as uuidv4 } from \"uuid\"\nimport type { EntityTarget } from \"../common/EntityTarget\"\nimport type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport type { AuroraMysqlDriver } from \"../driver/aurora-mysql/AuroraMysqlDriver\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport type { MysqlDriver } from \"../driver/mysql/MysqlDriver\"\nimport type { SqlServerDriver } from \"../driver/sqlserver/SqlServerDriver\"\nimport { TypeORMError } from \"../error\"\nimport { InsertValuesMissingError } from \"../error/InsertValuesMissingError\"\nimport { ReturningStatementNotSupportedError } from \"../error/ReturningStatementNotSupportedError\"\nimport type { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { BroadcasterResult } from \"../subscriber/BroadcasterResult\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport type { InsertOrUpdateOptions } from \"./InsertOrUpdateOptions\"\nimport { QueryBuilder } from \"./QueryBuilder\"\nimport type { QueryDeepPartialEntity } from \"./QueryPartialEntity\"\nimport { InsertResult } from \"./result/InsertResult\"\nimport { ReturningResultsEntityUpdator } from \"./ReturningResultsEntityUpdator\"\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport class InsertQueryBuilder<\n Entity extends ObjectLiteral,\n> extends QueryBuilder<Entity> {\n readonly \"@instanceof\" = Symbol.for(\"InsertQueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n getQuery(): string {\n let sql = this.createComment()\n sql += this.createCteExpression()\n sql += this.createInsertExpression()\n return sql.trim()\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<InsertResult> {\n // console.time(\".value sets\");\n const valueSets: ObjectLiteral[] = this.getValueSets()\n // console.timeEnd(\".value sets\");\n\n // If user passed empty array of entities then we don't need to do\n // anything.\n //\n // Fixes GitHub issues #3111 and #5734. If we were to let this through\n // we would run into problems downstream, like subscribers getting\n // invoked with the empty array where they expect an entity, and SQL\n // queries with an empty VALUES clause.\n if (valueSets.length === 0) return new InsertResult()\n\n // console.time(\"QueryBuilder.execute\");\n // console.time(\".database stuff\");\n const queryRunner = this.obtainQueryRunner()\n let transactionStartedByUs = false\n\n try {\n // start transaction if it was enabled\n if (\n this.expressionMap.useTransaction === true &&\n queryRunner.isTransactionActive === false\n ) {\n await queryRunner.startTransaction()\n transactionStartedByUs = true\n }\n\n // console.timeEnd(\".database stuff\");\n\n // call before insertion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n const broadcastResult = new BroadcasterResult()\n valueSets.forEach((valueSet) => {\n queryRunner.broadcaster.broadcastBeforeInsertEvent(\n broadcastResult,\n this.expressionMap.mainAlias!.metadata,\n valueSet,\n )\n })\n await broadcastResult.wait()\n }\n\n let declareSql: string | null = null\n let selectOutputSql: string | null = null\n\n // if update entity mode is enabled we may need extra columns for the returning statement\n // console.time(\".prepare returning statement\");\n const returningResultsEntityUpdator =\n new ReturningResultsEntityUpdator(\n queryRunner,\n this.expressionMap,\n )\n\n const returningColumns: ColumnMetadata[] = []\n\n if (\n Array.isArray(this.expressionMap.returning) &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n for (const columnPath of this.expressionMap.returning) {\n returningColumns.push(\n ...this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(\n columnPath,\n ),\n )\n }\n }\n\n if (\n this.expressionMap.updateEntity === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n if (\n !(\n valueSets.length > 1 &&\n this.connection.driver.options.type === \"oracle\"\n )\n ) {\n this.expressionMap.extraReturningColumns =\n this.expressionMap.mainAlias!.metadata.getInsertionReturningColumns()\n }\n\n returningColumns.push(\n ...this.expressionMap.extraReturningColumns.filter(\n (c) => !returningColumns.includes(c),\n ),\n )\n }\n\n if (\n returningColumns.length > 0 &&\n this.connection.driver.options.type === \"mssql\"\n ) {\n declareSql = (\n this.connection.driver as SqlServerDriver\n ).buildTableVariableDeclaration(\n \"@OutputTable\",\n returningColumns,\n )\n selectOutputSql = `SELECT * FROM @OutputTable`\n }\n // console.timeEnd(\".prepare returning statement\");\n\n // execute query\n // console.time(\".getting query and parameters\");\n const [insertSql, parameters] = this.getQueryAndParameters()\n // console.timeEnd(\".getting query and parameters\");\n\n // console.time(\".query execution by database\");\n const statements = [declareSql, insertSql, selectOutputSql]\n const sql = statements.filter((s) => s != null).join(\";\\n\\n\")\n\n const queryResult = await queryRunner.query(sql, parameters, true)\n\n const insertResult = InsertResult.from(queryResult)\n\n // console.timeEnd(\".query execution by database\");\n\n // load returning results and set them to the entity if entity updation is enabled\n if (\n this.expressionMap.updateEntity === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n // console.time(\".updating entity\");\n await returningResultsEntityUpdator.insert(\n insertResult,\n valueSets,\n )\n // console.timeEnd(\".updating entity\");\n }\n\n // call after insertion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n const broadcastResult = new BroadcasterResult()\n valueSets.forEach((valueSet) => {\n queryRunner.broadcaster.broadcastAfterInsertEvent(\n broadcastResult,\n this.expressionMap.mainAlias!.metadata,\n valueSet,\n )\n })\n await broadcastResult.wait()\n }\n\n // close transaction if we started it\n // console.time(\".commit\");\n if (transactionStartedByUs) {\n await queryRunner.commitTransaction()\n }\n // console.timeEnd(\".commit\");\n\n return insertResult\n } catch (error) {\n // rollback transaction if we started it\n if (transactionStartedByUs) {\n try {\n await queryRunner.rollbackTransaction()\n } catch (rollbackError) {}\n }\n throw error\n } finally {\n // console.time(\".releasing connection\");\n if (queryRunner !== this.queryRunner) {\n // means we created our own query runner\n await queryRunner.release()\n }\n // console.timeEnd(\".releasing connection\");\n // console.timeEnd(\"QueryBuilder.execute\");\n }\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Specifies INTO which entity's table insertion will be executed.\n */\n into<T extends ObjectLiteral>(\n entityTarget: EntityTarget<T>,\n columns?: string[],\n ): InsertQueryBuilder<T> {\n entityTarget = InstanceChecker.isEntitySchema(entityTarget)\n ? entityTarget.options.name\n : entityTarget\n const mainAlias = this.createFromAlias(entityTarget)\n this.expressionMap.setMainAlias(mainAlias)\n this.expressionMap.insertColumns = columns || []\n return this as any as InsertQueryBuilder<T>\n }\n\n /**\n * Values needs to be inserted into table.\n */\n values(\n values:\n | QueryDeepPartialEntity<Entity>\n | QueryDeepPartialEntity<Entity>[],\n ): this {\n this.expressionMap.valuesSet = values\n return this\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n output(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n output(output: string): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this {\n return this.returning(output)\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n returning(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n returning(returning: string): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this {\n // not all databases support returning/output cause\n if (!this.connection.driver.isReturningSqlSupported(\"insert\")) {\n throw new ReturningStatementNotSupportedError()\n }\n\n this.expressionMap.returning = returning\n return this\n }\n\n /**\n * Indicates if entity must be updated after insertion operations.\n * This may produce extra query or use RETURNING / OUTPUT statement (depend on database).\n * Enabled by default.\n */\n updateEntity(enabled: boolean): this {\n this.expressionMap.updateEntity = enabled\n return this\n }\n\n /**\n * Adds additional ON CONFLICT statement supported in postgres and cockroach.\n *\n * @deprecated Use `orIgnore` or `orUpdate`\n */\n onConflict(statement: string): this {\n this.expressionMap.onConflict = statement\n return this\n }\n\n /**\n * Adds additional ignore statement supported in databases.\n */\n orIgnore(statement: string | boolean = true): this {\n this.expressionMap.onIgnore = !!statement\n return this\n }\n\n /**\n * @deprecated\n *\n * `.orUpdate({ columns: [ \"is_updated\" ] }).setParameter(\"is_updated\", value)`\n *\n * is now `.orUpdate([\"is_updated\"])`\n *\n * `.orUpdate({ conflict_target: ['date'], overwrite: ['title'] })`\n *\n * is now `.orUpdate(['title'], ['date'])`\n *\n */\n orUpdate(statement?: {\n columns?: string[]\n overwrite?: string[]\n conflict_target?: string | string[]\n }): this\n\n orUpdate(\n overwrite: string[],\n conflictTarget?: string | string[],\n orUpdateOptions?: InsertOrUpdateOptions,\n ): this\n\n /**\n * Adds additional update statement supported in databases.\n */\n orUpdate(\n statementOrOverwrite?:\n | {\n columns?: string[]\n overwrite?: string[]\n conflict_target?: string | string[]\n }\n | string[],\n conflictTarget?: string | string[],\n orUpdateOptions?: InsertOrUpdateOptions,\n ): this {\n if (!Array.isArray(statementOrOverwrite)) {\n this.expressionMap.onUpdate = {\n conflict: statementOrOverwrite?.conflict_target,\n columns: statementOrOverwrite?.columns,\n overwrite: statementOrOverwrite?.overwrite,\n skipUpdateIfNoValuesChanged:\n orUpdateOptions?.skipUpdateIfNoValuesChanged,\n upsertType: orUpdateOptions?.upsertType,\n }\n return this\n }\n\n this.expressionMap.onUpdate = {\n overwrite: statementOrOverwrite,\n conflict: conflictTarget,\n skipUpdateIfNoValuesChanged:\n orUpdateOptions?.skipUpdateIfNoValuesChanged,\n indexPredicate: orUpdateOptions?.indexPredicate,\n upsertType: orUpdateOptions?.upsertType,\n }\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates INSERT express used to perform insert query.\n */\n protected createInsertExpression() {\n const tableName = this.getTableName(this.getMainTableName())\n const valuesExpression = this.createValuesExpression() // its important to get values before returning expression because oracle rely on native parameters and ordering of them is important\n const returningExpression =\n this.connection.driver.options.type === \"oracle\" &&\n this.getValueSets().length > 1\n ? null\n : this.createReturningExpression(\"insert\") // oracle doesnt support returning with multi-row insert\n const columnsExpression = this.createColumnNamesExpression()\n let query = \"INSERT \"\n\n if (this.expressionMap.onUpdate?.upsertType === \"primary-key\") {\n query = \"UPSERT \"\n }\n\n if (\n DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\"\n ) {\n query += `${this.expressionMap.onIgnore ? \" IGNORE \" : \"\"}`\n }\n\n query += `INTO ${tableName}`\n\n if (\n this.alias !== this.getMainTableName() &&\n DriverUtils.isPostgresFamily(this.connection.driver)\n ) {\n query += ` AS \"${this.alias}\"`\n }\n\n // add columns expression\n if (columnsExpression) {\n query += `(${columnsExpression})`\n } else {\n if (\n !valuesExpression &&\n (DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\")\n )\n // special syntax for mysql DEFAULT VALUES insertion\n query += \"()\"\n }\n\n // add OUTPUT expression\n if (\n returningExpression &&\n this.connection.driver.options.type === \"mssql\"\n ) {\n query += ` OUTPUT ${returningExpression}`\n }\n\n // add VALUES expression\n if (valuesExpression) {\n if (\n this.connection.driver.options.type === \"oracle\" &&\n this.getValueSets().length > 1\n ) {\n query += ` ${valuesExpression}`\n } else {\n query += ` VALUES ${valuesExpression}`\n }\n } else {\n if (\n DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\"\n ) {\n // special syntax for mysql DEFAULT VALUES insertion\n query += \" VALUES ()\"\n } else {\n query += ` DEFAULT VALUES`\n }\n }\n if (this.expressionMap.onUpdate?.upsertType !== \"primary-key\") {\n if (\n this.connection.driver.supportedUpsertTypes.includes(\n \"on-conflict-do-update\",\n )\n ) {\n if (this.expressionMap.onIgnore) {\n query += \" ON CONFLICT DO NOTHING \"\n } else if (this.expressionMap.onConflict) {\n query += ` ON CONFLICT ${this.expressionMap.onConflict} `\n } else if (this.expressionMap.onUpdate) {\n const {\n overwrite,\n columns,\n conflict,\n skipUpdateIfNoValuesChanged,\n indexPredicate,\n } = this.expressionMap.onUpdate\n\n let conflictTarget = \"ON CONFLICT\"\n\n if (Array.isArray(conflict)) {\n conflictTarget += ` ( ${conflict\n .map((column) => this.escape(column))\n .join(\", \")} )`\n if (\n indexPredicate &&\n !DriverUtils.isPostgresFamily(\n this.connection.driver,\n )\n ) {\n throw new TypeORMError(\n `indexPredicate option is not supported by the current database driver`,\n )\n }\n if (\n indexPredicate &&\n DriverUtils.isPostgresFamily(this.connection.driver)\n ) {\n conflictTarget += ` WHERE ( ${this.escape(\n indexPredicate,\n )} )`\n }\n } else if (conflict) {\n conflictTarget += ` ON CONSTRAINT ${this.escape(\n conflict,\n )}`\n }\n\n if (Array.isArray(overwrite)) {\n query += ` ${conflictTarget} DO UPDATE SET `\n query += overwrite\n ?.map(\n (column) =>\n `${this.escape(\n column,\n )} = EXCLUDED.${this.escape(column)}`,\n )\n .join(\", \")\n query += \" \"\n } else if (columns) {\n query += ` ${conflictTarget} DO UPDATE SET `\n query += columns\n .map(\n (column) =>\n `${this.escape(column)} = :${column}`,\n )\n .join(\", \")\n query += \" \"\n }\n\n if (\n Array.isArray(overwrite) &&\n skipUpdateIfNoValuesChanged &&\n DriverUtils.isPostgresFamily(this.connection.driver)\n ) {\n query += ` WHERE (`\n query += overwrite\n .map(\n (column) =>\n `${tableName}.${this.escape(\n column,\n )} IS DISTINCT FROM EXCLUDED.${this.escape(\n column,\n )}`,\n )\n .join(\" OR \")\n query += \") \"\n }\n }\n } else if (\n this.connection.driver.supportedUpsertTypes.includes(\n \"on-duplicate-key-update\",\n )\n ) {\n if (this.expressionMap.onUpdate) {\n const { overwrite, columns } = this.expressionMap.onUpdate\n\n if (Array.isArray(overwrite)) {\n query += \" ON DUPLICATE KEY UPDATE \"\n query += overwrite\n .map(\n (column) =>\n `${this.escape(\n column,\n )} = VALUES(${this.escape(column)})`,\n )\n .join(\", \")\n query += \" \"\n } else if (Array.isArray(columns)) {\n query += \" ON DUPLICATE KEY UPDATE \"\n query += columns\n .map(\n (column) =>\n `${this.escape(column)} = :${column}`,\n )\n .join(\", \")\n query += \" \"\n }\n }\n } else {\n if (this.expressionMap.onUpdate) {\n throw new TypeORMError(\n `onUpdate is not supported by the current database driver`,\n )\n }\n }\n }\n\n // add RETURNING expression\n if (\n returningExpression &&\n (DriverUtils.isPostgresFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"oracle\" ||\n this.connection.driver.options.type === \"cockroachdb\" ||\n DriverUtils.isMySQLFamily(this.connection.driver))\n ) {\n query += ` RETURNING ${returningExpression}`\n }\n\n // Inserting a specific value for an auto-increment primary key in mssql requires enabling IDENTITY_INSERT\n // IDENTITY_INSERT can only be enabled for tables where there is an IDENTITY column and only if there is a value to be inserted (i.e. supplying DEFAULT is prohibited if IDENTITY_INSERT is enabled)\n if (\n this.connection.driver.options.type === \"mssql\" &&\n this.expressionMap.mainAlias!.hasMetadata &&\n this.expressionMap\n .mainAlias!.metadata.columns.filter((column) =>\n this.expressionMap.insertColumns.length > 0\n ? this.expressionMap.insertColumns.indexOf(\n column.propertyPath,\n ) !== -1\n : column.isInsert,\n )\n .some((column) =>\n this.isOverridingAutoIncrementBehavior(column),\n )\n ) {\n query = `SET IDENTITY_INSERT ${tableName} ON; ${query}; SET IDENTITY_INSERT ${tableName} OFF`\n }\n\n return query\n }\n\n /**\n * Gets list of columns where values must be inserted to.\n */\n protected getInsertedColumns(): ColumnMetadata[] {\n if (!this.expressionMap.mainAlias!.hasMetadata) return []\n\n return this.expressionMap.mainAlias!.metadata.columns.filter(\n (column) => {\n // if user specified list of columns he wants to insert to, then we filter only them\n if (this.expressionMap.insertColumns.length)\n return (\n this.expressionMap.insertColumns.indexOf(\n column.propertyPath,\n ) !== -1\n )\n\n // skip columns the user doesn't want included by default\n if (!column.isInsert) {\n return false\n }\n\n // if user did not specified such list then return all columns except auto-increment one\n // for Oracle we return auto-increment column as well because Oracle does not support DEFAULT VALUES expression\n if (\n column.isGenerated &&\n column.generationStrategy === \"increment\" &&\n !(this.connection.driver.options.type === \"spanner\") &&\n !(this.connection.driver.options.type === \"oracle\") &&\n !DriverUtils.isSQLiteFamily(this.connection.driver) &&\n !DriverUtils.isMySQLFamily(this.connection.driver) &&\n !(this.connection.driver.options.type === \"aurora-mysql\") &&\n !(\n this.connection.driver.options.type === \"mssql\" &&\n this.isOverridingAutoIncrementBehavior(column)\n )\n )\n return false\n\n return true\n },\n )\n }\n\n /**\n * Creates a columns string where values must be inserted to for INSERT INTO expression.\n */\n protected createColumnNamesExpression(): string {\n const columns = this.getInsertedColumns()\n if (columns.length > 0)\n return columns\n .map((column) => this.escape(column.databaseName))\n .join(\", \")\n\n // in the case if there are no insert columns specified and table without metadata used\n // we get columns from the inserted value map, in the case if only one inserted map is specified\n if (\n !this.expressionMap.mainAlias!.hasMetadata &&\n !this.expressionMap.insertColumns.length\n ) {\n const valueSets = this.getValueSets()\n if (valueSets.length === 1)\n return Object.keys(valueSets[0])\n .map((columnName) => this.escape(columnName))\n .join(\", \")\n }\n\n // get a table name and all column database names\n return this.expressionMap.insertColumns\n .map((columnName) => this.escape(columnName))\n .join(\", \")\n }\n\n /**\n * Creates list of values needs to be inserted in the VALUES expression.\n */\n protected createValuesExpression(): string {\n const valueSets = this.getValueSets()\n const columns = this.getInsertedColumns()\n\n // if column metadatas are given then apply all necessary operations with values\n if (columns.length > 0) {\n let expression = \"\"\n valueSets.forEach((valueSet, valueSetIndex) => {\n columns.forEach((column, columnIndex) => {\n if (columnIndex === 0) {\n if (\n this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1\n ) {\n expression += \" SELECT \"\n } else if (\n this.connection.driver.options.type === \"sap\" &&\n valueSets.length > 1\n ) {\n expression += \" SELECT \"\n } else {\n expression += \"(\"\n }\n }\n\n // extract real value from the entity\n let value = column.getEntityValue(valueSet)\n\n // if column is relational and value is an object then get real referenced column value from this object\n // for example column value is { question: { id: 1 } }, value will be equal to { id: 1 }\n // and we extract \"1\" from this object\n /*if (column.referencedColumn && value instanceof Object && !(typeof value === \"function\")) { // todo: check if we still need it since getEntityValue already has similar code\n value = column.referencedColumn.getEntityValue(value);\n }*/\n\n if (!(typeof value === \"function\")) {\n // make sure our value is normalized by a driver\n value = this.connection.driver.preparePersistentValue(\n value,\n column,\n )\n }\n\n // newly inserted entities always have a version equal to 1 (first version)\n // also, user-specified version must be empty\n if (column.isVersion && value === undefined) {\n expression += \"1\"\n\n // } else if (column.isNestedSetLeft) {\n // const tableName = this.connection.driver.escape(column.entityMetadata.tablePath);\n // const rightColumnName = this.connection.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);\n // const subQuery = `(SELECT c.max + 1 FROM (SELECT MAX(${rightColumnName}) as max from ${tableName}) c)`;\n // expression += subQuery;\n //\n // } else if (column.isNestedSetRight) {\n // const tableName = this.connection.driver.escape(column.entityMetadata.tablePath);\n // const rightColumnName = this.connection.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);\n // const subQuery = `(SELECT c.max + 2 FROM (SELECT MAX(${rightColumnName}) as max from ${tableName}) c)`;\n // expression += subQuery;\n } else if (column.isDiscriminator) {\n expression += this.createParameter(\n this.expressionMap.mainAlias!.metadata\n .discriminatorValue,\n )\n // return \"1\";\n\n // for create and update dates we insert current date\n // no, we don't do it because this constant is already in \"default\" value of the column\n // with extended timestamp functionality, like CURRENT_TIMESTAMP(6) for example\n // } else if (column.isCreateDate || column.isUpdateDate) {\n // return \"CURRENT_TIMESTAMP\";\n\n // if column is generated uuid and database does not support its generation and custom generated value was not provided by a user - we generate a new uuid value for insertion\n } else if (\n column.isGenerated &&\n column.generationStrategy === \"uuid\" &&\n !this.connection.driver.isUUIDGenerationSupported() &&\n value === undefined\n ) {\n value = uuidv4()\n expression += this.createParameter(value)\n\n if (\n !(\n valueSetIndex in\n this.expressionMap.locallyGenerated\n )\n ) {\n this.expressionMap.locallyGenerated[valueSetIndex] =\n {}\n }\n column.setEntityValue(\n this.expressionMap.locallyGenerated[valueSetIndex],\n value,\n )\n\n // if value for this column was not provided then insert default value\n } else if (value === undefined) {\n if (\n (this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1) ||\n DriverUtils.isSQLiteFamily(\n this.connection.driver,\n ) ||\n this.connection.driver.options.type === \"sap\" ||\n this.connection.driver.options.type === \"spanner\"\n ) {\n // unfortunately sqlite does not support DEFAULT expression in INSERT queries\n if (\n column.default !== undefined &&\n column.default !== null\n ) {\n // try to use default defined in the column\n expression +=\n this.connection.driver.normalizeDefault(\n column,\n )\n } else {\n expression += \"NULL\" // otherwise simply use NULL and pray if column is nullable\n }\n } else {\n expression += \"DEFAULT\"\n }\n } else if (\n value === null &&\n this.connection.driver.options.type === \"spanner\"\n ) {\n expression += \"NULL\"\n\n // support for SQL expressions in queries\n } else if (typeof value === \"function\") {\n expression += value()\n\n // just any other regular value\n } else {\n if (this.connection.driver.options.type === \"mssql\")\n value = (\n this.connection.driver as SqlServerDriver\n ).parametrizeValue(column, value)\n\n // we need to store array values in a special class to make sure parameter replacement will work correctly\n // if (value instanceof Array)\n // value = new ArrayParameter(value);\n\n const paramName = this.createParameter(value)\n\n if (\n (DriverUtils.isMySQLFamily(\n this.connection.driver,\n ) ||\n this.connection.driver.options.type ===\n \"aurora-mysql\") &&\n this.connection.driver.spatialTypes.indexOf(\n column.type,\n ) !== -1\n ) {\n const useLegacy = (\n this.connection.driver as\n | MysqlDriver\n | AuroraMysqlDriver\n ).options.legacySpatialSupport\n const geomFromText = useLegacy\n ? \"GeomFromText\"\n : \"ST_GeomFromText\"\n if (column.srid != null) {\n expression += `${geomFromText}(${paramName}, ${column.srid})`\n } else {\n expression += `${geomFromText}(${paramName})`\n }\n } else if (\n DriverUtils.isPostgresFamily(\n this.connection.driver,\n ) &&\n this.connection.driver.spatialTypes.indexOf(\n column.type,\n ) !== -1\n ) {\n if (column.srid != null) {\n expression += `ST_SetSRID(ST_GeomFromGeoJSON(${paramName}), ${column.srid})::${column.type}`\n } else {\n expression += `ST_GeomFromGeoJSON(${paramName})::${column.type}`\n }\n } else if (\n this.connection.driver.options.type === \"mssql\" &&\n this.connection.driver.spatialTypes.indexOf(\n column.type,\n ) !== -1\n ) {\n expression +=\n column.type +\n \"::STGeomFromText(\" +\n paramName +\n \", \" +\n (column.srid || \"0\") +\n \")\"\n } else {\n expression += paramName\n }\n }\n\n if (columnIndex === columns.length - 1) {\n if (valueSetIndex === valueSets.length - 1) {\n if (\n this.connection.driver.options.type ===\n \"oracle\" &&\n valueSets.length > 1\n ) {\n expression += \" FROM DUAL \"\n } else if (\n this.connection.driver.options.type === \"sap\" &&\n valueSets.length > 1\n ) {\n expression += \" FROM dummy \"\n } else {\n expression += \")\"\n }\n } else {\n if (\n this.connection.driver.options.type ===\n \"oracle\" &&\n valueSets.length > 1\n ) {\n expression += \" FROM DUAL UNION ALL \"\n } else if (\n this.connection.driver.options.type === \"sap\" &&\n valueSets.length > 1\n ) {\n expression += \" FROM dummy UNION ALL \"\n } else {\n expression += \"), \"\n }\n }\n } else {\n expression += \", \"\n }\n })\n })\n if (expression === \"()\") return \"\"\n\n return expression\n } else {\n // for tables without metadata\n // get values needs to be inserted\n let expression = \"\"\n\n valueSets.forEach((valueSet, insertionIndex) => {\n const columns = Object.keys(valueSet)\n columns.forEach((columnName, columnIndex) => {\n if (columnIndex === 0) {\n expression += \"(\"\n }\n\n const value = valueSet[columnName]\n\n // support for SQL expressions in queries\n if (typeof value === \"function\") {\n expression += value()\n\n // if value for this column was not provided then insert default value\n } else if (value === undefined) {\n if (\n (this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1) ||\n DriverUtils.isSQLiteFamily(\n this.connection.driver,\n ) ||\n this.connection.driver.options.type === \"sap\" ||\n this.connection.driver.options.type === \"spanner\"\n ) {\n expression += \"NULL\"\n } else {\n expression += \"DEFAULT\"\n }\n } else if (\n value === null &&\n this.connection.driver.options.type === \"spanner\"\n ) {\n // just any other regular value\n } else {\n expression += this.createParameter(value)\n }\n\n if (columnIndex === Object.keys(valueSet).length - 1) {\n if (insertionIndex === valueSets.length - 1) {\n expression += \")\"\n } else {\n expression += \"), \"\n }\n } else {\n expression += \", \"\n }\n })\n })\n if (expression === \"()\") return \"\"\n return expression\n }\n }\n\n /**\n * Gets array of values need to be inserted into the target table.\n */\n protected getValueSets(): ObjectLiteral[] {\n if (Array.isArray(this.expressionMap.valuesSet))\n return this.expressionMap.valuesSet\n\n if (ObjectUtils.isObject(this.expressionMap.valuesSet))\n return [this.expressionMap.valuesSet]\n\n throw new InsertValuesMissingError()\n }\n\n /**\n * Checks if column is an auto-generated primary key, but the current insertion specifies a value for it.\n *\n * @param column\n */\n protected isOverridingAutoIncrementBehavior(\n column: ColumnMetadata,\n ): boolean {\n return (\n column.isPrimary &&\n column.isGenerated &&\n column.generationStrategy === \"increment\" &&\n this.getValueSets().some(\n (valueSet) =>\n column.getEntityValue(valueSet) !== undefined &&\n column.getEntityValue(valueSet) !== null,\n )\n )\n }\n}\n"],"sourceRoot":".."}
@@ -1,8 +1,8 @@
1
- import { EntityMetadata } from "../metadata/EntityMetadata";
2
- import { DataSource } from "../data-source/DataSource";
3
- import { RelationMetadata } from "../metadata/RelationMetadata";
4
- import { QueryExpressionMap } from "./QueryExpressionMap";
5
- import { Alias } from "./Alias";
1
+ import type { EntityMetadata } from "../metadata/EntityMetadata";
2
+ import type { DataSource } from "../data-source/DataSource";
3
+ import type { RelationMetadata } from "../metadata/RelationMetadata";
4
+ import type { QueryExpressionMap } from "./QueryExpressionMap";
5
+ import type { Alias } from "./Alias";
6
6
  /**
7
7
  * Stores all join attributes which will be used to build a JOIN query.
8
8
  */
@@ -31,7 +31,7 @@ export class JoinAttribute {
31
31
  */
32
32
  get isSelected() {
33
33
  if (!this.isSelectedEvaluated) {
34
- let getValue = () => {
34
+ const getValue = () => {
35
35
  for (const select of this.queryExpressionMap.selects) {
36
36
  if (select.selection === this.alias.name)
37
37
  return true;
@@ -86,7 +86,7 @@ export class JoinAttribute {
86
86
  */
87
87
  get relation() {
88
88
  if (!this.relationEvaluated) {
89
- let getValue = () => {
89
+ const getValue = () => {
90
90
  if (!QueryBuilderUtils.isAliasProperty(this.entityOrProperty))
91
91
  return undefined;
92
92
  const relationOwnerSelection = this.queryExpressionMap.findAliasByName(this.parentAlias);
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/query-builder/JoinAttribute.ts"],"names":[],"mappings":"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","file":"JoinAttribute.js","sourcesContent":["import { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { DataSource } from \"../data-source/DataSource\"\nimport { RelationMetadata } from \"../metadata/RelationMetadata\"\nimport { QueryBuilderUtils } from \"./QueryBuilderUtils\"\nimport { QueryExpressionMap } from \"./QueryExpressionMap\"\nimport { Alias } from \"./Alias\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { TypeORMError } from \"../error\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\n\n/**\n * Stores all join attributes which will be used to build a JOIN query.\n */\nexport class JoinAttribute {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Join direction.\n */\n direction: \"LEFT\" | \"INNER\"\n\n /**\n * Alias of the joined (destination) table.\n */\n alias: Alias\n\n /**\n * Joined table, entity target, or relation in \"post.category\" format.\n */\n entityOrProperty: Function | string\n\n /**\n * Extra condition applied to \"ON\" section of join.\n */\n condition?: string\n\n /**\n * Property + alias of the object where to joined data should be mapped.\n */\n mapToProperty?: string\n\n /**\n * Indicates if user maps one or many objects from the join.\n */\n isMappingMany?: boolean\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n private connection: DataSource,\n private queryExpressionMap: QueryExpressionMap,\n joinAttribute?: JoinAttribute,\n ) {\n ObjectUtils.assign(this, joinAttribute || {})\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n get isMany(): boolean {\n if (this.isMappingMany !== undefined) return this.isMappingMany\n\n if (this.relation)\n return this.relation.isManyToMany || this.relation.isOneToMany\n\n return false\n }\n\n isSelectedCache: boolean\n isSelectedEvaluated: boolean = false\n /**\n * Indicates if this join is selected.\n */\n get isSelected(): boolean {\n if (!this.isSelectedEvaluated) {\n let getValue = () => {\n for (const select of this.queryExpressionMap.selects) {\n if (select.selection === this.alias.name) return true\n\n if (\n this.metadata &&\n !!this.metadata.columns.find(\n (column) =>\n select.selection ===\n this.alias.name + \".\" + column.propertyPath,\n )\n )\n return true\n }\n\n return false\n }\n this.isSelectedCache = getValue()\n this.isSelectedEvaluated = true\n }\n return this.isSelectedCache\n }\n\n /**\n * Name of the table which we should join.\n */\n get tablePath(): string {\n return this.metadata\n ? this.metadata.tablePath\n : (this.entityOrProperty as string)\n }\n\n /**\n * Alias of the parent of this join.\n * For example, if we join (\"post.category\", \"categoryAlias\") then \"post\" is a parent alias.\n * This value is extracted from entityOrProperty value.\n * This is available when join was made using \"post.category\" syntax.\n */\n get parentAlias(): string | undefined {\n if (!QueryBuilderUtils.isAliasProperty(this.entityOrProperty))\n return undefined\n\n return this.entityOrProperty.substr(\n 0,\n this.entityOrProperty.indexOf(\".\"),\n )\n }\n\n /**\n * Relation property name of the parent.\n * This is used to understand what is joined.\n * For example, if we join (\"post.category\", \"categoryAlias\") then \"category\" is a relation property.\n * This value is extracted from entityOrProperty value.\n * This is available when join was made using \"post.category\" syntax.\n */\n get relationPropertyPath(): string | undefined {\n if (!QueryBuilderUtils.isAliasProperty(this.entityOrProperty))\n return undefined\n\n return this.entityOrProperty.substr(\n this.entityOrProperty.indexOf(\".\") + 1,\n )\n }\n\n relationCache: RelationMetadata | undefined\n relationEvaluated: boolean = false\n /**\n * Relation of the parent.\n * This is used to understand what is joined.\n * This is available when join was made using \"post.category\" syntax.\n * Relation can be undefined if entityOrProperty is regular entity or custom table.\n */\n get relation(): RelationMetadata | undefined {\n if (!this.relationEvaluated) {\n let getValue = () => {\n if (!QueryBuilderUtils.isAliasProperty(this.entityOrProperty))\n return undefined\n\n const relationOwnerSelection =\n this.queryExpressionMap.findAliasByName(this.parentAlias!)\n let relation =\n relationOwnerSelection.metadata.findRelationWithPropertyPath(\n this.relationPropertyPath!,\n )\n\n if (relation) {\n return relation\n }\n\n if (relationOwnerSelection.metadata.parentEntityMetadata) {\n relation =\n relationOwnerSelection.metadata.parentEntityMetadata.findRelationWithPropertyPath(\n this.relationPropertyPath!,\n )\n if (relation) {\n return relation\n }\n }\n\n throw new TypeORMError(\n `Relation with property path ${this.relationPropertyPath} in entity was not found.`,\n )\n }\n this.relationCache = getValue.bind(this)()\n this.relationEvaluated = true\n }\n return this.relationCache\n }\n\n /**\n * Metadata of the joined entity.\n * If table without entity was joined, then it will return undefined.\n */\n get metadata(): EntityMetadata | undefined {\n // entityOrProperty is relation, e.g. \"post.category\"\n if (this.relation) return this.relation.inverseEntityMetadata\n\n // entityOrProperty is Entity class\n if (this.connection.hasMetadata(this.entityOrProperty))\n return this.connection.getMetadata(this.entityOrProperty)\n\n return undefined\n\n /*if (typeof this.entityOrProperty === \"string\") { // entityOrProperty is a custom table\n\n // first try to find entity with such name, this is needed when entity does not have a target class,\n // and its target is a string name (scenario when plain old javascript is used or entity schema is loaded from files)\n const metadata = this.connection.entityMetadatas.find(metadata => metadata.name === this.entityOrProperty);\n if (metadata)\n return metadata;\n\n // check if we have entity with such table name, and use its metadata if found\n return this.connection.entityMetadatas.find(metadata => metadata.tableName === this.entityOrProperty);\n }*/\n }\n\n /**\n * Generates alias of junction table, whose ids we get.\n */\n get junctionAlias(): string {\n if (!this.relation)\n throw new TypeORMError(\n `Cannot get junction table for join without relation.`,\n )\n\n if (this.relation.isOwning) {\n return DriverUtils.buildAlias(\n this.connection.driver,\n this.parentAlias!,\n this.alias.name,\n )\n } else {\n return DriverUtils.buildAlias(\n this.connection.driver,\n this.alias.name,\n this.parentAlias!,\n )\n }\n }\n\n get mapToPropertyParentAlias(): string | undefined {\n if (!this.mapToProperty) return undefined\n\n return this.mapToProperty!.split(\".\")[0]\n }\n\n get mapToPropertyPropertyName(): string | undefined {\n if (!this.mapToProperty) return undefined\n\n return this.mapToProperty!.split(\".\")[1]\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/query-builder/JoinAttribute.ts"],"names":[],"mappings":"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","file":"JoinAttribute.js","sourcesContent":["import type { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport type { RelationMetadata } from \"../metadata/RelationMetadata\"\nimport { QueryBuilderUtils } from \"./QueryBuilderUtils\"\nimport type { QueryExpressionMap } from \"./QueryExpressionMap\"\nimport type { Alias } from \"./Alias\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { TypeORMError } from \"../error\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\n\n/**\n * Stores all join attributes which will be used to build a JOIN query.\n */\nexport class JoinAttribute {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Join direction.\n */\n direction: \"LEFT\" | \"INNER\"\n\n /**\n * Alias of the joined (destination) table.\n */\n alias: Alias\n\n /**\n * Joined table, entity target, or relation in \"post.category\" format.\n */\n entityOrProperty: Function | string\n\n /**\n * Extra condition applied to \"ON\" section of join.\n */\n condition?: string\n\n /**\n * Property + alias of the object where to joined data should be mapped.\n */\n mapToProperty?: string\n\n /**\n * Indicates if user maps one or many objects from the join.\n */\n isMappingMany?: boolean\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n private connection: DataSource,\n private queryExpressionMap: QueryExpressionMap,\n joinAttribute?: JoinAttribute,\n ) {\n ObjectUtils.assign(this, joinAttribute || {})\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n get isMany(): boolean {\n if (this.isMappingMany !== undefined) return this.isMappingMany\n\n if (this.relation)\n return this.relation.isManyToMany || this.relation.isOneToMany\n\n return false\n }\n\n isSelectedCache: boolean\n isSelectedEvaluated = false\n /**\n * Indicates if this join is selected.\n */\n get isSelected(): boolean {\n if (!this.isSelectedEvaluated) {\n const getValue = () => {\n for (const select of this.queryExpressionMap.selects) {\n if (select.selection === this.alias.name) return true\n\n if (\n this.metadata &&\n !!this.metadata.columns.find(\n (column) =>\n select.selection ===\n this.alias.name + \".\" + column.propertyPath,\n )\n )\n return true\n }\n\n return false\n }\n this.isSelectedCache = getValue()\n this.isSelectedEvaluated = true\n }\n return this.isSelectedCache\n }\n\n /**\n * Name of the table which we should join.\n */\n get tablePath(): string {\n return this.metadata\n ? this.metadata.tablePath\n : (this.entityOrProperty as string)\n }\n\n /**\n * Alias of the parent of this join.\n * For example, if we join (\"post.category\", \"categoryAlias\") then \"post\" is a parent alias.\n * This value is extracted from entityOrProperty value.\n * This is available when join was made using \"post.category\" syntax.\n */\n get parentAlias(): string | undefined {\n if (!QueryBuilderUtils.isAliasProperty(this.entityOrProperty))\n return undefined\n\n return this.entityOrProperty.substr(\n 0,\n this.entityOrProperty.indexOf(\".\"),\n )\n }\n\n /**\n * Relation property name of the parent.\n * This is used to understand what is joined.\n * For example, if we join (\"post.category\", \"categoryAlias\") then \"category\" is a relation property.\n * This value is extracted from entityOrProperty value.\n * This is available when join was made using \"post.category\" syntax.\n */\n get relationPropertyPath(): string | undefined {\n if (!QueryBuilderUtils.isAliasProperty(this.entityOrProperty))\n return undefined\n\n return this.entityOrProperty.substr(\n this.entityOrProperty.indexOf(\".\") + 1,\n )\n }\n\n relationCache: RelationMetadata | undefined\n relationEvaluated = false\n /**\n * Relation of the parent.\n * This is used to understand what is joined.\n * This is available when join was made using \"post.category\" syntax.\n * Relation can be undefined if entityOrProperty is regular entity or custom table.\n */\n get relation(): RelationMetadata | undefined {\n if (!this.relationEvaluated) {\n const getValue = () => {\n if (!QueryBuilderUtils.isAliasProperty(this.entityOrProperty))\n return undefined\n\n const relationOwnerSelection =\n this.queryExpressionMap.findAliasByName(this.parentAlias!)\n let relation =\n relationOwnerSelection.metadata.findRelationWithPropertyPath(\n this.relationPropertyPath!,\n )\n\n if (relation) {\n return relation\n }\n\n if (relationOwnerSelection.metadata.parentEntityMetadata) {\n relation =\n relationOwnerSelection.metadata.parentEntityMetadata.findRelationWithPropertyPath(\n this.relationPropertyPath!,\n )\n if (relation) {\n return relation\n }\n }\n\n throw new TypeORMError(\n `Relation with property path ${this.relationPropertyPath} in entity was not found.`,\n )\n }\n this.relationCache = getValue.bind(this)()\n this.relationEvaluated = true\n }\n return this.relationCache\n }\n\n /**\n * Metadata of the joined entity.\n * If table without entity was joined, then it will return undefined.\n */\n get metadata(): EntityMetadata | undefined {\n // entityOrProperty is relation, e.g. \"post.category\"\n if (this.relation) return this.relation.inverseEntityMetadata\n\n // entityOrProperty is Entity class\n if (this.connection.hasMetadata(this.entityOrProperty))\n return this.connection.getMetadata(this.entityOrProperty)\n\n return undefined\n\n /*if (typeof this.entityOrProperty === \"string\") { // entityOrProperty is a custom table\n\n // first try to find entity with such name, this is needed when entity does not have a target class,\n // and its target is a string name (scenario when plain old javascript is used or entity schema is loaded from files)\n const metadata = this.connection.entityMetadatas.find(metadata => metadata.name === this.entityOrProperty);\n if (metadata)\n return metadata;\n\n // check if we have entity with such table name, and use its metadata if found\n return this.connection.entityMetadatas.find(metadata => metadata.tableName === this.entityOrProperty);\n }*/\n }\n\n /**\n * Generates alias of junction table, whose ids we get.\n */\n get junctionAlias(): string {\n if (!this.relation)\n throw new TypeORMError(\n `Cannot get junction table for join without relation.`,\n )\n\n if (this.relation.isOwning) {\n return DriverUtils.buildAlias(\n this.connection.driver,\n this.parentAlias!,\n this.alias.name,\n )\n } else {\n return DriverUtils.buildAlias(\n this.connection.driver,\n this.alias.name,\n this.parentAlias!,\n )\n }\n }\n\n get mapToPropertyParentAlias(): string | undefined {\n if (!this.mapToProperty) return undefined\n\n return this.mapToProperty!.split(\".\")[0]\n }\n\n get mapToPropertyPropertyName(): string | undefined {\n if (!this.mapToProperty) return undefined\n\n return this.mapToProperty!.split(\".\")[1]\n }\n}\n"],"sourceRoot":".."}
@@ -1,23 +1,23 @@
1
- import { ObjectLiteral } from "../common/ObjectLiteral";
2
- import { QueryRunner } from "../query-runner/QueryRunner";
3
- import { DataSource } from "../data-source/DataSource";
4
- import { QueryBuilderCteOptions } from "./QueryBuilderCte";
1
+ import type { ObjectLiteral } from "../common/ObjectLiteral";
2
+ import type { QueryRunner } from "../query-runner/QueryRunner";
3
+ import type { DataSource } from "../data-source/DataSource";
4
+ import type { QueryBuilderCteOptions } from "./QueryBuilderCte";
5
5
  import { QueryExpressionMap } from "./QueryExpressionMap";
6
- import { SelectQueryBuilder } from "./SelectQueryBuilder";
7
- import { UpdateQueryBuilder } from "./UpdateQueryBuilder";
8
- import { DeleteQueryBuilder } from "./DeleteQueryBuilder";
9
- import { SoftDeleteQueryBuilder } from "./SoftDeleteQueryBuilder";
10
- import { InsertQueryBuilder } from "./InsertQueryBuilder";
11
- import { RelationQueryBuilder } from "./RelationQueryBuilder";
12
- import { EntityTarget } from "../common/EntityTarget";
13
- import { Alias } from "./Alias";
6
+ import type { SelectQueryBuilder } from "./SelectQueryBuilder";
7
+ import type { UpdateQueryBuilder } from "./UpdateQueryBuilder";
8
+ import type { DeleteQueryBuilder } from "./DeleteQueryBuilder";
9
+ import type { SoftDeleteQueryBuilder } from "./SoftDeleteQueryBuilder";
10
+ import type { InsertQueryBuilder } from "./InsertQueryBuilder";
11
+ import type { RelationQueryBuilder } from "./RelationQueryBuilder";
12
+ import type { EntityTarget } from "../common/EntityTarget";
13
+ import type { Alias } from "./Alias";
14
14
  import { Brackets } from "./Brackets";
15
- import { QueryDeepPartialEntity } from "./QueryPartialEntity";
16
- import { EntityMetadata } from "../metadata/EntityMetadata";
17
- import { ColumnMetadata } from "../metadata/ColumnMetadata";
18
- import { WhereClause, WhereClauseCondition } from "./WhereClause";
19
- import { NotBrackets } from "./NotBrackets";
20
- import { ReturningType } from "../driver/Driver";
15
+ import type { QueryDeepPartialEntity } from "./QueryPartialEntity";
16
+ import type { EntityMetadata } from "../metadata/EntityMetadata";
17
+ import type { ColumnMetadata } from "../metadata/ColumnMetadata";
18
+ import type { WhereClause, WhereClauseCondition } from "./WhereClause";
19
+ import type { NotBrackets } from "./NotBrackets";
20
+ import type { ReturningType } from "../driver/Driver";
21
21
  /**
22
22
  * Allows to build complex sql queries in a fashion way and execute those queries.
23
23
  */
@@ -679,6 +679,8 @@ export class QueryBuilder {
679
679
  return `${condition.parameters[0]} <= ${condition.parameters[1]}`;
680
680
  case "arrayContains":
681
681
  return `${condition.parameters[0]} @> ${condition.parameters[1]}`;
682
+ case "jsonContains":
683
+ return `${condition.parameters[0]} ::jsonb @> ${condition.parameters[1]}`;
682
684
  case "arrayContainedBy":
683
685
  return `${condition.parameters[0]} <@ ${condition.parameters[1]}`;
684
686
  case "arrayOverlap":
@@ -966,7 +968,7 @@ export class QueryBuilder {
966
968
  }
967
969
  getWherePredicateCondition(aliasPath, parameterValue) {
968
970
  if (InstanceChecker.isFindOperator(parameterValue)) {
969
- let parameters = [];
971
+ const parameters = [];
970
972
  if (parameterValue.useParameter) {
971
973
  if (parameterValue.objectLiteralParameters) {
972
974
  this.setParameters(parameterValue.objectLiteralParameters);