typeorm 0.3.18-dev.ff6e875 → 0.3.18

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 (469) hide show
  1. package/README.md +23 -23
  2. package/browser/cache/DbQueryResultCache.js +3 -0
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
  5. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  6. package/browser/data-source/DataSource.d.ts +4 -0
  7. package/browser/data-source/DataSource.js +15 -0
  8. package/browser/data-source/DataSource.js.map +1 -1
  9. package/browser/decorator/Index.js +1 -0
  10. package/browser/decorator/Index.js.map +1 -1
  11. package/browser/decorator/entity/Entity.js +1 -0
  12. package/browser/decorator/entity/Entity.js.map +1 -1
  13. package/browser/decorator/options/EntityOptions.d.ts +4 -0
  14. package/browser/decorator/options/EntityOptions.js.map +1 -1
  15. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  16. package/browser/decorator/options/IndexOptions.js.map +1 -1
  17. package/browser/driver/Driver.d.ts +4 -0
  18. package/browser/driver/Driver.js.map +1 -1
  19. package/browser/driver/DriverUtils.js +2 -5
  20. package/browser/driver/DriverUtils.js.map +1 -1
  21. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  22. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  23. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  24. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  25. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  26. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  27. package/browser/driver/capacitor/CapacitorDriver.js +2 -2
  28. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  29. package/browser/driver/capacitor/CapacitorQueryRunner.js +2 -2
  30. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  31. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  32. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  33. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  34. package/browser/driver/cockroachdb/CockroachDriver.js +30 -11
  35. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  36. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  37. package/browser/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  38. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  39. package/browser/driver/cordova/CordovaDriver.js +2 -2
  40. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  41. package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
  42. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  43. package/browser/driver/expo/ExpoQueryRunner.js +9 -2
  44. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  45. package/browser/driver/mongodb/MongoQueryRunner.d.ts +7 -3
  46. package/browser/driver/mongodb/MongoQueryRunner.js +6 -0
  47. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  48. package/browser/driver/mongodb/typings.d.ts +3 -3
  49. package/browser/driver/mongodb/typings.js.map +1 -1
  50. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  51. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  52. package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  53. package/browser/driver/mysql/MysqlQueryRunner.js +47 -10
  54. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  55. package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  56. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  57. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  58. package/browser/driver/oracle/OracleDriver.js +17 -2
  59. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  60. package/browser/driver/oracle/OracleQueryRunner.d.ts +4 -0
  61. package/browser/driver/oracle/OracleQueryRunner.js +55 -7
  62. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  63. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  64. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  65. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  66. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  67. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  68. package/browser/driver/postgres/PostgresDriver.js +14 -8
  69. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  70. package/browser/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  71. package/browser/driver/postgres/PostgresQueryRunner.js +53 -24
  72. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  73. package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
  74. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  75. package/browser/driver/sap/SapDriver.d.ts +8 -0
  76. package/browser/driver/sap/SapDriver.js +14 -3
  77. package/browser/driver/sap/SapDriver.js.map +1 -1
  78. package/browser/driver/sap/SapQueryRunner.d.ts +8 -13
  79. package/browser/driver/sap/SapQueryRunner.js +81 -65
  80. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  81. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  82. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  83. package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
  84. package/browser/driver/spanner/SpannerDriver.js +10 -1
  85. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  86. package/browser/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  87. package/browser/driver/spanner/SpannerQueryRunner.js +13 -1
  88. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  89. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  90. package/browser/driver/sqlite/SqliteQueryRunner.js +60 -46
  91. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  92. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  93. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -17
  94. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  95. package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
  96. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  97. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  98. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  99. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  100. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  101. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  102. package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
  103. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  104. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  105. package/browser/driver/sqlserver/SqlServerQueryRunner.js +32 -6
  106. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  107. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  108. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
  109. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  110. package/browser/entity-manager/EntityManager.d.ts +5 -1
  111. package/browser/entity-manager/EntityManager.js +15 -2
  112. package/browser/entity-manager/EntityManager.js.map +1 -1
  113. package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
  114. package/browser/entity-manager/MongoEntityManager.js +12 -10
  115. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  116. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  117. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  118. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  119. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  120. package/browser/error/EntityNotFoundError.d.ts +2 -0
  121. package/browser/error/EntityNotFoundError.js +2 -0
  122. package/browser/error/EntityNotFoundError.js.map +1 -1
  123. package/browser/error/QueryFailedError.d.ts +3 -3
  124. package/browser/error/QueryFailedError.js.map +1 -1
  125. package/browser/find-options/FindOperatorType.d.ts +1 -1
  126. package/browser/find-options/FindOperatorType.js.map +1 -1
  127. package/browser/find-options/FindOptionsUtils.js +1 -1
  128. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  129. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  130. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  131. package/browser/find-options/operator/Or.d.ts +2 -0
  132. package/browser/find-options/operator/Or.js +6 -0
  133. package/browser/find-options/operator/Or.js.map +1 -0
  134. package/browser/index.d.ts +2 -0
  135. package/browser/index.js +2 -0
  136. package/browser/index.js.map +1 -1
  137. package/browser/logger/AbstractLogger.js +1 -1
  138. package/browser/logger/AbstractLogger.js.map +1 -1
  139. package/browser/metadata/ColumnMetadata.js +4 -0
  140. package/browser/metadata/ColumnMetadata.js.map +1 -1
  141. package/browser/metadata/EntityMetadata.d.ts +7 -3
  142. package/browser/metadata/EntityMetadata.js +8 -3
  143. package/browser/metadata/EntityMetadata.js.map +1 -1
  144. package/browser/metadata/IndexMetadata.d.ts +5 -0
  145. package/browser/metadata/IndexMetadata.js +1 -0
  146. package/browser/metadata/IndexMetadata.js.map +1 -1
  147. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  148. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  149. package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
  150. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  151. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  152. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  153. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  154. package/browser/naming-strategy/DefaultNamingStrategy.js +0 -3
  155. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  156. package/browser/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  157. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  158. package/browser/persistence/Subject.js +2 -1
  159. package/browser/persistence/Subject.js.map +1 -1
  160. package/browser/persistence/SubjectExecutor.js +5 -2
  161. package/browser/persistence/SubjectExecutor.js.map +1 -1
  162. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  163. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  164. package/browser/platform/BrowserPlatformTools.d.ts +0 -7
  165. package/browser/platform/BrowserPlatformTools.js +3 -2
  166. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  167. package/browser/platform/PlatformTools.js +2 -0
  168. package/browser/platform/PlatformTools.js.map +1 -1
  169. package/browser/query-builder/InsertQueryBuilder.js +19 -6
  170. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  171. package/browser/query-builder/QueryBuilder.d.ts +5 -0
  172. package/browser/query-builder/QueryBuilder.js +36 -24
  173. package/browser/query-builder/QueryBuilder.js.map +1 -1
  174. package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
  175. package/browser/query-builder/QueryExpressionMap.js +0 -4
  176. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  177. package/browser/query-builder/SelectQueryBuilder.js +14 -4
  178. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  179. package/browser/query-builder/WhereClause.d.ts +1 -1
  180. package/browser/query-builder/WhereClause.js.map +1 -1
  181. package/browser/query-builder/index.d.ts +1 -0
  182. package/browser/query-builder/index.js +17 -0
  183. package/browser/query-builder/index.js.map +1 -0
  184. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  185. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  186. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  187. package/browser/query-runner/BaseQueryRunner.js +1 -0
  188. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  189. package/browser/query-runner/QueryRunner.d.ts +4 -0
  190. package/browser/query-runner/QueryRunner.js.map +1 -1
  191. package/browser/repository/BaseEntity.d.ts +12 -0
  192. package/browser/repository/BaseEntity.js +12 -0
  193. package/browser/repository/BaseEntity.js.map +1 -1
  194. package/browser/repository/MongoRepository.d.ts +8 -4
  195. package/browser/repository/MongoRepository.js +6 -0
  196. package/browser/repository/MongoRepository.js.map +1 -1
  197. package/browser/repository/Repository.d.ts +14 -2
  198. package/browser/repository/Repository.js +26 -6
  199. package/browser/repository/Repository.js.map +1 -1
  200. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  201. package/browser/schema-builder/RdbmsSchemaBuilder.js +15 -0
  202. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  203. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  204. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  205. package/browser/schema-builder/options/TableOptions.d.ts +4 -0
  206. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  207. package/browser/schema-builder/table/Table.d.ts +4 -0
  208. package/browser/schema-builder/table/Table.js +3 -0
  209. package/browser/schema-builder/table/Table.js.map +1 -1
  210. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  211. package/browser/schema-builder/table/TableIndex.js +3 -0
  212. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  213. package/browser/subscriber/Broadcaster.d.ts +11 -1
  214. package/browser/subscriber/Broadcaster.js +48 -1
  215. package/browser/subscriber/Broadcaster.js.map +1 -1
  216. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
  217. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  218. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  219. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  220. package/browser/subscriber/event/QueryEvent.d.ts +50 -0
  221. package/browser/subscriber/event/QueryEvent.js +3 -0
  222. package/browser/subscriber/event/QueryEvent.js.map +1 -0
  223. package/browser/util/DateUtils.js +4 -2
  224. package/browser/util/DateUtils.js.map +1 -1
  225. package/browser/util/OrmUtils.d.ts +6 -0
  226. package/browser/util/OrmUtils.js +66 -0
  227. package/browser/util/OrmUtils.js.map +1 -1
  228. package/cache/DbQueryResultCache.js +3 -0
  229. package/cache/DbQueryResultCache.js.map +1 -1
  230. package/commands/CommandUtils.js +6 -1
  231. package/commands/CommandUtils.js.map +1 -1
  232. package/commands/EntityCreateCommand.d.ts +3 -0
  233. package/commands/EntityCreateCommand.js +7 -0
  234. package/commands/EntityCreateCommand.js.map +1 -1
  235. package/commands/InitCommand.js +1 -1
  236. package/commands/InitCommand.js.map +1 -1
  237. package/commands/MigrationCreateCommand.d.ts +5 -1
  238. package/commands/MigrationCreateCommand.js +6 -1
  239. package/commands/MigrationCreateCommand.js.map +1 -1
  240. package/commands/MigrationGenerateCommand.d.ts +5 -1
  241. package/commands/MigrationGenerateCommand.js +8 -1
  242. package/commands/MigrationGenerateCommand.js.map +1 -1
  243. package/commands/SubscriberCreateCommand.d.ts +3 -0
  244. package/commands/SubscriberCreateCommand.js +7 -0
  245. package/commands/SubscriberCreateCommand.js.map +1 -1
  246. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  247. package/data-source/BaseDataSourceOptions.js.map +1 -1
  248. package/data-source/DataSource.d.ts +4 -0
  249. package/data-source/DataSource.js +15 -0
  250. package/data-source/DataSource.js.map +1 -1
  251. package/decorator/Index.js +1 -0
  252. package/decorator/Index.js.map +1 -1
  253. package/decorator/entity/Entity.js +1 -0
  254. package/decorator/entity/Entity.js.map +1 -1
  255. package/decorator/options/EntityOptions.d.ts +4 -0
  256. package/decorator/options/EntityOptions.js.map +1 -1
  257. package/decorator/options/IndexOptions.d.ts +5 -0
  258. package/decorator/options/IndexOptions.js.map +1 -1
  259. package/driver/Driver.d.ts +4 -0
  260. package/driver/Driver.js.map +1 -1
  261. package/driver/DriverUtils.js +2 -5
  262. package/driver/DriverUtils.js.map +1 -1
  263. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  264. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  265. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  266. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  267. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  268. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  269. package/driver/capacitor/CapacitorDriver.js +2 -2
  270. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  271. package/driver/capacitor/CapacitorQueryRunner.js +2 -2
  272. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  273. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  274. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  275. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  276. package/driver/cockroachdb/CockroachDriver.js +30 -11
  277. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  278. package/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  279. package/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  280. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  281. package/driver/cordova/CordovaDriver.js +2 -2
  282. package/driver/cordova/CordovaDriver.js.map +1 -1
  283. package/driver/cordova/CordovaQueryRunner.js +8 -0
  284. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  285. package/driver/expo/ExpoQueryRunner.js +9 -2
  286. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  287. package/driver/mongodb/MongoQueryRunner.d.ts +7 -3
  288. package/driver/mongodb/MongoQueryRunner.js +6 -0
  289. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  290. package/driver/mongodb/typings.d.ts +3 -3
  291. package/driver/mongodb/typings.js.map +1 -1
  292. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  293. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  294. package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  295. package/driver/mysql/MysqlQueryRunner.js +47 -10
  296. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  297. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  298. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  299. package/driver/oracle/OracleDriver.d.ts +4 -0
  300. package/driver/oracle/OracleDriver.js +17 -2
  301. package/driver/oracle/OracleDriver.js.map +1 -1
  302. package/driver/oracle/OracleQueryRunner.d.ts +4 -0
  303. package/driver/oracle/OracleQueryRunner.js +55 -7
  304. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  305. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  306. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  307. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  308. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  309. package/driver/postgres/PostgresDriver.d.ts +4 -0
  310. package/driver/postgres/PostgresDriver.js +14 -8
  311. package/driver/postgres/PostgresDriver.js.map +1 -1
  312. package/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  313. package/driver/postgres/PostgresQueryRunner.js +53 -24
  314. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  315. package/driver/react-native/ReactNativeQueryRunner.js +10 -2
  316. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  317. package/driver/sap/SapDriver.d.ts +8 -0
  318. package/driver/sap/SapDriver.js +15 -4
  319. package/driver/sap/SapDriver.js.map +1 -1
  320. package/driver/sap/SapQueryRunner.d.ts +8 -13
  321. package/driver/sap/SapQueryRunner.js +81 -65
  322. package/driver/sap/SapQueryRunner.js.map +1 -1
  323. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  324. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  325. package/driver/spanner/SpannerDriver.d.ts +4 -0
  326. package/driver/spanner/SpannerDriver.js +10 -1
  327. package/driver/spanner/SpannerDriver.js.map +1 -1
  328. package/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  329. package/driver/spanner/SpannerQueryRunner.js +13 -1
  330. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  331. package/driver/sqlite/SqliteDriver.js.map +1 -1
  332. package/driver/sqlite/SqliteQueryRunner.js +60 -46
  333. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  334. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  335. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -17
  336. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  337. package/driver/sqljs/SqljsQueryRunner.js +11 -3
  338. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  339. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  340. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  341. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  342. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  343. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  344. package/driver/sqlserver/SqlServerDriver.js +10 -1
  345. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  346. package/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  347. package/driver/sqlserver/SqlServerQueryRunner.js +32 -6
  348. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  349. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  350. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +4 -0
  351. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  352. package/entity-manager/EntityManager.d.ts +5 -1
  353. package/entity-manager/EntityManager.js +15 -2
  354. package/entity-manager/EntityManager.js.map +1 -1
  355. package/entity-manager/MongoEntityManager.d.ts +8 -4
  356. package/entity-manager/MongoEntityManager.js +12 -10
  357. package/entity-manager/MongoEntityManager.js.map +1 -1
  358. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  359. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  360. package/entity-schema/EntitySchemaTransformer.js +7 -0
  361. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  362. package/error/EntityNotFoundError.d.ts +2 -0
  363. package/error/EntityNotFoundError.js +2 -0
  364. package/error/EntityNotFoundError.js.map +1 -1
  365. package/error/QueryFailedError.d.ts +3 -3
  366. package/error/QueryFailedError.js.map +1 -1
  367. package/find-options/FindOperatorType.d.ts +1 -1
  368. package/find-options/FindOperatorType.js.map +1 -1
  369. package/find-options/FindOptionsUtils.js +1 -1
  370. package/find-options/FindOptionsUtils.js.map +1 -1
  371. package/find-options/FindOptionsWhere.d.ts +1 -1
  372. package/find-options/FindOptionsWhere.js.map +1 -1
  373. package/find-options/operator/Or.d.ts +2 -0
  374. package/find-options/operator/Or.js +10 -0
  375. package/find-options/operator/Or.js.map +1 -0
  376. package/index.d.ts +2 -0
  377. package/index.js +2 -0
  378. package/index.js.map +1 -1
  379. package/index.mjs +4 -0
  380. package/logger/AbstractLogger.js +1 -1
  381. package/logger/AbstractLogger.js.map +1 -1
  382. package/metadata/ColumnMetadata.js +4 -0
  383. package/metadata/ColumnMetadata.js.map +1 -1
  384. package/metadata/EntityMetadata.d.ts +7 -3
  385. package/metadata/EntityMetadata.js +8 -3
  386. package/metadata/EntityMetadata.js.map +1 -1
  387. package/metadata/IndexMetadata.d.ts +5 -0
  388. package/metadata/IndexMetadata.js +1 -0
  389. package/metadata/IndexMetadata.js.map +1 -1
  390. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  391. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  392. package/metadata-args/TableMetadataArgs.d.ts +4 -0
  393. package/metadata-args/TableMetadataArgs.js.map +1 -1
  394. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  395. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  396. package/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  397. package/naming-strategy/DefaultNamingStrategy.js +0 -3
  398. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  399. package/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  400. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  401. package/package.json +273 -1
  402. package/persistence/Subject.js +2 -1
  403. package/persistence/Subject.js.map +1 -1
  404. package/persistence/SubjectExecutor.js +5 -2
  405. package/persistence/SubjectExecutor.js.map +1 -1
  406. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  407. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  408. package/platform/PlatformTools.js +2 -0
  409. package/platform/PlatformTools.js.map +1 -1
  410. package/query-builder/InsertQueryBuilder.js +19 -6
  411. package/query-builder/InsertQueryBuilder.js.map +1 -1
  412. package/query-builder/QueryBuilder.d.ts +5 -0
  413. package/query-builder/QueryBuilder.js +36 -24
  414. package/query-builder/QueryBuilder.js.map +1 -1
  415. package/query-builder/QueryExpressionMap.d.ts +2 -1
  416. package/query-builder/QueryExpressionMap.js +0 -4
  417. package/query-builder/QueryExpressionMap.js.map +1 -1
  418. package/query-builder/SelectQueryBuilder.js +14 -4
  419. package/query-builder/SelectQueryBuilder.js.map +1 -1
  420. package/query-builder/WhereClause.d.ts +1 -1
  421. package/query-builder/WhereClause.js.map +1 -1
  422. package/query-builder/index.d.ts +1 -0
  423. package/query-builder/index.js +21 -0
  424. package/query-builder/index.js.map +1 -0
  425. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  426. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  427. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  428. package/query-runner/BaseQueryRunner.js +1 -0
  429. package/query-runner/BaseQueryRunner.js.map +1 -1
  430. package/query-runner/QueryRunner.d.ts +4 -0
  431. package/query-runner/QueryRunner.js.map +1 -1
  432. package/repository/BaseEntity.d.ts +12 -0
  433. package/repository/BaseEntity.js +12 -0
  434. package/repository/BaseEntity.js.map +1 -1
  435. package/repository/MongoRepository.d.ts +8 -4
  436. package/repository/MongoRepository.js +6 -0
  437. package/repository/MongoRepository.js.map +1 -1
  438. package/repository/Repository.d.ts +14 -2
  439. package/repository/Repository.js +26 -6
  440. package/repository/Repository.js.map +1 -1
  441. package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  442. package/schema-builder/RdbmsSchemaBuilder.js +15 -0
  443. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  444. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  445. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  446. package/schema-builder/options/TableOptions.d.ts +4 -0
  447. package/schema-builder/options/TableOptions.js.map +1 -1
  448. package/schema-builder/table/Table.d.ts +4 -0
  449. package/schema-builder/table/Table.js +3 -0
  450. package/schema-builder/table/Table.js.map +1 -1
  451. package/schema-builder/table/TableIndex.d.ts +5 -0
  452. package/schema-builder/table/TableIndex.js +3 -0
  453. package/schema-builder/table/TableIndex.js.map +1 -1
  454. package/subscriber/Broadcaster.d.ts +11 -1
  455. package/subscriber/Broadcaster.js +48 -1
  456. package/subscriber/Broadcaster.js.map +1 -1
  457. package/subscriber/EntitySubscriberInterface.d.ts +9 -0
  458. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  459. package/subscriber/event/InsertEvent.d.ts +5 -0
  460. package/subscriber/event/InsertEvent.js.map +1 -1
  461. package/subscriber/event/QueryEvent.d.ts +50 -0
  462. package/subscriber/event/QueryEvent.js +4 -0
  463. package/subscriber/event/QueryEvent.js.map +1 -0
  464. package/typeorm-model-shim.js +61 -53
  465. package/util/DateUtils.js +5 -2
  466. package/util/DateUtils.js.map +1 -1
  467. package/util/OrmUtils.d.ts +6 -0
  468. package/util/OrmUtils.js +66 -0
  469. package/util/OrmUtils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../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\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport { FindTreeOptions } from \"./FindTreeOptions\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { RelationMetadata } from \"../metadata/RelationMetadata\"\nimport { EntityPropertyNotFoundError } from \"../error\"\n\n/**\n * Utilities to work with FindOptions.\n */\nexport class FindOptionsUtils {\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>(\n obj: any,\n ): obj is FindOneOptions<Entity> {\n const possibleOptions: FindOneOptions<Entity> = obj\n return (\n possibleOptions &&\n (Array.isArray(possibleOptions.select) ||\n Array.isArray(possibleOptions.relations) ||\n typeof possibleOptions.select === \"object\" ||\n typeof possibleOptions.relations === \"object\" ||\n typeof possibleOptions.where === \"object\" ||\n // typeof possibleOptions.where === \"string\" ||\n typeof possibleOptions.join === \"object\" ||\n typeof possibleOptions.order === \"object\" ||\n typeof possibleOptions.cache === \"object\" ||\n typeof possibleOptions.cache === \"boolean\" ||\n typeof possibleOptions.cache === \"number\" ||\n typeof possibleOptions.comment === \"string\" ||\n typeof possibleOptions.lock === \"object\" ||\n typeof possibleOptions.loadRelationIds === \"object\" ||\n typeof possibleOptions.loadRelationIds === \"boolean\" ||\n typeof possibleOptions.loadEagerRelations === \"boolean\" ||\n typeof possibleOptions.withDeleted === \"boolean\" ||\n typeof possibleOptions.relationLoadStrategy === \"string\" ||\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>(\n obj: any,\n ): obj is FindManyOptions<Entity> {\n const possibleOptions: FindManyOptions<Entity> = obj\n return (\n possibleOptions &&\n (this.isFindOneOptions(possibleOptions) ||\n typeof (possibleOptions as FindManyOptions<any>).skip ===\n \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).take ===\n \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).skip ===\n \"string\" ||\n typeof (possibleOptions as FindManyOptions<any>).take ===\n \"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.comment) {\n qb.comment(options.comment);\n }\n\n if (options.withDeleted) {\n qb.withDeleted();\n }\n\n if (options.select) {\n qb.select([]);\n options.select.forEach(select => {\n if (!metadata.hasColumnWithPropertyPath(`${select}`))\n throw new TypeORMError(`${select} column was not found in the ${metadata.name} entity.`);\n\n const columns = metadata.findColumnsWithPropertyPath(`${select}`);\n\n for (const column of columns) {\n qb.addSelect(qb.alias + \".\" + column.propertyPath);\n }\n });\n }\n\n if (options.relations) {\n // Copy because `applyRelationsRecursively` modifies it\n const allRelations = [...options.relations];\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);\n } else if (\n options.lock.mode === \"pessimistic_read\" ||\n options.lock.mode === \"pessimistic_write\" ||\n options.lock.mode === \"dirty_read\" ||\n options.lock.mode === \"pessimistic_partial_write\" ||\n options.lock.mode === \"pessimistic_write_or_fail\" ||\n options.lock.mode === \"for_no_key_update\" ||\n options.lock.mode === \"for_key_share\"\n ) {\n const tableNames = options.lock.tables ? options.lock.tables.map((table) => {\n const tableAlias = qb.expressionMap.aliases.find((alias) => {\n return alias.metadata.tableNameWithoutPrefix === table;\n });\n if (!tableAlias) {\n throw new TypeORMError(`\"${table}\" is not part of this query`);\n }\n return qb.escape(tableAlias.name);\n }) : undefined;\n qb.setLock(options.lock.mode, undefined, tableNames);\n }\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 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 return qb;\n }*/\n\n static applyOptionsToTreeQueryBuilder<T extends ObjectLiteral>(\n qb: SelectQueryBuilder<T>,\n options?: FindTreeOptions,\n ): SelectQueryBuilder<T> {\n if (options?.relations) {\n // Copy because `applyRelationsRecursively` modifies it\n const allRelations = [...options.relations]\n\n FindOptionsUtils.applyRelationsRecursively(\n qb,\n allRelations,\n qb.expressionMap.mainAlias!.name,\n qb.expressionMap.mainAlias!.metadata,\n \"\",\n )\n\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 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 public static applyRelationsRecursively(\n qb: SelectQueryBuilder<any>,\n allRelations: string[],\n alias: string,\n metadata: EntityMetadata,\n prefix: string,\n ): void {\n // find all relations that match given prefix\n let matchedBaseRelations: RelationMetadata[] = []\n if (prefix) {\n const regexp = new RegExp(\"^\" + prefix.replace(\".\", \"\\\\.\") + \"\\\\.\")\n matchedBaseRelations = allRelations\n .filter((relation) => relation.match(regexp))\n .map((relation) =>\n metadata.findRelationWithPropertyPath(\n relation.replace(regexp, \"\"),\n ),\n )\n .filter((entity) => entity) as RelationMetadata[]\n } else {\n matchedBaseRelations = allRelations\n .map((relation) =>\n metadata.findRelationWithPropertyPath(relation),\n )\n .filter((entity) => entity) as RelationMetadata[]\n }\n\n // go through all matched relations and add join for them\n matchedBaseRelations.forEach((relation) => {\n // generate a relation alias\n let relationAlias: string = DriverUtils.buildAlias(\n qb.connection.driver,\n { joiner: \"__\" },\n alias,\n relation.propertyPath,\n )\n\n // add a join for the found relation\n const selection = alias + \".\" + relation.propertyPath\n if (qb.expressionMap.relationLoadStrategy === \"query\") {\n qb.concatRelationMetadata(relation)\n } else {\n qb.leftJoinAndSelect(selection, relationAlias)\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(\n allRelations.indexOf(\n prefix\n ? prefix + \".\" + relation.propertyPath\n : relation.propertyPath,\n ),\n 1,\n )\n\n // try to find sub-relations\n let relationMetadata: EntityMetadata | undefined\n let relationName: string | undefined\n\n if (qb.expressionMap.relationLoadStrategy === \"query\") {\n relationMetadata = relation.inverseEntityMetadata\n relationName = relationAlias\n } else {\n const join = qb.expressionMap.joinAttributes.find(\n (join) => join.entityOrProperty === selection,\n )\n relationMetadata = join!.metadata!\n relationName = join!.alias.name\n }\n\n if (!relationName || !relationMetadata) {\n throw new EntityPropertyNotFoundError(\n relation.propertyPath,\n metadata,\n )\n }\n\n this.applyRelationsRecursively(\n qb,\n allRelations,\n relationName,\n relationMetadata,\n prefix\n ? prefix + \".\" + relation.propertyPath\n : relation.propertyPath,\n )\n\n // join the eager relations of the found relation\n // Only supported for \"join\" relationLoadStrategy\n if (qb.expressionMap.relationLoadStrategy === \"join\") {\n const relMetadata = metadata.relations.find(\n (metadata) =>\n metadata.propertyName === relation.propertyPath,\n )\n if (relMetadata) {\n this.joinEagerRelations(\n qb,\n relationAlias,\n relMetadata.inverseEntityMetadata,\n )\n }\n }\n })\n }\n\n public static joinEagerRelations(\n qb: SelectQueryBuilder<any>,\n alias: string,\n metadata: EntityMetadata,\n ) {\n metadata.eagerRelations.forEach((relation) => {\n // generate a relation alias\n let relationAlias: string = DriverUtils.buildAlias(\n qb.connection.driver,\n { joiner: \"__\" },\n alias,\n relation.propertyPath,\n )\n\n // add a join for the relation\n // Checking whether the relation wasn't joined yet.\n let addJoin = true\n // TODO: Review this validation\n for (const join of qb.expressionMap.joinAttributes) {\n if (\n join.condition !== undefined ||\n join.mapToProperty !== undefined ||\n join.isMappingMany !== undefined ||\n join.direction !== \"LEFT\" ||\n join.entityOrProperty !==\n `${alias}.${relation.propertyPath}`\n ) {\n continue\n }\n addJoin = false\n relationAlias = join.alias.name\n break\n }\n\n const joinAlreadyAdded = Boolean(\n qb.expressionMap.joinAttributes.find(\n (joinAttribute) =>\n joinAttribute.alias.name === relationAlias,\n ),\n )\n\n if (addJoin && !joinAlreadyAdded) {\n qb.leftJoin(alias + \".\" + relation.propertyPath, relationAlias)\n }\n\n // Checking whether the relation wasn't selected yet.\n // This check shall be after the join check to detect relationAlias.\n let addSelect = true\n for (const select of qb.expressionMap.selects) {\n if (\n select.aliasName !== undefined ||\n select.virtual !== undefined ||\n select.selection !== relationAlias\n ) {\n continue\n }\n addSelect = false\n break\n }\n\n if (addSelect) {\n qb.addSelect(relationAlias)\n }\n\n // (recursive) join the eager relations\n this.joinEagerRelations(\n qb,\n relationAlias,\n relation.inverseEntityMetadata,\n )\n })\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../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\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport { FindTreeOptions } from \"./FindTreeOptions\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { RelationMetadata } from \"../metadata/RelationMetadata\"\nimport { EntityPropertyNotFoundError } from \"../error\"\n\n/**\n * Utilities to work with FindOptions.\n */\nexport class FindOptionsUtils {\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>(\n obj: any,\n ): obj is FindOneOptions<Entity> {\n const possibleOptions: FindOneOptions<Entity> = obj\n return (\n possibleOptions &&\n (Array.isArray(possibleOptions.select) ||\n Array.isArray(possibleOptions.relations) ||\n typeof possibleOptions.select === \"object\" ||\n typeof possibleOptions.relations === \"object\" ||\n typeof possibleOptions.where === \"object\" ||\n // typeof possibleOptions.where === \"string\" ||\n typeof possibleOptions.join === \"object\" ||\n typeof possibleOptions.order === \"object\" ||\n typeof possibleOptions.cache === \"object\" ||\n typeof possibleOptions.cache === \"boolean\" ||\n typeof possibleOptions.cache === \"number\" ||\n typeof possibleOptions.comment === \"string\" ||\n typeof possibleOptions.lock === \"object\" ||\n typeof possibleOptions.loadRelationIds === \"object\" ||\n typeof possibleOptions.loadRelationIds === \"boolean\" ||\n typeof possibleOptions.loadEagerRelations === \"boolean\" ||\n typeof possibleOptions.withDeleted === \"boolean\" ||\n typeof possibleOptions.relationLoadStrategy === \"string\" ||\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>(\n obj: any,\n ): obj is FindManyOptions<Entity> {\n const possibleOptions: FindManyOptions<Entity> = obj\n return (\n possibleOptions &&\n (this.isFindOneOptions(possibleOptions) ||\n typeof (possibleOptions as FindManyOptions<any>).skip ===\n \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).take ===\n \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).skip ===\n \"string\" ||\n typeof (possibleOptions as FindManyOptions<any>).take ===\n \"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.comment) {\n qb.comment(options.comment);\n }\n\n if (options.withDeleted) {\n qb.withDeleted();\n }\n\n if (options.select) {\n qb.select([]);\n options.select.forEach(select => {\n if (!metadata.hasColumnWithPropertyPath(`${select}`))\n throw new TypeORMError(`${select} column was not found in the ${metadata.name} entity.`);\n\n const columns = metadata.findColumnsWithPropertyPath(`${select}`);\n\n for (const column of columns) {\n qb.addSelect(qb.alias + \".\" + column.propertyPath);\n }\n });\n }\n\n if (options.relations) {\n // Copy because `applyRelationsRecursively` modifies it\n const allRelations = [...options.relations];\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);\n } else if (\n options.lock.mode === \"pessimistic_read\" ||\n options.lock.mode === \"pessimistic_write\" ||\n options.lock.mode === \"dirty_read\" ||\n options.lock.mode === \"pessimistic_partial_write\" ||\n options.lock.mode === \"pessimistic_write_or_fail\" ||\n options.lock.mode === \"for_no_key_update\" ||\n options.lock.mode === \"for_key_share\"\n ) {\n const tableNames = options.lock.tables ? options.lock.tables.map((table) => {\n const tableAlias = qb.expressionMap.aliases.find((alias) => {\n return alias.metadata.tableNameWithoutPrefix === table;\n });\n if (!tableAlias) {\n throw new TypeORMError(`\"${table}\" is not part of this query`);\n }\n return qb.escape(tableAlias.name);\n }) : undefined;\n qb.setLock(options.lock.mode, undefined, tableNames);\n }\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 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 return qb;\n }*/\n\n static applyOptionsToTreeQueryBuilder<T extends ObjectLiteral>(\n qb: SelectQueryBuilder<T>,\n options?: FindTreeOptions,\n ): SelectQueryBuilder<T> {\n if (options?.relations) {\n // Copy because `applyRelationsRecursively` modifies it\n const allRelations = [...options.relations]\n\n FindOptionsUtils.applyRelationsRecursively(\n qb,\n allRelations,\n qb.expressionMap.mainAlias!.name,\n qb.expressionMap.mainAlias!.metadata,\n \"\",\n )\n\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 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 public static applyRelationsRecursively(\n qb: SelectQueryBuilder<any>,\n allRelations: string[],\n alias: string,\n metadata: EntityMetadata,\n prefix: string,\n ): void {\n // find all relations that match given prefix\n let matchedBaseRelations: RelationMetadata[] = []\n if (prefix) {\n const regexp = new RegExp(\"^\" + prefix.replace(\".\", \"\\\\.\") + \"\\\\.\")\n matchedBaseRelations = allRelations\n .filter((relation) => relation.match(regexp))\n .map((relation) =>\n metadata.findRelationWithPropertyPath(\n relation.replace(regexp, \"\"),\n ),\n )\n .filter((entity) => entity) as RelationMetadata[]\n } else {\n matchedBaseRelations = allRelations\n .map((relation) =>\n metadata.findRelationWithPropertyPath(relation),\n )\n .filter((entity) => entity) as RelationMetadata[]\n }\n\n // go through all matched relations and add join for them\n matchedBaseRelations.forEach((relation) => {\n // generate a relation alias\n let relationAlias: string = DriverUtils.buildAlias(\n qb.connection.driver,\n { joiner: \"__\" },\n alias,\n relation.propertyPath,\n )\n\n // add a join for the found relation\n const selection = alias + \".\" + relation.propertyPath\n if (qb.expressionMap.relationLoadStrategy === \"query\") {\n qb.concatRelationMetadata(relation)\n } else {\n qb.leftJoinAndSelect(selection, relationAlias)\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(\n allRelations.indexOf(\n prefix\n ? prefix + \".\" + relation.propertyPath\n : relation.propertyPath,\n ),\n 1,\n )\n\n // try to find sub-relations\n let relationMetadata: EntityMetadata | undefined\n let relationName: string | undefined\n\n if (qb.expressionMap.relationLoadStrategy === \"query\") {\n relationMetadata = relation.inverseEntityMetadata\n relationName = relationAlias\n } else {\n const join = qb.expressionMap.joinAttributes.find(\n (join) => join.entityOrProperty === selection,\n )\n relationMetadata = join!.metadata!\n relationName = join!.alias.name\n }\n\n if (!relationName || !relationMetadata) {\n throw new EntityPropertyNotFoundError(\n relation.propertyPath,\n metadata,\n )\n }\n\n this.applyRelationsRecursively(\n qb,\n allRelations,\n relationName,\n relationMetadata,\n prefix\n ? prefix + \".\" + relation.propertyPath\n : relation.propertyPath,\n )\n\n // join the eager relations of the found relation\n // Only supported for \"join\" relationLoadStrategy\n if (qb.expressionMap.relationLoadStrategy === \"join\") {\n const relMetadata = metadata.relations.find(\n (metadata) =>\n metadata.propertyName === relation.propertyPath,\n )\n if (relMetadata) {\n this.joinEagerRelations(\n qb,\n relationAlias,\n relMetadata.inverseEntityMetadata,\n )\n }\n }\n })\n }\n\n public static joinEagerRelations(\n qb: SelectQueryBuilder<any>,\n alias: string,\n metadata: EntityMetadata,\n ) {\n metadata.eagerRelations.forEach((relation) => {\n // generate a relation alias\n let relationAlias: string = DriverUtils.buildAlias(\n qb.connection.driver,\n { joiner: \"__\" },\n alias,\n relation.propertyName,\n )\n\n // add a join for the relation\n // Checking whether the relation wasn't joined yet.\n let addJoin = true\n // TODO: Review this validation\n for (const join of qb.expressionMap.joinAttributes) {\n if (\n join.condition !== undefined ||\n join.mapToProperty !== undefined ||\n join.isMappingMany !== undefined ||\n join.direction !== \"LEFT\" ||\n join.entityOrProperty !==\n `${alias}.${relation.propertyPath}`\n ) {\n continue\n }\n addJoin = false\n relationAlias = join.alias.name\n break\n }\n\n const joinAlreadyAdded = Boolean(\n qb.expressionMap.joinAttributes.find(\n (joinAttribute) =>\n joinAttribute.alias.name === relationAlias,\n ),\n )\n\n if (addJoin && !joinAlreadyAdded) {\n qb.leftJoin(alias + \".\" + relation.propertyPath, relationAlias)\n }\n\n // Checking whether the relation wasn't selected yet.\n // This check shall be after the join check to detect relationAlias.\n let addSelect = true\n for (const select of qb.expressionMap.selects) {\n if (\n select.aliasName !== undefined ||\n select.virtual !== undefined ||\n select.selection !== relationAlias\n ) {\n continue\n }\n addSelect = false\n break\n }\n\n if (addSelect) {\n qb.addSelect(relationAlias)\n }\n\n // (recursive) join the eager relations\n this.joinEagerRelations(\n qb,\n relationAlias,\n relation.inverseEntityMetadata,\n )\n })\n }\n}\n"],"sourceRoot":".."}
