typeorm 0.2.24 → 0.2.28

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 (1002) hide show
  1. package/README.md +12 -8
  2. package/browser/cache/DbQueryResultCache.js +14 -14
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/cache/RedisQueryResultCache.js +20 -15
  5. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  6. package/browser/common/DeepPartial.d.ts +1 -1
  7. package/browser/common/DeepPartial.js.map +1 -1
  8. package/browser/common/EntityTarget.d.ts +9 -0
  9. package/browser/common/EntityTarget.js +3 -0
  10. package/browser/common/EntityTarget.js.map +1 -0
  11. package/browser/connection/Connection.d.ts +11 -10
  12. package/browser/connection/Connection.js +66 -42
  13. package/browser/connection/Connection.js.map +1 -1
  14. package/browser/connection/ConnectionMetadataBuilder.js +8 -8
  15. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  16. package/browser/connection/ConnectionOptions.d.ts +3 -1
  17. package/browser/connection/ConnectionOptions.js.map +1 -1
  18. package/browser/connection/ConnectionOptionsReader.js +47 -42
  19. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  20. package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +5 -1
  21. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +45 -31
  22. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  23. package/browser/connection/options-reader/ConnectionOptionsXmlReader.js +4 -4
  24. package/browser/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  25. package/browser/connection/options-reader/ConnectionOptionsYmlReader.d.ts +1 -1
  26. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +15 -4
  27. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  28. package/browser/decorator/Check.d.ts +2 -2
  29. package/browser/decorator/Check.js.map +1 -1
  30. package/browser/decorator/EntityRepository.d.ts +1 -1
  31. package/browser/decorator/EntityRepository.js.map +1 -1
  32. package/browser/decorator/Exclusion.d.ts +2 -2
  33. package/browser/decorator/Exclusion.js.map +1 -1
  34. package/browser/decorator/Generated.d.ts +1 -1
  35. package/browser/decorator/Generated.js.map +1 -1
  36. package/browser/decorator/Index.d.ts +7 -7
  37. package/browser/decorator/Index.js.map +1 -1
  38. package/browser/decorator/Unique.d.ts +4 -4
  39. package/browser/decorator/Unique.js +12 -1
  40. package/browser/decorator/Unique.js.map +1 -1
  41. package/browser/decorator/columns/Column.d.ts +12 -12
  42. package/browser/decorator/columns/Column.js.map +1 -1
  43. package/browser/decorator/columns/CreateDateColumn.d.ts +1 -1
  44. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  45. package/browser/decorator/columns/DeleteDateColumn.d.ts +1 -1
  46. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  47. package/browser/decorator/columns/ObjectIdColumn.d.ts +1 -1
  48. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  49. package/browser/decorator/columns/PrimaryColumn.d.ts +2 -2
  50. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  51. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +5 -5
  52. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  53. package/browser/decorator/columns/UpdateDateColumn.d.ts +1 -1
  54. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  55. package/browser/decorator/columns/VersionColumn.d.ts +1 -1
  56. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  57. package/browser/decorator/columns/ViewColumn.d.ts +2 -1
  58. package/browser/decorator/columns/ViewColumn.js +2 -2
  59. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  60. package/browser/decorator/entity/ChildEntity.d.ts +1 -1
  61. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  62. package/browser/decorator/entity/Entity.d.ts +2 -2
  63. package/browser/decorator/entity/Entity.js.map +1 -1
  64. package/browser/decorator/entity/TableInheritance.d.ts +1 -1
  65. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  66. package/browser/decorator/entity-view/ViewEntity.d.ts +2 -2
  67. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  68. package/browser/decorator/listeners/AfterInsert.d.ts +1 -1
  69. package/browser/decorator/listeners/AfterInsert.js.map +1 -1
  70. package/browser/decorator/listeners/AfterLoad.d.ts +1 -1
  71. package/browser/decorator/listeners/AfterLoad.js.map +1 -1
  72. package/browser/decorator/listeners/AfterRemove.d.ts +1 -1
  73. package/browser/decorator/listeners/AfterRemove.js.map +1 -1
  74. package/browser/decorator/listeners/AfterUpdate.d.ts +1 -1
  75. package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
  76. package/browser/decorator/listeners/BeforeInsert.d.ts +1 -1
  77. package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
  78. package/browser/decorator/listeners/BeforeRemove.d.ts +1 -1
  79. package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
  80. package/browser/decorator/listeners/BeforeUpdate.d.ts +1 -1
  81. package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
  82. package/browser/decorator/listeners/EventSubscriber.d.ts +1 -1
  83. package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
  84. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  85. package/browser/decorator/options/TransactionOptions.js.map +1 -1
  86. package/browser/decorator/options/ViewColumnOptions.d.ts +9 -0
  87. package/browser/decorator/options/ViewColumnOptions.js +3 -0
  88. package/browser/decorator/options/ViewColumnOptions.js.map +1 -0
  89. package/browser/decorator/relations/JoinColumn.d.ts +3 -3
  90. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  91. package/browser/decorator/relations/JoinTable.d.ts +3 -3
  92. package/browser/decorator/relations/JoinTable.js.map +1 -1
  93. package/browser/decorator/relations/ManyToMany.d.ts +2 -2
  94. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  95. package/browser/decorator/relations/ManyToOne.d.ts +2 -2
  96. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  97. package/browser/decorator/relations/OneToMany.d.ts +3 -3
  98. package/browser/decorator/relations/OneToMany.js +2 -2
  99. package/browser/decorator/relations/OneToMany.js.map +1 -1
  100. package/browser/decorator/relations/OneToOne.d.ts +2 -2
  101. package/browser/decorator/relations/OneToOne.js.map +1 -1
  102. package/browser/decorator/relations/RelationCount.d.ts +1 -1
  103. package/browser/decorator/relations/RelationCount.js.map +1 -1
  104. package/browser/decorator/relations/RelationId.d.ts +1 -1
  105. package/browser/decorator/relations/RelationId.js.map +1 -1
  106. package/browser/decorator/transaction/Transaction.js +4 -4
  107. package/browser/decorator/transaction/Transaction.js.map +1 -1
  108. package/browser/decorator/transaction/TransactionManager.d.ts +1 -1
  109. package/browser/decorator/transaction/TransactionManager.js.map +1 -1
  110. package/browser/decorator/tree/Tree.d.ts +1 -1
  111. package/browser/decorator/tree/Tree.js.map +1 -1
  112. package/browser/decorator/tree/TreeChildren.d.ts +1 -1
  113. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  114. package/browser/decorator/tree/TreeLevelColumn.d.ts +1 -1
  115. package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
  116. package/browser/decorator/tree/TreeParent.d.ts +1 -1
  117. package/browser/decorator/tree/TreeParent.js.map +1 -1
  118. package/browser/driver/Driver.d.ts +7 -2
  119. package/browser/driver/Driver.js.map +1 -1
  120. package/browser/driver/DriverFactory.js +6 -0
  121. package/browser/driver/DriverFactory.js.map +1 -1
  122. package/browser/driver/DriverUtils.d.ts +2 -2
  123. package/browser/driver/DriverUtils.js +8 -4
  124. package/browser/driver/DriverUtils.js.map +1 -1
  125. package/browser/driver/aurora-data-api/AuroraDataApiConnection.d.ts +2 -1
  126. package/browser/driver/aurora-data-api/AuroraDataApiConnection.js +2 -3
  127. package/browser/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  128. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +6 -0
  129. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  130. package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +6 -1
  131. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +14 -9
  132. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  133. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +5 -0
  134. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +230 -143
  135. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  136. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +27 -0
  137. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +3 -0
  138. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -0
  139. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +57 -0
  140. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +99 -0
  141. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -0
  142. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +51 -0
  143. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +142 -0
  144. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -0
  145. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +50 -0
  146. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +3 -0
  147. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
  148. package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +46 -0
  149. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +125 -0
  150. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
  151. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +22 -0
  152. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +113 -0
  153. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
  154. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  155. package/browser/driver/cockroachdb/CockroachDriver.d.ts +6 -1
  156. package/browser/driver/cockroachdb/CockroachDriver.js +18 -13
  157. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  158. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +3 -1
  159. package/browser/driver/cockroachdb/CockroachQueryRunner.js +420 -192
  160. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  161. package/browser/driver/cordova/CordovaDriver.d.ts +2 -1
  162. package/browser/driver/cordova/CordovaDriver.js +4 -5
  163. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  164. package/browser/driver/cordova/CordovaQueryRunner.js +4 -4
  165. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  166. package/browser/driver/expo/ExpoDriver.d.ts +2 -1
  167. package/browser/driver/expo/ExpoDriver.js +5 -5
  168. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  169. package/browser/driver/expo/ExpoQueryRunner.js +10 -10
  170. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  171. package/browser/driver/mongodb/MongoDriver.d.ts +6 -1
  172. package/browser/driver/mongodb/MongoDriver.js +9 -4
  173. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  174. package/browser/driver/mongodb/MongoQueryRunner.d.ts +1 -0
  175. package/browser/driver/mongodb/MongoQueryRunner.js +175 -175
  176. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  177. package/browser/driver/mongodb/typings.d.ts +4 -1
  178. package/browser/driver/mongodb/typings.js.map +1 -1
  179. package/browser/driver/mysql/MysqlDriver.d.ts +7 -2
  180. package/browser/driver/mysql/MysqlDriver.js +16 -9
  181. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  182. package/browser/driver/mysql/MysqlQueryRunner.d.ts +7 -1
  183. package/browser/driver/mysql/MysqlQueryRunner.js +246 -149
  184. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  185. package/browser/driver/nativescript/NativescriptDriver.d.ts +2 -1
  186. package/browser/driver/nativescript/NativescriptDriver.js +4 -5
  187. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  188. package/browser/driver/nativescript/NativescriptQueryRunner.js +2 -2
  189. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  190. package/browser/driver/oracle/OracleDriver.d.ts +6 -1
  191. package/browser/driver/oracle/OracleDriver.js +17 -12
  192. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  193. package/browser/driver/oracle/OracleQueryRunner.d.ts +3 -1
  194. package/browser/driver/oracle/OracleQueryRunner.js +195 -128
  195. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  196. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  197. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  198. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +9 -0
  199. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  200. package/browser/driver/postgres/PostgresDriver.d.ts +19 -4
  201. package/browser/driver/postgres/PostgresDriver.js +194 -124
  202. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  203. package/browser/driver/postgres/PostgresQueryRunner.d.ts +3 -1
  204. package/browser/driver/postgres/PostgresQueryRunner.js +416 -196
  205. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  206. package/browser/driver/react-native/ReactNativeDriver.d.ts +2 -1
  207. package/browser/driver/react-native/ReactNativeDriver.js +6 -6
  208. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  209. package/browser/driver/react-native/ReactNativeQueryRunner.js +4 -4
  210. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  211. package/browser/driver/sap/SapConnectionCredentialsOptions.d.ts +1 -1
  212. package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  213. package/browser/driver/sap/SapDriver.d.ts +6 -1
  214. package/browser/driver/sap/SapDriver.js +25 -15
  215. package/browser/driver/sap/SapDriver.js.map +1 -1
  216. package/browser/driver/sap/SapQueryRunner.d.ts +3 -1
  217. package/browser/driver/sap/SapQueryRunner.js +224 -156
  218. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  219. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +18 -0
  220. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  221. package/browser/driver/sqlite/SqliteDriver.d.ts +2 -1
  222. package/browser/driver/sqlite/SqliteDriver.js +30 -18
  223. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  224. package/browser/driver/sqlite/SqliteQueryRunner.js +33 -18
  225. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  226. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +7 -2
  227. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +36 -9
  228. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  229. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -0
  230. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +134 -120
  231. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  232. package/browser/driver/sqljs/SqljsDriver.d.ts +2 -1
  233. package/browser/driver/sqljs/SqljsDriver.js +15 -16
  234. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  235. package/browser/driver/sqljs/SqljsQueryRunner.js +11 -7
  236. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  237. package/browser/driver/sqlserver/SqlServerDriver.d.ts +6 -1
  238. package/browser/driver/sqlserver/SqlServerDriver.js +13 -8
  239. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  240. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +3 -1
  241. package/browser/driver/sqlserver/SqlServerQueryRunner.js +237 -170
  242. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  243. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  244. package/browser/driver/types/ColumnTypes.js.map +1 -1
  245. package/browser/driver/types/DatabaseType.d.ts +1 -1
  246. package/browser/driver/types/DatabaseType.js.map +1 -1
  247. package/browser/driver/types/ReplicationMode.d.ts +1 -0
  248. package/browser/driver/types/ReplicationMode.js +3 -0
  249. package/browser/driver/types/ReplicationMode.js.map +1 -0
  250. package/browser/entity-manager/EntityManager.d.ts +42 -257
  251. package/browser/entity-manager/EntityManager.js +39 -39
  252. package/browser/entity-manager/EntityManager.js.map +1 -1
  253. package/browser/entity-manager/MongoEntityManager.d.ts +46 -46
  254. package/browser/entity-manager/MongoEntityManager.js +17 -17
  255. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  256. package/browser/entity-manager/SqljsEntityManager.js +6 -6
  257. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  258. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  259. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
  260. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  261. package/browser/entity-schema/EntitySchemaTransformer.js +22 -7
  262. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  263. package/browser/error/AlreadyHasActiveConnectionError.js +2 -2
  264. package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
  265. package/browser/error/CannotAttachTreeChildrenEntityError.js +2 -2
  266. package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  267. package/browser/error/CannotConnectAlreadyConnectedError.js +2 -2
  268. package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  269. package/browser/error/CannotCreateEntityIdMapError.js +2 -2
  270. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  271. package/browser/error/CannotDetermineEntityError.js +2 -2
  272. package/browser/error/CannotDetermineEntityError.js.map +1 -1
  273. package/browser/error/CannotExecuteNotConnectedError.js +2 -2
  274. package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
  275. package/browser/error/CannotGetEntityManagerNotConnectedError.js +2 -2
  276. package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  277. package/browser/error/CannotReflectMethodParameterTypeError.js +2 -2
  278. package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  279. package/browser/error/CircularRelationsError.js +2 -2
  280. package/browser/error/CircularRelationsError.js.map +1 -1
  281. package/browser/error/ColumnTypeUndefinedError.js +2 -2
  282. package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
  283. package/browser/error/ConnectionIsNotSetError.js +2 -2
  284. package/browser/error/ConnectionIsNotSetError.js.map +1 -1
  285. package/browser/error/ConnectionNotFoundError.js +2 -2
  286. package/browser/error/ConnectionNotFoundError.js.map +1 -1
  287. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js +2 -2
  288. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  289. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js +2 -2
  290. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  291. package/browser/error/CustomRepositoryNotFoundError.js +2 -2
  292. package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
  293. package/browser/error/DataTypeNotSupportedError.js +2 -2
  294. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  295. package/browser/error/DriverOptionNotSetError.js +2 -2
  296. package/browser/error/DriverOptionNotSetError.js.map +1 -1
  297. package/browser/error/DriverPackageNotInstalledError.js +2 -2
  298. package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
  299. package/browser/error/EntityColumnNotFound.js +2 -2
  300. package/browser/error/EntityColumnNotFound.js.map +1 -1
  301. package/browser/error/EntityMetadataNotFoundError.d.ts +2 -2
  302. package/browser/error/EntityMetadataNotFoundError.js +5 -2
  303. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  304. package/browser/error/EntityNotFoundError.d.ts +2 -3
  305. package/browser/error/EntityNotFoundError.js +5 -2
  306. package/browser/error/EntityNotFoundError.js.map +1 -1
  307. package/browser/error/FindRelationsNotFoundError.js +4 -4
  308. package/browser/error/FindRelationsNotFoundError.js.map +1 -1
  309. package/browser/error/InitializedRelationError.js +2 -2
  310. package/browser/error/InitializedRelationError.js.map +1 -1
  311. package/browser/error/InsertValuesMissingError.js +2 -2
  312. package/browser/error/InsertValuesMissingError.js.map +1 -1
  313. package/browser/error/LimitOnUpdateNotSupportedError.js +2 -2
  314. package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  315. package/browser/error/LockNotSupportedOnGivenDriverError.js +2 -2
  316. package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  317. package/browser/error/MetadataAlreadyExistsError.js +2 -2
  318. package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
  319. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js +2 -2
  320. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  321. package/browser/error/MissingDeleteDateColumnError.js +2 -2
  322. package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
  323. package/browser/error/MissingDriverError.js +3 -3
  324. package/browser/error/MissingDriverError.js.map +1 -1
  325. package/browser/error/MissingJoinColumnError.js +2 -2
  326. package/browser/error/MissingJoinColumnError.js.map +1 -1
  327. package/browser/error/MissingJoinTableError.js +2 -2
  328. package/browser/error/MissingJoinTableError.js.map +1 -1
  329. package/browser/error/MissingPrimaryColumnError.js +2 -2
  330. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  331. package/browser/error/MustBeEntityError.js +2 -2
  332. package/browser/error/MustBeEntityError.js.map +1 -1
  333. package/browser/error/NamingStrategyNotFoundError.js +2 -2
  334. package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
  335. package/browser/error/NoConnectionForRepositoryError.js +2 -2
  336. package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
  337. package/browser/error/NoConnectionOptionError.js +2 -2
  338. package/browser/error/NoConnectionOptionError.js.map +1 -1
  339. package/browser/error/NoNeedToReleaseEntityManagerError.js +2 -2
  340. package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  341. package/browser/error/NoVersionOrUpdateDateColumnError.js +2 -2
  342. package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  343. package/browser/error/OffsetWithoutLimitNotSupportedError.js +2 -2
  344. package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  345. package/browser/error/OptimisticLockCanNotBeUsedError.js +2 -2
  346. package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  347. package/browser/error/OptimisticLockVersionMismatchError.js +2 -2
  348. package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
  349. package/browser/error/PersistedEntityNotFoundError.js +2 -2
  350. package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
  351. package/browser/error/PessimisticLockTransactionRequiredError.js +2 -2
  352. package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  353. package/browser/error/PrimaryColumnCannotBeNullableError.js +2 -2
  354. package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  355. package/browser/error/QueryFailedError.js +3 -3
  356. package/browser/error/QueryFailedError.js.map +1 -1
  357. package/browser/error/QueryRunnerAlreadyReleasedError.js +2 -2
  358. package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  359. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js +2 -2
  360. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  361. package/browser/error/RepositoryNotFoundError.d.ts +2 -2
  362. package/browser/error/RepositoryNotFoundError.js +5 -2
  363. package/browser/error/RepositoryNotFoundError.js.map +1 -1
  364. package/browser/error/RepositoryNotTreeError.d.ts +2 -2
  365. package/browser/error/RepositoryNotTreeError.js +11 -8
  366. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  367. package/browser/error/ReturningStatementNotSupportedError.js +2 -2
  368. package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
  369. package/browser/error/SubjectRemovedAndUpdatedError.js +2 -2
  370. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  371. package/browser/error/SubjectWithoutIdentifierError.js +2 -2
  372. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  373. package/browser/error/TransactionAlreadyStartedError.js +2 -2
  374. package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
  375. package/browser/error/TransactionNotStartedError.js +2 -2
  376. package/browser/error/TransactionNotStartedError.js.map +1 -1
  377. package/browser/error/TreeRepositoryNotSupportedError.js +2 -2
  378. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  379. package/browser/error/UpdateValuesMissingError.js +2 -2
  380. package/browser/error/UpdateValuesMissingError.js.map +1 -1
  381. package/browser/error/UsingJoinColumnIsNotAllowedError.js +2 -2
  382. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  383. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +2 -2
  384. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  385. package/browser/error/UsingJoinTableIsNotAllowedError.js +2 -2
  386. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  387. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js +2 -2
  388. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  389. package/browser/find-options/FindOneOptions.d.ts +2 -2
  390. package/browser/find-options/FindOneOptions.js.map +1 -1
  391. package/browser/find-options/FindOperator.d.ts +6 -3
  392. package/browser/find-options/FindOperator.js +22 -45
  393. package/browser/find-options/FindOperator.js.map +1 -1
  394. package/browser/find-options/FindOptionsUtils.d.ts +2 -2
  395. package/browser/find-options/FindOptionsUtils.js +1 -1
  396. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  397. package/browser/find-options/operator/Any.d.ts +1 -1
  398. package/browser/find-options/operator/Any.js.map +1 -1
  399. package/browser/find-options/operator/Between.d.ts +1 -1
  400. package/browser/find-options/operator/Between.js.map +1 -1
  401. package/browser/find-options/operator/In.d.ts +1 -1
  402. package/browser/find-options/operator/In.js.map +1 -1
  403. package/browser/find-options/operator/Raw.d.ts +1 -1
  404. package/browser/find-options/operator/Raw.js.map +1 -1
  405. package/browser/index.d.ts +8 -11
  406. package/browser/index.js +8 -15
  407. package/browser/index.js.map +1 -1
  408. package/browser/logger/DebugLogger.d.ts +0 -1
  409. package/browser/logger/DebugLogger.js +9 -9
  410. package/browser/logger/DebugLogger.js.map +1 -1
  411. package/browser/logger/FileLogger.d.ts +3 -1
  412. package/browser/logger/FileLogger.js +9 -3
  413. package/browser/logger/FileLogger.js.map +1 -1
  414. package/browser/logger/LoggerOptions.d.ts +9 -0
  415. package/browser/logger/LoggerOptions.js.map +1 -1
  416. package/browser/metadata/ColumnMetadata.js +15 -16
  417. package/browser/metadata/ColumnMetadata.js.map +1 -1
  418. package/browser/metadata/EmbeddedMetadata.js +2 -2
  419. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  420. package/browser/metadata/EntityMetadata.d.ts +1 -5
  421. package/browser/metadata/EntityMetadata.js +15 -16
  422. package/browser/metadata/EntityMetadata.js.map +1 -1
  423. package/browser/metadata/RelationMetadata.js +12 -12
  424. package/browser/metadata/RelationMetadata.js.map +1 -1
  425. package/browser/metadata-args/EntityRepositoryMetadataArgs.d.ts +2 -2
  426. package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  427. package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  428. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  429. package/browser/metadata-builder/EntityMetadataBuilder.js +14 -12
  430. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  431. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +3 -2
  432. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  433. package/browser/migration/MigrationExecutor.js +132 -103
  434. package/browser/migration/MigrationExecutor.js.map +1 -1
  435. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +5 -0
  436. package/browser/naming-strategy/DefaultNamingStrategy.js +8 -6
  437. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  438. package/browser/naming-strategy/NamingStrategyInterface.d.ts +11 -0
  439. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  440. package/browser/persistence/EntityPersistExecutor.js +64 -46
  441. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  442. package/browser/persistence/Subject.js +2 -2
  443. package/browser/persistence/Subject.js.map +1 -1
  444. package/browser/persistence/SubjectChangedColumnsComputer.js +11 -7
  445. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  446. package/browser/persistence/SubjectDatabaseEntityLoader.js +9 -8
  447. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  448. package/browser/persistence/SubjectExecutor.js +263 -206
  449. package/browser/persistence/SubjectExecutor.js.map +1 -1
  450. package/browser/persistence/SubjectTopoligicalSorter.js +6 -6
  451. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  452. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +2 -2
  453. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  454. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -3
  455. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  456. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +1 -1
  457. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  458. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  459. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  460. package/browser/persistence/tree/ClosureSubjectExecutor.js +4 -4
  461. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  462. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +5 -4
  463. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  464. package/browser/persistence/tree/NestedSetSubjectExecutor.js +3 -3
  465. package/browser/platform/BrowserConnectionOptionsReaderDummy.d.ts +38 -0
  466. package/browser/platform/BrowserConnectionOptionsReaderDummy.js +93 -0
  467. package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -0
  468. package/browser/platform/BrowserDirectoryExportedClassesLoader.d.ts +15 -0
  469. package/browser/platform/BrowserDirectoryExportedClassesLoader.js +22 -0
  470. package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -0
  471. package/browser/platform/BrowserDisabledDriversDummy.d.ts +32 -2
  472. package/browser/platform/BrowserDisabledDriversDummy.js +52 -2
  473. package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
  474. package/browser/platform/BrowserFileLoggerDummy.d.ts +33 -0
  475. package/browser/platform/BrowserFileLoggerDummy.js +58 -0
  476. package/browser/platform/BrowserFileLoggerDummy.js.map +1 -0
  477. package/browser/platform/BrowserPlatformTools.d.ts +74 -0
  478. package/browser/platform/BrowserPlatformTools.js +157 -0
  479. package/browser/platform/BrowserPlatformTools.js.map +1 -0
  480. package/browser/platform/PlatformTools.d.ts +15 -21
  481. package/browser/platform/PlatformTools.js +142 -81
  482. package/browser/platform/PlatformTools.js.map +1 -1
  483. package/browser/query-builder/Alias.js.map +1 -1
  484. package/browser/query-builder/DeleteQueryBuilder.d.ts +2 -3
  485. package/browser/query-builder/DeleteQueryBuilder.js +10 -5
  486. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  487. package/browser/query-builder/InsertQueryBuilder.d.ts +2 -3
  488. package/browser/query-builder/InsertQueryBuilder.js +23 -9
  489. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  490. package/browser/query-builder/JoinAttribute.js +2 -2
  491. package/browser/query-builder/JoinAttribute.js.map +1 -1
  492. package/browser/query-builder/QueryBuilder.d.ts +11 -15
  493. package/browser/query-builder/QueryBuilder.js +92 -31
  494. package/browser/query-builder/QueryBuilder.js.map +1 -1
  495. package/browser/query-builder/QueryBuilderUtils.js +2 -2
  496. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  497. package/browser/query-builder/QueryExpressionMap.d.ts +1 -1
  498. package/browser/query-builder/QueryExpressionMap.js +4 -4
  499. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  500. package/browser/query-builder/QueryPartialEntity.d.ts +1 -1
  501. package/browser/query-builder/QueryPartialEntity.js.map +1 -1
  502. package/browser/query-builder/RelationIdLoader.js +5 -5
  503. package/browser/query-builder/RelationLoader.js +3 -3
  504. package/browser/query-builder/RelationLoader.js.map +1 -1
  505. package/browser/query-builder/RelationQueryBuilder.js +14 -14
  506. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  507. package/browser/query-builder/RelationRemover.js +7 -7
  508. package/browser/query-builder/RelationRemover.js.map +1 -1
  509. package/browser/query-builder/RelationUpdater.js +3 -3
  510. package/browser/query-builder/ReturningResultsEntityUpdator.js +30 -31
  511. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  512. package/browser/query-builder/SelectQueryBuilder.d.ts +5 -4
  513. package/browser/query-builder/SelectQueryBuilder.js +77 -41
  514. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  515. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +2 -3
  516. package/browser/query-builder/SoftDeleteQueryBuilder.js +7 -7
  517. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  518. package/browser/query-builder/UpdateQueryBuilder.js +22 -8
  519. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  520. package/browser/query-builder/relation-count/RelationCountAttribute.js +3 -3
  521. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  522. package/browser/query-builder/relation-count/RelationCountLoader.js +5 -5
  523. package/browser/query-builder/relation-id/RelationIdAttribute.js +2 -2
  524. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  525. package/browser/query-builder/relation-id/RelationIdLoader.js +6 -6
  526. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  527. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +4 -4
  528. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  529. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -7
  530. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  531. package/browser/query-runner/BaseQueryRunner.d.ts +2 -5
  532. package/browser/query-runner/BaseQueryRunner.js +106 -56
  533. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  534. package/browser/query-runner/QueryRunner.d.ts +1 -0
  535. package/browser/repository/AbstractRepository.js.map +1 -1
  536. package/browser/repository/BaseEntity.d.ts +17 -1
  537. package/browser/repository/BaseEntity.js +24 -6
  538. package/browser/repository/BaseEntity.js.map +1 -1
  539. package/browser/repository/MongoRepository.js +2 -2
  540. package/browser/repository/MongoRepository.js.map +1 -1
  541. package/browser/repository/Repository.d.ts +1 -1
  542. package/browser/repository/Repository.js +4 -4
  543. package/browser/repository/Repository.js.map +1 -1
  544. package/browser/repository/TreeRepository.js +4 -4
  545. package/browser/repository/TreeRepository.js.map +1 -1
  546. package/browser/schema-builder/MongoSchemaBuilder.js +4 -4
  547. package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
  548. package/browser/schema-builder/RdbmsSchemaBuilder.js +924 -368
  549. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  550. package/browser/schema-builder/options/TableIndexOptions.d.ts +1 -1
  551. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  552. package/browser/schema-builder/table/TableCheck.js +2 -2
  553. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  554. package/browser/schema-builder/table/TableForeignKey.js +3 -3
  555. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  556. package/browser/schema-builder/table/TableIndex.js +2 -2
  557. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  558. package/browser/schema-builder/table/TableUnique.js +2 -2
  559. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  560. package/browser/schema-builder/view/View.d.ts +1 -2
  561. package/browser/schema-builder/view/View.js.map +1 -1
  562. package/browser/util/ApplyValueTransformers.js.map +1 -1
  563. package/browser/util/DateUtils.js +3 -3
  564. package/browser/util/DateUtils.js.map +1 -1
  565. package/browser/util/DirectoryExportedClassesLoader.js +6 -5
  566. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  567. package/browser/util/ObjectUtils.js +4 -4
  568. package/browser/util/ObjectUtils.js.map +1 -1
  569. package/browser/util/OrmUtils.d.ts +4 -0
  570. package/browser/util/OrmUtils.js +19 -4
  571. package/browser/util/OrmUtils.js.map +1 -1
  572. package/browser/util/StringUtils.js +1 -1
  573. package/browser/util/StringUtils.js.map +1 -1
  574. package/cache/DbQueryResultCache.js +1 -1
  575. package/cache/DbQueryResultCache.js.map +1 -1
  576. package/cache/RedisQueryResultCache.js +7 -2
  577. package/cache/RedisQueryResultCache.js.map +1 -1
  578. package/cli.js +2 -1
  579. package/cli.js.map +1 -1
  580. package/commands/CacheClearCommand.js +4 -4
  581. package/commands/CacheClearCommand.js.map +1 -1
  582. package/commands/CommandUtils.d.ts +1 -1
  583. package/commands/CommandUtils.js +4 -4
  584. package/commands/CommandUtils.js.map +1 -1
  585. package/commands/EntityCreateCommand.js +4 -4
  586. package/commands/EntityCreateCommand.js.map +1 -1
  587. package/commands/InitCommand.js +15 -5
  588. package/commands/InitCommand.js.map +1 -1
  589. package/commands/MigrationCreateCommand.js +6 -6
  590. package/commands/MigrationCreateCommand.js.map +1 -1
  591. package/commands/MigrationGenerateCommand.d.ts +11 -1
  592. package/commands/MigrationGenerateCommand.js +42 -10
  593. package/commands/MigrationGenerateCommand.js.map +1 -1
  594. package/commands/MigrationRevertCommand.js +2 -2
  595. package/commands/MigrationRevertCommand.js.map +1 -1
  596. package/commands/MigrationRunCommand.js +3 -3
  597. package/commands/MigrationRunCommand.js.map +1 -1
  598. package/commands/MigrationShowCommand.js +3 -3
  599. package/commands/MigrationShowCommand.js.map +1 -1
  600. package/commands/QueryCommand.js +5 -5
  601. package/commands/QueryCommand.js.map +1 -1
  602. package/commands/SchemaDropCommand.js +3 -3
  603. package/commands/SchemaDropCommand.js.map +1 -1
  604. package/commands/SchemaLogCommand.js +6 -6
  605. package/commands/SchemaLogCommand.js.map +1 -1
  606. package/commands/SchemaSyncCommand.js +3 -3
  607. package/commands/SchemaSyncCommand.js.map +1 -1
  608. package/commands/SubscriberCreateCommand.js +3 -3
  609. package/commands/SubscriberCreateCommand.js.map +1 -1
  610. package/commands/VersionCommand.js +2 -2
  611. package/commands/VersionCommand.js.map +1 -1
  612. package/common/DeepPartial.d.ts +1 -1
  613. package/common/DeepPartial.js.map +1 -1
  614. package/common/EntityTarget.d.ts +9 -0
  615. package/common/EntityTarget.js +4 -0
  616. package/common/EntityTarget.js.map +1 -0
  617. package/connection/Connection.d.ts +11 -10
  618. package/connection/Connection.js +48 -24
  619. package/connection/Connection.js.map +1 -1
  620. package/connection/ConnectionOptions.d.ts +3 -1
  621. package/connection/ConnectionOptions.js.map +1 -1
  622. package/connection/ConnectionOptionsReader.js +38 -33
  623. package/connection/ConnectionOptionsReader.js.map +1 -1
  624. package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +5 -1
  625. package/connection/options-reader/ConnectionOptionsEnvReader.js +45 -31
  626. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  627. package/connection/options-reader/ConnectionOptionsXmlReader.js +2 -2
  628. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  629. package/connection/options-reader/ConnectionOptionsYmlReader.d.ts +1 -1
  630. package/connection/options-reader/ConnectionOptionsYmlReader.js +15 -4
  631. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  632. package/decorator/Check.d.ts +2 -2
  633. package/decorator/Check.js.map +1 -1
  634. package/decorator/EntityRepository.d.ts +1 -1
  635. package/decorator/EntityRepository.js.map +1 -1
  636. package/decorator/Exclusion.d.ts +2 -2
  637. package/decorator/Exclusion.js.map +1 -1
  638. package/decorator/Generated.d.ts +1 -1
  639. package/decorator/Generated.js.map +1 -1
  640. package/decorator/Index.d.ts +7 -7
  641. package/decorator/Index.js.map +1 -1
  642. package/decorator/Unique.d.ts +4 -4
  643. package/decorator/Unique.js +12 -1
  644. package/decorator/Unique.js.map +1 -1
  645. package/decorator/columns/Column.d.ts +12 -12
  646. package/decorator/columns/Column.js.map +1 -1
  647. package/decorator/columns/CreateDateColumn.d.ts +1 -1
  648. package/decorator/columns/CreateDateColumn.js.map +1 -1
  649. package/decorator/columns/DeleteDateColumn.d.ts +1 -1
  650. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  651. package/decorator/columns/ObjectIdColumn.d.ts +1 -1
  652. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  653. package/decorator/columns/PrimaryColumn.d.ts +2 -2
  654. package/decorator/columns/PrimaryColumn.js.map +1 -1
  655. package/decorator/columns/PrimaryGeneratedColumn.d.ts +5 -5
  656. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  657. package/decorator/columns/UpdateDateColumn.d.ts +1 -1
  658. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  659. package/decorator/columns/VersionColumn.d.ts +1 -1
  660. package/decorator/columns/VersionColumn.js.map +1 -1
  661. package/decorator/columns/ViewColumn.d.ts +2 -1
  662. package/decorator/columns/ViewColumn.js +2 -2
  663. package/decorator/columns/ViewColumn.js.map +1 -1
  664. package/decorator/entity/ChildEntity.d.ts +1 -1
  665. package/decorator/entity/ChildEntity.js.map +1 -1
  666. package/decorator/entity/Entity.d.ts +2 -2
  667. package/decorator/entity/Entity.js.map +1 -1
  668. package/decorator/entity/TableInheritance.d.ts +1 -1
  669. package/decorator/entity/TableInheritance.js.map +1 -1
  670. package/decorator/entity-view/ViewEntity.d.ts +2 -2
  671. package/decorator/entity-view/ViewEntity.js.map +1 -1
  672. package/decorator/listeners/AfterInsert.d.ts +1 -1
  673. package/decorator/listeners/AfterInsert.js.map +1 -1
  674. package/decorator/listeners/AfterLoad.d.ts +1 -1
  675. package/decorator/listeners/AfterLoad.js.map +1 -1
  676. package/decorator/listeners/AfterRemove.d.ts +1 -1
  677. package/decorator/listeners/AfterRemove.js.map +1 -1
  678. package/decorator/listeners/AfterUpdate.d.ts +1 -1
  679. package/decorator/listeners/AfterUpdate.js.map +1 -1
  680. package/decorator/listeners/BeforeInsert.d.ts +1 -1
  681. package/decorator/listeners/BeforeInsert.js.map +1 -1
  682. package/decorator/listeners/BeforeRemove.d.ts +1 -1
  683. package/decorator/listeners/BeforeRemove.js.map +1 -1
  684. package/decorator/listeners/BeforeUpdate.d.ts +1 -1
  685. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  686. package/decorator/listeners/EventSubscriber.d.ts +1 -1
  687. package/decorator/listeners/EventSubscriber.js.map +1 -1
  688. package/decorator/options/ColumnOptions.js.map +1 -1
  689. package/decorator/options/TransactionOptions.js.map +1 -1
  690. package/decorator/options/ViewColumnOptions.d.ts +9 -0
  691. package/decorator/options/ViewColumnOptions.js +4 -0
  692. package/decorator/options/ViewColumnOptions.js.map +1 -0
  693. package/decorator/relations/JoinColumn.d.ts +3 -3
  694. package/decorator/relations/JoinColumn.js.map +1 -1
  695. package/decorator/relations/JoinTable.d.ts +3 -3
  696. package/decorator/relations/JoinTable.js.map +1 -1
  697. package/decorator/relations/ManyToMany.d.ts +2 -2
  698. package/decorator/relations/ManyToMany.js.map +1 -1
  699. package/decorator/relations/ManyToOne.d.ts +2 -2
  700. package/decorator/relations/ManyToOne.js.map +1 -1
  701. package/decorator/relations/OneToMany.d.ts +3 -3
  702. package/decorator/relations/OneToMany.js +2 -2
  703. package/decorator/relations/OneToMany.js.map +1 -1
  704. package/decorator/relations/OneToOne.d.ts +2 -2
  705. package/decorator/relations/OneToOne.js.map +1 -1
  706. package/decorator/relations/RelationCount.d.ts +1 -1
  707. package/decorator/relations/RelationCount.js.map +1 -1
  708. package/decorator/relations/RelationId.d.ts +1 -1
  709. package/decorator/relations/RelationId.js.map +1 -1
  710. package/decorator/transaction/TransactionManager.d.ts +1 -1
  711. package/decorator/transaction/TransactionManager.js.map +1 -1
  712. package/decorator/tree/Tree.d.ts +1 -1
  713. package/decorator/tree/Tree.js.map +1 -1
  714. package/decorator/tree/TreeChildren.d.ts +1 -1
  715. package/decorator/tree/TreeChildren.js.map +1 -1
  716. package/decorator/tree/TreeLevelColumn.d.ts +1 -1
  717. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  718. package/decorator/tree/TreeParent.d.ts +1 -1
  719. package/decorator/tree/TreeParent.js.map +1 -1
  720. package/driver/Driver.d.ts +7 -2
  721. package/driver/Driver.js.map +1 -1
  722. package/driver/DriverFactory.js +6 -0
  723. package/driver/DriverFactory.js.map +1 -1
  724. package/driver/DriverUtils.d.ts +2 -2
  725. package/driver/DriverUtils.js +6 -2
  726. package/driver/DriverUtils.js.map +1 -1
  727. package/driver/aurora-data-api/AuroraDataApiConnection.d.ts +2 -1
  728. package/driver/aurora-data-api/AuroraDataApiConnection.js +0 -1
  729. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  730. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +6 -0
  731. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  732. package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +6 -1
  733. package/driver/aurora-data-api/AuroraDataApiDriver.js +7 -2
  734. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  735. package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
  736. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +106 -19
  737. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  738. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +27 -0
  739. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +4 -0
  740. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -0
  741. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +57 -0
  742. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +101 -0
  743. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -0
  744. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +51 -0
  745. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +144 -0
  746. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -0
  747. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +50 -0
  748. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +4 -0
  749. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
  750. package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +46 -0
  751. package/driver/better-sqlite3/BetterSqlite3Driver.js +127 -0
  752. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
  753. package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +22 -0
  754. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +115 -0
  755. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
  756. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  757. package/driver/cockroachdb/CockroachDriver.d.ts +6 -1
  758. package/driver/cockroachdb/CockroachDriver.js +6 -1
  759. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  760. package/driver/cockroachdb/CockroachQueryRunner.d.ts +2 -1
  761. package/driver/cockroachdb/CockroachQueryRunner.js +303 -75
  762. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  763. package/driver/cordova/CordovaDriver.d.ts +2 -1
  764. package/driver/cordova/CordovaDriver.js +0 -1
  765. package/driver/cordova/CordovaDriver.js.map +1 -1
  766. package/driver/expo/ExpoDriver.d.ts +2 -1
  767. package/driver/expo/ExpoDriver.js +1 -1
  768. package/driver/expo/ExpoDriver.js.map +1 -1
  769. package/driver/mongodb/MongoDriver.d.ts +6 -1
  770. package/driver/mongodb/MongoDriver.js +6 -1
  771. package/driver/mongodb/MongoDriver.js.map +1 -1
  772. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  773. package/driver/mongodb/typings.d.ts +4 -1
  774. package/driver/mongodb/typings.js.map +1 -1
  775. package/driver/mysql/MysqlDriver.d.ts +7 -2
  776. package/driver/mysql/MysqlDriver.js +10 -3
  777. package/driver/mysql/MysqlDriver.js.map +1 -1
  778. package/driver/mysql/MysqlQueryRunner.d.ts +6 -1
  779. package/driver/mysql/MysqlQueryRunner.js +122 -25
  780. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  781. package/driver/nativescript/NativescriptDriver.d.ts +2 -1
  782. package/driver/nativescript/NativescriptDriver.js +0 -1
  783. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  784. package/driver/oracle/OracleDriver.d.ts +6 -1
  785. package/driver/oracle/OracleDriver.js +8 -3
  786. package/driver/oracle/OracleDriver.js.map +1 -1
  787. package/driver/oracle/OracleQueryRunner.d.ts +2 -1
  788. package/driver/oracle/OracleQueryRunner.js +87 -20
  789. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  790. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
  791. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  792. package/driver/postgres/PostgresConnectionOptions.d.ts +9 -0
  793. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  794. package/driver/postgres/PostgresDriver.d.ts +19 -4
  795. package/driver/postgres/PostgresDriver.js +179 -109
  796. package/driver/postgres/PostgresDriver.js.map +1 -1
  797. package/driver/postgres/PostgresQueryRunner.d.ts +2 -1
  798. package/driver/postgres/PostgresQueryRunner.js +288 -68
  799. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  800. package/driver/react-native/ReactNativeDriver.d.ts +2 -1
  801. package/driver/react-native/ReactNativeDriver.js +2 -2
  802. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  803. package/driver/sap/SapConnectionCredentialsOptions.d.ts +1 -1
  804. package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  805. package/driver/sap/SapDriver.d.ts +6 -1
  806. package/driver/sap/SapDriver.js +19 -9
  807. package/driver/sap/SapDriver.js.map +1 -1
  808. package/driver/sap/SapQueryRunner.d.ts +2 -1
  809. package/driver/sap/SapQueryRunner.js +91 -23
  810. package/driver/sap/SapQueryRunner.js.map +1 -1
  811. package/driver/sqlite/SqliteConnectionOptions.d.ts +18 -0
  812. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  813. package/driver/sqlite/SqliteDriver.d.ts +2 -1
  814. package/driver/sqlite/SqliteDriver.js +24 -12
  815. package/driver/sqlite/SqliteDriver.js.map +1 -1
  816. package/driver/sqlite/SqliteQueryRunner.js +29 -14
  817. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  818. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +7 -2
  819. package/driver/sqlite-abstract/AbstractSqliteDriver.js +31 -4
  820. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  821. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -3
  822. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  823. package/driver/sqljs/SqljsDriver.d.ts +2 -1
  824. package/driver/sqljs/SqljsDriver.js +1 -2
  825. package/driver/sqljs/SqljsDriver.js.map +1 -1
  826. package/driver/sqljs/SqljsQueryRunner.js +5 -1
  827. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  828. package/driver/sqlserver/SqlServerDriver.d.ts +6 -1
  829. package/driver/sqlserver/SqlServerDriver.js +6 -1
  830. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  831. package/driver/sqlserver/SqlServerQueryRunner.d.ts +2 -1
  832. package/driver/sqlserver/SqlServerQueryRunner.js +91 -24
  833. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  834. package/driver/types/ColumnTypes.d.ts +1 -1
  835. package/driver/types/ColumnTypes.js.map +1 -1
  836. package/driver/types/DatabaseType.d.ts +1 -1
  837. package/driver/types/DatabaseType.js.map +1 -1
  838. package/driver/types/ReplicationMode.d.ts +1 -0
  839. package/driver/types/ReplicationMode.js +4 -0
  840. package/driver/types/ReplicationMode.js.map +1 -0
  841. package/entity-manager/EntityManager.d.ts +42 -257
  842. package/entity-manager/EntityManager.js +10 -10
  843. package/entity-manager/EntityManager.js.map +1 -1
  844. package/entity-manager/MongoEntityManager.d.ts +46 -46
  845. package/entity-manager/MongoEntityManager.js.map +1 -1
  846. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  847. package/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
  848. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  849. package/entity-schema/EntitySchemaTransformer.js +22 -7
  850. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  851. package/error/EntityMetadataNotFoundError.d.ts +2 -2
  852. package/error/EntityMetadataNotFoundError.js +3 -0
  853. package/error/EntityMetadataNotFoundError.js.map +1 -1
  854. package/error/EntityNotFoundError.d.ts +2 -3
  855. package/error/EntityNotFoundError.js +3 -0
  856. package/error/EntityNotFoundError.js.map +1 -1
  857. package/error/FindRelationsNotFoundError.js +2 -2
  858. package/error/FindRelationsNotFoundError.js.map +1 -1
  859. package/error/MissingDriverError.js +1 -1
  860. package/error/MissingDriverError.js.map +1 -1
  861. package/error/QueryFailedError.js +1 -1
  862. package/error/QueryFailedError.js.map +1 -1
  863. package/error/RepositoryNotFoundError.d.ts +2 -2
  864. package/error/RepositoryNotFoundError.js +3 -0
  865. package/error/RepositoryNotFoundError.js.map +1 -1
  866. package/error/RepositoryNotTreeError.d.ts +2 -2
  867. package/error/RepositoryNotTreeError.js +9 -6
  868. package/error/RepositoryNotTreeError.js.map +1 -1
  869. package/find-options/FindOneOptions.d.ts +2 -2
  870. package/find-options/FindOneOptions.js.map +1 -1
  871. package/find-options/FindOperator.d.ts +6 -3
  872. package/find-options/FindOperator.js +22 -45
  873. package/find-options/FindOperator.js.map +1 -1
  874. package/find-options/FindOptionsUtils.d.ts +2 -2
  875. package/find-options/FindOptionsUtils.js +1 -1
  876. package/find-options/FindOptionsUtils.js.map +1 -1
  877. package/find-options/operator/Any.d.ts +1 -1
  878. package/find-options/operator/Any.js.map +1 -1
  879. package/find-options/operator/Between.d.ts +1 -1
  880. package/find-options/operator/Between.js.map +1 -1
  881. package/find-options/operator/In.d.ts +1 -1
  882. package/find-options/operator/In.js.map +1 -1
  883. package/find-options/operator/Raw.d.ts +1 -1
  884. package/find-options/operator/Raw.js.map +1 -1
  885. package/index.d.ts +8 -11
  886. package/index.js +1 -14
  887. package/index.js.map +1 -1
  888. package/logger/DebugLogger.d.ts +0 -1
  889. package/logger/DebugLogger.js +10 -9
  890. package/logger/DebugLogger.js.map +1 -1
  891. package/logger/FileLogger.d.ts +3 -1
  892. package/logger/FileLogger.js +10 -3
  893. package/logger/FileLogger.js.map +1 -1
  894. package/logger/LoggerOptions.d.ts +9 -0
  895. package/logger/LoggerOptions.js.map +1 -1
  896. package/metadata/ColumnMetadata.js +10 -11
  897. package/metadata/ColumnMetadata.js.map +1 -1
  898. package/metadata/EntityMetadata.d.ts +1 -5
  899. package/metadata/EntityMetadata.js +13 -14
  900. package/metadata/EntityMetadata.js.map +1 -1
  901. package/metadata/RelationMetadata.js +7 -7
  902. package/metadata/RelationMetadata.js.map +1 -1
  903. package/metadata-args/EntityRepositoryMetadataArgs.d.ts +2 -2
  904. package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  905. package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  906. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  907. package/metadata-builder/EntityMetadataBuilder.js +8 -6
  908. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  909. package/metadata-builder/JunctionEntityMetadataBuilder.js +1 -0
  910. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  911. package/migration/MigrationExecutor.js +103 -74
  912. package/migration/MigrationExecutor.js.map +1 -1
  913. package/naming-strategy/DefaultNamingStrategy.d.ts +5 -0
  914. package/naming-strategy/DefaultNamingStrategy.js +2 -0
  915. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  916. package/naming-strategy/NamingStrategyInterface.d.ts +11 -0
  917. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  918. package/package.json +72 -51
  919. package/persistence/EntityPersistExecutor.js +60 -42
  920. package/persistence/EntityPersistExecutor.js.map +1 -1
  921. package/persistence/SubjectChangedColumnsComputer.js +11 -7
  922. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  923. package/persistence/SubjectDatabaseEntityLoader.js +2 -1
  924. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  925. package/persistence/SubjectExecutor.js +244 -187
  926. package/persistence/SubjectExecutor.js.map +1 -1
  927. package/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -3
  928. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  929. package/persistence/subject-builder/OneToManySubjectBuilder.js +1 -1
  930. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  931. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  932. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  933. package/persistence/tree/MaterializedPathSubjectExecutor.js +2 -1
  934. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  935. package/platform/PlatformTools.d.ts +7 -1
  936. package/platform/PlatformTools.js +44 -43
  937. package/platform/PlatformTools.js.map +1 -1
  938. package/query-builder/Alias.js.map +1 -1
  939. package/query-builder/DeleteQueryBuilder.d.ts +2 -3
  940. package/query-builder/DeleteQueryBuilder.js +5 -0
  941. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  942. package/query-builder/InsertQueryBuilder.d.ts +2 -3
  943. package/query-builder/InsertQueryBuilder.js +18 -4
  944. package/query-builder/InsertQueryBuilder.js.map +1 -1
  945. package/query-builder/QueryBuilder.d.ts +11 -15
  946. package/query-builder/QueryBuilder.js +84 -23
  947. package/query-builder/QueryBuilder.js.map +1 -1
  948. package/query-builder/QueryExpressionMap.d.ts +1 -1
  949. package/query-builder/QueryExpressionMap.js.map +1 -1
  950. package/query-builder/QueryPartialEntity.d.ts +1 -1
  951. package/query-builder/QueryPartialEntity.js.map +1 -1
  952. package/query-builder/ReturningResultsEntityUpdator.js +23 -24
  953. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  954. package/query-builder/SelectQueryBuilder.d.ts +4 -4
  955. package/query-builder/SelectQueryBuilder.js +41 -5
  956. package/query-builder/SelectQueryBuilder.js.map +1 -1
  957. package/query-builder/SoftDeleteQueryBuilder.d.ts +2 -3
  958. package/query-builder/SoftDeleteQueryBuilder.js +2 -2
  959. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  960. package/query-builder/UpdateQueryBuilder.js +17 -3
  961. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  962. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +1 -4
  963. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  964. package/query-runner/BaseQueryRunner.d.ts +2 -5
  965. package/query-runner/BaseQueryRunner.js +90 -40
  966. package/query-runner/BaseQueryRunner.js.map +1 -1
  967. package/repository/AbstractRepository.js.map +1 -1
  968. package/repository/BaseEntity.d.ts +17 -1
  969. package/repository/BaseEntity.js +20 -2
  970. package/repository/BaseEntity.js.map +1 -1
  971. package/repository/MongoRepository.js.map +1 -1
  972. package/repository/Repository.d.ts +1 -1
  973. package/repository/Repository.js +2 -2
  974. package/repository/Repository.js.map +1 -1
  975. package/schema-builder/MongoSchemaBuilder.js +1 -1
  976. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  977. package/schema-builder/RdbmsSchemaBuilder.js +875 -319
  978. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  979. package/schema-builder/options/TableIndexOptions.d.ts +1 -1
  980. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  981. package/schema-builder/view/View.d.ts +1 -2
  982. package/schema-builder/view/View.js.map +1 -1
  983. package/typeorm-class-transformer-shim.js +16 -2
  984. package/typeorm-model-shim.js +18 -0
  985. package/util/ApplyValueTransformers.js.map +1 -1
  986. package/util/DateUtils.js +1 -1
  987. package/util/DateUtils.js.map +1 -1
  988. package/util/DirectoryExportedClassesLoader.js +7 -5
  989. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  990. package/util/ObjectUtils.js +2 -2
  991. package/util/ObjectUtils.js.map +1 -1
  992. package/util/OrmUtils.d.ts +4 -0
  993. package/util/OrmUtils.js +17 -2
  994. package/util/OrmUtils.js.map +1 -1
  995. package/util/StringUtils.js +3 -2
  996. package/util/StringUtils.js.map +1 -1
  997. package/browser/util/PromiseUtils.d.ts +0 -24
  998. package/browser/util/PromiseUtils.js +0 -62
  999. package/browser/util/PromiseUtils.js.map +0 -1
  1000. package/util/PromiseUtils.d.ts +0 -24
  1001. package/util/PromiseUtils.js +0 -64
  1002. package/util/PromiseUtils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/RepositoryNotTreeError.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH;IAA4C,kDAAK;IAG7C,gCAAY,MAAyC;QAArD,YACI,iBAAO,SAWV;QAdD,UAAI,GAAG,wBAAwB,CAAC;QAI5B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,UAAkB,CAAC;QACvB,IAAI,MAAM,YAAY,YAAY,EAAE;YAChC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACpC;aAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YACrC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;SAC5B;aAAM;YACH,UAAU,GAAG,MAAM,CAAC;SACvB;QACD,KAAI,CAAC,OAAO,GAAG,yBAAsB,UAAU,mFAA+E,CAAC;;IACnI,CAAC;IAEL,6BAAC;AAAD,CAjBA,AAiBC,CAjB2C,KAAK,GAiBhD","file":"RepositoryNotTreeError.js","sourcesContent":["import {EntitySchema} from \"../index\";\n\n/**\n * Thrown when repository for the given class is not found.\n */\nexport class RepositoryNotTreeError extends Error {\n name = \"RepositoryNotTreeError\";\n\n constructor(target: Function|EntitySchema<any>|string) {\n super();\n Object.setPrototypeOf(this, RepositoryNotTreeError.prototype);\n let targetName: string;\n if (target instanceof EntitySchema) {\n targetName = target.options.name;\n } else if (typeof target === \"function\") {\n targetName = target.name;\n } else {\n targetName = target;\n }\n this.message = `Repository of the \"${targetName}\" class is not a TreeRepository. Try to apply @Tree decorator on your entity.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/RepositoryNotTreeError.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH;IAA4C,0CAAK;IAG7C,gCAAY,WAA8B;QAA1C,YACI,iBAAO,SAaV;QAhBD,UAAI,GAAG,wBAAwB,CAAC;QAI5B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,UAAkB,CAAC;QACvB,IAAI,WAAW,YAAY,YAAY,EAAE;YACrC,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SACzC;aAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;YAC1C,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;SACjC;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,MAAM,IAAI,WAAW,EAAE;YACjE,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;SACjC;aAAM;YACH,UAAU,GAAG,WAAW,CAAC;SAC5B;QACD,KAAI,CAAC,OAAO,GAAG,yBAAsB,UAAU,mFAA+E,CAAC;;IACnI,CAAC;IAEL,6BAAC;AAAD,CAnBA,AAmBC,CAnB2C,KAAK,GAmBhD","file":"RepositoryNotTreeError.js","sourcesContent":["import {EntityTarget} from \"../common/EntityTarget\";\nimport {EntitySchema} from \"../index\";\n\n/**\n * Thrown when repository for the given class is not found.\n */\nexport class RepositoryNotTreeError extends Error {\n name = \"RepositoryNotTreeError\";\n\n constructor(entityClass: EntityTarget<any>) {\n super();\n Object.setPrototypeOf(this, RepositoryNotTreeError.prototype);\n let targetName: string;\n if (entityClass instanceof EntitySchema) {\n targetName = entityClass.options.name;\n } else if (typeof entityClass === \"function\") {\n targetName = entityClass.name;\n } else if (typeof entityClass === \"object\" && \"name\" in entityClass) {\n targetName = entityClass.name;\n } else {\n targetName = entityClass;\n }\n this.message = `Repository of the \"${targetName}\" class is not a TreeRepository. Try to apply @Tree decorator on your entity.`;\n }\n\n}\n"],"sourceRoot":".."}
