taon-typeorm 18.0.18 → 18.0.20

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 (871) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
  4. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
  5. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
  6. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
  7. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
  8. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
  9. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
  10. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
  11. package/browser/esm2022/lib/typeorm/index.mjs +1 -3
  12. package/browser/fesm2022/taon-typeorm.mjs.map +1 -1
  13. package/client/README.md +24 -24
  14. package/client/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
  15. package/client/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
  16. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
  17. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
  18. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
  19. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
  20. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
  21. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
  22. package/client/esm2022/lib/typeorm/index.mjs +1 -3
  23. package/client/fesm2022/taon-typeorm.mjs.map +1 -1
  24. package/index.js +15 -2
  25. package/index.js.map +1 -1
  26. package/lib/build-info._auto-generated_.js.map +1 -1
  27. package/lib/index._auto-generated_.d.ts +1 -0
  28. package/lib/index._auto-generated_.js.map +1 -1
  29. package/lib/index.js +15 -2
  30. package/lib/index.js.map +1 -1
  31. package/lib/typeorm/cache/DbQueryResultCache.js +178 -231
  32. package/lib/typeorm/cache/DbQueryResultCache.js.map +1 -1
  33. package/lib/typeorm/cache/QueryResultCache.js.map +1 -1
  34. package/lib/typeorm/cache/QueryResultCacheFactory.js +11 -11
  35. package/lib/typeorm/cache/QueryResultCacheFactory.js.map +1 -1
  36. package/lib/typeorm/cache/QueryResultCacheOptions.js.map +1 -1
  37. package/lib/typeorm/cache/RedisQueryResultCache.js +121 -149
  38. package/lib/typeorm/cache/RedisQueryResultCache.js.map +1 -1
  39. package/lib/typeorm/cli-ts-node-commonjs.js.map +1 -1
  40. package/lib/typeorm/cli-ts-node-esm.js +7 -5
  41. package/lib/typeorm/cli-ts-node-esm.js.map +1 -1
  42. package/lib/typeorm/cli.d.ts +1 -1
  43. package/lib/typeorm/cli.js +15 -16
  44. package/lib/typeorm/cli.js.map +1 -1
  45. package/lib/typeorm/commands/CacheClearCommand.js +37 -65
  46. package/lib/typeorm/commands/CacheClearCommand.js.map +1 -1
  47. package/lib/typeorm/commands/CommandUtils.js +57 -112
  48. package/lib/typeorm/commands/CommandUtils.js.map +1 -1
  49. package/lib/typeorm/commands/EntityCreateCommand.js +35 -47
  50. package/lib/typeorm/commands/EntityCreateCommand.js.map +1 -1
  51. package/lib/typeorm/commands/InitCommand.js +397 -168
  52. package/lib/typeorm/commands/InitCommand.js.map +1 -1
  53. package/lib/typeorm/commands/MigrationCreateCommand.js +58 -52
  54. package/lib/typeorm/commands/MigrationCreateCommand.js.map +1 -1
  55. package/lib/typeorm/commands/MigrationGenerateCommand.js +141 -138
  56. package/lib/typeorm/commands/MigrationGenerateCommand.js.map +1 -1
  57. package/lib/typeorm/commands/MigrationRevertCommand.js +49 -77
  58. package/lib/typeorm/commands/MigrationRevertCommand.js.map +1 -1
  59. package/lib/typeorm/commands/MigrationRunCommand.js +52 -82
  60. package/lib/typeorm/commands/MigrationRunCommand.js.map +1 -1
  61. package/lib/typeorm/commands/MigrationShowCommand.js +32 -60
  62. package/lib/typeorm/commands/MigrationShowCommand.js.map +1 -1
  63. package/lib/typeorm/commands/QueryCommand.js +47 -83
  64. package/lib/typeorm/commands/QueryCommand.js.map +1 -1
  65. package/lib/typeorm/commands/SchemaDropCommand.js +33 -61
  66. package/lib/typeorm/commands/SchemaDropCommand.js.map +1 -1
  67. package/lib/typeorm/commands/SchemaLogCommand.js +57 -81
  68. package/lib/typeorm/commands/SchemaLogCommand.js.map +1 -1
  69. package/lib/typeorm/commands/SchemaSyncCommand.js +33 -61
  70. package/lib/typeorm/commands/SchemaSyncCommand.js.map +1 -1
  71. package/lib/typeorm/commands/SubscriberCreateCommand.js +35 -47
  72. package/lib/typeorm/commands/SubscriberCreateCommand.js.map +1 -1
  73. package/lib/typeorm/commands/VersionCommand.js +38 -54
  74. package/lib/typeorm/commands/VersionCommand.js.map +1 -1
  75. package/lib/typeorm/common/DeepPartial.js.map +1 -1
  76. package/lib/typeorm/common/EntityTarget.js.map +1 -1
  77. package/lib/typeorm/common/MixedList.js.map +1 -1
  78. package/lib/typeorm/common/NonNever.js.map +1 -1
  79. package/lib/typeorm/common/ObjectLiteral.js.map +1 -1
  80. package/lib/typeorm/common/ObjectType.js.map +1 -1
  81. package/lib/typeorm/common/RelationType.js.map +1 -1
  82. package/lib/typeorm/connection/BaseConnectionOptions.js.map +1 -1
  83. package/lib/typeorm/connection/Connection.js +3 -9
  84. package/lib/typeorm/connection/Connection.js.map +1 -1
  85. package/lib/typeorm/connection/ConnectionManager.js +23 -31
  86. package/lib/typeorm/connection/ConnectionManager.js.map +1 -1
  87. package/lib/typeorm/connection/ConnectionMetadataBuilder.js +48 -78
  88. package/lib/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -1
  89. package/lib/typeorm/connection/ConnectionOptions.js.map +1 -1
  90. package/lib/typeorm/connection/ConnectionOptionsReader.js +146 -214
  91. package/lib/typeorm/connection/ConnectionOptionsReader.js.map +1 -1
  92. package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js +50 -58
  93. package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  94. package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js +45 -58
  95. package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  96. package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js +14 -23
  97. package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  98. package/lib/typeorm/constants.js.map +1 -1
  99. package/lib/typeorm/container.js +9 -12
  100. package/lib/typeorm/container.js.map +1 -1
  101. package/lib/typeorm/data-source/BaseDataSourceOptions.js.map +1 -1
  102. package/lib/typeorm/data-source/DataSource.js +320 -478
  103. package/lib/typeorm/data-source/DataSource.js.map +1 -1
  104. package/lib/typeorm/data-source/DataSourceOptions.js.map +1 -1
  105. package/lib/typeorm/data-source/index.js +16 -3
  106. package/lib/typeorm/data-source/index.js.map +1 -1
  107. package/lib/typeorm/decorator/Check.js +5 -5
  108. package/lib/typeorm/decorator/Check.js.map +1 -1
  109. package/lib/typeorm/decorator/EntityRepository.js +1 -1
  110. package/lib/typeorm/decorator/EntityRepository.js.map +1 -1
  111. package/lib/typeorm/decorator/Exclusion.js +5 -5
  112. package/lib/typeorm/decorator/Exclusion.js.map +1 -1
  113. package/lib/typeorm/decorator/Generated.js +2 -3
  114. package/lib/typeorm/decorator/Generated.js.map +1 -1
  115. package/lib/typeorm/decorator/Index.js +5 -5
  116. package/lib/typeorm/decorator/Index.js.map +1 -1
  117. package/lib/typeorm/decorator/Unique.js +8 -8
  118. package/lib/typeorm/decorator/Unique.js.map +1 -1
  119. package/lib/typeorm/decorator/columns/Column.js +4 -4
  120. package/lib/typeorm/decorator/columns/Column.js.map +1 -1
  121. package/lib/typeorm/decorator/columns/CreateDateColumn.js +1 -1
  122. package/lib/typeorm/decorator/columns/CreateDateColumn.js.map +1 -1
  123. package/lib/typeorm/decorator/columns/DeleteDateColumn.js +1 -1
  124. package/lib/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -1
  125. package/lib/typeorm/decorator/columns/ObjectIdColumn.js +1 -1
  126. package/lib/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -1
  127. package/lib/typeorm/decorator/columns/PrimaryColumn.js +5 -5
  128. package/lib/typeorm/decorator/columns/PrimaryColumn.js.map +1 -1
  129. package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js +4 -4
  130. package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  131. package/lib/typeorm/decorator/columns/UpdateDateColumn.js +1 -1
  132. package/lib/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -1
  133. package/lib/typeorm/decorator/columns/VersionColumn.js +1 -1
  134. package/lib/typeorm/decorator/columns/VersionColumn.js.map +1 -1
  135. package/lib/typeorm/decorator/columns/ViewColumn.js +1 -1
  136. package/lib/typeorm/decorator/columns/ViewColumn.js.map +1 -1
  137. package/lib/typeorm/decorator/columns/VirtualColumn.js +5 -5
  138. package/lib/typeorm/decorator/columns/VirtualColumn.js.map +1 -1
  139. package/lib/typeorm/decorator/entity/ChildEntity.js +1 -1
  140. package/lib/typeorm/decorator/entity/ChildEntity.js.map +1 -1
  141. package/lib/typeorm/decorator/entity/Entity.js +4 -4
  142. package/lib/typeorm/decorator/entity/Entity.js.map +1 -1
  143. package/lib/typeorm/decorator/entity/TableInheritance.js +1 -1
  144. package/lib/typeorm/decorator/entity/TableInheritance.js.map +1 -1
  145. package/lib/typeorm/decorator/entity-view/ViewEntity.js +4 -4
  146. package/lib/typeorm/decorator/entity-view/ViewEntity.js.map +1 -1
  147. package/lib/typeorm/decorator/listeners/AfterInsert.js +2 -2
  148. package/lib/typeorm/decorator/listeners/AfterInsert.js.map +1 -1
  149. package/lib/typeorm/decorator/listeners/AfterLoad.js +2 -2
  150. package/lib/typeorm/decorator/listeners/AfterLoad.js.map +1 -1
  151. package/lib/typeorm/decorator/listeners/AfterRecover.js +2 -2
  152. package/lib/typeorm/decorator/listeners/AfterRecover.js.map +1 -1
  153. package/lib/typeorm/decorator/listeners/AfterRemove.js +2 -2
  154. package/lib/typeorm/decorator/listeners/AfterRemove.js.map +1 -1
  155. package/lib/typeorm/decorator/listeners/AfterSoftRemove.js +2 -2
  156. package/lib/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -1
  157. package/lib/typeorm/decorator/listeners/AfterUpdate.js +2 -2
  158. package/lib/typeorm/decorator/listeners/AfterUpdate.js.map +1 -1
  159. package/lib/typeorm/decorator/listeners/BeforeInsert.js +2 -2
  160. package/lib/typeorm/decorator/listeners/BeforeInsert.js.map +1 -1
  161. package/lib/typeorm/decorator/listeners/BeforeRecover.js +2 -2
  162. package/lib/typeorm/decorator/listeners/BeforeRecover.js.map +1 -1
  163. package/lib/typeorm/decorator/listeners/BeforeRemove.js +2 -2
  164. package/lib/typeorm/decorator/listeners/BeforeRemove.js.map +1 -1
  165. package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js +2 -2
  166. package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  167. package/lib/typeorm/decorator/listeners/BeforeUpdate.js +2 -2
  168. package/lib/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -1
  169. package/lib/typeorm/decorator/listeners/EventSubscriber.js +1 -1
  170. package/lib/typeorm/decorator/listeners/EventSubscriber.js.map +1 -1
  171. package/lib/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -1
  172. package/lib/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  173. package/lib/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -1
  174. package/lib/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -1
  175. package/lib/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -1
  176. package/lib/typeorm/decorator/options/ColumnOptions.js.map +1 -1
  177. package/lib/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  178. package/lib/typeorm/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  179. package/lib/typeorm/decorator/options/EntityOptions.js.map +1 -1
  180. package/lib/typeorm/decorator/options/IndexOptions.js.map +1 -1
  181. package/lib/typeorm/decorator/options/JoinColumnOptions.js.map +1 -1
  182. package/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  183. package/lib/typeorm/decorator/options/JoinTableOptions.js.map +1 -1
  184. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  185. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  186. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  187. package/lib/typeorm/decorator/options/RelationOptions.js.map +1 -1
  188. package/lib/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -1
  189. package/lib/typeorm/decorator/options/TransactionOptions.js.map +1 -1
  190. package/lib/typeorm/decorator/options/UniqueOptions.js.map +1 -1
  191. package/lib/typeorm/decorator/options/ValueTransformer.js.map +1 -1
  192. package/lib/typeorm/decorator/options/ViewColumnOptions.js.map +1 -1
  193. package/lib/typeorm/decorator/options/ViewEntityOptions.js.map +1 -1
  194. package/lib/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -1
  195. package/lib/typeorm/decorator/relations/JoinColumn.js +3 -3
  196. package/lib/typeorm/decorator/relations/JoinColumn.js.map +1 -1
  197. package/lib/typeorm/decorator/relations/JoinTable.js +1 -1
  198. package/lib/typeorm/decorator/relations/JoinTable.js.map +1 -1
  199. package/lib/typeorm/decorator/relations/ManyToMany.js +5 -5
  200. package/lib/typeorm/decorator/relations/ManyToMany.js.map +1 -1
  201. package/lib/typeorm/decorator/relations/ManyToOne.js +5 -5
  202. package/lib/typeorm/decorator/relations/ManyToOne.js.map +1 -1
  203. package/lib/typeorm/decorator/relations/OneToMany.js +3 -3
  204. package/lib/typeorm/decorator/relations/OneToMany.js.map +1 -1
  205. package/lib/typeorm/decorator/relations/OneToOne.js +5 -5
  206. package/lib/typeorm/decorator/relations/OneToOne.js.map +1 -1
  207. package/lib/typeorm/decorator/relations/RelationCount.js +1 -1
  208. package/lib/typeorm/decorator/relations/RelationCount.js.map +1 -1
  209. package/lib/typeorm/decorator/relations/RelationId.js +1 -1
  210. package/lib/typeorm/decorator/relations/RelationId.js.map +1 -1
  211. package/lib/typeorm/decorator/tree/Tree.js +1 -1
  212. package/lib/typeorm/decorator/tree/Tree.js.map +1 -1
  213. package/lib/typeorm/decorator/tree/TreeChildren.js +4 -4
  214. package/lib/typeorm/decorator/tree/TreeChildren.js.map +1 -1
  215. package/lib/typeorm/decorator/tree/TreeLevelColumn.js +1 -1
  216. package/lib/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -1
  217. package/lib/typeorm/decorator/tree/TreeParent.js +4 -4
  218. package/lib/typeorm/decorator/tree/TreeParent.js.map +1 -1
  219. package/lib/typeorm/driver/Driver.js.map +1 -1
  220. package/lib/typeorm/driver/DriverFactory.js +24 -27
  221. package/lib/typeorm/driver/DriverFactory.js.map +1 -1
  222. package/lib/typeorm/driver/DriverUtils.js +78 -126
  223. package/lib/typeorm/driver/DriverUtils.js.map +1 -1
  224. package/lib/typeorm/driver/Query.js +6 -5
  225. package/lib/typeorm/driver/Query.js.map +1 -1
  226. package/lib/typeorm/driver/SqlInMemory.js +4 -7
  227. package/lib/typeorm/driver/SqlInMemory.js.map +1 -1
  228. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js +9 -12
  229. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  230. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  231. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  232. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js +392 -399
  233. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  234. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1320 -2084
  235. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  236. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  237. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js +50 -78
  238. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  239. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js +89 -160
  240. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  241. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  242. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js +78 -152
  243. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  244. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js +96 -155
  245. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  246. package/lib/typeorm/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  247. package/lib/typeorm/driver/capacitor/CapacitorDriver.js +44 -89
  248. package/lib/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -1
  249. package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js +70 -122
  250. package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  251. package/lib/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  252. package/lib/typeorm/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  253. package/lib/typeorm/driver/cockroachdb/CockroachDriver.js +368 -404
  254. package/lib/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -1
  255. package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js +1752 -2862
  256. package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  257. package/lib/typeorm/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  258. package/lib/typeorm/driver/cordova/CordovaDriver.js +36 -58
  259. package/lib/typeorm/driver/cordova/CordovaDriver.js.map +1 -1
  260. package/lib/typeorm/driver/cordova/CordovaQueryRunner.js +86 -164
  261. package/lib/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -1
  262. package/lib/typeorm/driver/expo/ExpoConnectionOptions.js.map +1 -1
  263. package/lib/typeorm/driver/expo/ExpoDriver.js +34 -44
  264. package/lib/typeorm/driver/expo/ExpoDriver.js.map +1 -1
  265. package/lib/typeorm/driver/expo/ExpoQueryRunner.js +114 -204
  266. package/lib/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -1
  267. package/lib/typeorm/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  268. package/lib/typeorm/driver/mongodb/MongoDriver.js +269 -243
  269. package/lib/typeorm/driver/mongodb/MongoDriver.js.map +1 -1
  270. package/lib/typeorm/driver/mongodb/MongoQueryRunner.js +357 -793
  271. package/lib/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -1
  272. package/lib/typeorm/driver/mongodb/typings.js.map +1 -1
  273. package/lib/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  274. package/lib/typeorm/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  275. package/lib/typeorm/driver/mysql/MysqlDriver.js +475 -480
  276. package/lib/typeorm/driver/mysql/MysqlDriver.js.map +1 -1
  277. package/lib/typeorm/driver/mysql/MysqlQueryRunner.js +1692 -2466
  278. package/lib/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -1
  279. package/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  280. package/lib/typeorm/driver/nativescript/NativescriptDriver.js +46 -50
  281. package/lib/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -1
  282. package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js +62 -101
  283. package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  284. package/lib/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  285. package/lib/typeorm/driver/oracle/OracleConnectionOptions.js.map +1 -1
  286. package/lib/typeorm/driver/oracle/OracleDriver.js +345 -377
  287. package/lib/typeorm/driver/oracle/OracleDriver.js.map +1 -1
  288. package/lib/typeorm/driver/oracle/OracleQueryRunner.js +1484 -2384
  289. package/lib/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -1
  290. package/lib/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  291. package/lib/typeorm/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  292. package/lib/typeorm/driver/postgres/PostgresDriver.js +574 -690
  293. package/lib/typeorm/driver/postgres/PostgresDriver.js.map +1 -1
  294. package/lib/typeorm/driver/postgres/PostgresQueryRunner.js +2153 -3379
  295. package/lib/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -1
  296. package/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  297. package/lib/typeorm/driver/react-native/ReactNativeDriver.js +34 -44
  298. package/lib/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -1
  299. package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js +60 -94
  300. package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  301. package/lib/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  302. package/lib/typeorm/driver/sap/SapConnectionOptions.js.map +1 -1
  303. package/lib/typeorm/driver/sap/SapDriver.js +310 -305
  304. package/lib/typeorm/driver/sap/SapDriver.js.map +1 -1
  305. package/lib/typeorm/driver/sap/SapQueryRunner.js +1635 -2561
  306. package/lib/typeorm/driver/sap/SapQueryRunner.js.map +1 -1
  307. package/lib/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  308. package/lib/typeorm/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  309. package/lib/typeorm/driver/spanner/SpannerDriver.js +250 -236
  310. package/lib/typeorm/driver/spanner/SpannerDriver.js.map +1 -1
  311. package/lib/typeorm/driver/spanner/SpannerQueryRunner.js +1136 -2168
  312. package/lib/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -1
  313. package/lib/typeorm/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  314. package/lib/typeorm/driver/sqlite/SqliteDriver.js +82 -169
  315. package/lib/typeorm/driver/sqlite/SqliteDriver.js.map +1 -1
  316. package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js +78 -122
  317. package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  318. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js +280 -268
  319. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  320. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1158 -1990
  321. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  322. package/lib/typeorm/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  323. package/lib/typeorm/driver/sqljs/SqljsDriver.js +187 -253
  324. package/lib/typeorm/driver/sqljs/SqljsDriver.js.map +1 -1
  325. package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js +88 -147
  326. package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  327. package/lib/typeorm/driver/sqlserver/MssqlParameter.js +10 -13
  328. package/lib/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -1
  329. package/lib/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  330. package/lib/typeorm/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  331. package/lib/typeorm/driver/sqlserver/SqlServerDriver.js +352 -372
  332. package/lib/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -1
  333. package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js +1979 -3068
  334. package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  335. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  336. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  337. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  338. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  339. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  340. package/lib/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  341. package/lib/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  342. package/lib/typeorm/driver/types/ColumnTypes.js.map +1 -1
  343. package/lib/typeorm/driver/types/CteCapabilities.js.map +1 -1
  344. package/lib/typeorm/driver/types/DataTypeDefaults.js.map +1 -1
  345. package/lib/typeorm/driver/types/DatabaseType.js.map +1 -1
  346. package/lib/typeorm/driver/types/IsolationLevel.js.map +1 -1
  347. package/lib/typeorm/driver/types/MappedColumnTypes.js.map +1 -1
  348. package/lib/typeorm/driver/types/MetadataTableType.js.map +1 -1
  349. package/lib/typeorm/driver/types/ReplicationMode.js.map +1 -1
  350. package/lib/typeorm/driver/types/UpsertType.js.map +1 -1
  351. package/lib/typeorm/entity-manager/EntityManager.js +351 -469
  352. package/lib/typeorm/entity-manager/EntityManager.js.map +1 -1
  353. package/lib/typeorm/entity-manager/EntityManagerFactory.js +7 -10
  354. package/lib/typeorm/entity-manager/EntityManagerFactory.js.map +1 -1
  355. package/lib/typeorm/entity-manager/MongoEntityManager.js +371 -487
  356. package/lib/typeorm/entity-manager/MongoEntityManager.js.map +1 -1
  357. package/lib/typeorm/entity-manager/SqljsEntityManager.js +16 -37
  358. package/lib/typeorm/entity-manager/SqljsEntityManager.js.map +1 -1
  359. package/lib/typeorm/entity-schema/EntitySchema.js +5 -5
  360. package/lib/typeorm/entity-schema/EntitySchema.js.map +1 -1
  361. package/lib/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  362. package/lib/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  363. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js +17 -5
  364. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  365. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js +11 -14
  366. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  367. package/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  368. package/lib/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  369. package/lib/typeorm/entity-schema/EntitySchemaOptions.js +82 -5
  370. package/lib/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -1
  371. package/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  372. package/lib/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  373. package/lib/typeorm/entity-schema/EntitySchemaTransformer.js +51 -68
  374. package/lib/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -1
  375. package/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  376. package/lib/typeorm/error/AlreadyHasActiveConnectionError.js +6 -9
  377. package/lib/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -1
  378. package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js +6 -9
  379. package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  380. package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js +5 -8
  381. package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  382. package/lib/typeorm/error/CannotCreateEntityIdMapError.js +7 -11
  383. package/lib/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -1
  384. package/lib/typeorm/error/CannotDetermineEntityError.js +6 -9
  385. package/lib/typeorm/error/CannotDetermineEntityError.js.map +1 -1
  386. package/lib/typeorm/error/CannotExecuteNotConnectedError.js +5 -8
  387. package/lib/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -1
  388. package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js +5 -8
  389. package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  390. package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js +7 -10
  391. package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  392. package/lib/typeorm/error/CircularRelationsError.js +6 -9
  393. package/lib/typeorm/error/CircularRelationsError.js.map +1 -1
  394. package/lib/typeorm/error/ColumnTypeUndefinedError.js +8 -11
  395. package/lib/typeorm/error/ColumnTypeUndefinedError.js.map +1 -1
  396. package/lib/typeorm/error/ConnectionIsNotSetError.js +5 -8
  397. package/lib/typeorm/error/ConnectionIsNotSetError.js.map +1 -1
  398. package/lib/typeorm/error/ConnectionNotFoundError.js +5 -8
  399. package/lib/typeorm/error/ConnectionNotFoundError.js.map +1 -1
  400. package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js +7 -10
  401. package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  402. package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js +7 -10
  403. package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  404. package/lib/typeorm/error/CustomRepositoryNotFoundError.js +7 -10
  405. package/lib/typeorm/error/CustomRepositoryNotFoundError.js.map +1 -1
  406. package/lib/typeorm/error/DataTypeNotSupportedError.js +7 -11
  407. package/lib/typeorm/error/DataTypeNotSupportedError.js.map +1 -1
  408. package/lib/typeorm/error/DriverOptionNotSetError.js +6 -9
  409. package/lib/typeorm/error/DriverOptionNotSetError.js.map +1 -1
  410. package/lib/typeorm/error/DriverPackageNotInstalledError.js +6 -9
  411. package/lib/typeorm/error/DriverPackageNotInstalledError.js.map +1 -1
  412. package/lib/typeorm/error/EntityMetadataNotFoundError.js +10 -14
  413. package/lib/typeorm/error/EntityMetadataNotFoundError.js.map +1 -1
  414. package/lib/typeorm/error/EntityNotFoundError.js +13 -17
  415. package/lib/typeorm/error/EntityNotFoundError.js.map +1 -1
  416. package/lib/typeorm/error/EntityPropertyNotFoundError.js +7 -11
  417. package/lib/typeorm/error/EntityPropertyNotFoundError.js.map +1 -1
  418. package/lib/typeorm/error/FindRelationsNotFoundError.js +9 -13
  419. package/lib/typeorm/error/FindRelationsNotFoundError.js.map +1 -1
  420. package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js +6 -9
  421. package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  422. package/lib/typeorm/error/InitializedRelationError.js +7 -10
  423. package/lib/typeorm/error/InitializedRelationError.js.map +1 -1
  424. package/lib/typeorm/error/InsertValuesMissingError.js +6 -9
  425. package/lib/typeorm/error/InsertValuesMissingError.js.map +1 -1
  426. package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js +5 -8
  427. package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  428. package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js +5 -8
  429. package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  430. package/lib/typeorm/error/MetadataAlreadyExistsError.js +6 -9
  431. package/lib/typeorm/error/MetadataAlreadyExistsError.js.map +1 -1
  432. package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js +6 -9
  433. package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  434. package/lib/typeorm/error/MissingDeleteDateColumnError.js +5 -8
  435. package/lib/typeorm/error/MissingDeleteDateColumnError.js.map +1 -1
  436. package/lib/typeorm/error/MissingDriverError.js +6 -10
  437. package/lib/typeorm/error/MissingDriverError.js.map +1 -1
  438. package/lib/typeorm/error/MissingJoinColumnError.js +12 -16
  439. package/lib/typeorm/error/MissingJoinColumnError.js.map +1 -1
  440. package/lib/typeorm/error/MissingJoinTableError.js +12 -16
  441. package/lib/typeorm/error/MissingJoinTableError.js.map +1 -1
  442. package/lib/typeorm/error/MissingPrimaryColumnError.js +6 -9
  443. package/lib/typeorm/error/MissingPrimaryColumnError.js.map +1 -1
  444. package/lib/typeorm/error/MustBeEntityError.js +5 -8
  445. package/lib/typeorm/error/MustBeEntityError.js.map +1 -1
  446. package/lib/typeorm/error/NamingStrategyNotFoundError.js +9 -13
  447. package/lib/typeorm/error/NamingStrategyNotFoundError.js.map +1 -1
  448. package/lib/typeorm/error/NestedSetMultipleRootError.js +5 -8
  449. package/lib/typeorm/error/NestedSetMultipleRootError.js.map +1 -1
  450. package/lib/typeorm/error/NoConnectionForRepositoryError.js +6 -9
  451. package/lib/typeorm/error/NoConnectionForRepositoryError.js.map +1 -1
  452. package/lib/typeorm/error/NoConnectionOptionError.js +6 -9
  453. package/lib/typeorm/error/NoConnectionOptionError.js.map +1 -1
  454. package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js +7 -10
  455. package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  456. package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js +5 -8
  457. package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  458. package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js +7 -10
  459. package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  460. package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js +5 -8
  461. package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  462. package/lib/typeorm/error/OptimisticLockVersionMismatchError.js +5 -8
  463. package/lib/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -1
  464. package/lib/typeorm/error/PersistedEntityNotFoundError.js +5 -8
  465. package/lib/typeorm/error/PersistedEntityNotFoundError.js.map +1 -1
  466. package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js +5 -8
  467. package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  468. package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js +6 -9
  469. package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  470. package/lib/typeorm/error/QueryFailedError.js +18 -17
  471. package/lib/typeorm/error/QueryFailedError.js.map +1 -1
  472. package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js +5 -8
  473. package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  474. package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js +6 -9
  475. package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  476. package/lib/typeorm/error/RepositoryNotTreeError.js +9 -13
  477. package/lib/typeorm/error/RepositoryNotTreeError.js.map +1 -1
  478. package/lib/typeorm/error/ReturningStatementNotSupportedError.js +5 -8
  479. package/lib/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -1
  480. package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js +6 -9
  481. package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  482. package/lib/typeorm/error/SubjectWithoutIdentifierError.js +5 -8
  483. package/lib/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -1
  484. package/lib/typeorm/error/TransactionAlreadyStartedError.js +5 -8
  485. package/lib/typeorm/error/TransactionAlreadyStartedError.js.map +1 -1
  486. package/lib/typeorm/error/TransactionNotStartedError.js +5 -8
  487. package/lib/typeorm/error/TransactionNotStartedError.js.map +1 -1
  488. package/lib/typeorm/error/TreeRepositoryNotSupportedError.js +5 -8
  489. package/lib/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -1
  490. package/lib/typeorm/error/TypeORMError.js +9 -18
  491. package/lib/typeorm/error/TypeORMError.js.map +1 -1
  492. package/lib/typeorm/error/UpdateValuesMissingError.js +5 -8
  493. package/lib/typeorm/error/UpdateValuesMissingError.js.map +1 -1
  494. package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js +6 -9
  495. package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  496. package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +7 -10
  497. package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  498. package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js +7 -10
  499. package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  500. package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js +7 -10
  501. package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  502. package/lib/typeorm/error/index.js +75 -62
  503. package/lib/typeorm/error/index.js.map +1 -1
  504. package/lib/typeorm/find-options/EqualOperator.js +6 -10
  505. package/lib/typeorm/find-options/EqualOperator.js.map +1 -1
  506. package/lib/typeorm/find-options/FindManyOptions.js.map +1 -1
  507. package/lib/typeorm/find-options/FindOneOptions.js.map +1 -1
  508. package/lib/typeorm/find-options/FindOperator.js +90 -94
  509. package/lib/typeorm/find-options/FindOperator.js.map +1 -1
  510. package/lib/typeorm/find-options/FindOperatorType.js.map +1 -1
  511. package/lib/typeorm/find-options/FindOptionsOrder.js.map +1 -1
  512. package/lib/typeorm/find-options/FindOptionsRelations.js.map +1 -1
  513. package/lib/typeorm/find-options/FindOptionsSelect.js.map +1 -1
  514. package/lib/typeorm/find-options/FindOptionsUtils.js +56 -87
  515. package/lib/typeorm/find-options/FindOptionsUtils.js.map +1 -1
  516. package/lib/typeorm/find-options/FindOptionsWhere.js.map +1 -1
  517. package/lib/typeorm/find-options/FindTreeOptions.js.map +1 -1
  518. package/lib/typeorm/find-options/JoinOptions.js.map +1 -1
  519. package/lib/typeorm/find-options/OrderByCondition.js.map +1 -1
  520. package/lib/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  521. package/lib/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  522. package/lib/typeorm/find-options/operator/And.js +2 -6
  523. package/lib/typeorm/find-options/operator/And.js.map +1 -1
  524. package/lib/typeorm/find-options/operator/Any.js +1 -1
  525. package/lib/typeorm/find-options/operator/Any.js.map +1 -1
  526. package/lib/typeorm/find-options/operator/ArrayContainedBy.js +1 -1
  527. package/lib/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -1
  528. package/lib/typeorm/find-options/operator/ArrayContains.js +1 -1
  529. package/lib/typeorm/find-options/operator/ArrayContains.js.map +1 -1
  530. package/lib/typeorm/find-options/operator/ArrayOverlap.js +1 -1
  531. package/lib/typeorm/find-options/operator/ArrayOverlap.js.map +1 -1
  532. package/lib/typeorm/find-options/operator/Between.js +1 -1
  533. package/lib/typeorm/find-options/operator/Between.js.map +1 -1
  534. package/lib/typeorm/find-options/operator/Equal.js +1 -1
  535. package/lib/typeorm/find-options/operator/Equal.js.map +1 -1
  536. package/lib/typeorm/find-options/operator/ILike.js +1 -1
  537. package/lib/typeorm/find-options/operator/ILike.js.map +1 -1
  538. package/lib/typeorm/find-options/operator/In.js +1 -1
  539. package/lib/typeorm/find-options/operator/In.js.map +1 -1
  540. package/lib/typeorm/find-options/operator/IsNull.js +1 -1
  541. package/lib/typeorm/find-options/operator/IsNull.js.map +1 -1
  542. package/lib/typeorm/find-options/operator/LessThan.js +1 -1
  543. package/lib/typeorm/find-options/operator/LessThan.js.map +1 -1
  544. package/lib/typeorm/find-options/operator/LessThanOrEqual.js +1 -1
  545. package/lib/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -1
  546. package/lib/typeorm/find-options/operator/Like.js +1 -1
  547. package/lib/typeorm/find-options/operator/Like.js.map +1 -1
  548. package/lib/typeorm/find-options/operator/MoreThan.js +1 -1
  549. package/lib/typeorm/find-options/operator/MoreThan.js.map +1 -1
  550. package/lib/typeorm/find-options/operator/MoreThanOrEqual.js +1 -1
  551. package/lib/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -1
  552. package/lib/typeorm/find-options/operator/Not.js +1 -1
  553. package/lib/typeorm/find-options/operator/Not.js.map +1 -1
  554. package/lib/typeorm/find-options/operator/Raw.js +1 -1
  555. package/lib/typeorm/find-options/operator/Raw.js.map +1 -1
  556. package/lib/typeorm/globals.js +33 -99
  557. package/lib/typeorm/globals.js.map +1 -1
  558. package/lib/typeorm/index.d.ts +0 -1
  559. package/lib/typeorm/index.js +136 -126
  560. package/lib/typeorm/index.js.map +1 -1
  561. package/lib/typeorm/logger/AdvancedConsoleLogger.js +26 -26
  562. package/lib/typeorm/logger/AdvancedConsoleLogger.js.map +1 -1
  563. package/lib/typeorm/logger/DebugLogger.js +24 -27
  564. package/lib/typeorm/logger/DebugLogger.js.map +1 -1
  565. package/lib/typeorm/logger/FileLogger.js +31 -30
  566. package/lib/typeorm/logger/FileLogger.js.map +1 -1
  567. package/lib/typeorm/logger/Logger.js.map +1 -1
  568. package/lib/typeorm/logger/LoggerFactory.js +9 -12
  569. package/lib/typeorm/logger/LoggerFactory.js.map +1 -1
  570. package/lib/typeorm/logger/LoggerOptions.js.map +1 -1
  571. package/lib/typeorm/logger/SimpleConsoleLogger.js +25 -25
  572. package/lib/typeorm/logger/SimpleConsoleLogger.js.map +1 -1
  573. package/lib/typeorm/metadata/CheckMetadata.js +30 -6
  574. package/lib/typeorm/metadata/CheckMetadata.js.map +1 -1
  575. package/lib/typeorm/metadata/ColumnMetadata.js +343 -199
  576. package/lib/typeorm/metadata/ColumnMetadata.js.map +1 -1
  577. package/lib/typeorm/metadata/EmbeddedMetadata.js +174 -153
  578. package/lib/typeorm/metadata/EmbeddedMetadata.js.map +1 -1
  579. package/lib/typeorm/metadata/EntityListenerMetadata.js +35 -15
  580. package/lib/typeorm/metadata/EntityListenerMetadata.js.map +1 -1
  581. package/lib/typeorm/metadata/EntityMetadata.js +516 -372
  582. package/lib/typeorm/metadata/EntityMetadata.js.map +1 -1
  583. package/lib/typeorm/metadata/ExclusionMetadata.js +30 -6
  584. package/lib/typeorm/metadata/ExclusionMetadata.js.map +1 -1
  585. package/lib/typeorm/metadata/ForeignKeyMetadata.js +60 -24
  586. package/lib/typeorm/metadata/ForeignKeyMetadata.js.map +1 -1
  587. package/lib/typeorm/metadata/IndexMetadata.js +119 -73
  588. package/lib/typeorm/metadata/IndexMetadata.js.map +1 -1
  589. package/lib/typeorm/metadata/RelationCountMetadata.js +40 -10
  590. package/lib/typeorm/metadata/RelationCountMetadata.js.map +1 -1
  591. package/lib/typeorm/metadata/RelationIdMetadata.js +47 -18
  592. package/lib/typeorm/metadata/RelationIdMetadata.js.map +1 -1
  593. package/lib/typeorm/metadata/RelationMetadata.js +270 -187
  594. package/lib/typeorm/metadata/RelationMetadata.js.map +1 -1
  595. package/lib/typeorm/metadata/UniqueMetadata.js +72 -47
  596. package/lib/typeorm/metadata/UniqueMetadata.js.map +1 -1
  597. package/lib/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -1
  598. package/lib/typeorm/metadata/types/DeferrableType.js.map +1 -1
  599. package/lib/typeorm/metadata/types/EventListenerTypes.js +13 -16
  600. package/lib/typeorm/metadata/types/EventListenerTypes.js.map +1 -1
  601. package/lib/typeorm/metadata/types/OnDeleteType.js.map +1 -1
  602. package/lib/typeorm/metadata/types/OnUpdateType.js.map +1 -1
  603. package/lib/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -1
  604. package/lib/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -1
  605. package/lib/typeorm/metadata/types/RelationTypes.js.map +1 -1
  606. package/lib/typeorm/metadata/types/TableTypes.js.map +1 -1
  607. package/lib/typeorm/metadata/types/TreeTypes.js.map +1 -1
  608. package/lib/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -1
  609. package/lib/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -1
  610. package/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  611. package/lib/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  612. package/lib/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  613. package/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  614. package/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  615. package/lib/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  616. package/lib/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  617. package/lib/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -1
  618. package/lib/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  619. package/lib/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  620. package/lib/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  621. package/lib/typeorm/metadata-args/MetadataArgsStorage.js +108 -113
  622. package/lib/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -1
  623. package/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  624. package/lib/typeorm/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  625. package/lib/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  626. package/lib/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -1
  627. package/lib/typeorm/metadata-args/TableMetadataArgs.js.map +1 -1
  628. package/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  629. package/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  630. package/lib/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -1
  631. package/lib/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -1
  632. package/lib/typeorm/metadata-args/types/ColumnMode.js.map +1 -1
  633. package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +14 -15
  634. package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  635. package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js +291 -347
  636. package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  637. package/lib/typeorm/metadata-builder/EntityMetadataValidator.js +63 -77
  638. package/lib/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -1
  639. package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js +64 -69
  640. package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  641. package/lib/typeorm/metadata-builder/MetadataUtils.js +12 -15
  642. package/lib/typeorm/metadata-builder/MetadataUtils.js.map +1 -1
  643. package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js +43 -49
  644. package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  645. package/lib/typeorm/migration/Migration.js +23 -4
  646. package/lib/typeorm/migration/Migration.js.map +1 -1
  647. package/lib/typeorm/migration/MigrationExecutor.js +432 -691
  648. package/lib/typeorm/migration/MigrationExecutor.js.map +1 -1
  649. package/lib/typeorm/migration/MigrationInterface.js.map +1 -1
  650. package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js +80 -84
  651. package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  652. package/lib/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -1
  653. package/lib/typeorm/persistence/EntityPersistExecutor.js +154 -212
  654. package/lib/typeorm/persistence/EntityPersistExecutor.js.map +1 -1
  655. package/lib/typeorm/persistence/Subject.js +162 -149
  656. package/lib/typeorm/persistence/Subject.js.map +1 -1
  657. package/lib/typeorm/persistence/SubjectChangeMap.js.map +1 -1
  658. package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js +29 -35
  659. package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  660. package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js +99 -130
  661. package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  662. package/lib/typeorm/persistence/SubjectExecutor.js +635 -879
  663. package/lib/typeorm/persistence/SubjectExecutor.js.map +1 -1
  664. package/lib/typeorm/persistence/SubjectTopoligicalSorter.js +62 -58
  665. package/lib/typeorm/persistence/SubjectTopoligicalSorter.js.map +1 -1
  666. package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js +16 -19
  667. package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  668. package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js +50 -53
  669. package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  670. package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js +28 -33
  671. package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  672. package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +19 -20
  673. package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  674. package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js +202 -271
  675. package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  676. package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js +79 -121
  677. package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  678. package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js +220 -353
  679. package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  680. package/lib/typeorm/platform/PlatformTools.js +66 -78
  681. package/lib/typeorm/platform/PlatformTools.js.map +1 -1
  682. package/lib/typeorm/query-builder/Alias.js +31 -32
  683. package/lib/typeorm/query-builder/Alias.js.map +1 -1
  684. package/lib/typeorm/query-builder/Brackets.js +8 -5
  685. package/lib/typeorm/query-builder/Brackets.js.map +1 -1
  686. package/lib/typeorm/query-builder/DeleteQueryBuilder.js +96 -120
  687. package/lib/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -1
  688. package/lib/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -1
  689. package/lib/typeorm/query-builder/InsertQueryBuilder.js +321 -367
  690. package/lib/typeorm/query-builder/InsertQueryBuilder.js.map +1 -1
  691. package/lib/typeorm/query-builder/JoinAttribute.js +175 -206
  692. package/lib/typeorm/query-builder/JoinAttribute.js.map +1 -1
  693. package/lib/typeorm/query-builder/JoinOptions.js.map +1 -1
  694. package/lib/typeorm/query-builder/NotBrackets.js +4 -11
  695. package/lib/typeorm/query-builder/NotBrackets.js.map +1 -1
  696. package/lib/typeorm/query-builder/QueryBuilder.js +400 -646
  697. package/lib/typeorm/query-builder/QueryBuilder.js.map +1 -1
  698. package/lib/typeorm/query-builder/QueryBuilderCte.js.map +1 -1
  699. package/lib/typeorm/query-builder/QueryBuilderUtils.js +5 -9
  700. package/lib/typeorm/query-builder/QueryBuilderUtils.js.map +1 -1
  701. package/lib/typeorm/query-builder/QueryExpressionMap.js +304 -233
  702. package/lib/typeorm/query-builder/QueryExpressionMap.js.map +1 -1
  703. package/lib/typeorm/query-builder/QueryPartialEntity.js.map +1 -1
  704. package/lib/typeorm/query-builder/RelationIdLoader.js +166 -189
  705. package/lib/typeorm/query-builder/RelationIdLoader.js.map +1 -1
  706. package/lib/typeorm/query-builder/RelationLoader.js +81 -94
  707. package/lib/typeorm/query-builder/RelationLoader.js.map +1 -1
  708. package/lib/typeorm/query-builder/RelationQueryBuilder.js +91 -127
  709. package/lib/typeorm/query-builder/RelationQueryBuilder.js.map +1 -1
  710. package/lib/typeorm/query-builder/RelationRemover.js +121 -124
  711. package/lib/typeorm/query-builder/RelationRemover.js.map +1 -1
  712. package/lib/typeorm/query-builder/RelationUpdater.js +130 -148
  713. package/lib/typeorm/query-builder/RelationUpdater.js.map +1 -1
  714. package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js +131 -159
  715. package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  716. package/lib/typeorm/query-builder/SelectQuery.js.map +1 -1
  717. package/lib/typeorm/query-builder/SelectQueryBuilder.js +955 -1211
  718. package/lib/typeorm/query-builder/SelectQueryBuilder.js.map +1 -1
  719. package/lib/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -1
  720. package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js +155 -194
  721. package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  722. package/lib/typeorm/query-builder/UpdateQueryBuilder.js +204 -246
  723. package/lib/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -1
  724. package/lib/typeorm/query-builder/WhereClause.js.map +1 -1
  725. package/lib/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -1
  726. package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js +85 -98
  727. package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  728. package/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  729. package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js +153 -172
  730. package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  731. package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +16 -17
  732. package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  733. package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js +93 -107
  734. package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  735. package/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  736. package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js +259 -267
  737. package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  738. package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +16 -17
  739. package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  740. package/lib/typeorm/query-builder/result/DeleteResult.js +14 -8
  741. package/lib/typeorm/query-builder/result/DeleteResult.js.map +1 -1
  742. package/lib/typeorm/query-builder/result/InsertResult.js +19 -18
  743. package/lib/typeorm/query-builder/result/InsertResult.js.map +1 -1
  744. package/lib/typeorm/query-builder/result/UpdateResult.js +24 -18
  745. package/lib/typeorm/query-builder/result/UpdateResult.js.map +1 -1
  746. package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js +24 -26
  747. package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  748. package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +77 -112
  749. package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  750. package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js +16 -22
  751. package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  752. package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js +117 -132
  753. package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  754. package/lib/typeorm/query-runner/BaseQueryRunner.js +227 -393
  755. package/lib/typeorm/query-runner/BaseQueryRunner.js.map +1 -1
  756. package/lib/typeorm/query-runner/QueryLock.js +19 -32
  757. package/lib/typeorm/query-runner/QueryLock.js.map +1 -1
  758. package/lib/typeorm/query-runner/QueryResult.js +14 -9
  759. package/lib/typeorm/query-runner/QueryResult.js.map +1 -1
  760. package/lib/typeorm/query-runner/QueryRunner.js.map +1 -1
  761. package/lib/typeorm/repository/AbstractRepository.js +46 -50
  762. package/lib/typeorm/repository/AbstractRepository.js.map +1 -1
  763. package/lib/typeorm/repository/BaseEntity.js +106 -123
  764. package/lib/typeorm/repository/BaseEntity.js.map +1 -1
  765. package/lib/typeorm/repository/EntityId.js.map +1 -1
  766. package/lib/typeorm/repository/FindTreesOptions.js.map +1 -1
  767. package/lib/typeorm/repository/MongoRepository.js +109 -135
  768. package/lib/typeorm/repository/MongoRepository.js.map +1 -1
  769. package/lib/typeorm/repository/RemoveOptions.js.map +1 -1
  770. package/lib/typeorm/repository/Repository.js +108 -140
  771. package/lib/typeorm/repository/Repository.js.map +1 -1
  772. package/lib/typeorm/repository/SaveOptions.js.map +1 -1
  773. package/lib/typeorm/repository/TreeRepository.js +107 -154
  774. package/lib/typeorm/repository/TreeRepository.js.map +1 -1
  775. package/lib/typeorm/repository/UpsertOptions.js.map +1 -1
  776. package/lib/typeorm/schema-builder/MongoSchemaBuilder.js +30 -42
  777. package/lib/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -1
  778. package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js +727 -1938
  779. package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  780. package/lib/typeorm/schema-builder/SchemaBuilder.js.map +1 -1
  781. package/lib/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -1
  782. package/lib/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -1
  783. package/lib/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -1
  784. package/lib/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  785. package/lib/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -1
  786. package/lib/typeorm/schema-builder/options/TableOptions.js.map +1 -1
  787. package/lib/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -1
  788. package/lib/typeorm/schema-builder/options/ViewOptions.js.map +1 -1
  789. package/lib/typeorm/schema-builder/table/Table.js +160 -157
  790. package/lib/typeorm/schema-builder/table/Table.js.map +1 -1
  791. package/lib/typeorm/schema-builder/table/TableCheck.js +24 -15
  792. package/lib/typeorm/schema-builder/table/TableCheck.js.map +1 -1
  793. package/lib/typeorm/schema-builder/table/TableColumn.js +123 -41
  794. package/lib/typeorm/schema-builder/table/TableColumn.js.map +1 -1
  795. package/lib/typeorm/schema-builder/table/TableExclusion.js +19 -9
  796. package/lib/typeorm/schema-builder/table/TableExclusion.js.map +1 -1
  797. package/lib/typeorm/schema-builder/table/TableForeignKey.js +52 -20
  798. package/lib/typeorm/schema-builder/table/TableForeignKey.js.map +1 -1
  799. package/lib/typeorm/schema-builder/table/TableIndex.js +52 -16
  800. package/lib/typeorm/schema-builder/table/TableIndex.js.map +1 -1
  801. package/lib/typeorm/schema-builder/table/TableUnique.js +26 -16
  802. package/lib/typeorm/schema-builder/table/TableUnique.js.map +1 -1
  803. package/lib/typeorm/schema-builder/util/TableUtils.js +5 -8
  804. package/lib/typeorm/schema-builder/util/TableUtils.js.map +1 -1
  805. package/lib/typeorm/schema-builder/util/ViewUtils.js +4 -7
  806. package/lib/typeorm/schema-builder/util/ViewUtils.js.map +1 -1
  807. package/lib/typeorm/schema-builder/view/View.js +32 -10
  808. package/lib/typeorm/schema-builder/view/View.js.map +1 -1
  809. package/lib/typeorm/subscriber/Broadcaster.js +180 -216
  810. package/lib/typeorm/subscriber/Broadcaster.js.map +1 -1
  811. package/lib/typeorm/subscriber/BroadcasterResult.js +16 -29
  812. package/lib/typeorm/subscriber/BroadcasterResult.js.map +1 -1
  813. package/lib/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -1
  814. package/lib/typeorm/subscriber/event/InsertEvent.js.map +1 -1
  815. package/lib/typeorm/subscriber/event/LoadEvent.js.map +1 -1
  816. package/lib/typeorm/subscriber/event/RecoverEvent.js.map +1 -1
  817. package/lib/typeorm/subscriber/event/RemoveEvent.js.map +1 -1
  818. package/lib/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -1
  819. package/lib/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -1
  820. package/lib/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  821. package/lib/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -1
  822. package/lib/typeorm/subscriber/event/UpdateEvent.js.map +1 -1
  823. package/lib/typeorm/util/ApplyValueTransformers.js +9 -12
  824. package/lib/typeorm/util/ApplyValueTransformers.js.map +1 -1
  825. package/lib/typeorm/util/DateUtils.js +44 -53
  826. package/lib/typeorm/util/DateUtils.js.map +1 -1
  827. package/lib/typeorm/util/DepGraph.js +50 -53
  828. package/lib/typeorm/util/DepGraph.js.map +1 -1
  829. package/lib/typeorm/util/DirectoryExportedClassesLoader.js +48 -70
  830. package/lib/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -1
  831. package/lib/typeorm/util/ImportUtils.js +43 -65
  832. package/lib/typeorm/util/ImportUtils.js.map +1 -1
  833. package/lib/typeorm/util/InstanceChecker.js +64 -67
  834. package/lib/typeorm/util/InstanceChecker.js.map +1 -1
  835. package/lib/typeorm/util/ObjectUtils.js +13 -42
  836. package/lib/typeorm/util/ObjectUtils.js.map +1 -1
  837. package/lib/typeorm/util/OrmUtils.js +91 -158
  838. package/lib/typeorm/util/OrmUtils.js.map +1 -1
  839. package/lib/typeorm/util/PathUtils.js +8 -8
  840. package/lib/typeorm/util/PathUtils.js.map +1 -1
  841. package/lib/typeorm/util/RandomGenerator.js +22 -25
  842. package/lib/typeorm/util/RandomGenerator.js.map +1 -1
  843. package/lib/typeorm/util/StringUtils.js +17 -21
  844. package/lib/typeorm/util/StringUtils.js.map +1 -1
  845. package/lib/typeorm/util/TreeRepositoryUtils.js +27 -30
  846. package/lib/typeorm/util/TreeRepositoryUtils.js.map +1 -1
  847. package/lib/typeorm/util/VersionUtils.js +9 -13
  848. package/lib/typeorm/util/VersionUtils.js.map +1 -1
  849. package/lib/typeorm/util/escapeRegExp.js +2 -2
  850. package/lib/typeorm/util/escapeRegExp.js.map +1 -1
  851. package/migrations/index.js +15 -2
  852. package/migrations/index.js.map +1 -1
  853. package/migrations/migrations_index._auto-generated_.d.ts +1 -0
  854. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  855. package/package.json +8 -44
  856. package/src.d.ts +1 -1
  857. package/taon.jsonc +7 -34
  858. package/tmp-environment.json +8 -370
  859. package/websql/README.md +24 -24
  860. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
  861. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
  862. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
  863. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
  864. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
  865. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
  866. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
  867. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
  868. package/websql/esm2022/lib/typeorm/index.mjs +1 -3
  869. package/websql/fesm2022/taon-typeorm.mjs.map +1 -1
  870. package/browser/package.json +0 -25
  871. package/websql/package.json +0 -25