@@ -9,7 +9,7 @@ import { EqualOperator } from "./EqualOperator";
9
9
  * It means the result of FindOptionsWhereProperty<1 | 2> doesn't include FindOperator<1 | 2> but FindOperator<1> | FindOperator<2>.
10
10
  * So we keep the original Union as Original and pass it to the FindOperator too. Original remains Union as extends is not used for it.
11
11
  */
12
- export type FindOptionsWhereProperty<PropertyToBeNarrowed, Property = PropertyToBeNarrowed> = PropertyToBeNarrowed extends Promise<infer I> ? FindOptionsWhereProperty<NonNullable<I>> : PropertyToBeNarrowed extends Array<infer I> ? FindOptionsWhereProperty<NonNullable<I>> : PropertyToBeNarrowed extends Function ? never : PropertyToBeNarrowed extends Buffer ? Property | FindOperator<Property> : PropertyToBeNarrowed extends Date ? Property | FindOperator<Property> : PropertyToBeNarrowed extends ObjectId ? Property | FindOperator<Property> : PropertyToBeNarrowed extends string ? Property | FindOperator<Property> : PropertyToBeNarrowed extends number ? Property | FindOperator<Property> : PropertyToBeNarrowed extends boolean ? Property | FindOperator<Property> : PropertyToBeNarrowed extends object ? FindOptionsWhere<Property> | FindOptionsWhere<Property>[] | EqualOperator<Property> | FindOperator<any> | boolean : Property | FindOperator<Property>;
12
+ export type FindOptionsWhereProperty<PropertyToBeNarrowed, Property = PropertyToBeNarrowed> = PropertyToBeNarrowed extends Promise<infer I> ? FindOptionsWhereProperty<NonNullable<I>> : PropertyToBeNarrowed extends Array<infer I> ? FindOptionsWhereProperty<NonNullable<I>> : PropertyToBeNarrowed extends Function ? never : PropertyToBeNarrowed extends Buffer ? Property | FindOperator<Property> : PropertyToBeNarrowed extends Date ? Property | FindOperator<Property> : PropertyToBeNarrowed extends ObjectId ? Property | FindOperator<Property> : PropertyToBeNarrowed extends string ? Property | FindOperator<Property> : PropertyToBeNarrowed extends number ? Property | FindOperator<Property> : PropertyToBeNarrowed extends boolean ? Property | FindOperator<Property> : PropertyToBeNarrowed extends object ? FindOptionsWhere<Property> | FindOptionsWhere<Property>[] | EqualOperator<Property> | FindOperator<any> | boolean | Property : Property | FindOperator<Property>;
13
13
  /**
14
14
  * Used for find operations.
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/find-options/FindOptionsWhere.ts"],"names":[],"mappings":"","file":"FindOptionsWhere.js","sourcesContent":["import { FindOperator } from \"./FindOperator\"\nimport { ObjectId } from \"../driver/mongodb/typings\"\nimport { EqualOperator } from \"./EqualOperator\"\n\n/**\n * A single property handler for FindOptionsWhere.\n *\n * The reason why we have both \"PropertyToBeNarrowed\" and \"Property\" is that Union is narrowed down when extends is used.\n * It means the result of FindOptionsWhereProperty<1 | 2> doesn't include FindOperator<1 | 2> but FindOperator<1> | FindOperator<2>.\n * So we keep the original Union as Original and pass it to the FindOperator too. Original remains Union as extends is not used for it.\n */\nexport type FindOptionsWhereProperty<\n PropertyToBeNarrowed,\n Property = PropertyToBeNarrowed,\n> = PropertyToBeNarrowed extends Promise<infer I>\n ? FindOptionsWhereProperty<NonNullable<I>>\n : PropertyToBeNarrowed extends Array<infer I>\n ? FindOptionsWhereProperty<NonNullable<I>>\n : PropertyToBeNarrowed extends Function\n ? never\n : PropertyToBeNarrowed extends Buffer\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends Date\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends ObjectId\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends string\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends number\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends boolean\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends object\n ?\n | FindOptionsWhere<Property>\n | FindOptionsWhere<Property>[]\n | EqualOperator<Property>\n | FindOperator<any>\n | boolean\n : Property | FindOperator<Property>\n\n/**\n * Used for find operations.\n */\nexport type FindOptionsWhere<Entity> = {\n [P in keyof Entity]?: P extends \"toString\"\n ? unknown\n : FindOptionsWhereProperty<NonNullable<Entity[P]>>\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/find-options/FindOptionsWhere.ts"],"names":[],"mappings":"","file":"FindOptionsWhere.js","sourcesContent":["import { FindOperator } from \"./FindOperator\"\nimport { ObjectId } from \"../driver/mongodb/typings\"\nimport { EqualOperator } from \"./EqualOperator\"\n\n/**\n * A single property handler for FindOptionsWhere.\n *\n * The reason why we have both \"PropertyToBeNarrowed\" and \"Property\" is that Union is narrowed down when extends is used.\n * It means the result of FindOptionsWhereProperty<1 | 2> doesn't include FindOperator<1 | 2> but FindOperator<1> | FindOperator<2>.\n * So we keep the original Union as Original and pass it to the FindOperator too. Original remains Union as extends is not used for it.\n */\nexport type FindOptionsWhereProperty<\n PropertyToBeNarrowed,\n Property = PropertyToBeNarrowed,\n> = PropertyToBeNarrowed extends Promise<infer I>\n ? FindOptionsWhereProperty<NonNullable<I>>\n : PropertyToBeNarrowed extends Array<infer I>\n ? FindOptionsWhereProperty<NonNullable<I>>\n : PropertyToBeNarrowed extends Function\n ? never\n : PropertyToBeNarrowed extends Buffer\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends Date\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends ObjectId\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends string\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends number\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends boolean\n ? Property | FindOperator<Property>\n : PropertyToBeNarrowed extends object\n ?\n | FindOptionsWhere<Property>\n | FindOptionsWhere<Property>[]\n | EqualOperator<Property>\n | FindOperator<any>\n | boolean\n | Property\n : Property | FindOperator<Property>\n\n/**\n * Used for find operations.\n */\nexport type FindOptionsWhere<Entity> = {\n [P in keyof Entity]?: P extends \"toString\"\n ? unknown\n : FindOptionsWhereProperty<NonNullable<Entity[P]>>\n}\n"],"sourceRoot":".."}
@@ -0,0 +1,2 @@
1
+ import { FindOperator } from "../FindOperator";
2
+ export declare function Or<T>(...values: FindOperator<T>[]): FindOperator<T>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Or = void 0;
4
+ const FindOperator_1 = require("../FindOperator");
5
+ function Or(...values) {
6
+ return new FindOperator_1.FindOperator("or", values, true, true);
7
+ }
8
+ exports.Or = Or;
9
+
10
+ //# sourceMappingURL=Or.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/find-options/operator/Or.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAE9C,SAAgB,EAAE,CAAI,GAAG,MAAyB;IAC9C,OAAO,IAAI,2BAAY,CAAC,IAAI,EAAE,MAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAC5D,CAAC;AAFD,gBAEC","file":"Or.js","sourcesContent":["import { FindOperator } from \"../FindOperator\"\n\nexport function Or<T>(...values: FindOperator<T>[]): FindOperator<T> {\n return new FindOperator(\"or\", values as any, true, true)\n}\n"],"sourceRoot":"../.."}
package/index.d.ts CHANGED
@@ -62,6 +62,7 @@ export * from "./decorator/Exclusion";
62
62
  export * from "./decorator/Generated";
