typeorm 0.2.27 → 0.2.31

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 (907) hide show
  1. package/README.md +9 -4
  2. package/browser/common/EntityFieldsNames.d.ts +6 -0
  3. package/browser/common/EntityFieldsNames.js +3 -0
  4. package/browser/common/EntityFieldsNames.js.map +1 -0
  5. package/browser/connection/Connection.d.ts +2 -2
  6. package/browser/connection/Connection.js +2 -2
  7. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  8. package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
  9. package/browser/connection/ConnectionOptionsReader.js +30 -30
  10. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  11. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -1
  12. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  13. package/browser/decorator/columns/PrimaryColumn.d.ts +9 -2
  14. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  15. package/browser/decorator/entity/ChildEntity.js +1 -1
  16. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  17. package/browser/decorator/options/RelationOptions.d.ts +10 -0
  18. package/browser/decorator/options/RelationOptions.js.map +1 -1
  19. package/browser/decorator/relations/ManyToOne.d.ts +6 -6
  20. package/browser/decorator/relations/ManyToOne.js +5 -5
  21. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  22. package/browser/decorator/relations/OneToMany.d.ts +3 -2
  23. package/browser/decorator/relations/OneToMany.js +4 -3
  24. package/browser/decorator/relations/OneToMany.js.map +1 -1
  25. package/browser/decorator/transaction/Transaction.d.ts +1 -1
  26. package/browser/decorator/transaction/Transaction.js +2 -2
  27. package/browser/decorator/transaction/Transaction.js.map +1 -1
  28. package/browser/decorator/tree/Tree.d.ts +2 -1
  29. package/browser/decorator/tree/Tree.js +3 -2
  30. package/browser/decorator/tree/Tree.js.map +1 -1
  31. package/browser/driver/DriverFactory.js.map +1 -1
  32. package/browser/driver/DriverUtils.js +20 -12
  33. package/browser/driver/DriverUtils.js.map +1 -1
  34. package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +0 -1
  35. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +2 -3
  36. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  37. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +2 -1
  38. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +57 -9
  39. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  40. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +1 -2
  41. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +3 -3
  42. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  43. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
  44. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -11
  45. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  46. package/browser/driver/cockroachdb/CockroachDriver.js +3 -3
  47. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  48. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
  49. package/browser/driver/cockroachdb/CockroachQueryRunner.js +112 -42
  50. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  51. package/browser/driver/expo/ExpoQueryRunner.js +72 -14
  52. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  53. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  54. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  55. package/browser/driver/mongodb/MongoDriver.d.ts +7 -3
  56. package/browser/driver/mongodb/MongoDriver.js +19 -14
  57. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  58. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  59. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  60. package/browser/driver/mysql/MysqlDriver.js +4 -4
  61. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  62. package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  63. package/browser/driver/mysql/MysqlQueryRunner.js +117 -42
  64. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  65. package/browser/driver/oracle/OracleConnectionOptions.d.ts +4 -0
  66. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  67. package/browser/driver/oracle/OracleDriver.js +3 -0
  68. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  69. package/browser/driver/oracle/OracleQueryRunner.js +52 -6
  70. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  71. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
  72. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  73. package/browser/driver/postgres/PostgresDriver.d.ts +1 -1
  74. package/browser/driver/postgres/PostgresDriver.js +11 -8
  75. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  76. package/browser/driver/postgres/PostgresQueryRunner.d.ts +8 -0
  77. package/browser/driver/postgres/PostgresQueryRunner.js +154 -60
  78. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  79. package/browser/driver/react-native/ReactNativeDriver.js +1 -2
  80. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  81. package/browser/driver/sap/SapQueryRunner.js +56 -8
  82. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  83. package/browser/driver/sqlite/SqliteQueryRunner.js +4 -0
  84. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  85. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -7
  86. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  87. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  88. package/browser/driver/sqlserver/SqlServerQueryRunner.js +140 -67
  89. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  90. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  91. package/browser/driver/types/ColumnTypes.js.map +1 -1
  92. package/browser/entity-manager/EntityManager.d.ts +13 -13
  93. package/browser/entity-manager/EntityManager.js +5 -16
  94. package/browser/entity-manager/EntityManager.js.map +1 -1
  95. package/browser/entity-manager/MongoEntityManager.d.ts +1 -1
  96. package/browser/entity-manager/MongoEntityManager.js +15 -4
  97. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  98. package/browser/error/index.d.ts +61 -0
  99. package/browser/error/index.js +63 -0
  100. package/browser/error/index.js.map +1 -0
  101. package/browser/find-options/FindOneOptions.d.ts +6 -1
  102. package/browser/find-options/FindOneOptions.js.map +1 -1
  103. package/browser/find-options/FindOperator.d.ts +25 -6
  104. package/browser/find-options/FindOperator.js +32 -6
  105. package/browser/find-options/FindOperator.js.map +1 -1
  106. package/browser/find-options/FindOperatorType.d.ts +1 -1
  107. package/browser/find-options/FindOperatorType.js.map +1 -1
  108. package/browser/find-options/FindOptionsUtils.d.ts +2 -2
  109. package/browser/find-options/FindOptionsUtils.js +5 -1
  110. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  111. package/browser/find-options/operator/ILike.d.ts +6 -0
  112. package/browser/find-options/operator/ILike.js +10 -0
  113. package/browser/find-options/operator/ILike.js.map +1 -0
  114. package/browser/find-options/operator/Raw.d.ts +14 -2
  115. package/browser/find-options/operator/Raw.js +5 -6
  116. package/browser/find-options/operator/Raw.js.map +1 -1
  117. package/browser/index.d.ts +3 -1
  118. package/browser/index.js +2 -23
  119. package/browser/index.js.map +1 -1
  120. package/browser/logger/Logger.d.ts +1 -1
  121. package/browser/logger/Logger.js.map +1 -1
  122. package/browser/metadata/ColumnMetadata.js +16 -3
  123. package/browser/metadata/ColumnMetadata.js.map +1 -1
  124. package/browser/metadata/EntityMetadata.d.ts +5 -0
  125. package/browser/metadata/EntityMetadata.js +1 -0
  126. package/browser/metadata/EntityMetadata.js.map +1 -1
  127. package/browser/metadata/RelationMetadata.d.ts +15 -0
  128. package/browser/metadata/RelationMetadata.js +18 -2
  129. package/browser/metadata/RelationMetadata.js.map +1 -1
  130. package/browser/metadata/types/ClosureTreeOptions.d.ts +10 -0
  131. package/browser/metadata/types/ClosureTreeOptions.js +3 -0
  132. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -0
  133. package/browser/metadata/types/EventListenerTypes.d.ts +7 -7
  134. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  135. package/browser/metadata-args/TreeMetadataArgs.d.ts +5 -0
  136. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  137. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -3
  138. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  139. package/browser/metadata-builder/EntityMetadataBuilder.js +19 -9
  140. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  141. package/browser/metadata-builder/EntityMetadataValidator.js +8 -5
  142. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  143. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +2 -2
  144. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  145. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
  146. package/browser/metadata-builder/RelationJoinColumnBuilder.js +5 -5
  147. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  148. package/browser/persistence/EntityPersistExecutor.js +55 -52
  149. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  150. package/browser/persistence/Subject.d.ts +4 -4
  151. package/browser/persistence/Subject.js +6 -5
  152. package/browser/persistence/Subject.js.map +1 -1
  153. package/browser/persistence/SubjectExecutor.js +9 -5
  154. package/browser/persistence/SubjectExecutor.js.map +1 -1
  155. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  156. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +9 -4
  157. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  158. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
  159. package/browser/persistence/tree/ClosureSubjectExecutor.js +5 -5
  160. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  161. package/browser/query-builder/Alias.d.ts +3 -4
  162. package/browser/query-builder/Alias.js +3 -3
  163. package/browser/query-builder/DeleteQueryBuilder.js +2 -1
  164. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  165. package/browser/query-builder/InsertQueryBuilder.d.ts +6 -0
  166. package/browser/query-builder/InsertQueryBuilder.js +62 -13
  167. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  168. package/browser/query-builder/JoinAttribute.d.ts +10 -10
  169. package/browser/query-builder/JoinAttribute.js +10 -10
  170. package/browser/query-builder/QueryBuilder.d.ts +8 -1
  171. package/browser/query-builder/QueryBuilder.js +168 -33
  172. package/browser/query-builder/QueryBuilder.js.map +1 -1
  173. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  174. package/browser/query-builder/QueryExpressionMap.d.ts +6 -2
  175. package/browser/query-builder/QueryExpressionMap.js +3 -2
  176. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  177. package/browser/query-builder/RelationLoader.js +1 -1
  178. package/browser/query-builder/RelationLoader.js.map +1 -1
  179. package/browser/query-builder/SelectQueryBuilder.d.ts +5 -0
  180. package/browser/query-builder/SelectQueryBuilder.js +98 -56
  181. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  182. package/browser/query-builder/UpdateQueryBuilder.js +2 -1
  183. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  184. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  185. package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
  186. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  187. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  188. package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
  189. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  190. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  191. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  192. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -3
  193. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  194. package/browser/query-runner/QueryRunner.d.ts +1 -1
  195. package/browser/query-runner/QueryRunner.js.map +1 -1
  196. package/browser/repository/AbstractRepository.d.ts +2 -2
  197. package/browser/repository/AbstractRepository.js +2 -2
  198. package/browser/repository/BaseEntity.d.ts +1 -1
  199. package/browser/repository/BaseEntity.js +1 -1
  200. package/browser/repository/Repository.d.ts +4 -4
  201. package/browser/repository/Repository.js +1 -1
  202. package/browser/repository/Repository.js.map +1 -1
  203. package/browser/repository/TreeRepository.js +2 -2
  204. package/browser/repository/TreeRepository.js.map +1 -1
  205. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  206. package/browser/schema-builder/RdbmsSchemaBuilder.js +4 -3
  207. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  208. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  209. package/browser/schema-builder/table/Table.d.ts +1 -1
  210. package/browser/schema-builder/table/Table.js +1 -1
  211. package/browser/subscriber/Broadcaster.d.ts +24 -0
  212. package/browser/subscriber/Broadcaster.js +120 -0
  213. package/browser/subscriber/Broadcaster.js.map +1 -1
  214. package/browser/subscriber/EntitySubscriberInterface.d.ts +27 -0
  215. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  216. package/browser/subscriber/event/TransactionCommitEvent.d.ts +22 -0
  217. package/browser/subscriber/event/TransactionCommitEvent.js +3 -0
  218. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -0
  219. package/browser/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
  220. package/browser/subscriber/event/TransactionRollbackEvent.js +3 -0
  221. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  222. package/browser/subscriber/event/TransactionStartEvent.d.ts +22 -0
  223. package/browser/subscriber/event/TransactionStartEvent.js +3 -0
  224. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -0
  225. package/browser/util/DateUtils.d.ts +1 -1
  226. package/browser/util/DateUtils.js +1 -7
  227. package/browser/util/DateUtils.js.map +1 -1
  228. package/browser/util/StringUtils.js.map +1 -1
  229. package/cache/DbQueryResultCache.js +0 -1
  230. package/cache/DbQueryResultCache.js.map +1 -1
  231. package/cache/QueryResultCacheFactory.js +0 -1
  232. package/cache/QueryResultCacheFactory.js.map +1 -1
  233. package/cache/RedisQueryResultCache.js +0 -1
  234. package/cache/RedisQueryResultCache.js.map +1 -1
  235. package/cli.js +2 -2
  236. package/cli.js.map +1 -1
  237. package/commands/CacheClearCommand.js +0 -1
  238. package/commands/CacheClearCommand.js.map +1 -1
  239. package/commands/CommandUtils.js +0 -1
  240. package/commands/CommandUtils.js.map +1 -1
  241. package/commands/EntityCreateCommand.js +5 -3
  242. package/commands/EntityCreateCommand.js.map +1 -1
  243. package/commands/InitCommand.js +1 -2
  244. package/commands/InitCommand.js.map +1 -1
  245. package/commands/MigrationCreateCommand.d.ts +6 -0
  246. package/commands/MigrationCreateCommand.js +22 -5
  247. package/commands/MigrationCreateCommand.js.map +1 -1
  248. package/commands/MigrationGenerateCommand.d.ts +6 -0
  249. package/commands/MigrationGenerateCommand.js +44 -31
  250. package/commands/MigrationGenerateCommand.js.map +1 -1
  251. package/commands/MigrationRevertCommand.js +0 -1
  252. package/commands/MigrationRevertCommand.js.map +1 -1
  253. package/commands/MigrationRunCommand.js +0 -1
  254. package/commands/MigrationRunCommand.js.map +1 -1
  255. package/commands/MigrationShowCommand.js +0 -1
  256. package/commands/MigrationShowCommand.js.map +1 -1
  257. package/commands/QueryCommand.d.ts +2 -0
  258. package/commands/QueryCommand.js +16 -7
  259. package/commands/QueryCommand.js.map +1 -1
  260. package/commands/SchemaDropCommand.js +0 -1
  261. package/commands/SchemaDropCommand.js.map +1 -1
  262. package/commands/SchemaLogCommand.js +0 -1
  263. package/commands/SchemaLogCommand.js.map +1 -1
  264. package/commands/SchemaSyncCommand.js +0 -1
  265. package/commands/SchemaSyncCommand.js.map +1 -1
  266. package/commands/SubscriberCreateCommand.js +5 -3
  267. package/commands/SubscriberCreateCommand.js.map +1 -1
  268. package/commands/VersionCommand.js +0 -1
  269. package/commands/VersionCommand.js.map +1 -1
  270. package/common/EntityFieldsNames.d.ts +6 -0
  271. package/common/EntityFieldsNames.js +4 -0
  272. package/common/EntityFieldsNames.js.map +1 -0
  273. package/connection/Connection.d.ts +2 -2
  274. package/connection/Connection.js +2 -3
  275. package/connection/Connection.js.map +1 -1
  276. package/connection/ConnectionManager.js +0 -1
  277. package/connection/ConnectionManager.js.map +1 -1
  278. package/connection/ConnectionMetadataBuilder.js +0 -1
  279. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  280. package/connection/ConnectionOptionsReader.d.ts +3 -3
  281. package/connection/ConnectionOptionsReader.js +30 -31
  282. package/connection/ConnectionOptionsReader.js.map +1 -1
  283. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -2
  284. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  285. package/connection/options-reader/ConnectionOptionsXmlReader.js +0 -1
  286. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  287. package/connection/options-reader/ConnectionOptionsYmlReader.js +0 -1
  288. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  289. package/container.js +0 -1
  290. package/container.js.map +1 -1
  291. package/decorator/Check.js +0 -1
  292. package/decorator/Check.js.map +1 -1
  293. package/decorator/EntityRepository.js +0 -1
  294. package/decorator/EntityRepository.js.map +1 -1
  295. package/decorator/Exclusion.js +0 -1
  296. package/decorator/Exclusion.js.map +1 -1
  297. package/decorator/Generated.js +0 -1
  298. package/decorator/Generated.js.map +1 -1
  299. package/decorator/Index.js +0 -1
  300. package/decorator/Index.js.map +1 -1
  301. package/decorator/Unique.js +0 -1
  302. package/decorator/Unique.js.map +1 -1
  303. package/decorator/columns/Column.js +0 -1
  304. package/decorator/columns/Column.js.map +1 -1
  305. package/decorator/columns/CreateDateColumn.js +0 -1
  306. package/decorator/columns/CreateDateColumn.js.map +1 -1
  307. package/decorator/columns/DeleteDateColumn.js +0 -1
  308. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  309. package/decorator/columns/ObjectIdColumn.js +0 -1
  310. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  311. package/decorator/columns/PrimaryColumn.d.ts +9 -2
  312. package/decorator/columns/PrimaryColumn.js +0 -1
  313. package/decorator/columns/PrimaryColumn.js.map +1 -1
  314. package/decorator/columns/PrimaryGeneratedColumn.js +0 -1
  315. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  316. package/decorator/columns/UpdateDateColumn.js +0 -1
  317. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  318. package/decorator/columns/VersionColumn.js +0 -1
  319. package/decorator/columns/VersionColumn.js.map +1 -1
  320. package/decorator/columns/ViewColumn.js +0 -1
  321. package/decorator/columns/ViewColumn.js.map +1 -1
  322. package/decorator/entity/ChildEntity.js +1 -2
  323. package/decorator/entity/ChildEntity.js.map +1 -1
  324. package/decorator/entity/Entity.js +0 -1
  325. package/decorator/entity/Entity.js.map +1 -1
  326. package/decorator/entity/TableInheritance.js +0 -1
  327. package/decorator/entity/TableInheritance.js.map +1 -1
  328. package/decorator/entity-view/ViewEntity.js +0 -1
  329. package/decorator/entity-view/ViewEntity.js.map +1 -1
  330. package/decorator/listeners/AfterInsert.js +0 -1
  331. package/decorator/listeners/AfterInsert.js.map +1 -1
  332. package/decorator/listeners/AfterLoad.js +0 -1
  333. package/decorator/listeners/AfterLoad.js.map +1 -1
  334. package/decorator/listeners/AfterRemove.js +0 -1
  335. package/decorator/listeners/AfterRemove.js.map +1 -1
  336. package/decorator/listeners/AfterUpdate.js +0 -1
  337. package/decorator/listeners/AfterUpdate.js.map +1 -1
  338. package/decorator/listeners/BeforeInsert.js +0 -1
  339. package/decorator/listeners/BeforeInsert.js.map +1 -1
  340. package/decorator/listeners/BeforeRemove.js +0 -1
  341. package/decorator/listeners/BeforeRemove.js.map +1 -1
  342. package/decorator/listeners/BeforeUpdate.js +0 -1
  343. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  344. package/decorator/listeners/EventSubscriber.js +0 -1
  345. package/decorator/listeners/EventSubscriber.js.map +1 -1
  346. package/decorator/options/RelationOptions.d.ts +10 -0
  347. package/decorator/options/RelationOptions.js.map +1 -1
  348. package/decorator/relations/JoinColumn.js +0 -1
  349. package/decorator/relations/JoinColumn.js.map +1 -1
  350. package/decorator/relations/JoinTable.js +0 -1
  351. package/decorator/relations/JoinTable.js.map +1 -1
  352. package/decorator/relations/ManyToMany.js +0 -1
  353. package/decorator/relations/ManyToMany.js.map +1 -1
  354. package/decorator/relations/ManyToOne.d.ts +6 -6
  355. package/decorator/relations/ManyToOne.js +5 -6
  356. package/decorator/relations/ManyToOne.js.map +1 -1
  357. package/decorator/relations/OneToMany.d.ts +3 -2
  358. package/decorator/relations/OneToMany.js +4 -4
  359. package/decorator/relations/OneToMany.js.map +1 -1
  360. package/decorator/relations/OneToOne.js +0 -1
  361. package/decorator/relations/OneToOne.js.map +1 -1
  362. package/decorator/relations/RelationCount.js +0 -1
  363. package/decorator/relations/RelationCount.js.map +1 -1
  364. package/decorator/relations/RelationId.js +0 -1
  365. package/decorator/relations/RelationId.js.map +1 -1
  366. package/decorator/transaction/Transaction.d.ts +1 -1
  367. package/decorator/transaction/Transaction.js +2 -3
  368. package/decorator/transaction/Transaction.js.map +1 -1
  369. package/decorator/transaction/TransactionManager.js +0 -1
  370. package/decorator/transaction/TransactionManager.js.map +1 -1
  371. package/decorator/transaction/TransactionRepository.js +0 -1
  372. package/decorator/transaction/TransactionRepository.js.map +1 -1
  373. package/decorator/tree/Tree.d.ts +2 -1
  374. package/decorator/tree/Tree.js +3 -3
  375. package/decorator/tree/Tree.js.map +1 -1
  376. package/decorator/tree/TreeChildren.js +0 -1
  377. package/decorator/tree/TreeChildren.js.map +1 -1
  378. package/decorator/tree/TreeLevelColumn.js +0 -1
  379. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  380. package/decorator/tree/TreeParent.js +0 -1
  381. package/decorator/tree/TreeParent.js.map +1 -1
  382. package/driver/DriverFactory.js +0 -1
  383. package/driver/DriverFactory.js.map +1 -1
  384. package/driver/DriverUtils.js +19 -12
  385. package/driver/DriverUtils.js.map +1 -1
  386. package/driver/Query.js +0 -1
  387. package/driver/Query.js.map +1 -1
  388. package/driver/SqlInMemory.js +0 -1
  389. package/driver/SqlInMemory.js.map +1 -1
  390. package/driver/aurora-data-api/AuroraDataApiConnection.js +0 -1
  391. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  392. package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +0 -1
  393. package/driver/aurora-data-api/AuroraDataApiDriver.js +2 -4
  394. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  395. package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +2 -1
  396. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +57 -10
  397. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  398. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +1 -2
  399. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +3 -4
  400. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  401. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
  402. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -12
  403. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  404. package/driver/better-sqlite3/BetterSqlite3Driver.js +0 -1
  405. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  406. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +0 -1
  407. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  408. package/driver/cockroachdb/CockroachDriver.js +3 -4
  409. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  410. package/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
  411. package/driver/cockroachdb/CockroachQueryRunner.js +112 -43
  412. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  413. package/driver/cordova/CordovaDriver.js +0 -1
  414. package/driver/cordova/CordovaDriver.js.map +1 -1
  415. package/driver/cordova/CordovaQueryRunner.js +0 -1
  416. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  417. package/driver/expo/ExpoDriver.js +0 -1
  418. package/driver/expo/ExpoDriver.js.map +1 -1
  419. package/driver/expo/ExpoQueryRunner.js +72 -15
  420. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  421. package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  422. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  423. package/driver/mongodb/MongoDriver.d.ts +7 -3
  424. package/driver/mongodb/MongoDriver.js +19 -15
  425. package/driver/mongodb/MongoDriver.js.map +1 -1
  426. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  427. package/driver/mongodb/MongoQueryRunner.js +0 -1
  428. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  429. package/driver/mysql/MysqlDriver.js +4 -5
  430. package/driver/mysql/MysqlDriver.js.map +1 -1
  431. package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  432. package/driver/mysql/MysqlQueryRunner.js +117 -43
  433. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  434. package/driver/nativescript/NativescriptDriver.js +0 -1
  435. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  436. package/driver/nativescript/NativescriptQueryRunner.js +0 -1
  437. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  438. package/driver/oracle/OracleConnectionOptions.d.ts +4 -0
  439. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  440. package/driver/oracle/OracleDriver.js +3 -1
  441. package/driver/oracle/OracleDriver.js.map +1 -1
  442. package/driver/oracle/OracleQueryRunner.js +52 -7
  443. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  444. package/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
  445. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  446. package/driver/postgres/PostgresDriver.d.ts +1 -1
  447. package/driver/postgres/PostgresDriver.js +11 -9
  448. package/driver/postgres/PostgresDriver.js.map +1 -1
  449. package/driver/postgres/PostgresQueryRunner.d.ts +8 -0
  450. package/driver/postgres/PostgresQueryRunner.js +155 -61
  451. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  452. package/driver/react-native/ReactNativeDriver.js +1 -3
  453. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  454. package/driver/react-native/ReactNativeQueryRunner.js +0 -1
  455. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  456. package/driver/sap/SapDriver.js +0 -1
  457. package/driver/sap/SapDriver.js.map +1 -1
  458. package/driver/sap/SapQueryRunner.js +56 -9
  459. package/driver/sap/SapQueryRunner.js.map +1 -1
  460. package/driver/sqlite/SqliteDriver.js +0 -1
  461. package/driver/sqlite/SqliteDriver.js.map +1 -1
  462. package/driver/sqlite/SqliteQueryRunner.js +4 -1
  463. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  464. package/driver/sqlite-abstract/AbstractSqliteDriver.js +0 -1
  465. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  466. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -8
  467. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  468. package/driver/sqljs/SqljsDriver.js +0 -1
  469. package/driver/sqljs/SqljsDriver.js.map +1 -1
  470. package/driver/sqljs/SqljsQueryRunner.js +0 -1
  471. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  472. package/driver/sqlserver/MssqlParameter.js +0 -1
  473. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  474. package/driver/sqlserver/SqlServerDriver.js +0 -1
  475. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  476. package/driver/sqlserver/SqlServerQueryRunner.js +140 -68
  477. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  478. package/driver/types/ColumnTypes.d.ts +1 -1
  479. package/driver/types/ColumnTypes.js.map +1 -1
  480. package/entity-manager/EntityManager.d.ts +13 -13
  481. package/entity-manager/EntityManager.js +5 -17
  482. package/entity-manager/EntityManager.js.map +1 -1
  483. package/entity-manager/EntityManagerFactory.js +0 -1
  484. package/entity-manager/EntityManagerFactory.js.map +1 -1
  485. package/entity-manager/MongoEntityManager.d.ts +1 -1
  486. package/entity-manager/MongoEntityManager.js +15 -5
  487. package/entity-manager/MongoEntityManager.js.map +1 -1
  488. package/entity-manager/SqljsEntityManager.js +0 -1
  489. package/entity-manager/SqljsEntityManager.js.map +1 -1
  490. package/entity-schema/EntitySchema.js +0 -1
  491. package/entity-schema/EntitySchema.js.map +1 -1
  492. package/entity-schema/EntitySchemaOptions.js +0 -1
  493. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  494. package/entity-schema/EntitySchemaTransformer.js +0 -1
  495. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  496. package/error/AlreadyHasActiveConnectionError.js +0 -1
  497. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  498. package/error/CannotAttachTreeChildrenEntityError.js +0 -1
  499. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  500. package/error/CannotConnectAlreadyConnectedError.js +0 -1
  501. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  502. package/error/CannotCreateEntityIdMapError.js +0 -1
  503. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  504. package/error/CannotDetermineEntityError.js +0 -1
  505. package/error/CannotDetermineEntityError.js.map +1 -1
  506. package/error/CannotExecuteNotConnectedError.js +0 -1
  507. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  508. package/error/CannotGetEntityManagerNotConnectedError.js +0 -1
  509. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  510. package/error/CannotReflectMethodParameterTypeError.js +0 -1
  511. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  512. package/error/CircularRelationsError.js +0 -1
  513. package/error/CircularRelationsError.js.map +1 -1
  514. package/error/ColumnTypeUndefinedError.js +0 -1
  515. package/error/ColumnTypeUndefinedError.js.map +1 -1
  516. package/error/ConnectionIsNotSetError.js +0 -1
  517. package/error/ConnectionIsNotSetError.js.map +1 -1
  518. package/error/ConnectionNotFoundError.js +0 -1
  519. package/error/ConnectionNotFoundError.js.map +1 -1
  520. package/error/CustomRepositoryCannotInheritRepositoryError.js +0 -1
  521. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  522. package/error/CustomRepositoryDoesNotHaveEntityError.js +0 -1
  523. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  524. package/error/CustomRepositoryNotFoundError.js +0 -1
  525. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  526. package/error/DataTypeNotSupportedError.js +0 -1
  527. package/error/DataTypeNotSupportedError.js.map +1 -1
  528. package/error/DriverOptionNotSetError.js +0 -1
  529. package/error/DriverOptionNotSetError.js.map +1 -1
  530. package/error/DriverPackageNotInstalledError.js +0 -1
  531. package/error/DriverPackageNotInstalledError.js.map +1 -1
  532. package/error/EntityColumnNotFound.js +0 -1
  533. package/error/EntityColumnNotFound.js.map +1 -1
  534. package/error/EntityMetadataNotFoundError.js +0 -1
  535. package/error/EntityMetadataNotFoundError.js.map +1 -1
  536. package/error/EntityNotFoundError.js +0 -1
  537. package/error/EntityNotFoundError.js.map +1 -1
  538. package/error/FindRelationsNotFoundError.js +0 -1
  539. package/error/FindRelationsNotFoundError.js.map +1 -1
  540. package/error/InitializedRelationError.js +0 -1
  541. package/error/InitializedRelationError.js.map +1 -1
  542. package/error/InsertValuesMissingError.js +0 -1
  543. package/error/InsertValuesMissingError.js.map +1 -1
  544. package/error/LimitOnUpdateNotSupportedError.js +0 -1
  545. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  546. package/error/LockNotSupportedOnGivenDriverError.js +0 -1
  547. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  548. package/error/MetadataAlreadyExistsError.js +0 -1
  549. package/error/MetadataAlreadyExistsError.js.map +1 -1
  550. package/error/MetadataWithSuchNameAlreadyExistsError.js +0 -1
  551. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  552. package/error/MissingDeleteDateColumnError.js +0 -1
  553. package/error/MissingDeleteDateColumnError.js.map +1 -1
  554. package/error/MissingDriverError.js +0 -1
  555. package/error/MissingDriverError.js.map +1 -1
  556. package/error/MissingJoinColumnError.js +0 -1
  557. package/error/MissingJoinColumnError.js.map +1 -1
  558. package/error/MissingJoinTableError.js +0 -1
  559. package/error/MissingJoinTableError.js.map +1 -1
  560. package/error/MissingPrimaryColumnError.js +0 -1
  561. package/error/MissingPrimaryColumnError.js.map +1 -1
  562. package/error/MustBeEntityError.js +0 -1
  563. package/error/MustBeEntityError.js.map +1 -1
  564. package/error/NamingStrategyNotFoundError.js +0 -1
  565. package/error/NamingStrategyNotFoundError.js.map +1 -1
  566. package/error/NoConnectionForRepositoryError.js +0 -1
  567. package/error/NoConnectionForRepositoryError.js.map +1 -1
  568. package/error/NoConnectionOptionError.js +0 -1
  569. package/error/NoConnectionOptionError.js.map +1 -1
  570. package/error/NoNeedToReleaseEntityManagerError.js +0 -1
  571. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  572. package/error/NoVersionOrUpdateDateColumnError.js +0 -1
  573. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  574. package/error/OffsetWithoutLimitNotSupportedError.js +0 -1
  575. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  576. package/error/OptimisticLockCanNotBeUsedError.js +0 -1
  577. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  578. package/error/OptimisticLockVersionMismatchError.js +0 -1
  579. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  580. package/error/PersistedEntityNotFoundError.js +0 -1
  581. package/error/PersistedEntityNotFoundError.js.map +1 -1
  582. package/error/PessimisticLockTransactionRequiredError.js +0 -1
  583. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  584. package/error/PrimaryColumnCannotBeNullableError.js +0 -1
  585. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  586. package/error/QueryFailedError.js +0 -1
  587. package/error/QueryFailedError.js.map +1 -1
  588. package/error/QueryRunnerAlreadyReleasedError.js +0 -1
  589. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  590. package/error/QueryRunnerProviderAlreadyReleasedError.js +0 -1
  591. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  592. package/error/RepositoryNotFoundError.js +0 -1
  593. package/error/RepositoryNotFoundError.js.map +1 -1
  594. package/error/RepositoryNotTreeError.js +0 -1
  595. package/error/RepositoryNotTreeError.js.map +1 -1
  596. package/error/ReturningStatementNotSupportedError.js +0 -1
  597. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  598. package/error/SubjectRemovedAndUpdatedError.js +0 -1
  599. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  600. package/error/SubjectWithoutIdentifierError.js +0 -1
  601. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  602. package/error/TransactionAlreadyStartedError.js +0 -1
  603. package/error/TransactionAlreadyStartedError.js.map +1 -1
  604. package/error/TransactionNotStartedError.js +0 -1
  605. package/error/TransactionNotStartedError.js.map +1 -1
  606. package/error/TreeRepositoryNotSupportedError.js +0 -1
  607. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  608. package/error/UpdateValuesMissingError.js +0 -1
  609. package/error/UpdateValuesMissingError.js.map +1 -1
  610. package/error/UsingJoinColumnIsNotAllowedError.js +0 -1
  611. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  612. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +0 -1
  613. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  614. package/error/UsingJoinTableIsNotAllowedError.js +0 -1
  615. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  616. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +0 -1
  617. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  618. package/error/index.d.ts +61 -0
  619. package/error/index.js +66 -0
  620. package/error/index.js.map +1 -0
  621. package/find-options/FindOneOptions.d.ts +6 -1
  622. package/find-options/FindOneOptions.js.map +1 -1
  623. package/find-options/FindOperator.d.ts +25 -6
  624. package/find-options/FindOperator.js +32 -7
  625. package/find-options/FindOperator.js.map +1 -1
  626. package/find-options/FindOperatorType.d.ts +1 -1
  627. package/find-options/FindOperatorType.js.map +1 -1
  628. package/find-options/FindOptionsUtils.d.ts +2 -2
  629. package/find-options/FindOptionsUtils.js +5 -2
  630. package/find-options/FindOptionsUtils.js.map +1 -1
  631. package/find-options/operator/Any.js +0 -1
  632. package/find-options/operator/Any.js.map +1 -1
  633. package/find-options/operator/Between.js +0 -1
  634. package/find-options/operator/Between.js.map +1 -1
  635. package/find-options/operator/Equal.js +0 -1
  636. package/find-options/operator/Equal.js.map +1 -1
  637. package/find-options/operator/ILike.d.ts +6 -0
  638. package/find-options/operator/ILike.js +13 -0
  639. package/find-options/operator/ILike.js.map +1 -0
  640. package/find-options/operator/In.js +0 -1
  641. package/find-options/operator/In.js.map +1 -1
  642. package/find-options/operator/IsNull.js +0 -1
  643. package/find-options/operator/IsNull.js.map +1 -1
  644. package/find-options/operator/LessThan.js +0 -1
  645. package/find-options/operator/LessThan.js.map +1 -1
  646. package/find-options/operator/LessThanOrEqual.js +0 -1
  647. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  648. package/find-options/operator/Like.js +0 -1
  649. package/find-options/operator/Like.js.map +1 -1
  650. package/find-options/operator/MoreThan.js +0 -1
  651. package/find-options/operator/MoreThan.js.map +1 -1
  652. package/find-options/operator/MoreThanOrEqual.js +0 -1
  653. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  654. package/find-options/operator/Not.js +0 -1
  655. package/find-options/operator/Not.js.map +1 -1
  656. package/find-options/operator/Raw.d.ts +14 -2
  657. package/find-options/operator/Raw.js +5 -7
  658. package/find-options/operator/Raw.js.map +1 -1
  659. package/index.d.ts +3 -1
  660. package/index.js +20 -42
  661. package/index.js.map +1 -1
  662. package/logger/AdvancedConsoleLogger.js +0 -1
  663. package/logger/AdvancedConsoleLogger.js.map +1 -1
  664. package/logger/DebugLogger.js +0 -1
  665. package/logger/DebugLogger.js.map +1 -1
  666. package/logger/FileLogger.js +0 -1
  667. package/logger/FileLogger.js.map +1 -1
  668. package/logger/Logger.d.ts +1 -1
  669. package/logger/Logger.js.map +1 -1
  670. package/logger/LoggerFactory.js +0 -1
  671. package/logger/LoggerFactory.js.map +1 -1
  672. package/logger/SimpleConsoleLogger.js +0 -1
  673. package/logger/SimpleConsoleLogger.js.map +1 -1
  674. package/metadata/CheckMetadata.js +0 -1
  675. package/metadata/CheckMetadata.js.map +1 -1
  676. package/metadata/ColumnMetadata.js +16 -4
  677. package/metadata/ColumnMetadata.js.map +1 -1
  678. package/metadata/EmbeddedMetadata.js +0 -1
  679. package/metadata/EmbeddedMetadata.js.map +1 -1
  680. package/metadata/EntityListenerMetadata.js +0 -1
  681. package/metadata/EntityListenerMetadata.js.map +1 -1
  682. package/metadata/EntityMetadata.d.ts +5 -0
  683. package/metadata/EntityMetadata.js +1 -1
  684. package/metadata/EntityMetadata.js.map +1 -1
  685. package/metadata/ExclusionMetadata.js +0 -1
  686. package/metadata/ExclusionMetadata.js.map +1 -1
  687. package/metadata/ForeignKeyMetadata.js +0 -1
  688. package/metadata/ForeignKeyMetadata.js.map +1 -1
  689. package/metadata/IndexMetadata.js +0 -1
  690. package/metadata/IndexMetadata.js.map +1 -1
  691. package/metadata/RelationCountMetadata.js +0 -1
  692. package/metadata/RelationCountMetadata.js.map +1 -1
  693. package/metadata/RelationIdMetadata.js +0 -1
  694. package/metadata/RelationIdMetadata.js.map +1 -1
  695. package/metadata/RelationMetadata.d.ts +15 -0
  696. package/metadata/RelationMetadata.js +18 -3
  697. package/metadata/RelationMetadata.js.map +1 -1
  698. package/metadata/UniqueMetadata.js +0 -1
  699. package/metadata/UniqueMetadata.js.map +1 -1
  700. package/metadata/types/ClosureTreeOptions.d.ts +10 -0
  701. package/metadata/types/ClosureTreeOptions.js +4 -0
  702. package/metadata/types/ClosureTreeOptions.js.map +1 -0
  703. package/metadata/types/EventListenerTypes.d.ts +7 -7
  704. package/metadata/types/EventListenerTypes.js +0 -1
  705. package/metadata/types/EventListenerTypes.js.map +1 -1
  706. package/metadata-args/MetadataArgsStorage.js +0 -1
  707. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  708. package/metadata-args/TreeMetadataArgs.d.ts +5 -0
  709. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  710. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -4
  711. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  712. package/metadata-builder/EntityMetadataBuilder.js +19 -10
  713. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  714. package/metadata-builder/EntityMetadataValidator.js +8 -6
  715. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  716. package/metadata-builder/JunctionEntityMetadataBuilder.js +2 -3
  717. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  718. package/metadata-builder/MetadataUtils.js +0 -1
  719. package/metadata-builder/MetadataUtils.js.map +1 -1
  720. package/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
  721. package/metadata-builder/RelationJoinColumnBuilder.js +5 -6
  722. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  723. package/migration/Migration.js +0 -1
  724. package/migration/Migration.js.map +1 -1
  725. package/migration/MigrationExecutor.js +0 -1
  726. package/migration/MigrationExecutor.js.map +1 -1
  727. package/naming-strategy/DefaultNamingStrategy.js +0 -1
  728. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  729. package/package.json +7 -5
  730. package/persistence/EntityPersistExecutor.js +55 -53
  731. package/persistence/EntityPersistExecutor.js.map +1 -1
  732. package/persistence/Subject.d.ts +4 -4
  733. package/persistence/Subject.js +6 -6
  734. package/persistence/Subject.js.map +1 -1
  735. package/persistence/SubjectChangedColumnsComputer.js +0 -1
  736. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  737. package/persistence/SubjectDatabaseEntityLoader.js +0 -1
  738. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  739. package/persistence/SubjectExecutor.js +9 -6
  740. package/persistence/SubjectExecutor.js.map +1 -1
  741. package/persistence/SubjectTopoligicalSorter.js +0 -1
  742. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  743. package/persistence/subject-builder/CascadesSubjectBuilder.js +0 -1
  744. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  745. package/persistence/subject-builder/ManyToManySubjectBuilder.js +0 -1
  746. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  747. package/persistence/subject-builder/OneToManySubjectBuilder.js +9 -5
  748. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  749. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +0 -1
  750. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  751. package/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
  752. package/persistence/tree/ClosureSubjectExecutor.js +5 -6
  753. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  754. package/persistence/tree/MaterializedPathSubjectExecutor.js +0 -1
  755. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  756. package/persistence/tree/NestedSetSubjectExecutor.js +0 -1
  757. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  758. package/platform/PlatformTools.js +4 -5
  759. package/platform/PlatformTools.js.map +1 -1
  760. package/query-builder/Alias.d.ts +3 -4
  761. package/query-builder/Alias.js +3 -4
  762. package/query-builder/Alias.js.map +1 -1
  763. package/query-builder/Brackets.js +0 -1
  764. package/query-builder/Brackets.js.map +1 -1
  765. package/query-builder/DeleteQueryBuilder.js +2 -2
  766. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  767. package/query-builder/InsertQueryBuilder.d.ts +6 -0
  768. package/query-builder/InsertQueryBuilder.js +62 -14
  769. package/query-builder/InsertQueryBuilder.js.map +1 -1
  770. package/query-builder/JoinAttribute.d.ts +10 -10
  771. package/query-builder/JoinAttribute.js +10 -11
  772. package/query-builder/JoinAttribute.js.map +1 -1
  773. package/query-builder/QueryBuilder.d.ts +8 -1
  774. package/query-builder/QueryBuilder.js +167 -33
  775. package/query-builder/QueryBuilder.js.map +1 -1
  776. package/query-builder/QueryBuilderUtils.js +0 -1
  777. package/query-builder/QueryBuilderUtils.js.map +1 -1
  778. package/query-builder/QueryExpressionMap.d.ts +6 -2
  779. package/query-builder/QueryExpressionMap.js +3 -3
  780. package/query-builder/QueryExpressionMap.js.map +1 -1
  781. package/query-builder/RelationIdLoader.js +0 -1
  782. package/query-builder/RelationIdLoader.js.map +1 -1
  783. package/query-builder/RelationLoader.js +1 -2
  784. package/query-builder/RelationLoader.js.map +1 -1
  785. package/query-builder/RelationQueryBuilder.js +0 -1
  786. package/query-builder/RelationQueryBuilder.js.map +1 -1
  787. package/query-builder/RelationRemover.js +0 -1
  788. package/query-builder/RelationRemover.js.map +1 -1
  789. package/query-builder/RelationUpdater.js +0 -1
  790. package/query-builder/RelationUpdater.js.map +1 -1
  791. package/query-builder/ReturningResultsEntityUpdator.js +0 -1
  792. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  793. package/query-builder/SelectQueryBuilder.d.ts +5 -0
  794. package/query-builder/SelectQueryBuilder.js +98 -57
  795. package/query-builder/SelectQueryBuilder.js.map +1 -1
  796. package/query-builder/SoftDeleteQueryBuilder.js +0 -1
  797. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  798. package/query-builder/UpdateQueryBuilder.js +2 -2
  799. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  800. package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  801. package/query-builder/relation-count/RelationCountAttribute.js +7 -8
  802. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  803. package/query-builder/relation-count/RelationCountLoader.js +0 -1
  804. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  805. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +0 -1
  806. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  807. package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  808. package/query-builder/relation-id/RelationIdAttribute.js +8 -9
  809. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  810. package/query-builder/relation-id/RelationIdLoader.js +0 -1
  811. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  812. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +0 -1
  813. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  814. package/query-builder/result/DeleteResult.js +0 -1
  815. package/query-builder/result/DeleteResult.js.map +1 -1
  816. package/query-builder/result/InsertResult.js +0 -1
  817. package/query-builder/result/InsertResult.js.map +1 -1
  818. package/query-builder/result/UpdateResult.js +0 -1
  819. package/query-builder/result/UpdateResult.js.map +1 -1
  820. package/query-builder/transformer/DocumentToEntityTransformer.js +0 -1
  821. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  822. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -4
  823. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  824. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +0 -1
  825. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  826. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -4
  827. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  828. package/query-runner/BaseQueryRunner.js +0 -1
  829. package/query-runner/BaseQueryRunner.js.map +1 -1
  830. package/query-runner/QueryRunner.d.ts +1 -1
  831. package/query-runner/QueryRunner.js.map +1 -1
  832. package/repository/AbstractRepository.d.ts +2 -2
  833. package/repository/AbstractRepository.js +2 -3
  834. package/repository/AbstractRepository.js.map +1 -1
  835. package/repository/BaseEntity.d.ts +1 -1
  836. package/repository/BaseEntity.js +1 -2
  837. package/repository/BaseEntity.js.map +1 -1
  838. package/repository/MongoRepository.js +0 -1
  839. package/repository/MongoRepository.js.map +1 -1
  840. package/repository/Repository.d.ts +4 -4
  841. package/repository/Repository.js +1 -2
  842. package/repository/Repository.js.map +1 -1
  843. package/repository/RepositoryFactory.js +0 -1
  844. package/repository/RepositoryFactory.js.map +1 -1
  845. package/repository/TreeRepository.js +2 -3
  846. package/repository/TreeRepository.js.map +1 -1
  847. package/schema-builder/MongoSchemaBuilder.js +0 -1
  848. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  849. package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  850. package/schema-builder/RdbmsSchemaBuilder.js +4 -4
  851. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  852. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  853. package/schema-builder/table/Table.d.ts +1 -1
  854. package/schema-builder/table/Table.js +1 -2
  855. package/schema-builder/table/Table.js.map +1 -1
  856. package/schema-builder/table/TableCheck.js +0 -1
  857. package/schema-builder/table/TableCheck.js.map +1 -1
  858. package/schema-builder/table/TableColumn.js +0 -1
  859. package/schema-builder/table/TableColumn.js.map +1 -1
  860. package/schema-builder/table/TableExclusion.js +0 -1
  861. package/schema-builder/table/TableExclusion.js.map +1 -1
  862. package/schema-builder/table/TableForeignKey.js +0 -1
  863. package/schema-builder/table/TableForeignKey.js.map +1 -1
  864. package/schema-builder/table/TableIndex.js +0 -1
  865. package/schema-builder/table/TableIndex.js.map +1 -1
  866. package/schema-builder/table/TableUnique.js +0 -1
  867. package/schema-builder/table/TableUnique.js.map +1 -1
  868. package/schema-builder/util/TableUtils.js +0 -1
  869. package/schema-builder/util/TableUtils.js.map +1 -1
  870. package/schema-builder/view/View.js +0 -1
  871. package/schema-builder/view/View.js.map +1 -1
  872. package/subscriber/Broadcaster.d.ts +24 -0
  873. package/subscriber/Broadcaster.js +120 -1
  874. package/subscriber/Broadcaster.js.map +1 -1
  875. package/subscriber/BroadcasterResult.js +0 -1
  876. package/subscriber/BroadcasterResult.js.map +1 -1
  877. package/subscriber/EntitySubscriberInterface.d.ts +27 -0
  878. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  879. package/subscriber/event/TransactionCommitEvent.d.ts +22 -0
  880. package/subscriber/event/TransactionCommitEvent.js +4 -0
  881. package/subscriber/event/TransactionCommitEvent.js.map +1 -0
  882. package/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
  883. package/subscriber/event/TransactionRollbackEvent.js +4 -0
  884. package/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  885. package/subscriber/event/TransactionStartEvent.d.ts +22 -0
  886. package/subscriber/event/TransactionStartEvent.js +4 -0
  887. package/subscriber/event/TransactionStartEvent.js.map +1 -0
  888. package/typeorm-model-shim.js +145 -128
  889. package/util/ApplyValueTransformers.js +0 -1
  890. package/util/ApplyValueTransformers.js.map +1 -1
  891. package/util/DateUtils.d.ts +1 -1
  892. package/util/DateUtils.js +1 -8
  893. package/util/DateUtils.js.map +1 -1
  894. package/util/DepGraph.js +0 -1
  895. package/util/DepGraph.js.map +1 -1
  896. package/util/DirectoryExportedClassesLoader.js +0 -1
  897. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  898. package/util/ObjectUtils.js +0 -1
  899. package/util/ObjectUtils.js.map +1 -1
  900. package/util/OrmUtils.js +0 -1
  901. package/util/OrmUtils.js.map +1 -1
  902. package/util/RandomGenerator.js +0 -1
  903. package/util/RandomGenerator.js.map +1 -1
  904. package/util/StringUtils.js +0 -1
  905. package/util/StringUtils.js.map +1 -1
  906. package/util/VersionUtils.js +0 -1
  907. package/util/VersionUtils.js.map +1 -1
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * List of types that FindOperator can be.
3
3
  */
