typeorm 0.3.12-dev.ef64bfc → 0.4.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1483) hide show
  1. package/browser/cache/DbQueryResultCache.d.ts +4 -4
  2. package/browser/cache/DbQueryResultCache.js +1 -1
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/cache/QueryResultCache.d.ts +2 -2
  5. package/browser/cache/QueryResultCache.js.map +1 -1
  6. package/browser/cache/QueryResultCacheFactory.d.ts +2 -2
  7. package/browser/cache/QueryResultCacheFactory.js.map +1 -1
  8. package/browser/cache/RedisQueryResultCache.d.ts +4 -4
  9. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  10. package/browser/cli-ts-node-commonjs.js +0 -0
  11. package/browser/cli-ts-node-esm.js +0 -0
  12. package/browser/common/DeepPartial.d.ts +1 -1
  13. package/browser/common/EntityTarget.d.ts +3 -3
  14. package/browser/common/EntityTarget.js.map +1 -1
  15. package/browser/common/MixedList.d.ts +1 -1
  16. package/browser/common/NonNever.d.ts +1 -1
  17. package/browser/common/ObjectType.d.ts +1 -1
  18. package/browser/common/PickKeysByType.d.ts +6 -0
  19. package/browser/common/PickKeysByType.js +3 -0
  20. package/browser/common/PickKeysByType.js.map +1 -0
  21. package/browser/common/RelationType.d.ts +1 -1
  22. package/browser/connection/BaseConnectionOptions.d.ts +2 -2
  23. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  24. package/browser/connection/ConnectionManager.d.ts +1 -1
  25. package/browser/connection/ConnectionManager.js.map +1 -1
  26. package/browser/connection/ConnectionMetadataBuilder.d.ts +5 -5
  27. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  28. package/browser/connection/ConnectionOptions.d.ts +2 -2
  29. package/browser/connection/ConnectionOptions.js.map +1 -1
  30. package/browser/connection/ConnectionOptionsReader.d.ts +1 -1
  31. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  32. package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +1 -1
  33. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  34. package/browser/connection/options-reader/ConnectionOptionsXmlReader.d.ts +1 -1
  35. package/browser/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  36. package/browser/connection/options-reader/ConnectionOptionsYmlReader.d.ts +1 -1
  37. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  38. package/browser/container.d.ts +1 -1
  39. package/browser/data-source/BaseDataSourceOptions.d.ts +8 -8
  40. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  41. package/browser/data-source/DataSource.d.ts +21 -21
  42. package/browser/data-source/DataSource.js +1 -1
  43. package/browser/data-source/DataSource.js.map +1 -1
  44. package/browser/data-source/DataSourceOptions.d.ts +19 -19
  45. package/browser/data-source/DataSourceOptions.js.map +1 -1
  46. package/browser/decorator/Check.js.map +1 -1
  47. package/browser/decorator/EntityRepository.d.ts +1 -1
  48. package/browser/decorator/EntityRepository.js.map +1 -1
  49. package/browser/decorator/Exclusion.js.map +1 -1
  50. package/browser/decorator/Generated.js.map +1 -1
  51. package/browser/decorator/Index.d.ts +1 -1
  52. package/browser/decorator/Index.js.map +1 -1
  53. package/browser/decorator/Unique.d.ts +1 -1
  54. package/browser/decorator/Unique.js.map +1 -1
  55. package/browser/decorator/columns/Column.d.ts +10 -10
  56. package/browser/decorator/columns/Column.js.map +1 -1
  57. package/browser/decorator/columns/CreateDateColumn.d.ts +1 -1
  58. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  59. package/browser/decorator/columns/DeleteDateColumn.d.ts +1 -1
  60. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  61. package/browser/decorator/columns/ObjectIdColumn.d.ts +1 -1
  62. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  63. package/browser/decorator/columns/PrimaryColumn.d.ts +3 -3
  64. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  65. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +3 -3
  66. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  67. package/browser/decorator/columns/UpdateDateColumn.d.ts +1 -1
  68. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  69. package/browser/decorator/columns/VersionColumn.d.ts +1 -1
  70. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  71. package/browser/decorator/columns/ViewColumn.d.ts +1 -1
  72. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  73. package/browser/decorator/columns/VirtualColumn.d.ts +2 -2
  74. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  75. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  76. package/browser/decorator/entity/Entity.d.ts +1 -1
  77. package/browser/decorator/entity/Entity.js.map +1 -1
  78. package/browser/decorator/entity/TableInheritance.d.ts +1 -1
  79. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  80. package/browser/decorator/entity-view/ViewEntity.d.ts +1 -1
  81. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  82. package/browser/decorator/listeners/AfterInsert.js.map +1 -1
  83. package/browser/decorator/listeners/AfterLoad.js.map +1 -1
  84. package/browser/decorator/listeners/AfterRecover.js.map +1 -1
  85. package/browser/decorator/listeners/AfterRemove.js.map +1 -1
  86. package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -1
  87. package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
  88. package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
  89. package/browser/decorator/listeners/BeforeRecover.js.map +1 -1
  90. package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
  91. package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  92. package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
  93. package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
  94. package/browser/decorator/options/ColumnCommonOptions.d.ts +1 -1
  95. package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
  96. package/browser/decorator/options/ColumnOptions.d.ts +3 -3
  97. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  98. package/browser/decorator/options/EntityOptions.d.ts +1 -1
  99. package/browser/decorator/options/EntityOptions.js.map +1 -1
  100. package/browser/decorator/options/JoinTableMultipleColumnsOptions.d.ts +1 -1
  101. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  102. package/browser/decorator/options/JoinTableOptions.d.ts +1 -1
  103. package/browser/decorator/options/JoinTableOptions.js.map +1 -1
  104. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +1 -1
  105. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  106. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +1 -1
  107. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  108. package/browser/decorator/options/RelationOptions.d.ts +3 -3
  109. package/browser/decorator/options/RelationOptions.js.map +1 -1
  110. package/browser/decorator/options/SpatialColumnOptions.d.ts +1 -1
  111. package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
  112. package/browser/decorator/options/TransactionOptions.d.ts +1 -1
  113. package/browser/decorator/options/TransactionOptions.js.map +1 -1
  114. package/browser/decorator/options/UniqueOptions.d.ts +1 -1
  115. package/browser/decorator/options/UniqueOptions.js.map +1 -1
  116. package/browser/decorator/options/ViewColumnOptions.d.ts +1 -1
  117. package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
  118. package/browser/decorator/options/ViewEntityOptions.d.ts +1 -1
  119. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  120. package/browser/decorator/options/VirtualColumnOptions.d.ts +2 -2
  121. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  122. package/browser/decorator/relations/JoinColumn.d.ts +1 -1
  123. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  124. package/browser/decorator/relations/JoinTable.d.ts +2 -2
  125. package/browser/decorator/relations/JoinTable.js.map +1 -1
  126. package/browser/decorator/relations/ManyToMany.d.ts +2 -2
  127. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  128. package/browser/decorator/relations/ManyToOne.d.ts +2 -2
  129. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  130. package/browser/decorator/relations/OneToMany.d.ts +2 -2
  131. package/browser/decorator/relations/OneToMany.js.map +1 -1
  132. package/browser/decorator/relations/OneToOne.d.ts +2 -2
  133. package/browser/decorator/relations/OneToOne.js.map +1 -1
  134. package/browser/decorator/relations/RelationCount.d.ts +1 -1
  135. package/browser/decorator/relations/RelationCount.js.map +1 -1
  136. package/browser/decorator/relations/RelationId.d.ts +1 -1
  137. package/browser/decorator/relations/RelationId.js.map +1 -1
  138. package/browser/decorator/tree/Tree.d.ts +2 -2
  139. package/browser/decorator/tree/Tree.js.map +1 -1
  140. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  141. package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
  142. package/browser/decorator/tree/TreeParent.d.ts +1 -1
  143. package/browser/decorator/tree/TreeParent.js.map +1 -1
  144. package/browser/driver/Driver.d.ts +17 -17
  145. package/browser/driver/Driver.js.map +1 -1
  146. package/browser/driver/DriverFactory.d.ts +2 -2
  147. package/browser/driver/DriverFactory.js.map +1 -1
  148. package/browser/driver/DriverUtils.d.ts +1 -1
  149. package/browser/driver/DriverUtils.js +2 -2
  150. package/browser/driver/DriverUtils.js.map +1 -1
  151. package/browser/driver/SqlInMemory.d.ts +1 -1
  152. package/browser/driver/SqlInMemory.js.map +1 -1
  153. package/browser/driver/aurora-mysql/AuroraMysqlConnection.d.ts +4 -4
  154. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  155. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +2 -2
  156. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  157. package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +17 -17
  158. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +2 -2
  159. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  160. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +6 -6
  161. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1 -1
  162. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  163. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +1 -1
  164. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  165. package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +5 -5
  166. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  167. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +4 -4
  168. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  169. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +7 -1
  170. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  171. package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +5 -5
  172. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +3 -1
  173. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  174. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -1
  175. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  176. package/browser/driver/capacitor/CapacitorConnectionOptions.d.ts +1 -1
  177. package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  178. package/browser/driver/capacitor/CapacitorDriver.d.ts +4 -4
  179. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  180. package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +2 -2
  181. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  182. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -1
  183. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  184. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +2 -2
  185. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  186. package/browser/driver/cockroachdb/CockroachDriver.d.ts +18 -18
  187. package/browser/driver/cockroachdb/CockroachDriver.js +2 -2
  188. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  189. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +5 -5
  190. package/browser/driver/cockroachdb/CockroachQueryRunner.js +2 -2
  191. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  192. package/browser/driver/cordova/CordovaConnectionOptions.d.ts +1 -1
  193. package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  194. package/browser/driver/cordova/CordovaDriver.d.ts +4 -4
  195. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  196. package/browser/driver/cordova/CordovaQueryRunner.d.ts +2 -2
  197. package/browser/driver/cordova/CordovaQueryRunner.js +1 -1
  198. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  199. package/browser/driver/expo/ExpoConnectionOptions.d.ts +1 -1
  200. package/browser/driver/expo/ExpoConnectionOptions.js.map +1 -1
  201. package/browser/driver/expo/ExpoDriver.d.ts +4 -4
  202. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  203. package/browser/driver/expo/ExpoQueryRunner.d.ts +1 -1
  204. package/browser/driver/expo/ExpoQueryRunner.js +1 -1
  205. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  206. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +2 -2
  207. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  208. package/browser/driver/mongodb/MongoDriver.d.ts +17 -17
  209. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  210. package/browser/driver/mongodb/MongoQueryRunner.d.ts +16 -16
  211. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  212. package/browser/driver/mongodb/typings.d.ts +6 -6
  213. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +2 -2
  214. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  215. package/browser/driver/mysql/MysqlDriver.d.ts +17 -17
  216. package/browser/driver/mysql/MysqlDriver.js +2 -2
  217. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  218. package/browser/driver/mysql/MysqlQueryRunner.d.ts +7 -7
  219. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  220. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  221. package/browser/driver/nativescript/NativescriptConnectionOptions.d.ts +1 -1
  222. package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  223. package/browser/driver/nativescript/NativescriptDriver.d.ts +5 -5
  224. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  225. package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +2 -2
  226. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  227. package/browser/driver/oracle/OracleConnectionOptions.d.ts +2 -2
  228. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  229. package/browser/driver/oracle/OracleDriver.d.ts +17 -17
  230. package/browser/driver/oracle/OracleDriver.js +2 -2
  231. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  232. package/browser/driver/oracle/OracleQueryRunner.d.ts +6 -6
  233. package/browser/driver/oracle/OracleQueryRunner.js +2 -2
  234. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  235. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  236. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  237. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +2 -2
  238. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  239. package/browser/driver/postgres/PostgresDriver.d.ts +18 -18
  240. package/browser/driver/postgres/PostgresDriver.js +2 -2
  241. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  242. package/browser/driver/postgres/PostgresQueryRunner.d.ts +5 -5
  243. package/browser/driver/postgres/PostgresQueryRunner.js +3 -3
  244. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  245. package/browser/driver/react-native/ReactNativeConnectionOptions.d.ts +1 -1
  246. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  247. package/browser/driver/react-native/ReactNativeDriver.d.ts +4 -4
  248. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  249. package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +2 -2
  250. package/browser/driver/react-native/ReactNativeQueryRunner.js +1 -1
  251. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  252. package/browser/driver/sap/SapConnectionOptions.d.ts +2 -2
  253. package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
  254. package/browser/driver/sap/SapDriver.d.ts +10 -10
  255. package/browser/driver/sap/SapDriver.js +3 -3
  256. package/browser/driver/sap/SapDriver.js.map +1 -1
  257. package/browser/driver/sap/SapQueryRunner.d.ts +6 -6
  258. package/browser/driver/sap/SapQueryRunner.js +1 -1
  259. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  260. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +2 -2
  261. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  262. package/browser/driver/spanner/SpannerDriver.d.ts +12 -12
  263. package/browser/driver/spanner/SpannerDriver.js +3 -3
  264. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  265. package/browser/driver/spanner/SpannerQueryRunner.d.ts +6 -6
  266. package/browser/driver/spanner/SpannerQueryRunner.js +7 -7
  267. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  268. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +1 -1
  269. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  270. package/browser/driver/sqlite/SqliteDriver.d.ts +5 -5
  271. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  272. package/browser/driver/sqlite/SqliteQueryRunner.d.ts +1 -1
  273. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  274. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +18 -18
  275. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +13 -1
  276. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  277. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +5 -5
  278. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -10
  279. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  280. package/browser/driver/sqljs/SqljsConnectionOptions.d.ts +1 -1
  281. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  282. package/browser/driver/sqljs/SqljsDriver.d.ts +5 -5
  283. package/browser/driver/sqljs/SqljsDriver.js +1 -1
  284. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  285. package/browser/driver/sqljs/SqljsQueryRunner.d.ts +1 -1
  286. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  287. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +8 -8
  288. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  289. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +2 -2
  290. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  291. package/browser/driver/sqlserver/SqlServerDriver.d.ts +16 -16
  292. package/browser/driver/sqlserver/SqlServerDriver.js +2 -2
  293. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  294. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +7 -7
  295. package/browser/driver/sqlserver/SqlServerQueryRunner.js +4 -4
  296. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  297. package/browser/driver/types/ColumnTypes.d.ts +7 -7
  298. package/browser/driver/types/DatabaseType.d.ts +1 -1
  299. package/browser/driver/types/GeoJsonTypes.d.ts +12 -12
  300. package/browser/driver/types/IsolationLevel.d.ts +1 -1
  301. package/browser/driver/types/MappedColumnTypes.d.ts +1 -1
  302. package/browser/driver/types/MappedColumnTypes.js.map +1 -1
  303. package/browser/driver/types/ReplicationMode.d.ts +1 -1
  304. package/browser/driver/types/UpsertType.d.ts +1 -1
  305. package/browser/entity-manager/EntityManager.d.ts +37 -19
  306. package/browser/entity-manager/EntityManager.js +32 -0
  307. package/browser/entity-manager/EntityManager.js.map +1 -1
  308. package/browser/entity-manager/EntityManagerFactory.d.ts +2 -2
  309. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  310. package/browser/entity-manager/MongoEntityManager.d.ts +12 -12
  311. package/browser/entity-manager/MongoEntityManager.js +5 -5
  312. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  313. package/browser/entity-manager/SqljsEntityManager.d.ts +2 -2
  314. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  315. package/browser/entity-schema/EntitySchema.d.ts +1 -1
  316. package/browser/entity-schema/EntitySchema.js.map +1 -1
  317. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +3 -3
  318. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  319. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +1 -1
  320. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  321. package/browser/entity-schema/EntitySchemaOptions.d.ts +10 -10
  322. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  323. package/browser/entity-schema/EntitySchemaRelationIdOptions.d.ts +1 -1
  324. package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  325. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +8 -8
  326. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  327. package/browser/entity-schema/EntitySchemaTransformer.d.ts +1 -1
  328. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  329. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +1 -1
  330. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  331. package/browser/error/CannotCreateEntityIdMapError.d.ts +1 -1
  332. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  333. package/browser/error/DataTypeNotSupportedError.d.ts +3 -3
  334. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  335. package/browser/error/EntityMetadataNotFoundError.d.ts +1 -1
  336. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  337. package/browser/error/EntityNotFoundError.d.ts +1 -1
  338. package/browser/error/EntityNotFoundError.js.map +1 -1
  339. package/browser/error/EntityPropertyNotFoundError.d.ts +1 -1
  340. package/browser/error/EntityPropertyNotFoundError.js.map +1 -1
  341. package/browser/error/ForbiddenTransactionModeOverrideError.d.ts +1 -1
  342. package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  343. package/browser/error/InitializedRelationError.d.ts +1 -1
  344. package/browser/error/InitializedRelationError.js.map +1 -1
  345. package/browser/error/MissingDeleteDateColumnError.d.ts +1 -1
  346. package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
  347. package/browser/error/MissingJoinColumnError.d.ts +2 -2
  348. package/browser/error/MissingJoinColumnError.js.map +1 -1
  349. package/browser/error/MissingJoinTableError.d.ts +2 -2
  350. package/browser/error/MissingJoinTableError.js.map +1 -1
  351. package/browser/error/MissingPrimaryColumnError.d.ts +1 -1
  352. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  353. package/browser/error/RepositoryNotTreeError.d.ts +1 -1
  354. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  355. package/browser/error/SubjectRemovedAndUpdatedError.d.ts +1 -1
  356. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  357. package/browser/error/SubjectWithoutIdentifierError.d.ts +1 -1
  358. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  359. package/browser/error/TreeRepositoryNotSupportedError.d.ts +1 -1
  360. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  361. package/browser/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -2
  362. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  363. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -2
  364. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  365. package/browser/error/UsingJoinTableIsNotAllowedError.d.ts +2 -2
  366. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  367. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -2
  368. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  369. package/browser/find-options/FindManyOptions.d.ts +1 -1
  370. package/browser/find-options/FindManyOptions.js.map +1 -1
  371. package/browser/find-options/FindOneOptions.d.ts +5 -5
  372. package/browser/find-options/FindOneOptions.js.map +1 -1
  373. package/browser/find-options/FindOperator.d.ts +3 -3
  374. package/browser/find-options/FindOperator.js.map +1 -1
  375. package/browser/find-options/FindOperatorType.d.ts +1 -1
  376. package/browser/find-options/FindOperatorType.js.map +1 -1
  377. package/browser/find-options/FindOptionsOrder.d.ts +4 -4
  378. package/browser/find-options/FindOptionsOrder.js.map +1 -1
  379. package/browser/find-options/FindOptionsRelations.d.ts +4 -4
  380. package/browser/find-options/FindOptionsRelations.js.map +1 -1
  381. package/browser/find-options/FindOptionsSelect.d.ts +4 -4
  382. package/browser/find-options/FindOptionsSelect.js.map +1 -1
  383. package/browser/find-options/FindOptionsUtils.d.ts +6 -6
  384. package/browser/find-options/FindOptionsUtils.js +1 -1
  385. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  386. package/browser/find-options/FindOptionsWhere.d.ts +9 -5
  387. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  388. package/browser/find-options/OrderByCondition.d.ts +1 -1
  389. package/browser/find-options/mongodb/MongoFindManyOptions.d.ts +1 -1
  390. package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  391. package/browser/find-options/mongodb/MongoFindOneOptions.d.ts +3 -3
  392. package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  393. package/browser/find-options/operator/Equal.d.ts +1 -1
  394. package/browser/find-options/operator/Equal.js.map +1 -1
  395. package/browser/find-options/operator/JsonContains.d.ts +6 -0
  396. package/browser/find-options/operator/JsonContains.js +10 -0
  397. package/browser/find-options/operator/JsonContains.js.map +1 -0
  398. package/browser/find-options/operator/Raw.d.ts +1 -1
  399. package/browser/find-options/operator/Raw.js.map +1 -1
  400. package/browser/globals.d.ts +12 -12
  401. package/browser/globals.js.map +1 -1
  402. package/browser/index.d.ts +3 -0
  403. package/browser/index.js +3 -0
  404. package/browser/index.js.map +1 -1
  405. package/browser/logger/AbstractLogger.d.ts +49 -0
  406. package/browser/logger/AbstractLogger.js +230 -0
  407. package/browser/logger/AbstractLogger.js.map +1 -0
  408. package/browser/logger/AdvancedConsoleLogger.d.ts +6 -34
  409. package/browser/logger/AdvancedConsoleLogger.js +41 -106
  410. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  411. package/browser/logger/DebugLogger.d.ts +10 -30
  412. package/browser/logger/DebugLogger.js +56 -74
  413. package/browser/logger/DebugLogger.js.map +1 -1
  414. package/browser/logger/FileLogger.d.ts +8 -34
  415. package/browser/logger/FileLogger.js +50 -97
  416. package/browser/logger/FileLogger.js.map +1 -1
  417. package/browser/logger/Logger.d.ts +32 -1
  418. package/browser/logger/Logger.js.map +1 -1
  419. package/browser/logger/LoggerFactory.d.ts +2 -2
  420. package/browser/logger/LoggerFactory.js.map +1 -1
  421. package/browser/logger/LoggerOptions.d.ts +3 -2
  422. package/browser/logger/LoggerOptions.js.map +1 -1
  423. package/browser/logger/SimpleConsoleLogger.d.ts +6 -34
  424. package/browser/logger/SimpleConsoleLogger.js +43 -106
  425. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  426. package/browser/metadata/CheckMetadata.d.ts +3 -3
  427. package/browser/metadata/CheckMetadata.js.map +1 -1
  428. package/browser/metadata/ColumnMetadata.d.ts +8 -8
  429. package/browser/metadata/ColumnMetadata.js.map +1 -1
  430. package/browser/metadata/EmbeddedMetadata.d.ts +10 -10
  431. package/browser/metadata/EmbeddedMetadata.js +1 -1
  432. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  433. package/browser/metadata/EntityListenerMetadata.d.ts +5 -5
  434. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  435. package/browser/metadata/EntityMetadata.d.ts +20 -20
  436. package/browser/metadata/EntityMetadata.js.map +1 -1
  437. package/browser/metadata/ExclusionMetadata.d.ts +3 -3
  438. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  439. package/browser/metadata/ForeignKeyMetadata.d.ts +6 -6
  440. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  441. package/browser/metadata/IndexMetadata.d.ts +5 -5
  442. package/browser/metadata/IndexMetadata.js.map +1 -1
  443. package/browser/metadata/RelationCountMetadata.d.ts +4 -4
  444. package/browser/metadata/RelationCountMetadata.js.map +1 -1
  445. package/browser/metadata/RelationIdMetadata.d.ts +5 -5
  446. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  447. package/browser/metadata/RelationMetadata.d.ts +10 -10
  448. package/browser/metadata/RelationMetadata.js.map +1 -1
  449. package/browser/metadata/UniqueMetadata.d.ts +6 -6
  450. package/browser/metadata/UniqueMetadata.js.map +1 -1
  451. package/browser/metadata/types/ClosureTreeOptions.d.ts +1 -1
  452. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -1
  453. package/browser/metadata/types/DeferrableType.d.ts +1 -1
  454. package/browser/metadata/types/EventListenerTypes.d.ts +1 -1
  455. package/browser/metadata/types/OnDeleteType.d.ts +1 -1
  456. package/browser/metadata/types/OnUpdateType.d.ts +1 -1
  457. package/browser/metadata/types/PropertyTypeInFunction.d.ts +1 -1
  458. package/browser/metadata/types/RelationTypeInFunction.d.ts +2 -2
  459. package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
  460. package/browser/metadata/types/RelationTypes.d.ts +1 -1
  461. package/browser/metadata/types/TableTypes.d.ts +1 -1
  462. package/browser/metadata/types/TreeTypes.d.ts +1 -1
  463. package/browser/metadata-args/ColumnMetadataArgs.d.ts +2 -2
  464. package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
  465. package/browser/metadata-args/EntityListenerMetadataArgs.d.ts +1 -1
  466. package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  467. package/browser/metadata-args/EntityRepositoryMetadataArgs.d.ts +1 -1
  468. package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  469. package/browser/metadata-args/InheritanceMetadataArgs.d.ts +1 -1
  470. package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  471. package/browser/metadata-args/JoinTableMetadataArgs.d.ts +1 -1
  472. package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  473. package/browser/metadata-args/MetadataArgsStorage.d.ts +22 -22
  474. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  475. package/browser/metadata-args/RelationCountMetadataArgs.d.ts +1 -1
  476. package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  477. package/browser/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
  478. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  479. package/browser/metadata-args/RelationMetadataArgs.d.ts +4 -4
  480. package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
  481. package/browser/metadata-args/TableMetadataArgs.d.ts +3 -3
  482. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  483. package/browser/metadata-args/TreeMetadataArgs.d.ts +2 -2
  484. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  485. package/browser/metadata-args/UniqueMetadataArgs.d.ts +1 -1
  486. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  487. package/browser/metadata-args/types/ColumnMode.d.ts +1 -1
  488. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -1
  489. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  490. package/browser/metadata-builder/EntityMetadataBuilder.d.ts +4 -4
  491. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  492. package/browser/metadata-builder/EntityMetadataValidator.d.ts +2 -2
  493. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  494. package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -3
  495. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  496. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -3
  497. package/browser/metadata-builder/RelationJoinColumnBuilder.js +2 -1
  498. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  499. package/browser/migration/Migration.d.ts +1 -1
  500. package/browser/migration/Migration.js.map +1 -1
  501. package/browser/migration/MigrationExecutor.d.ts +2 -2
  502. package/browser/migration/MigrationExecutor.js +3 -3
  503. package/browser/migration/MigrationExecutor.js.map +1 -1
  504. package/browser/migration/MigrationInterface.d.ts +1 -1
  505. package/browser/migration/MigrationInterface.js.map +1 -1
  506. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +2 -2
  507. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  508. package/browser/naming-strategy/LegacyOracleNamingStrategy.d.ts +21 -0
  509. package/browser/naming-strategy/LegacyOracleNamingStrategy.js +46 -0
  510. package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -0
  511. package/browser/naming-strategy/NamingStrategyInterface.d.ts +2 -2
  512. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  513. package/browser/persistence/EntityPersistExecutor.d.ts +5 -5
  514. package/browser/persistence/EntityPersistExecutor.js +1 -1
  515. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  516. package/browser/persistence/Subject.d.ts +5 -5
  517. package/browser/persistence/Subject.js.map +1 -1
  518. package/browser/persistence/SubjectChangeMap.d.ts +3 -3
  519. package/browser/persistence/SubjectChangeMap.js.map +1 -1
  520. package/browser/persistence/SubjectChangedColumnsComputer.d.ts +1 -1
  521. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  522. package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +3 -3
  523. package/browser/persistence/SubjectDatabaseEntityLoader.js +1 -1
  524. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  525. package/browser/persistence/SubjectExecutor.d.ts +4 -4
  526. package/browser/persistence/SubjectExecutor.js +1 -1
  527. package/browser/persistence/SubjectExecutor.js.map +1 -1
  528. package/browser/persistence/SubjectTopoligicalSorter.d.ts +2 -2
  529. package/browser/persistence/SubjectTopoligicalSorter.js +7 -11
  530. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  531. package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
  532. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  533. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +2 -2
  534. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  535. package/browser/persistence/subject-builder/OneToManySubjectBuilder.d.ts +1 -1
  536. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  537. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +1 -1
  538. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  539. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  540. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +2 -2
  541. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  542. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -2
  543. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  544. package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +4 -4
  545. package/browser/persistence/tree/NestedSetSubjectExecutor.js +2 -2
  546. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  547. package/browser/platform/BrowserPlatformTools.js +2 -2
  548. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  549. package/browser/platform/PlatformTools.d.ts +2 -0
  550. package/browser/platform/PlatformTools.js +6 -0
  551. package/browser/platform/PlatformTools.js.map +1 -1
  552. package/browser/query-builder/Alias.d.ts +1 -1
  553. package/browser/query-builder/Alias.js.map +1 -1
  554. package/browser/query-builder/Brackets.d.ts +1 -1
  555. package/browser/query-builder/Brackets.js.map +1 -1
  556. package/browser/query-builder/DeleteQueryBuilder.d.ts +6 -6
  557. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  558. package/browser/query-builder/InsertOrUpdateOptions.d.ts +2 -2
  559. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
  560. package/browser/query-builder/InsertQueryBuilder.d.ts +5 -5
  561. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  562. package/browser/query-builder/JoinAttribute.d.ts +5 -5
  563. package/browser/query-builder/JoinAttribute.js +2 -2
  564. package/browser/query-builder/JoinAttribute.js.map +1 -1
  565. package/browser/query-builder/QueryBuilder.d.ts +18 -18
  566. package/browser/query-builder/QueryBuilder.js +3 -1
  567. package/browser/query-builder/QueryBuilder.js.map +1 -1
  568. package/browser/query-builder/QueryExpressionMap.d.ts +12 -12
  569. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  570. package/browser/query-builder/QueryPartialEntity.d.ts +4 -4
  571. package/browser/query-builder/QueryPartialEntity.js.map +1 -1
  572. package/browser/query-builder/RelationIdLoader.d.ts +4 -4
  573. package/browser/query-builder/RelationIdLoader.js +2 -2
  574. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  575. package/browser/query-builder/RelationLoader.d.ts +5 -5
  576. package/browser/query-builder/RelationLoader.js.map +1 -1
  577. package/browser/query-builder/RelationQueryBuilder.d.ts +1 -1
  578. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  579. package/browser/query-builder/RelationRemover.d.ts +2 -2
  580. package/browser/query-builder/RelationRemover.js.map +1 -1
  581. package/browser/query-builder/RelationUpdater.d.ts +2 -2
  582. package/browser/query-builder/RelationUpdater.js.map +1 -1
  583. package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +6 -6
  584. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  585. package/browser/query-builder/SelectQueryBuilder.d.ts +18 -18
  586. package/browser/query-builder/SelectQueryBuilder.js +12 -8
  587. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  588. package/browser/query-builder/SelectQueryBuilderOption.d.ts +1 -1
  589. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +7 -7
  590. package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
  591. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  592. package/browser/query-builder/UpdateQueryBuilder.d.ts +7 -7
  593. package/browser/query-builder/UpdateQueryBuilder.js +3 -3
  594. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  595. package/browser/query-builder/WhereClause.d.ts +3 -3
  596. package/browser/query-builder/WhereClause.js.map +1 -1
  597. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -4
  598. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  599. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +4 -4
  600. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  601. package/browser/query-builder/relation-count/RelationCountLoadResult.d.ts +1 -1
  602. package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  603. package/browser/query-builder/relation-count/RelationCountLoader.d.ts +4 -4
  604. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  605. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +1 -1
  606. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  607. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +4 -4
  608. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  609. package/browser/query-builder/relation-id/RelationIdLoadResult.d.ts +1 -1
  610. package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  611. package/browser/query-builder/relation-id/RelationIdLoader.d.ts +4 -4
  612. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  613. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +1 -1
  614. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  615. package/browser/query-builder/result/DeleteResult.d.ts +1 -1
  616. package/browser/query-builder/result/DeleteResult.js.map +1 -1
  617. package/browser/query-builder/result/InsertResult.d.ts +2 -2
  618. package/browser/query-builder/result/InsertResult.js.map +1 -1
  619. package/browser/query-builder/result/UpdateResult.d.ts +2 -2
  620. package/browser/query-builder/result/UpdateResult.js.map +1 -1
  621. package/browser/query-builder/transformer/DocumentToEntityTransformer.d.ts +2 -2
  622. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  623. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +3 -3
  624. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  625. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +2 -2
  626. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  627. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +8 -8
  628. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +1 -1
  629. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  630. package/browser/query-runner/BaseQueryRunner.d.ts +11 -11
  631. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  632. package/browser/query-runner/QueryRunner.d.ts +17 -17
  633. package/browser/query-runner/QueryRunner.js.map +1 -1
  634. package/browser/repository/AbstractRepository.d.ts +6 -6
  635. package/browser/repository/AbstractRepository.js.map +1 -1
  636. package/browser/repository/BaseEntity.d.ts +41 -16
  637. package/browser/repository/BaseEntity.js +24 -0
  638. package/browser/repository/BaseEntity.js.map +1 -1
  639. package/browser/repository/EntityId.d.ts +2 -2
  640. package/browser/repository/EntityId.js.map +1 -1
  641. package/browser/repository/MongoRepository.d.ts +8 -8
  642. package/browser/repository/MongoRepository.js.map +1 -1
  643. package/browser/repository/Repository.d.ts +34 -17
  644. package/browser/repository/Repository.js +32 -8
  645. package/browser/repository/Repository.js.map +1 -1
  646. package/browser/repository/TreeRepository.d.ts +3 -3
  647. package/browser/repository/TreeRepository.js.map +1 -1
  648. package/browser/repository/UpsertOptions.d.ts +2 -2
  649. package/browser/repository/UpsertOptions.js.map +1 -1
  650. package/browser/schema-builder/MongoSchemaBuilder.d.ts +2 -2
  651. package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
  652. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +7 -7
  653. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  654. package/browser/schema-builder/SchemaBuilder.d.ts +1 -1
  655. package/browser/schema-builder/SchemaBuilder.js.map +1 -1
  656. package/browser/schema-builder/options/TableOptions.d.ts +6 -6
  657. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  658. package/browser/schema-builder/options/ViewOptions.d.ts +1 -1
  659. package/browser/schema-builder/options/ViewOptions.js.map +1 -1
  660. package/browser/schema-builder/table/Table.d.ts +3 -3
  661. package/browser/schema-builder/table/Table.js.map +1 -1
  662. package/browser/schema-builder/table/TableCheck.d.ts +2 -2
  663. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  664. package/browser/schema-builder/table/TableColumn.d.ts +1 -1
  665. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  666. package/browser/schema-builder/table/TableExclusion.d.ts +2 -2
  667. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  668. package/browser/schema-builder/table/TableForeignKey.d.ts +3 -3
  669. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  670. package/browser/schema-builder/table/TableIndex.d.ts +2 -2
  671. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  672. package/browser/schema-builder/table/TableUnique.d.ts +2 -2
  673. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  674. package/browser/schema-builder/util/TableUtils.d.ts +3 -3
  675. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  676. package/browser/schema-builder/util/ViewUtils.d.ts +1 -1
  677. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  678. package/browser/schema-builder/view/View.d.ts +2 -2
  679. package/browser/schema-builder/view/View.js.map +1 -1
  680. package/browser/subscriber/Broadcaster.d.ts +6 -6
  681. package/browser/subscriber/Broadcaster.js.map +1 -1
  682. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  683. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -9
  684. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  685. package/browser/subscriber/event/InsertEvent.d.ts +4 -4
  686. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  687. package/browser/subscriber/event/LoadEvent.d.ts +4 -4
  688. package/browser/subscriber/event/LoadEvent.js.map +1 -1
  689. package/browser/subscriber/event/RecoverEvent.d.ts +2 -3
  690. package/browser/subscriber/event/RecoverEvent.js.map +1 -1
  691. package/browser/subscriber/event/RemoveEvent.d.ts +4 -4
  692. package/browser/subscriber/event/RemoveEvent.js.map +1 -1
  693. package/browser/subscriber/event/SoftRemoveEvent.d.ts +2 -3
  694. package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -1
  695. package/browser/subscriber/event/TransactionCommitEvent.d.ts +3 -3
  696. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -1
  697. package/browser/subscriber/event/TransactionRollbackEvent.d.ts +3 -3
  698. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  699. package/browser/subscriber/event/TransactionStartEvent.d.ts +3 -3
  700. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -1
  701. package/browser/subscriber/event/UpdateEvent.d.ts +7 -7
  702. package/browser/subscriber/event/UpdateEvent.js.map +1 -1
  703. package/browser/util/ApplyValueTransformers.d.ts +1 -1
  704. package/browser/util/ApplyValueTransformers.js.map +1 -1
  705. package/browser/util/DateUtils.d.ts +1 -1
  706. package/browser/util/DateUtils.js.map +1 -1
  707. package/browser/util/DepGraph.js +14 -14
  708. package/browser/util/DepGraph.js.map +1 -1
  709. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  710. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  711. package/browser/util/InstanceChecker.d.ts +2 -2
  712. package/browser/util/InstanceChecker.js.map +1 -1
  713. package/browser/util/ObjectUtils.d.ts +1 -1
  714. package/browser/util/ObjectUtils.js.map +1 -1
  715. package/browser/util/OrmUtils.d.ts +1 -1
  716. package/browser/util/OrmUtils.js +4 -4
  717. package/browser/util/OrmUtils.js.map +1 -1
  718. package/browser/util/RandomGenerator.js +6 -6
  719. package/browser/util/RandomGenerator.js.map +1 -1
  720. package/browser/util/StringUtils.js.map +1 -1
  721. package/browser/util/TreeRepositoryUtils.d.ts +3 -3
  722. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  723. package/browser/util/VersionUtils.d.ts +1 -1
  724. package/browser/util/VersionUtils.js.map +1 -1
  725. package/browser/util/escapeRegExp.d.ts +1 -1
  726. package/browser/util/escapeRegExp.js.map +1 -1
  727. package/cache/DbQueryResultCache.d.ts +4 -4
  728. package/cache/DbQueryResultCache.js +1 -1
  729. package/cache/DbQueryResultCache.js.map +1 -1
  730. package/cache/QueryResultCache.d.ts +2 -2
  731. package/cache/QueryResultCache.js.map +1 -1
  732. package/cache/QueryResultCacheFactory.d.ts +2 -2
  733. package/cache/QueryResultCacheFactory.js.map +1 -1
  734. package/cache/RedisQueryResultCache.d.ts +4 -4
  735. package/cache/RedisQueryResultCache.js.map +1 -1
  736. package/cli-ts-node-commonjs.js +0 -0
  737. package/cli-ts-node-esm.js +0 -0
  738. package/cli.js +0 -0
  739. package/commands/CacheClearCommand.d.ts +1 -1
  740. package/commands/CacheClearCommand.js.map +1 -1
  741. package/commands/CommandUtils.d.ts +2 -2
  742. package/commands/CommandUtils.js.map +1 -1
  743. package/commands/EntityCreateCommand.d.ts +1 -1
  744. package/commands/EntityCreateCommand.js.map +1 -1
  745. package/commands/InitCommand.d.ts +1 -1
  746. package/commands/InitCommand.js.map +1 -1
  747. package/commands/MigrationCreateCommand.d.ts +2 -2
  748. package/commands/MigrationCreateCommand.js.map +1 -1
  749. package/commands/MigrationGenerateCommand.d.ts +2 -2
  750. package/commands/MigrationGenerateCommand.js.map +1 -1
  751. package/commands/MigrationRevertCommand.d.ts +1 -1
  752. package/commands/MigrationRevertCommand.js.map +1 -1
  753. package/commands/MigrationRunCommand.d.ts +1 -1
  754. package/commands/MigrationRunCommand.js.map +1 -1
  755. package/commands/MigrationShowCommand.d.ts +1 -1
  756. package/commands/MigrationShowCommand.js.map +1 -1
  757. package/commands/QueryCommand.d.ts +1 -1
  758. package/commands/QueryCommand.js.map +1 -1
  759. package/commands/SchemaDropCommand.d.ts +1 -1
  760. package/commands/SchemaDropCommand.js.map +1 -1
  761. package/commands/SchemaLogCommand.d.ts +1 -1
  762. package/commands/SchemaLogCommand.js.map +1 -1
  763. package/commands/SchemaSyncCommand.d.ts +1 -1
  764. package/commands/SchemaSyncCommand.js.map +1 -1
  765. package/commands/SubscriberCreateCommand.d.ts +1 -1
  766. package/commands/SubscriberCreateCommand.js.map +1 -1
  767. package/commands/VersionCommand.d.ts +1 -1
  768. package/commands/VersionCommand.js.map +1 -1
  769. package/common/DeepPartial.d.ts +1 -1
  770. package/common/EntityTarget.d.ts +3 -3
  771. package/common/EntityTarget.js.map +1 -1
  772. package/common/MixedList.d.ts +1 -1
  773. package/common/NonNever.d.ts +1 -1
  774. package/common/ObjectType.d.ts +1 -1
  775. package/common/PickKeysByType.d.ts +6 -0
  776. package/common/PickKeysByType.js +4 -0
  777. package/common/PickKeysByType.js.map +1 -0
  778. package/common/RelationType.d.ts +1 -1
  779. package/connection/BaseConnectionOptions.d.ts +2 -2
  780. package/connection/BaseConnectionOptions.js.map +1 -1
  781. package/connection/ConnectionManager.d.ts +1 -1
  782. package/connection/ConnectionManager.js.map +1 -1
  783. package/connection/ConnectionMetadataBuilder.d.ts +5 -5
  784. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  785. package/connection/ConnectionOptions.d.ts +2 -2
  786. package/connection/ConnectionOptions.js.map +1 -1
  787. package/connection/ConnectionOptionsReader.d.ts +1 -1
  788. package/connection/ConnectionOptionsReader.js.map +1 -1
  789. package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +1 -1
  790. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  791. package/connection/options-reader/ConnectionOptionsXmlReader.d.ts +1 -1
  792. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  793. package/connection/options-reader/ConnectionOptionsYmlReader.d.ts +1 -1
  794. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  795. package/container.d.ts +1 -1
  796. package/data-source/BaseDataSourceOptions.d.ts +8 -8
  797. package/data-source/BaseDataSourceOptions.js.map +1 -1
  798. package/data-source/DataSource.d.ts +21 -21
  799. package/data-source/DataSource.js +1 -1
  800. package/data-source/DataSource.js.map +1 -1
  801. package/data-source/DataSourceOptions.d.ts +19 -19
  802. package/data-source/DataSourceOptions.js.map +1 -1
  803. package/decorator/Check.js.map +1 -1
  804. package/decorator/EntityRepository.d.ts +1 -1
  805. package/decorator/EntityRepository.js.map +1 -1
  806. package/decorator/Exclusion.js.map +1 -1
  807. package/decorator/Generated.js.map +1 -1
  808. package/decorator/Index.d.ts +1 -1
  809. package/decorator/Index.js.map +1 -1
  810. package/decorator/Unique.d.ts +1 -1
  811. package/decorator/Unique.js.map +1 -1
  812. package/decorator/columns/Column.d.ts +10 -10
  813. package/decorator/columns/Column.js.map +1 -1
  814. package/decorator/columns/CreateDateColumn.d.ts +1 -1
  815. package/decorator/columns/CreateDateColumn.js.map +1 -1
  816. package/decorator/columns/DeleteDateColumn.d.ts +1 -1
  817. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  818. package/decorator/columns/ObjectIdColumn.d.ts +1 -1
  819. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  820. package/decorator/columns/PrimaryColumn.d.ts +3 -3
  821. package/decorator/columns/PrimaryColumn.js.map +1 -1
  822. package/decorator/columns/PrimaryGeneratedColumn.d.ts +3 -3
  823. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  824. package/decorator/columns/UpdateDateColumn.d.ts +1 -1
  825. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  826. package/decorator/columns/VersionColumn.d.ts +1 -1
  827. package/decorator/columns/VersionColumn.js.map +1 -1
  828. package/decorator/columns/ViewColumn.d.ts +1 -1
  829. package/decorator/columns/ViewColumn.js.map +1 -1
  830. package/decorator/columns/VirtualColumn.d.ts +2 -2
  831. package/decorator/columns/VirtualColumn.js.map +1 -1
  832. package/decorator/entity/ChildEntity.js.map +1 -1
  833. package/decorator/entity/Entity.d.ts +1 -1
  834. package/decorator/entity/Entity.js.map +1 -1
  835. package/decorator/entity/TableInheritance.d.ts +1 -1
  836. package/decorator/entity/TableInheritance.js.map +1 -1
  837. package/decorator/entity-view/ViewEntity.d.ts +1 -1
  838. package/decorator/entity-view/ViewEntity.js.map +1 -1
  839. package/decorator/listeners/AfterInsert.js.map +1 -1
  840. package/decorator/listeners/AfterLoad.js.map +1 -1
  841. package/decorator/listeners/AfterRecover.js.map +1 -1
  842. package/decorator/listeners/AfterRemove.js.map +1 -1
  843. package/decorator/listeners/AfterSoftRemove.js.map +1 -1
  844. package/decorator/listeners/AfterUpdate.js.map +1 -1
  845. package/decorator/listeners/BeforeInsert.js.map +1 -1
  846. package/decorator/listeners/BeforeRecover.js.map +1 -1
  847. package/decorator/listeners/BeforeRemove.js.map +1 -1
  848. package/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  849. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  850. package/decorator/listeners/EventSubscriber.js.map +1 -1
  851. package/decorator/options/ColumnCommonOptions.d.ts +1 -1
  852. package/decorator/options/ColumnCommonOptions.js.map +1 -1
  853. package/decorator/options/ColumnOptions.d.ts +3 -3
  854. package/decorator/options/ColumnOptions.js.map +1 -1
  855. package/decorator/options/EntityOptions.d.ts +1 -1
  856. package/decorator/options/EntityOptions.js.map +1 -1
  857. package/decorator/options/JoinTableMultipleColumnsOptions.d.ts +1 -1
  858. package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  859. package/decorator/options/JoinTableOptions.d.ts +1 -1
  860. package/decorator/options/JoinTableOptions.js.map +1 -1
  861. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +1 -1
  862. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  863. package/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +1 -1
  864. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  865. package/decorator/options/RelationOptions.d.ts +3 -3
  866. package/decorator/options/RelationOptions.js.map +1 -1
  867. package/decorator/options/SpatialColumnOptions.d.ts +1 -1
  868. package/decorator/options/SpatialColumnOptions.js.map +1 -1
  869. package/decorator/options/TransactionOptions.d.ts +1 -1
  870. package/decorator/options/TransactionOptions.js.map +1 -1
  871. package/decorator/options/UniqueOptions.d.ts +1 -1
  872. package/decorator/options/UniqueOptions.js.map +1 -1
  873. package/decorator/options/ViewColumnOptions.d.ts +1 -1
  874. package/decorator/options/ViewColumnOptions.js.map +1 -1
  875. package/decorator/options/ViewEntityOptions.d.ts +1 -1
  876. package/decorator/options/ViewEntityOptions.js.map +1 -1
  877. package/decorator/options/VirtualColumnOptions.d.ts +2 -2
  878. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  879. package/decorator/relations/JoinColumn.d.ts +1 -1
  880. package/decorator/relations/JoinColumn.js.map +1 -1
  881. package/decorator/relations/JoinTable.d.ts +2 -2
  882. package/decorator/relations/JoinTable.js.map +1 -1
  883. package/decorator/relations/ManyToMany.d.ts +2 -2
  884. package/decorator/relations/ManyToMany.js.map +1 -1
  885. package/decorator/relations/ManyToOne.d.ts +2 -2
  886. package/decorator/relations/ManyToOne.js.map +1 -1
  887. package/decorator/relations/OneToMany.d.ts +2 -2
  888. package/decorator/relations/OneToMany.js.map +1 -1
  889. package/decorator/relations/OneToOne.d.ts +2 -2
  890. package/decorator/relations/OneToOne.js.map +1 -1
  891. package/decorator/relations/RelationCount.d.ts +1 -1
  892. package/decorator/relations/RelationCount.js.map +1 -1
  893. package/decorator/relations/RelationId.d.ts +1 -1
  894. package/decorator/relations/RelationId.js.map +1 -1
  895. package/decorator/tree/Tree.d.ts +2 -2
  896. package/decorator/tree/Tree.js.map +1 -1
  897. package/decorator/tree/TreeChildren.js.map +1 -1
  898. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  899. package/decorator/tree/TreeParent.d.ts +1 -1
  900. package/decorator/tree/TreeParent.js.map +1 -1
  901. package/driver/Driver.d.ts +17 -17
  902. package/driver/Driver.js.map +1 -1
  903. package/driver/DriverFactory.d.ts +2 -2
  904. package/driver/DriverFactory.js.map +1 -1
  905. package/driver/DriverUtils.d.ts +1 -1
  906. package/driver/DriverUtils.js +2 -2
  907. package/driver/DriverUtils.js.map +1 -1
  908. package/driver/SqlInMemory.d.ts +1 -1
  909. package/driver/SqlInMemory.js.map +1 -1
  910. package/driver/aurora-mysql/AuroraMysqlConnection.d.ts +4 -4
  911. package/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  912. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +2 -2
  913. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  914. package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +17 -17
  915. package/driver/aurora-mysql/AuroraMysqlDriver.js +2 -2
  916. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  917. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +6 -6
  918. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1 -1
  919. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  920. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +1 -1
  921. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  922. package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +5 -5
  923. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  924. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +4 -4
  925. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  926. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +7 -1
  927. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  928. package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +5 -5
  929. package/driver/better-sqlite3/BetterSqlite3Driver.js +3 -1
  930. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  931. package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -1
  932. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  933. package/driver/capacitor/CapacitorConnectionOptions.d.ts +1 -1
  934. package/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  935. package/driver/capacitor/CapacitorDriver.d.ts +4 -4
  936. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  937. package/driver/capacitor/CapacitorQueryRunner.d.ts +2 -2
  938. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  939. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -1
  940. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  941. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +2 -2
  942. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  943. package/driver/cockroachdb/CockroachDriver.d.ts +18 -18
  944. package/driver/cockroachdb/CockroachDriver.js +2 -2
  945. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  946. package/driver/cockroachdb/CockroachQueryRunner.d.ts +5 -5
  947. package/driver/cockroachdb/CockroachQueryRunner.js +2 -2
  948. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  949. package/driver/cordova/CordovaConnectionOptions.d.ts +1 -1
  950. package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  951. package/driver/cordova/CordovaDriver.d.ts +4 -4
  952. package/driver/cordova/CordovaDriver.js.map +1 -1
  953. package/driver/cordova/CordovaQueryRunner.d.ts +2 -2
  954. package/driver/cordova/CordovaQueryRunner.js +1 -1
  955. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  956. package/driver/expo/ExpoConnectionOptions.d.ts +1 -1
  957. package/driver/expo/ExpoConnectionOptions.js.map +1 -1
  958. package/driver/expo/ExpoDriver.d.ts +4 -4
  959. package/driver/expo/ExpoDriver.js.map +1 -1
  960. package/driver/expo/ExpoQueryRunner.d.ts +1 -1
  961. package/driver/expo/ExpoQueryRunner.js +1 -1
  962. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  963. package/driver/mongodb/MongoConnectionOptions.d.ts +2 -2
  964. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  965. package/driver/mongodb/MongoDriver.d.ts +17 -17
  966. package/driver/mongodb/MongoDriver.js.map +1 -1
  967. package/driver/mongodb/MongoQueryRunner.d.ts +16 -16
  968. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  969. package/driver/mongodb/typings.d.ts +6 -6
  970. package/driver/mysql/MysqlConnectionOptions.d.ts +2 -2
  971. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  972. package/driver/mysql/MysqlDriver.d.ts +17 -17
  973. package/driver/mysql/MysqlDriver.js +2 -2
  974. package/driver/mysql/MysqlDriver.js.map +1 -1
  975. package/driver/mysql/MysqlQueryRunner.d.ts +7 -7
  976. package/driver/mysql/MysqlQueryRunner.js +1 -1
  977. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  978. package/driver/nativescript/NativescriptConnectionOptions.d.ts +1 -1
  979. package/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  980. package/driver/nativescript/NativescriptDriver.d.ts +5 -5
  981. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  982. package/driver/nativescript/NativescriptQueryRunner.d.ts +2 -2
  983. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  984. package/driver/oracle/OracleConnectionOptions.d.ts +2 -2
  985. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  986. package/driver/oracle/OracleDriver.d.ts +17 -17
  987. package/driver/oracle/OracleDriver.js +2 -2
  988. package/driver/oracle/OracleDriver.js.map +1 -1
  989. package/driver/oracle/OracleQueryRunner.d.ts +6 -6
  990. package/driver/oracle/OracleQueryRunner.js +2 -2
  991. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  992. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  993. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  994. package/driver/postgres/PostgresConnectionOptions.d.ts +2 -2
  995. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  996. package/driver/postgres/PostgresDriver.d.ts +18 -18
  997. package/driver/postgres/PostgresDriver.js +2 -2
  998. package/driver/postgres/PostgresDriver.js.map +1 -1
  999. package/driver/postgres/PostgresQueryRunner.d.ts +5 -5
  1000. package/driver/postgres/PostgresQueryRunner.js +3 -3
  1001. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  1002. package/driver/react-native/ReactNativeConnectionOptions.d.ts +1 -1
  1003. package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  1004. package/driver/react-native/ReactNativeDriver.d.ts +4 -4
  1005. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  1006. package/driver/react-native/ReactNativeQueryRunner.d.ts +2 -2
  1007. package/driver/react-native/ReactNativeQueryRunner.js +1 -1
  1008. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  1009. package/driver/sap/SapConnectionOptions.d.ts +2 -2
  1010. package/driver/sap/SapConnectionOptions.js.map +1 -1
  1011. package/driver/sap/SapDriver.d.ts +10 -10
  1012. package/driver/sap/SapDriver.js +2 -2
  1013. package/driver/sap/SapDriver.js.map +1 -1
  1014. package/driver/sap/SapQueryRunner.d.ts +6 -6
  1015. package/driver/sap/SapQueryRunner.js +1 -1
  1016. package/driver/sap/SapQueryRunner.js.map +1 -1
  1017. package/driver/spanner/SpannerConnectionOptions.d.ts +2 -2
  1018. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  1019. package/driver/spanner/SpannerDriver.d.ts +12 -12
  1020. package/driver/spanner/SpannerDriver.js +3 -3
  1021. package/driver/spanner/SpannerDriver.js.map +1 -1
  1022. package/driver/spanner/SpannerQueryRunner.d.ts +6 -6
  1023. package/driver/spanner/SpannerQueryRunner.js +7 -7
  1024. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  1025. package/driver/sqlite/SqliteConnectionOptions.d.ts +1 -1
  1026. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  1027. package/driver/sqlite/SqliteDriver.d.ts +5 -5
  1028. package/driver/sqlite/SqliteDriver.js.map +1 -1
  1029. package/driver/sqlite/SqliteQueryRunner.d.ts +1 -1
  1030. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  1031. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +18 -18
  1032. package/driver/sqlite-abstract/AbstractSqliteDriver.js +13 -1
  1033. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  1034. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +5 -5
  1035. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -10
  1036. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  1037. package/driver/sqljs/SqljsConnectionOptions.d.ts +1 -1
  1038. package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  1039. package/driver/sqljs/SqljsDriver.d.ts +5 -5
  1040. package/driver/sqljs/SqljsDriver.js +1 -1
  1041. package/driver/sqljs/SqljsDriver.js.map +1 -1
  1042. package/driver/sqljs/SqljsQueryRunner.d.ts +1 -1
  1043. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  1044. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +8 -8
  1045. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  1046. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +2 -2
  1047. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  1048. package/driver/sqlserver/SqlServerDriver.d.ts +16 -16
  1049. package/driver/sqlserver/SqlServerDriver.js +2 -2
  1050. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  1051. package/driver/sqlserver/SqlServerQueryRunner.d.ts +7 -7
  1052. package/driver/sqlserver/SqlServerQueryRunner.js +4 -4
  1053. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  1054. package/driver/types/ColumnTypes.d.ts +7 -7
  1055. package/driver/types/DatabaseType.d.ts +1 -1
  1056. package/driver/types/GeoJsonTypes.d.ts +12 -12
  1057. package/driver/types/IsolationLevel.d.ts +1 -1
  1058. package/driver/types/MappedColumnTypes.d.ts +1 -1
  1059. package/driver/types/MappedColumnTypes.js.map +1 -1
  1060. package/driver/types/ReplicationMode.d.ts +1 -1
  1061. package/driver/types/UpsertType.d.ts +1 -1
  1062. package/entity-manager/EntityManager.d.ts +37 -19
  1063. package/entity-manager/EntityManager.js +32 -0
  1064. package/entity-manager/EntityManager.js.map +1 -1
  1065. package/entity-manager/EntityManagerFactory.d.ts +2 -2
  1066. package/entity-manager/EntityManagerFactory.js.map +1 -1
  1067. package/entity-manager/MongoEntityManager.d.ts +12 -12
  1068. package/entity-manager/MongoEntityManager.js +5 -5
  1069. package/entity-manager/MongoEntityManager.js.map +1 -1
  1070. package/entity-manager/SqljsEntityManager.d.ts +2 -2
  1071. package/entity-manager/SqljsEntityManager.js.map +1 -1
  1072. package/entity-schema/EntitySchema.d.ts +1 -1
  1073. package/entity-schema/EntitySchema.js.map +1 -1
  1074. package/entity-schema/EntitySchemaColumnOptions.d.ts +3 -3
  1075. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  1076. package/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +1 -1
  1077. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  1078. package/entity-schema/EntitySchemaOptions.d.ts +10 -10
  1079. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  1080. package/entity-schema/EntitySchemaRelationIdOptions.d.ts +1 -1
  1081. package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  1082. package/entity-schema/EntitySchemaRelationOptions.d.ts +8 -8
  1083. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  1084. package/entity-schema/EntitySchemaTransformer.d.ts +1 -1
  1085. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  1086. package/entity-schema/EntitySchemaUniqueOptions.d.ts +1 -1
  1087. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  1088. package/error/CannotCreateEntityIdMapError.d.ts +1 -1
  1089. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  1090. package/error/DataTypeNotSupportedError.d.ts +3 -3
  1091. package/error/DataTypeNotSupportedError.js.map +1 -1
  1092. package/error/EntityMetadataNotFoundError.d.ts +1 -1
  1093. package/error/EntityMetadataNotFoundError.js.map +1 -1
  1094. package/error/EntityNotFoundError.d.ts +1 -1
  1095. package/error/EntityNotFoundError.js.map +1 -1
  1096. package/error/EntityPropertyNotFoundError.d.ts +1 -1
  1097. package/error/EntityPropertyNotFoundError.js.map +1 -1
  1098. package/error/ForbiddenTransactionModeOverrideError.d.ts +1 -1
  1099. package/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  1100. package/error/InitializedRelationError.d.ts +1 -1
  1101. package/error/InitializedRelationError.js.map +1 -1
  1102. package/error/MissingDeleteDateColumnError.d.ts +1 -1
  1103. package/error/MissingDeleteDateColumnError.js.map +1 -1
  1104. package/error/MissingJoinColumnError.d.ts +2 -2
  1105. package/error/MissingJoinColumnError.js.map +1 -1
  1106. package/error/MissingJoinTableError.d.ts +2 -2
  1107. package/error/MissingJoinTableError.js.map +1 -1
  1108. package/error/MissingPrimaryColumnError.d.ts +1 -1
  1109. package/error/MissingPrimaryColumnError.js.map +1 -1
  1110. package/error/RepositoryNotTreeError.d.ts +1 -1
  1111. package/error/RepositoryNotTreeError.js.map +1 -1
  1112. package/error/SubjectRemovedAndUpdatedError.d.ts +1 -1
  1113. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  1114. package/error/SubjectWithoutIdentifierError.d.ts +1 -1
  1115. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  1116. package/error/TreeRepositoryNotSupportedError.d.ts +1 -1
  1117. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  1118. package/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -2
  1119. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  1120. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -2
  1121. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  1122. package/error/UsingJoinTableIsNotAllowedError.d.ts +2 -2
  1123. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  1124. package/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -2
  1125. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  1126. package/find-options/FindManyOptions.d.ts +1 -1
  1127. package/find-options/FindManyOptions.js.map +1 -1
  1128. package/find-options/FindOneOptions.d.ts +5 -5
  1129. package/find-options/FindOneOptions.js.map +1 -1
  1130. package/find-options/FindOperator.d.ts +3 -3
  1131. package/find-options/FindOperator.js.map +1 -1
  1132. package/find-options/FindOperatorType.d.ts +1 -1
  1133. package/find-options/FindOperatorType.js.map +1 -1
  1134. package/find-options/FindOptionsOrder.d.ts +4 -4
  1135. package/find-options/FindOptionsOrder.js.map +1 -1
  1136. package/find-options/FindOptionsRelations.d.ts +4 -4
  1137. package/find-options/FindOptionsRelations.js.map +1 -1
  1138. package/find-options/FindOptionsSelect.d.ts +4 -4
  1139. package/find-options/FindOptionsSelect.js.map +1 -1
  1140. package/find-options/FindOptionsUtils.d.ts +6 -6
  1141. package/find-options/FindOptionsUtils.js +1 -1
  1142. package/find-options/FindOptionsUtils.js.map +1 -1
  1143. package/find-options/FindOptionsWhere.d.ts +9 -5
  1144. package/find-options/FindOptionsWhere.js.map +1 -1
  1145. package/find-options/OrderByCondition.d.ts +1 -1
  1146. package/find-options/mongodb/MongoFindManyOptions.d.ts +1 -1
  1147. package/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  1148. package/find-options/mongodb/MongoFindOneOptions.d.ts +3 -3
  1149. package/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  1150. package/find-options/operator/Equal.d.ts +1 -1
  1151. package/find-options/operator/Equal.js.map +1 -1
  1152. package/find-options/operator/JsonContains.d.ts +6 -0
  1153. package/find-options/operator/JsonContains.js +14 -0
  1154. package/find-options/operator/JsonContains.js.map +1 -0
  1155. package/find-options/operator/Raw.d.ts +1 -1
  1156. package/find-options/operator/Raw.js.map +1 -1
  1157. package/globals.d.ts +12 -12
  1158. package/globals.js.map +1 -1
  1159. package/index.d.ts +3 -0
  1160. package/index.js +5 -1
  1161. package/index.js.map +1 -1
  1162. package/index.mjs +6 -0
  1163. package/logger/AbstractLogger.d.ts +49 -0
  1164. package/logger/AbstractLogger.js +234 -0
  1165. package/logger/AbstractLogger.js.map +1 -0
  1166. package/logger/AdvancedConsoleLogger.d.ts +6 -34
  1167. package/logger/AdvancedConsoleLogger.js +41 -106
  1168. package/logger/AdvancedConsoleLogger.js.map +1 -1
  1169. package/logger/DebugLogger.d.ts +10 -30
  1170. package/logger/DebugLogger.js +56 -75
  1171. package/logger/DebugLogger.js.map +1 -1
  1172. package/logger/FileLogger.d.ts +8 -34
  1173. package/logger/FileLogger.js +50 -97
  1174. package/logger/FileLogger.js.map +1 -1
  1175. package/logger/Logger.d.ts +32 -1
  1176. package/logger/Logger.js.map +1 -1
  1177. package/logger/LoggerFactory.d.ts +2 -2
  1178. package/logger/LoggerFactory.js.map +1 -1
  1179. package/logger/LoggerOptions.d.ts +3 -2
  1180. package/logger/LoggerOptions.js.map +1 -1
  1181. package/logger/SimpleConsoleLogger.d.ts +6 -34
  1182. package/logger/SimpleConsoleLogger.js +43 -106
  1183. package/logger/SimpleConsoleLogger.js.map +1 -1
  1184. package/metadata/CheckMetadata.d.ts +3 -3
  1185. package/metadata/CheckMetadata.js.map +1 -1
  1186. package/metadata/ColumnMetadata.d.ts +8 -8
  1187. package/metadata/ColumnMetadata.js.map +1 -1
  1188. package/metadata/EmbeddedMetadata.d.ts +10 -10
  1189. package/metadata/EmbeddedMetadata.js +1 -1
  1190. package/metadata/EmbeddedMetadata.js.map +1 -1
  1191. package/metadata/EntityListenerMetadata.d.ts +5 -5
  1192. package/metadata/EntityListenerMetadata.js.map +1 -1
  1193. package/metadata/EntityMetadata.d.ts +20 -20
  1194. package/metadata/EntityMetadata.js.map +1 -1
  1195. package/metadata/ExclusionMetadata.d.ts +3 -3
  1196. package/metadata/ExclusionMetadata.js.map +1 -1
  1197. package/metadata/ForeignKeyMetadata.d.ts +6 -6
  1198. package/metadata/ForeignKeyMetadata.js.map +1 -1
  1199. package/metadata/IndexMetadata.d.ts +5 -5
  1200. package/metadata/IndexMetadata.js.map +1 -1
  1201. package/metadata/RelationCountMetadata.d.ts +4 -4
  1202. package/metadata/RelationCountMetadata.js.map +1 -1
  1203. package/metadata/RelationIdMetadata.d.ts +5 -5
  1204. package/metadata/RelationIdMetadata.js.map +1 -1
  1205. package/metadata/RelationMetadata.d.ts +10 -10
  1206. package/metadata/RelationMetadata.js.map +1 -1
  1207. package/metadata/UniqueMetadata.d.ts +6 -6
  1208. package/metadata/UniqueMetadata.js.map +1 -1
  1209. package/metadata/types/ClosureTreeOptions.d.ts +1 -1
  1210. package/metadata/types/ClosureTreeOptions.js.map +1 -1
  1211. package/metadata/types/DeferrableType.d.ts +1 -1
  1212. package/metadata/types/EventListenerTypes.d.ts +1 -1
  1213. package/metadata/types/OnDeleteType.d.ts +1 -1
  1214. package/metadata/types/OnUpdateType.d.ts +1 -1
  1215. package/metadata/types/PropertyTypeInFunction.d.ts +1 -1
  1216. package/metadata/types/RelationTypeInFunction.d.ts +2 -2
  1217. package/metadata/types/RelationTypeInFunction.js.map +1 -1
  1218. package/metadata/types/RelationTypes.d.ts +1 -1
  1219. package/metadata/types/TableTypes.d.ts +1 -1
  1220. package/metadata/types/TreeTypes.d.ts +1 -1
  1221. package/metadata-args/ColumnMetadataArgs.d.ts +2 -2
  1222. package/metadata-args/ColumnMetadataArgs.js.map +1 -1
  1223. package/metadata-args/EntityListenerMetadataArgs.d.ts +1 -1
  1224. package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  1225. package/metadata-args/EntityRepositoryMetadataArgs.d.ts +1 -1
  1226. package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  1227. package/metadata-args/InheritanceMetadataArgs.d.ts +1 -1
  1228. package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  1229. package/metadata-args/JoinTableMetadataArgs.d.ts +1 -1
  1230. package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  1231. package/metadata-args/MetadataArgsStorage.d.ts +22 -22
  1232. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  1233. package/metadata-args/RelationCountMetadataArgs.d.ts +1 -1
  1234. package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  1235. package/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
  1236. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  1237. package/metadata-args/RelationMetadataArgs.d.ts +4 -4
  1238. package/metadata-args/RelationMetadataArgs.js.map +1 -1
  1239. package/metadata-args/TableMetadataArgs.d.ts +3 -3
  1240. package/metadata-args/TableMetadataArgs.js.map +1 -1
  1241. package/metadata-args/TreeMetadataArgs.d.ts +2 -2
  1242. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  1243. package/metadata-args/UniqueMetadataArgs.d.ts +1 -1
  1244. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  1245. package/metadata-args/types/ColumnMode.d.ts +1 -1
  1246. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -1
  1247. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  1248. package/metadata-builder/EntityMetadataBuilder.d.ts +4 -4
  1249. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  1250. package/metadata-builder/EntityMetadataValidator.d.ts +2 -2
  1251. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  1252. package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -3
  1253. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  1254. package/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -3
  1255. package/metadata-builder/RelationJoinColumnBuilder.js +2 -1
  1256. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  1257. package/migration/Migration.d.ts +1 -1
  1258. package/migration/Migration.js.map +1 -1
  1259. package/migration/MigrationExecutor.d.ts +2 -2
  1260. package/migration/MigrationExecutor.js +3 -3
  1261. package/migration/MigrationExecutor.js.map +1 -1
  1262. package/migration/MigrationInterface.d.ts +1 -1
  1263. package/migration/MigrationInterface.js.map +1 -1
  1264. package/naming-strategy/DefaultNamingStrategy.d.ts +2 -2
  1265. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  1266. package/naming-strategy/LegacyOracleNamingStrategy.d.ts +21 -0
  1267. package/naming-strategy/LegacyOracleNamingStrategy.js +50 -0
  1268. package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -0
  1269. package/naming-strategy/NamingStrategyInterface.d.ts +2 -2
  1270. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  1271. package/package.json +273 -1
  1272. package/persistence/EntityPersistExecutor.d.ts +5 -5
  1273. package/persistence/EntityPersistExecutor.js +1 -1
  1274. package/persistence/EntityPersistExecutor.js.map +1 -1
  1275. package/persistence/Subject.d.ts +5 -5
  1276. package/persistence/Subject.js.map +1 -1
  1277. package/persistence/SubjectChangeMap.d.ts +3 -3
  1278. package/persistence/SubjectChangeMap.js.map +1 -1
  1279. package/persistence/SubjectChangedColumnsComputer.d.ts +1 -1
  1280. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  1281. package/persistence/SubjectDatabaseEntityLoader.d.ts +3 -3
  1282. package/persistence/SubjectDatabaseEntityLoader.js +1 -1
  1283. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  1284. package/persistence/SubjectExecutor.d.ts +4 -4
  1285. package/persistence/SubjectExecutor.js +1 -1
  1286. package/persistence/SubjectExecutor.js.map +1 -1
  1287. package/persistence/SubjectTopoligicalSorter.d.ts +2 -2
  1288. package/persistence/SubjectTopoligicalSorter.js +7 -11
  1289. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  1290. package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
  1291. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  1292. package/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +2 -2
  1293. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  1294. package/persistence/subject-builder/OneToManySubjectBuilder.d.ts +1 -1
  1295. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1296. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +1 -1
  1297. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  1298. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1299. package/persistence/tree/ClosureSubjectExecutor.d.ts +2 -2
  1300. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1301. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -2
  1302. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1303. package/persistence/tree/NestedSetSubjectExecutor.d.ts +4 -4
  1304. package/persistence/tree/NestedSetSubjectExecutor.js +2 -2
  1305. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1306. package/platform/PlatformTools.d.ts +2 -0
  1307. package/platform/PlatformTools.js +6 -0
  1308. package/platform/PlatformTools.js.map +1 -1
  1309. package/query-builder/Alias.d.ts +1 -1
  1310. package/query-builder/Alias.js.map +1 -1
  1311. package/query-builder/Brackets.d.ts +1 -1
  1312. package/query-builder/Brackets.js.map +1 -1
  1313. package/query-builder/DeleteQueryBuilder.d.ts +6 -6
  1314. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1315. package/query-builder/InsertOrUpdateOptions.d.ts +2 -2
  1316. package/query-builder/InsertOrUpdateOptions.js.map +1 -1
  1317. package/query-builder/InsertQueryBuilder.d.ts +5 -5
  1318. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1319. package/query-builder/JoinAttribute.d.ts +5 -5
  1320. package/query-builder/JoinAttribute.js +2 -2
  1321. package/query-builder/JoinAttribute.js.map +1 -1
  1322. package/query-builder/QueryBuilder.d.ts +18 -18
  1323. package/query-builder/QueryBuilder.js +3 -1
  1324. package/query-builder/QueryBuilder.js.map +1 -1
  1325. package/query-builder/QueryExpressionMap.d.ts +12 -12
  1326. package/query-builder/QueryExpressionMap.js.map +1 -1
  1327. package/query-builder/QueryPartialEntity.d.ts +4 -4
  1328. package/query-builder/QueryPartialEntity.js.map +1 -1
  1329. package/query-builder/RelationIdLoader.d.ts +4 -4
  1330. package/query-builder/RelationIdLoader.js +2 -2
  1331. package/query-builder/RelationIdLoader.js.map +1 -1
  1332. package/query-builder/RelationLoader.d.ts +5 -5
  1333. package/query-builder/RelationLoader.js.map +1 -1
  1334. package/query-builder/RelationQueryBuilder.d.ts +1 -1
  1335. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1336. package/query-builder/RelationRemover.d.ts +2 -2
  1337. package/query-builder/RelationRemover.js.map +1 -1
  1338. package/query-builder/RelationUpdater.d.ts +2 -2
  1339. package/query-builder/RelationUpdater.js.map +1 -1
  1340. package/query-builder/ReturningResultsEntityUpdator.d.ts +6 -6
  1341. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1342. package/query-builder/SelectQueryBuilder.d.ts +18 -18
  1343. package/query-builder/SelectQueryBuilder.js +12 -8
  1344. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1345. package/query-builder/SelectQueryBuilderOption.d.ts +1 -1
  1346. package/query-builder/SoftDeleteQueryBuilder.d.ts +7 -7
  1347. package/query-builder/SoftDeleteQueryBuilder.js +1 -1
  1348. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1349. package/query-builder/UpdateQueryBuilder.d.ts +7 -7
  1350. package/query-builder/UpdateQueryBuilder.js +3 -3
  1351. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1352. package/query-builder/WhereClause.d.ts +3 -3
  1353. package/query-builder/WhereClause.js.map +1 -1
  1354. package/query-builder/WhereExpressionBuilder.d.ts +3 -4
  1355. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  1356. package/query-builder/relation-count/RelationCountAttribute.d.ts +4 -4
  1357. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  1358. package/query-builder/relation-count/RelationCountLoadResult.d.ts +1 -1
  1359. package/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  1360. package/query-builder/relation-count/RelationCountLoader.d.ts +4 -4
  1361. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  1362. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +1 -1
  1363. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  1364. package/query-builder/relation-id/RelationIdAttribute.d.ts +4 -4
  1365. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1366. package/query-builder/relation-id/RelationIdLoadResult.d.ts +1 -1
  1367. package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  1368. package/query-builder/relation-id/RelationIdLoader.d.ts +4 -4
  1369. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1370. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +1 -1
  1371. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  1372. package/query-builder/result/DeleteResult.d.ts +1 -1
  1373. package/query-builder/result/DeleteResult.js.map +1 -1
  1374. package/query-builder/result/InsertResult.d.ts +2 -2
  1375. package/query-builder/result/InsertResult.js.map +1 -1
  1376. package/query-builder/result/UpdateResult.d.ts +2 -2
  1377. package/query-builder/result/UpdateResult.js.map +1 -1
  1378. package/query-builder/transformer/DocumentToEntityTransformer.d.ts +2 -2
  1379. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1380. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +3 -3
  1381. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1382. package/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +2 -2
  1383. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1384. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +8 -8
  1385. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +1 -1
  1386. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1387. package/query-runner/BaseQueryRunner.d.ts +11 -11
  1388. package/query-runner/BaseQueryRunner.js.map +1 -1
  1389. package/query-runner/QueryRunner.d.ts +17 -17
  1390. package/query-runner/QueryRunner.js.map +1 -1
  1391. package/repository/AbstractRepository.d.ts +6 -6
  1392. package/repository/AbstractRepository.js.map +1 -1
  1393. package/repository/BaseEntity.d.ts +41 -16
  1394. package/repository/BaseEntity.js +24 -0
  1395. package/repository/BaseEntity.js.map +1 -1
  1396. package/repository/EntityId.d.ts +2 -2
  1397. package/repository/EntityId.js.map +1 -1
  1398. package/repository/MongoRepository.d.ts +8 -8
  1399. package/repository/MongoRepository.js.map +1 -1
  1400. package/repository/Repository.d.ts +34 -17
  1401. package/repository/Repository.js +32 -8
  1402. package/repository/Repository.js.map +1 -1
  1403. package/repository/TreeRepository.d.ts +3 -3
  1404. package/repository/TreeRepository.js.map +1 -1
  1405. package/repository/UpsertOptions.d.ts +2 -2
  1406. package/repository/UpsertOptions.js.map +1 -1
  1407. package/schema-builder/MongoSchemaBuilder.d.ts +2 -2
  1408. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  1409. package/schema-builder/RdbmsSchemaBuilder.d.ts +7 -7
  1410. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1411. package/schema-builder/SchemaBuilder.d.ts +1 -1
  1412. package/schema-builder/SchemaBuilder.js.map +1 -1
  1413. package/schema-builder/options/TableOptions.d.ts +6 -6
  1414. package/schema-builder/options/TableOptions.js.map +1 -1
  1415. package/schema-builder/options/ViewOptions.d.ts +1 -1
  1416. package/schema-builder/options/ViewOptions.js.map +1 -1
  1417. package/schema-builder/table/Table.d.ts +3 -3
  1418. package/schema-builder/table/Table.js.map +1 -1
  1419. package/schema-builder/table/TableCheck.d.ts +2 -2
  1420. package/schema-builder/table/TableCheck.js.map +1 -1
  1421. package/schema-builder/table/TableColumn.d.ts +1 -1
  1422. package/schema-builder/table/TableColumn.js.map +1 -1
  1423. package/schema-builder/table/TableExclusion.d.ts +2 -2
  1424. package/schema-builder/table/TableExclusion.js.map +1 -1
  1425. package/schema-builder/table/TableForeignKey.d.ts +3 -3
  1426. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1427. package/schema-builder/table/TableIndex.d.ts +2 -2
  1428. package/schema-builder/table/TableIndex.js.map +1 -1
  1429. package/schema-builder/table/TableUnique.d.ts +2 -2
  1430. package/schema-builder/table/TableUnique.js.map +1 -1
  1431. package/schema-builder/util/TableUtils.d.ts +3 -3
  1432. package/schema-builder/util/TableUtils.js.map +1 -1
  1433. package/schema-builder/util/ViewUtils.d.ts +1 -1
  1434. package/schema-builder/util/ViewUtils.js.map +1 -1
  1435. package/schema-builder/view/View.d.ts +2 -2
  1436. package/schema-builder/view/View.js.map +1 -1
  1437. package/subscriber/Broadcaster.d.ts +6 -6
  1438. package/subscriber/Broadcaster.js.map +1 -1
  1439. package/subscriber/BroadcasterResult.js.map +1 -1
  1440. package/subscriber/EntitySubscriberInterface.d.ts +9 -9
  1441. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  1442. package/subscriber/event/InsertEvent.d.ts +4 -4
  1443. package/subscriber/event/InsertEvent.js.map +1 -1
  1444. package/subscriber/event/LoadEvent.d.ts +4 -4
  1445. package/subscriber/event/LoadEvent.js.map +1 -1
  1446. package/subscriber/event/RecoverEvent.d.ts +2 -3
  1447. package/subscriber/event/RecoverEvent.js.map +1 -1
  1448. package/subscriber/event/RemoveEvent.d.ts +4 -4
  1449. package/subscriber/event/RemoveEvent.js.map +1 -1
  1450. package/subscriber/event/SoftRemoveEvent.d.ts +2 -3
  1451. package/subscriber/event/SoftRemoveEvent.js.map +1 -1
  1452. package/subscriber/event/TransactionCommitEvent.d.ts +3 -3
  1453. package/subscriber/event/TransactionCommitEvent.js.map +1 -1
  1454. package/subscriber/event/TransactionRollbackEvent.d.ts +3 -3
  1455. package/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  1456. package/subscriber/event/TransactionStartEvent.d.ts +3 -3
  1457. package/subscriber/event/TransactionStartEvent.js.map +1 -1
  1458. package/subscriber/event/UpdateEvent.d.ts +7 -7
  1459. package/subscriber/event/UpdateEvent.js.map +1 -1
  1460. package/util/ApplyValueTransformers.d.ts +1 -1
  1461. package/util/ApplyValueTransformers.js.map +1 -1
  1462. package/util/DateUtils.d.ts +1 -1
  1463. package/util/DateUtils.js.map +1 -1
  1464. package/util/DepGraph.js +14 -14
  1465. package/util/DepGraph.js.map +1 -1
  1466. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  1467. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1468. package/util/InstanceChecker.d.ts +2 -2
  1469. package/util/InstanceChecker.js.map +1 -1
  1470. package/util/ObjectUtils.d.ts +1 -1
  1471. package/util/ObjectUtils.js.map +1 -1
  1472. package/util/OrmUtils.d.ts +1 -1
  1473. package/util/OrmUtils.js +4 -4
  1474. package/util/OrmUtils.js.map +1 -1
  1475. package/util/RandomGenerator.js +6 -6
  1476. package/util/RandomGenerator.js.map +1 -1
  1477. package/util/StringUtils.js.map +1 -1
  1478. package/util/TreeRepositoryUtils.d.ts +3 -3
  1479. package/util/TreeRepositoryUtils.js.map +1 -1
  1480. package/util/VersionUtils.d.ts +1 -1
  1481. package/util/VersionUtils.js.map +1 -1
  1482. package/util/escapeRegExp.d.ts +1 -1
  1483. package/util/escapeRegExp.js.map +1 -1