@@ -1,10 +1,10 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  * Thrown when user tries to build a query with RETURNING / OUTPUT statement,
4
4
  * but used database does not support it.
5
5
  */
6
6
  var ReturningStatementNotSupportedError = /** @class */ (function (_super) {
7
- tslib_1.__extends(ReturningStatementNotSupportedError, _super);
7
+ __extends(ReturningStatementNotSupportedError, _super);
8
8
  function ReturningStatementNotSupportedError() {
9
9
  var _this = _super.call(this) || this;
10
10
  _this.name = "ReturningStatementNotSupportedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/ReturningStatementNotSupportedError.ts"],"names":[],"mappings":";AAAA;;;GAGG;AACH;IAAyD,+DAAK;IAG1D;QAAA,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,qCAAqC,CAAC;QAIzC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,mCAAmC,CAAC,SAAS,CAAC,CAAC;QAC3E,KAAI,CAAC,OAAO,GAAG,4FAA4F,CAAC;;IAChH,CAAC;IAEL,0CAAC;AAAD,CATA,AASC,CATwD,KAAK,GAS7D","file":"ReturningStatementNotSupportedError.js","sourcesContent":["/**\n * Thrown when user tries to build a query with RETURNING / OUTPUT statement,\n * but used database does not support it.\n */\nexport class ReturningStatementNotSupportedError extends Error {\n name = \"ReturningStatementNotSupportedError\";\n\n constructor() {\n super();\n Object.setPrototypeOf(this, ReturningStatementNotSupportedError.prototype);\n this.message = `OUTPUT or RETURNING clause only supported by Microsoft SQL Server or PostgreSQL databases.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/ReturningStatementNotSupportedError.ts"],"names":[],"mappings":";AAAA;;;GAGG;AACH;IAAyD,uDAAK;IAG1D;QAAA,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,qCAAqC,CAAC;QAIzC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,mCAAmC,CAAC,SAAS,CAAC,CAAC;QAC3E,KAAI,CAAC,OAAO,GAAG,4FAA4F,CAAC;;IAChH,CAAC;IAEL,0CAAC;AAAD,CATA,AASC,CATwD,KAAK,GAS7D","file":"ReturningStatementNotSupportedError.js","sourcesContent":["/**\n * Thrown when user tries to build a query with RETURNING / OUTPUT statement,\n * but used database does not support it.\n */\nexport class ReturningStatementNotSupportedError extends Error {\n name = \"ReturningStatementNotSupportedError\";\n\n constructor() {\n super();\n Object.setPrototypeOf(this, ReturningStatementNotSupportedError.prototype);\n this.message = `OUTPUT or RETURNING clause only supported by Microsoft SQL Server or PostgreSQL databases.`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,9 +1,9 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  * Thrown when same object is scheduled for remove and updation at the same time.
4
4
  */
5
5
  var SubjectRemovedAndUpdatedError = /** @class */ (function (_super) {
6
- tslib_1.__extends(SubjectRemovedAndUpdatedError, _super);
6
+ __extends(SubjectRemovedAndUpdatedError, _super);
7
7
  function SubjectRemovedAndUpdatedError(subject) {
8
8
  var _this = _super.call(this) || this;
9
9
  _this.name = "SubjectRemovedAndUpdatedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/SubjectRemovedAndUpdatedError.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH;IAAmD,yDAAK;IAGpD,uCAAY,OAAgB;QAA5B,YACI,iBAAO,SAIV;QAPD,UAAI,GAAG,+BAA+B,CAAC;QAInC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACrE,KAAI,CAAC,OAAO,GAAG,sBAAmB,OAAO,CAAC,QAAQ,CAAC,IAAI,gDAA4C;YAC/F,6HAA6H,CAAC;;IACtI,CAAC;IAEL,oCAAC;AAAD,CAVA,AAUC,CAVkD,KAAK,GAUvD","file":"SubjectRemovedAndUpdatedError.js","sourcesContent":["import {Subject} from \"../persistence/Subject\";\n\n/**\n * Thrown when same object is scheduled for remove and updation at the same time.\n */\nexport class SubjectRemovedAndUpdatedError extends Error {\n name = \"SubjectRemovedAndUpdatedError\";\n\n constructor(subject: Subject) {\n super();\n Object.setPrototypeOf(this, SubjectRemovedAndUpdatedError.prototype);\n this.message = `Removed entity \"${subject.metadata.name}\" is also scheduled for update operation. ` +\n `Make sure you are not updating and removing same object (note that update or remove may be executed by cascade operations).`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/SubjectRemovedAndUpdatedError.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH;IAAmD,iDAAK;IAGpD,uCAAY,OAAgB;QAA5B,YACI,iBAAO,SAIV;QAPD,UAAI,GAAG,+BAA+B,CAAC;QAInC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACrE,KAAI,CAAC,OAAO,GAAG,sBAAmB,OAAO,CAAC,QAAQ,CAAC,IAAI,gDAA4C;YAC/F,6HAA6H,CAAC;;IACtI,CAAC;IAEL,oCAAC;AAAD,CAVA,AAUC,CAVkD,KAAK,GAUvD","file":"SubjectRemovedAndUpdatedError.js","sourcesContent":["import {Subject} from \"../persistence/Subject\";\n\n/**\n * Thrown when same object is scheduled for remove and updation at the same time.\n */\nexport class SubjectRemovedAndUpdatedError extends Error {\n name = \"SubjectRemovedAndUpdatedError\";\n\n constructor(subject: Subject) {\n super();\n Object.setPrototypeOf(this, SubjectRemovedAndUpdatedError.prototype);\n this.message = `Removed entity \"${subject.metadata.name}\" is also scheduled for update operation. ` +\n `Make sure you are not updating and removing same object (note that update or remove may be executed by cascade operations).`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,11 +1,11 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  * Thrown when operation is going to be executed on a subject without identifier.
4
4
  * This error should never be thrown, however it still presents to prevent user from updation or removing the whole table.
5
5
  * If this error occurs still, it most probably is an ORM internal problem which must be reported and fixed.
6
6
  */
7
7
  var SubjectWithoutIdentifierError = /** @class */ (function (_super) {
8
- tslib_1.__extends(SubjectWithoutIdentifierError, _super);
8
+ __extends(SubjectWithoutIdentifierError, _super);
9
9
  function SubjectWithoutIdentifierError(subject) {
10
10
  var _this = _super.call(this) || this;
11
11
  _this.name = "SubjectWithoutIdentifierError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/SubjectWithoutIdentifierError.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AACH;IAAmD,yDAAK;IAGpD,uCAAY,OAAgB;QAA5B,YACI,iBAAO,SAIV;QAPD,UAAI,GAAG,+BAA+B,CAAC;QAInC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACrE,KAAI,CAAC,OAAO,GAAG,6BAA2B,OAAO,CAAC,QAAQ,CAAC,UAAU,oDAAiD;YAClH,sDAAsD,CAAC;;IAC/D,CAAC;IAEL,oCAAC;AAAD,CAVA,AAUC,CAVkD,KAAK,GAUvD","file":"SubjectWithoutIdentifierError.js","sourcesContent":["import {Subject} from \"../persistence/Subject\";\n\n/**\n * Thrown when operation is going to be executed on a subject without identifier.\n * This error should never be thrown, however it still presents to prevent user from updation or removing the whole table.\n * If this error occurs still, it most probably is an ORM internal problem which must be reported and fixed.\n */\nexport class SubjectWithoutIdentifierError extends Error {\n name = \"SubjectWithoutIdentifierError\";\n\n constructor(subject: Subject) {\n super();\n Object.setPrototypeOf(this, SubjectWithoutIdentifierError.prototype);\n this.message = `Internal error. Subject ${subject.metadata.targetName} must have an identifier to perform operation. ` +\n `Please report a github issue if you face this error.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/SubjectWithoutIdentifierError.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AACH;IAAmD,iDAAK;IAGpD,uCAAY,OAAgB;QAA5B,YACI,iBAAO,SAIV;QAPD,UAAI,GAAG,+BAA+B,CAAC;QAInC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,6BAA6B,CAAC,SAAS,CAAC,CAAC;QACrE,KAAI,CAAC,OAAO,GAAG,6BAA2B,OAAO,CAAC,QAAQ,CAAC,UAAU,oDAAiD;YAClH,sDAAsD,CAAC;;IAC/D,CAAC;IAEL,oCAAC;AAAD,CAVA,AAUC,CAVkD,KAAK,GAUvD","file":"SubjectWithoutIdentifierError.js","sourcesContent":["import {Subject} from \"../persistence/Subject\";\n\n/**\n * Thrown when operation is going to be executed on a subject without identifier.\n * This error should never be thrown, however it still presents to prevent user from updation or removing the whole table.\n * If this error occurs still, it most probably is an ORM internal problem which must be reported and fixed.\n */\nexport class SubjectWithoutIdentifierError extends Error {\n name = \"SubjectWithoutIdentifierError\";\n\n constructor(subject: Subject) {\n super();\n Object.setPrototypeOf(this, SubjectWithoutIdentifierError.prototype);\n this.message = `Internal error. Subject ${subject.metadata.targetName} must have an identifier to perform operation. ` +\n `Please report a github issue if you face this error.`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,9 +1,9 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  * Thrown when transaction is already started and user tries to run it again.
4
4
  */
5
5
  var TransactionAlreadyStartedError = /** @class */ (function (_super) {
6
- tslib_1.__extends(TransactionAlreadyStartedError, _super);
6
+ __extends(TransactionAlreadyStartedError, _super);
7
7
  function TransactionAlreadyStartedError() {
8
8
  var _this = _super.call(this) || this;
9
9
  _this.name = "TransactionAlreadyStartedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/TransactionAlreadyStartedError.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH;IAAoD,0DAAK;IAGrD;QAAA,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,gCAAgC,CAAC;QAIpC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,8BAA8B,CAAC,SAAS,CAAC,CAAC;QACtE,KAAI,CAAC,OAAO,GAAG,6GAA6G,CAAC;;IACjI,CAAC;IAEL,qCAAC;AAAD,CATA,AASC,CATmD,KAAK,GASxD","file":"TransactionAlreadyStartedError.js","sourcesContent":["/**\n * Thrown when transaction is already started and user tries to run it again.\n */\nexport class TransactionAlreadyStartedError extends Error {\n name = \"TransactionAlreadyStartedError\";\n\n constructor() {\n super();\n Object.setPrototypeOf(this, TransactionAlreadyStartedError.prototype);\n this.message = `Transaction already started for the given connection, commit current transaction before starting a new one.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/TransactionAlreadyStartedError.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH;IAAoD,kDAAK;IAGrD;QAAA,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,gCAAgC,CAAC;QAIpC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,8BAA8B,CAAC,SAAS,CAAC,CAAC;QACtE,KAAI,CAAC,OAAO,GAAG,6GAA6G,CAAC;;IACjI,CAAC;IAEL,qCAAC;AAAD,CATA,AASC,CATmD,KAAK,GASxD","file":"TransactionAlreadyStartedError.js","sourcesContent":["/**\n * Thrown when transaction is already started and user tries to run it again.\n */\nexport class TransactionAlreadyStartedError extends Error {\n name = \"TransactionAlreadyStartedError\";\n\n constructor() {\n super();\n Object.setPrototypeOf(this, TransactionAlreadyStartedError.prototype);\n this.message = `Transaction already started for the given connection, commit current transaction before starting a new one.`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,9 +1,9 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  * Thrown when transaction is not started yet and user tries to run commit or rollback.
4
4
  */
5
5
  var TransactionNotStartedError = /** @class */ (function (_super) {
6
- tslib_1.__extends(TransactionNotStartedError, _super);
6
+ __extends(TransactionNotStartedError, _super);
7
7
  function TransactionNotStartedError() {
8
8
  var _this = _super.call(this) || this;
9
9
  _this.name = "TransactionNotStartedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/TransactionNotStartedError.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH;IAAgD,sDAAK;IAGjD;QAAA,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,4BAA4B,CAAC;QAIhC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAClE,KAAI,CAAC,OAAO,GAAG,yFAAyF,CAAC;;IAC7G,CAAC;IAEL,iCAAC;AAAD,CATA,AASC,CAT+C,KAAK,GASpD","file":"TransactionNotStartedError.js","sourcesContent":["/**\n * Thrown when transaction is not started yet and user tries to run commit or rollback.\n */\nexport class TransactionNotStartedError extends Error {\n name = \"TransactionNotStartedError\";\n\n constructor() {\n super();\n Object.setPrototypeOf(this, TransactionNotStartedError.prototype);\n this.message = `Transaction is not started yet, start transaction before committing or rolling it back.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/TransactionNotStartedError.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH;IAAgD,8CAAK;IAGjD;QAAA,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,4BAA4B,CAAC;QAIhC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAClE,KAAI,CAAC,OAAO,GAAG,yFAAyF,CAAC;;IAC7G,CAAC;IAEL,iCAAC;AAAD,CATA,AASC,CAT+C,KAAK,GASpD","file":"TransactionNotStartedError.js","sourcesContent":["/**\n * Thrown when transaction is not started yet and user tries to run commit or rollback.\n */\nexport class TransactionNotStartedError extends Error {\n name = \"TransactionNotStartedError\";\n\n constructor() {\n super();\n Object.setPrototypeOf(this, TransactionNotStartedError.prototype);\n this.message = `Transaction is not started yet, start transaction before committing or rolling it back.`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,6 +1,6 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  var TreeRepositoryNotSupportedError = /** @class */ (function (_super) {
3
- tslib_1.__extends(TreeRepositoryNotSupportedError, _super);
3
+ __extends(TreeRepositoryNotSupportedError, _super);
4
4
  function TreeRepositoryNotSupportedError(driver) {
5
5
  var _this = _super.call(this) || this;
6
6
  _this.name = "TreeRepositoryNotSupportedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/TreeRepositoryNotSupportedError.ts"],"names":[],"mappings":";AAEA;IAAqD,2DAAK;IAGtD,yCAAY,MAAc;QAA1B,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,iCAAiC,CAAC;QAIrC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACvE,KAAI,CAAC,OAAO,GAAG,4CAA0C,MAAM,CAAC,OAAO,CAAC,IAAI,aAAU,CAAC;;IAC3F,CAAC;IAEL,sCAAC;AAAD,CATA,AASC,CAToD,KAAK,GASzD","file":"TreeRepositoryNotSupportedError.js","sourcesContent":["import {Driver} from \"../driver/Driver\";\n\nexport class TreeRepositoryNotSupportedError extends Error {\n name = \"TreeRepositoryNotSupportedError\";\n\n constructor(driver: Driver) {\n super();\n Object.setPrototypeOf(this, TreeRepositoryNotSupportedError.prototype);\n this.message = `Tree repositories are not supported in ${driver.options.type} driver.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/TreeRepositoryNotSupportedError.ts"],"names":[],"mappings":";AAEA;IAAqD,mDAAK;IAGtD,yCAAY,MAAc;QAA1B,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,iCAAiC,CAAC;QAIrC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACvE,KAAI,CAAC,OAAO,GAAG,4CAA0C,MAAM,CAAC,OAAO,CAAC,IAAI,aAAU,CAAC;;IAC3F,CAAC;IAEL,sCAAC;AAAD,CATA,AASC,CAToD,KAAK,GASzD","file":"TreeRepositoryNotSupportedError.js","sourcesContent":["import {Driver} from \"../driver/Driver\";\n\nexport class TreeRepositoryNotSupportedError extends Error {\n name = \"TreeRepositoryNotSupportedError\";\n\n constructor(driver: Driver) {\n super();\n Object.setPrototypeOf(this, TreeRepositoryNotSupportedError.prototype);\n this.message = `Tree repositories are not supported in ${driver.options.type} driver.`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,9 +1,9 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  * Thrown when user tries to update using QueryBuilder but do not specify what to update.
4
4
  */
5
5
  var UpdateValuesMissingError = /** @class */ (function (_super) {
6
- tslib_1.__extends(UpdateValuesMissingError, _super);
6
+ __extends(UpdateValuesMissingError, _super);
7
7
  function UpdateValuesMissingError() {
8
8
  var _this = _super.call(this) || this;
9
9
  _this.name = "UpdateValuesMissingError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/UpdateValuesMissingError.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH;IAA8C,oDAAK;IAG/C;QAAA,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,0BAA0B,CAAC;QAI9B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAChE,KAAI,CAAC,OAAO,GAAG,2HAAyH,CAAC;;IAC7I,CAAC;IAEL,+BAAC;AAAD,CATA,AASC,CAT6C,KAAK,GASlD","file":"UpdateValuesMissingError.js","sourcesContent":["/**\n * Thrown when user tries to update using QueryBuilder but do not specify what to update.\n */\nexport class UpdateValuesMissingError extends Error {\n name = \"UpdateValuesMissingError\";\n\n constructor() {\n super();\n Object.setPrototypeOf(this, UpdateValuesMissingError.prototype);\n this.message = `Cannot perform update query because update values are not defined. Call \"qb.set(...)\" method to specify updated values.`;\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/UpdateValuesMissingError.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH;IAA8C,4CAAK;IAG/C;QAAA,YACI,iBAAO,SAGV;QAND,UAAI,GAAG,0BAA0B,CAAC;QAI9B,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAChE,KAAI,CAAC,OAAO,GAAG,2HAAyH,CAAC;;IAC7I,CAAC;IAEL,+BAAC;AAAD,CATA,AASC,CAT6C,KAAK,GASlD","file":"UpdateValuesMissingError.js","sourcesContent":["/**\n * Thrown when user tries to update using QueryBuilder but do not specify what to update.\n */\nexport class UpdateValuesMissingError extends Error {\n name = \"UpdateValuesMissingError\";\n\n constructor() {\n super();\n Object.setPrototypeOf(this, UpdateValuesMissingError.prototype);\n this.message = `Cannot perform update query because update values are not defined. Call \"qb.set(...)\" method to specify updated values.`;\n }\n\n}\n"],"sourceRoot":".."}
@@ -1,8 +1,8 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  */
4
4
  var UsingJoinColumnIsNotAllowedError = /** @class */ (function (_super) {
5
- tslib_1.__extends(UsingJoinColumnIsNotAllowedError, _super);
5
+ __extends(UsingJoinColumnIsNotAllowedError, _super);
6
6
  function UsingJoinColumnIsNotAllowedError(entityMetadata, relation) {
7
7
  var _this = _super.call(this) || this;
8
8
  _this.name = "UsingJoinColumnIsNotAllowedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/UsingJoinColumnIsNotAllowedError.ts"],"names":[],"mappings":";AAGA;GACG;AACH;IAAsD,4DAAK;IAGvD,0CAAY,cAA8B,EAAE,QAA0B;QAAtE,YACI,iBAAO,SAIV;QAPD,UAAI,GAAG,kCAAkC,CAAC;QAItC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,gCAAgC,CAAC,SAAS,CAAC,CAAC;QACxE,KAAI,CAAC,OAAO,GAAG,yBAAuB,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,gBAAa;YAC3F,sEAAsE,CAAC;;IAC/E,CAAC;IAEL,uCAAC;AAAD,CAVA,AAUC,CAVqD,KAAK,GAU1D","file":"UsingJoinColumnIsNotAllowedError.js","sourcesContent":["import {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\n\n/**\n */\nexport class UsingJoinColumnIsNotAllowedError extends Error {\n name = \"UsingJoinColumnIsNotAllowedError\";\n\n constructor(entityMetadata: EntityMetadata, relation: RelationMetadata) {\n super();\n Object.setPrototypeOf(this, UsingJoinColumnIsNotAllowedError.prototype);\n this.message = `Using JoinColumn on ${entityMetadata.name}#${relation.propertyName} is wrong. ` +\n `You can use JoinColumn only on one-to-one and many-to-one relations.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/UsingJoinColumnIsNotAllowedError.ts"],"names":[],"mappings":";AAGA;GACG;AACH;IAAsD,oDAAK;IAGvD,0CAAY,cAA8B,EAAE,QAA0B;QAAtE,YACI,iBAAO,SAIV;QAPD,UAAI,GAAG,kCAAkC,CAAC;QAItC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,gCAAgC,CAAC,SAAS,CAAC,CAAC;QACxE,KAAI,CAAC,OAAO,GAAG,yBAAuB,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,gBAAa;YAC3F,sEAAsE,CAAC;;IAC/E,CAAC;IAEL,uCAAC;AAAD,CAVA,AAUC,CAVqD,KAAK,GAU1D","file":"UsingJoinColumnIsNotAllowedError.js","sourcesContent":["import {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\n\n/**\n */\nexport class UsingJoinColumnIsNotAllowedError extends Error {\n name = \"UsingJoinColumnIsNotAllowedError\";\n\n constructor(entityMetadata: EntityMetadata, relation: RelationMetadata) {\n super();\n Object.setPrototypeOf(this, UsingJoinColumnIsNotAllowedError.prototype);\n this.message = `Using JoinColumn on ${entityMetadata.name}#${relation.propertyName} is wrong. ` +\n `You can use JoinColumn only on one-to-one and many-to-one relations.`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,8 +1,8 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  */
4
4
  var UsingJoinColumnOnlyOnOneSideAllowedError = /** @class */ (function (_super) {
5
- tslib_1.__extends(UsingJoinColumnOnlyOnOneSideAllowedError, _super);
5
+ __extends(UsingJoinColumnOnlyOnOneSideAllowedError, _super);
6
6
  function UsingJoinColumnOnlyOnOneSideAllowedError(entityMetadata, relation) {
7
7
  var _this = _super.call(this) || this;
8
8
  _this.name = "UsingJoinColumnOnlyOnOneSideAllowedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/UsingJoinColumnOnlyOnOneSideAllowedError.ts"],"names":[],"mappings":";AAGA;GACG;AACH;IAA8D,oEAAK;IAG/D,kDAAY,cAA8B,EAAE,QAA0B;QAAtE,YACI,iBAAO,SAKV;QARD,UAAI,GAAG,0CAA0C,CAAC;QAI9C,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,wCAAwC,CAAC,SAAS,CAAC,CAAC;QAChF,KAAI,CAAC,OAAO,GAAG,+EAA+E;aAC1F,UAAQ,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,aAAQ,QAAQ,CAAC,qBAAqB,CAAC,IAAI,SAAI,QAAQ,CAAC,eAAgB,CAAC,YAAY,MAAG,CAAA;YAC5I,uFAAuF,CAAC;;IAChG,CAAC;IAEL,+CAAC;AAAD,CAXA,AAWC,CAX6D,KAAK,GAWlE","file":"UsingJoinColumnOnlyOnOneSideAllowedError.js","sourcesContent":["import {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\n\n/**\n */\nexport class UsingJoinColumnOnlyOnOneSideAllowedError extends Error {\n name = \"UsingJoinColumnOnlyOnOneSideAllowedError\";\n\n constructor(entityMetadata: EntityMetadata, relation: RelationMetadata) {\n super();\n Object.setPrototypeOf(this, UsingJoinColumnOnlyOnOneSideAllowedError.prototype);\n this.message = `Using JoinColumn is allowed only on one side of the one-to-one relationship. ` +\n `Both ${entityMetadata.name}#${relation.propertyName} and ${relation.inverseEntityMetadata.name}#${relation.inverseRelation!.propertyName} ` +\n `has JoinTable decorators. Choose one of them and left JoinTable decorator only on it.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/UsingJoinColumnOnlyOnOneSideAllowedError.ts"],"names":[],"mappings":";AAGA;GACG;AACH;IAA8D,4DAAK;IAG/D,kDAAY,cAA8B,EAAE,QAA0B;QAAtE,YACI,iBAAO,SAKV;QARD,UAAI,GAAG,0CAA0C,CAAC;QAI9C,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,wCAAwC,CAAC,SAAS,CAAC,CAAC;QAChF,KAAI,CAAC,OAAO,GAAG,+EAA+E;aAC1F,UAAQ,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,aAAQ,QAAQ,CAAC,qBAAqB,CAAC,IAAI,SAAI,QAAQ,CAAC,eAAgB,CAAC,YAAY,MAAG,CAAA;YAC5I,uFAAuF,CAAC;;IAChG,CAAC;IAEL,+CAAC;AAAD,CAXA,AAWC,CAX6D,KAAK,GAWlE","file":"UsingJoinColumnOnlyOnOneSideAllowedError.js","sourcesContent":["import {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\n\n/**\n */\nexport class UsingJoinColumnOnlyOnOneSideAllowedError extends Error {\n name = \"UsingJoinColumnOnlyOnOneSideAllowedError\";\n\n constructor(entityMetadata: EntityMetadata, relation: RelationMetadata) {\n super();\n Object.setPrototypeOf(this, UsingJoinColumnOnlyOnOneSideAllowedError.prototype);\n this.message = `Using JoinColumn is allowed only on one side of the one-to-one relationship. ` +\n `Both ${entityMetadata.name}#${relation.propertyName} and ${relation.inverseEntityMetadata.name}#${relation.inverseRelation!.propertyName} ` +\n `has JoinTable decorators. Choose one of them and left JoinTable decorator only on it.`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,8 +1,8 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  */
4
4
  var UsingJoinTableIsNotAllowedError = /** @class */ (function (_super) {
5
- tslib_1.__extends(UsingJoinTableIsNotAllowedError, _super);
5
+ __extends(UsingJoinTableIsNotAllowedError, _super);
6
6
  function UsingJoinTableIsNotAllowedError(entityMetadata, relation) {
7
7
  var _this = _super.call(this) || this;
8
8
  _this.name = "UsingJoinTableIsNotAllowedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/UsingJoinTableIsNotAllowedError.ts"],"names":[],"mappings":";AAGA;GACG;AACH;IAAqD,2DAAK;IAGtD,yCAAY,cAA8B,EAAE,QAA0B;QAAtE,YACI,iBAAO,SAKV;QARD,UAAI,GAAG,iCAAiC,CAAC;QAIrC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACvE,KAAI,CAAC,OAAO,GAAG,wBAAsB,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,gBAAa;aACvF,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,aAAQ,QAAQ,CAAC,YAAY,gBAAa,CAAA;YACzF,+DAA+D,CAAC;;IACxE,CAAC;IAEL,sCAAC;AAAD,CAXA,AAWC,CAXoD,KAAK,GAWzD","file":"UsingJoinTableIsNotAllowedError.js","sourcesContent":["import {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\n\n/**\n */\nexport class UsingJoinTableIsNotAllowedError extends Error {\n name = \"UsingJoinTableIsNotAllowedError\";\n\n constructor(entityMetadata: EntityMetadata, relation: RelationMetadata) {\n super();\n Object.setPrototypeOf(this, UsingJoinTableIsNotAllowedError.prototype);\n this.message = `Using JoinTable on ${entityMetadata.name}#${relation.propertyName} is wrong. ` +\n `${entityMetadata.name}#${relation.propertyName} has ${relation.relationType} relation, ` +\n `however you can use JoinTable only on many-to-many relations.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/UsingJoinTableIsNotAllowedError.ts"],"names":[],"mappings":";AAGA;GACG;AACH;IAAqD,mDAAK;IAGtD,yCAAY,cAA8B,EAAE,QAA0B;QAAtE,YACI,iBAAO,SAKV;QARD,UAAI,GAAG,iCAAiC,CAAC;QAIrC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACvE,KAAI,CAAC,OAAO,GAAG,wBAAsB,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,gBAAa;aACvF,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,aAAQ,QAAQ,CAAC,YAAY,gBAAa,CAAA;YACzF,+DAA+D,CAAC;;IACxE,CAAC;IAEL,sCAAC;AAAD,CAXA,AAWC,CAXoD,KAAK,GAWzD","file":"UsingJoinTableIsNotAllowedError.js","sourcesContent":["import {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\n\n/**\n */\nexport class UsingJoinTableIsNotAllowedError extends Error {\n name = \"UsingJoinTableIsNotAllowedError\";\n\n constructor(entityMetadata: EntityMetadata, relation: RelationMetadata) {\n super();\n Object.setPrototypeOf(this, UsingJoinTableIsNotAllowedError.prototype);\n this.message = `Using JoinTable on ${entityMetadata.name}#${relation.propertyName} is wrong. ` +\n `${entityMetadata.name}#${relation.propertyName} has ${relation.relationType} relation, ` +\n `however you can use JoinTable only on many-to-many relations.`;\n }\n\n}"],"sourceRoot":".."}
@@ -1,8 +1,8 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __extends } from "tslib";
2
2
  /**
3
3
  */
4
4
  var UsingJoinTableOnlyOnOneSideAllowedError = /** @class */ (function (_super) {
5
- tslib_1.__extends(UsingJoinTableOnlyOnOneSideAllowedError, _super);
5
+ __extends(UsingJoinTableOnlyOnOneSideAllowedError, _super);
6
6
  function UsingJoinTableOnlyOnOneSideAllowedError(entityMetadata, relation) {
7
7
  var _this = _super.call(this) || this;
8
8
  _this.name = "UsingJoinTableOnlyOnOneSideAllowedError";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/error/UsingJoinTableOnlyOnOneSideAllowedError.ts"],"names":[],"mappings":";AAGA;GACG;AACH;IAA6D,mEAAK;IAG9D,iDAAY,cAA8B,EAAE,QAA0B;QAAtE,YACI,iBAAO,SAKV;QARD,UAAI,GAAG,yCAAyC,CAAC;QAI7C,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,uCAAuC,CAAC,SAAS,CAAC,CAAC;QAC/E,KAAI,CAAC,OAAO,GAAG,gFAAgF;aAC3F,UAAQ,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,aAAQ,QAAQ,CAAC,qBAAqB,CAAC,IAAI,SAAI,QAAQ,CAAC,eAAgB,CAAC,YAAY,MAAG,CAAA;YAC5I,wFAAwF,CAAC;;IACjG,CAAC;IAEL,8CAAC;AAAD,CAXA,AAWC,CAX4D,KAAK,GAWjE","file":"UsingJoinTableOnlyOnOneSideAllowedError.js","sourcesContent":["import {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\n\n/**\n */\nexport class UsingJoinTableOnlyOnOneSideAllowedError extends Error {\n name = \"UsingJoinTableOnlyOnOneSideAllowedError\";\n\n constructor(entityMetadata: EntityMetadata, relation: RelationMetadata) {\n super();\n Object.setPrototypeOf(this, UsingJoinTableOnlyOnOneSideAllowedError.prototype);\n this.message = `Using JoinTable is allowed only on one side of the many-to-many relationship. ` +\n `Both ${entityMetadata.name}#${relation.propertyName} and ${relation.inverseEntityMetadata.name}#${relation.inverseRelation!.propertyName} ` +\n `has JoinTable decorators. Choose one of them and left JoinColumn decorator only on it.`;\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/error/UsingJoinTableOnlyOnOneSideAllowedError.ts"],"names":[],"mappings":";AAGA;GACG;AACH;IAA6D,2DAAK;IAG9D,iDAAY,cAA8B,EAAE,QAA0B;QAAtE,YACI,iBAAO,SAKV;QARD,UAAI,GAAG,yCAAyC,CAAC;QAI7C,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,uCAAuC,CAAC,SAAS,CAAC,CAAC;QAC/E,KAAI,CAAC,OAAO,GAAG,gFAAgF;aAC3F,UAAQ,cAAc,CAAC,IAAI,SAAI,QAAQ,CAAC,YAAY,aAAQ,QAAQ,CAAC,qBAAqB,CAAC,IAAI,SAAI,QAAQ,CAAC,eAAgB,CAAC,YAAY,MAAG,CAAA;YAC5I,wFAAwF,CAAC;;IACjG,CAAC;IAEL,8CAAC;AAAD,CAXA,AAWC,CAX4D,KAAK,GAWjE","file":"UsingJoinTableOnlyOnOneSideAllowedError.js","sourcesContent":["import {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {RelationMetadata} from \"../metadata/RelationMetadata\";\n\n/**\n */\nexport class UsingJoinTableOnlyOnOneSideAllowedError extends Error {\n name = \"UsingJoinTableOnlyOnOneSideAllowedError\";\n\n constructor(entityMetadata: EntityMetadata, relation: RelationMetadata) {\n super();\n Object.setPrototypeOf(this, UsingJoinTableOnlyOnOneSideAllowedError.prototype);\n this.message = `Using JoinTable is allowed only on one side of the many-to-many relationship. ` +\n `Both ${entityMetadata.name}#${relation.propertyName} and ${relation.inverseEntityMetadata.name}#${relation.inverseRelation!.propertyName} ` +\n `has JoinTable decorators. Choose one of them and left JoinColumn decorator only on it.`;\n }\n\n}"],"sourceRoot":".."}
@@ -35,13 +35,13 @@ export interface FindOneOptions<Entity = any> {
35
35
  milliseconds: number;
36
36
  };
37
37
  /**
38
- * Enables or disables query result caching.
38
+ * Indicates what locking mode should be used.
39
39
  */
40
40
  lock?: {
41
41
  mode: "optimistic";
42
42
  version: number | Date;
43
43
  } | {
44
- mode: "pessimistic_read" | "pessimistic_write" | "dirty_read";
44
+ mode: "pessimistic_read" | "pessimistic_write" | "dirty_read" | "pessimistic_partial_write" | "pessimistic_write_or_fail";
45
45
  };
46
46
  /**
47
47
  * Indicates if soft-deleted rows should be included in entity result.
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/FindOneOptions.ts"],"names":[],"mappings":"","file":"FindOneOptions.js","sourcesContent":["import {JoinOptions} from \"./JoinOptions\";\nimport {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {FindConditions} from \"./FindConditions\";\n\n/**\n * Defines a special criteria to find specific entity.\n */\nexport interface FindOneOptions<Entity = any> {\n\n /**\n * Specifies what columns should be retrieved.\n */\n select?: (keyof Entity)[];\n\n /**\n * Simple condition that should be applied to match entities.\n */\n where?: FindConditions<Entity>[]|FindConditions<Entity>|ObjectLiteral|string;\n\n /**\n * Indicates what relations of entity should be loaded (simplified left join form).\n */\n relations?: string[];\n\n /**\n * Specifies what relations should be loaded.\n */\n join?: JoinOptions;\n\n /**\n * Order, in which entities should be ordered.\n */\n order?: { [P in keyof Entity]?: \"ASC\"|\"DESC\"|1|-1 };\n\n /**\n * Enables or disables query result caching.\n */\n cache?: boolean | number | { id: any, milliseconds: number };\n\n /**\n * Enables or disables query result caching.\n */\n lock?: { mode: \"optimistic\", version: number|Date } | { mode: \"pessimistic_read\"|\"pessimistic_write\"|\"dirty_read\" };\n\n /**\n * Indicates if soft-deleted rows should be included in entity result.\n */ \n withDeleted?: boolean;\n\n /**\n * If sets to true then loads all relation ids of the entity and maps them into relation values (not relation objects).\n * If array of strings is given then loads only relation ids of the given properties.\n */\n loadRelationIds?: boolean|{ relations?: string[], disableMixedMap?: boolean }; // todo: extract options into separate interface, reuse\n\n /**\n * Indicates if eager relations should be loaded or not.\n * By default they are loaded when find methods are used.\n */\n loadEagerRelations?: boolean;\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/find-options/FindOneOptions.ts"],"names":[],"mappings":"","file":"FindOneOptions.js","sourcesContent":["import {JoinOptions} from \"./JoinOptions\";\nimport {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {FindConditions} from \"./FindConditions\";\n\n/**\n * Defines a special criteria to find specific entity.\n */\nexport interface FindOneOptions<Entity = any> {\n\n /**\n * Specifies what columns should be retrieved.\n */\n select?: (keyof Entity)[];\n\n /**\n * Simple condition that should be applied to match entities.\n */\n where?: FindConditions<Entity>[]|FindConditions<Entity>|ObjectLiteral|string;\n\n /**\n * Indicates what relations of entity should be loaded (simplified left join form).\n */\n relations?: string[];\n\n /**\n * Specifies what relations should be loaded.\n */\n join?: JoinOptions;\n\n /**\n * Order, in which entities should be ordered.\n */\n order?: { [P in keyof Entity]?: \"ASC\"|\"DESC\"|1|-1 };\n\n /**\n * Enables or disables query result caching.\n */\n cache?: boolean | number | { id: any, milliseconds: number };\n\n /**\n * Indicates what locking mode should be used.\n */\n lock?: { mode: \"optimistic\", version: number|Date } | { mode: \"pessimistic_read\"|\"pessimistic_write\"|\"dirty_read\"|\"pessimistic_partial_write\"|\"pessimistic_write_or_fail\" };\n\n /**\n * Indicates if soft-deleted rows should be included in entity result.\n */\n withDeleted?: boolean;\n\n /**\n * If sets to true then loads all relation ids of the entity and maps them into relation values (not relation objects).\n * If array of strings is given then loads only relation ids of the given properties.\n */\n loadRelationIds?: boolean|{ relations?: string[], disableMixedMap?: boolean }; // todo: extract options into separate interface, reuse\n\n /**\n * Indicates if eager relations should be loaded or not.\n * By default they are loaded when find methods are used.\n */\n loadEagerRelations?: boolean;\n\n}\n"],"sourceRoot":".."}
@@ -1,5 +1,4 @@
1
1
  import { FindOperatorType } from "./FindOperatorType";
2
- import { Connection } from "../";
3
2
  /**
4
3
  * Find Operator used in Find Conditions.
5
4
  */
@@ -31,12 +30,16 @@ export declare class FindOperator<T> {
31
30
  * Extracts final value if value is another find operator.
32
31
  */
33
32
  readonly multipleParameters: boolean;
33
+ /**
34
+ * Gets the Type of this FindOperator
35
+ */
36
+ readonly type: string;
34
37
  /**
35
38
  * Gets the final value needs to be used as parameter value.
36
39
  */
37
40
  readonly value: T;
38
41
  /**
39
- * Gets SQL needs to be inserted into final query.
42
+ * Gets the child FindOperator if it exists
40
43
  */
41
- toSql(connection: Connection, aliasPath: string, parameters: string[]): string;
44
+ readonly child: FindOperator<T> | undefined;
42
45
  }
@@ -42,6 +42,16 @@ var FindOperator = /** @class */ (function () {
42
42
  enumerable: true,
43
43
  configurable: true
44
44
  });
45
+ Object.defineProperty(FindOperator.prototype, "type", {
46
+ /**
47
+ * Gets the Type of this FindOperator
48
+ */
49
+ get: function () {
50
+ return this._type;
51
+ },
52
+ enumerable: true,
53
+ configurable: true
54
+ });
45
55
  Object.defineProperty(FindOperator.prototype, "value", {
46
56
  /**
47
57
  * Gets the final value needs to be used as parameter value.
@@ -54,51 +64,18 @@ var FindOperator = /** @class */ (function () {
54
64
  enumerable: true,
55
65
  configurable: true
56
66
  });
57
- // -------------------------------------------------------------------------
58
- // Public Methods
59
- // -------------------------------------------------------------------------
60
- /**
61
- * Gets SQL needs to be inserted into final query.
62
- */
63
- FindOperator.prototype.toSql = function (connection, aliasPath, parameters) {
64
- switch (this._type) {
65
- case "not":
66
- if (this._value instanceof FindOperator) {
67
- return "NOT(" + this._value.toSql(connection, aliasPath, parameters) + ")";
68
- }
69
- else {
70
- return aliasPath + " != " + parameters[0];
71
- }
72
- case "lessThan":
73
- return aliasPath + " < " + parameters[0];
74
- case "lessThanOrEqual":
75
- return aliasPath + " <= " + parameters[0];
76
- case "moreThan":
77
- return aliasPath + " > " + parameters[0];
78
- case "moreThanOrEqual":
79
- return aliasPath + " >= " + parameters[0];
80
- case "equal":
81
- return aliasPath + " = " + parameters[0];
82
- case "like":
83
- return aliasPath + " LIKE " + parameters[0];
84
- case "between":
85
- return aliasPath + " BETWEEN " + parameters[0] + " AND " + parameters[1];
86
- case "in":
87
- return aliasPath + " IN (" + parameters.join(", ") + ")";
88
- case "any":
89
- return aliasPath + " = ANY(" + parameters[0] + ")";
90
- case "isNull":
91
- return aliasPath + " IS NULL";
92
- case "raw":
93
- if (this.value instanceof Function) {
94
- return this.value(aliasPath);
95
- }
96
- else {
97
- return aliasPath + " = " + this.value;
98
- }
99
- }
100
- return "";
101
- };
67
+ Object.defineProperty(FindOperator.prototype, "child", {
68
+ /**
69
+ * Gets the child FindOperator if it exists
70
+ */
71
+ get: function () {
72
+ if (this._value instanceof FindOperator)
73
+ return this._value;
74
+ return undefined;
75
+ },
76
+ enumerable: true,
77
+ configurable: true
78
+ });
102
79
  return FindOperator;
103
80
  }());
104
81
  export { FindOperator };
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/FindOperator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH;IA0BI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,sBAAY,IAAsB,EAAE,KAAwB,EAAE,YAA4B,EAAE,kBAAmC;QAAjE,6BAAA,EAAA,mBAA4B;QAAE,mCAAA,EAAA,0BAAmC;QAC3H,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;IAClD,CAAC;IAUD,sBAAI,sCAAY;QARhB,4EAA4E;QAC5E,YAAY;QACZ,4EAA4E;QAE5E;;;WAGG;aACH;YACI,IAAI,IAAI,CAAC,MAAM,YAAY,YAAY;gBACnC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAEpC,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;;;OAAA;IAMD,sBAAI,4CAAkB;QAJtB;;;WAGG;aACH;YACI,IAAI,IAAI,CAAC,MAAM,YAAY,YAAY;gBACnC,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAE1C,OAAO,IAAI,CAAC,mBAAmB,CAAC;QACpC,CAAC;;;OAAA;IAKD,sBAAI,+BAAK;QAHT;;WAEG;aACH;YACI,IAAI,IAAI,CAAC,MAAM,YAAY,YAAY;gBACnC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAE7B,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;;;OAAA;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,4BAAK,GAAL,UAAM,UAAsB,EAAE,SAAiB,EAAE,UAAoB;QACjE,QAAQ,IAAI,CAAC,KAAK,EAAE;YAChB,KAAK,KAAK;gBACN,IAAI,IAAI,CAAC,MAAM,YAAY,YAAY,EAAE;oBACrC,OAAO,SAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,MAAG,CAAC;iBACzE;qBAAM;oBACH,OAAU,SAAS,YAAO,UAAU,CAAC,CAAC,CAAG,CAAC;iBAC7C;YACL,KAAK,UAAU;gBACX,OAAU,SAAS,WAAM,UAAU,CAAC,CAAC,CAAG,CAAC;YAC7C,KAAK,iBAAiB;gBAClB,OAAU,SAAS,YAAO,UAAU,CAAC,CAAC,CAAG,CAAC;YAC9C,KAAK,UAAU;gBACX,OAAU,SAAS,WAAM,UAAU,CAAC,CAAC,CAAG,CAAC;YAC7C,KAAK,iBAAiB;gBAClB,OAAU,SAAS,YAAO,UAAU,CAAC,CAAC,CAAG,CAAC;YAC9C,KAAK,OAAO;gBACR,OAAU,SAAS,WAAM,UAAU,CAAC,CAAC,CAAG,CAAC;YAC7C,KAAK,MAAM;gBACP,OAAU,SAAS,cAAS,UAAU,CAAC,CAAC,CAAG,CAAC;YAChD,KAAK,SAAS;gBACV,OAAU,SAAS,iBAAY,UAAU,CAAC,CAAC,CAAC,aAAQ,UAAU,CAAC,CAAC,CAAG,CAAC;YACxE,KAAK,IAAI;gBACL,OAAU,SAAS,aAAQ,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;YACxD,KAAK,KAAK;gBACN,OAAU,SAAS,eAAU,UAAU,CAAC,CAAC,CAAC,MAAG,CAAC;YAClD,KAAK,QAAQ;gBACT,OAAU,SAAS,aAAU,CAAC;YAClC,KAAK,KAAK;gBACN,IAAI,IAAI,CAAC,KAAK,YAAY,QAAQ,EAAE;oBAChC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;iBAChC;qBAAM;oBACH,OAAU,SAAS,WAAM,IAAI,CAAC,KAAO,CAAC;iBACzC;SACR;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEL,mBAAC;AAAD,CAvHA,AAuHC,IAAA","file":"FindOperator.js","sourcesContent":["import {FindOperatorType} from \"./FindOperatorType\";\nimport {Connection} from \"../\";\n\n/**\n * Find Operator used in Find Conditions.\n */\nexport class FindOperator<T> {\n\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n\n /**\n * Operator type.\n */\n private _type: FindOperatorType;\n\n /**\n * Parameter value.\n */\n private _value: T|FindOperator<T>;\n\n /**\n * Indicates if parameter is used or not for this operator.\n */\n private _useParameter: boolean;\n\n /**\n * Indicates if multiple parameters must be used for this operator.\n */\n private _multipleParameters: boolean;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(type: FindOperatorType, value: T|FindOperator<T>, useParameter: boolean = true, multipleParameters: boolean = false) {\n this._type = type;\n this._value = value;\n this._useParameter = useParameter;\n this._multipleParameters = multipleParameters;\n }\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Indicates if parameter is used or not for this operator.\n * Extracts final value if value is another find operator.\n */\n get useParameter(): boolean {\n if (this._value instanceof FindOperator)\n return this._value.useParameter;\n\n return this._useParameter;\n }\n\n /**\n * Indicates if multiple parameters must be used for this operator.\n * Extracts final value if value is another find operator.\n */\n get multipleParameters(): boolean {\n if (this._value instanceof FindOperator)\n return this._value.multipleParameters;\n\n return this._multipleParameters;\n }\n\n /**\n * Gets the final value needs to be used as parameter value.\n */\n get value(): T {\n if (this._value instanceof FindOperator)\n return this._value.value;\n\n return this._value;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets SQL needs to be inserted into final query.\n */\n toSql(connection: Connection, aliasPath: string, parameters: string[]): string {\n switch (this._type) {\n case \"not\":\n if (this._value instanceof FindOperator) {\n return `NOT(${this._value.toSql(connection, aliasPath, parameters)})`;\n } else {\n return `${aliasPath} != ${parameters[0]}`;\n }\n case \"lessThan\":\n return `${aliasPath} < ${parameters[0]}`;\n case \"lessThanOrEqual\":\n return `${aliasPath} <= ${parameters[0]}`;\n case \"moreThan\":\n return `${aliasPath} > ${parameters[0]}`;\n case \"moreThanOrEqual\":\n return `${aliasPath} >= ${parameters[0]}`;\n case \"equal\":\n return `${aliasPath} = ${parameters[0]}`;\n case \"like\":\n return `${aliasPath} LIKE ${parameters[0]}`;\n case \"between\":\n return `${aliasPath} BETWEEN ${parameters[0]} AND ${parameters[1]}`;\n case \"in\":\n return `${aliasPath} IN (${parameters.join(\", \")})`;\n case \"any\":\n return `${aliasPath} = ANY(${parameters[0]})`;\n case \"isNull\":\n return `${aliasPath} IS NULL`;\n case \"raw\":\n if (this.value instanceof Function) {\n return this.value(aliasPath);\n } else {\n return `${aliasPath} = ${this.value}`;\n }\n }\n\n return \"\";\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/find-options/FindOperator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH;IA0BI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,sBAAY,IAAsB,EAAE,KAAwB,EAAE,YAA4B,EAAE,kBAAmC;QAAjE,6BAAA,EAAA,mBAA4B;QAAE,mCAAA,EAAA,0BAAmC;QAC3H,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;IAClD,CAAC;IAUD,sBAAI,sCAAY;QARhB,4EAA4E;QAC5E,YAAY;QACZ,4EAA4E;QAE5E;;;WAGG;aACH;YACI,IAAI,IAAI,CAAC,MAAM,YAAY,YAAY;gBACnC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAEpC,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;;;OAAA;IAMD,sBAAI,4CAAkB;QAJtB;;;WAGG;aACH;YACI,IAAI,IAAI,CAAC,MAAM,YAAY,YAAY;gBACnC,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAE1C,OAAO,IAAI,CAAC,mBAAmB,CAAC;QACpC,CAAC;;;OAAA;IAKD,sBAAI,8BAAI;QAHR;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;;;OAAA;IAKD,sBAAI,+BAAK;QAHT;;WAEG;aACH;YACI,IAAI,IAAI,CAAC,MAAM,YAAY,YAAY;gBACnC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAE7B,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;;;OAAA;IAKD,sBAAI,+BAAK;QAHT;;WAEG;aACH;YACI,IAAI,IAAI,CAAC,MAAM,YAAY,YAAY;gBACnC,OAAO,IAAI,CAAC,MAAM,CAAC;YAEvB,OAAO,SAAS,CAAC;QACrB,CAAC;;;OAAA;IACL,mBAAC;AAAD,CAzFA,AAyFC,IAAA","file":"FindOperator.js","sourcesContent":["import {FindOperatorType} from \"./FindOperatorType\";\n\n/**\n * Find Operator used in Find Conditions.\n */\nexport class FindOperator<T> {\n\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n\n /**\n * Operator type.\n */\n private _type: FindOperatorType;\n\n /**\n * Parameter value.\n */\n private _value: T|FindOperator<T>;\n\n /**\n * Indicates if parameter is used or not for this operator.\n */\n private _useParameter: boolean;\n\n /**\n * Indicates if multiple parameters must be used for this operator.\n */\n private _multipleParameters: boolean;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(type: FindOperatorType, value: T|FindOperator<T>, useParameter: boolean = true, multipleParameters: boolean = false) {\n this._type = type;\n this._value = value;\n this._useParameter = useParameter;\n this._multipleParameters = multipleParameters;\n }\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Indicates if parameter is used or not for this operator.\n * Extracts final value if value is another find operator.\n */\n get useParameter(): boolean {\n if (this._value instanceof FindOperator)\n return this._value.useParameter;\n\n return this._useParameter;\n }\n\n /**\n * Indicates if multiple parameters must be used for this operator.\n * Extracts final value if value is another find operator.\n */\n get multipleParameters(): boolean {\n if (this._value instanceof FindOperator)\n return this._value.multipleParameters;\n\n return this._multipleParameters;\n }\n\n /**\n * Gets the Type of this FindOperator\n */\n get type(): string {\n return this._type;\n }\n\n /**\n * Gets the final value needs to be used as parameter value.\n */\n get value(): T {\n if (this._value instanceof FindOperator)\n return this._value.value;\n\n return this._value;\n }\n\n /**\n * Gets the child FindOperator if it exists\n */\n get child(): FindOperator<T>|undefined {\n if (this._value instanceof FindOperator)\n return this._value;\n\n return undefined;\n }\n}\n"],"sourceRoot":".."}
@@ -9,11 +9,11 @@ export declare class FindOptionsUtils {
9
9
  /**
10
10
  * Checks if given object is really instance of FindOneOptions interface.
11
11
  */
12
- static isFindOneOptions(obj: any): obj is FindOneOptions<any>;
12
+ static isFindOneOptions<Entity = any>(obj: any): obj is FindOneOptions<Entity>;
13
13
  /**
14
14
  * Checks if given object is really instance of FindManyOptions interface.
15
15
  */
16
- static isFindManyOptions(obj: any): obj is FindManyOptions<any>;
16
+ static isFindManyOptions<Entity = any>(obj: any): obj is FindManyOptions<Entity>;
17
17
  /**
18
18
  * Checks if given object is really instance of FindOptions interface.
19
19
  */
@@ -144,7 +144,7 @@ var FindOptionsUtils = /** @class */ (function () {
144
144
  if (options.lock.mode === "optimistic") {
145
145
  qb.setLock(options.lock.mode, options.lock.version);
146
146
  }
147
- else if (options.lock.mode === "pessimistic_read" || options.lock.mode === "pessimistic_write" || options.lock.mode === "dirty_read") {
147
+ else if (options.lock.mode === "pessimistic_read" || options.lock.mode === "pessimistic_write" || options.lock.mode === "dirty_read" || options.lock.mode === "pessimistic_partial_write" || options.lock.mode === "pessimistic_write_or_fail") {
148
148
  qb.setLock(options.lock.mode);
149
149
  }
150
150
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/FindOptionsUtils.ts"],"names":[],"mappings":"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","file":"FindOptionsUtils.js","sourcesContent":["import {FindManyOptions} from \"./FindManyOptions\";\nimport {FindOneOptions} from \"./FindOneOptions\";\nimport {SelectQueryBuilder} from \"../query-builder/SelectQueryBuilder\";\nimport {FindRelationsNotFoundError} from \"../error/FindRelationsNotFoundError\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {shorten} from \"../util/StringUtils\";\n\n/**\n * Utilities to work with FindOptions.\n */\nexport class FindOptionsUtils {\n\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Checks if given object is really instance of FindOneOptions interface.\n */\n static isFindOneOptions(obj: any): obj is FindOneOptions<any> {\n const possibleOptions: FindOneOptions<any> = obj;\n return possibleOptions &&\n (\n Array.isArray(possibleOptions.select) ||\n possibleOptions.where instanceof Object ||\n typeof possibleOptions.where === \"string\" ||\n Array.isArray(possibleOptions.relations) ||\n possibleOptions.join instanceof Object ||\n possibleOptions.order instanceof Object ||\n possibleOptions.cache instanceof Object ||\n typeof possibleOptions.cache === \"boolean\" ||\n typeof possibleOptions.cache === \"number\" ||\n possibleOptions.lock instanceof Object ||\n possibleOptions.loadRelationIds instanceof Object ||\n typeof possibleOptions.loadRelationIds === \"boolean\" ||\n typeof possibleOptions.loadEagerRelations === \"boolean\" ||\n typeof possibleOptions.withDeleted === \"boolean\"\n );\n }\n\n /**\n * Checks if given object is really instance of FindManyOptions interface.\n */\n static isFindManyOptions(obj: any): obj is FindManyOptions<any> {\n const possibleOptions: FindManyOptions<any> = obj;\n return possibleOptions && (\n this.isFindOneOptions(possibleOptions) ||\n typeof (possibleOptions as FindManyOptions<any>).skip === \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).take === \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).skip === \"string\" ||\n typeof (possibleOptions as FindManyOptions<any>).take === \"string\"\n );\n }\n\n /**\n * Checks if given object is really instance of FindOptions interface.\n */\n static extractFindManyOptionsAlias(object: any): string|undefined {\n if (this.isFindManyOptions(object) && object.join)\n return object.join.alias;\n\n return undefined;\n }\n\n /**\n * Applies give find many options to the given query builder.\n */\n static applyFindManyOptionsOrConditionsToQueryBuilder<T>(qb: SelectQueryBuilder<T>, options: FindManyOptions<T>|Partial<T>|undefined): SelectQueryBuilder<T> {\n if (this.isFindManyOptions(options))\n return this.applyOptionsToQueryBuilder(qb, options);\n\n if (options)\n return qb.where(options);\n\n return qb;\n }\n\n /**\n * Applies give find options to the given query builder.\n */\n static applyOptionsToQueryBuilder<T>(qb: SelectQueryBuilder<T>, options: FindOneOptions<T>|FindManyOptions<T>|undefined): SelectQueryBuilder<T> {\n\n // if options are not set then simply return query builder. This is made for simplicity of usage.\n if (!options || (!this.isFindOneOptions(options) && !this.isFindManyOptions(options)))\n return qb;\n\n if (!qb.expressionMap.mainAlias || !qb.expressionMap.mainAlias.hasMetadata)\n return qb;\n\n const metadata = qb.expressionMap.mainAlias!.metadata;\n\n // apply all options from FindOptions\n if (options.select) {\n qb.select([]);\n options.select.forEach(select => {\n if (!metadata.findColumnWithPropertyPath(String(select)))\n throw new Error(`${select} column was not found in the ${metadata.name} entity.`);\n\n qb.addSelect(qb.alias + \".\" + select);\n });\n }\n\n if (options.where)\n qb.where(options.where);\n\n if ((options as FindManyOptions<T>).skip)\n qb.skip((options as FindManyOptions<T>).skip!);\n\n if ((options as FindManyOptions<T>).take)\n qb.take((options as FindManyOptions<T>).take!);\n\n if (options.order)\n Object.keys(options.order).forEach(key => {\n const order = ((options as FindOneOptions<T>).order as any)[key as any];\n\n if (!metadata.findColumnWithPropertyPath(key))\n throw new Error(`${key} column was not found in the ${metadata.name} entity.`);\n\n switch (order) {\n case 1:\n qb.addOrderBy(qb.alias + \".\" + key, \"ASC\");\n break;\n case -1:\n qb.addOrderBy(qb.alias + \".\" + key, \"DESC\");\n break;\n case \"ASC\":\n qb.addOrderBy(qb.alias + \".\" + key, \"ASC\");\n break;\n case \"DESC\":\n qb.addOrderBy(qb.alias + \".\" + key, \"DESC\");\n break;\n }\n });\n\n if (options.relations) {\n const allRelations = options.relations.map(relation => relation);\n this.applyRelationsRecursively(qb, allRelations, qb.expressionMap.mainAlias!.name, qb.expressionMap.mainAlias!.metadata, \"\");\n // recursive removes found relations from allRelations array\n // if there are relations left in this array it means those relations were not found in the entity structure\n // so, we give an exception about not found relations\n if (allRelations.length > 0)\n throw new FindRelationsNotFoundError(allRelations);\n }\n\n if (options.join) {\n if (options.join.leftJoin)\n Object.keys(options.join.leftJoin).forEach(key => {\n qb.leftJoin(options.join!.leftJoin![key], key);\n });\n\n if (options.join.innerJoin)\n Object.keys(options.join.innerJoin).forEach(key => {\n qb.innerJoin(options.join!.innerJoin![key], key);\n });\n\n if (options.join.leftJoinAndSelect)\n Object.keys(options.join.leftJoinAndSelect).forEach(key => {\n qb.leftJoinAndSelect(options.join!.leftJoinAndSelect![key], key);\n });\n\n if (options.join.innerJoinAndSelect)\n Object.keys(options.join.innerJoinAndSelect).forEach(key => {\n qb.innerJoinAndSelect(options.join!.innerJoinAndSelect![key], key);\n });\n }\n\n if (options.cache) {\n if (options.cache instanceof Object) {\n const cache = options.cache as { id: any, milliseconds: number };\n qb.cache(cache.id, cache.milliseconds);\n } else {\n qb.cache(options.cache);\n }\n }\n\n if (options.lock) {\n if (options.lock.mode === \"optimistic\") {\n qb.setLock(options.lock.mode, options.lock.version as any);\n } else if (options.lock.mode === \"pessimistic_read\" || options.lock.mode === \"pessimistic_write\" || options.lock.mode === \"dirty_read\") {\n qb.setLock(options.lock.mode);\n }\n }\n \n if (options.withDeleted) {\n qb.withDeleted();\n }\n\n if (options.loadRelationIds === true) {\n qb.loadAllRelationIds();\n\n } else if (options.loadRelationIds instanceof Object) {\n qb.loadAllRelationIds(options.loadRelationIds as any);\n }\n\n return qb;\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Adds joins for all relations and sub-relations of the given relations provided in the find options.\n */\n protected static applyRelationsRecursively(qb: SelectQueryBuilder<any>, allRelations: string[], alias: string, metadata: EntityMetadata, prefix: string): void {\n\n // find all relations that match given prefix\n let matchedBaseRelations: string[] = [];\n if (prefix) {\n const regexp = new RegExp(\"^\" + prefix.replace(\".\", \"\\\\.\") + \"\\\\.\");\n matchedBaseRelations = allRelations\n .filter(relation => relation.match(regexp))\n .map(relation => relation.replace(regexp, \"\"))\n .filter(relation => metadata.findRelationWithPropertyPath(relation));\n } else {\n matchedBaseRelations = allRelations.filter(relation => metadata.findRelationWithPropertyPath(relation));\n }\n\n // go through all matched relations and add join for them\n matchedBaseRelations.forEach(relation => {\n\n // generate a relation alias\n let relationAlias: string = alias + \"__\" + relation;\n // shorten it if needed by the driver\n if (qb.connection.driver.maxAliasLength && relationAlias.length > qb.connection.driver.maxAliasLength) {\n relationAlias = shorten(relationAlias);\n }\n\n // add a join for the found relation\n const selection = alias + \".\" + relation;\n qb.leftJoinAndSelect(selection, relationAlias);\n\n // join the eager relations of the found relation\n const relMetadata = metadata.relations.find(metadata => metadata.propertyName === relation);\n if (relMetadata) {\n this.joinEagerRelations(qb, relationAlias, relMetadata.inverseEntityMetadata);\n }\n\n // remove added relations from the allRelations array, this is needed to find all not found relations at the end\n allRelations.splice(allRelations.indexOf(prefix ? prefix + \".\" + relation : relation), 1);\n\n // try to find sub-relations\n const join = qb.expressionMap.joinAttributes.find(join => join.entityOrProperty === selection);\n this.applyRelationsRecursively(qb, allRelations, join!.alias.name, join!.metadata!, prefix ? prefix + \".\" + relation : relation);\n });\n }\n\n public static joinEagerRelations(qb: SelectQueryBuilder<any>, alias: string, metadata: EntityMetadata) {\n metadata.eagerRelations.forEach(relation => {\n const relationAlias = qb.connection.namingStrategy.eagerJoinRelationAlias(alias, relation.propertyPath);\n qb.leftJoinAndSelect(alias + \".\" + relation.propertyPath, relationAlias);\n this.joinEagerRelations(qb, relationAlias, relation.inverseEntityMetadata);\n });\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/find-options/FindOptionsUtils.ts"],"names":[],"mappings":"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","file":"FindOptionsUtils.js","sourcesContent":["import {FindManyOptions} from \"./FindManyOptions\";\nimport {FindOneOptions} from \"./FindOneOptions\";\nimport {SelectQueryBuilder} from \"../query-builder/SelectQueryBuilder\";\nimport {FindRelationsNotFoundError} from \"../error/FindRelationsNotFoundError\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {shorten} from \"../util/StringUtils\";\n\n/**\n * Utilities to work with FindOptions.\n */\nexport class FindOptionsUtils {\n\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Checks if given object is really instance of FindOneOptions interface.\n */\n static isFindOneOptions<Entity = any>(obj: any): obj is FindOneOptions<Entity> {\n const possibleOptions: FindOneOptions<Entity> = obj;\n return possibleOptions &&\n (\n Array.isArray(possibleOptions.select) ||\n possibleOptions.where instanceof Object ||\n typeof possibleOptions.where === \"string\" ||\n Array.isArray(possibleOptions.relations) ||\n possibleOptions.join instanceof Object ||\n possibleOptions.order instanceof Object ||\n possibleOptions.cache instanceof Object ||\n typeof possibleOptions.cache === \"boolean\" ||\n typeof possibleOptions.cache === \"number\" ||\n possibleOptions.lock instanceof Object ||\n possibleOptions.loadRelationIds instanceof Object ||\n typeof possibleOptions.loadRelationIds === \"boolean\" ||\n typeof possibleOptions.loadEagerRelations === \"boolean\" ||\n typeof possibleOptions.withDeleted === \"boolean\"\n );\n }\n\n /**\n * Checks if given object is really instance of FindManyOptions interface.\n */\n static isFindManyOptions<Entity = any>(obj: any): obj is FindManyOptions<Entity> {\n const possibleOptions: FindManyOptions<Entity> = obj;\n return possibleOptions && (\n this.isFindOneOptions(possibleOptions) ||\n typeof (possibleOptions as FindManyOptions<any>).skip === \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).take === \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).skip === \"string\" ||\n typeof (possibleOptions as FindManyOptions<any>).take === \"string\"\n );\n }\n\n /**\n * Checks if given object is really instance of FindOptions interface.\n */\n static extractFindManyOptionsAlias(object: any): string|undefined {\n if (this.isFindManyOptions(object) && object.join)\n return object.join.alias;\n\n return undefined;\n }\n\n /**\n * Applies give find many options to the given query builder.\n */\n static applyFindManyOptionsOrConditionsToQueryBuilder<T>(qb: SelectQueryBuilder<T>, options: FindManyOptions<T>|Partial<T>|undefined): SelectQueryBuilder<T> {\n if (this.isFindManyOptions(options))\n return this.applyOptionsToQueryBuilder(qb, options);\n\n if (options)\n return qb.where(options);\n\n return qb;\n }\n\n /**\n * Applies give find options to the given query builder.\n */\n static applyOptionsToQueryBuilder<T>(qb: SelectQueryBuilder<T>, options: FindOneOptions<T>|FindManyOptions<T>|undefined): SelectQueryBuilder<T> {\n\n // if options are not set then simply return query builder. This is made for simplicity of usage.\n if (!options || (!this.isFindOneOptions(options) && !this.isFindManyOptions(options)))\n return qb;\n\n if (!qb.expressionMap.mainAlias || !qb.expressionMap.mainAlias.hasMetadata)\n return qb;\n\n const metadata = qb.expressionMap.mainAlias!.metadata;\n\n // apply all options from FindOptions\n if (options.select) {\n qb.select([]);\n options.select.forEach(select => {\n if (!metadata.findColumnWithPropertyPath(String(select)))\n throw new Error(`${select} column was not found in the ${metadata.name} entity.`);\n\n qb.addSelect(qb.alias + \".\" + select);\n });\n }\n\n if (options.where)\n qb.where(options.where);\n\n if ((options as FindManyOptions<T>).skip)\n qb.skip((options as FindManyOptions<T>).skip!);\n\n if ((options as FindManyOptions<T>).take)\n qb.take((options as FindManyOptions<T>).take!);\n\n if (options.order)\n Object.keys(options.order).forEach(key => {\n const order = ((options as FindOneOptions<T>).order as any)[key as any];\n\n if (!metadata.findColumnWithPropertyPath(key))\n throw new Error(`${key} column was not found in the ${metadata.name} entity.`);\n\n switch (order) {\n case 1:\n qb.addOrderBy(qb.alias + \".\" + key, \"ASC\");\n break;\n case -1:\n qb.addOrderBy(qb.alias + \".\" + key, \"DESC\");\n break;\n case \"ASC\":\n qb.addOrderBy(qb.alias + \".\" + key, \"ASC\");\n break;\n case \"DESC\":\n qb.addOrderBy(qb.alias + \".\" + key, \"DESC\");\n break;\n }\n });\n\n if (options.relations) {\n const allRelations = options.relations.map(relation => relation);\n this.applyRelationsRecursively(qb, allRelations, qb.expressionMap.mainAlias!.name, qb.expressionMap.mainAlias!.metadata, \"\");\n // recursive removes found relations from allRelations array\n // if there are relations left in this array it means those relations were not found in the entity structure\n // so, we give an exception about not found relations\n if (allRelations.length > 0)\n throw new FindRelationsNotFoundError(allRelations);\n }\n\n if (options.join) {\n if (options.join.leftJoin)\n Object.keys(options.join.leftJoin).forEach(key => {\n qb.leftJoin(options.join!.leftJoin![key], key);\n });\n\n if (options.join.innerJoin)\n Object.keys(options.join.innerJoin).forEach(key => {\n qb.innerJoin(options.join!.innerJoin![key], key);\n });\n\n if (options.join.leftJoinAndSelect)\n Object.keys(options.join.leftJoinAndSelect).forEach(key => {\n qb.leftJoinAndSelect(options.join!.leftJoinAndSelect![key], key);\n });\n\n if (options.join.innerJoinAndSelect)\n Object.keys(options.join.innerJoinAndSelect).forEach(key => {\n qb.innerJoinAndSelect(options.join!.innerJoinAndSelect![key], key);\n });\n }\n\n if (options.cache) {\n if (options.cache instanceof Object) {\n const cache = options.cache as { id: any, milliseconds: number };\n qb.cache(cache.id, cache.milliseconds);\n } else {\n qb.cache(options.cache);\n }\n }\n\n if (options.lock) {\n if (options.lock.mode === \"optimistic\") {\n qb.setLock(options.lock.mode, options.lock.version as any);\n } else if (options.lock.mode === \"pessimistic_read\" || options.lock.mode === \"pessimistic_write\" || options.lock.mode === \"dirty_read\" || options.lock.mode === \"pessimistic_partial_write\" || options.lock.mode === \"pessimistic_write_or_fail\") {\n qb.setLock(options.lock.mode);\n }\n }\n\n if (options.withDeleted) {\n qb.withDeleted();\n }\n\n if (options.loadRelationIds === true) {\n qb.loadAllRelationIds();\n\n } else if (options.loadRelationIds instanceof Object) {\n qb.loadAllRelationIds(options.loadRelationIds as any);\n }\n\n return qb;\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Adds joins for all relations and sub-relations of the given relations provided in the find options.\n */\n protected static applyRelationsRecursively(qb: SelectQueryBuilder<any>, allRelations: string[], alias: string, metadata: EntityMetadata, prefix: string): void {\n\n // find all relations that match given prefix\n let matchedBaseRelations: string[] = [];\n if (prefix) {\n const regexp = new RegExp(\"^\" + prefix.replace(\".\", \"\\\\.\") + \"\\\\.\");\n matchedBaseRelations = allRelations\n .filter(relation => relation.match(regexp))\n .map(relation => relation.replace(regexp, \"\"))\n .filter(relation => metadata.findRelationWithPropertyPath(relation));\n } else {\n matchedBaseRelations = allRelations.filter(relation => metadata.findRelationWithPropertyPath(relation));\n }\n\n // go through all matched relations and add join for them\n matchedBaseRelations.forEach(relation => {\n\n // generate a relation alias\n let relationAlias: string = alias + \"__\" + relation;\n // shorten it if needed by the driver\n if (qb.connection.driver.maxAliasLength && relationAlias.length > qb.connection.driver.maxAliasLength) {\n relationAlias = shorten(relationAlias);\n }\n\n // add a join for the found relation\n const selection = alias + \".\" + relation;\n qb.leftJoinAndSelect(selection, relationAlias);\n\n // join the eager relations of the found relation\n const relMetadata = metadata.relations.find(metadata => metadata.propertyName === relation);\n if (relMetadata) {\n this.joinEagerRelations(qb, relationAlias, relMetadata.inverseEntityMetadata);\n }\n\n // remove added relations from the allRelations array, this is needed to find all not found relations at the end\n allRelations.splice(allRelations.indexOf(prefix ? prefix + \".\" + relation : relation), 1);\n\n // try to find sub-relations\n const join = qb.expressionMap.joinAttributes.find(join => join.entityOrProperty === selection);\n this.applyRelationsRecursively(qb, allRelations, join!.alias.name, join!.metadata!, prefix ? prefix + \".\" + relation : relation);\n });\n }\n\n public static joinEagerRelations(qb: SelectQueryBuilder<any>, alias: string, metadata: EntityMetadata) {\n metadata.eagerRelations.forEach(relation => {\n const relationAlias = qb.connection.namingStrategy.eagerJoinRelationAlias(alias, relation.propertyPath);\n qb.leftJoinAndSelect(alias + \".\" + relation.propertyPath, relationAlias);\n this.joinEagerRelations(qb, relationAlias, relation.inverseEntityMetadata);\n });\n }\n\n}\n"],"sourceRoot":".."}
@@ -3,4 +3,4 @@ import { FindOperator } from "../FindOperator";
3
3
  * Find Options Operator.
4
4
  * Example: { someField: Any([...]) }
5
5
  */
6
- export declare function Any<T>(value: T[] | FindOperator<T>): FindOperator<any>;
6
+ export declare function Any<T>(value: T[] | FindOperator<T>): FindOperator<T>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/operator/Any.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAI,KAA0B;IAC7C,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,KAAY,CAAC,CAAC;AACjD,CAAC","file":"Any.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Example: { someField: Any([...]) }\n */\nexport function Any<T>(value: T[]|FindOperator<T>) {\n return new FindOperator(\"any\", value as any);\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/find-options/operator/Any.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAI,KAA0B;IAC7C,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,KAAY,CAAC,CAAC;AACjD,CAAC","file":"Any.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Example: { someField: Any([...]) }\n */\nexport function Any<T>(value: T[]|FindOperator<T>): FindOperator<T> {\n return new FindOperator(\"any\", value as any);\n}\n"],"sourceRoot":"../.."}
@@ -3,4 +3,4 @@ import { FindOperator } from "../FindOperator";
3
3
  * Find Options Operator.
4
4
  * Example: { someField: Between(x, y) }
5
5
  */
6
- export declare function Between<T>(from: T | FindOperator<T>, to: T | FindOperator<T>): FindOperator<any>;
6
+ export declare function Between<T>(from: T | FindOperator<T>, to: T | FindOperator<T>): FindOperator<T>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/operator/Between.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAI,IAAuB,EAAE,EAAqB;IACrE,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC","file":"Between.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Example: { someField: Between(x, y) }\n */\nexport function Between<T>(from: T|FindOperator<T>, to: T|FindOperator<T>) {\n return new FindOperator(\"between\", [from, to] as any, true, true);\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/find-options/operator/Between.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAI,IAAuB,EAAE,EAAqB;IACrE,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtE,CAAC","file":"Between.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Example: { someField: Between(x, y) }\n */\nexport function Between<T>(from: T|FindOperator<T>, to: T|FindOperator<T>): FindOperator<T> {\n return new FindOperator(\"between\", [from, to] as any, true, true);\n}\n"],"sourceRoot":"../.."}
@@ -3,4 +3,4 @@ import { FindOperator } from "../FindOperator";
3
3
  * Find Options Operator.
4
4
  * Example: { someField: In([...]) }
5
5
  */
6
- export declare function In<T>(value: T[] | FindOperator<T>): FindOperator<any>;
6
+ export declare function In<T>(value: T[] | FindOperator<T>): FindOperator<T>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/operator/In.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,EAAE,CAAI,KAA0B;IAC5C,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,KAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC","file":"In.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Example: { someField: In([...]) }\n */\nexport function In<T>(value: T[]|FindOperator<T>) {\n return new FindOperator(\"in\", value as any, true, true);\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/find-options/operator/In.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,EAAE,CAAI,KAA0B;IAC5C,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,KAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC","file":"In.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Example: { someField: In([...]) }\n */\nexport function In<T>(value: T[]|FindOperator<T>): FindOperator<T> {\n return new FindOperator(\"in\", value as any, true, true);\n}\n"],"sourceRoot":"../.."}