63
63
  export * from "./decorator/EntityRepository";
64
64
  export * from "./find-options/operator/And";
65
+ export * from "./find-options/operator/Or";
65
66
  export * from "./find-options/operator/Any";
66
67
  export * from "./find-options/operator/ArrayContainedBy";
67
68
  export * from "./find-options/operator/ArrayContains";
@@ -114,6 +115,7 @@ export * from "./schema-builder/table/TableForeignKey";
114
115
  export * from "./schema-builder/table/TableIndex";
115
116
  export * from "./schema-builder/table/TableUnique";
116
117
  export * from "./schema-builder/table/Table";
118
+ export * from "./schema-builder/view/View";
117
119
  export * from "./schema-builder/options/TableCheckOptions";
118
120
  export * from "./schema-builder/options/TableColumnOptions";
119
121
  export * from "./schema-builder/options/TableExclusionOptions";
package/index.js CHANGED
@@ -69,6 +69,7 @@ tslib_1.__exportStar(require("./decorator/Exclusion"), exports);
69
69
  tslib_1.__exportStar(require("./decorator/Generated"), exports);
70
70
  tslib_1.__exportStar(require("./decorator/EntityRepository"), exports);
71
71
  tslib_1.__exportStar(require("./find-options/operator/And"), exports);
72
+ tslib_1.__exportStar(require("./find-options/operator/Or"), exports);
72
73
  tslib_1.__exportStar(require("./find-options/operator/Any"), exports);