@@ -1,4 +1,4 @@
1
- import { BaseDataSourceOptions } from "../../data-source/BaseDataSourceOptions";
1
+ import type { BaseDataSourceOptions } from "../../data-source/BaseDataSourceOptions";
2
2
  /**
3
3
  * NativeScript-specific connection options.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/nativescript/NativescriptConnectionOptions.ts"],"names":[],"mappings":"","file":"NativescriptConnectionOptions.js","sourcesContent":["import { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\n\n/**\n * NativeScript-specific connection options.\n */\nexport interface NativescriptConnectionOptions extends BaseDataSourceOptions {\n /**\n * Database type.\n */\n readonly type: \"nativescript\"\n\n /**\n * Database name.\n */\n readonly database: string\n\n /**\n * The driver object\n * you should pass `require('nativescript-sqlite') here\n */\n readonly driver: any\n\n /**\n * Whether to mark the mark the database as read only on open (iOS only).\n */\n readonly readOnly?: boolean\n\n /**\n * The key to use for for using/opening encrypted databases. (requires the \"Encrypted Plugin\")\n */\n readonly key?: string\n\n /**\n * Whether to enable background multitasking. All SQL is ran on a background worker thread. (requires the \"Commercial Plugin\")\n */\n readonly multithreading?: boolean\n\n /**\n * Migrates a Encrypted Sql database from v3 to the new v4. If you are a new user you do not need to set this flag as new created databases will already be in v4.\n * If you are upgrading a app that used v1.3.0 or earlier of NS-Sqlite-Encrypted; then you will probably want to set this flag to true. (requires the \"Encrypted Plugin\")\n */\n readonly migrate?: boolean\n\n /**\n * Flags to pass to SQLite when opening the database on iOS. (see https://www.sqlite.org/c3ref/open.html)\n */\n readonly iosFlags?: number\n\n /**\n * Flags to pass to SQLite when opening the database on Android. (see https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html)\n */\n readonly androidFlags?: number\n\n readonly poolSize?: never\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/nativescript/NativescriptConnectionOptions.ts"],"names":[],"mappings":"","file":"NativescriptConnectionOptions.js","sourcesContent":["import type { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\n\n/**\n * NativeScript-specific connection options.\n */\nexport interface NativescriptConnectionOptions extends BaseDataSourceOptions {\n /**\n * Database type.\n */\n readonly type: \"nativescript\"\n\n /**\n * Database name.\n */\n readonly database: string\n\n /**\n * The driver object\n * you should pass `require('nativescript-sqlite') here\n */\n readonly driver: any\n\n /**\n * Whether to mark the mark the database as read only on open (iOS only).\n */\n readonly readOnly?: boolean\n\n /**\n * The key to use for for using/opening encrypted databases. (requires the \"Encrypted Plugin\")\n */\n readonly key?: string\n\n /**\n * Whether to enable background multitasking. All SQL is ran on a background worker thread. (requires the \"Commercial Plugin\")\n */\n readonly multithreading?: boolean\n\n /**\n * Migrates a Encrypted Sql database from v3 to the new v4. If you are a new user you do not need to set this flag as new created databases will already be in v4.\n * If you are upgrading a app that used v1.3.0 or earlier of NS-Sqlite-Encrypted; then you will probably want to set this flag to true. (requires the \"Encrypted Plugin\")\n */\n readonly migrate?: boolean\n\n /**\n * Flags to pass to SQLite when opening the database on iOS. (see https://www.sqlite.org/c3ref/open.html)\n */\n readonly iosFlags?: number\n\n /**\n * Flags to pass to SQLite when opening the database on Android. (see https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html)\n */\n readonly androidFlags?: number\n\n readonly poolSize?: never\n}\n"],"sourceRoot":"../.."}