@@ -1,211 +1,253 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PostgresDriver = void 0;
4
- var tslib_1 = require("tslib");
5
- var ConnectionIsNotSetError_1 = require("../../error/ConnectionIsNotSetError");
6
- var DriverPackageNotInstalledError_1 = require("../../error/DriverPackageNotInstalledError");
7
- var PlatformTools_1 = require("../../platform/PlatformTools");
8
- var RdbmsSchemaBuilder_1 = require("../../schema-builder/RdbmsSchemaBuilder");
9
- var ApplyValueTransformers_1 = require("../../util/ApplyValueTransformers");
10
- var DateUtils_1 = require("../../util/DateUtils");
11
- var OrmUtils_1 = require("../../util/OrmUtils");
12
- var VersionUtils_1 = require("../../util/VersionUtils");
13
- var PostgresQueryRunner_1 = require("./PostgresQueryRunner");
14
- var DriverUtils_1 = require("../DriverUtils");
15
- var error_1 = require("../../error");
16
- var InstanceChecker_1 = require("../../util/InstanceChecker");
4
+ const ConnectionIsNotSetError_1 = require("../../error/ConnectionIsNotSetError");
5
+ const DriverPackageNotInstalledError_1 = require("../../error/DriverPackageNotInstalledError");
6
+ const PlatformTools_1 = require("../../platform/PlatformTools");
7
+ const RdbmsSchemaBuilder_1 = require("../../schema-builder/RdbmsSchemaBuilder");
8
+ const ApplyValueTransformers_1 = require("../../util/ApplyValueTransformers");
9
+ const DateUtils_1 = require("../../util/DateUtils");
10
+ const OrmUtils_1 = require("../../util/OrmUtils");
11
+ const VersionUtils_1 = require("../../util/VersionUtils");
12
+ const PostgresQueryRunner_1 = require("./PostgresQueryRunner");
13
+ const DriverUtils_1 = require("../DriverUtils");
14
+ const error_1 = require("../../error");
15
+ const InstanceChecker_1 = require("../../util/InstanceChecker");
17
16
  /**
18
17
  * Organizes communication with PostgreSQL DBMS.
19
18
  */