4
- export declare type FindOperatorType = "not" | "lessThan" | "lessThanOrEqual" | "moreThan" | "moreThanOrEqual" | "equal" | "between" | "in" | "any" | "isNull" | "like" | "raw";
4
+ export declare type FindOperatorType = "not" | "lessThan" | "lessThanOrEqual" | "moreThan" | "moreThanOrEqual" | "equal" | "between" | "in" | "any" | "isNull" | "ilike" | "like" | "raw";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/FindOperatorType.ts"],"names":[],"mappings":"","file":"FindOperatorType.js","sourcesContent":["/**\n * List of types that FindOperator can be.\n */\nexport type FindOperatorType = \"not\"\n | \"lessThan\"\n | \"lessThanOrEqual\"\n | \"moreThan\"\n | \"moreThanOrEqual\"\n | \"equal\"\n | \"between\"\n | \"in\"\n | \"any\"\n | \"isNull\"\n | \"like\"\n | \"raw\";\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/find-options/FindOperatorType.ts"],"names":[],"mappings":"","file":"FindOperatorType.js","sourcesContent":["/**\n * List of types that FindOperator can be.\n */\nexport type FindOperatorType = \"not\"\n | \"lessThan\"\n | \"lessThanOrEqual\"\n | \"moreThan\"\n | \"moreThanOrEqual\"\n | \"equal\"\n | \"between\"\n | \"in\"\n | \"any\"\n | \"isNull\"\n | \"ilike\"\n | \"like\"\n | \"raw\";\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
  */
@@ -28,7 +28,8 @@ var FindOptionsUtils = /** @class */ (function () {
28
28
  possibleOptions.loadRelationIds instanceof Object ||
29
29
  typeof possibleOptions.loadRelationIds === "boolean" ||
30
30
  typeof possibleOptions.loadEagerRelations === "boolean" ||
31
- typeof possibleOptions.withDeleted === "boolean");
31
+ typeof possibleOptions.withDeleted === "boolean" ||
32
+ typeof possibleOptions.transaction === "boolean");
32
33
  };