@@ -1,9 +1,9 @@
1
1
  import { AbstractSqliteDriver } from "../sqlite-abstract/AbstractSqliteDriver";
2
- import { NativescriptConnectionOptions } from "./NativescriptConnectionOptions";
3
- import { QueryRunner } from "../../query-runner/QueryRunner";
4
- import { DataSource } from "../../data-source/DataSource";
5
- import { ColumnType } from "../types/ColumnTypes";
6
- import { ReplicationMode } from "../types/ReplicationMode";
2
+ import type { NativescriptConnectionOptions } from "./NativescriptConnectionOptions";
3
+ import type { QueryRunner } from "../../query-runner/QueryRunner";
4
+ import type { DataSource } from "../../data-source/DataSource";
5
+ import type { ColumnType } from "../types/ColumnTypes";
6
+ import type { ReplicationMode } from "../types/ReplicationMode";
7
7
  /**
8
8
  * Organizes communication with sqlite DBMS within Nativescript.
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/nativescript/NativescriptDriver.ts"],"names":[],"mappings":"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","file":"NativescriptDriver.js","sourcesContent":["import { AbstractSqliteDriver } from \"../sqlite-abstract/AbstractSqliteDriver\"\nimport { NativescriptConnectionOptions } from \"./NativescriptConnectionOptions\"\nimport { NativescriptQueryRunner } from \"./NativescriptQueryRunner\"\nimport { QueryRunner } from \"../../query-runner/QueryRunner\"\nimport { DataSource } from \"../../data-source/DataSource\"\nimport { DriverPackageNotInstalledError } from \"../../error/DriverPackageNotInstalledError\"\nimport { ColumnType } from \"../types/ColumnTypes\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\n\n/**\n * Organizes communication with sqlite DBMS within Nativescript.\n */\nexport class NativescriptDriver extends AbstractSqliteDriver {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: NativescriptConnectionOptions\n\n /**\n * Nativescript driver module\n * this is most likely `nativescript-sqlite`\n * but user can pass his own\n */\n driver: any\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: DataSource) {\n super(connection)\n\n this.connection = connection\n this.options = connection.options as NativescriptConnectionOptions\n this.database = this.options.database\n this.driver = this.options.driver\n\n // load sqlite package\n this.loadDependencies()\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n this.queryRunner = undefined\n this.databaseConnection.close().then(ok).catch(fail)\n })\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner) {\n this.queryRunner = new NativescriptQueryRunner(this)\n }\n\n return this.queryRunner\n }\n\n normalizeType(column: {\n type?: ColumnType\n length?: number | string\n precision?: number | null\n scale?: number\n }): string {\n if ((column.type as any) === Buffer) {\n return \"blob\"\n }\n\n return super.normalizeType(column)\n }\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n return new Promise<void>((ok, fail) => {\n const options = Object.assign(\n {},\n {\n readOnly: this.options.readOnly,\n key: this.options.key,\n multithreading: this.options.multithreading,\n migrate: this.options.migrate,\n iosFlags: this.options.iosFlags,\n androidFlags: this.options.androidFlags,\n },\n this.options.extra || {},\n )\n\n new this.sqlite(\n this.options.database,\n options,\n (err: Error, db: any): any => {\n if (err) return fail(err)\n\n // use object mode to work with TypeORM\n db.resultType(this.sqlite.RESULTSASOBJECT)\n\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete work with sqlite.\n db.execSQL(\n `PRAGMA foreign_keys = ON`,\n [],\n (err: Error, result: any): any => {\n if (err) return fail(err)\n // We are all set\n ok(db)\n },\n )\n },\n )\n })\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n this.sqlite = this.driver\n if (!this.driver) {\n throw new DriverPackageNotInstalledError(\n \"Nativescript\",\n \"nativescript-sqlite\",\n )\n }\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/nativescript/NativescriptDriver.ts"],"names":[],"mappings":"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","file":"NativescriptDriver.js","sourcesContent":["import { AbstractSqliteDriver } from \"../sqlite-abstract/AbstractSqliteDriver\"\nimport type { NativescriptConnectionOptions } from \"./NativescriptConnectionOptions\"\nimport { NativescriptQueryRunner } from \"./NativescriptQueryRunner\"\nimport type { QueryRunner } from \"../../query-runner/QueryRunner\"\nimport type { DataSource } from \"../../data-source/DataSource\"\nimport { DriverPackageNotInstalledError } from \"../../error/DriverPackageNotInstalledError\"\nimport type { ColumnType } from \"../types/ColumnTypes\"\nimport type { ReplicationMode } from \"../types/ReplicationMode\"\n\n/**\n * Organizes communication with sqlite DBMS within Nativescript.\n */\nexport class NativescriptDriver extends AbstractSqliteDriver {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: NativescriptConnectionOptions\n\n /**\n * Nativescript driver module\n * this is most likely `nativescript-sqlite`\n * but user can pass his own\n */\n driver: any\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: DataSource) {\n super(connection)\n\n this.connection = connection\n this.options = connection.options as NativescriptConnectionOptions\n this.database = this.options.database\n this.driver = this.options.driver\n\n // load sqlite package\n this.loadDependencies()\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n this.queryRunner = undefined\n this.databaseConnection.close().then(ok).catch(fail)\n })\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner) {\n this.queryRunner = new NativescriptQueryRunner(this)\n }\n\n return this.queryRunner\n }\n\n normalizeType(column: {\n type?: ColumnType\n length?: number | string\n precision?: number | null\n scale?: number\n }): string {\n if ((column.type as any) === Buffer) {\n return \"blob\"\n }\n\n return super.normalizeType(column)\n }\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n return new Promise<void>((ok, fail) => {\n const options = Object.assign(\n {},\n {\n readOnly: this.options.readOnly,\n key: this.options.key,\n multithreading: this.options.multithreading,\n migrate: this.options.migrate,\n iosFlags: this.options.iosFlags,\n androidFlags: this.options.androidFlags,\n },\n this.options.extra || {},\n )\n\n new this.sqlite(\n this.options.database,\n options,\n (err: Error, db: any): any => {\n if (err) return fail(err)\n\n // use object mode to work with TypeORM\n db.resultType(this.sqlite.RESULTSASOBJECT)\n\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete work with sqlite.\n db.execSQL(\n `PRAGMA foreign_keys = ON`,\n [],\n (err: Error, result: any): any => {\n if (err) return fail(err)\n // We are all set\n ok(db)\n },\n )\n },\n )\n })\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n this.sqlite = this.driver\n if (!this.driver) {\n throw new DriverPackageNotInstalledError(\n \"Nativescript\",\n \"nativescript-sqlite\",\n )\n }\n }\n}\n"],"sourceRoot":"../.."}
@@ -1,6 +1,6 @@
1
- import { ObjectLiteral } from "../../common/ObjectLiteral";
1
+ import type { ObjectLiteral } from "../../common/ObjectLiteral";
2
2
  import { AbstractSqliteQueryRunner } from "../sqlite-abstract/AbstractSqliteQueryRunner";
3
- import { NativescriptDriver } from "./NativescriptDriver";
3
+ import type { NativescriptDriver } from "./NativescriptDriver";
4
4
  /**
5
5
  * Runs queries on a single sqlite database connection.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/nativescript/NativescriptQueryRunner.ts"],"names":[],"mappings":"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","file":"NativescriptQueryRunner.js","sourcesContent":["import { ObjectLiteral } from \"../../common/ObjectLiteral\"\nimport { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { NativescriptDriver } from \"./NativescriptDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class NativescriptQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: NativescriptDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: NativescriptDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters?: any[],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) {\n throw new QueryRunnerAlreadyReleasedError()\n }\n\n const connection = this.driver.connection\n\n return new Promise(async (ok, fail) => {\n const databaseConnection = await this.connect()\n const isInsertQuery = query.substr(0, 11) === \"INSERT INTO\"\n connection.logger.logQuery(query, parameters, this)\n\n const handler = (err: any, raw: any) => {\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime =\n this.driver.options.maxQueryExecutionTime\n const queryEndTime = +new Date()\n const queryExecutionTime = queryEndTime - queryStartTime\n\n if (\n maxQueryExecutionTime &&\n queryExecutionTime > maxQueryExecutionTime\n ) {\n connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n this,\n )\n }\n\n if (err) {\n connection.logger.logQueryError(\n err,\n query,\n parameters,\n this,\n )\n fail(new QueryFailedError(query, parameters, err))\n }\n\n const result = new QueryResult()\n result.raw = raw\n\n if (!isInsertQuery && Array.isArray(raw)) {\n result.records = raw\n }\n\n if (useStructuredResult) {\n ok(result)\n } else {\n ok(result.raw)\n }\n }\n const queryStartTime = +new Date()\n\n if (isInsertQuery) {\n databaseConnection.execSQL(query, parameters, handler)\n } else {\n databaseConnection.all(query, parameters, handler)\n }\n })\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Parametrizes given object of values. Used to create column=value queries.\n */\n protected parametrize(\n objectLiteral: ObjectLiteral,\n startIndex: number = 0,\n ): string[] {\n return Object.keys(objectLiteral).map((key, index) => `\"${key}\"` + \"=?\")\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/nativescript/NativescriptQueryRunner.ts"],"names":[],"mappings":"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","file":"NativescriptQueryRunner.js","sourcesContent":["import type { ObjectLiteral } from \"../../common/ObjectLiteral\"\nimport { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport type { NativescriptDriver } from \"./NativescriptDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class NativescriptQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: NativescriptDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: NativescriptDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters?: any[],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) {\n throw new QueryRunnerAlreadyReleasedError()\n }\n\n const connection = this.driver.connection\n\n return new Promise(async (ok, fail) => {\n const databaseConnection = await this.connect()\n const isInsertQuery = query.substr(0, 11) === \"INSERT INTO\"\n connection.logger.logQuery(query, parameters, this)\n\n const handler = (err: any, raw: any) => {\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime =\n this.driver.options.maxQueryExecutionTime\n const queryEndTime = +new Date()\n const queryExecutionTime = queryEndTime - queryStartTime\n\n if (\n maxQueryExecutionTime &&\n queryExecutionTime > maxQueryExecutionTime\n ) {\n connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n this,\n )\n }\n\n if (err) {\n connection.logger.logQueryError(\n err,\n query,\n parameters,\n this,\n )\n fail(new QueryFailedError(query, parameters, err))\n }\n\n const result = new QueryResult()\n result.raw = raw\n\n if (!isInsertQuery && Array.isArray(raw)) {\n result.records = raw\n }\n\n if (useStructuredResult) {\n ok(result)\n } else {\n ok(result.raw)\n }\n }\n const queryStartTime = +new Date()\n\n if (isInsertQuery) {\n databaseConnection.execSQL(query, parameters, handler)\n } else {\n databaseConnection.all(query, parameters, handler)\n }\n })\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Parametrizes given object of values. Used to create column=value queries.\n */\n protected parametrize(\n objectLiteral: ObjectLiteral,\n startIndex = 0,\n ): string[] {\n return Object.keys(objectLiteral).map((key, index) => `\"${key}\"` + \"=?\")\n }\n}\n"],"sourceRoot":"../.."}
@@ -1,5 +1,5 @@
1
- import { BaseDataSourceOptions } from "../../data-source/BaseDataSourceOptions";
2
- import { OracleConnectionCredentialsOptions } from "./OracleConnectionCredentialsOptions";
1
+ import type { BaseDataSourceOptions } from "../../data-source/BaseDataSourceOptions";
2
+ import type { OracleConnectionCredentialsOptions } from "./OracleConnectionCredentialsOptions";
3
3
  /**
4
4
  * Oracle-specific connection options.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/oracle/OracleConnectionOptions.ts"],"names":[],"mappings":"","file":"OracleConnectionOptions.js","sourcesContent":["import { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\nimport { OracleConnectionCredentialsOptions } from \"./OracleConnectionCredentialsOptions\"\n\n/**\n * Oracle-specific connection options.\n */\nexport interface OracleConnectionOptions\n extends BaseDataSourceOptions,\n OracleConnectionCredentialsOptions {\n /**\n * Database type.\n */\n readonly type: \"oracle\"\n\n /**\n * Schema name. By default is \"public\".\n */\n readonly schema?: string\n\n /**\n * The driver object\n * This defaults to require(\"oracledb\")\n */\n readonly driver?: any\n\n /**\n * A boolean determining whether to pass time values in UTC or local time. (default: false).\n */\n readonly useUTC?: boolean\n\n /**\n * Replication setup.\n */\n readonly replication?: {\n /**\n * Master server used by orm to perform writes.\n */\n readonly master: OracleConnectionCredentialsOptions\n\n /**\n * List of read-from severs (slaves).\n */\n readonly slaves: OracleConnectionCredentialsOptions[]\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/oracle/OracleConnectionOptions.ts"],"names":[],"mappings":"","file":"OracleConnectionOptions.js","sourcesContent":["import type { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\nimport type { OracleConnectionCredentialsOptions } from \"./OracleConnectionCredentialsOptions\"\n\n/**\n * Oracle-specific connection options.\n */\nexport interface OracleConnectionOptions\n extends BaseDataSourceOptions,\n OracleConnectionCredentialsOptions {\n /**\n * Database type.\n */\n readonly type: \"oracle\"\n\n /**\n * Schema name. By default is \"public\".\n */\n readonly schema?: string\n\n /**\n * The driver object\n * This defaults to require(\"oracledb\")\n */\n readonly driver?: any\n\n /**\n * A boolean determining whether to pass time values in UTC or local time. (default: false).\n */\n readonly useUTC?: boolean\n\n /**\n * Replication setup.\n */\n readonly replication?: {\n /**\n * Master server used by orm to perform writes.\n */\n readonly master: OracleConnectionCredentialsOptions\n\n /**\n * List of read-from severs (slaves).\n */\n readonly slaves: OracleConnectionCredentialsOptions[]\n }\n}\n"],"sourceRoot":"../.."}