20
- var PostgresDriver = /** @class */ (function () {
19
+ class PostgresDriver {
20
+ // -------------------------------------------------------------------------
21
+ // Public Properties
22
+ // -------------------------------------------------------------------------
23
+ /**
24
+ * Connection used by driver.
25
+ */
26
+ connection;
27
+ /**
28
+ * Postgres underlying library.
29
+ */
30
+ postgres;
31
+ /**
32
+ * Pool for master database.
33
+ */
34
+ master;
35
+ /**
36
+ * Pool for slave databases.
37
+ * Used in replication.
38
+ */
39
+ slaves = [];
40
+ /**
41
+ * We store all created query runners because we need to release them.
42
+ */
43
+ connectedQueryRunners = [];
44
+ // -------------------------------------------------------------------------
45
+ // Public Implemented Properties
46
+ // -------------------------------------------------------------------------
47
+ /**
48
+ * Connection options.
49
+ */
50
+ options;
51
+ /**
52
+ * Version of Postgres. Requires a SQL query to the DB, so it is not always set
53
+ */
54
+ version;
55
+ /**
56
+ * Database name used to perform all write queries.
57
+ */
58
+ database;
59
+ /**
60
+ * Schema name used to perform all write queries.
61
+ */
62
+ schema;
63
+ /**
64
+ * Schema that's used internally by Postgres for object resolution.
65
+ *
66
+ * Because we never set this we have to track it in separately from the `schema` so
67
+ * we know when we have to specify the full schema or not.
68
+ *
69
+ * In most cases this will be `public`.
70
+ */
71
+ searchSchema;
72
+ /**
73
+ * Indicates if replication is enabled.
74
+ */
75
+ isReplicated = false;
76
+ /**
77
+ * Indicates if tree tables are supported by this driver.
78
+ */
79
+ treeSupport = true;
80
+ /**
81
+ * Represent transaction support by this driver
82
+ */
83
+ transactionSupport = "nested";
84
+ /**
85
+ * Gets list of supported column data types by a driver.
86
+ *
87
+ * @see https://www.tutorialspoint.com/postgresql/postgresql_data_types.htm
88
+ * @see https://www.postgresql.org/docs/9.2/static/datatype.html
89
+ */
90
+ supportedDataTypes = [
91
+ "int",
92
+ "int2",
93
+ "int4",
94
+ "int8",
95
+ "smallint",
96
+ "integer",
97
+ "bigint",
98
+ "decimal",
99
+ "numeric",
100
+ "real",
101
+ "float",
102
+ "float4",
103
+ "float8",
104
+ "double precision",
105
+ "money",
106
+ "character varying",
107
+ "varchar",
108
+ "character",
109
+ "char",
110
+ "text",
111
+ "citext",
112
+ "hstore",
113
+ "bytea",
114
+ "bit",
115
+ "varbit",
116
+ "bit varying",
117
+ "timetz",
118
+ "timestamptz",
119
+ "timestamp",
120
+ "timestamp without time zone",
121
+ "timestamp with time zone",
122
+ "date",
123
+ "time",
124
+ "time without time zone",
125
+ "time with time zone",
126
+ "interval",
127
+ "bool",
128
+ "boolean",
129
+ "enum",
130
+ "point",
131
+ "line",
132
+ "lseg",
133
+ "box",
134
+ "path",
135
+ "polygon",
136
+ "circle",
137
+ "cidr",
138
+ "inet",
139
+ "macaddr",
140
+ "tsvector",
141
+ "tsquery",
142
+ "uuid",
143
+ "xml",
144
+ "json",
145
+ "jsonb",
146
+ "int4range",
147
+ "int8range",
148
+ "numrange",
149
+ "tsrange",
150
+ "tstzrange",
151
+ "daterange",
152
+ "geometry",
153
+ "geography",
154
+ "cube",
155
+ "ltree",
156
+ ];
157
+ /**
158
+ * Returns type of upsert supported by driver if any
159
+ */
160
+ supportedUpsertType = "on-conflict-do-update";
161
+ /**
162
+ * Gets list of spatial column data types.
163
+ */
164
+ spatialTypes = ["geometry", "geography"];
165
+ /**
166
+ * Gets list of column data types that support length by a driver.
167
+ */
168
+ withLengthColumnTypes = [
169
+ "character varying",
170
+ "varchar",
171
+ "character",
172
+ "char",
173
+ "bit",
174
+ "varbit",
175
+ "bit varying",
176
+ ];
177
+ /**
178
+ * Gets list of column data types that support precision by a driver.
179
+ */
180
+ withPrecisionColumnTypes = [
181
+ "numeric",
182
+ "decimal",
183
+ "interval",
184
+ "time without time zone",
185
+ "time with time zone",
186
+ "timestamp without time zone",
187
+ "timestamp with time zone",
188
+ ];
189
+ /**
190
+ * Gets list of column data types that support scale by a driver.
191
+ */
192
+ withScaleColumnTypes = ["numeric", "decimal"];
193
+ /**
194
+ * Orm has special columns and we need to know what database column types should be for those types.
195
+ * Column types are driver dependant.
196
+ */
197
+ mappedDataTypes = {
198
+ createDate: "timestamp",
199
+ createDateDefault: "now()",
200
+ updateDate: "timestamp",
201
+ updateDateDefault: "now()",
202
+ deleteDate: "timestamp",
203
+ deleteDateNullable: true,
204
+ version: "int4",
205
+ treeLevel: "int4",
206
+ migrationId: "int4",
207
+ migrationName: "varchar",
208
+ migrationTimestamp: "int8",
209
+ cacheId: "int4",
210
+ cacheIdentifier: "varchar",
211
+ cacheTime: "int8",
212
+ cacheDuration: "int4",
213
+ cacheQuery: "text",
214
+ cacheResult: "text",
215
+ metadataType: "varchar",
216
+ metadataDatabase: "varchar",
217
+ metadataSchema: "varchar",
218
+ metadataTable: "varchar",
219
+ metadataName: "varchar",
220
+ metadataValue: "text",
221
+ };
222
+ /**
223
+ * Default values of length, precision and scale depends on column data type.
224
+ * Used in the cases when length/precision/scale is not specified by user.
225
+ */
226
+ dataTypeDefaults = {
227
+ character: { length: 1 },
228
+ bit: { length: 1 },
229
+ interval: { precision: 6 },
230
+ "time without time zone": { precision: 6 },
231
+ "time with time zone": { precision: 6 },
232
+ "timestamp without time zone": { precision: 6 },
233
+ "timestamp with time zone": { precision: 6 },
234
+ };
235
+ /**
236
+ * Max length allowed by Postgres for aliases.
237
+ * @see https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
238
+ */
239
+ maxAliasLength = 63;
240
+ isGeneratedColumnsSupported = false;
241
+ cteCapabilities = {
242
+ enabled: true,
243
+ writable: true,
244
+ requiresRecursiveHint: true,
245
+ materializedHint: true,
246
+ };
21
247
  // -------------------------------------------------------------------------
22
248
  // Constructor
23
249
  // -------------------------------------------------------------------------
24
- function PostgresDriver(connection) {
25
- /**
26
- * Pool for slave databases.
27
- * Used in replication.
28
- */
29
- this.slaves = [];
30
- /**
31
- * We store all created query runners because we need to release them.
32
- */
33
- this.connectedQueryRunners = [];
34
- /**
35
- * Indicates if replication is enabled.
36
- */
37
- this.isReplicated = false;
38
- /**
39
- * Indicates if tree tables are supported by this driver.
40
- */
41
- this.treeSupport = true;
42
- /**
43
- * Represent transaction support by this driver
44
- */
45
- this.transactionSupport = "nested";
46
- /**
47
- * Gets list of supported column data types by a driver.
48
- *
49
- * @see https://www.tutorialspoint.com/postgresql/postgresql_data_types.htm
50
- * @see https://www.postgresql.org/docs/9.2/static/datatype.html
51
- */
52
- this.supportedDataTypes = [
53
- "int",
54
- "int2",
55
- "int4",
56
- "int8",
57
- "smallint",
58
- "integer",
59
- "bigint",
60
- "decimal",
61
- "numeric",
62
- "real",
63
- "float",
64
- "float4",
65
- "float8",
66
- "double precision",
67
- "money",
68
- "character varying",
69
- "varchar",
70
- "character",
71
- "char",
72
- "text",
73
- "citext",
74
- "hstore",
75
- "bytea",
76
- "bit",
77
- "varbit",
78
- "bit varying",
79
- "timetz",
80
- "timestamptz",
81
- "timestamp",
82
- "timestamp without time zone",
83
- "timestamp with time zone",
84
- "date",
85
- "time",
86
- "time without time zone",
87
- "time with time zone",
88
- "interval",
89
- "bool",
90
- "boolean",
91
- "enum",
92
- "point",
93
- "line",
94
- "lseg",
95
- "box",
96
- "path",
97
- "polygon",
98
- "circle",
99
- "cidr",
100
- "inet",
101
- "macaddr",
102
- "tsvector",
103
- "tsquery",
104
- "uuid",
105
- "xml",
106
- "json",
107
- "jsonb",
108
- "int4range",
109
- "int8range",
110
- "numrange",
111
- "tsrange",
112
- "tstzrange",
113
- "daterange",
114
- "geometry",
115
- "geography",
116
- "cube",
117
- "ltree",
118
- ];
119
- /**
120
- * Returns type of upsert supported by driver if any
121
- */
122
- this.supportedUpsertType = "on-conflict-do-update";
123
- /**
124
- * Gets list of spatial column data types.
125
- */
126
- this.spatialTypes = ["geometry", "geography"];
127
- /**
128
- * Gets list of column data types that support length by a driver.
129
- */
130
- this.withLengthColumnTypes = [
131
- "character varying",
132
- "varchar",
133
- "character",
134
- "char",
135
- "bit",
136
- "varbit",
137
- "bit varying",
138
- ];
139
- /**
140
- * Gets list of column data types that support precision by a driver.
141
- */
142
- this.withPrecisionColumnTypes = [
143
- "numeric",
144
- "decimal",
145
- "interval",
146
- "time without time zone",
147
- "time with time zone",
148
- "timestamp without time zone",
149
- "timestamp with time zone",
150
- ];
151
- /**
152
- * Gets list of column data types that support scale by a driver.
153
- */
154
- this.withScaleColumnTypes = ["numeric", "decimal"];
155
- /**
156
- * Orm has special columns and we need to know what database column types should be for those types.
157
- * Column types are driver dependant.
158
- */
159
- this.mappedDataTypes = {
160
- createDate: "timestamp",
161
- createDateDefault: "now()",
162
- updateDate: "timestamp",
163
- updateDateDefault: "now()",
164
- deleteDate: "timestamp",
165
- deleteDateNullable: true,
166
- version: "int4",
167
- treeLevel: "int4",
168
- migrationId: "int4",
169
- migrationName: "varchar",
170
- migrationTimestamp: "int8",
171
- cacheId: "int4",
172
- cacheIdentifier: "varchar",
173
- cacheTime: "int8",
174
- cacheDuration: "int4",
175
- cacheQuery: "text",
176
- cacheResult: "text",
177
- metadataType: "varchar",
178
- metadataDatabase: "varchar",
179
- metadataSchema: "varchar",
180
- metadataTable: "varchar",
181
- metadataName: "varchar",
182
- metadataValue: "text",
183
- };
184
- /**
185
- * Default values of length, precision and scale depends on column data type.
186
- * Used in the cases when length/precision/scale is not specified by user.
187
- */
188
- this.dataTypeDefaults = {
189
- character: { length: 1 },
190
- bit: { length: 1 },
191
- interval: { precision: 6 },
192
- "time without time zone": { precision: 6 },
193
- "time with time zone": { precision: 6 },
194
- "timestamp without time zone": { precision: 6 },
195
- "timestamp with time zone": { precision: 6 },
196
- };
197
- /**
198
- * Max length allowed by Postgres for aliases.
199
- * @see https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
200
- */
201
- this.maxAliasLength = 63;
202
- this.isGeneratedColumnsSupported = false;
203
- this.cteCapabilities = {
204
- enabled: true,
205
- writable: true,
206
- requiresRecursiveHint: true,
207
- materializedHint: true,
208
- };
250
+ constructor(connection) {
209
251
  if (!connection) {
210
252
  return;
211
253
  }
@@ -239,289 +281,169 @@ var PostgresDriver = /** @class */ (function () {
239
281
  * Based on pooling options, it can either create connection immediately,
240
282
  * either create a pool and create connection when needed.
241
283
  */
242
- PostgresDriver.prototype.connect = function () {
243
- return tslib_1.__awaiter(this, void 0, void 0, function () {
244
- var _a, _b, _c, queryRunner, _d, _e;
245
- var _this = this;
246
- return tslib_1.__generator(this, function (_f) {
247
- switch (_f.label) {
248
- case 0:
249
- if (!this.options.replication) return [3 /*break*/, 3];
250
- _a = this;
251
- return [4 /*yield*/, Promise.all(this.options.replication.slaves.map(function (slave) {
252
- return _this.createPool(_this.options, slave);
253
- }))];
254
- case 1:
255
- _a.slaves = _f.sent();
256
- _b = this;
257
- return [4 /*yield*/, this.createPool(this.options, this.options.replication.master)];
258
- case 2:
259
- _b.master = _f.sent();
260
- return [3 /*break*/, 5];
261
- case 3:
262
- _c = this;
263
- return [4 /*yield*/, this.createPool(this.options, this.options)];
264
- case 4:
265
- _c.master = _f.sent();
266
- _f.label = 5;
267
- case 5:
268
- if (!(!this.database || !this.searchSchema)) return [3 /*break*/, 12];
269
- return [4 /*yield*/, this.createQueryRunner("master")];
270
- case 6:
271
- queryRunner = _f.sent();
272
- if (!!this.database) return [3 /*break*/, 8];
273
- _d = this;
274
- return [4 /*yield*/, queryRunner.getCurrentDatabase()];
275
- case 7:
276
- _d.database = _f.sent();
277
- _f.label = 8;
278
- case 8:
279
- if (!!this.searchSchema) return [3 /*break*/, 10];
280
- _e = this;
281
- return [4 /*yield*/, queryRunner.getCurrentSchema()];
282
- case 9:
283
- _e.searchSchema = _f.sent();
284
- _f.label = 10;
285
- case 10: return [4 /*yield*/, queryRunner.release()];
286
- case 11:
287
- _f.sent();
288
- _f.label = 12;
289
- case 12:
290
- if (!this.schema) {
291
- this.schema = this.searchSchema;
292
- }
293
- return [2 /*return*/];
294
- }
295
- });
296
- });
297
- };
284
+ async connect() {
285
+ if (this.options.replication) {
286
+ this.slaves = await Promise.all(this.options.replication.slaves.map((slave) => {
287
+ return this.createPool(this.options, slave);
288
+ }));
289
+ this.master = await this.createPool(this.options, this.options.replication.master);
290
+ }
291
+ else {
292
+ this.master = await this.createPool(this.options, this.options);
293
+ }
294
+ if (!this.database || !this.searchSchema) {
295
+ const queryRunner = await this.createQueryRunner("master");
296
+ if (!this.database) {
297
+ this.database = await queryRunner.getCurrentDatabase();
298
+ }
299
+ if (!this.searchSchema) {
300
+ this.searchSchema = await queryRunner.getCurrentSchema();
301
+ }
302
+ await queryRunner.release();
303
+ }
304
+ if (!this.schema) {
305
+ this.schema = this.searchSchema;
306
+ }
307
+ }
298
308
  /**
299
309
  * Makes any action after connection (e.g. create extensions in Postgres driver).
300
310
  */
301
- PostgresDriver.prototype.afterConnect = function () {
302
- return tslib_1.__awaiter(this, void 0, void 0, function () {
303
- var extensionsMetadata, _a, connection, release, installExtensions, results, versionString;
304
- return tslib_1.__generator(this, function (_b) {
305
- switch (_b.label) {
306
- case 0: return [4 /*yield*/, this.checkMetadataForExtensions()];
307
- case 1:
308
- extensionsMetadata = _b.sent();
309
- return [4 /*yield*/, this.obtainMasterConnection()];
310
- case 2:
311
- _a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), connection = _a[0], release = _a[1];
312
- installExtensions = this.options.installExtensions === undefined ||
313
- this.options.installExtensions;
314
- if (!(installExtensions && extensionsMetadata.hasExtensions)) return [3 /*break*/, 4];
315
- return [4 /*yield*/, this.enableExtensions(extensionsMetadata, connection)];
316
- case 3:
317
- _b.sent();
318
- _b.label = 4;
319
- case 4: return [4 /*yield*/, this.executeQuery(connection, "SELECT version();")];
320
- case 5:
321
- results = (_b.sent());
322
- versionString = results.rows[0].version.replace(/^PostgreSQL ([\d\.]+) .*$/, "$1");
323
- this.version = versionString;
324
- this.isGeneratedColumnsSupported = VersionUtils_1.VersionUtils.isGreaterOrEqual(versionString, "12.0");
325
- return [4 /*yield*/, release()];
326
- case 6:
327
- _b.sent();
328
- return [2 /*return*/];
329
- }
330
- });
311
+ async afterConnect() {
312
+ const extensionsMetadata = await this.checkMetadataForExtensions();
313
+ const [connection, release] = await this.obtainMasterConnection();
314
+ const installExtensions = this.options.installExtensions === undefined ||
315
+ this.options.installExtensions;
316
+ if (installExtensions && extensionsMetadata.hasExtensions) {
317
+ await this.enableExtensions(extensionsMetadata, connection);
318
+ }
319
+ const results = (await this.executeQuery(connection, "SELECT version();"));
320
+ const versionString = results.rows[0].version.replace(/^PostgreSQL ([\d\.]+) .*$/, "$1");
321
+ this.version = versionString;
322
+ this.isGeneratedColumnsSupported = VersionUtils_1.VersionUtils.isGreaterOrEqual(versionString, "12.0");
323
+ await release();
324
+ }
325
+ async enableExtensions(extensionsMetadata, connection) {
326
+ const { logger } = this.connection;
327
+ const { hasUuidColumns, hasCitextColumns, hasHstoreColumns, hasCubeColumns, hasGeometryColumns, hasLtreeColumns, hasExclusionConstraints, } = extensionsMetadata;
328
+ if (hasUuidColumns)
329
+ try {
330
+ await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "${this.options.uuidExtension || "uuid-ossp"}"`);
331
+ }
332
+ catch (_) {
333
+ logger.log("warn", `At least one of the entities has uuid column, but the '${this.options.uuidExtension || "uuid-ossp"}' extension cannot be installed automatically. Please install it manually using superuser rights, or select another uuid extension.`);
334
+ }
335
+ if (hasCitextColumns)
336
+ try {
337
+ await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "citext"`);
338
+ }
339
+ catch (_) {
340
+ logger.log("warn", "At least one of the entities has citext column, but the 'citext' extension cannot be installed automatically. Please install it manually using superuser rights");
341
+ }
342
+ if (hasHstoreColumns)
343
+ try {
344
+ await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "hstore"`);
345
+ }
346
+ catch (_) {
347
+ logger.log("warn", "At least one of the entities has hstore column, but the 'hstore' extension cannot be installed automatically. Please install it manually using superuser rights");
348
+ }
349
+ if (hasGeometryColumns)
350
+ try {
351
+ await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "postgis"`);
352
+ }
353
+ catch (_) {
354
+ logger.log("warn", "At least one of the entities has a geometry column, but the 'postgis' extension cannot be installed automatically. Please install it manually using superuser rights");
355
+ }
356
+ if (hasCubeColumns)
357
+ try {
358
+ await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "cube"`);
359
+ }
360
+ catch (_) {
361
+ logger.log("warn", "At least one of the entities has a cube column, but the 'cube' extension cannot be installed automatically. Please install it manually using superuser rights");
362
+ }
363
+ if (hasLtreeColumns)
364
+ try {
365
+ await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "ltree"`);
366
+ }
367
+ catch (_) {
368
+ logger.log("warn", "At least one of the entities has a cube column, but the 'ltree' extension cannot be installed automatically. Please install it manually using superuser rights");
369
+ }
370
+ if (hasExclusionConstraints)
371
+ try {
372
+ // The btree_gist extension provides operator support in PostgreSQL exclusion constraints
373
+ await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "btree_gist"`);
374
+ }
375
+ catch (_) {
376
+ logger.log("warn", "At least one of the entities has an exclusion constraint, but the 'btree_gist' extension cannot be installed automatically. Please install it manually using superuser rights");
377
+ }
378
+ }
379
+ async checkMetadataForExtensions() {
380
+ const hasUuidColumns = this.connection.entityMetadatas.some((metadata) => {
381
+ return (metadata.generatedColumns.filter((column) => column.generationStrategy === "uuid").length > 0);
331
382
  });
332
- };
333
- PostgresDriver.prototype.enableExtensions = function (extensionsMetadata, connection) {
334
- return tslib_1.__awaiter(this, void 0, void 0, function () {
335
- var logger, hasUuidColumns, hasCitextColumns, hasHstoreColumns, hasCubeColumns, hasGeometryColumns, hasLtreeColumns, hasExclusionConstraints, _1, _2, _3, _4, _5, _6, _7;
336
- return tslib_1.__generator(this, function (_a) {
337
- switch (_a.label) {
338
- case 0:
339
- logger = this.connection.logger;
340
- hasUuidColumns = extensionsMetadata.hasUuidColumns, hasCitextColumns = extensionsMetadata.hasCitextColumns, hasHstoreColumns = extensionsMetadata.hasHstoreColumns, hasCubeColumns = extensionsMetadata.hasCubeColumns, hasGeometryColumns = extensionsMetadata.hasGeometryColumns, hasLtreeColumns = extensionsMetadata.hasLtreeColumns, hasExclusionConstraints = extensionsMetadata.hasExclusionConstraints;
341
- if (!hasUuidColumns) return [3 /*break*/, 4];
342
- _a.label = 1;
343
- case 1:
344
- _a.trys.push([1, 3, , 4]);
345
- return [4 /*yield*/, this.executeQuery(connection, "CREATE EXTENSION IF NOT EXISTS \"".concat(this.options.uuidExtension || "uuid-ossp", "\""))];
346
- case 2:
347
- _a.sent();
348
- return [3 /*break*/, 4];
349
- case 3:
350
- _1 = _a.sent();
351
- logger.log("warn", "At least one of the entities has uuid column, but the '".concat(this.options.uuidExtension || "uuid-ossp", "' extension cannot be installed automatically. Please install it manually using superuser rights, or select another uuid extension."));
352
- return [3 /*break*/, 4];
353
- case 4:
354
- if (!hasCitextColumns) return [3 /*break*/, 8];
355
- _a.label = 5;
356
- case 5:
357
- _a.trys.push([5, 7, , 8]);
358
- return [4 /*yield*/, this.executeQuery(connection, "CREATE EXTENSION IF NOT EXISTS \"citext\"")];
359
- case 6:
360
- _a.sent();
361
- return [3 /*break*/, 8];
362
- case 7:
363
- _2 = _a.sent();
364
- logger.log("warn", "At least one of the entities has citext column, but the 'citext' extension cannot be installed automatically. Please install it manually using superuser rights");
365
- return [3 /*break*/, 8];
366
- case 8:
367
- if (!hasHstoreColumns) return [3 /*break*/, 12];
368
- _a.label = 9;
369
- case 9:
370
- _a.trys.push([9, 11, , 12]);
371
- return [4 /*yield*/, this.executeQuery(connection, "CREATE EXTENSION IF NOT EXISTS \"hstore\"")];
372
- case 10:
373
- _a.sent();
374
- return [3 /*break*/, 12];
375
- case 11:
376
- _3 = _a.sent();
377
- logger.log("warn", "At least one of the entities has hstore column, but the 'hstore' extension cannot be installed automatically. Please install it manually using superuser rights");
378
- return [3 /*break*/, 12];
379
- case 12:
380
- if (!hasGeometryColumns) return [3 /*break*/, 16];
381
- _a.label = 13;
382
- case 13:
383
- _a.trys.push([13, 15, , 16]);
384
- return [4 /*yield*/, this.executeQuery(connection, "CREATE EXTENSION IF NOT EXISTS \"postgis\"")];
385
- case 14:
386
- _a.sent();
387
- return [3 /*break*/, 16];
388
- case 15:
389
- _4 = _a.sent();
390
- logger.log("warn", "At least one of the entities has a geometry column, but the 'postgis' extension cannot be installed automatically. Please install it manually using superuser rights");
391
- return [3 /*break*/, 16];
392
- case 16:
393
- if (!hasCubeColumns) return [3 /*break*/, 20];
394
- _a.label = 17;
395
- case 17:
396
- _a.trys.push([17, 19, , 20]);
397
- return [4 /*yield*/, this.executeQuery(connection, "CREATE EXTENSION IF NOT EXISTS \"cube\"")];
398
- case 18:
399
- _a.sent();
400
- return [3 /*break*/, 20];
401
- case 19:
402
- _5 = _a.sent();
403
- logger.log("warn", "At least one of the entities has a cube column, but the 'cube' extension cannot be installed automatically. Please install it manually using superuser rights");
404
- return [3 /*break*/, 20];
405
- case 20:
406
- if (!hasLtreeColumns) return [3 /*break*/, 24];
407
- _a.label = 21;
408
- case 21:
409
- _a.trys.push([21, 23, , 24]);
410
- return [4 /*yield*/, this.executeQuery(connection, "CREATE EXTENSION IF NOT EXISTS \"ltree\"")];
411
- case 22:
412
- _a.sent();
413
- return [3 /*break*/, 24];
414
- case 23:
415
- _6 = _a.sent();
416
- logger.log("warn", "At least one of the entities has a cube column, but the 'ltree' extension cannot be installed automatically. Please install it manually using superuser rights");
417
- return [3 /*break*/, 24];
418
- case 24:
419
- if (!hasExclusionConstraints) return [3 /*break*/, 28];
420
- _a.label = 25;
421
- case 25:
422
- _a.trys.push([25, 27, , 28]);
423
- // The btree_gist extension provides operator support in PostgreSQL exclusion constraints
424
- return [4 /*yield*/, this.executeQuery(connection, "CREATE EXTENSION IF NOT EXISTS \"btree_gist\"")];
425
- case 26:
426
- // The btree_gist extension provides operator support in PostgreSQL exclusion constraints
427
- _a.sent();
428
- return [3 /*break*/, 28];
429
- case 27:
430
- _7 = _a.sent();
431
- logger.log("warn", "At least one of the entities has an exclusion constraint, but the 'btree_gist' extension cannot be installed automatically. Please install it manually using superuser rights");
432
- return [3 /*break*/, 28];
433
- case 28: return [2 /*return*/];
434
- }
435
- });
383
+ const hasCitextColumns = this.connection.entityMetadatas.some((metadata) => {
384
+ return (metadata.columns.filter((column) => column.type === "citext").length > 0);
436
385
  });
437
- };
438
- PostgresDriver.prototype.checkMetadataForExtensions = function () {
439
- return tslib_1.__awaiter(this, void 0, void 0, function () {
440
- var hasUuidColumns, hasCitextColumns, hasHstoreColumns, hasCubeColumns, hasGeometryColumns, hasLtreeColumns, hasExclusionConstraints;
441
- var _this = this;
442
- return tslib_1.__generator(this, function (_a) {
443
- hasUuidColumns = this.connection.entityMetadatas.some(function (metadata) {
444
- return (metadata.generatedColumns.filter(function (column) { return column.generationStrategy === "uuid"; }).length > 0);
445
- });
446
- hasCitextColumns = this.connection.entityMetadatas.some(function (metadata) {
447
- return (metadata.columns.filter(function (column) { return column.type === "citext"; }).length > 0);
448
- });
449
- hasHstoreColumns = this.connection.entityMetadatas.some(function (metadata) {
450
- return (metadata.columns.filter(function (column) { return column.type === "hstore"; }).length > 0);
451
- });
452
- hasCubeColumns = this.connection.entityMetadatas.some(function (metadata) {
453
- return (metadata.columns.filter(function (column) { return column.type === "cube"; })
454
- .length > 0);
455
- });
456
- hasGeometryColumns = this.connection.entityMetadatas.some(function (metadata) {
457
- return (metadata.columns.filter(function (column) { return _this.spatialTypes.indexOf(column.type) >= 0; }).length > 0);
458
- });
459
- hasLtreeColumns = this.connection.entityMetadatas.some(function (metadata) {
460
- return (metadata.columns.filter(function (column) { return column.type === "ltree"; })
461
- .length > 0);
462
- });
463
- hasExclusionConstraints = this.connection.entityMetadatas.some(function (metadata) {
464
- return metadata.exclusions.length > 0;
465
- });
466
- return [2 /*return*/, {
467
- hasUuidColumns: hasUuidColumns,
468
- hasCitextColumns: hasCitextColumns,
469
- hasHstoreColumns: hasHstoreColumns,
470
- hasCubeColumns: hasCubeColumns,
471
- hasGeometryColumns: hasGeometryColumns,
472
- hasLtreeColumns: hasLtreeColumns,
473
- hasExclusionConstraints: hasExclusionConstraints,
474
- hasExtensions: hasUuidColumns ||
475
- hasCitextColumns ||
476
- hasHstoreColumns ||
477
- hasGeometryColumns ||
478
- hasCubeColumns ||
479
- hasLtreeColumns ||
480
- hasExclusionConstraints,
481
- }];
482
- });
386
+ const hasHstoreColumns = this.connection.entityMetadatas.some((metadata) => {
387
+ return (metadata.columns.filter((column) => column.type === "hstore").length > 0);
483
388
  });
484
- };
389
+ const hasCubeColumns = this.connection.entityMetadatas.some((metadata) => {
390
+ return (metadata.columns.filter((column) => column.type === "cube")
391
+ .length > 0);
392
+ });
393
+ const hasGeometryColumns = this.connection.entityMetadatas.some((metadata) => {
394
+ return (metadata.columns.filter((column) => this.spatialTypes.indexOf(column.type) >= 0).length > 0);
395
+ });
396
+ const hasLtreeColumns = this.connection.entityMetadatas.some((metadata) => {
397
+ return (metadata.columns.filter((column) => column.type === "ltree")
398
+ .length > 0);
399
+ });
400
+ const hasExclusionConstraints = this.connection.entityMetadatas.some((metadata) => {
401
+ return metadata.exclusions.length > 0;
402
+ });
403
+ return {
404
+ hasUuidColumns,
405
+ hasCitextColumns,
406
+ hasHstoreColumns,
407
+ hasCubeColumns,
408
+ hasGeometryColumns,
409
+ hasLtreeColumns,
410
+ hasExclusionConstraints,
411
+ hasExtensions: hasUuidColumns ||
412
+ hasCitextColumns ||
413
+ hasHstoreColumns ||
414
+ hasGeometryColumns ||
415
+ hasCubeColumns ||
416
+ hasLtreeColumns ||
417
+ hasExclusionConstraints,
418
+ };
419
+ }
485
420
  /**
486
421
  * Closes connection with database.
487
422
  */
488
- PostgresDriver.prototype.disconnect = function () {
489
- return tslib_1.__awaiter(this, void 0, void 0, function () {
490
- var _this = this;
491
- return tslib_1.__generator(this, function (_a) {
492
- switch (_a.label) {
493
- case 0:
494
- if (!this.master)
495
- return [2 /*return*/, Promise.reject(new ConnectionIsNotSetError_1.ConnectionIsNotSetError("postgres"))];
496
- return [4 /*yield*/, this.closePool(this.master)];
497
- case 1:
498
- _a.sent();
499
- return [4 /*yield*/, Promise.all(this.slaves.map(function (slave) { return _this.closePool(slave); }))];
500
- case 2:
501
- _a.sent();
502
- this.master = undefined;
503
- this.slaves = [];
504
- return [2 /*return*/];
505
- }
506
- });
507
- });
508
- };
423
+ async disconnect() {
424
+ if (!this.master)
425
+ return Promise.reject(new ConnectionIsNotSetError_1.ConnectionIsNotSetError("postgres"));
426
+ await this.closePool(this.master);
427
+ await Promise.all(this.slaves.map((slave) => this.closePool(slave)));
428
+ this.master = undefined;
429
+ this.slaves = [];
430
+ }
509
431
  /**
510
432
  * Creates a schema builder used to build and sync a schema.
511
433
  */
512
- PostgresDriver.prototype.createSchemaBuilder = function () {
434
+ createSchemaBuilder() {
513
435
  return new RdbmsSchemaBuilder_1.RdbmsSchemaBuilder(this.connection);
514
- };
436
+ }
515
437
  /**
516
438
  * Creates a query runner used to execute database queries.
517
439
  */
518
- PostgresDriver.prototype.createQueryRunner = function (mode) {
440
+ createQueryRunner(mode) {
519
441
  return new PostgresQueryRunner_1.PostgresQueryRunner(this, mode);
520
- };
442
+ }
521
443
  /**
522
444
  * Prepares given value to a value to be persisted, based on its column type and metadata.
523
445
  */
524
- PostgresDriver.prototype.preparePersistentValue = function (value, columnMetadata) {
446
+ preparePersistentValue(value, columnMetadata) {
525
447
  if (columnMetadata.transformer)
526
448
  value = ApplyValueTransformers_1.ApplyValueTransformers.transformTo(columnMetadata.transformer, value);
527
449
  if (value === null || value === undefined)
@@ -542,7 +464,7 @@ var PostgresDriver = /** @class */ (function () {
542
464
  columnMetadata.type === "timestamp without time zone") {
543
465
  return DateUtils_1.DateUtils.mixedDateToDate(value);
544
466
  }
545
- else if (tslib_1.__spreadArray(["json", "jsonb"], tslib_1.__read(this.spatialTypes), false).indexOf(columnMetadata.type) >= 0) {
467
+ else if (["json", "jsonb", ...this.spatialTypes].indexOf(columnMetadata.type) >= 0) {
546
468
  return JSON.stringify(value);
547
469
  }
548
470
  else if (columnMetadata.type === "hstore") {
@@ -551,7 +473,7 @@ var PostgresDriver = /** @class */ (function () {
551
473
  }
552
474
  else {
553
475
  // https://www.postgresql.org/docs/9.0/hstore.html
554
- var quoteString_1 = function (value) {
476
+ const quoteString = (value) => {
555
477
  // If a string to be quoted is `null` or `undefined`, we return a literal unquoted NULL.
556
478
  // This way, NULL values can be stored in the hstore object.
557
479
  if (value === null || typeof value === "undefined") {
@@ -559,12 +481,10 @@ var PostgresDriver = /** @class */ (function () {
559
481
  }
560
482
  // Convert non-null values to string since HStore only stores strings anyway.
561
483
  // To include a double quote or a backslash in a key or value, escape it with a backslash.
562
- return "\"".concat("".concat(value).replace(/(?=["\\])/g, "\\"), "\"");
484
+ return `"${`${value}`.replace(/(?=["\\])/g, "\\")}"`;
563
485
  };
564
486
  return Object.keys(value)
565
- .map(function (key) {
566
- return quoteString_1(key) + "=>" + quoteString_1(value[key]);
567
- })
487
+ .map((key) => quoteString(key) + "=>" + quoteString(value[key]))
568
488
  .join(",");
569
489
  }
570
490
  }
@@ -576,11 +496,11 @@ var PostgresDriver = /** @class */ (function () {
576
496
  }
577
497
  else if (columnMetadata.type === "cube") {
578
498
  if (columnMetadata.isArray) {
579
- return "{".concat(value
580
- .map(function (cube) { return "\"(".concat(cube.join(","), ")\""); })
581
- .join(","), "}");
499
+ return `{${value
500
+ .map((cube) => `"(${cube.join(",")})"`)
501
+ .join(",")}}`;
582
502
  }
583
- return "(".concat(value.join(","), ")");
503
+ return `(${value.join(",")})`;
584
504
  }
585
505
  else if (columnMetadata.type === "ltree") {
586
506
  return value
@@ -595,11 +515,11 @@ var PostgresDriver = /** @class */ (function () {
595
515
  return "" + value;
596
516
  }
597
517
  return value;
598
- };
518
+ }
599
519
  /**
600
520
  * Prepares given value to a value to be persisted, based on its column type or metadata.
601
521
  */
602
- PostgresDriver.prototype.prepareHydratedValue = function (value, columnMetadata) {
522
+ prepareHydratedValue(value, columnMetadata) {
603
523
  if (value === null || value === undefined)
604
524
  return columnMetadata.transformer
605
525
  ? ApplyValueTransformers_1.ApplyValueTransformers.transformFrom(columnMetadata.transformer, value)
@@ -622,18 +542,16 @@ var PostgresDriver = /** @class */ (function () {
622
542
  }
623
543
  else if (columnMetadata.type === "hstore") {
624
544
  if (columnMetadata.hstoreType === "object") {
625
- var unescapeString_1 = function (str) {
626
- return str.replace(/\\./g, function (m) { return m[1]; });
627
- };
628
- var regexp = /"([^"\\]*(?:\\.[^"\\]*)*)"=>(?:(NULL)|"([^"\\]*(?:\\.[^"\\]*)*)")(?:,|$)/g;
629
- var object_1 = {};
630
- "".concat(value).replace(regexp, function (_, key, nullValue, stringValue) {
631
- object_1[unescapeString_1(key)] = nullValue
545
+ const unescapeString = (str) => str.replace(/\\./g, (m) => m[1]);
546
+ const regexp = /"([^"\\]*(?:\\.[^"\\]*)*)"=>(?:(NULL)|"([^"\\]*(?:\\.[^"\\]*)*)")(?:,|$)/g;
547
+ const object = {};
548
+ `${value}`.replace(regexp, (_, key, nullValue, stringValue) => {
549
+ object[unescapeString(key)] = nullValue
632
550
  ? null
633
- : unescapeString_1(stringValue);
551
+ : unescapeString(stringValue);
634
552
  return "";
635
553
  });
636
- value = object_1;
554
+ value = object;
637
555
  }
638
556
  }
639
557
  else if (columnMetadata.type === "simple-array") {
@@ -651,10 +569,10 @@ var PostgresDriver = /** @class */ (function () {
651
569
  * 2. ["", undefined] <- cube of arity 0
652
570
  * 3. [undefined, "NULL"] <- NULL
653
571
  */
654
- var regexp = /(?:\"((?:[\d\s\.,])*)\")|(?:(NULL))/g;
655
- var unparsedArrayString = value;
572
+ const regexp = /(?:\"((?:[\d\s\.,])*)\")|(?:(NULL))/g;
573
+ const unparsedArrayString = value;
656
574
  value = [];
657
- var cube = null;
575
+ let cube = null;
658
576
  // Iterate through all regexp matches for cubes/null in array
659
577
  while ((cube = regexp.exec(unparsedArrayString)) !== null) {
660
578
  if (cube[1] !== undefined) {
@@ -678,9 +596,9 @@ var PostgresDriver = /** @class */ (function () {
678
596
  value = value
679
597
  .substr(1, value.length - 2)
680
598
  .split(",")
681
- .map(function (val) {
599
+ .map((val) => {
682
600
  // replace double quotes from the beginning and from the end
683
- if (val.startsWith("\"") && val.endsWith("\""))
601
+ if (val.startsWith(`"`) && val.endsWith(`"`))
684
602
  val = val.slice(1, -1);
685
603
  // replace double escaped backslash to single escaped e.g. \\\\ -> \\
686
604
  val = val.replace(/(\\\\)/g, "\\");
@@ -688,7 +606,7 @@ var PostgresDriver = /** @class */ (function () {
688
606
  return val.replace(/(\\")/g, '"');
689
607
  });
690
608
  // convert to number if that exists in possible enum options
691
- value = value.map(function (val) {
609
+ value = value.map((val) => {
692
610
  return !isNaN(+val) &&
693
611
  columnMetadata.enum.indexOf(parseInt(val)) >= 0
694
612
  ? parseInt(val)
@@ -711,26 +629,25 @@ var PostgresDriver = /** @class */ (function () {
711
629
  if (columnMetadata.transformer)
712
630
  value = ApplyValueTransformers_1.ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);
713
631
  return value;
714
- };
632
+ }
715
633
  /**
716
634
  * Replaces parameters in the given sql with special escaping character
717
635
  * and an array of parameter names to be passed to a query.
718
636
  */
719
- PostgresDriver.prototype.escapeQueryWithParameters = function (sql, parameters, nativeParameters) {
720
- var _this = this;
721
- var escapedParameters = Object.keys(nativeParameters).map(function (key) { return nativeParameters[key]; });
637
+ escapeQueryWithParameters(sql, parameters, nativeParameters) {
638
+ const escapedParameters = Object.keys(nativeParameters).map((key) => nativeParameters[key]);
722
639
  if (!parameters || !Object.keys(parameters).length)
723
640
  return [sql, escapedParameters];
724
- sql = sql.replace(/:(\.\.\.)?([A-Za-z0-9_.]+)/g, function (full, isArray, key) {
641
+ sql = sql.replace(/:(\.\.\.)?([A-Za-z0-9_.]+)/g, (full, isArray, key) => {
725
642
  if (!parameters.hasOwnProperty(key)) {
726
643
  return full;
727
644
  }
728
- var value = parameters[key];
645
+ let value = parameters[key];
729
646
  if (isArray) {
730
647
  return value
731
- .map(function (v) {
648
+ .map((v) => {
732
649
  escapedParameters.push(v);
733
- return _this.createParameter(key, escapedParameters.length - 1);
650
+ return this.createParameter(key, escapedParameters.length - 1);
734
651
  })
735
652
  .join(", ");
736
653
  }
@@ -738,35 +655,35 @@ var PostgresDriver = /** @class */ (function () {
738
655
  return value();
739
656
  }
740
657
  escapedParameters.push(value);
741
- return _this.createParameter(key, escapedParameters.length - 1);
658
+ return this.createParameter(key, escapedParameters.length - 1);
742
659
  }); // todo: make replace only in value statements, otherwise problems
743
660
  return [sql, escapedParameters];
744
- };
661
+ }
745
662
  /**
746
663
  * Escapes a column name.
747
664
  */
748
- PostgresDriver.prototype.escape = function (columnName) {
665
+ escape(columnName) {
749
666
  return '"' + columnName + '"';
750
- };
667
+ }
751
668
  /**
752
669
  * Build full table name with schema name and table name.
753
670
  * E.g. myDB.mySchema.myTable
754
671
  */
755
- PostgresDriver.prototype.buildTableName = function (tableName, schema) {
756
- var tablePath = [tableName];
672
+ buildTableName(tableName, schema) {
673
+ let tablePath = [tableName];
757
674
  if (schema) {
758
675
  tablePath.unshift(schema);
759
676
  }
760
677
  return tablePath.join(".");
761
- };
678
+ }
762
679
  /**
763
680
  * Parse a target table name or other types and return a normalized table definition.
764
681
  */
765
- PostgresDriver.prototype.parseTableName = function (target) {
766
- var driverDatabase = this.database;
767
- var driverSchema = this.schema;
682
+ parseTableName(target) {
683
+ const driverDatabase = this.database;
684
+ const driverSchema = this.schema;
768
685
  if (InstanceChecker_1.InstanceChecker.isTable(target) || InstanceChecker_1.InstanceChecker.isView(target)) {
769
- var parsed = this.parseTableName(target.name);
686
+ const parsed = this.parseTableName(target.name);
770
687
  return {
771
688
  database: target.database || parsed.database || driverDatabase,
772
689
  schema: target.schema || parsed.schema || driverSchema,
@@ -774,7 +691,7 @@ var PostgresDriver = /** @class */ (function () {
774
691
  };
775
692
  }
776
693
  if (InstanceChecker_1.InstanceChecker.isTableForeignKey(target)) {
777
- var parsed = this.parseTableName(target.referencedTableName);
694
+ const parsed = this.parseTableName(target.referencedTableName);
778
695
  return {
779
696
  database: target.referencedDatabase ||
780
697
  parsed.database ||
@@ -791,17 +708,17 @@ var PostgresDriver = /** @class */ (function () {
791
708
  tableName: target.tableName,
792
709
  };
793
710
  }
794
- var parts = target.split(".");
711
+ const parts = target.split(".");
795
712
  return {
796
713
  database: driverDatabase,
797
714
  schema: (parts.length > 1 ? parts[0] : undefined) || driverSchema,
798
715
  tableName: parts.length > 1 ? parts[1] : parts[0],
799
716
  };
800
- };
717
+ }
801
718
  /**
802
719
  * Creates a database type from a given column metadata.
803
720
  */
804
- PostgresDriver.prototype.normalizeType = function (column) {
721
+ normalizeType(column) {
805
722
  if (column.type === Number ||
806
723
  column.type === "int" ||
807
724
  column.type === "int4") {
@@ -858,74 +775,74 @@ var PostgresDriver = /** @class */ (function () {
858
775
  else {
859
776
  return column.type || "";
860
777
  }
861
- };
778
+ }
862
779
  /**
863
780
  * Normalizes "default" value of the column.
864
781
  */
865
- PostgresDriver.prototype.normalizeDefault = function (columnMetadata) {
866
- var defaultValue = columnMetadata.default;
782
+ normalizeDefault(columnMetadata) {
783
+ const defaultValue = columnMetadata.default;
867
784
  if (defaultValue === null) {
868
785
  return undefined;
869
786
  }
870
787
  if (columnMetadata.isArray && Array.isArray(defaultValue)) {
871
- return "'{".concat(defaultValue
872
- .map(function (val) { return "".concat(val); })
873
- .join(","), "}'");
788
+ return `'{${defaultValue
789
+ .map((val) => `${val}`)
790
+ .join(",")}}'`;
874
791
  }
875
792
  if ((columnMetadata.type === "enum" ||
876
793
  columnMetadata.type === "simple-enum" ||
877
794
  typeof defaultValue === "number" ||
878
795
  typeof defaultValue === "string") &&
879
796
  defaultValue !== undefined) {
880
- return "'".concat(defaultValue, "'");
797
+ return `'${defaultValue}'`;
881
798
  }
882
799
  if (typeof defaultValue === "boolean") {
883
800
  return defaultValue ? "true" : "false";
884
801
  }
885
802
  if (typeof defaultValue === "function") {
886
- var value = defaultValue();
803
+ const value = defaultValue();
887
804
  return this.normalizeDatetimeFunction(value);
888
805
  }
889
806
  if (typeof defaultValue === "object") {
890
- return "'".concat(JSON.stringify(defaultValue), "'");
807
+ return `'${JSON.stringify(defaultValue)}'`;
891
808
  }
892
809
  if (defaultValue === undefined) {
893
810
  return undefined;
894
811
  }
895
- return "".concat(defaultValue);
896
- };
812
+ return `${defaultValue}`;
813
+ }
897
814
  /**
898
815
  * Compares "default" value of the column.
899
816
  * Postgres sorts json values before it is saved, so in that case a deep comparison has to be performed to see if has changed.
900
817
  */
901
- PostgresDriver.prototype.defaultEqual = function (columnMetadata, tableColumn) {
818
+ defaultEqual(columnMetadata, tableColumn) {
902
819
  if (["json", "jsonb"].includes(columnMetadata.type) &&
903
820
  !["function", "undefined"].includes(typeof columnMetadata.default)) {
904
- var tableColumnDefault = typeof tableColumn.default === "string"
821
+ const tableColumnDefault = typeof tableColumn.default === "string"
905
822
  ? JSON.parse(tableColumn.default.substring(1, tableColumn.default.length - 1))
906
823
  : tableColumn.default;
907
824
  return OrmUtils_1.OrmUtils.deepCompare(columnMetadata.default, tableColumnDefault);
908
825
  }
909
- var columnDefault = this.lowerDefaultValueIfNecessary(this.normalizeDefault(columnMetadata));
826
+ const columnDefault = this.lowerDefaultValueIfNecessary(this.normalizeDefault(columnMetadata));
910
827
  return columnDefault === tableColumn.default;
911
- };
828
+ }
912
829
  /**
913
830
  * Normalizes "isUnique" value of the column.
914
831
  */
915
- PostgresDriver.prototype.normalizeIsUnique = function (column) {
916
- return column.entityMetadata.uniques.some(function (uq) { return uq.columns.length === 1 && uq.columns[0] === column; });
917
- };
832
+ normalizeIsUnique(column) {
833
+ return column.entityMetadata.uniques.some((uq) => uq.columns.length === 1 && uq.columns[0] === column);
834
+ }
918
835
  /**
919
836
  * Returns default column lengths, which is required on column creation.
920
837
  */
921
- PostgresDriver.prototype.getColumnLength = function (column) {
838
+ getColumnLength(column) {
922
839
  return column.length ? column.length.toString() : "";
923
- };
840
+ }
924
841
  /**
925
842
  * Creates column type definition including length, precision and scale
926
843
  */
927
- PostgresDriver.prototype.createFullType = function (column) {
928
- var type = column.type;
844
+ createFullType(column) {
845
+ let type = column.type;
929
846
  if (column.length) {
930
847
  type += "(" + column.length + ")";
931
848
  }
@@ -971,10 +888,10 @@ var PostgresDriver = /** @class */ (function () {
971
888
  }
972
889
  else if (this.spatialTypes.indexOf(column.type) >= 0) {
973
890
  if (column.spatialFeatureType != null && column.srid != null) {
974
- type = "".concat(column.type, "(").concat(column.spatialFeatureType, ",").concat(column.srid, ")");
891
+ type = `${column.type}(${column.spatialFeatureType},${column.srid})`;
975
892
  }
976
893
  else if (column.spatialFeatureType != null) {
977
- type = "".concat(column.type, "(").concat(column.spatialFeatureType, ")");
894
+ type = `${column.type}(${column.spatialFeatureType})`;
978
895
  }
979
896
  else {
980
897
  type = column.type;
@@ -983,95 +900,83 @@ var PostgresDriver = /** @class */ (function () {
983
900
  if (column.isArray)
984
901
  type += " array";
985
902
  return type;
986
- };
903
+ }
987
904
  /**
988
905
  * Obtains a new database connection to a master server.
989
906
  * Used for replication.
990
907
  * If replication is not setup then returns default connection's database connection.
991
908
  */
992
- PostgresDriver.prototype.obtainMasterConnection = function () {
993
- return tslib_1.__awaiter(this, void 0, void 0, function () {
994
- var _this = this;
995
- return tslib_1.__generator(this, function (_a) {
996
- if (!this.master) {
997
- throw new error_1.TypeORMError("Driver not Connected");
998
- }
999
- return [2 /*return*/, new Promise(function (ok, fail) {
1000
- _this.master.connect(function (err, connection, release) {
1001
- err ? fail(err) : ok([connection, release]);
1002
- });
1003
- })];
909
+ async obtainMasterConnection() {
910
+ if (!this.master) {
911
+ throw new error_1.TypeORMError("Driver not Connected");
912
+ }
913
+ return new Promise((ok, fail) => {
914
+ this.master.connect((err, connection, release) => {
915
+ err ? fail(err) : ok([connection, release]);
1004
916
  });
1005
917
  });
1006
- };
918
+ }
1007
919
  /**
1008
920
  * Obtains a new database connection to a slave server.
1009
921
  * Used for replication.
1010
922
  * If replication is not setup then returns master (default) connection's database connection.
1011
923
  */
1012
- PostgresDriver.prototype.obtainSlaveConnection = function () {
1013
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1014
- var random;
1015
- var _this = this;
1016
- return tslib_1.__generator(this, function (_a) {
1017
- if (!this.slaves.length) {
1018
- return [2 /*return*/, this.obtainMasterConnection()];
1019
- }
1020
- random = Math.floor(Math.random() * this.slaves.length);
1021
- return [2 /*return*/, new Promise(function (ok, fail) {
1022
- _this.slaves[random].connect(function (err, connection, release) {
1023
- err ? fail(err) : ok([connection, release]);
1024
- });
1025
- })];
924
+ async obtainSlaveConnection() {
925
+ if (!this.slaves.length) {
926
+ return this.obtainMasterConnection();
927
+ }
928
+ const random = Math.floor(Math.random() * this.slaves.length);
929
+ return new Promise((ok, fail) => {
930
+ this.slaves[random].connect((err, connection, release) => {
931
+ err ? fail(err) : ok([connection, release]);
1026
932
  });
1027
933
  });
1028
- };
934
+ }
1029
935
  /**
1030
936
  * Creates generated map of values generated or returned by database after INSERT query.
1031
937
  *
1032
938
  * todo: slow. optimize Object.keys(), OrmUtils.mergeDeep and column.createValueMap parts
1033
939
  */
1034
- PostgresDriver.prototype.createGeneratedMap = function (metadata, insertResult) {
940
+ createGeneratedMap(metadata, insertResult) {
1035
941
  if (!insertResult)
1036
942
  return undefined;
1037
- return Object.keys(insertResult).reduce(function (map, key) {
1038
- var column = metadata.findColumnWithDatabaseName(key);
943
+ return Object.keys(insertResult).reduce((map, key) => {
944
+ const column = metadata.findColumnWithDatabaseName(key);
1039
945
  if (column) {
1040
946
  OrmUtils_1.OrmUtils.mergeDeep(map, column.createValueMap(insertResult[key]));
1041
947
  // OrmUtils.mergeDeep(map, column.createValueMap(this.prepareHydratedValue(insertResult[key], column))); // TODO: probably should be like there, but fails on enums, fix later
1042
948
  }
1043
949
  return map;
1044
950
  }, {});
1045
- };
951
+ }
1046
952
  /**
1047
953
  * Differentiate columns of this table and columns from the given column metadatas columns
1048
954
  * and returns only changed.
1049
955
  */
1050
- PostgresDriver.prototype.findChangedColumns = function (tableColumns, columnMetadatas) {
1051
- var _this = this;
1052
- return columnMetadatas.filter(function (columnMetadata) {
1053
- var tableColumn = tableColumns.find(function (c) { return c.name === columnMetadata.databaseName; });
956
+ findChangedColumns(tableColumns, columnMetadatas) {
957
+ return columnMetadatas.filter((columnMetadata) => {
958
+ const tableColumn = tableColumns.find((c) => c.name === columnMetadata.databaseName);
1054
959
  if (!tableColumn)
1055
960
  return false; // we don't need new columns, we only need exist and changed
1056
- var isColumnChanged = tableColumn.name !== columnMetadata.databaseName ||
1057
- tableColumn.type !== _this.normalizeType(columnMetadata) ||
961
+ const isColumnChanged = tableColumn.name !== columnMetadata.databaseName ||
962
+ tableColumn.type !== this.normalizeType(columnMetadata) ||
1058
963
  tableColumn.length !== columnMetadata.length ||
1059
964
  tableColumn.isArray !== columnMetadata.isArray ||
1060
965
  tableColumn.precision !== columnMetadata.precision ||
1061
966
  (columnMetadata.scale !== undefined &&
1062
967
  tableColumn.scale !== columnMetadata.scale) ||
1063
968
  tableColumn.comment !==
1064
- _this.escapeComment(columnMetadata.comment) ||
969
+ this.escapeComment(columnMetadata.comment) ||
1065
970
  (!tableColumn.isGenerated &&
1066
- !_this.defaultEqual(columnMetadata, tableColumn)) || // we included check for generated here, because generated columns already can have default values
971
+ !this.defaultEqual(columnMetadata, tableColumn)) || // we included check for generated here, because generated columns already can have default values
1067
972
  tableColumn.isPrimary !== columnMetadata.isPrimary ||
1068
973
  tableColumn.isNullable !== columnMetadata.isNullable ||
1069
974
  tableColumn.isUnique !==
1070
- _this.normalizeIsUnique(columnMetadata) ||
975
+ this.normalizeIsUnique(columnMetadata) ||
1071
976
  tableColumn.enumName !== columnMetadata.enumName ||
1072
977
  (tableColumn.enum &&
1073
978
  columnMetadata.enum &&
1074
- !OrmUtils_1.OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map(function (val) { return val + ""; }))) || // enums in postgres are always strings
979
+ !OrmUtils_1.OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map((val) => val + ""))) || // enums in postgres are always strings
1075
980
  tableColumn.isGenerated !== columnMetadata.isGenerated ||
1076
981
  (tableColumn.spatialFeatureType || "").toLowerCase() !==
1077
982
  (columnMetadata.spatialFeatureType || "").toLowerCase() ||
@@ -1179,79 +1084,75 @@ var PostgresDriver = /** @class */ (function () {
1179
1084
  // }
1180
1085
  return isColumnChanged;
1181
1086
  });
1182
- };
1183
- PostgresDriver.prototype.lowerDefaultValueIfNecessary = function (value) {
1087
+ }
1088
+ lowerDefaultValueIfNecessary(value) {
1184
1089
  // Postgres saves function calls in default value as lowercase #2733
1185
1090
  if (!value) {
1186
1091
  return value;
1187
1092
  }
1188
1093
  return value
1189
- .split("'")
1190
- .map(function (v, i) {
1094
+ .split(`'`)
1095
+ .map((v, i) => {
1191
1096
  return i % 2 === 1 ? v : v.toLowerCase();
1192
1097
  })
1193
- .join("'");
1194
- };
1098
+ .join(`'`);
1099
+ }
1195
1100
  /**
1196
1101
  * Returns true if driver supports RETURNING / OUTPUT statement.
1197
1102
  */
1198
- PostgresDriver.prototype.isReturningSqlSupported = function () {
1103
+ isReturningSqlSupported() {
1199
1104
  return true;
1200
- };
1105
+ }
1201
1106
  /**
1202
1107
  * Returns true if driver supports uuid values generation on its own.
1203
1108
  */
1204
- PostgresDriver.prototype.isUUIDGenerationSupported = function () {
1109
+ isUUIDGenerationSupported() {
1205
1110
  return true;
1206
- };
1111
+ }
1207
1112
  /**
1208
1113
  * Returns true if driver supports fulltext indices.
1209
1114
  */
1210
- PostgresDriver.prototype.isFullTextColumnTypeSupported = function () {
1115
+ isFullTextColumnTypeSupported() {
1211
1116
  return false;
1212
- };
1213
- Object.defineProperty(PostgresDriver.prototype, "uuidGenerator", {
1214
- get: function () {
1215
- return this.options.uuidExtension === "pgcrypto"
1216
- ? "gen_random_uuid()"
1217
- : "uuid_generate_v4()";
1218
- },
1219
- enumerable: false,
1220
- configurable: true
1221
- });
1117
+ }
1118
+ get uuidGenerator() {
1119
+ return this.options.uuidExtension === "pgcrypto"
1120
+ ? "gen_random_uuid()"
1121
+ : "uuid_generate_v4()";
1122
+ }
1222
1123
  /**
1223
1124
  * Creates an escaped parameter.
1224
1125
  */
1225
- PostgresDriver.prototype.createParameter = function (parameterName, index) {
1126
+ createParameter(parameterName, index) {
1226
1127
  return "$" + (index + 1);
1227
- };
1128
+ }
1228
1129
  // -------------------------------------------------------------------------
1229
1130
  // Public Methods
1230
1131
  // -------------------------------------------------------------------------
1231
1132
  /**
1232
1133
  * Loads postgres query stream package.
1233
1134
  */
1234
- PostgresDriver.prototype.loadStreamDependency = function () {
1135
+ loadStreamDependency() {
1235
1136
  try {
1236
1137
  return PlatformTools_1.PlatformTools.load("pg-query-stream");
1237
1138
  }
1238
1139
  catch (e) {
1239
1140
  // todo: better error for browser env
1240
- throw new error_1.TypeORMError("To use streams you should install pg-query-stream package. Please run npm i pg-query-stream --save command.");
1141
+ throw new error_1.TypeORMError(`To use streams you should install pg-query-stream package. Please run npm i pg-query-stream --save command.`);
1241
1142
  }
1242
- };
1143
+ }
1243
1144
  // -------------------------------------------------------------------------
1244
1145
  // Protected Methods
1245
1146
  // -------------------------------------------------------------------------
1246
1147
  /**
1247
1148
  * If driver dependency is not given explicitly, then try to load it via "require".
1248
1149
  */
1249
- PostgresDriver.prototype.loadDependencies = function () {
1150
+ loadDependencies() {
1250
1151
  try {
1251
- var postgres = this.options.driver || PlatformTools_1.PlatformTools.load("pg");
1152
+ const postgres = this.options.driver || PlatformTools_1.PlatformTools.load("pg");
1252
1153
  this.postgres = postgres;
1253
1154
  try {
1254
- var pgNative = this.options.nativeDriver || PlatformTools_1.PlatformTools.load("pg-native");
1155
+ const pgNative = this.options.nativeDriver || PlatformTools_1.PlatformTools.load("pg-native");
1255
1156
  if (pgNative && this.postgres.native)
1256
1157
  this.postgres = this.postgres.native;
1257
1158
  }
@@ -1261,108 +1162,92 @@ var PostgresDriver = /** @class */ (function () {
1261
1162
  // todo: better error for browser env
1262
1163
  throw new DriverPackageNotInstalledError_1.DriverPackageNotInstalledError("Postgres", "pg");
1263
1164
  }
1264
- };
1165
+ }
1265
1166
  /**
1266
1167
  * Creates a new connection pool for a given database credentials.
1267
1168
  */
1268
- PostgresDriver.prototype.createPool = function (options, credentials) {
1269
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1270
- var connectionOptions, pool, logger, poolErrorHandler;
1271
- var _this = this;
1272
- return tslib_1.__generator(this, function (_a) {
1273
- credentials = Object.assign({}, credentials);
1274
- connectionOptions = Object.assign({}, {
1275
- connectionString: credentials.url,
1276
- host: credentials.host,
1277
- user: credentials.username,
1278
- password: credentials.password,
1279
- database: credentials.database,
1280
- port: credentials.port,
1281
- ssl: credentials.ssl,
1282
- connectionTimeoutMillis: options.connectTimeoutMS,
1283
- application_name: options.applicationName,
1284
- max: options.poolSize,
1285
- }, options.extra || {});
1286
- pool = new this.postgres.Pool(connectionOptions);
1287
- logger = this.connection.logger;
1288
- poolErrorHandler = options.poolErrorHandler ||
1289
- (function (error) {
1290
- return logger.log("warn", "Postgres pool raised an error. ".concat(error));
1169
+ async createPool(options, credentials) {
1170
+ credentials = Object.assign({}, credentials);
1171
+ // build connection options for the driver
1172
+ // See: https://github.com/brianc/node-postgres/tree/master/packages/pg-pool#create
1173
+ const connectionOptions = Object.assign({}, {
1174
+ connectionString: credentials.url,
1175
+ host: credentials.host,
1176
+ user: credentials.username,
1177
+ password: credentials.password,
1178
+ database: credentials.database,
1179
+ port: credentials.port,
1180
+ ssl: credentials.ssl,
1181
+ connectionTimeoutMillis: options.connectTimeoutMS,
1182
+ application_name: options.applicationName,
1183
+ max: options.poolSize,
1184
+ }, options.extra || {});
1185
+ // create a connection pool
1186
+ const pool = new this.postgres.Pool(connectionOptions);
1187
+ const { logger } = this.connection;
1188
+ const poolErrorHandler = options.poolErrorHandler ||
1189
+ ((error) => logger.log("warn", `Postgres pool raised an error. ${error}`));
1190
+ /*
1191
+ Attaching an error handler to pool errors is essential, as, otherwise, errors raised will go unhandled and
1192
+ cause the hosting app to crash.
1193
+ */
1194
+ pool.on("error", poolErrorHandler);
1195
+ return new Promise((ok, fail) => {
1196
+ pool.connect((err, connection, release) => {
1197
+ if (err)
1198
+ return fail(err);
1199
+ if (options.logNotifications) {
1200
+ connection.on("notice", (msg) => {
1201
+ msg && this.connection.logger.log("info", msg.message);
1291
1202
  });
1292
- /*
1293
- Attaching an error handler to pool errors is essential, as, otherwise, errors raised will go unhandled and
1294
- cause the hosting app to crash.
1295
- */
1296
- pool.on("error", poolErrorHandler);
1297
- return [2 /*return*/, new Promise(function (ok, fail) {
1298
- pool.connect(function (err, connection, release) {
1299
- if (err)
1300
- return fail(err);
1301
- if (options.logNotifications) {
1302
- connection.on("notice", function (msg) {
1303
- msg && _this.connection.logger.log("info", msg.message);
1304
- });
1305
- connection.on("notification", function (msg) {
1306
- msg &&
1307
- _this.connection.logger.log("info", "Received NOTIFY on channel ".concat(msg.channel, ": ").concat(msg.payload, "."));
1308
- });
1309
- }
1310
- release();
1311
- ok(pool);
1312
- });
1313
- })];
1203
+ connection.on("notification", (msg) => {
1204
+ msg &&
1205
+ this.connection.logger.log("info", `Received NOTIFY on channel ${msg.channel}: ${msg.payload}.`);
1206
+ });
1207
+ }
1208
+ release();
1209
+ ok(pool);
1314
1210
  });
1315
1211
  });
1316
- };
1212
+ }
1317
1213
  /**
1318
1214
  * Closes connection pool.
1319
1215
  */
1320
- PostgresDriver.prototype.closePool = function (pool) {
1321
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1322
- return tslib_1.__generator(this, function (_a) {
1323
- switch (_a.label) {
1324
- case 0:
1325
- if (!this.connectedQueryRunners.length) return [3 /*break*/, 2];
1326
- return [4 /*yield*/, this.connectedQueryRunners[0].release()];
1327
- case 1:
1328
- _a.sent();
1329
- return [3 /*break*/, 0];
1330
- case 2: return [2 /*return*/, new Promise(function (ok, fail) {
1331
- pool.end(function (err) { return (err ? fail(err) : ok()); });
1332
- })];
1333
- }
1334
- });
1216
+ async closePool(pool) {
1217
+ while (this.connectedQueryRunners.length) {
1218
+ await this.connectedQueryRunners[0].release();
1219
+ }
1220
+ return new Promise((ok, fail) => {
1221
+ pool.end((err) => (err ? fail(err) : ok()));
1335
1222
  });
1336
- };
1223
+ }
1337
1224
  /**
1338
1225
  * Executes given query.
1339
1226
  */
1340
- PostgresDriver.prototype.executeQuery = function (connection, query) {
1227
+ executeQuery(connection, query) {
1341
1228
  this.connection.logger.logQuery(query);
1342
- return new Promise(function (ok, fail) {
1343
- connection.query(query, function (err, result) {
1344
- return err ? fail(err) : ok(result);
1345
- });
1229
+ return new Promise((ok, fail) => {
1230
+ connection.query(query, (err, result) => err ? fail(err) : ok(result));
1346
1231
  });
1347
- };
1232
+ }
1348
1233
  /**
1349
1234
  * If parameter is a datetime function, e.g. "CURRENT_TIMESTAMP", normalizes it.
1350
1235
  * Otherwise returns original input.
1351
1236
  */
1352
- PostgresDriver.prototype.normalizeDatetimeFunction = function (value) {
1237
+ normalizeDatetimeFunction(value) {
1353
1238
  // check if input is datetime function
1354
- var upperCaseValue = value.toUpperCase();
1355
- var isDatetimeFunction = upperCaseValue.indexOf("CURRENT_TIMESTAMP") !== -1 ||
1239
+ const upperCaseValue = value.toUpperCase();
1240
+ const isDatetimeFunction = upperCaseValue.indexOf("CURRENT_TIMESTAMP") !== -1 ||
1356
1241
  upperCaseValue.indexOf("CURRENT_DATE") !== -1 ||
1357
1242
  upperCaseValue.indexOf("CURRENT_TIME") !== -1 ||
1358
1243
  upperCaseValue.indexOf("LOCALTIMESTAMP") !== -1 ||
1359
1244
  upperCaseValue.indexOf("LOCALTIME") !== -1;
1360
1245
  if (isDatetimeFunction) {
1361
1246
  // extract precision, e.g. "(3)"
1362
- var precision = value.match(/\(\d+\)/);
1247
+ const precision = value.match(/\(\d+\)/);
1363
1248
  if (upperCaseValue.indexOf("CURRENT_TIMESTAMP") !== -1) {
1364
1249
  return precision
1365
- ? "('now'::text)::timestamp".concat(precision[0], " with time zone")
1250
+ ? `('now'::text)::timestamp${precision[0]} with time zone`
1366
1251
  : "now()";
1367
1252
  }
1368
1253
  else if (upperCaseValue === "CURRENT_DATE") {
@@ -1370,33 +1255,32 @@ var PostgresDriver = /** @class */ (function () {
1370
1255
  }
1371
1256
  else if (upperCaseValue.indexOf("CURRENT_TIME") !== -1) {
1372
1257
  return precision
1373
- ? "('now'::text)::time".concat(precision[0], " with time zone")
1258
+ ? `('now'::text)::time${precision[0]} with time zone`
1374
1259
  : "('now'::text)::time with time zone";
1375
1260
  }
1376
1261
  else if (upperCaseValue.indexOf("LOCALTIMESTAMP") !== -1) {
1377
1262
  return precision
1378
- ? "('now'::text)::timestamp".concat(precision[0], " without time zone")
1263
+ ? `('now'::text)::timestamp${precision[0]} without time zone`
1379
1264
  : "('now'::text)::timestamp without time zone";
1380
1265
  }
1381
1266
  else if (upperCaseValue.indexOf("LOCALTIME") !== -1) {
1382
1267
  return precision
1383
- ? "('now'::text)::time".concat(precision[0], " without time zone")
1268
+ ? `('now'::text)::time${precision[0]} without time zone`
1384
1269
  : "('now'::text)::time without time zone";
1385
1270
  }
1386
1271
  }
1387
1272
  return value;
1388
- };
1273
+ }
1389
1274
  /**
1390
1275
  * Escapes a given comment.
1391
1276
  */
1392
- PostgresDriver.prototype.escapeComment = function (comment) {
1277
+ escapeComment(comment) {
1393
1278
  if (!comment)
1394
1279
  return comment;
1395
1280
  comment = comment.replace(/\u0000/g, ""); // Null bytes aren't allowed in comments
1396
1281
  return comment;
1397
- };
1398
- return PostgresDriver;
1399
- }());
1282
+ }
1283
+ }
1400
1284
  exports.PostgresDriver = PostgresDriver;
1401
1285
  //#endregion
1402
1286
  //# sourceMappingURL=PostgresDriver.js.map