33
34
  /**
34
35
  * Checks if given object is really instance of FindManyOptions interface.
@@ -66,6 +67,9 @@ var FindOptionsUtils = /** @class */ (function () {
66
67
  // if options are not set then simply return query builder. This is made for simplicity of usage.
67
68
  if (!options || (!this.isFindOneOptions(options) && !this.isFindManyOptions(options)))
68
69
  return qb;
70
+ if (options.transaction === true) {
71
+ qb.expressionMap.useTransaction = true;
72
+ }
69
73
  if (!qb.expressionMap.mainAlias || !qb.expressionMap.mainAlias.hasMetadata)
70
74
  return qb;
71
75
  var metadata = qb.expressionMap.mainAlias.metadata;
@@ -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\" || 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":".."}
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 typeof possibleOptions.transaction === \"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 (options.transaction === true) {\n qb.expressionMap.useTransaction = true;\n }\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":".."}
@@ -0,0 +1,6 @@
1
+ import { FindOperator } from "../FindOperator";
2
+ /**
3
+ * Find Options Operator.
4
+ * Example: { someField: ILike("%SOME string%") }
5
+ */
6
+ export declare function ILike<T>(value: T | FindOperator<T>): FindOperator<T>;
@@ -0,0 +1,10 @@
1
+ import { FindOperator } from "../FindOperator";
2
+ /**
3
+ * Find Options Operator.
4
+ * Example: { someField: ILike("%SOME string%") }
5
+ */
6
+ export function ILike(value) {
7
+ return new FindOperator("ilike", value);
8
+ }
9
+
10
+ //# sourceMappingURL=ILike.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../browser/src/find-options/operator/ILike.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAI,KAAwB;IAC7C,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC","file":"ILike.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Example: { someField: ILike(\"%SOME string%\") }\n */\nexport function ILike<T>(value: T|FindOperator<T>) {\n return new FindOperator(\"ilike\", value);\n}"],"sourceRoot":"../.."}
@@ -1,6 +1,18 @@
1
1
  import { FindOperator } from "../FindOperator";