@@ -1,22 +1,22 @@
1
- import { Driver } from "../Driver";
2
- import { CteCapabilities } from "../types/CteCapabilities";
1
+ import type { Driver } from "../Driver";
2
+ import type { CteCapabilities } from "../types/CteCapabilities";
3
3
  import { OracleQueryRunner } from "./OracleQueryRunner";
4
- import { ObjectLiteral } from "../../common/ObjectLiteral";
5
- import { ColumnMetadata } from "../../metadata/ColumnMetadata";
6
- import { DataSource } from "../../data-source/DataSource";
4
+ import type { ObjectLiteral } from "../../common/ObjectLiteral";
5
+ import type { ColumnMetadata } from "../../metadata/ColumnMetadata";
6
+ import type { DataSource } from "../../data-source/DataSource";
7
7
  import { RdbmsSchemaBuilder } from "../../schema-builder/RdbmsSchemaBuilder";
8
- import { OracleConnectionOptions } from "./OracleConnectionOptions";
9
- import { MappedColumnTypes } from "../types/MappedColumnTypes";
10
- import { ColumnType } from "../types/ColumnTypes";
11
- import { DataTypeDefaults } from "../types/DataTypeDefaults";
12
- import { TableColumn } from "../../schema-builder/table/TableColumn";
13
- import { OracleConnectionCredentialsOptions } from "./OracleConnectionCredentialsOptions";
14
- import { EntityMetadata } from "../../metadata/EntityMetadata";
15
- import { ReplicationMode } from "../types/ReplicationMode";
16
- import { Table } from "../../schema-builder/table/Table";
17
- import { View } from "../../schema-builder/view/View";
18
- import { TableForeignKey } from "../../schema-builder/table/TableForeignKey";
19
- import { UpsertType } from "../types/UpsertType.js";
8
+ import type { OracleConnectionOptions } from "./OracleConnectionOptions";
9
+ import type { MappedColumnTypes } from "../types/MappedColumnTypes";
10
+ import type { ColumnType } from "../types/ColumnTypes";
11
+ import type { DataTypeDefaults } from "../types/DataTypeDefaults";
12
+ import type { TableColumn } from "../../schema-builder/table/TableColumn";
13
+ import type { OracleConnectionCredentialsOptions } from "./OracleConnectionCredentialsOptions";
14
+ import type { EntityMetadata } from "../../metadata/EntityMetadata";
15
+ import type { ReplicationMode } from "../types/ReplicationMode";
16
+ import type { Table } from "../../schema-builder/table/Table";
17
+ import type { View } from "../../schema-builder/view/View";
18
+ import type { TableForeignKey } from "../../schema-builder/table/TableForeignKey";
19
+ import type { UpsertType } from "../types/UpsertType";
20
20
  /**
21
21
  * Organizes communication with Oracle RDBMS.
22
22
  */