73
74
  tslib_1.__exportStar(require("./find-options/operator/ArrayContainedBy"), exports);
74
75
  tslib_1.__exportStar(require("./find-options/operator/ArrayContains"), exports);
@@ -121,6 +122,7 @@ tslib_1.__exportStar(require("./schema-builder/table/TableForeignKey"), exports)
121
122
  tslib_1.__exportStar(require("./schema-builder/table/TableIndex"), exports);
122
123
  tslib_1.__exportStar(require("./schema-builder/table/TableUnique"), exports);
123
124
  tslib_1.__exportStar(require("./schema-builder/table/Table"), exports);
125
+ tslib_1.__exportStar(require("./schema-builder/view/View"), exports);
124
126
  tslib_1.__exportStar(require("./schema-builder/options/TableCheckOptions"), exports);
125
127
  tslib_1.__exportStar(require("./schema-builder/options/TableColumnOptions"), exports);
126
128
  tslib_1.__exportStar(require("./schema-builder/options/TableExclusionOptions"), exports);
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/*!\n */\nimport \"reflect-metadata\"\n\n// -------------------------------------------------------------------------\n// Commonly Used exports\n// -------------------------------------------------------------------------\n\nexport * from \"./globals\"\nexport * from \"./container\"\nexport * from \"./common/EntityTarget\"\nexport * from \"./common/ObjectType\"\nexport * from \"./common/ObjectLiteral\"\nexport * from \"./common/MixedList\"\nexport * from \"./common/DeepPartial\"\nexport * from \"./common/RelationType\"\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/VirtualColumn\"\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/AfterSoftRemove\"\nexport * from \"./decorator/listeners/AfterRecover\"\nexport * from \"./decorator/listeners/AfterUpdate\"\nexport * from \"./decorator/listeners/BeforeInsert\"\nexport * from \"./decorator/listeners/BeforeRemove\"\nexport * from \"./decorator/listeners/BeforeSoftRemove\"\nexport * from \"./decorator/listeners/BeforeRecover\"\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/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/And\"\nexport * from \"./find-options/operator/Any\"\nexport * from \"./find-options/operator/ArrayContainedBy\"\nexport * from \"./find-options/operator/ArrayContains\"\nexport * from \"./find-options/operator/ArrayOverlap\"\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/operator/JsonContains\"\nexport * from \"./find-options/EqualOperator\"\nexport * from \"./find-options/FindManyOptions\"\nexport * from \"./find-options/FindOneOptions\"\nexport * from \"./find-options/FindOperator\"\nexport * from \"./find-options/FindOperatorType\"\nexport * from \"./find-options/FindOptionsOrder\"\nexport * from \"./find-options/FindOptionsRelations\"\nexport * from \"./find-options/FindOptionsSelect\"\nexport * from \"./find-options/FindOptionsUtils\"\nexport * from \"./find-options/FindOptionsWhere\"\nexport * from \"./find-options/FindTreeOptions\"\nexport * from \"./find-options/JoinOptions\"\nexport * from \"./find-options/OrderByCondition\"\nexport * from \"./logger/AbstractLogger\"\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 \"./schema-builder/options/TableCheckOptions\"\nexport * from \"./schema-builder/options/TableColumnOptions\"\nexport * from \"./schema-builder/options/TableExclusionOptions\"\nexport * from \"./schema-builder/options/TableForeignKeyOptions\"\nexport * from \"./schema-builder/options/TableIndexOptions\"\nexport * from \"./schema-builder/options/TableOptions\"\nexport * from \"./schema-builder/options/TableUniqueOptions\"\nexport * from \"./schema-builder/options/ViewOptions\"\nexport * from \"./driver/mongodb/typings\"\nexport * from \"./driver/types/DatabaseType\"\nexport * from \"./driver/types/GeoJsonTypes\"\nexport * from \"./driver/types/ReplicationMode\"\nexport * from \"./driver/sqlserver/MssqlParameter\"\n\n// export * from \"./data-source\";\n\nexport { ConnectionOptionsReader } from \"./connection/ConnectionOptionsReader\"\nexport { ConnectionOptions } from \"./connection/ConnectionOptions\"\nexport { DataSource } from \"./data-source/DataSource\"\nexport { Connection } from \"./connection/Connection\"\nexport { ConnectionManager } from \"./connection/ConnectionManager\"\nexport { DataSourceOptions } from \"./data-source/DataSourceOptions\"\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 { NotBrackets } from \"./query-builder/NotBrackets\"\nexport { WhereExpressionBuilder } from \"./query-builder/WhereExpressionBuilder\"\nexport { WhereExpression } from \"./query-builder/WhereExpressionBuilder\"\nexport { InsertResult } from \"./query-builder/result/InsertResult\"\nexport { UpdateResult } from \"./query-builder/result/UpdateResult\"\nexport { DeleteResult } from \"./query-builder/result/DeleteResult\"\nexport { QueryResult } from \"./query-runner/QueryResult\"\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 { LegacyOracleNamingStrategy } from \"./naming-strategy/LegacyOracleNamingStrategy\"\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 { SoftRemoveEvent } from \"./subscriber/event/SoftRemoveEvent\"\nexport { RecoverEvent } from \"./subscriber/event/RecoverEvent\"\nexport { TransactionCommitEvent } from \"./subscriber/event/TransactionCommitEvent\"\nexport { TransactionRollbackEvent } from \"./subscriber/event/TransactionRollbackEvent\"\nexport { TransactionStartEvent } from \"./subscriber/event/TransactionStartEvent\"\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 { EntitySchemaEmbeddedColumnOptions } from \"./entity-schema/EntitySchemaEmbeddedColumnOptions\"\nexport { ColumnType } from \"./driver/types/ColumnTypes\"\nexport { EntitySchemaOptions } from \"./entity-schema/EntitySchemaOptions\"\nexport { InstanceChecker } from \"./util/InstanceChecker\"\nexport { TreeRepositoryUtils } from \"./util/TreeRepositoryUtils\"\n"],"sourceRoot":"."}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/*!\n */\nimport \"reflect-metadata\"\n\n// -------------------------------------------------------------------------\n// Commonly Used exports\n// -------------------------------------------------------------------------\n\nexport * from \"./globals\"\nexport * from \"./container\"\nexport * from \"./common/EntityTarget\"\nexport * from \"./common/ObjectType\"\nexport * from \"./common/ObjectLiteral\"\nexport * from \"./common/MixedList\"\nexport * from \"./common/DeepPartial\"\nexport * from \"./common/RelationType\"\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/VirtualColumn\"\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/AfterSoftRemove\"\nexport * from \"./decorator/listeners/AfterRecover\"\nexport * from \"./decorator/listeners/AfterUpdate\"\nexport * from \"./decorator/listeners/BeforeInsert\"\nexport * from \"./decorator/listeners/BeforeRemove\"\nexport * from \"./decorator/listeners/BeforeSoftRemove\"\nexport * from \"./decorator/listeners/BeforeRecover\"\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/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/And\"\nexport * from \"./find-options/operator/Or\"\nexport * from \"./find-options/operator/Any\"\nexport * from \"./find-options/operator/ArrayContainedBy\"\nexport * from \"./find-options/operator/ArrayContains\"\nexport * from \"./find-options/operator/ArrayOverlap\"\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/operator/JsonContains\"\nexport * from \"./find-options/EqualOperator\"\nexport * from \"./find-options/FindManyOptions\"\nexport * from \"./find-options/FindOneOptions\"\nexport * from \"./find-options/FindOperator\"\nexport * from \"./find-options/FindOperatorType\"\nexport * from \"./find-options/FindOptionsOrder\"\nexport * from \"./find-options/FindOptionsRelations\"\nexport * from \"./find-options/FindOptionsSelect\"\nexport * from \"./find-options/FindOptionsUtils\"\nexport * from \"./find-options/FindOptionsWhere\"\nexport * from \"./find-options/FindTreeOptions\"\nexport * from \"./find-options/JoinOptions\"\nexport * from \"./find-options/OrderByCondition\"\nexport * from \"./logger/AbstractLogger\"\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 \"./schema-builder/view/View\"\nexport * from \"./schema-builder/options/TableCheckOptions\"\nexport * from \"./schema-builder/options/TableColumnOptions\"\nexport * from \"./schema-builder/options/TableExclusionOptions\"\nexport * from \"./schema-builder/options/TableForeignKeyOptions\"\nexport * from \"./schema-builder/options/TableIndexOptions\"\nexport * from \"./schema-builder/options/TableOptions\"\nexport * from \"./schema-builder/options/TableUniqueOptions\"\nexport * from \"./schema-builder/options/ViewOptions\"\nexport * from \"./driver/mongodb/typings\"\nexport * from \"./driver/types/DatabaseType\"\nexport * from \"./driver/types/GeoJsonTypes\"\nexport * from \"./driver/types/ReplicationMode\"\nexport * from \"./driver/sqlserver/MssqlParameter\"\n\n// export * from \"./data-source\";\n\nexport { ConnectionOptionsReader } from \"./connection/ConnectionOptionsReader\"\nexport { ConnectionOptions } from \"./connection/ConnectionOptions\"\nexport { DataSource } from \"./data-source/DataSource\"\nexport { Connection } from \"./connection/Connection\"\nexport { ConnectionManager } from \"./connection/ConnectionManager\"\nexport { DataSourceOptions } from \"./data-source/DataSourceOptions\"\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 { NotBrackets } from \"./query-builder/NotBrackets\"\nexport { WhereExpressionBuilder } from \"./query-builder/WhereExpressionBuilder\"\nexport { WhereExpression } from \"./query-builder/WhereExpressionBuilder\"\nexport { InsertResult } from \"./query-builder/result/InsertResult\"\nexport { UpdateResult } from \"./query-builder/result/UpdateResult\"\nexport { DeleteResult } from \"./query-builder/result/DeleteResult\"\nexport { QueryResult } from \"./query-runner/QueryResult\"\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 { LegacyOracleNamingStrategy } from \"./naming-strategy/LegacyOracleNamingStrategy\"\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 { SoftRemoveEvent } from \"./subscriber/event/SoftRemoveEvent\"\nexport { RecoverEvent } from \"./subscriber/event/RecoverEvent\"\nexport { TransactionCommitEvent } from \"./subscriber/event/TransactionCommitEvent\"\nexport { TransactionRollbackEvent } from \"./subscriber/event/TransactionRollbackEvent\"\nexport { TransactionStartEvent } from \"./subscriber/event/TransactionStartEvent\"\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 { EntitySchemaEmbeddedColumnOptions } from \"./entity-schema/EntitySchemaEmbeddedColumnOptions\"\nexport { ColumnType } from \"./driver/types/ColumnTypes\"\nexport { EntitySchemaOptions } from \"./entity-schema/EntitySchemaOptions\"\nexport { InstanceChecker } from \"./util/InstanceChecker\"\nexport { TreeRepositoryUtils } from \"./util/TreeRepositoryUtils\"\n"],"sourceRoot":"."}
package/index.mjs CHANGED
@@ -149,6 +149,7 @@ const {
149
149
  Generated,
150
150
  EntityRepository,
151
151
  And,
152
+ Or,
152
153
  Any,
153
154
  ArrayContainedBy,
154
155
  ArrayContains,
@@ -187,6 +188,7 @@ const {
187
188
  TableIndex,
188
189
  TableUnique,
189
190
  Table,
191
+ View,
190
192
  Binary,
191
193
  BSON,
192
194
  BSONRegExp,
@@ -356,6 +358,7 @@ export {
356
358
  Generated,
357
359
  EntityRepository,
358
360
  And,
361
+ Or,
359
362
  Any,
360
363
  ArrayContainedBy,
361
364
  ArrayContains,
@@ -394,6 +397,7 @@ export {
394
397
  TableIndex,
395
398
  TableUnique,
396
399
  Table,
400
+ View,
397
401
  Binary,
398
402
  BSON,
399
403
  BSONRegExp,
@@ -90,7 +90,7 @@ class AbstractLogger {
90
90
  * Logs events from the migration run process.
91
91
  */
92
92
  logMigration(message, queryRunner) {
93
- if (this.isLogEnabledFor("migration")) {
93
+ if (!this.isLogEnabledFor("migration")) {
94
94
  return;
95
95
  }
96
96
  this.writeLog("log", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/logger/AbstractLogger.ts"],"names":[],"mappings":"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","file":"AbstractLogger.js","sourcesContent":["import {\n Logger,\n LogLevel,\n LogMessage,\n LogMessageType,\n PrepareLogMessagesOptions,\n} from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { LoggerOptions } from \"./LoggerOptions\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\n\nexport abstract class AbstractLogger implements Logger {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: LoggerOptions) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Logs query and parameters used in it.\n */\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"query\")) {\n return\n }\n\n this.writeLog(\n \"query\",\n {\n type: \"query\",\n prefix: \"query\",\n message: query,\n format: \"sql\",\n parameters,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs query that is failed.\n */\n logQueryError(\n error: string,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-error\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-error\",\n prefix: \"query failed\",\n message: query,\n format: \"sql\",\n parameters,\n },\n {\n type: \"query-error\",\n prefix: \"error\",\n message: error,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs query that is slow.\n */\n logQuerySlow(\n time: number,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-slow\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-slow\",\n prefix: \"query is slow\",\n message: query,\n format: \"sql\",\n parameters,\n additionalInfo: {\n time,\n },\n },\n {\n type: \"query-slow\",\n prefix: \"execution time\",\n message: time,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs events from the schema build process.\n */\n logSchemaBuild(message: string, queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"schema-build\")) {\n return\n }\n\n this.writeLog(\n \"schema\",\n {\n type: \"schema-build\",\n message,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs events from the migration run process.\n */\n logMigration(message: string, queryRunner?: QueryRunner) {\n if (this.isLogEnabledFor(\"migration\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"migration\",\n message,\n },\n queryRunner,\n )\n }\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(\n level: \"log\" | \"info\" | \"warn\",\n message: any,\n queryRunner?: QueryRunner,\n ) {\n switch (level) {\n case \"log\":\n if (!this.isLogEnabledFor(\"log\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"log\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"info\":\n if (!this.isLogEnabledFor(\"info\")) {\n return\n }\n\n this.writeLog(\n \"info\",\n {\n type: \"info\",\n prefix: \"info\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"warn\":\n if (!this.isLogEnabledFor(\"warn\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n {\n type: \"warn\",\n message,\n },\n queryRunner,\n )\n break\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Check is logging for level or message type is enabled.\n */\n protected isLogEnabledFor(type?: LogLevel | LogMessageType) {\n switch (type) {\n case \"query\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"query\") !== -1)\n )\n\n case \"error\":\n case \"query-error\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"error\") !== -1)\n )\n\n case \"query-slow\":\n return true\n\n case \"schema\":\n case \"schema-build\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"schema\") !== -1)\n )\n\n case \"migration\":\n return true\n\n case \"log\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"log\") !== -1)\n )\n\n case \"info\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"info\") !== -1)\n )\n\n case \"warn\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"warn\") !== -1)\n )\n\n default:\n return false\n }\n }\n\n /**\n * Write log to specific output.\n */\n protected abstract writeLog(\n level: LogLevel,\n message:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n queryRunner?: QueryRunner,\n ): void\n\n /**\n * Prepare and format log messages\n */\n protected prepareLogMessages(\n logMessage:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n options?: Partial<PrepareLogMessagesOptions>,\n ): LogMessage[] {\n options = {\n ...{\n addColonToPrefix: true,\n appendParameterAsComment: true,\n highlightSql: true,\n },\n ...options,\n }\n const messages = Array.isArray(logMessage) ? logMessage : [logMessage]\n\n for (let message of messages) {\n if (typeof message !== \"object\") {\n message = {\n message,\n }\n }\n\n if (message.format === \"sql\") {\n let sql = String(message.message)\n\n if (\n options.appendParameterAsComment &&\n message.parameters &&\n message.parameters.length\n ) {\n sql += ` -- PARAMETERS: ${this.stringifyParams(\n message.parameters,\n )}`\n }\n\n if (options.highlightSql) {\n sql = PlatformTools.highlightSql(sql)\n }\n\n message.message = sql\n }\n\n if (options.addColonToPrefix && message.prefix) {\n message.prefix += \":\"\n }\n }\n\n return messages as LogMessage[]\n }\n\n /**\n * Converts parameters to a string.\n * Sometimes parameters can have circular objects and therefor we are handle this case too.\n */\n protected stringifyParams(parameters: any[]) {\n try {\n return JSON.stringify(parameters)\n } catch (error) {\n // most probably circular objects in parameters\n return parameters\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/logger/AbstractLogger.ts"],"names":[],"mappings":"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","file":"AbstractLogger.js","sourcesContent":["import {\n Logger,\n LogLevel,\n LogMessage,\n LogMessageType,\n PrepareLogMessagesOptions,\n} from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { LoggerOptions } from \"./LoggerOptions\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\n\nexport abstract class AbstractLogger implements Logger {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: LoggerOptions) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Logs query and parameters used in it.\n */\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"query\")) {\n return\n }\n\n this.writeLog(\n \"query\",\n {\n type: \"query\",\n prefix: \"query\",\n message: query,\n format: \"sql\",\n parameters,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs query that is failed.\n */\n logQueryError(\n error: string,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-error\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-error\",\n prefix: \"query failed\",\n message: query,\n format: \"sql\",\n parameters,\n },\n {\n type: \"query-error\",\n prefix: \"error\",\n message: error,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs query that is slow.\n */\n logQuerySlow(\n time: number,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-slow\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-slow\",\n prefix: \"query is slow\",\n message: query,\n format: \"sql\",\n parameters,\n additionalInfo: {\n time,\n },\n },\n {\n type: \"query-slow\",\n prefix: \"execution time\",\n message: time,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs events from the schema build process.\n */\n logSchemaBuild(message: string, queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"schema-build\")) {\n return\n }\n\n this.writeLog(\n \"schema\",\n {\n type: \"schema-build\",\n message,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs events from the migration run process.\n */\n logMigration(message: string, queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"migration\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"migration\",\n message,\n },\n queryRunner,\n )\n }\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(\n level: \"log\" | \"info\" | \"warn\",\n message: any,\n queryRunner?: QueryRunner,\n ) {\n switch (level) {\n case \"log\":\n if (!this.isLogEnabledFor(\"log\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"log\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"info\":\n if (!this.isLogEnabledFor(\"info\")) {\n return\n }\n\n this.writeLog(\n \"info\",\n {\n type: \"info\",\n prefix: \"info\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"warn\":\n if (!this.isLogEnabledFor(\"warn\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n {\n type: \"warn\",\n message,\n },\n queryRunner,\n )\n break\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Check is logging for level or message type is enabled.\n */\n protected isLogEnabledFor(type?: LogLevel | LogMessageType) {\n switch (type) {\n case \"query\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"query\") !== -1)\n )\n\n case \"error\":\n case \"query-error\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"error\") !== -1)\n )\n\n case \"query-slow\":\n return true\n\n case \"schema\":\n case \"schema-build\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"schema\") !== -1)\n )\n\n case \"migration\":\n return true\n\n case \"log\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"log\") !== -1)\n )\n\n case \"info\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"info\") !== -1)\n )\n\n case \"warn\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"warn\") !== -1)\n )\n\n default:\n return false\n }\n }\n\n /**\n * Write log to specific output.\n */\n protected abstract writeLog(\n level: LogLevel,\n message:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n queryRunner?: QueryRunner,\n ): void\n\n /**\n * Prepare and format log messages\n */\n protected prepareLogMessages(\n logMessage:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n options?: Partial<PrepareLogMessagesOptions>,\n ): LogMessage[] {\n options = {\n ...{\n addColonToPrefix: true,\n appendParameterAsComment: true,\n highlightSql: true,\n },\n ...options,\n }\n const messages = Array.isArray(logMessage) ? logMessage : [logMessage]\n\n for (let message of messages) {\n if (typeof message !== \"object\") {\n message = {\n message,\n }\n }\n\n if (message.format === \"sql\") {\n let sql = String(message.message)\n\n if (\n options.appendParameterAsComment &&\n message.parameters &&\n message.parameters.length\n ) {\n sql += ` -- PARAMETERS: ${this.stringifyParams(\n message.parameters,\n )}`\n }\n\n if (options.highlightSql) {\n sql = PlatformTools.highlightSql(sql)\n }\n\n message.message = sql\n }\n\n if (options.addColonToPrefix && message.prefix) {\n message.prefix += \":\"\n }\n }\n\n return messages as LogMessage[]\n }\n\n /**\n * Converts parameters to a string.\n * Sometimes parameters can have circular objects and therefor we are handle this case too.\n */\n protected stringifyParams(parameters: any[]) {\n try {\n return JSON.stringify(parameters)\n } catch (error) {\n // most probably circular objects in parameters\n return parameters\n }\n }\n}\n"],"sourceRoot":".."}
@@ -465,6 +465,10 @@ class ColumnMetadata {
465
465
  value = embeddedObject[this.propertyName];
466
466
  }
467
467
  }
468
+ else if (embeddedObject === null) {
469
+ // when embedded object is null, set all its properties to null
470
+ value = null;
471
+ }
468
472
  }
469
473
  else {
470
474
  // no embeds - no problems. Simply return column name by property name of the entity