2
+ import { ObjectLiteral } from "../../common/ObjectLiteral";
2
3
  /**
3
4
  * Find Options Operator.
4
- * Example: { someField: Raw([...]) }
5
+ * Example: { someField: Raw("12") }
5
6
  */
6
- export declare function Raw<T>(value: string | ((columnAlias: string) => string)): FindOperator<any>;
7
+ export declare function Raw<T>(value: string): FindOperator<any>;
8
+ /**
9
+ * Find Options Operator.
10
+ * Example: { someField: Raw((columnAlias) => `${columnAlias} = 5`) }
11
+ */
12
+ export declare function Raw<T>(sqlGenerator: ((columnAlias: string) => string)): FindOperator<any>;
13
+ /**
14
+ * Find Options Operator.
15
+ * For escaping parameters use next syntax:
16
+ * Example: { someField: Raw((columnAlias) => `${columnAlias} = :value`, { value: 5 }) }
17
+ */
18
+ export declare function Raw<T>(sqlGenerator: ((columnAlias: string) => string), parameters: ObjectLiteral): FindOperator<any>;
@@ -1,10 +1,9 @@
1
1
  import { FindOperator } from "../FindOperator";
2
- /**
3
- * Find Options Operator.
4
- * Example: { someField: Raw([...]) }
5
- */
6
- export function Raw(value) {
7
- return new FindOperator("raw", value, false);
2
+ export function Raw(valueOrSqlGenerator, sqlGeneratorParameters) {
3
+ if (typeof valueOrSqlGenerator !== 'function') {
4
+ return new FindOperator("raw", valueOrSqlGenerator, false);
5
+ }
6
+ return new FindOperator("raw", [], true, true, valueOrSqlGenerator, sqlGeneratorParameters);
8
7
  }
9
8
 
10
9
  //# sourceMappingURL=Raw.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/operator/Raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAI,KAA+C;IAClE,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,KAAY,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC","file":"Raw.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Example: { someField: Raw([...]) }\n */\nexport function Raw<T>(value: string|((columnAlias: string) => string)): FindOperator<any> {\n return new FindOperator(\"raw\", value as any, false);\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/find-options/operator/Raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAsB7C,MAAM,UAAU,GAAG,CACf,mBAA+D,EAC/D,sBAAsC;IAEtC,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;QAC3C,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;KAC9D;IAED,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;AAChG,CAAC","file":"Raw.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\n\n/**\n * Find Options Operator.\n * Example: { someField: Raw(\"12\") }\n */\nexport function Raw<T>(value: string): FindOperator<any>;\n\n/**\n * Find Options Operator.\n * Example: { someField: Raw((columnAlias) => `${columnAlias} = 5`) }\n */\nexport function Raw<T>(sqlGenerator: ((columnAlias: string) => string)): FindOperator<any>;\n\n/**\n * Find Options Operator.\n * For escaping parameters use next syntax:\n * Example: { someField: Raw((columnAlias) => `${columnAlias} = :value`, { value: 5 }) }\n */\nexport function Raw<T>(sqlGenerator: ((columnAlias: string) => string), parameters: ObjectLiteral): FindOperator<any>;\n\nexport function Raw<T>(\n valueOrSqlGenerator: string | ((columnAlias: string) => string),\n sqlGeneratorParameters?: ObjectLiteral,\n): FindOperator<any> {\n if (typeof valueOrSqlGenerator !== 'function') {\n return new FindOperator(\"raw\", valueOrSqlGenerator, false);\n }\n\n return new FindOperator(\"raw\", [], true, true, valueOrSqlGenerator, sqlGeneratorParameters);\n}\n"],"sourceRoot":"../.."}
@@ -19,7 +19,7 @@ export * from "./common/EntityTarget";
19
19
  export * from "./common/ObjectType";
20
20
  export * from "./common/ObjectLiteral";
21
21
  export * from "./common/DeepPartial";
22
- export * from "./error/QueryFailedError";
22
+ export * from "./error";
23
23
  export * from "./decorator/columns/Column";
24
24
  export * from "./decorator/columns/CreateDateColumn";
25
25
  export * from "./decorator/columns/DeleteDateColumn";
@@ -76,6 +76,7 @@ export * from "./find-options/operator/In";
76
76
  export * from "./find-options/operator/IsNull";
77
77
  export * from "./find-options/operator/LessThan";
78
78
  export * from "./find-options/operator/LessThanOrEqual";
79
+ export * from "./find-options/operator/ILike";
79
80
  export * from "./find-options/operator/Like";
80
81
  export * from "./find-options/operator/MoreThan";
81
82
  export * from "./find-options/operator/MoreThanOrEqual";
@@ -90,6 +91,7 @@ export * from "./find-options/JoinOptions";
90
91
  export * from "./find-options/OrderByCondition";
91
92
  export * from "./find-options/FindOptionsUtils";
92
93
  export * from "./logger/Logger";
94
+ export * from "./logger/LoggerOptions";
93
95
  export * from "./logger/AdvancedConsoleLogger";
94
96
  export * from "./logger/SimpleConsoleLogger";
95
97
  export * from "./logger/FileLogger";
package/browser/index.js CHANGED
@@ -11,11 +11,7 @@ import { ConnectionOptionsReader } from "./connection/ConnectionOptionsReader";
11
11
  // Commonly Used exports
12
12
  // -------------------------------------------------------------------------
13
13
  export * from "./container";
14
- export * from "./common/EntityTarget";
15
- export * from "./common/ObjectType";
16
- export * from "./common/ObjectLiteral";
17
- export * from "./common/DeepPartial";
18
- export * from "./error/QueryFailedError";
14
+ export * from "./error";
19
15
  export * from "./decorator/columns/Column";
20
16
  export * from "./decorator/columns/CreateDateColumn";
21
17
  export * from "./decorator/columns/DeleteDateColumn";
@@ -33,13 +29,6 @@ export * from "./decorator/listeners/BeforeInsert";
33
29
  export * from "./decorator/listeners/BeforeRemove";
34
30
  export * from "./decorator/listeners/BeforeUpdate";
35
31
  export * from "./decorator/listeners/EventSubscriber";
36
- export * from "./decorator/options/ColumnOptions";
37
- export * from "./decorator/options/IndexOptions";
38
- export * from "./decorator/options/JoinColumnOptions";
39
- export * from "./decorator/options/JoinTableOptions";
40
- export * from "./decorator/options/RelationOptions";
41
- export * from "./decorator/options/EntityOptions";
42
- export * from "./decorator/options/ValueTransformer";
43
32
  export * from "./decorator/relations/JoinColumn";
44
33
  export * from "./decorator/relations/JoinTable";
45
34
  export * from "./decorator/relations/ManyToMany";
@@ -72,20 +61,14 @@ export * from "./find-options/operator/In";
72
61
  export * from "./find-options/operator/IsNull";
73
62
  export * from "./find-options/operator/LessThan";
74
63
  export * from "./find-options/operator/LessThanOrEqual";
64
+ export * from "./find-options/operator/ILike";
75
65
  export * from "./find-options/operator/Like";
76
66
  export * from "./find-options/operator/MoreThan";
77
67
  export * from "./find-options/operator/MoreThanOrEqual";
78
68
  export * from "./find-options/operator/Not";
79
69
  export * from "./find-options/operator/Raw";
80
- export * from "./find-options/FindConditions";
81
- export * from "./find-options/FindManyOptions";
82
- export * from "./find-options/FindOneOptions";
83
70
  export * from "./find-options/FindOperator";
84
- export * from "./find-options/FindOperatorType";
85
- export * from "./find-options/JoinOptions";
86
- export * from "./find-options/OrderByCondition";
87
71
  export * from "./find-options/FindOptionsUtils";
88
- export * from "./logger/Logger";
89
72
  export * from "./logger/AdvancedConsoleLogger";
90
73
  export * from "./logger/SimpleConsoleLogger";
91
74
  export * from "./logger/FileLogger";
@@ -96,8 +79,6 @@ export * from "./repository/Repository";
96
79
  export * from "./repository/BaseEntity";
97
80
  export * from "./repository/TreeRepository";
98
81
  export * from "./repository/MongoRepository";
99
- export * from "./repository/RemoveOptions";
100
- export * from "./repository/SaveOptions";
101
82
  export * from "./schema-builder/table/TableCheck";
102
83
  export * from "./schema-builder/table/TableColumn";
103
84
  export * from "./schema-builder/table/TableExclusion";
@@ -106,8 +87,6 @@ export * from "./schema-builder/table/TableIndex";
106
87
  export * from "./schema-builder/table/TableUnique";
107
88
  export * from "./schema-builder/table/Table";
108
89
  export * from "./driver/mongodb/typings";
109
- export * from "./driver/types/DatabaseType";
110
- export * from "./driver/types/ReplicationMode";
111
90
  export * from "./driver/sqlserver/MssqlParameter";
112
91
  export { ConnectionOptionsReader } from "./connection/ConnectionOptionsReader";
113
92
  export { Connection } from "./connection/Connection";
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/*!\n */\nimport \"reflect-metadata\";\nimport {ConnectionManager} from \"./connection/ConnectionManager\";\nimport {Connection} from \"./connection/Connection\";\nimport {MetadataArgsStorage} from \"./metadata-args/MetadataArgsStorage\";\nimport {ConnectionOptions} from \"./connection/ConnectionOptions\";\nimport {getFromContainer} from \"./container\";\nimport {ObjectType} from \"./common/ObjectType\";\nimport {Repository} from \"./repository/Repository\";\nimport {EntityManager} from \"./entity-manager/EntityManager\";\nimport {PlatformTools} from \"./platform/PlatformTools\";\nimport {TreeRepository} from \"./repository/TreeRepository\";\nimport {MongoRepository} from \"./repository/MongoRepository\";\nimport {ConnectionOptionsReader} from \"./connection/ConnectionOptionsReader\";\nimport {MongoEntityManager} from \"./entity-manager/MongoEntityManager\";\nimport {SqljsEntityManager} from \"./entity-manager/SqljsEntityManager\";\nimport {SelectQueryBuilder} from \"./query-builder/SelectQueryBuilder\";\nimport {EntityTarget} from \"./common/EntityTarget\";\n\n// -------------------------------------------------------------------------\n// Commonly Used exports\n// -------------------------------------------------------------------------\n\nexport * from \"./container\";\nexport * from \"./common/EntityTarget\";\nexport * from \"./common/ObjectType\";\nexport * from \"./common/ObjectLiteral\";\nexport * from \"./common/DeepPartial\";\nexport * from \"./error/QueryFailedError\";\nexport * from \"./decorator/columns/Column\";\nexport * from \"./decorator/columns/CreateDateColumn\";\nexport * from \"./decorator/columns/DeleteDateColumn\";\nexport * from \"./decorator/columns/PrimaryGeneratedColumn\";\nexport * from \"./decorator/columns/PrimaryColumn\";\nexport * from \"./decorator/columns/UpdateDateColumn\";\nexport * from \"./decorator/columns/VersionColumn\";\nexport * from \"./decorator/columns/ViewColumn\";\nexport * from \"./decorator/columns/ObjectIdColumn\";\nexport * from \"./decorator/listeners/AfterInsert\";\nexport * from \"./decorator/listeners/AfterLoad\";\nexport * from \"./decorator/listeners/AfterRemove\";\nexport * from \"./decorator/listeners/AfterUpdate\";\nexport * from \"./decorator/listeners/BeforeInsert\";\nexport * from \"./decorator/listeners/BeforeRemove\";\nexport * from \"./decorator/listeners/BeforeUpdate\";\nexport * from \"./decorator/listeners/EventSubscriber\";\nexport * from \"./decorator/options/ColumnOptions\";\nexport * from \"./decorator/options/IndexOptions\";\nexport * from \"./decorator/options/JoinColumnOptions\";\nexport * from \"./decorator/options/JoinTableOptions\";\nexport * from \"./decorator/options/RelationOptions\";\nexport * from \"./decorator/options/EntityOptions\";\nexport * from \"./decorator/options/ValueTransformer\";\nexport * from \"./decorator/relations/JoinColumn\";\nexport * from \"./decorator/relations/JoinTable\";\nexport * from \"./decorator/relations/ManyToMany\";\nexport * from \"./decorator/relations/ManyToOne\";\nexport * from \"./decorator/relations/OneToMany\";\nexport * from \"./decorator/relations/OneToOne\";\nexport * from \"./decorator/relations/RelationCount\";\nexport * from \"./decorator/relations/RelationId\";\nexport * from \"./decorator/entity/Entity\";\nexport * from \"./decorator/entity/ChildEntity\";\nexport * from \"./decorator/entity/TableInheritance\";\nexport * from \"./decorator/entity-view/ViewEntity\";\nexport * from \"./decorator/transaction/Transaction\";\nexport * from \"./decorator/transaction/TransactionManager\";\nexport * from \"./decorator/transaction/TransactionRepository\";\nexport * from \"./decorator/tree/TreeLevelColumn\";\nexport * from \"./decorator/tree/TreeParent\";\nexport * from \"./decorator/tree/TreeChildren\";\nexport * from \"./decorator/tree/Tree\";\nexport * from \"./decorator/Index\";\nexport * from \"./decorator/Unique\";\nexport * from \"./decorator/Check\";\nexport * from \"./decorator/Exclusion\";\nexport * from \"./decorator/Generated\";\nexport * from \"./decorator/EntityRepository\";\nexport * from \"./find-options/operator/Any\";\nexport * from \"./find-options/operator/Between\";\nexport * from \"./find-options/operator/Equal\";\nexport * from \"./find-options/operator/In\";\nexport * from \"./find-options/operator/IsNull\";\nexport * from \"./find-options/operator/LessThan\";\nexport * from \"./find-options/operator/LessThanOrEqual\";\nexport * from \"./find-options/operator/Like\";\nexport * from \"./find-options/operator/MoreThan\";\nexport * from \"./find-options/operator/MoreThanOrEqual\";\nexport * from \"./find-options/operator/Not\";\nexport * from \"./find-options/operator/Raw\";\nexport * from \"./find-options/FindConditions\";\nexport * from \"./find-options/FindManyOptions\";\nexport * from \"./find-options/FindOneOptions\";\nexport * from \"./find-options/FindOperator\";\nexport * from \"./find-options/FindOperatorType\";\nexport * from \"./find-options/JoinOptions\";\nexport * from \"./find-options/OrderByCondition\";\nexport * from \"./find-options/FindOptionsUtils\";\nexport * from \"./logger/Logger\";\nexport * from \"./logger/AdvancedConsoleLogger\";\nexport * from \"./logger/SimpleConsoleLogger\";\nexport * from \"./logger/FileLogger\";\nexport * from \"./metadata/EntityMetadata\";\nexport * from \"./entity-manager/EntityManager\";\nexport * from \"./repository/AbstractRepository\";\nexport * from \"./repository/Repository\";\nexport * from \"./repository/BaseEntity\";\nexport * from \"./repository/TreeRepository\";\nexport * from \"./repository/MongoRepository\";\nexport * from \"./repository/RemoveOptions\";\nexport * from \"./repository/SaveOptions\";\nexport * from \"./schema-builder/table/TableCheck\";\nexport * from \"./schema-builder/table/TableColumn\";\nexport * from \"./schema-builder/table/TableExclusion\";\nexport * from \"./schema-builder/table/TableForeignKey\";\nexport * from \"./schema-builder/table/TableIndex\";\nexport * from \"./schema-builder/table/TableUnique\";\nexport * from \"./schema-builder/table/Table\";\nexport * from \"./driver/mongodb/typings\";\nexport * from \"./driver/types/DatabaseType\";\nexport * from \"./driver/types/ReplicationMode\";\nexport * from \"./driver/sqlserver/MssqlParameter\";\n\nexport {ConnectionOptionsReader} from \"./connection/ConnectionOptionsReader\";\nexport {Connection} from \"./connection/Connection\";\nexport {ConnectionManager} from \"./connection/ConnectionManager\";\nexport {ConnectionOptions} from \"./connection/ConnectionOptions\";\nexport {Driver} from \"./driver/Driver\";\nexport {QueryBuilder} from \"./query-builder/QueryBuilder\";\nexport {SelectQueryBuilder} from \"./query-builder/SelectQueryBuilder\";\nexport {DeleteQueryBuilder} from \"./query-builder/DeleteQueryBuilder\";\nexport {InsertQueryBuilder} from \"./query-builder/InsertQueryBuilder\";\nexport {UpdateQueryBuilder} from \"./query-builder/UpdateQueryBuilder\";\nexport {RelationQueryBuilder} from \"./query-builder/RelationQueryBuilder\";\nexport {Brackets} from \"./query-builder/Brackets\";\nexport {WhereExpression} from \"./query-builder/WhereExpression\";\nexport {InsertResult} from \"./query-builder/result/InsertResult\";\nexport {UpdateResult} from \"./query-builder/result/UpdateResult\";\nexport {DeleteResult} from \"./query-builder/result/DeleteResult\";\nexport {QueryRunner} from \"./query-runner/QueryRunner\";\nexport {MongoEntityManager} from \"./entity-manager/MongoEntityManager\";\nexport {Migration} from \"./migration/Migration\";\nexport {MigrationExecutor} from \"./migration/MigrationExecutor\";\nexport {MigrationInterface} from \"./migration/MigrationInterface\";\nexport {DefaultNamingStrategy} from \"./naming-strategy/DefaultNamingStrategy\";\nexport {NamingStrategyInterface} from \"./naming-strategy/NamingStrategyInterface\";\nexport {FindOneOptions} from \"./find-options/FindOneOptions\";\nexport {FindManyOptions} from \"./find-options/FindManyOptions\";\nexport {InsertEvent} from \"./subscriber/event/InsertEvent\";\nexport {LoadEvent} from \"./subscriber/event/LoadEvent\";\nexport {UpdateEvent} from \"./subscriber/event/UpdateEvent\";\nexport {RemoveEvent} from \"./subscriber/event/RemoveEvent\";\nexport {EntitySubscriberInterface} from \"./subscriber/EntitySubscriberInterface\";\nexport {EntitySchema} from \"./entity-schema/EntitySchema\";\nexport {EntitySchemaColumnOptions} from \"./entity-schema/EntitySchemaColumnOptions\";\nexport {EntitySchemaIndexOptions} from \"./entity-schema/EntitySchemaIndexOptions\";\nexport {EntitySchemaRelationOptions} from \"./entity-schema/EntitySchemaRelationOptions\";\nexport {ColumnType} from \"./driver/types/ColumnTypes\";\n\n// -------------------------------------------------------------------------\n// Deprecated\n// -------------------------------------------------------------------------\n\n// -------------------------------------------------------------------------\n// Commonly used functionality\n// -------------------------------------------------------------------------\n\n/**\n * Gets metadata args storage.\n */\nexport function getMetadataArgsStorage(): MetadataArgsStorage {\n // we should store metadata storage in a global variable otherwise it brings too much problems\n // one of the problem is that if any entity (or any other) will be imported before consumer will call\n // useContainer method with his own container implementation, that entity will be registered in the\n // old old container (default one post probably) and consumer will his entity.\n // calling useContainer before he imports any entity (or any other) is not always convenient.\n // another reason is that when we run migrations typeorm is being called from a global package\n // and it may load entities which register decorators in typeorm of local package\n // this leads to impossibility of usage of entities in migrations and cli related operations\n const globalScope = PlatformTools.getGlobalVariable();\n if (!globalScope.typeormMetadataArgsStorage)\n globalScope.typeormMetadataArgsStorage = new MetadataArgsStorage();\n\n return globalScope.typeormMetadataArgsStorage;\n}\n\n/**\n * Reads connection options stored in ormconfig configuration file.\n */\nexport async function getConnectionOptions(connectionName: string = \"default\"): Promise<ConnectionOptions> {\n return new ConnectionOptionsReader().get(connectionName);\n}\n\n/**\n * Gets a ConnectionManager which creates connections.\n */\nexport function getConnectionManager(): ConnectionManager {\n return getFromContainer(ConnectionManager);\n}\n\n/**\n * Creates a new connection and registers it in the manager.\n * Only one connection from ormconfig will be created (name \"default\" or connection without name).\n */\nexport async function createConnection(): Promise<Connection>;\n\n/**\n * Creates a new connection from the ormconfig file with a given name.\n */\nexport async function createConnection(name: string): Promise<Connection>;\n\n/**\n * Creates a new connection and registers it in the manager.\n */\nexport async function createConnection(options: ConnectionOptions): Promise<Connection>;\n\n/**\n * Creates a new connection and registers it in the manager.\n *\n * If connection options were not specified, then it will try to create connection automatically,\n * based on content of ormconfig (json/js/yml/xml/env) file or environment variables.\n * Only one connection from ormconfig will be created (name \"default\" or connection without name).\n */\nexport async function createConnection(optionsOrName?: any): Promise<Connection> {\n const connectionName = typeof optionsOrName === \"string\" ? optionsOrName : \"default\";\n const options = optionsOrName instanceof Object ? optionsOrName : await getConnectionOptions(connectionName);\n return getConnectionManager().create(options).connect();\n}\n\n/**\n * Creates new connections and registers them in the manager.\n *\n * If connection options were not specified, then it will try to create connection automatically,\n * based on content of ormconfig (json/js/yml/xml/env) file or environment variables.\n * All connections from the ormconfig will be created.\n */\nexport async function createConnections(options?: ConnectionOptions[]): Promise<Connection[]> {\n if (!options)\n options = await new ConnectionOptionsReader().all();\n const connections = options.map(options => getConnectionManager().create(options));\n return Promise.all(connections.map(connection => connection.connect()));\n}\n\n/**\n * Gets connection from the connection manager.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n */\nexport function getConnection(connectionName: string = \"default\"): Connection {\n return getConnectionManager().get(connectionName);\n}\n\n/**\n * Gets entity manager from the connection.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n */\nexport function getManager(connectionName: string = \"default\"): EntityManager {\n return getConnectionManager().get(connectionName).manager;\n}\n\n/**\n * Gets MongoDB entity manager from the connection.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n */\nexport function getMongoManager(connectionName: string = \"default\"): MongoEntityManager {\n return getConnectionManager().get(connectionName).manager as MongoEntityManager;\n}\n\n/**\n * Gets Sqljs entity manager from connection name.\n * \"default\" connection is used, when no name is specified.\n * Only works when Sqljs driver is used.\n */\nexport function getSqljsManager(connectionName: string = \"default\"): SqljsEntityManager {\n return getConnectionManager().get(connectionName).manager as SqljsEntityManager;\n}\n\n/**\n * Gets repository for the given entity class.\n */\nexport function getRepository<Entity>(entityClass: EntityTarget<Entity>, connectionName: string = \"default\"): Repository<Entity> {\n return getConnectionManager().get(connectionName).getRepository<Entity>(entityClass);\n}\n\n/**\n * Gets tree repository for the given entity class.\n */\nexport function getTreeRepository<Entity>(entityClass: EntityTarget<Entity>, connectionName: string = \"default\"): TreeRepository<Entity> {\n return getConnectionManager().get(connectionName).getTreeRepository<Entity>(entityClass);\n}\n\n/**\n * Gets tree repository for the given entity class.\n */\nexport function getCustomRepository<T>(customRepository: ObjectType<T>, connectionName: string = \"default\"): T {\n return getConnectionManager().get(connectionName).getCustomRepository(customRepository);\n}\n\n/**\n * Gets mongodb repository for the given entity class or name.\n */\nexport function getMongoRepository<Entity>(entityClass: EntityTarget<Entity>, connectionName: string = \"default\"): MongoRepository<Entity> {\n return getConnectionManager().get(connectionName).getMongoRepository<Entity>(entityClass);\n}\n\n/**\n * Creates a new query builder.\n */\nexport function createQueryBuilder<Entity>(entityClass?: EntityTarget<Entity>, alias?: string, connectionName: string = \"default\"): SelectQueryBuilder<Entity> {\n if (entityClass) {\n return getRepository(entityClass, connectionName).createQueryBuilder(alias);\n }\n\n return getConnection(connectionName).createQueryBuilder();\n}\n"],"sourceRoot":"."}
1
+ {"version":3,"sources":["../browser/src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/*!\n */\nimport \"reflect-metadata\";\nimport {ConnectionManager} from \"./connection/ConnectionManager\";\nimport {Connection} from \"./connection/Connection\";\nimport {MetadataArgsStorage} from \"./metadata-args/MetadataArgsStorage\";\nimport {ConnectionOptions} from \"./connection/ConnectionOptions\";\nimport {getFromContainer} from \"./container\";\nimport {ObjectType} from \"./common/ObjectType\";\nimport {Repository} from \"./repository/Repository\";\nimport {EntityManager} from \"./entity-manager/EntityManager\";\nimport {PlatformTools} from \"./platform/PlatformTools\";\nimport {TreeRepository} from \"./repository/TreeRepository\";\nimport {MongoRepository} from \"./repository/MongoRepository\";\nimport {ConnectionOptionsReader} from \"./connection/ConnectionOptionsReader\";\nimport {MongoEntityManager} from \"./entity-manager/MongoEntityManager\";\nimport {SqljsEntityManager} from \"./entity-manager/SqljsEntityManager\";\nimport {SelectQueryBuilder} from \"./query-builder/SelectQueryBuilder\";\nimport {EntityTarget} from \"./common/EntityTarget\";\n\n// -------------------------------------------------------------------------\n// Commonly Used exports\n// -------------------------------------------------------------------------\n\nexport * from \"./container\";\nexport * from \"./common/EntityTarget\";\nexport * from \"./common/ObjectType\";\nexport * from \"./common/ObjectLiteral\";\nexport * from \"./common/DeepPartial\";\nexport * from \"./error\";\nexport * from \"./decorator/columns/Column\";\nexport * from \"./decorator/columns/CreateDateColumn\";\nexport * from \"./decorator/columns/DeleteDateColumn\";\nexport * from \"./decorator/columns/PrimaryGeneratedColumn\";\nexport * from \"./decorator/columns/PrimaryColumn\";\nexport * from \"./decorator/columns/UpdateDateColumn\";\nexport * from \"./decorator/columns/VersionColumn\";\nexport * from \"./decorator/columns/ViewColumn\";\nexport * from \"./decorator/columns/ObjectIdColumn\";\nexport * from \"./decorator/listeners/AfterInsert\";\nexport * from \"./decorator/listeners/AfterLoad\";\nexport * from \"./decorator/listeners/AfterRemove\";\nexport * from \"./decorator/listeners/AfterUpdate\";\nexport * from \"./decorator/listeners/BeforeInsert\";\nexport * from \"./decorator/listeners/BeforeRemove\";\nexport * from \"./decorator/listeners/BeforeUpdate\";\nexport * from \"./decorator/listeners/EventSubscriber\";\nexport * from \"./decorator/options/ColumnOptions\";\nexport * from \"./decorator/options/IndexOptions\";\nexport * from \"./decorator/options/JoinColumnOptions\";\nexport * from \"./decorator/options/JoinTableOptions\";\nexport * from \"./decorator/options/RelationOptions\";\nexport * from \"./decorator/options/EntityOptions\";\nexport * from \"./decorator/options/ValueTransformer\";\nexport * from \"./decorator/relations/JoinColumn\";\nexport * from \"./decorator/relations/JoinTable\";\nexport * from \"./decorator/relations/ManyToMany\";\nexport * from \"./decorator/relations/ManyToOne\";\nexport * from \"./decorator/relations/OneToMany\";\nexport * from \"./decorator/relations/OneToOne\";\nexport * from \"./decorator/relations/RelationCount\";\nexport * from \"./decorator/relations/RelationId\";\nexport * from \"./decorator/entity/Entity\";\nexport * from \"./decorator/entity/ChildEntity\";\nexport * from \"./decorator/entity/TableInheritance\";\nexport * from \"./decorator/entity-view/ViewEntity\";\nexport * from \"./decorator/transaction/Transaction\";\nexport * from \"./decorator/transaction/TransactionManager\";\nexport * from \"./decorator/transaction/TransactionRepository\";\nexport * from \"./decorator/tree/TreeLevelColumn\";\nexport * from \"./decorator/tree/TreeParent\";\nexport * from \"./decorator/tree/TreeChildren\";\nexport * from \"./decorator/tree/Tree\";\nexport * from \"./decorator/Index\";\nexport * from \"./decorator/Unique\";\nexport * from \"./decorator/Check\";\nexport * from \"./decorator/Exclusion\";\nexport * from \"./decorator/Generated\";\nexport * from \"./decorator/EntityRepository\";\nexport * from \"./find-options/operator/Any\";\nexport * from \"./find-options/operator/Between\";\nexport * from \"./find-options/operator/Equal\";\nexport * from \"./find-options/operator/In\";\nexport * from \"./find-options/operator/IsNull\";\nexport * from \"./find-options/operator/LessThan\";\nexport * from \"./find-options/operator/LessThanOrEqual\";\nexport * from \"./find-options/operator/ILike\";\nexport * from \"./find-options/operator/Like\";\nexport * from \"./find-options/operator/MoreThan\";\nexport * from \"./find-options/operator/MoreThanOrEqual\";\nexport * from \"./find-options/operator/Not\";\nexport * from \"./find-options/operator/Raw\";\nexport * from \"./find-options/FindConditions\";\nexport * from \"./find-options/FindManyOptions\";\nexport * from \"./find-options/FindOneOptions\";\nexport * from \"./find-options/FindOperator\";\nexport * from \"./find-options/FindOperatorType\";\nexport * from \"./find-options/JoinOptions\";\nexport * from \"./find-options/OrderByCondition\";\nexport * from \"./find-options/FindOptionsUtils\";\nexport * from \"./logger/Logger\";\nexport * from \"./logger/LoggerOptions\";\nexport * from \"./logger/AdvancedConsoleLogger\";\nexport * from \"./logger/SimpleConsoleLogger\";\nexport * from \"./logger/FileLogger\";\nexport * from \"./metadata/EntityMetadata\";\nexport * from \"./entity-manager/EntityManager\";\nexport * from \"./repository/AbstractRepository\";\nexport * from \"./repository/Repository\";\nexport * from \"./repository/BaseEntity\";\nexport * from \"./repository/TreeRepository\";\nexport * from \"./repository/MongoRepository\";\nexport * from \"./repository/RemoveOptions\";\nexport * from \"./repository/SaveOptions\";\nexport * from \"./schema-builder/table/TableCheck\";\nexport * from \"./schema-builder/table/TableColumn\";\nexport * from \"./schema-builder/table/TableExclusion\";\nexport * from \"./schema-builder/table/TableForeignKey\";\nexport * from \"./schema-builder/table/TableIndex\";\nexport * from \"./schema-builder/table/TableUnique\";\nexport * from \"./schema-builder/table/Table\";\nexport * from \"./driver/mongodb/typings\";\nexport * from \"./driver/types/DatabaseType\";\nexport * from \"./driver/types/ReplicationMode\";\nexport * from \"./driver/sqlserver/MssqlParameter\";\n\nexport {ConnectionOptionsReader} from \"./connection/ConnectionOptionsReader\";\nexport {Connection} from \"./connection/Connection\";\nexport {ConnectionManager} from \"./connection/ConnectionManager\";\nexport {ConnectionOptions} from \"./connection/ConnectionOptions\";\nexport {Driver} from \"./driver/Driver\";\nexport {QueryBuilder} from \"./query-builder/QueryBuilder\";\nexport {SelectQueryBuilder} from \"./query-builder/SelectQueryBuilder\";\nexport {DeleteQueryBuilder} from \"./query-builder/DeleteQueryBuilder\";\nexport {InsertQueryBuilder} from \"./query-builder/InsertQueryBuilder\";\nexport {UpdateQueryBuilder} from \"./query-builder/UpdateQueryBuilder\";\nexport {RelationQueryBuilder} from \"./query-builder/RelationQueryBuilder\";\nexport {Brackets} from \"./query-builder/Brackets\";\nexport {WhereExpression} from \"./query-builder/WhereExpression\";\nexport {InsertResult} from \"./query-builder/result/InsertResult\";\nexport {UpdateResult} from \"./query-builder/result/UpdateResult\";\nexport {DeleteResult} from \"./query-builder/result/DeleteResult\";\nexport {QueryRunner} from \"./query-runner/QueryRunner\";\nexport {MongoEntityManager} from \"./entity-manager/MongoEntityManager\";\nexport {Migration} from \"./migration/Migration\";\nexport {MigrationExecutor} from \"./migration/MigrationExecutor\";\nexport {MigrationInterface} from \"./migration/MigrationInterface\";\nexport {DefaultNamingStrategy} from \"./naming-strategy/DefaultNamingStrategy\";\nexport {NamingStrategyInterface} from \"./naming-strategy/NamingStrategyInterface\";\nexport {FindOneOptions} from \"./find-options/FindOneOptions\";\nexport {FindManyOptions} from \"./find-options/FindManyOptions\";\nexport {InsertEvent} from \"./subscriber/event/InsertEvent\";\nexport {LoadEvent} from \"./subscriber/event/LoadEvent\";\nexport {UpdateEvent} from \"./subscriber/event/UpdateEvent\";\nexport {RemoveEvent} from \"./subscriber/event/RemoveEvent\";\nexport {EntitySubscriberInterface} from \"./subscriber/EntitySubscriberInterface\";\nexport {EntitySchema} from \"./entity-schema/EntitySchema\";\nexport {EntitySchemaColumnOptions} from \"./entity-schema/EntitySchemaColumnOptions\";\nexport {EntitySchemaIndexOptions} from \"./entity-schema/EntitySchemaIndexOptions\";\nexport {EntitySchemaRelationOptions} from \"./entity-schema/EntitySchemaRelationOptions\";\nexport {ColumnType} from \"./driver/types/ColumnTypes\";\n\n// -------------------------------------------------------------------------\n// Deprecated\n// -------------------------------------------------------------------------\n\n// -------------------------------------------------------------------------\n// Commonly used functionality\n// -------------------------------------------------------------------------\n\n/**\n * Gets metadata args storage.\n */\nexport function getMetadataArgsStorage(): MetadataArgsStorage {\n // we should store metadata storage in a global variable otherwise it brings too much problems\n // one of the problem is that if any entity (or any other) will be imported before consumer will call\n // useContainer method with his own container implementation, that entity will be registered in the\n // old old container (default one post probably) and consumer will his entity.\n // calling useContainer before he imports any entity (or any other) is not always convenient.\n // another reason is that when we run migrations typeorm is being called from a global package\n // and it may load entities which register decorators in typeorm of local package\n // this leads to impossibility of usage of entities in migrations and cli related operations\n const globalScope = PlatformTools.getGlobalVariable();\n if (!globalScope.typeormMetadataArgsStorage)\n globalScope.typeormMetadataArgsStorage = new MetadataArgsStorage();\n\n return globalScope.typeormMetadataArgsStorage;\n}\n\n/**\n * Reads connection options stored in ormconfig configuration file.\n */\nexport async function getConnectionOptions(connectionName: string = \"default\"): Promise<ConnectionOptions> {\n return new ConnectionOptionsReader().get(connectionName);\n}\n\n/**\n * Gets a ConnectionManager which creates connections.\n */\nexport function getConnectionManager(): ConnectionManager {\n return getFromContainer(ConnectionManager);\n}\n\n/**\n * Creates a new connection and registers it in the manager.\n * Only one connection from ormconfig will be created (name \"default\" or connection without name).\n */\nexport async function createConnection(): Promise<Connection>;\n\n/**\n * Creates a new connection from the ormconfig file with a given name.\n */\nexport async function createConnection(name: string): Promise<Connection>;\n\n/**\n * Creates a new connection and registers it in the manager.\n */\nexport async function createConnection(options: ConnectionOptions): Promise<Connection>;\n\n/**\n * Creates a new connection and registers it in the manager.\n *\n * If connection options were not specified, then it will try to create connection automatically,\n * based on content of ormconfig (json/js/yml/xml/env) file or environment variables.\n * Only one connection from ormconfig will be created (name \"default\" or connection without name).\n */\nexport async function createConnection(optionsOrName?: any): Promise<Connection> {\n const connectionName = typeof optionsOrName === \"string\" ? optionsOrName : \"default\";\n const options = optionsOrName instanceof Object ? optionsOrName : await getConnectionOptions(connectionName);\n return getConnectionManager().create(options).connect();\n}\n\n/**\n * Creates new connections and registers them in the manager.\n *\n * If connection options were not specified, then it will try to create connection automatically,\n * based on content of ormconfig (json/js/yml/xml/env) file or environment variables.\n * All connections from the ormconfig will be created.\n */\nexport async function createConnections(options?: ConnectionOptions[]): Promise<Connection[]> {\n if (!options)\n options = await new ConnectionOptionsReader().all();\n const connections = options.map(options => getConnectionManager().create(options));\n return Promise.all(connections.map(connection => connection.connect()));\n}\n\n/**\n * Gets connection from the connection manager.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n */\nexport function getConnection(connectionName: string = \"default\"): Connection {\n return getConnectionManager().get(connectionName);\n}\n\n/**\n * Gets entity manager from the connection.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n */\nexport function getManager(connectionName: string = \"default\"): EntityManager {\n return getConnectionManager().get(connectionName).manager;\n}\n\n/**\n * Gets MongoDB entity manager from the connection.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n */\nexport function getMongoManager(connectionName: string = \"default\"): MongoEntityManager {\n return getConnectionManager().get(connectionName).manager as MongoEntityManager;\n}\n\n/**\n * Gets Sqljs entity manager from connection name.\n * \"default\" connection is used, when no name is specified.\n * Only works when Sqljs driver is used.\n */\nexport function getSqljsManager(connectionName: string = \"default\"): SqljsEntityManager {\n return getConnectionManager().get(connectionName).manager as SqljsEntityManager;\n}\n\n/**\n * Gets repository for the given entity class.\n */\nexport function getRepository<Entity>(entityClass: EntityTarget<Entity>, connectionName: string = \"default\"): Repository<Entity> {\n return getConnectionManager().get(connectionName).getRepository<Entity>(entityClass);\n}\n\n/**\n * Gets tree repository for the given entity class.\n */\nexport function getTreeRepository<Entity>(entityClass: EntityTarget<Entity>, connectionName: string = \"default\"): TreeRepository<Entity> {\n return getConnectionManager().get(connectionName).getTreeRepository<Entity>(entityClass);\n}\n\n/**\n * Gets tree repository for the given entity class.\n */\nexport function getCustomRepository<T>(customRepository: ObjectType<T>, connectionName: string = \"default\"): T {\n return getConnectionManager().get(connectionName).getCustomRepository(customRepository);\n}\n\n/**\n * Gets mongodb repository for the given entity class or name.\n */\nexport function getMongoRepository<Entity>(entityClass: EntityTarget<Entity>, connectionName: string = \"default\"): MongoRepository<Entity> {\n return getConnectionManager().get(connectionName).getMongoRepository<Entity>(entityClass);\n}\n\n/**\n * Creates a new query builder.\n */\nexport function createQueryBuilder<Entity>(entityClass?: EntityTarget<Entity>, alias?: string, connectionName: string = \"default\"): SelectQueryBuilder<Entity> {\n if (entityClass) {\n return getRepository(entityClass, connectionName).createQueryBuilder(alias);\n }\n\n return getConnection(connectionName).createQueryBuilder();\n}\n"],"sourceRoot":"."}
@@ -10,7 +10,7 @@ export interface Logger {
10
10
  /**
11
11
  * Logs query that is failed.
12
12
  */
13
- logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner): any;
13
+ logQueryError(error: string | Error, query: string, parameters?: any[], queryRunner?: QueryRunner): any;
14
14
  /**
15
15
  * Logs query that is slow.
16
16
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/logger/Logger.ts"],"names":[],"mappings":"","file":"Logger.js","sourcesContent":["import {QueryRunner} from \"../query-runner/QueryRunner\";\n\n/**\n * Performs logging of the events in TypeORM.\n */\nexport interface Logger {\n\n /**\n * Logs query and parameters used in it.\n */\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): any;\n\n /**\n * Logs query that is failed.\n */\n logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner): any;\n\n /**\n * Logs query that is slow.\n */\n logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner): any;\n\n /**\n * Logs events from the schema build process.\n */\n logSchemaBuild(message: string, queryRunner?: QueryRunner): any;\n\n /**\n * Logs events from the migrations run process.\n */\n logMigration(message: string, queryRunner?: QueryRunner): any;\n\n /**\n * Perform logging using given logger, or by default to the console.\n * Log has its own level and message.\n */\n log(level: \"log\"|\"info\"|\"warn\", message: any, queryRunner?: QueryRunner): any;\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/logger/Logger.ts"],"names":[],"mappings":"","file":"Logger.js","sourcesContent":["import {QueryRunner} from \"../query-runner/QueryRunner\";\n\n/**\n * Performs logging of the events in TypeORM.\n */\nexport interface Logger {\n\n /**\n * Logs query and parameters used in it.\n */\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): any;\n\n /**\n * Logs query that is failed.\n */\n logQueryError(error: string | Error, query: string, parameters?: any[], queryRunner?: QueryRunner): any;\n\n /**\n * Logs query that is slow.\n */\n logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner): any;\n\n /**\n * Logs events from the schema build process.\n */\n logSchemaBuild(message: string, queryRunner?: QueryRunner): any;\n\n /**\n * Logs events from the migrations run process.\n */\n logMigration(message: string, queryRunner?: QueryRunner): any;\n\n /**\n * Perform logging using given logger, or by default to the console.\n * Log has its own level and message.\n */\n log(level: \"log\"|\"info\"|\"warn\", message: any, queryRunner?: QueryRunner): any;\n\n}\n"],"sourceRoot":".."}
@@ -204,6 +204,8 @@ var ColumnMetadata = /** @class */ (function () {
204
204
  this.type = options.connection.driver.mappedDataTypes.updateDate;
205
205
  if (!this.default)
206
206
  this.default = function () { return options.connection.driver.mappedDataTypes.updateDateDefault; };
207
+ if (!this.onUpdate)
208
+ this.onUpdate = options.connection.driver.mappedDataTypes.updateDateDefault;
207
209
  if (this.precision === undefined && options.connection.driver.mappedDataTypes.updateDatePrecision)
208
210
  this.precision = options.connection.driver.mappedDataTypes.updateDatePrecision;
209
211
  }
@@ -256,7 +258,7 @@ var ColumnMetadata = /** @class */ (function () {
256
258
  return map;
257
259
  }
258
260
  // this is bugfix for #720 when increment number is bigint we need to make sure its a string
259
- if ((_this.generationStrategy === "increment" || _this.generationStrategy === "rowid") && _this.type === "bigint")
261
+ if ((_this.generationStrategy === "increment" || _this.generationStrategy === "rowid") && _this.type === "bigint" && value !== null)
260
262
  value = String(value);
261
263
  map[useDatabaseName ? _this.databaseName : _this.propertyName] = value;
262
264
  return map;
@@ -265,7 +267,7 @@ var ColumnMetadata = /** @class */ (function () {
265
267
  }
266
268
  else { // no embeds - no problems. Simply return column property name and its value of the entity
267
269
  // this is bugfix for #720 when increment number is bigint we need to make sure its a string
268
- if ((this.generationStrategy === "increment" || this.generationStrategy === "rowid") && this.type === "bigint")
270
+ if ((this.generationStrategy === "increment" || this.generationStrategy === "rowid") && this.type === "bigint" && value !== null)
269
271
  value = String(value);
270
272
  return _a = {}, _a[useDatabaseName ? this.databaseName : this.propertyName] = value, _a;
271
273
  }
@@ -424,7 +426,18 @@ var ColumnMetadata = /** @class */ (function () {
424
426
  return extractEmbeddedColumnValue_4(__spread(this.embeddedMetadata.embeddedMetadataTree), entity);
425
427
  }
426
428
  else {
427
- entity[this.propertyName] = value;
429
+ // we write a deep object in this entity only if the column is virtual
430
+ // because if its not virtual it means the user defined a real column for this relation
431
+ // also we don't do it if column is inside a junction table
432
+ if (!this.entityMetadata.isJunction && this.isVirtual && this.referencedColumn && this.referencedColumn.propertyName !== this.propertyName) {
433
+ if (!(this.propertyName in entity)) {
434
+ entity[this.propertyName] = {};
435
+ }
436
+ entity[this.propertyName][this.referencedColumn.propertyName] = value;
437
+ }
438
+ else {
439
+ entity[this.propertyName] = value;
440
+ }
428
441
  }
429
442
  };
430
443
  // ---------------------------------------------------------------------