@@ -263,7 +263,7 @@ export class OracleDriver {
263
263
  if (!parameters.hasOwnProperty(key)) {
264
264
  return full;
265
265
  }
266
- let value = parameters[key];
266
+ const value = parameters[key];
267
267
  if (isArray) {
268
268
  return value
269
269
  .map((v) => {
@@ -294,7 +294,7 @@ export class OracleDriver {
294
294
  * Oracle does not support table schemas. One user can have only one schema.
295
295
  */
296
296
  buildTableName(tableName, schema, database) {
297
- let tablePath = [tableName];
297
+ const tablePath = [tableName];
298
298
  if (schema) {
299
299
  tablePath.unshift(schema);
300
300
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/oracle/OracleDriver.ts"],"names":[],"mappings":"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","file":"OracleDriver.js","sourcesContent":["import { Driver } from \"../Driver\"\nimport { ConnectionIsNotSetError } from \"../../error/ConnectionIsNotSetError\"\nimport { DriverPackageNotInstalledError } from \"../../error/DriverPackageNotInstalledError\"\nimport { CteCapabilities } from \"../types/CteCapabilities\"\nimport { OracleQueryRunner } from \"./OracleQueryRunner\"\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\nimport { ColumnMetadata } from \"../../metadata/ColumnMetadata\"\nimport { DateUtils } from \"../../util/DateUtils\"\nimport { PlatformTools } from \"../../platform/PlatformTools\"\nimport { DataSource } from \"../../data-source/DataSource\"\nimport { RdbmsSchemaBuilder } from \"../../schema-builder/RdbmsSchemaBuilder\"\nimport { OracleConnectionOptions } from \"./OracleConnectionOptions\"\nimport { MappedColumnTypes } from \"../types/MappedColumnTypes\"\nimport { ColumnType } from \"../types/ColumnTypes\"\nimport { DataTypeDefaults } from \"../types/DataTypeDefaults\"\nimport { TableColumn } from \"../../schema-builder/table/TableColumn\"\nimport { OracleConnectionCredentialsOptions } from \"./OracleConnectionCredentialsOptions\"\nimport { DriverUtils } from \"../DriverUtils\"\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\nimport { OrmUtils } from \"../../util/OrmUtils\"\nimport { ApplyValueTransformers } from \"../../util/ApplyValueTransformers\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\nimport { Table } from \"../../schema-builder/table/Table\"\nimport { View } from \"../../schema-builder/view/View\"\nimport { TableForeignKey } from \"../../schema-builder/table/TableForeignKey\"\nimport { TypeORMError } from \"../../error\"\nimport { InstanceChecker } from \"../../util/InstanceChecker\"\nimport { UpsertType } from \"../types/UpsertType.js\"\n\n/**\n * Organizes communication with Oracle RDBMS.\n */\nexport class OracleDriver implements Driver {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: DataSource\n\n /**\n * Underlying oracle library.\n */\n oracle: any\n\n /**\n * Pool for master database.\n */\n master: any\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = []\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: OracleConnectionOptions\n\n /**\n * Database name used to perform all write queries.\n */\n database?: string\n\n /**\n * Schema name used to perform all write queries.\n */\n schema?: string\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true\n\n /**\n * Represent transaction support by this driver\n */\n transactionSupport = \"nested\" as const\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://www.techonthenet.com/oracle/datatypes.php\n * @see https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012\n */\n supportedDataTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"long\",\n \"raw\",\n \"long raw\",\n \"number\",\n \"numeric\",\n \"float\",\n \"dec\",\n \"decimal\",\n \"integer\",\n \"int\",\n \"smallint\",\n \"real\",\n \"double precision\",\n \"date\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\",\n \"interval year to month\",\n \"interval day to second\",\n \"bfile\",\n \"blob\",\n \"clob\",\n \"nclob\",\n \"rowid\",\n \"urowid\",\n ]\n\n /**\n * Returns type of upsert supported by driver if any\n */\n supportedUpsertTypes: UpsertType[] = []\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = []\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"varchar\",\n \"raw\",\n ]\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"number\",\n \"float\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\",\n ]\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\"number\"]\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"timestamp\",\n createDateDefault: \"CURRENT_TIMESTAMP\",\n updateDate: \"timestamp\",\n updateDateDefault: \"CURRENT_TIMESTAMP\",\n deleteDate: \"timestamp\",\n deleteDateNullable: true,\n version: \"number\",\n treeLevel: \"number\",\n migrationId: \"number\",\n migrationName: \"varchar2\",\n migrationTimestamp: \"number\",\n cacheId: \"number\",\n cacheIdentifier: \"varchar2\",\n cacheTime: \"number\",\n cacheDuration: \"number\",\n cacheQuery: \"clob\",\n cacheResult: \"clob\",\n metadataType: \"varchar2\",\n metadataDatabase: \"varchar2\",\n metadataSchema: \"varchar2\",\n metadataTable: \"varchar2\",\n metadataName: \"varchar2\",\n metadataValue: \"clob\",\n }\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n char: { length: 1 },\n nchar: { length: 1 },\n varchar: { length: 255 },\n varchar2: { length: 255 },\n nvarchar2: { length: 255 },\n raw: { length: 2000 },\n float: { precision: 126 },\n timestamp: { precision: 6 },\n \"timestamp with time zone\": { precision: 6 },\n \"timestamp with local time zone\": { precision: 6 },\n }\n\n /**\n * Max length allowed by Oracle for aliases.\n * @see https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129\n * > The following list of rules applies to both quoted and nonquoted identifiers unless otherwise indicated\n * > Names must be from 1 to 30 bytes long with these exceptions:\n * > [...]\n *\n * Since Oracle 12.2 (with a compatible driver/client), the limit has been set to 128.\n * @see https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Database-Object-Names-and-Qualifiers.html\n *\n * > If COMPATIBLE is set to a value of 12.2 or higher, then names must be from 1 to 128 bytes long with these exceptions\n */\n maxAliasLength = 29\n\n cteCapabilities: CteCapabilities = {\n enabled: false, // TODO: enable\n }\n\n dummyTableName = \"DUAL\"\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: DataSource) {\n this.connection = connection\n this.options = connection.options as OracleConnectionOptions\n\n if (this.options.useUTC === true) {\n process.env.ORA_SDTZ = \"UTC\"\n }\n // load oracle package\n this.loadDependencies()\n\n this.database = DriverUtils.buildDriverOptions(\n this.options.replication\n ? this.options.replication.master\n : this.options,\n ).database\n this.schema = DriverUtils.buildDriverOptions(this.options).schema\n\n // Object.assign(connection.options, DriverUtils.buildDriverOptions(connection.options)); // todo: do it better way\n // validate options to make sure everything is set\n // if (!this.options.host)\n // throw new DriverOptionNotSetError(\"host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.sid)\n // throw new DriverOptionNotSetError(\"sid\");\n //\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n this.oracle.fetchAsString = [this.oracle.CLOB]\n this.oracle.fetchAsBuffer = [this.oracle.BLOB]\n if (this.options.replication) {\n this.slaves = await Promise.all(\n this.options.replication.slaves.map((slave) => {\n return this.createPool(this.options, slave)\n }),\n )\n this.master = await this.createPool(\n this.options,\n this.options.replication.master,\n )\n } else {\n this.master = await this.createPool(this.options, this.options)\n }\n\n if (!this.database || !this.schema) {\n const queryRunner = await this.createQueryRunner(\"master\")\n\n if (!this.database) {\n this.database = await queryRunner.getCurrentDatabase()\n }\n\n if (!this.schema) {\n this.schema = await queryRunner.getCurrentSchema()\n }\n\n await queryRunner.release()\n }\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve()\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n if (!this.master)\n return Promise.reject(new ConnectionIsNotSetError(\"oracle\"))\n\n await this.closePool(this.master)\n await Promise.all(this.slaves.map((slave) => this.closePool(slave)))\n this.master = undefined\n this.slaves = []\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection)\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new OracleQueryRunner(this, mode)\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(\n sql: string,\n parameters: ObjectLiteral,\n nativeParameters: ObjectLiteral,\n ): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(\n (key) => {\n if (typeof nativeParameters[key] === \"boolean\")\n return nativeParameters[key] ? 1 : 0\n return nativeParameters[key]\n },\n )\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters]\n\n sql = sql.replace(\n /:(\\.\\.\\.)?([A-Za-z0-9_.]+)/g,\n (full, isArray: string, key: string): string => {\n if (!parameters.hasOwnProperty(key)) {\n return full\n }\n\n let value: any = parameters[key]\n\n if (isArray) {\n return value\n .map((v: any) => {\n escapedParameters.push(v)\n return this.createParameter(\n key,\n escapedParameters.length - 1,\n )\n })\n .join(\", \")\n }\n\n if (typeof value === \"function\") {\n return value()\n }\n\n if (typeof value === \"boolean\") {\n return value ? \"1\" : \"0\"\n }\n\n escapedParameters.push(value)\n return this.createParameter(key, escapedParameters.length - 1)\n },\n ) // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters]\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * Oracle does not support table schemas. One user can have only one schema.\n */\n buildTableName(\n tableName: string,\n schema?: string,\n database?: string,\n ): string {\n let tablePath = [tableName]\n\n if (schema) {\n tablePath.unshift(schema)\n }\n\n return tablePath.join(\".\")\n }\n\n /**\n * Parse a target table name or other types and return a normalized table definition.\n */\n parseTableName(\n target: EntityMetadata | Table | View | TableForeignKey | string,\n ): { database?: string; schema?: string; tableName: string } {\n const driverDatabase = this.database\n const driverSchema = this.schema\n\n if (InstanceChecker.isTable(target) || InstanceChecker.isView(target)) {\n const parsed = this.parseTableName(target.name)\n\n return {\n database: target.database || parsed.database || driverDatabase,\n schema: target.schema || parsed.schema || driverSchema,\n tableName: parsed.tableName,\n }\n }\n\n if (InstanceChecker.isTableForeignKey(target)) {\n const parsed = this.parseTableName(target.referencedTableName)\n\n return {\n database:\n target.referencedDatabase ||\n parsed.database ||\n driverDatabase,\n schema:\n target.referencedSchema || parsed.schema || driverSchema,\n tableName: parsed.tableName,\n }\n }\n\n if (InstanceChecker.isEntityMetadata(target)) {\n // EntityMetadata tableName is never a path\n\n return {\n database: target.database || driverDatabase,\n schema: target.schema || driverSchema,\n tableName: target.tableName,\n }\n }\n\n const parts = target.split(\".\")\n\n if (parts.length === 3) {\n return {\n database: parts[0] || driverDatabase,\n schema: parts[1] || driverSchema,\n tableName: parts[2],\n }\n } else if (parts.length === 2) {\n return {\n database: driverDatabase,\n schema: parts[0] || driverSchema,\n tableName: parts[1],\n }\n } else {\n return {\n database: driverDatabase,\n schema: driverSchema,\n tableName: target,\n }\n }\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(\n columnMetadata.transformer,\n value,\n )\n\n if (value === null || value === undefined) return value\n\n if (columnMetadata.type === Boolean) {\n return value ? 1 : 0\n } else if (columnMetadata.type === \"date\") {\n if (typeof value === \"string\") value = value.replace(/[^0-9-]/g, \"\")\n return () =>\n `TO_DATE('${DateUtils.mixedDateToDateString(\n value,\n )}', 'YYYY-MM-DD')`\n } else if (\n columnMetadata.type === Date ||\n columnMetadata.type === \"timestamp\" ||\n columnMetadata.type === \"timestamp with time zone\" ||\n columnMetadata.type === \"timestamp with local time zone\"\n ) {\n return DateUtils.mixedDateToDate(value)\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value)\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value)\n }\n\n return value\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer\n ? ApplyValueTransformers.transformFrom(\n columnMetadata.transformer,\n value,\n )\n : value\n\n if (columnMetadata.type === Boolean) {\n value = !!value\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value)\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value)\n } else if (\n columnMetadata.type === Date ||\n columnMetadata.type === \"timestamp\" ||\n columnMetadata.type === \"timestamp with time zone\" ||\n columnMetadata.type === \"timestamp with local time zone\"\n ) {\n value = DateUtils.normalizeHydratedDate(value)\n } else if (columnMetadata.type === \"json\") {\n value = JSON.parse(value)\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value)\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value)\n } else if (columnMetadata.type === Number) {\n // convert to number if number\n value = !isNaN(+value) ? parseInt(value) : value\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(\n columnMetadata.transformer,\n value,\n )\n\n return value\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: {\n type?: ColumnType\n length?: number | string\n precision?: number | null\n scale?: number\n isArray?: boolean\n }): string {\n if (\n column.type === Number ||\n column.type === Boolean ||\n column.type === \"numeric\" ||\n column.type === \"dec\" ||\n column.type === \"decimal\" ||\n column.type === \"int\" ||\n column.type === \"integer\" ||\n column.type === \"smallint\"\n ) {\n return \"number\"\n } else if (\n column.type === \"real\" ||\n column.type === \"double precision\"\n ) {\n return \"float\"\n } else if (column.type === String || column.type === \"varchar\") {\n return \"varchar2\"\n } else if (column.type === Date) {\n return \"timestamp\"\n } else if ((column.type as any) === Buffer) {\n return \"blob\"\n } else if (column.type === \"uuid\") {\n return \"varchar2\"\n } else if (column.type === \"simple-array\") {\n return \"clob\"\n } else if (column.type === \"simple-json\") {\n return \"clob\"\n } else {\n return (column.type as string) || \"\"\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined {\n const defaultValue = columnMetadata.default\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue\n }\n\n if (typeof defaultValue === \"boolean\") {\n return defaultValue ? \"1\" : \"0\"\n }\n\n if (typeof defaultValue === \"function\") {\n return defaultValue()\n }\n\n if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`\n }\n\n if (defaultValue === null || defaultValue === undefined) {\n return undefined\n }\n\n return `${defaultValue}`\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.uniques.some(\n (uq) => uq.columns.length === 1 && uq.columns[0] === column,\n )\n }\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata | TableColumn): string {\n if (column.length) return column.length.toString()\n\n switch (column.type) {\n case String:\n case \"varchar\":\n case \"varchar2\":\n case \"nvarchar2\":\n return \"255\"\n case \"raw\":\n return \"2000\"\n case \"uuid\":\n return \"36\"\n default:\n return \"\"\n }\n }\n\n createFullType(column: TableColumn): string {\n let type = column.type\n\n // used 'getColumnLength()' method, because in Oracle column length is required for some data types.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`\n } else if (\n column.precision !== null &&\n column.precision !== undefined &&\n column.scale !== null &&\n column.scale !== undefined\n ) {\n type += \"(\" + column.precision + \",\" + column.scale + \")\"\n } else if (\n column.precision !== null &&\n column.precision !== undefined\n ) {\n type += \"(\" + column.precision + \")\"\n }\n\n if (column.type === \"timestamp with time zone\") {\n type =\n \"TIMESTAMP\" +\n (column.precision !== null && column.precision !== undefined\n ? \"(\" + column.precision + \")\"\n : \"\") +\n \" WITH TIME ZONE\"\n } else if (column.type === \"timestamp with local time zone\") {\n type =\n \"TIMESTAMP\" +\n (column.precision !== null && column.precision !== undefined\n ? \"(\" + column.precision + \")\"\n : \"\") +\n \" WITH LOCAL TIME ZONE\"\n }\n\n if (column.isArray) type += \" array\"\n\n return type\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return new Promise<any>((ok, fail) => {\n if (!this.master) {\n return fail(new TypeORMError(\"Driver not Connected\"))\n }\n\n this.master.getConnection(\n (err: any, connection: any, release: Function) => {\n if (err) return fail(err)\n ok(connection)\n },\n )\n })\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.slaves.length) return this.obtainMasterConnection()\n\n return new Promise<any>((ok, fail) => {\n const random = Math.floor(Math.random() * this.slaves.length)\n\n this.slaves[random].getConnection((err: any, connection: any) => {\n if (err) return fail(err)\n ok(connection)\n })\n })\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n if (!insertResult) return undefined\n\n return Object.keys(insertResult).reduce((map, key) => {\n const column = metadata.findColumnWithDatabaseName(key)\n if (column) {\n OrmUtils.mergeDeep(\n map,\n column.createValueMap(\n this.prepareHydratedValue(insertResult[key], column),\n ),\n )\n }\n return map\n }, {} as ObjectLiteral)\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(\n tableColumns: TableColumn[],\n columnMetadatas: ColumnMetadata[],\n ): ColumnMetadata[] {\n return columnMetadatas.filter((columnMetadata) => {\n const tableColumn = tableColumns.find(\n (c) => c.name === columnMetadata.databaseName,\n )\n if (!tableColumn) return false // we don't need new columns, we only need exist and changed\n\n const isColumnChanged =\n tableColumn.name !== columnMetadata.databaseName ||\n tableColumn.type !== this.normalizeType(columnMetadata) ||\n tableColumn.length !== this.getColumnLength(columnMetadata) ||\n tableColumn.precision !== columnMetadata.precision ||\n tableColumn.scale !== columnMetadata.scale ||\n // || tableColumn.comment !== columnMetadata.comment\n tableColumn.default !== this.normalizeDefault(columnMetadata) ||\n tableColumn.isPrimary !== columnMetadata.isPrimary ||\n tableColumn.isNullable !== columnMetadata.isNullable ||\n tableColumn.asExpression !== columnMetadata.asExpression ||\n tableColumn.generatedType !== columnMetadata.generatedType ||\n tableColumn.isUnique !==\n this.normalizeIsUnique(columnMetadata) ||\n (columnMetadata.generationStrategy !== \"uuid\" &&\n tableColumn.isGenerated !== columnMetadata.isGenerated)\n\n // DEBUG SECTION\n // if (isColumnChanged) {\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName)\n // console.log(\n // \"name:\",\n // tableColumn.name,\n // columnMetadata.databaseName,\n // )\n // console.log(\n // \"type:\",\n // tableColumn.type,\n // this.normalizeType(columnMetadata),\n // )\n // console.log(\n // \"length:\",\n // tableColumn.length,\n // columnMetadata.length,\n // )\n // console.log(\n // \"precision:\",\n // tableColumn.precision,\n // columnMetadata.precision,\n // )\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale)\n // console.log(\n // \"comment:\",\n // tableColumn.comment,\n // columnMetadata.comment,\n // )\n // console.log(\n // \"default:\",\n // tableColumn.default,\n // this.normalizeDefault(columnMetadata),\n // )\n // console.log(\n // \"enum:\",\n // tableColumn.enum &&\n // columnMetadata.enum &&\n // !OrmUtils.isArraysEqual(\n // tableColumn.enum,\n // columnMetadata.enum.map((val) => val + \"\"),\n // ),\n // )\n // console.log(\n // \"onUpdate:\",\n // tableColumn.onUpdate,\n // columnMetadata.onUpdate,\n // )\n // console.log(\n // \"isPrimary:\",\n // tableColumn.isPrimary,\n // columnMetadata.isPrimary,\n // )\n // console.log(\n // \"isNullable:\",\n // tableColumn.isNullable,\n // columnMetadata.isNullable,\n // )\n // console.log(\n // \"asExpression:\",\n // tableColumn.asExpression,\n // columnMetadata.asExpression,\n // )\n // console.log(\n // \"generatedType:\",\n // tableColumn.generatedType,\n // columnMetadata.generatedType,\n // )\n // console.log(\n // \"isUnique:\",\n // tableColumn.isUnique,\n // this.normalizeIsUnique(columnMetadata),\n // )\n // console.log(\n // \"isGenerated:\",\n // tableColumn.isGenerated,\n // columnMetadata.isGenerated,\n // )\n // console.log(\"==========================================\")\n // }\n\n return isColumnChanged\n })\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return true\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \":\" + (index + 1)\n }\n\n /**\n * Converts column type in to native oracle type.\n */\n columnTypeToNativeParameter(type: ColumnType): any {\n switch (this.normalizeType({ type: type as any })) {\n case \"number\":\n case \"numeric\":\n case \"int\":\n case \"integer\":\n case \"smallint\":\n case \"dec\":\n case \"decimal\":\n return this.oracle.NUMBER\n case \"char\":\n case \"nchar\":\n case \"nvarchar2\":\n case \"varchar2\":\n return this.oracle.STRING\n case \"blob\":\n return this.oracle.BLOB\n case \"clob\":\n return this.oracle.CLOB\n case \"date\":\n case \"timestamp\":\n case \"timestamp with time zone\":\n case \"timestamp with local time zone\":\n return this.oracle.DATE\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): void {\n try {\n const oracle = this.options.driver || PlatformTools.load(\"oracledb\")\n this.oracle = oracle\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Oracle\", \"oracledb\")\n }\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected async createPool(\n options: OracleConnectionOptions,\n credentials: OracleConnectionCredentialsOptions,\n ): Promise<any> {\n credentials = Object.assign(\n {},\n credentials,\n DriverUtils.buildDriverOptions(credentials),\n ) // todo: do it better way\n\n if (!credentials.connectString) {\n let address = `(PROTOCOL=TCP)`\n\n if (credentials.host) {\n address += `(HOST=${credentials.host})`\n }\n\n if (credentials.port) {\n address += `(PORT=${credentials.port})`\n }\n\n let connectData = `(SERVER=DEDICATED)`\n\n if (credentials.sid) {\n connectData += `(SID=${credentials.sid})`\n }\n\n if (credentials.serviceName) {\n connectData += `(SERVICE_NAME=${credentials.serviceName})`\n }\n\n const connectString = `(DESCRIPTION=(ADDRESS=${address})(CONNECT_DATA=${connectData}))`\n Object.assign(credentials, { connectString })\n }\n\n // build connection options for the driver\n const connectionOptions = Object.assign(\n {},\n {\n user: credentials.username,\n password: credentials.password,\n connectString: credentials.connectString,\n },\n {\n poolMax: options.poolSize,\n },\n options.extra || {},\n )\n\n // pooling is enabled either when its set explicitly to true,\n // either when its not defined at all (e.g. enabled by default)\n return new Promise<void>((ok, fail) => {\n this.oracle.createPool(connectionOptions, (err: any, pool: any) => {\n if (err) return fail(err)\n ok(pool)\n })\n })\n }\n\n /**\n * Closes connection pool.\n */\n protected async closePool(pool: any): Promise<void> {\n return new Promise<void>((ok, fail) => {\n pool.close((err: any) => (err ? fail(err) : ok()))\n pool = undefined\n })\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/oracle/OracleDriver.ts"],"names":[],"mappings":"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","file":"OracleDriver.js","sourcesContent":["import type { Driver } from \"../Driver\"\nimport { ConnectionIsNotSetError } from \"../../error/ConnectionIsNotSetError\"\nimport { DriverPackageNotInstalledError } from \"../../error/DriverPackageNotInstalledError\"\nimport type { CteCapabilities } from \"../types/CteCapabilities\"\nimport { OracleQueryRunner } from \"./OracleQueryRunner\"\nimport type { ObjectLiteral } from \"../../common/ObjectLiteral\"\nimport type { ColumnMetadata } from \"../../metadata/ColumnMetadata\"\nimport { DateUtils } from \"../../util/DateUtils\"\nimport { PlatformTools } from \"../../platform/PlatformTools\"\nimport type { DataSource } from \"../../data-source/DataSource\"\nimport { RdbmsSchemaBuilder } from \"../../schema-builder/RdbmsSchemaBuilder\"\nimport type { OracleConnectionOptions } from \"./OracleConnectionOptions\"\nimport type { MappedColumnTypes } from \"../types/MappedColumnTypes\"\nimport type { ColumnType } from \"../types/ColumnTypes\"\nimport type { DataTypeDefaults } from \"../types/DataTypeDefaults\"\nimport type { TableColumn } from \"../../schema-builder/table/TableColumn\"\nimport type { OracleConnectionCredentialsOptions } from \"./OracleConnectionCredentialsOptions\"\nimport { DriverUtils } from \"../DriverUtils\"\nimport type { EntityMetadata } from \"../../metadata/EntityMetadata\"\nimport { OrmUtils } from \"../../util/OrmUtils\"\nimport { ApplyValueTransformers } from \"../../util/ApplyValueTransformers\"\nimport type { ReplicationMode } from \"../types/ReplicationMode\"\nimport type { Table } from \"../../schema-builder/table/Table\"\nimport type { View } from \"../../schema-builder/view/View\"\nimport type { TableForeignKey } from \"../../schema-builder/table/TableForeignKey\"\nimport { TypeORMError } from \"../../error\"\nimport { InstanceChecker } from \"../../util/InstanceChecker\"\nimport type { UpsertType } from \"../types/UpsertType\"\n\n/**\n * Organizes communication with Oracle RDBMS.\n */\nexport class OracleDriver implements Driver {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: DataSource\n\n /**\n * Underlying oracle library.\n */\n oracle: any\n\n /**\n * Pool for master database.\n */\n master: any\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = []\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: OracleConnectionOptions\n\n /**\n * Database name used to perform all write queries.\n */\n database?: string\n\n /**\n * Schema name used to perform all write queries.\n */\n schema?: string\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated = false\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true\n\n /**\n * Represent transaction support by this driver\n */\n transactionSupport = \"nested\" as const\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://www.techonthenet.com/oracle/datatypes.php\n * @see https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012\n */\n supportedDataTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"long\",\n \"raw\",\n \"long raw\",\n \"number\",\n \"numeric\",\n \"float\",\n \"dec\",\n \"decimal\",\n \"integer\",\n \"int\",\n \"smallint\",\n \"real\",\n \"double precision\",\n \"date\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\",\n \"interval year to month\",\n \"interval day to second\",\n \"bfile\",\n \"blob\",\n \"clob\",\n \"nclob\",\n \"rowid\",\n \"urowid\",\n ]\n\n /**\n * Returns type of upsert supported by driver if any\n */\n supportedUpsertTypes: UpsertType[] = []\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = []\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"varchar\",\n \"raw\",\n ]\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"number\",\n \"float\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\",\n ]\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\"number\"]\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"timestamp\",\n createDateDefault: \"CURRENT_TIMESTAMP\",\n updateDate: \"timestamp\",\n updateDateDefault: \"CURRENT_TIMESTAMP\",\n deleteDate: \"timestamp\",\n deleteDateNullable: true,\n version: \"number\",\n treeLevel: \"number\",\n migrationId: \"number\",\n migrationName: \"varchar2\",\n migrationTimestamp: \"number\",\n cacheId: \"number\",\n cacheIdentifier: \"varchar2\",\n cacheTime: \"number\",\n cacheDuration: \"number\",\n cacheQuery: \"clob\",\n cacheResult: \"clob\",\n metadataType: \"varchar2\",\n metadataDatabase: \"varchar2\",\n metadataSchema: \"varchar2\",\n metadataTable: \"varchar2\",\n metadataName: \"varchar2\",\n metadataValue: \"clob\",\n }\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n char: { length: 1 },\n nchar: { length: 1 },\n varchar: { length: 255 },\n varchar2: { length: 255 },\n nvarchar2: { length: 255 },\n raw: { length: 2000 },\n float: { precision: 126 },\n timestamp: { precision: 6 },\n \"timestamp with time zone\": { precision: 6 },\n \"timestamp with local time zone\": { precision: 6 },\n }\n\n /**\n * Max length allowed by Oracle for aliases.\n * @see https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129\n * > The following list of rules applies to both quoted and nonquoted identifiers unless otherwise indicated\n * > Names must be from 1 to 30 bytes long with these exceptions:\n * > [...]\n *\n * Since Oracle 12.2 (with a compatible driver/client), the limit has been set to 128.\n * @see https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Database-Object-Names-and-Qualifiers.html\n *\n * > If COMPATIBLE is set to a value of 12.2 or higher, then names must be from 1 to 128 bytes long with these exceptions\n */\n maxAliasLength = 29\n\n cteCapabilities: CteCapabilities = {\n enabled: false, // TODO: enable\n }\n\n dummyTableName = \"DUAL\"\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: DataSource) {\n this.connection = connection\n this.options = connection.options as OracleConnectionOptions\n\n if (this.options.useUTC === true) {\n process.env.ORA_SDTZ = \"UTC\"\n }\n // load oracle package\n this.loadDependencies()\n\n this.database = DriverUtils.buildDriverOptions(\n this.options.replication\n ? this.options.replication.master\n : this.options,\n ).database\n this.schema = DriverUtils.buildDriverOptions(this.options).schema\n\n // Object.assign(connection.options, DriverUtils.buildDriverOptions(connection.options)); // todo: do it better way\n // validate options to make sure everything is set\n // if (!this.options.host)\n // throw new DriverOptionNotSetError(\"host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.sid)\n // throw new DriverOptionNotSetError(\"sid\");\n //\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n this.oracle.fetchAsString = [this.oracle.CLOB]\n this.oracle.fetchAsBuffer = [this.oracle.BLOB]\n if (this.options.replication) {\n this.slaves = await Promise.all(\n this.options.replication.slaves.map((slave) => {\n return this.createPool(this.options, slave)\n }),\n )\n this.master = await this.createPool(\n this.options,\n this.options.replication.master,\n )\n } else {\n this.master = await this.createPool(this.options, this.options)\n }\n\n if (!this.database || !this.schema) {\n const queryRunner = await this.createQueryRunner(\"master\")\n\n if (!this.database) {\n this.database = await queryRunner.getCurrentDatabase()\n }\n\n if (!this.schema) {\n this.schema = await queryRunner.getCurrentSchema()\n }\n\n await queryRunner.release()\n }\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve()\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n if (!this.master)\n return Promise.reject(new ConnectionIsNotSetError(\"oracle\"))\n\n await this.closePool(this.master)\n await Promise.all(this.slaves.map((slave) => this.closePool(slave)))\n this.master = undefined\n this.slaves = []\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection)\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new OracleQueryRunner(this, mode)\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(\n sql: string,\n parameters: ObjectLiteral,\n nativeParameters: ObjectLiteral,\n ): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(\n (key) => {\n if (typeof nativeParameters[key] === \"boolean\")\n return nativeParameters[key] ? 1 : 0\n return nativeParameters[key]\n },\n )\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters]\n\n sql = sql.replace(\n /:(\\.\\.\\.)?([A-Za-z0-9_.]+)/g,\n (full, isArray: string, key: string): string => {\n if (!parameters.hasOwnProperty(key)) {\n return full\n }\n\n const value: any = parameters[key]\n\n if (isArray) {\n return value\n .map((v: any) => {\n escapedParameters.push(v)\n return this.createParameter(\n key,\n escapedParameters.length - 1,\n )\n })\n .join(\", \")\n }\n\n if (typeof value === \"function\") {\n return value()\n }\n\n if (typeof value === \"boolean\") {\n return value ? \"1\" : \"0\"\n }\n\n escapedParameters.push(value)\n return this.createParameter(key, escapedParameters.length - 1)\n },\n ) // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters]\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * Oracle does not support table schemas. One user can have only one schema.\n */\n buildTableName(\n tableName: string,\n schema?: string,\n database?: string,\n ): string {\n const tablePath = [tableName]\n\n if (schema) {\n tablePath.unshift(schema)\n }\n\n return tablePath.join(\".\")\n }\n\n /**\n * Parse a target table name or other types and return a normalized table definition.\n */\n parseTableName(\n target: EntityMetadata | Table | View | TableForeignKey | string,\n ): { database?: string; schema?: string; tableName: string } {\n const driverDatabase = this.database\n const driverSchema = this.schema\n\n if (InstanceChecker.isTable(target) || InstanceChecker.isView(target)) {\n const parsed = this.parseTableName(target.name)\n\n return {\n database: target.database || parsed.database || driverDatabase,\n schema: target.schema || parsed.schema || driverSchema,\n tableName: parsed.tableName,\n }\n }\n\n if (InstanceChecker.isTableForeignKey(target)) {\n const parsed = this.parseTableName(target.referencedTableName)\n\n return {\n database:\n target.referencedDatabase ||\n parsed.database ||\n driverDatabase,\n schema:\n target.referencedSchema || parsed.schema || driverSchema,\n tableName: parsed.tableName,\n }\n }\n\n if (InstanceChecker.isEntityMetadata(target)) {\n // EntityMetadata tableName is never a path\n\n return {\n database: target.database || driverDatabase,\n schema: target.schema || driverSchema,\n tableName: target.tableName,\n }\n }\n\n const parts = target.split(\".\")\n\n if (parts.length === 3) {\n return {\n database: parts[0] || driverDatabase,\n schema: parts[1] || driverSchema,\n tableName: parts[2],\n }\n } else if (parts.length === 2) {\n return {\n database: driverDatabase,\n schema: parts[0] || driverSchema,\n tableName: parts[1],\n }\n } else {\n return {\n database: driverDatabase,\n schema: driverSchema,\n tableName: target,\n }\n }\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(\n columnMetadata.transformer,\n value,\n )\n\n if (value === null || value === undefined) return value\n\n if (columnMetadata.type === Boolean) {\n return value ? 1 : 0\n } else if (columnMetadata.type === \"date\") {\n if (typeof value === \"string\") value = value.replace(/[^0-9-]/g, \"\")\n return () =>\n `TO_DATE('${DateUtils.mixedDateToDateString(\n value,\n )}', 'YYYY-MM-DD')`\n } else if (\n columnMetadata.type === Date ||\n columnMetadata.type === \"timestamp\" ||\n columnMetadata.type === \"timestamp with time zone\" ||\n columnMetadata.type === \"timestamp with local time zone\"\n ) {\n return DateUtils.mixedDateToDate(value)\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value)\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value)\n }\n\n return value\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer\n ? ApplyValueTransformers.transformFrom(\n columnMetadata.transformer,\n value,\n )\n : value\n\n if (columnMetadata.type === Boolean) {\n value = !!value\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value)\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value)\n } else if (\n columnMetadata.type === Date ||\n columnMetadata.type === \"timestamp\" ||\n columnMetadata.type === \"timestamp with time zone\" ||\n columnMetadata.type === \"timestamp with local time zone\"\n ) {\n value = DateUtils.normalizeHydratedDate(value)\n } else if (columnMetadata.type === \"json\") {\n value = JSON.parse(value)\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value)\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value)\n } else if (columnMetadata.type === Number) {\n // convert to number if number\n value = !isNaN(+value) ? parseInt(value) : value\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(\n columnMetadata.transformer,\n value,\n )\n\n return value\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: {\n type?: ColumnType\n length?: number | string\n precision?: number | null\n scale?: number\n isArray?: boolean\n }): string {\n if (\n column.type === Number ||\n column.type === Boolean ||\n column.type === \"numeric\" ||\n column.type === \"dec\" ||\n column.type === \"decimal\" ||\n column.type === \"int\" ||\n column.type === \"integer\" ||\n column.type === \"smallint\"\n ) {\n return \"number\"\n } else if (\n column.type === \"real\" ||\n column.type === \"double precision\"\n ) {\n return \"float\"\n } else if (column.type === String || column.type === \"varchar\") {\n return \"varchar2\"\n } else if (column.type === Date) {\n return \"timestamp\"\n } else if ((column.type as any) === Buffer) {\n return \"blob\"\n } else if (column.type === \"uuid\") {\n return \"varchar2\"\n } else if (column.type === \"simple-array\") {\n return \"clob\"\n } else if (column.type === \"simple-json\") {\n return \"clob\"\n } else {\n return (column.type as string) || \"\"\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined {\n const defaultValue = columnMetadata.default\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue\n }\n\n if (typeof defaultValue === \"boolean\") {\n return defaultValue ? \"1\" : \"0\"\n }\n\n if (typeof defaultValue === \"function\") {\n return defaultValue()\n }\n\n if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`\n }\n\n if (defaultValue === null || defaultValue === undefined) {\n return undefined\n }\n\n return `${defaultValue}`\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.uniques.some(\n (uq) => uq.columns.length === 1 && uq.columns[0] === column,\n )\n }\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata | TableColumn): string {\n if (column.length) return column.length.toString()\n\n switch (column.type) {\n case String:\n case \"varchar\":\n case \"varchar2\":\n case \"nvarchar2\":\n return \"255\"\n case \"raw\":\n return \"2000\"\n case \"uuid\":\n return \"36\"\n default:\n return \"\"\n }\n }\n\n createFullType(column: TableColumn): string {\n let type = column.type\n\n // used 'getColumnLength()' method, because in Oracle column length is required for some data types.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`\n } else if (\n column.precision !== null &&\n column.precision !== undefined &&\n column.scale !== null &&\n column.scale !== undefined\n ) {\n type += \"(\" + column.precision + \",\" + column.scale + \")\"\n } else if (\n column.precision !== null &&\n column.precision !== undefined\n ) {\n type += \"(\" + column.precision + \")\"\n }\n\n if (column.type === \"timestamp with time zone\") {\n type =\n \"TIMESTAMP\" +\n (column.precision !== null && column.precision !== undefined\n ? \"(\" + column.precision + \")\"\n : \"\") +\n \" WITH TIME ZONE\"\n } else if (column.type === \"timestamp with local time zone\") {\n type =\n \"TIMESTAMP\" +\n (column.precision !== null && column.precision !== undefined\n ? \"(\" + column.precision + \")\"\n : \"\") +\n \" WITH LOCAL TIME ZONE\"\n }\n\n if (column.isArray) type += \" array\"\n\n return type\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return new Promise<any>((ok, fail) => {\n if (!this.master) {\n return fail(new TypeORMError(\"Driver not Connected\"))\n }\n\n this.master.getConnection(\n (err: any, connection: any, release: Function) => {\n if (err) return fail(err)\n ok(connection)\n },\n )\n })\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.slaves.length) return this.obtainMasterConnection()\n\n return new Promise<any>((ok, fail) => {\n const random = Math.floor(Math.random() * this.slaves.length)\n\n this.slaves[random].getConnection((err: any, connection: any) => {\n if (err) return fail(err)\n ok(connection)\n })\n })\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n if (!insertResult) return undefined\n\n return Object.keys(insertResult).reduce((map, key) => {\n const column = metadata.findColumnWithDatabaseName(key)\n if (column) {\n OrmUtils.mergeDeep(\n map,\n column.createValueMap(\n this.prepareHydratedValue(insertResult[key], column),\n ),\n )\n }\n return map\n }, {} as ObjectLiteral)\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(\n tableColumns: TableColumn[],\n columnMetadatas: ColumnMetadata[],\n ): ColumnMetadata[] {\n return columnMetadatas.filter((columnMetadata) => {\n const tableColumn = tableColumns.find(\n (c) => c.name === columnMetadata.databaseName,\n )\n if (!tableColumn) return false // we don't need new columns, we only need exist and changed\n\n const isColumnChanged =\n tableColumn.name !== columnMetadata.databaseName ||\n tableColumn.type !== this.normalizeType(columnMetadata) ||\n tableColumn.length !== this.getColumnLength(columnMetadata) ||\n tableColumn.precision !== columnMetadata.precision ||\n tableColumn.scale !== columnMetadata.scale ||\n // || tableColumn.comment !== columnMetadata.comment\n tableColumn.default !== this.normalizeDefault(columnMetadata) ||\n tableColumn.isPrimary !== columnMetadata.isPrimary ||\n tableColumn.isNullable !== columnMetadata.isNullable ||\n tableColumn.asExpression !== columnMetadata.asExpression ||\n tableColumn.generatedType !== columnMetadata.generatedType ||\n tableColumn.isUnique !==\n this.normalizeIsUnique(columnMetadata) ||\n (columnMetadata.generationStrategy !== \"uuid\" &&\n tableColumn.isGenerated !== columnMetadata.isGenerated)\n\n // DEBUG SECTION\n // if (isColumnChanged) {\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName)\n // console.log(\n // \"name:\",\n // tableColumn.name,\n // columnMetadata.databaseName,\n // )\n // console.log(\n // \"type:\",\n // tableColumn.type,\n // this.normalizeType(columnMetadata),\n // )\n // console.log(\n // \"length:\",\n // tableColumn.length,\n // columnMetadata.length,\n // )\n // console.log(\n // \"precision:\",\n // tableColumn.precision,\n // columnMetadata.precision,\n // )\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale)\n // console.log(\n // \"comment:\",\n // tableColumn.comment,\n // columnMetadata.comment,\n // )\n // console.log(\n // \"default:\",\n // tableColumn.default,\n // this.normalizeDefault(columnMetadata),\n // )\n // console.log(\n // \"enum:\",\n // tableColumn.enum &&\n // columnMetadata.enum &&\n // !OrmUtils.isArraysEqual(\n // tableColumn.enum,\n // columnMetadata.enum.map((val) => val + \"\"),\n // ),\n // )\n // console.log(\n // \"onUpdate:\",\n // tableColumn.onUpdate,\n // columnMetadata.onUpdate,\n // )\n // console.log(\n // \"isPrimary:\",\n // tableColumn.isPrimary,\n // columnMetadata.isPrimary,\n // )\n // console.log(\n // \"isNullable:\",\n // tableColumn.isNullable,\n // columnMetadata.isNullable,\n // )\n // console.log(\n // \"asExpression:\",\n // tableColumn.asExpression,\n // columnMetadata.asExpression,\n // )\n // console.log(\n // \"generatedType:\",\n // tableColumn.generatedType,\n // columnMetadata.generatedType,\n // )\n // console.log(\n // \"isUnique:\",\n // tableColumn.isUnique,\n // this.normalizeIsUnique(columnMetadata),\n // )\n // console.log(\n // \"isGenerated:\",\n // tableColumn.isGenerated,\n // columnMetadata.isGenerated,\n // )\n // console.log(\"==========================================\")\n // }\n\n return isColumnChanged\n })\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return true\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return \":\" + (index + 1)\n }\n\n /**\n * Converts column type in to native oracle type.\n */\n columnTypeToNativeParameter(type: ColumnType): any {\n switch (this.normalizeType({ type: type as any })) {\n case \"number\":\n case \"numeric\":\n case \"int\":\n case \"integer\":\n case \"smallint\":\n case \"dec\":\n case \"decimal\":\n return this.oracle.NUMBER\n case \"char\":\n case \"nchar\":\n case \"nvarchar2\":\n case \"varchar2\":\n return this.oracle.STRING\n case \"blob\":\n return this.oracle.BLOB\n case \"clob\":\n return this.oracle.CLOB\n case \"date\":\n case \"timestamp\":\n case \"timestamp with time zone\":\n case \"timestamp with local time zone\":\n return this.oracle.DATE\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): void {\n try {\n const oracle = this.options.driver || PlatformTools.load(\"oracledb\")\n this.oracle = oracle\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Oracle\", \"oracledb\")\n }\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected async createPool(\n options: OracleConnectionOptions,\n credentials: OracleConnectionCredentialsOptions,\n ): Promise<any> {\n credentials = Object.assign(\n {},\n credentials,\n DriverUtils.buildDriverOptions(credentials),\n ) // todo: do it better way\n\n if (!credentials.connectString) {\n let address = `(PROTOCOL=TCP)`\n\n if (credentials.host) {\n address += `(HOST=${credentials.host})`\n }\n\n if (credentials.port) {\n address += `(PORT=${credentials.port})`\n }\n\n let connectData = `(SERVER=DEDICATED)`\n\n if (credentials.sid) {\n connectData += `(SID=${credentials.sid})`\n }\n\n if (credentials.serviceName) {\n connectData += `(SERVICE_NAME=${credentials.serviceName})`\n }\n\n const connectString = `(DESCRIPTION=(ADDRESS=${address})(CONNECT_DATA=${connectData}))`\n Object.assign(credentials, { connectString })\n }\n\n // build connection options for the driver\n const connectionOptions = Object.assign(\n {},\n {\n user: credentials.username,\n password: credentials.password,\n connectString: credentials.connectString,\n },\n {\n poolMax: options.poolSize,\n },\n options.extra || {},\n )\n\n // pooling is enabled either when its set explicitly to true,\n // either when its not defined at all (e.g. enabled by default)\n return new Promise<void>((ok, fail) => {\n this.oracle.createPool(connectionOptions, (err: any, pool: any) => {\n if (err) return fail(err)\n ok(pool)\n })\n })\n }\n\n /**\n * Closes connection pool.\n */\n protected async closePool(pool: any): Promise<void> {\n return new Promise<void>((ok, fail) => {\n pool.close((err: any) => (err ? fail(err) : ok()))\n pool = undefined\n })\n }\n}\n"],"sourceRoot":"../.."}
@@ -1,19 +1,19 @@
1
1
 
2
- import { QueryRunner } from "../../query-runner/QueryRunner";
2
+ import type { QueryRunner } from "../../query-runner/QueryRunner";
3
3
  import { TableColumn } from "../../schema-builder/table/TableColumn";
4
4
  import { Table } from "../../schema-builder/table/Table";
5
5
  import { TableForeignKey } from "../../schema-builder/table/TableForeignKey";
6
6
  import { TableIndex } from "../../schema-builder/table/TableIndex";
7
7
  import { View } from "../../schema-builder/view/View";
8
8
  import { Query } from "../Query";
9
- import { OracleDriver } from "./OracleDriver";
10
- import { ReadStream } from "../../platform/PlatformTools";
9
+ import type { OracleDriver } from "./OracleDriver";
10
+ import type { ReadStream } from "../../platform/PlatformTools";
11
11
  import { TableUnique } from "../../schema-builder/table/TableUnique";
12
12
  import { BaseQueryRunner } from "../../query-runner/BaseQueryRunner";
13
13
  import { TableCheck } from "../../schema-builder/table/TableCheck";
14
- import { IsolationLevel } from "../types/IsolationLevel";
15
- import { TableExclusion } from "../../schema-builder/table/TableExclusion";
16
- import { ReplicationMode } from "../types/ReplicationMode";
14
+ import type { IsolationLevel } from "../types/IsolationLevel";
15
+ import type { TableExclusion } from "../../schema-builder/table/TableExclusion";
16
+ import type { ReplicationMode } from "../types/ReplicationMode";
17
17
  /**
18
18
  * Runs queries on a single oracle database connection.
19
19
  */
@@ -451,7 +451,7 @@ export class OracleQueryRunner extends BaseQueryRunner {
451
451
  const oldTable = InstanceChecker.isTable(oldTableOrName)
452
452
  ? oldTableOrName
453
453
  : await this.getCachedTable(oldTableOrName);
454
- let newTable = oldTable.clone();
454
+ const newTable = oldTable.clone();
455
455
  const { database: dbName, tableName: oldTableName } = this.driver.parseTableName(oldTable);
456
456
  newTable.name = dbName ? `${dbName}.${newTableName}` : newTableName;
457
457
  // rename table
@@ -1707,7 +1707,7 @@ export class OracleQueryRunner extends BaseQueryRunner {
1707
1707
  * Builds drop index sql.
1708
1708
  */
1709
1709
  dropIndexSql(indexOrName) {
1710
- let indexName = InstanceChecker.isTableIndex(indexOrName)
1710
+ const indexName = InstanceChecker.isTableIndex(indexOrName)
1711
1711
  ? indexOrName.name
1712
1712
  : indexOrName;
1713
1713
  return new Query(`DROP INDEX "${indexName}"`);