typeorm 1.0.0-beta.1 → 1.0.0-beta.2

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 (1249) hide show
  1. package/browser/cache/DbQueryResultCache.d.ts +7 -0
  2. package/browser/cache/DbQueryResultCache.js +12 -4
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/cache/RedisQueryResultCache.d.ts +7 -0
  5. package/browser/cache/RedisQueryResultCache.js +15 -10
  6. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  7. package/browser/cli-ts-node-esm.js +2 -2
  8. package/browser/cli-ts-node-esm.js.map +1 -1
  9. package/browser/common/RelationType.d.ts +2 -0
  10. package/browser/common/RelationType.js.map +1 -1
  11. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -0
  12. package/browser/connection/ConnectionMetadataBuilder.js +3 -0
  13. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  14. package/browser/connection/ConnectionOptionsReader.d.ts +5 -4
  15. package/browser/connection/ConnectionOptionsReader.js +14 -12
  16. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  17. package/browser/data-source/BaseDataSourceOptions.d.ts +8 -0
  18. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  19. package/browser/data-source/DataSource.d.ts +20 -1
  20. package/browser/data-source/DataSource.js +37 -15
  21. package/browser/data-source/DataSource.js.map +1 -1
  22. package/browser/decorator/Check.d.ts +2 -0
  23. package/browser/decorator/Check.js +2 -1
  24. package/browser/decorator/Check.js.map +1 -1
  25. package/browser/decorator/Exclusion.d.ts +2 -0
  26. package/browser/decorator/Exclusion.js +1 -0
  27. package/browser/decorator/Exclusion.js.map +1 -1
  28. package/browser/decorator/ForeignKey.d.ts +3 -0
  29. package/browser/decorator/ForeignKey.js +1 -0
  30. package/browser/decorator/ForeignKey.js.map +1 -1
  31. package/browser/decorator/Generated.d.ts +1 -0
  32. package/browser/decorator/Generated.js +1 -0
  33. package/browser/decorator/Generated.js.map +1 -1
  34. package/browser/decorator/Index.d.ts +7 -0
  35. package/browser/decorator/Index.js +13 -13
  36. package/browser/decorator/Index.js.map +1 -1
  37. package/browser/decorator/Unique.d.ts +4 -0
  38. package/browser/decorator/Unique.js +6 -6
  39. package/browser/decorator/Unique.js.map +1 -1
  40. package/browser/decorator/columns/Column.d.ts +11 -0
  41. package/browser/decorator/columns/Column.js +3 -3
  42. package/browser/decorator/columns/Column.js.map +1 -1
  43. package/browser/decorator/columns/CreateDateColumn.d.ts +1 -0
  44. package/browser/decorator/columns/CreateDateColumn.js +2 -1
  45. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  46. package/browser/decorator/columns/DeleteDateColumn.d.ts +1 -0
  47. package/browser/decorator/columns/DeleteDateColumn.js +2 -1
  48. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  49. package/browser/decorator/columns/ObjectIdColumn.d.ts +1 -0
  50. package/browser/decorator/columns/ObjectIdColumn.js +3 -4
  51. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  52. package/browser/decorator/columns/PrimaryColumn.d.ts +2 -0
  53. package/browser/decorator/columns/PrimaryColumn.js +2 -2
  54. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  55. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +4 -0
  56. package/browser/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  57. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  58. package/browser/decorator/columns/UpdateDateColumn.d.ts +1 -0
  59. package/browser/decorator/columns/UpdateDateColumn.js +2 -1
  60. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  61. package/browser/decorator/columns/VersionColumn.d.ts +1 -0
  62. package/browser/decorator/columns/VersionColumn.js +2 -1
  63. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  64. package/browser/decorator/columns/ViewColumn.d.ts +1 -0
  65. package/browser/decorator/columns/ViewColumn.js +2 -1
  66. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  67. package/browser/decorator/columns/VirtualColumn.d.ts +2 -0
  68. package/browser/decorator/columns/VirtualColumn.js +1 -0
  69. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  70. package/browser/decorator/entity/ChildEntity.d.ts +1 -0
  71. package/browser/decorator/entity/ChildEntity.js +1 -0
  72. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  73. package/browser/decorator/entity/Entity.d.ts +2 -0
  74. package/browser/decorator/entity/Entity.js +7 -6
  75. package/browser/decorator/entity/Entity.js.map +1 -1
  76. package/browser/decorator/entity/TableInheritance.d.ts +1 -0
  77. package/browser/decorator/entity/TableInheritance.js +3 -2
  78. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  79. package/browser/decorator/entity-view/ViewEntity.d.ts +2 -0
  80. package/browser/decorator/entity-view/ViewEntity.js +4 -3
  81. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  82. package/browser/decorator/options/ColumnOptions.d.ts +3 -0
  83. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  84. package/browser/decorator/options/EntityOptions.d.ts +1 -0
  85. package/browser/decorator/options/EntityOptions.js.map +1 -1
  86. package/browser/decorator/options/RelationOptions.d.ts +2 -0
  87. package/browser/decorator/options/RelationOptions.js.map +1 -1
  88. package/browser/decorator/options/VirtualColumnOptions.d.ts +1 -0
  89. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  90. package/browser/decorator/relations/JoinColumn.d.ts +2 -0
  91. package/browser/decorator/relations/JoinColumn.js +2 -1
  92. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  93. package/browser/decorator/relations/JoinTable.d.ts +2 -0
  94. package/browser/decorator/relations/JoinTable.js +5 -4
  95. package/browser/decorator/relations/JoinTable.js.map +1 -1
  96. package/browser/decorator/relations/ManyToMany.d.ts +2 -0
  97. package/browser/decorator/relations/ManyToMany.js +2 -2
  98. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  99. package/browser/decorator/relations/ManyToOne.d.ts +2 -0
  100. package/browser/decorator/relations/ManyToOne.js +3 -3
  101. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  102. package/browser/decorator/relations/OneToMany.d.ts +1 -0
  103. package/browser/decorator/relations/OneToMany.js +3 -3
  104. package/browser/decorator/relations/OneToMany.js.map +1 -1
  105. package/browser/decorator/relations/OneToOne.d.ts +2 -0
  106. package/browser/decorator/relations/OneToOne.js +3 -3
  107. package/browser/decorator/relations/OneToOne.js.map +1 -1
  108. package/browser/decorator/relations/RelationId.d.ts +1 -0
  109. package/browser/decorator/relations/RelationId.js +1 -0
  110. package/browser/decorator/relations/RelationId.js.map +1 -1
  111. package/browser/decorator/tree/Tree.d.ts +1 -0
  112. package/browser/decorator/tree/Tree.js +1 -0
  113. package/browser/decorator/tree/Tree.js.map +1 -1
  114. package/browser/decorator/tree/TreeChildren.d.ts +1 -0
  115. package/browser/decorator/tree/TreeChildren.js +3 -3
  116. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  117. package/browser/decorator/tree/TreeParent.d.ts +1 -0
  118. package/browser/decorator/tree/TreeParent.js +3 -3
  119. package/browser/decorator/tree/TreeParent.js.map +1 -1
  120. package/browser/driver/Driver.d.ts +5 -0
  121. package/browser/driver/Driver.js.map +1 -1
  122. package/browser/driver/DriverFactory.d.ts +1 -0
  123. package/browser/driver/DriverFactory.js +1 -0
  124. package/browser/driver/DriverFactory.js.map +1 -1
  125. package/browser/driver/DriverUtils.d.ts +7 -0
  126. package/browser/driver/DriverUtils.js +34 -21
  127. package/browser/driver/DriverUtils.js.map +1 -1
  128. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -0
  129. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  130. package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +1 -0
  131. package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -1
  132. package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +37 -0
  133. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +53 -16
  134. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  135. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +64 -0
  136. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +90 -30
  137. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  138. package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +13 -0
  139. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js +26 -5
  140. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  141. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +3 -0
  142. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +27 -1
  143. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  144. package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +1 -0
  145. package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -1
  146. package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +3 -0
  147. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +5 -3
  148. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  149. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -0
  150. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
  151. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  152. package/browser/driver/capacitor/CapacitorDriver.d.ts +1 -0
  153. package/browser/driver/capacitor/CapacitorDriver.js +3 -3
  154. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  155. package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +2 -0
  156. package/browser/driver/capacitor/CapacitorQueryRunner.js +4 -2
  157. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  158. package/browser/driver/cockroachdb/CockroachDataSourceOptions.d.ts +1 -0
  159. package/browser/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -1
  160. package/browser/driver/cockroachdb/CockroachDriver.d.ts +35 -0
  161. package/browser/driver/cockroachdb/CockroachDriver.js +64 -29
  162. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  163. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +74 -0
  164. package/browser/driver/cockroachdb/CockroachQueryRunner.js +143 -119
  165. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  166. package/browser/driver/cordova/CordovaDriver.d.ts +6 -0
  167. package/browser/driver/cordova/CordovaDriver.js +14 -4
  168. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  169. package/browser/driver/cordova/CordovaQueryRunner.d.ts +2 -0
  170. package/browser/driver/cordova/CordovaQueryRunner.js +3 -1
  171. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  172. package/browser/driver/expo/ExpoDriver.js +1 -2
  173. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  174. package/browser/driver/mongodb/MongoDriver.d.ts +25 -0
  175. package/browser/driver/mongodb/MongoDriver.js +35 -6
  176. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  177. package/browser/driver/mongodb/MongoQueryRunner.d.ts +84 -0
  178. package/browser/driver/mongodb/MongoQueryRunner.js +102 -18
  179. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  180. package/browser/driver/mongodb/bson.typings.d.ts +1 -0
  181. package/browser/driver/mongodb/bson.typings.js.map +1 -1
  182. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -0
  183. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  184. package/browser/driver/mysql/MysqlDataSourceOptions.d.ts +2 -0
  185. package/browser/driver/mysql/MysqlDataSourceOptions.js.map +1 -1
  186. package/browser/driver/mysql/MysqlDriver.d.ts +37 -0
  187. package/browser/driver/mysql/MysqlDriver.js +57 -17
  188. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  189. package/browser/driver/mysql/MysqlQueryRunner.d.ts +64 -0
  190. package/browser/driver/mysql/MysqlQueryRunner.js +140 -111
  191. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  192. package/browser/driver/nativescript/NativescriptDriver.d.ts +1 -0
  193. package/browser/driver/nativescript/NativescriptDriver.js +3 -4
  194. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  195. package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +2 -0
  196. package/browser/driver/nativescript/NativescriptQueryRunner.js +3 -1
  197. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  198. package/browser/driver/oracle/OracleDriver.d.ts +32 -0
  199. package/browser/driver/oracle/OracleDriver.js +48 -15
  200. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  201. package/browser/driver/oracle/OracleQueryRunner.d.ts +66 -0
  202. package/browser/driver/oracle/OracleQueryRunner.js +119 -83
  203. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  204. package/browser/driver/postgres/PostgresDataSourceOptions.d.ts +2 -0
  205. package/browser/driver/postgres/PostgresDataSourceOptions.js.map +1 -1
  206. package/browser/driver/postgres/PostgresDriver.d.ts +37 -0
  207. package/browser/driver/postgres/PostgresDriver.js +67 -31
  208. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  209. package/browser/driver/postgres/PostgresQueryRunner.d.ts +81 -0
  210. package/browser/driver/postgres/PostgresQueryRunner.js +152 -121
  211. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  212. package/browser/driver/react-native/ReactNativeDriver.d.ts +29 -0
  213. package/browser/driver/react-native/ReactNativeDriver.js +45 -12
  214. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  215. package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +2 -0
  216. package/browser/driver/react-native/ReactNativeQueryRunner.js +3 -1
  217. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  218. package/browser/driver/sap/SapDataSourceOptions.d.ts +1 -0
  219. package/browser/driver/sap/SapDataSourceOptions.js.map +1 -1
  220. package/browser/driver/sap/SapDriver.d.ts +30 -0
  221. package/browser/driver/sap/SapDriver.js +45 -11
  222. package/browser/driver/sap/SapDriver.js.map +1 -1
  223. package/browser/driver/sap/SapQueryRunner.d.ts +66 -0
  224. package/browser/driver/sap/SapQueryRunner.js +101 -56
  225. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  226. package/browser/driver/spanner/SpannerDataSourceOptions.d.ts +1 -0
  227. package/browser/driver/spanner/SpannerDataSourceOptions.js.map +1 -1
  228. package/browser/driver/spanner/SpannerDriver.d.ts +33 -0
  229. package/browser/driver/spanner/SpannerDriver.js +50 -10
  230. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  231. package/browser/driver/spanner/SpannerQueryRunner.d.ts +64 -0
  232. package/browser/driver/spanner/SpannerQueryRunner.js +89 -32
  233. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  234. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +30 -0
  235. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +43 -77
  236. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  237. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +59 -0
  238. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +89 -45
  239. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  240. package/browser/driver/sqljs/SqljsDriver.d.ts +5 -0
  241. package/browser/driver/sqljs/SqljsDriver.js +8 -4
  242. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  243. package/browser/driver/sqljs/SqljsQueryRunner.d.ts +1 -0
  244. package/browser/driver/sqljs/SqljsQueryRunner.js +1 -0
  245. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  246. package/browser/driver/sqlserver/MssqlParameter.d.ts +1 -0
  247. package/browser/driver/sqlserver/MssqlParameter.js +1 -0
  248. package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
  249. package/browser/driver/sqlserver/SqlServerDataSourceOptions.d.ts +14 -5
  250. package/browser/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -1
  251. package/browser/driver/sqlserver/SqlServerDriver.d.ts +42 -0
  252. package/browser/driver/sqlserver/SqlServerDriver.js +100 -26
  253. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  254. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +76 -10
  255. package/browser/driver/sqlserver/SqlServerQueryRunner.js +160 -163
  256. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  257. package/browser/driver/types/IsolationLevel.d.ts +2 -1
  258. package/browser/driver/types/IsolationLevel.js +8 -0
  259. package/browser/driver/types/IsolationLevel.js.map +1 -1
  260. package/browser/driver/validate-isolation-level.d.ts +9 -0
  261. package/browser/driver/validate-isolation-level.js +23 -0
  262. package/browser/driver/validate-isolation-level.js.map +1 -0
  263. package/browser/entity-manager/EntityManager.d.ts +38 -1
  264. package/browser/entity-manager/EntityManager.js +58 -12
  265. package/browser/entity-manager/EntityManager.js.map +1 -1
  266. package/browser/entity-manager/EntityManagerFactory.d.ts +1 -0
  267. package/browser/entity-manager/EntityManagerFactory.js +1 -0
  268. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  269. package/browser/entity-manager/MongoEntityManager.d.ts +54 -1
  270. package/browser/entity-manager/MongoEntityManager.js +103 -12
  271. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  272. package/browser/entity-manager/SqljsEntityManager.d.ts +2 -0
  273. package/browser/entity-manager/SqljsEntityManager.js +2 -0
  274. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  275. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +1 -0
  276. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  277. package/browser/entity-schema/EntitySchemaOptions.d.ts +1 -0
  278. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  279. package/browser/entity-schema/EntitySchemaTransformer.d.ts +1 -0
  280. package/browser/entity-schema/EntitySchemaTransformer.js +25 -26
  281. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  282. package/browser/error/InitializedRelationError.d.ts +1 -0
  283. package/browser/error/InitializedRelationError.js +1 -0
  284. package/browser/error/InitializedRelationError.js.map +1 -1
  285. package/browser/find-options/FindOptionsUtils.d.ts +7 -0
  286. package/browser/find-options/FindOptionsUtils.js +7 -0
  287. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  288. package/browser/find-options/OrderByCondition.d.ts +2 -1
  289. package/browser/find-options/OrderByCondition.js.map +1 -1
  290. package/browser/find-options/operator/Any.d.ts +4 -1
  291. package/browser/find-options/operator/Any.js +4 -1
  292. package/browser/find-options/operator/Any.js.map +1 -1
  293. package/browser/find-options/operator/ArrayContainedBy.d.ts +4 -1
  294. package/browser/find-options/operator/ArrayContainedBy.js +4 -1
  295. package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
  296. package/browser/find-options/operator/ArrayContains.d.ts +4 -1
  297. package/browser/find-options/operator/ArrayContains.js +4 -1
  298. package/browser/find-options/operator/ArrayContains.js.map +1 -1
  299. package/browser/find-options/operator/ArrayOverlap.d.ts +4 -1
  300. package/browser/find-options/operator/ArrayOverlap.js +4 -1
  301. package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
  302. package/browser/find-options/operator/Between.d.ts +4 -1
  303. package/browser/find-options/operator/Between.js +4 -1
  304. package/browser/find-options/operator/Between.js.map +1 -1
  305. package/browser/find-options/operator/Equal.d.ts +6 -3
  306. package/browser/find-options/operator/Equal.js +6 -3
  307. package/browser/find-options/operator/Equal.js.map +1 -1
  308. package/browser/find-options/operator/ILike.d.ts +4 -1
  309. package/browser/find-options/operator/ILike.js +4 -1
  310. package/browser/find-options/operator/ILike.js.map +1 -1
  311. package/browser/find-options/operator/In.d.ts +4 -1
  312. package/browser/find-options/operator/In.js +4 -1
  313. package/browser/find-options/operator/In.js.map +1 -1
  314. package/browser/find-options/operator/IsNull.d.ts +4 -1
  315. package/browser/find-options/operator/IsNull.js +4 -1
  316. package/browser/find-options/operator/IsNull.js.map +1 -1
  317. package/browser/find-options/operator/JsonContains.d.ts +4 -1
  318. package/browser/find-options/operator/JsonContains.js +4 -1
  319. package/browser/find-options/operator/JsonContains.js.map +1 -1
  320. package/browser/find-options/operator/LessThan.d.ts +4 -1
  321. package/browser/find-options/operator/LessThan.js +4 -1
  322. package/browser/find-options/operator/LessThan.js.map +1 -1
  323. package/browser/find-options/operator/LessThanOrEqual.d.ts +4 -1
  324. package/browser/find-options/operator/LessThanOrEqual.js +4 -1
  325. package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
  326. package/browser/find-options/operator/Like.d.ts +4 -1
  327. package/browser/find-options/operator/Like.js +4 -1
  328. package/browser/find-options/operator/Like.js.map +1 -1
  329. package/browser/find-options/operator/MoreThan.d.ts +4 -1
  330. package/browser/find-options/operator/MoreThan.js +4 -1
  331. package/browser/find-options/operator/MoreThan.js.map +1 -1
  332. package/browser/find-options/operator/MoreThanOrEqual.d.ts +4 -1
  333. package/browser/find-options/operator/MoreThanOrEqual.js +4 -1
  334. package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
  335. package/browser/find-options/operator/Not.d.ts +4 -1
  336. package/browser/find-options/operator/Not.js +4 -1
  337. package/browser/find-options/operator/Not.js.map +1 -1
  338. package/browser/find-options/operator/Raw.d.ts +12 -3
  339. package/browser/find-options/operator/Raw.js.map +1 -1
  340. package/browser/globals.js +1 -2
  341. package/browser/globals.js.map +1 -1
  342. package/browser/logger/AbstractLogger.d.ts +9 -0
  343. package/browser/logger/AbstractLogger.js +10 -2
  344. package/browser/logger/AbstractLogger.js.map +1 -1
  345. package/browser/logger/AdvancedConsoleLogger.d.ts +1 -0
  346. package/browser/logger/AdvancedConsoleLogger.js +1 -0
  347. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  348. package/browser/logger/DebugLogger.d.ts +2 -0
  349. package/browser/logger/DebugLogger.js +3 -1
  350. package/browser/logger/DebugLogger.js.map +1 -1
  351. package/browser/logger/FileLogger.d.ts +13 -2
  352. package/browser/logger/FileLogger.js +4 -5
  353. package/browser/logger/FileLogger.js.map +1 -1
  354. package/browser/logger/FormattedConsoleLogger.d.ts +1 -0
  355. package/browser/logger/FormattedConsoleLogger.js +1 -0
  356. package/browser/logger/FormattedConsoleLogger.js.map +1 -1
  357. package/browser/logger/LoggerFactory.d.ts +1 -0
  358. package/browser/logger/LoggerFactory.js +1 -0
  359. package/browser/logger/LoggerFactory.js.map +1 -1
  360. package/browser/logger/LoggerOptions.d.ts +0 -9
  361. package/browser/logger/LoggerOptions.js.map +1 -1
  362. package/browser/logger/SimpleConsoleLogger.d.ts +1 -0
  363. package/browser/logger/SimpleConsoleLogger.js +1 -0
  364. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  365. package/browser/metadata/CheckMetadata.d.ts +1 -0
  366. package/browser/metadata/CheckMetadata.js +4 -3
  367. package/browser/metadata/CheckMetadata.js.map +1 -1
  368. package/browser/metadata/ColumnMetadata.d.ts +8 -5
  369. package/browser/metadata/ColumnMetadata.js +17 -25
  370. package/browser/metadata/ColumnMetadata.js.map +1 -1
  371. package/browser/metadata/EmbeddedMetadata.d.ts +1 -0
  372. package/browser/metadata/EmbeddedMetadata.js +1 -0
  373. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  374. package/browser/metadata/EntityListenerMetadata.d.ts +3 -0
  375. package/browser/metadata/EntityListenerMetadata.js +3 -0
  376. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  377. package/browser/metadata/EntityMetadata.d.ts +25 -5
  378. package/browser/metadata/EntityMetadata.js +32 -12
  379. package/browser/metadata/EntityMetadata.js.map +1 -1
  380. package/browser/metadata/ExclusionMetadata.d.ts +1 -0
  381. package/browser/metadata/ExclusionMetadata.js +4 -3
  382. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  383. package/browser/metadata/ForeignKeyMetadata.d.ts +1 -0
  384. package/browser/metadata/ForeignKeyMetadata.js +6 -5
  385. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  386. package/browser/metadata/IndexMetadata.d.ts +1 -0
  387. package/browser/metadata/IndexMetadata.js +4 -3
  388. package/browser/metadata/IndexMetadata.js.map +1 -1
  389. package/browser/metadata/RelationIdMetadata.d.ts +1 -0
  390. package/browser/metadata/RelationIdMetadata.js +1 -0
  391. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  392. package/browser/metadata/RelationMetadata.d.ts +8 -0
  393. package/browser/metadata/RelationMetadata.js +15 -15
  394. package/browser/metadata/RelationMetadata.js.map +1 -1
  395. package/browser/metadata/UniqueMetadata.d.ts +1 -0
  396. package/browser/metadata/UniqueMetadata.js +4 -3
  397. package/browser/metadata/UniqueMetadata.js.map +1 -1
  398. package/browser/metadata-args/MetadataArgsStorage.d.ts +4 -0
  399. package/browser/metadata-args/MetadataArgsStorage.js +4 -0
  400. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  401. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -0
  402. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +7 -11
  403. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  404. package/browser/metadata-builder/EntityMetadataBuilder.d.ts +7 -0
  405. package/browser/metadata-builder/EntityMetadataBuilder.js +11 -6
  406. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  407. package/browser/metadata-builder/EntityMetadataValidator.d.ts +4 -0
  408. package/browser/metadata-builder/EntityMetadataValidator.js +6 -43
  409. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  410. package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -0
  411. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +39 -20
  412. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  413. package/browser/metadata-builder/MetadataUtils.d.ts +3 -0
  414. package/browser/metadata-builder/MetadataUtils.js +4 -1
  415. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  416. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -0
  417. package/browser/metadata-builder/RelationJoinColumnBuilder.js +17 -1
  418. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  419. package/browser/migration/MigrationExecutor.d.ts +9 -0
  420. package/browser/migration/MigrationExecutor.js +16 -7
  421. package/browser/migration/MigrationExecutor.js.map +1 -1
  422. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +3 -0
  423. package/browser/naming-strategy/DefaultNamingStrategy.js +13 -10
  424. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  425. package/browser/naming-strategy/NamingStrategyInterface.d.ts +2 -0
  426. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  427. package/browser/persistence/EntityPersistExecutor.js +2 -4
  428. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  429. package/browser/persistence/Subject.js +4 -6
  430. package/browser/persistence/Subject.js.map +1 -1
  431. package/browser/persistence/SubjectChangedColumnsComputer.d.ts +3 -0
  432. package/browser/persistence/SubjectChangedColumnsComputer.js +3 -0
  433. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  434. package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +1 -0
  435. package/browser/persistence/SubjectDatabaseEntityLoader.js +3 -1
  436. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  437. package/browser/persistence/SubjectExecutor.d.ts +2 -0
  438. package/browser/persistence/SubjectExecutor.js +15 -27
  439. package/browser/persistence/SubjectExecutor.js.map +1 -1
  440. package/browser/persistence/SubjectTopologicalSorter.d.ts +4 -0
  441. package/browser/persistence/SubjectTopologicalSorter.js +4 -0
  442. package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
  443. package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +2 -0
  444. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +37 -11
  445. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  446. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +11 -8
  447. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -13
  448. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  449. package/browser/persistence/subject-builder/OneToManySubjectBuilder.d.ts +9 -10
  450. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +30 -24
  451. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  452. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +9 -10
  453. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +9 -10
  454. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  455. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +4 -0
  456. package/browser/persistence/tree/ClosureSubjectExecutor.js +10 -8
  457. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  458. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -0
  459. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +8 -6
  460. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  461. package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +5 -0
  462. package/browser/persistence/tree/NestedSetSubjectExecutor.js +10 -5
  463. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  464. package/browser/platform/PlatformTools.d.ts +9 -0
  465. package/browser/platform/PlatformTools.js +10 -1
  466. package/browser/platform/PlatformTools.js.map +1 -1
  467. package/browser/query-builder/Alias.js +1 -1
  468. package/browser/query-builder/Alias.js.map +1 -1
  469. package/browser/query-builder/Brackets.d.ts +1 -0
  470. package/browser/query-builder/Brackets.js +1 -0
  471. package/browser/query-builder/Brackets.js.map +1 -1
  472. package/browser/query-builder/DeleteQueryBuilder.d.ts +7 -0
  473. package/browser/query-builder/DeleteQueryBuilder.js +9 -0
  474. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  475. package/browser/query-builder/InsertQueryBuilder.d.ts +9 -0
  476. package/browser/query-builder/InsertQueryBuilder.js +14 -8
  477. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  478. package/browser/query-builder/JoinAttribute.js +3 -3
  479. package/browser/query-builder/JoinAttribute.js.map +1 -1
  480. package/browser/query-builder/QueryBuilder.d.ts +25 -4
  481. package/browser/query-builder/QueryBuilder.js +58 -15
  482. package/browser/query-builder/QueryBuilder.js.map +1 -1
  483. package/browser/query-builder/QueryBuilderUtils.d.ts +1 -0
  484. package/browser/query-builder/QueryBuilderUtils.js +1 -0
  485. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  486. package/browser/query-builder/QueryExpressionMap.d.ts +5 -0
  487. package/browser/query-builder/QueryExpressionMap.js +4 -1
  488. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  489. package/browser/query-builder/RelationIdLoader.d.ts +6 -35
  490. package/browser/query-builder/RelationIdLoader.js +19 -43
  491. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  492. package/browser/query-builder/RelationLoader.d.ts +11 -2
  493. package/browser/query-builder/RelationLoader.js +20 -17
  494. package/browser/query-builder/RelationLoader.js.map +1 -1
  495. package/browser/query-builder/RelationQueryBuilder.d.ts +5 -0
  496. package/browser/query-builder/RelationQueryBuilder.js +5 -0
  497. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  498. package/browser/query-builder/RelationRemover.d.ts +1 -0
  499. package/browser/query-builder/RelationRemover.js +1 -0
  500. package/browser/query-builder/RelationRemover.js.map +1 -1
  501. package/browser/query-builder/RelationUpdater.d.ts +1 -0
  502. package/browser/query-builder/RelationUpdater.js +1 -0
  503. package/browser/query-builder/RelationUpdater.js.map +1 -1
  504. package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +2 -0
  505. package/browser/query-builder/ReturningResultsEntityUpdator.js +3 -1
  506. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  507. package/browser/query-builder/SelectQueryBuilder.d.ts +31 -8
  508. package/browser/query-builder/SelectQueryBuilder.js +98 -70
  509. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  510. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +11 -0
  511. package/browser/query-builder/SoftDeleteQueryBuilder.js +17 -0
  512. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  513. package/browser/query-builder/UpdateQueryBuilder.d.ts +11 -0
  514. package/browser/query-builder/UpdateQueryBuilder.js +18 -1
  515. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  516. package/browser/query-builder/relation-id/RelationIdAttribute.js +5 -5
  517. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  518. package/browser/query-builder/relation-id/RelationIdLoader.d.ts +2 -1
  519. package/browser/query-builder/relation-id/RelationIdLoader.js +6 -3
  520. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  521. package/browser/query-builder/transformer/DocumentToEntityTransformer.js +3 -16
  522. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  523. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +2 -4
  524. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  525. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +1 -0
  526. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  527. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  528. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +6 -0
  529. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -7
  530. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  531. package/browser/query-runner/BaseQueryRunner.d.ts +21 -1
  532. package/browser/query-runner/BaseQueryRunner.js +36 -49
  533. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  534. package/browser/query-runner/QueryRunner.d.ts +5 -1
  535. package/browser/query-runner/QueryRunner.js.map +1 -1
  536. package/browser/repository/BaseEntity.d.ts +32 -0
  537. package/browser/repository/BaseEntity.js +36 -0
  538. package/browser/repository/BaseEntity.js.map +1 -1
  539. package/browser/repository/MongoRepository.d.ts +39 -0
  540. package/browser/repository/MongoRepository.js +41 -2
  541. package/browser/repository/MongoRepository.js.map +1 -1
  542. package/browser/repository/Repository.d.ts +37 -1
  543. package/browser/repository/Repository.js +43 -2
  544. package/browser/repository/Repository.js.map +1 -1
  545. package/browser/repository/TreeRepository.d.ts +11 -0
  546. package/browser/repository/TreeRepository.js +12 -1
  547. package/browser/repository/TreeRepository.js.map +1 -1
  548. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +6 -4
  549. package/browser/schema-builder/RdbmsSchemaBuilder.js +10 -13
  550. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  551. package/browser/schema-builder/table/Table.d.ts +17 -0
  552. package/browser/schema-builder/table/Table.js +19 -2
  553. package/browser/schema-builder/table/Table.js.map +1 -1
  554. package/browser/schema-builder/table/TableCheck.d.ts +1 -0
  555. package/browser/schema-builder/table/TableCheck.js +1 -0
  556. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  557. package/browser/schema-builder/table/TableColumn.js +7 -7
  558. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  559. package/browser/schema-builder/table/TableExclusion.d.ts +1 -0
  560. package/browser/schema-builder/table/TableExclusion.js +1 -0
  561. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  562. package/browser/schema-builder/table/TableForeignKey.d.ts +1 -0
  563. package/browser/schema-builder/table/TableForeignKey.js +1 -0
  564. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  565. package/browser/schema-builder/table/TableIndex.d.ts +1 -0
  566. package/browser/schema-builder/table/TableIndex.js +2 -1
  567. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  568. package/browser/schema-builder/table/TableUnique.d.ts +1 -0
  569. package/browser/schema-builder/table/TableUnique.js +1 -0
  570. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  571. package/browser/schema-builder/util/ViewUtils.d.ts +1 -0
  572. package/browser/schema-builder/util/ViewUtils.js +1 -0
  573. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  574. package/browser/schema-builder/view/View.d.ts +3 -0
  575. package/browser/schema-builder/view/View.js +3 -0
  576. package/browser/schema-builder/view/View.js.map +1 -1
  577. package/browser/subscriber/Broadcaster.d.ts +20 -0
  578. package/browser/subscriber/Broadcaster.js +25 -6
  579. package/browser/subscriber/Broadcaster.js.map +1 -1
  580. package/browser/subscriber/event/BaseEvent.d.ts +1 -0
  581. package/browser/subscriber/event/BaseEvent.js.map +1 -1
  582. package/browser/util/DateUtils.d.ts +15 -0
  583. package/browser/util/DateUtils.js +15 -0
  584. package/browser/util/DateUtils.js.map +1 -1
  585. package/browser/util/DepGraph.d.ts +10 -0
  586. package/browser/util/DepGraph.js +11 -0
  587. package/browser/util/DepGraph.js.map +1 -1
  588. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -0
  589. package/browser/util/DirectoryExportedClassesLoader.js +1 -0
  590. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  591. package/browser/util/ObjectUtils.d.ts +6 -0
  592. package/browser/util/ObjectUtils.js +4 -0
  593. package/browser/util/ObjectUtils.js.map +1 -1
  594. package/browser/util/OrmUtils.d.ts +14 -0
  595. package/browser/util/OrmUtils.js +18 -6
  596. package/browser/util/OrmUtils.js.map +1 -1
  597. package/browser/util/PathUtils.d.ts +2 -0
  598. package/browser/util/PathUtils.js +2 -0
  599. package/browser/util/PathUtils.js.map +1 -1
  600. package/browser/util/RandomGenerator.d.ts +2 -0
  601. package/browser/util/RandomGenerator.js +2 -0
  602. package/browser/util/RandomGenerator.js.map +1 -1
  603. package/browser/util/StringUtils.d.ts +11 -4
  604. package/browser/util/StringUtils.js +15 -7
  605. package/browser/util/StringUtils.js.map +1 -1
  606. package/browser/util/TreeRepositoryUtils.js +2 -2
  607. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  608. package/cache/DbQueryResultCache.d.ts +7 -0
  609. package/cache/DbQueryResultCache.js +12 -4
  610. package/cache/DbQueryResultCache.js.map +1 -1
  611. package/cache/RedisQueryResultCache.d.ts +7 -0
  612. package/cache/RedisQueryResultCache.js +15 -10
  613. package/cache/RedisQueryResultCache.js.map +1 -1
  614. package/cli-ts-node-esm.js +2 -2
  615. package/cli-ts-node-esm.js.map +1 -1
  616. package/commands/CacheClearCommand.js +1 -1
  617. package/commands/CacheClearCommand.js.map +1 -1
  618. package/commands/CommandUtils.d.ts +4 -0
  619. package/commands/CommandUtils.js +4 -0
  620. package/commands/CommandUtils.js.map +1 -1
  621. package/commands/EntityCreateCommand.d.ts +1 -0
  622. package/commands/EntityCreateCommand.js +1 -0
  623. package/commands/EntityCreateCommand.js.map +1 -1
  624. package/commands/InitCommand.d.ts +10 -0
  625. package/commands/InitCommand.js +16 -9
  626. package/commands/InitCommand.js.map +1 -1
  627. package/commands/MigrationCreateCommand.d.ts +2 -0
  628. package/commands/MigrationCreateCommand.js +2 -0
  629. package/commands/MigrationCreateCommand.js.map +1 -1
  630. package/commands/MigrationGenerateCommand.d.ts +3 -0
  631. package/commands/MigrationGenerateCommand.js +4 -1
  632. package/commands/MigrationGenerateCommand.js.map +1 -1
  633. package/commands/MigrationRevertCommand.js +1 -1
  634. package/commands/MigrationRevertCommand.js.map +1 -1
  635. package/commands/MigrationRunCommand.js +1 -1
  636. package/commands/MigrationRunCommand.js.map +1 -1
  637. package/commands/MigrationShowCommand.js +1 -1
  638. package/commands/MigrationShowCommand.js.map +1 -1
  639. package/commands/QueryCommand.js +1 -1
  640. package/commands/QueryCommand.js.map +1 -1
  641. package/commands/SchemaDropCommand.js +1 -1
  642. package/commands/SchemaDropCommand.js.map +1 -1
  643. package/commands/SchemaSyncCommand.js +1 -1
  644. package/commands/SchemaSyncCommand.js.map +1 -1
  645. package/commands/SubscriberCreateCommand.d.ts +1 -0
  646. package/commands/SubscriberCreateCommand.js +1 -0
  647. package/commands/SubscriberCreateCommand.js.map +1 -1
  648. package/commands/VersionCommand.js +2 -2
  649. package/commands/VersionCommand.js.map +1 -1
  650. package/common/RelationType.d.ts +2 -0
  651. package/common/RelationType.js.map +1 -1
  652. package/connection/ConnectionMetadataBuilder.d.ts +3 -0
  653. package/connection/ConnectionMetadataBuilder.js +3 -0
  654. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  655. package/connection/ConnectionOptionsReader.d.ts +5 -4
  656. package/connection/ConnectionOptionsReader.js +14 -12
  657. package/connection/ConnectionOptionsReader.js.map +1 -1
  658. package/data-source/BaseDataSourceOptions.d.ts +8 -0
  659. package/data-source/BaseDataSourceOptions.js.map +1 -1
  660. package/data-source/DataSource.d.ts +20 -1
  661. package/data-source/DataSource.js +37 -15
  662. package/data-source/DataSource.js.map +1 -1
  663. package/decorator/Check.d.ts +2 -0
  664. package/decorator/Check.js +2 -1
  665. package/decorator/Check.js.map +1 -1
  666. package/decorator/Exclusion.d.ts +2 -0
  667. package/decorator/Exclusion.js +1 -0
  668. package/decorator/Exclusion.js.map +1 -1
  669. package/decorator/ForeignKey.d.ts +3 -0
  670. package/decorator/ForeignKey.js +1 -0
  671. package/decorator/ForeignKey.js.map +1 -1
  672. package/decorator/Generated.d.ts +1 -0
  673. package/decorator/Generated.js +1 -0
  674. package/decorator/Generated.js.map +1 -1
  675. package/decorator/Index.d.ts +7 -0
  676. package/decorator/Index.js +13 -13
  677. package/decorator/Index.js.map +1 -1
  678. package/decorator/Unique.d.ts +4 -0
  679. package/decorator/Unique.js +6 -6
  680. package/decorator/Unique.js.map +1 -1
  681. package/decorator/columns/Column.d.ts +11 -0
  682. package/decorator/columns/Column.js +3 -3
  683. package/decorator/columns/Column.js.map +1 -1
  684. package/decorator/columns/CreateDateColumn.d.ts +1 -0
  685. package/decorator/columns/CreateDateColumn.js +2 -1
  686. package/decorator/columns/CreateDateColumn.js.map +1 -1
  687. package/decorator/columns/DeleteDateColumn.d.ts +1 -0
  688. package/decorator/columns/DeleteDateColumn.js +2 -1
  689. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  690. package/decorator/columns/ObjectIdColumn.d.ts +1 -0
  691. package/decorator/columns/ObjectIdColumn.js +3 -4
  692. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  693. package/decorator/columns/PrimaryColumn.d.ts +2 -0
  694. package/decorator/columns/PrimaryColumn.js +2 -2
  695. package/decorator/columns/PrimaryColumn.js.map +1 -1
  696. package/decorator/columns/PrimaryGeneratedColumn.d.ts +4 -0
  697. package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  698. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  699. package/decorator/columns/UpdateDateColumn.d.ts +1 -0
  700. package/decorator/columns/UpdateDateColumn.js +2 -1
  701. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  702. package/decorator/columns/VersionColumn.d.ts +1 -0
  703. package/decorator/columns/VersionColumn.js +2 -1
  704. package/decorator/columns/VersionColumn.js.map +1 -1
  705. package/decorator/columns/ViewColumn.d.ts +1 -0
  706. package/decorator/columns/ViewColumn.js +2 -1
  707. package/decorator/columns/ViewColumn.js.map +1 -1
  708. package/decorator/columns/VirtualColumn.d.ts +2 -0
  709. package/decorator/columns/VirtualColumn.js +1 -0
  710. package/decorator/columns/VirtualColumn.js.map +1 -1
  711. package/decorator/entity/ChildEntity.d.ts +1 -0
  712. package/decorator/entity/ChildEntity.js +1 -0
  713. package/decorator/entity/ChildEntity.js.map +1 -1
  714. package/decorator/entity/Entity.d.ts +2 -0
  715. package/decorator/entity/Entity.js +7 -6
  716. package/decorator/entity/Entity.js.map +1 -1
  717. package/decorator/entity/TableInheritance.d.ts +1 -0
  718. package/decorator/entity/TableInheritance.js +3 -2
  719. package/decorator/entity/TableInheritance.js.map +1 -1
  720. package/decorator/entity-view/ViewEntity.d.ts +2 -0
  721. package/decorator/entity-view/ViewEntity.js +4 -3
  722. package/decorator/entity-view/ViewEntity.js.map +1 -1
  723. package/decorator/options/ColumnOptions.d.ts +3 -0
  724. package/decorator/options/ColumnOptions.js.map +1 -1
  725. package/decorator/options/EntityOptions.d.ts +1 -0
  726. package/decorator/options/EntityOptions.js.map +1 -1
  727. package/decorator/options/RelationOptions.d.ts +2 -0
  728. package/decorator/options/RelationOptions.js.map +1 -1
  729. package/decorator/options/VirtualColumnOptions.d.ts +1 -0
  730. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  731. package/decorator/relations/JoinColumn.d.ts +2 -0
  732. package/decorator/relations/JoinColumn.js +2 -1
  733. package/decorator/relations/JoinColumn.js.map +1 -1
  734. package/decorator/relations/JoinTable.d.ts +2 -0
  735. package/decorator/relations/JoinTable.js +5 -4
  736. package/decorator/relations/JoinTable.js.map +1 -1
  737. package/decorator/relations/ManyToMany.d.ts +2 -0
  738. package/decorator/relations/ManyToMany.js +2 -2
  739. package/decorator/relations/ManyToMany.js.map +1 -1
  740. package/decorator/relations/ManyToOne.d.ts +2 -0
  741. package/decorator/relations/ManyToOne.js +3 -3
  742. package/decorator/relations/ManyToOne.js.map +1 -1
  743. package/decorator/relations/OneToMany.d.ts +1 -0
  744. package/decorator/relations/OneToMany.js +3 -3
  745. package/decorator/relations/OneToMany.js.map +1 -1
  746. package/decorator/relations/OneToOne.d.ts +2 -0
  747. package/decorator/relations/OneToOne.js +3 -3
  748. package/decorator/relations/OneToOne.js.map +1 -1
  749. package/decorator/relations/RelationId.d.ts +1 -0
  750. package/decorator/relations/RelationId.js +1 -0
  751. package/decorator/relations/RelationId.js.map +1 -1
  752. package/decorator/tree/Tree.d.ts +1 -0
  753. package/decorator/tree/Tree.js +1 -0
  754. package/decorator/tree/Tree.js.map +1 -1
  755. package/decorator/tree/TreeChildren.d.ts +1 -0
  756. package/decorator/tree/TreeChildren.js +3 -3
  757. package/decorator/tree/TreeChildren.js.map +1 -1
  758. package/decorator/tree/TreeParent.d.ts +1 -0
  759. package/decorator/tree/TreeParent.js +3 -3
  760. package/decorator/tree/TreeParent.js.map +1 -1
  761. package/driver/Driver.d.ts +5 -0
  762. package/driver/Driver.js.map +1 -1
  763. package/driver/DriverFactory.d.ts +1 -0
  764. package/driver/DriverFactory.js +1 -0
  765. package/driver/DriverFactory.js.map +1 -1
  766. package/driver/DriverUtils.d.ts +7 -0
  767. package/driver/DriverUtils.js +34 -21
  768. package/driver/DriverUtils.js.map +1 -1
  769. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -0
  770. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  771. package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +1 -0
  772. package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -1
  773. package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +37 -0
  774. package/driver/aurora-mysql/AuroraMysqlDriver.js +53 -16
  775. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  776. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +64 -0
  777. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +90 -30
  778. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  779. package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +13 -0
  780. package/driver/aurora-postgres/AuroraPostgresDriver.js +26 -5
  781. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  782. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +3 -0
  783. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +27 -1
  784. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  785. package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +1 -0
  786. package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -1
  787. package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +3 -0
  788. package/driver/better-sqlite3/BetterSqlite3Driver.js +5 -3
  789. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  790. package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -0
  791. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
  792. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  793. package/driver/capacitor/CapacitorDriver.d.ts +1 -0
  794. package/driver/capacitor/CapacitorDriver.js +3 -3
  795. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  796. package/driver/capacitor/CapacitorQueryRunner.d.ts +2 -0
  797. package/driver/capacitor/CapacitorQueryRunner.js +4 -2
  798. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  799. package/driver/cockroachdb/CockroachDataSourceOptions.d.ts +1 -0
  800. package/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -1
  801. package/driver/cockroachdb/CockroachDriver.d.ts +35 -0
  802. package/driver/cockroachdb/CockroachDriver.js +64 -29
  803. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  804. package/driver/cockroachdb/CockroachQueryRunner.d.ts +74 -0
  805. package/driver/cockroachdb/CockroachQueryRunner.js +143 -119
  806. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  807. package/driver/cordova/CordovaDriver.d.ts +6 -0
  808. package/driver/cordova/CordovaDriver.js +14 -4
  809. package/driver/cordova/CordovaDriver.js.map +1 -1
  810. package/driver/cordova/CordovaQueryRunner.d.ts +2 -0
  811. package/driver/cordova/CordovaQueryRunner.js +3 -1
  812. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  813. package/driver/expo/ExpoDriver.js +1 -2
  814. package/driver/expo/ExpoDriver.js.map +1 -1
  815. package/driver/mongodb/MongoDriver.d.ts +25 -0
  816. package/driver/mongodb/MongoDriver.js +35 -6
  817. package/driver/mongodb/MongoDriver.js.map +1 -1
  818. package/driver/mongodb/MongoQueryRunner.d.ts +84 -0
  819. package/driver/mongodb/MongoQueryRunner.js +102 -18
  820. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  821. package/driver/mongodb/bson.typings.d.ts +1 -0
  822. package/driver/mongodb/bson.typings.js.map +1 -1
  823. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -0
  824. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  825. package/driver/mysql/MysqlDataSourceOptions.d.ts +2 -0
  826. package/driver/mysql/MysqlDataSourceOptions.js.map +1 -1
  827. package/driver/mysql/MysqlDriver.d.ts +37 -0
  828. package/driver/mysql/MysqlDriver.js +57 -17
  829. package/driver/mysql/MysqlDriver.js.map +1 -1
  830. package/driver/mysql/MysqlQueryRunner.d.ts +64 -0
  831. package/driver/mysql/MysqlQueryRunner.js +140 -111
  832. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  833. package/driver/nativescript/NativescriptDriver.d.ts +1 -0
  834. package/driver/nativescript/NativescriptDriver.js +3 -4
  835. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  836. package/driver/nativescript/NativescriptQueryRunner.d.ts +2 -0
  837. package/driver/nativescript/NativescriptQueryRunner.js +3 -1
  838. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  839. package/driver/oracle/OracleDriver.d.ts +32 -0
  840. package/driver/oracle/OracleDriver.js +48 -15
  841. package/driver/oracle/OracleDriver.js.map +1 -1
  842. package/driver/oracle/OracleQueryRunner.d.ts +66 -0
  843. package/driver/oracle/OracleQueryRunner.js +119 -83
  844. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  845. package/driver/postgres/PostgresDataSourceOptions.d.ts +2 -0
  846. package/driver/postgres/PostgresDataSourceOptions.js.map +1 -1
  847. package/driver/postgres/PostgresDriver.d.ts +37 -0
  848. package/driver/postgres/PostgresDriver.js +67 -31
  849. package/driver/postgres/PostgresDriver.js.map +1 -1
  850. package/driver/postgres/PostgresQueryRunner.d.ts +81 -0
  851. package/driver/postgres/PostgresQueryRunner.js +152 -121
  852. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  853. package/driver/react-native/ReactNativeDriver.d.ts +29 -0
  854. package/driver/react-native/ReactNativeDriver.js +45 -12
  855. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  856. package/driver/react-native/ReactNativeQueryRunner.d.ts +2 -0
  857. package/driver/react-native/ReactNativeQueryRunner.js +3 -1
  858. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  859. package/driver/sap/SapDataSourceOptions.d.ts +1 -0
  860. package/driver/sap/SapDataSourceOptions.js.map +1 -1
  861. package/driver/sap/SapDriver.d.ts +30 -0
  862. package/driver/sap/SapDriver.js +45 -11
  863. package/driver/sap/SapDriver.js.map +1 -1
  864. package/driver/sap/SapQueryRunner.d.ts +66 -0
  865. package/driver/sap/SapQueryRunner.js +101 -56
  866. package/driver/sap/SapQueryRunner.js.map +1 -1
  867. package/driver/spanner/SpannerDataSourceOptions.d.ts +1 -0
  868. package/driver/spanner/SpannerDataSourceOptions.js.map +1 -1
  869. package/driver/spanner/SpannerDriver.d.ts +33 -0
  870. package/driver/spanner/SpannerDriver.js +50 -10
  871. package/driver/spanner/SpannerDriver.js.map +1 -1
  872. package/driver/spanner/SpannerQueryRunner.d.ts +64 -0
  873. package/driver/spanner/SpannerQueryRunner.js +89 -32
  874. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  875. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +30 -0
  876. package/driver/sqlite-abstract/AbstractSqliteDriver.js +43 -77
  877. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  878. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +59 -0
  879. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +89 -45
  880. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  881. package/driver/sqljs/SqljsDriver.d.ts +5 -0
  882. package/driver/sqljs/SqljsDriver.js +8 -4
  883. package/driver/sqljs/SqljsDriver.js.map +1 -1
  884. package/driver/sqljs/SqljsQueryRunner.d.ts +1 -0
  885. package/driver/sqljs/SqljsQueryRunner.js +1 -0
  886. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  887. package/driver/sqlserver/MssqlParameter.d.ts +1 -0
  888. package/driver/sqlserver/MssqlParameter.js +1 -0
  889. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  890. package/driver/sqlserver/SqlServerDataSourceOptions.d.ts +14 -5
  891. package/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -1
  892. package/driver/sqlserver/SqlServerDriver.d.ts +42 -0
  893. package/driver/sqlserver/SqlServerDriver.js +100 -26
  894. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  895. package/driver/sqlserver/SqlServerQueryRunner.d.ts +76 -10
  896. package/driver/sqlserver/SqlServerQueryRunner.js +160 -163
  897. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  898. package/driver/types/IsolationLevel.d.ts +2 -1
  899. package/driver/types/IsolationLevel.js +8 -0
  900. package/driver/types/IsolationLevel.js.map +1 -1
  901. package/driver/validate-isolation-level.d.ts +9 -0
  902. package/driver/validate-isolation-level.js +23 -0
  903. package/driver/validate-isolation-level.js.map +1 -0
  904. package/entity-manager/EntityManager.d.ts +38 -1
  905. package/entity-manager/EntityManager.js +58 -12
  906. package/entity-manager/EntityManager.js.map +1 -1
  907. package/entity-manager/EntityManagerFactory.d.ts +1 -0
  908. package/entity-manager/EntityManagerFactory.js +1 -0
  909. package/entity-manager/EntityManagerFactory.js.map +1 -1
  910. package/entity-manager/MongoEntityManager.d.ts +54 -1
  911. package/entity-manager/MongoEntityManager.js +103 -12
  912. package/entity-manager/MongoEntityManager.js.map +1 -1
  913. package/entity-manager/SqljsEntityManager.d.ts +2 -0
  914. package/entity-manager/SqljsEntityManager.js +2 -0
  915. package/entity-manager/SqljsEntityManager.js.map +1 -1
  916. package/entity-schema/EntitySchemaColumnOptions.d.ts +1 -0
  917. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  918. package/entity-schema/EntitySchemaOptions.d.ts +1 -0
  919. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  920. package/entity-schema/EntitySchemaTransformer.d.ts +1 -0
  921. package/entity-schema/EntitySchemaTransformer.js +25 -26
  922. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  923. package/error/InitializedRelationError.d.ts +1 -0
  924. package/error/InitializedRelationError.js +1 -0
  925. package/error/InitializedRelationError.js.map +1 -1
  926. package/find-options/FindOptionsUtils.d.ts +7 -0
  927. package/find-options/FindOptionsUtils.js +7 -0
  928. package/find-options/FindOptionsUtils.js.map +1 -1
  929. package/find-options/OrderByCondition.d.ts +2 -1
  930. package/find-options/OrderByCondition.js.map +1 -1
  931. package/find-options/operator/Any.d.ts +4 -1
  932. package/find-options/operator/Any.js +4 -1
  933. package/find-options/operator/Any.js.map +1 -1
  934. package/find-options/operator/ArrayContainedBy.d.ts +4 -1
  935. package/find-options/operator/ArrayContainedBy.js +4 -1
  936. package/find-options/operator/ArrayContainedBy.js.map +1 -1
  937. package/find-options/operator/ArrayContains.d.ts +4 -1
  938. package/find-options/operator/ArrayContains.js +4 -1
  939. package/find-options/operator/ArrayContains.js.map +1 -1
  940. package/find-options/operator/ArrayOverlap.d.ts +4 -1
  941. package/find-options/operator/ArrayOverlap.js +4 -1
  942. package/find-options/operator/ArrayOverlap.js.map +1 -1
  943. package/find-options/operator/Between.d.ts +4 -1
  944. package/find-options/operator/Between.js +4 -1
  945. package/find-options/operator/Between.js.map +1 -1
  946. package/find-options/operator/Equal.d.ts +6 -3
  947. package/find-options/operator/Equal.js +6 -3
  948. package/find-options/operator/Equal.js.map +1 -1
  949. package/find-options/operator/ILike.d.ts +4 -1
  950. package/find-options/operator/ILike.js +4 -1
  951. package/find-options/operator/ILike.js.map +1 -1
  952. package/find-options/operator/In.d.ts +4 -1
  953. package/find-options/operator/In.js +4 -1
  954. package/find-options/operator/In.js.map +1 -1
  955. package/find-options/operator/IsNull.d.ts +4 -1
  956. package/find-options/operator/IsNull.js +4 -1
  957. package/find-options/operator/IsNull.js.map +1 -1
  958. package/find-options/operator/JsonContains.d.ts +4 -1
  959. package/find-options/operator/JsonContains.js +4 -1
  960. package/find-options/operator/JsonContains.js.map +1 -1
  961. package/find-options/operator/LessThan.d.ts +4 -1
  962. package/find-options/operator/LessThan.js +4 -1
  963. package/find-options/operator/LessThan.js.map +1 -1
  964. package/find-options/operator/LessThanOrEqual.d.ts +4 -1
  965. package/find-options/operator/LessThanOrEqual.js +4 -1
  966. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  967. package/find-options/operator/Like.d.ts +4 -1
  968. package/find-options/operator/Like.js +4 -1
  969. package/find-options/operator/Like.js.map +1 -1
  970. package/find-options/operator/MoreThan.d.ts +4 -1
  971. package/find-options/operator/MoreThan.js +4 -1
  972. package/find-options/operator/MoreThan.js.map +1 -1
  973. package/find-options/operator/MoreThanOrEqual.d.ts +4 -1
  974. package/find-options/operator/MoreThanOrEqual.js +4 -1
  975. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  976. package/find-options/operator/Not.d.ts +4 -1
  977. package/find-options/operator/Not.js +4 -1
  978. package/find-options/operator/Not.js.map +1 -1
  979. package/find-options/operator/Raw.d.ts +12 -3
  980. package/find-options/operator/Raw.js.map +1 -1
  981. package/globals.js +1 -2
  982. package/globals.js.map +1 -1
  983. package/logger/AbstractLogger.d.ts +9 -0
  984. package/logger/AbstractLogger.js +10 -2
  985. package/logger/AbstractLogger.js.map +1 -1
  986. package/logger/AdvancedConsoleLogger.d.ts +1 -0
  987. package/logger/AdvancedConsoleLogger.js +1 -0
  988. package/logger/AdvancedConsoleLogger.js.map +1 -1
  989. package/logger/DebugLogger.d.ts +2 -0
  990. package/logger/DebugLogger.js +3 -1
  991. package/logger/DebugLogger.js.map +1 -1
  992. package/logger/FileLogger.d.ts +13 -2
  993. package/logger/FileLogger.js +4 -5
  994. package/logger/FileLogger.js.map +1 -1
  995. package/logger/FormattedConsoleLogger.d.ts +1 -0
  996. package/logger/FormattedConsoleLogger.js +1 -0
  997. package/logger/FormattedConsoleLogger.js.map +1 -1
  998. package/logger/LoggerFactory.d.ts +1 -0
  999. package/logger/LoggerFactory.js +1 -0
  1000. package/logger/LoggerFactory.js.map +1 -1
  1001. package/logger/LoggerOptions.d.ts +0 -9
  1002. package/logger/LoggerOptions.js.map +1 -1
  1003. package/logger/SimpleConsoleLogger.d.ts +1 -0
  1004. package/logger/SimpleConsoleLogger.js +1 -0
  1005. package/logger/SimpleConsoleLogger.js.map +1 -1
  1006. package/metadata/CheckMetadata.d.ts +1 -0
  1007. package/metadata/CheckMetadata.js +4 -3
  1008. package/metadata/CheckMetadata.js.map +1 -1
  1009. package/metadata/ColumnMetadata.d.ts +8 -5
  1010. package/metadata/ColumnMetadata.js +17 -25
  1011. package/metadata/ColumnMetadata.js.map +1 -1
  1012. package/metadata/EmbeddedMetadata.d.ts +1 -0
  1013. package/metadata/EmbeddedMetadata.js +1 -0
  1014. package/metadata/EmbeddedMetadata.js.map +1 -1
  1015. package/metadata/EntityListenerMetadata.d.ts +3 -0
  1016. package/metadata/EntityListenerMetadata.js +3 -0
  1017. package/metadata/EntityListenerMetadata.js.map +1 -1
  1018. package/metadata/EntityMetadata.d.ts +25 -5
  1019. package/metadata/EntityMetadata.js +32 -12
  1020. package/metadata/EntityMetadata.js.map +1 -1
  1021. package/metadata/ExclusionMetadata.d.ts +1 -0
  1022. package/metadata/ExclusionMetadata.js +4 -3
  1023. package/metadata/ExclusionMetadata.js.map +1 -1
  1024. package/metadata/ForeignKeyMetadata.d.ts +1 -0
  1025. package/metadata/ForeignKeyMetadata.js +6 -5
  1026. package/metadata/ForeignKeyMetadata.js.map +1 -1
  1027. package/metadata/IndexMetadata.d.ts +1 -0
  1028. package/metadata/IndexMetadata.js +4 -3
  1029. package/metadata/IndexMetadata.js.map +1 -1
  1030. package/metadata/RelationIdMetadata.d.ts +1 -0
  1031. package/metadata/RelationIdMetadata.js +1 -0
  1032. package/metadata/RelationIdMetadata.js.map +1 -1
  1033. package/metadata/RelationMetadata.d.ts +8 -0
  1034. package/metadata/RelationMetadata.js +15 -15
  1035. package/metadata/RelationMetadata.js.map +1 -1
  1036. package/metadata/UniqueMetadata.d.ts +1 -0
  1037. package/metadata/UniqueMetadata.js +4 -3
  1038. package/metadata/UniqueMetadata.js.map +1 -1
  1039. package/metadata-args/MetadataArgsStorage.d.ts +4 -0
  1040. package/metadata-args/MetadataArgsStorage.js +4 -0
  1041. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  1042. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -0
  1043. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +7 -11
  1044. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  1045. package/metadata-builder/EntityMetadataBuilder.d.ts +7 -0
  1046. package/metadata-builder/EntityMetadataBuilder.js +11 -6
  1047. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  1048. package/metadata-builder/EntityMetadataValidator.d.ts +4 -0
  1049. package/metadata-builder/EntityMetadataValidator.js +6 -43
  1050. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  1051. package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -0
  1052. package/metadata-builder/JunctionEntityMetadataBuilder.js +39 -20
  1053. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  1054. package/metadata-builder/MetadataUtils.d.ts +3 -0
  1055. package/metadata-builder/MetadataUtils.js +4 -1
  1056. package/metadata-builder/MetadataUtils.js.map +1 -1
  1057. package/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -0
  1058. package/metadata-builder/RelationJoinColumnBuilder.js +17 -1
  1059. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  1060. package/migration/MigrationExecutor.d.ts +9 -0
  1061. package/migration/MigrationExecutor.js +16 -7
  1062. package/migration/MigrationExecutor.js.map +1 -1
  1063. package/naming-strategy/DefaultNamingStrategy.d.ts +3 -0
  1064. package/naming-strategy/DefaultNamingStrategy.js +13 -10
  1065. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  1066. package/naming-strategy/NamingStrategyInterface.d.ts +2 -0
  1067. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  1068. package/package.json +6 -2
  1069. package/persistence/EntityPersistExecutor.js +2 -4
  1070. package/persistence/EntityPersistExecutor.js.map +1 -1
  1071. package/persistence/Subject.js +4 -6
  1072. package/persistence/Subject.js.map +1 -1
  1073. package/persistence/SubjectChangedColumnsComputer.d.ts +3 -0
  1074. package/persistence/SubjectChangedColumnsComputer.js +3 -0
  1075. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  1076. package/persistence/SubjectDatabaseEntityLoader.d.ts +1 -0
  1077. package/persistence/SubjectDatabaseEntityLoader.js +3 -1
  1078. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  1079. package/persistence/SubjectExecutor.d.ts +2 -0
  1080. package/persistence/SubjectExecutor.js +15 -27
  1081. package/persistence/SubjectExecutor.js.map +1 -1
  1082. package/persistence/SubjectTopologicalSorter.d.ts +4 -0
  1083. package/persistence/SubjectTopologicalSorter.js +4 -0
  1084. package/persistence/SubjectTopologicalSorter.js.map +1 -1
  1085. package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +2 -0
  1086. package/persistence/subject-builder/CascadesSubjectBuilder.js +37 -11
  1087. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  1088. package/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +11 -8
  1089. package/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -13
  1090. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  1091. package/persistence/subject-builder/OneToManySubjectBuilder.d.ts +9 -10
  1092. package/persistence/subject-builder/OneToManySubjectBuilder.js +30 -24
  1093. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1094. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +9 -10
  1095. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +9 -10
  1096. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1097. package/persistence/tree/ClosureSubjectExecutor.d.ts +4 -0
  1098. package/persistence/tree/ClosureSubjectExecutor.js +10 -8
  1099. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1100. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -0
  1101. package/persistence/tree/MaterializedPathSubjectExecutor.js +8 -6
  1102. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1103. package/persistence/tree/NestedSetSubjectExecutor.d.ts +5 -0
  1104. package/persistence/tree/NestedSetSubjectExecutor.js +10 -5
  1105. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1106. package/platform/PlatformTools.d.ts +9 -0
  1107. package/platform/PlatformTools.js +10 -1
  1108. package/platform/PlatformTools.js.map +1 -1
  1109. package/query-builder/Alias.js +1 -1
  1110. package/query-builder/Alias.js.map +1 -1
  1111. package/query-builder/Brackets.d.ts +1 -0
  1112. package/query-builder/Brackets.js +1 -0
  1113. package/query-builder/Brackets.js.map +1 -1
  1114. package/query-builder/DeleteQueryBuilder.d.ts +7 -0
  1115. package/query-builder/DeleteQueryBuilder.js +9 -0
  1116. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1117. package/query-builder/InsertQueryBuilder.d.ts +9 -0
  1118. package/query-builder/InsertQueryBuilder.js +14 -8
  1119. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1120. package/query-builder/JoinAttribute.js +3 -3
  1121. package/query-builder/JoinAttribute.js.map +1 -1
  1122. package/query-builder/QueryBuilder.d.ts +25 -4
  1123. package/query-builder/QueryBuilder.js +58 -15
  1124. package/query-builder/QueryBuilder.js.map +1 -1
  1125. package/query-builder/QueryBuilderUtils.d.ts +1 -0
  1126. package/query-builder/QueryBuilderUtils.js +1 -0
  1127. package/query-builder/QueryBuilderUtils.js.map +1 -1
  1128. package/query-builder/QueryExpressionMap.d.ts +5 -0
  1129. package/query-builder/QueryExpressionMap.js +4 -1
  1130. package/query-builder/QueryExpressionMap.js.map +1 -1
  1131. package/query-builder/RelationIdLoader.d.ts +6 -35
  1132. package/query-builder/RelationIdLoader.js +19 -43
  1133. package/query-builder/RelationIdLoader.js.map +1 -1
  1134. package/query-builder/RelationLoader.d.ts +11 -2
  1135. package/query-builder/RelationLoader.js +20 -17
  1136. package/query-builder/RelationLoader.js.map +1 -1
  1137. package/query-builder/RelationQueryBuilder.d.ts +5 -0
  1138. package/query-builder/RelationQueryBuilder.js +5 -0
  1139. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1140. package/query-builder/RelationRemover.d.ts +1 -0
  1141. package/query-builder/RelationRemover.js +1 -0
  1142. package/query-builder/RelationRemover.js.map +1 -1
  1143. package/query-builder/RelationUpdater.d.ts +1 -0
  1144. package/query-builder/RelationUpdater.js +1 -0
  1145. package/query-builder/RelationUpdater.js.map +1 -1
  1146. package/query-builder/ReturningResultsEntityUpdator.d.ts +2 -0
  1147. package/query-builder/ReturningResultsEntityUpdator.js +3 -1
  1148. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1149. package/query-builder/SelectQueryBuilder.d.ts +31 -8
  1150. package/query-builder/SelectQueryBuilder.js +98 -70
  1151. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1152. package/query-builder/SoftDeleteQueryBuilder.d.ts +11 -0
  1153. package/query-builder/SoftDeleteQueryBuilder.js +17 -0
  1154. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1155. package/query-builder/UpdateQueryBuilder.d.ts +11 -0
  1156. package/query-builder/UpdateQueryBuilder.js +18 -1
  1157. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1158. package/query-builder/relation-id/RelationIdAttribute.js +5 -5
  1159. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1160. package/query-builder/relation-id/RelationIdLoader.d.ts +2 -1
  1161. package/query-builder/relation-id/RelationIdLoader.js +6 -3
  1162. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1163. package/query-builder/transformer/DocumentToEntityTransformer.js +3 -16
  1164. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1165. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +2 -4
  1166. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1167. package/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +1 -0
  1168. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  1169. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1170. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +6 -0
  1171. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -7
  1172. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1173. package/query-runner/BaseQueryRunner.d.ts +21 -1
  1174. package/query-runner/BaseQueryRunner.js +36 -49
  1175. package/query-runner/BaseQueryRunner.js.map +1 -1
  1176. package/query-runner/QueryRunner.d.ts +5 -1
  1177. package/query-runner/QueryRunner.js.map +1 -1
  1178. package/repository/BaseEntity.d.ts +32 -0
  1179. package/repository/BaseEntity.js +36 -0
  1180. package/repository/BaseEntity.js.map +1 -1
  1181. package/repository/MongoRepository.d.ts +39 -0
  1182. package/repository/MongoRepository.js +41 -2
  1183. package/repository/MongoRepository.js.map +1 -1
  1184. package/repository/Repository.d.ts +37 -1
  1185. package/repository/Repository.js +43 -2
  1186. package/repository/Repository.js.map +1 -1
  1187. package/repository/TreeRepository.d.ts +11 -0
  1188. package/repository/TreeRepository.js +12 -1
  1189. package/repository/TreeRepository.js.map +1 -1
  1190. package/schema-builder/RdbmsSchemaBuilder.d.ts +6 -4
  1191. package/schema-builder/RdbmsSchemaBuilder.js +10 -13
  1192. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1193. package/schema-builder/table/Table.d.ts +17 -0
  1194. package/schema-builder/table/Table.js +19 -2
  1195. package/schema-builder/table/Table.js.map +1 -1
  1196. package/schema-builder/table/TableCheck.d.ts +1 -0
  1197. package/schema-builder/table/TableCheck.js +1 -0
  1198. package/schema-builder/table/TableCheck.js.map +1 -1
  1199. package/schema-builder/table/TableColumn.js +7 -7
  1200. package/schema-builder/table/TableColumn.js.map +1 -1
  1201. package/schema-builder/table/TableExclusion.d.ts +1 -0
  1202. package/schema-builder/table/TableExclusion.js +1 -0
  1203. package/schema-builder/table/TableExclusion.js.map +1 -1
  1204. package/schema-builder/table/TableForeignKey.d.ts +1 -0
  1205. package/schema-builder/table/TableForeignKey.js +1 -0
  1206. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1207. package/schema-builder/table/TableIndex.d.ts +1 -0
  1208. package/schema-builder/table/TableIndex.js +2 -1
  1209. package/schema-builder/table/TableIndex.js.map +1 -1
  1210. package/schema-builder/table/TableUnique.d.ts +1 -0
  1211. package/schema-builder/table/TableUnique.js +1 -0
  1212. package/schema-builder/table/TableUnique.js.map +1 -1
  1213. package/schema-builder/util/ViewUtils.d.ts +1 -0
  1214. package/schema-builder/util/ViewUtils.js +1 -0
  1215. package/schema-builder/util/ViewUtils.js.map +1 -1
  1216. package/schema-builder/view/View.d.ts +3 -0
  1217. package/schema-builder/view/View.js +3 -0
  1218. package/schema-builder/view/View.js.map +1 -1
  1219. package/subscriber/Broadcaster.d.ts +20 -0
  1220. package/subscriber/Broadcaster.js +25 -6
  1221. package/subscriber/Broadcaster.js.map +1 -1
  1222. package/subscriber/event/BaseEvent.d.ts +1 -0
  1223. package/subscriber/event/BaseEvent.js.map +1 -1
  1224. package/util/DateUtils.d.ts +15 -0
  1225. package/util/DateUtils.js +15 -0
  1226. package/util/DateUtils.js.map +1 -1
  1227. package/util/DepGraph.d.ts +10 -0
  1228. package/util/DepGraph.js +11 -0
  1229. package/util/DepGraph.js.map +1 -1
  1230. package/util/DirectoryExportedClassesLoader.d.ts +1 -0
  1231. package/util/DirectoryExportedClassesLoader.js +1 -0
  1232. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1233. package/util/ObjectUtils.d.ts +6 -0
  1234. package/util/ObjectUtils.js +4 -0
  1235. package/util/ObjectUtils.js.map +1 -1
  1236. package/util/OrmUtils.d.ts +14 -0
  1237. package/util/OrmUtils.js +18 -6
  1238. package/util/OrmUtils.js.map +1 -1
  1239. package/util/PathUtils.d.ts +2 -0
  1240. package/util/PathUtils.js +2 -0
  1241. package/util/PathUtils.js.map +1 -1
  1242. package/util/RandomGenerator.d.ts +2 -0
  1243. package/util/RandomGenerator.js +2 -0
  1244. package/util/RandomGenerator.js.map +1 -1
  1245. package/util/StringUtils.d.ts +11 -4
  1246. package/util/StringUtils.js +15 -7
  1247. package/util/StringUtils.js.map +1 -1
  1248. package/util/TreeRepositoryUtils.js +2 -2
  1249. package/util/TreeRepositoryUtils.js.map +1 -1
@@ -144,11 +144,6 @@ class RelationMetadata {
144
144
  if (args.inverseSideProperty)
145
145
  this.givenInverseSidePropertyFactory = args.inverseSideProperty;
146
146
  this.isLazy = args.isLazy || false;
147
- // this.isCascadeInsert = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf("insert") !== -1);
148
- // this.isCascadeUpdate = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf("update") !== -1);
149
- // this.isCascadeRemove = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf("remove") !== -1);
150
- // this.isCascadeSoftRemove = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf("soft-remove") !== -1);
151
- // this.isCascadeRecover = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf("recover") !== -1);
152
147
  this.isCascadeInsert =
153
148
  args.options.cascade === true ||
154
149
  (Array.isArray(args.options.cascade) &&
@@ -169,7 +164,6 @@ class RelationMetadata {
169
164
  args.options.cascade === true ||
170
165
  (Array.isArray(args.options.cascade) &&
171
166
  args.options.cascade.indexOf("recover") !== -1);
172
- // this.isPrimary = args.options.primary || false;
173
167
  this.isNullable =
174
168
  args.options.nullable === false || this.isPrimary ? false : true;
175
169
  this.onDelete = args.options.onDelete;
@@ -177,12 +171,12 @@ class RelationMetadata {
177
171
  this.deferrable = args.options.deferrable;
178
172
  this.createForeignKeyConstraints =
179
173
  args.options.createForeignKeyConstraints === false ? false : true;
180
- this.isEager = args.options.eager || false;
174
+ this.isEager = args.options.eager ?? false;
181
175
  this.persistenceEnabled =
182
176
  args.options.persistence === false ? false : true;
183
- this.orphanedRowAction = args.options.orphanedRowAction || "nullify";
184
- this.isTreeParent = args.isTreeParent || false;
185
- this.isTreeChildren = args.isTreeChildren || false;
177
+ this.orphanedRowAction = args.options.orphanedRowAction ?? "nullify";
178
+ this.isTreeParent = args.isTreeParent ?? false;
179
+ this.isTreeChildren = args.isTreeChildren ?? false;
186
180
  if (typeof args.type === "function") {
187
181
  this.type =
188
182
  typeof args.type === "function"
@@ -211,6 +205,7 @@ class RelationMetadata {
211
205
  // ---------------------------------------------------------------------
212
206
  /**
213
207
  * Creates join column ids map from the given related entity ids array.
208
+ *
214
209
  * @param entity
215
210
  */
216
211
  getRelationIdMap(entity) {
@@ -227,6 +222,7 @@ class RelationMetadata {
227
222
  * If given id is an object then it means its already id map.
228
223
  * If given id isn't an object then it means its a value of the id column
229
224
  * and it creates a new id map with this value and name of the primary column.
225
+ *
230
226
  * @param id
231
227
  */
232
228
  ensureRelationIdMap(id) {
@@ -243,6 +239,7 @@ class RelationMetadata {
243
239
  /**
244
240
  * Extracts column value from the given entity.
245
241
  * If column is in embedded (or recursive embedded) it extracts its value from there.
242
+ *
246
243
  * @param entity
247
244
  * @param getLazyRelationsPromiseValue
248
245
  */
@@ -300,6 +297,7 @@ class RelationMetadata {
300
297
  * Using of this method helps to set entity relation's value of the lazy and non-lazy relations.
301
298
  *
302
299
  * If merge is set to true, it merges given value into currently
300
+ *
303
301
  * @param entity
304
302
  * @param value
305
303
  */
@@ -314,9 +312,8 @@ class RelationMetadata {
314
312
  // object[embeddedMetadata.propertyName] = embeddedMetadata.create();
315
313
  const embeddedMetadata = embeddedMetadatas.shift();
316
314
  if (embeddedMetadata) {
317
- if (!map[embeddedMetadata.propertyName])
318
- map[embeddedMetadata.propertyName] =
319
- embeddedMetadata.create();
315
+ map[embeddedMetadata.propertyName] ??=
316
+ embeddedMetadata.create();
320
317
  extractEmbeddedColumnValue(embeddedMetadatas, map[embeddedMetadata.propertyName]);
321
318
  return map;
322
319
  }
@@ -336,6 +333,7 @@ class RelationMetadata {
336
333
  }
337
334
  /**
338
335
  * Creates entity id map from the given entity ids array.
336
+ *
339
337
  * @param value
340
338
  */
341
339
  createValueMap(value) {
@@ -381,6 +379,7 @@ class RelationMetadata {
381
379
  /**
382
380
  * Registers given foreign keys in the relation.
383
381
  * This builder method should be used to register foreign key in the relation.
382
+ *
384
383
  * @param foreignKeys
385
384
  */
386
385
  registerForeignKeys(...foreignKeys) {
@@ -389,6 +388,7 @@ class RelationMetadata {
389
388
  /**
390
389
  * Registers given join columns in the relation.
391
390
  * This builder method should be used to register join column in the relation.
391
+ *
392
392
  * @param joinColumns
393
393
  * @param inverseJoinColumns
394
394
  */
@@ -408,6 +408,7 @@ class RelationMetadata {
408
408
  /**
409
409
  * Registers a given junction entity metadata.
410
410
  * This builder method can be called after junction entity metadata for the many-to-many relation was created.
411
+ *
411
412
  * @param junctionEntityMetadata
412
413
  */
413
414
  registerJunctionEntityMetadata(junctionEntityMetadata) {
@@ -444,8 +445,7 @@ class RelationMetadata {
444
445
  * Builds relation's property path based on its embedded tree.
445
446
  */
446
447
  buildPropertyPath() {
447
- if (!this.embeddedMetadata ||
448
- !this.embeddedMetadata.parentPropertyNames.length)
448
+ if (!this.embeddedMetadata?.parentPropertyNames.length)
449
449
  return this.propertyName;
450
450
  return (this.embeddedMetadata.parentPropertyNames.join(".") +
451
451
  "." +
@@ -1 +1 @@
1
- {"version":3,"file":"RelationMetadata.js","sourceRoot":"../build/browser/src/","sources":["metadata/RelationMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RelationType } from \"./types/RelationTypes\"\nimport { EntityMetadata } from \"./EntityMetadata\"\nimport type { ForeignKeyMetadata } from \"./ForeignKeyMetadata\"\nimport type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport type { ColumnMetadata } from \"./ColumnMetadata\"\nimport type { EmbeddedMetadata } from \"./EmbeddedMetadata\"\nimport type { RelationMetadataArgs } from \"../metadata-args/RelationMetadataArgs\"\nimport type { DeferrableType } from \"./types/DeferrableType\"\nimport type { OnUpdateType } from \"./types/OnUpdateType\"\nimport type { OnDeleteType } from \"./types/OnDeleteType\"\nimport type { PropertyTypeFactory } from \"./types/PropertyTypeInFunction\"\nimport { TypeORMError } from \"../error\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { OrmUtils } from \"../util/OrmUtils\"\n\n/**\n * Contains all information about some entity's relation.\n */\nexport class RelationMetadata {\n // ---------------------------------------------------------------------\n // Public Properties\n // ---------------------------------------------------------------------\n\n /**\n * Entity metadata of the entity where this relation is placed.\n *\n * For example for `@ManyToMany(type => Category)` in `Post`, `entityMetadata` will be metadata of `Post` entity.\n */\n entityMetadata: EntityMetadata\n\n /**\n * Entity metadata of the entity that is targeted by this relation.\n *\n * For example for `@ManyToMany(type => Category)` in `Post`, `inverseEntityMetadata` will be metadata of `Category` entity.\n */\n inverseEntityMetadata: EntityMetadata\n\n /**\n * Entity metadata of the junction table.\n * Junction tables have their own entity metadata objects.\n * Defined only for many-to-many relations.\n */\n junctionEntityMetadata?: EntityMetadata\n\n /**\n * Embedded metadata where this relation is.\n * If this relation is not in embed then this property value is undefined.\n */\n embeddedMetadata?: EmbeddedMetadata\n\n /**\n * Relation type, e.g. is it one-to-one, one-to-many, many-to-one or many-to-many.\n */\n relationType: RelationType\n\n /**\n * Target entity to which this relation is applied.\n * Target IS NOT equal to entityMetadata.target, because relation\n *\n * For example for `@ManyToMany(type => Category)` in `Post`, `target` will be `Post`.\n * If `@ManyToMany(type => Category)` is in `Counters` which is embedded into `Post`, `target` will be `Counters`.\n * If `@ManyToMany(type => Category)` is in abstract class `BaseUser` which `Post` extends, `target` will be `BaseUser`.\n * Target can be string if its defined in entity schema instead of class.\n */\n target: Function | string\n\n /**\n * Target's property name to which relation decorator is applied.\n */\n propertyName: string\n\n /**\n * Gets full path to this column property (including relation name).\n * Full path is relevant when column is used in embeds (one or multiple nested).\n * For example it will return \"counters.subcounters.likes\".\n * If property is not in embeds then it returns just property name of the column.\n */\n propertyPath: string\n\n /**\n * Indicates if this is a parent (can be only many-to-one relation) relation in the tree tables.\n */\n isTreeParent: boolean = false\n\n /**\n * Indicates if this is a children (can be only one-to-many relation) relation in the tree tables.\n */\n isTreeChildren: boolean = false\n\n /**\n * Indicates if this relation's column is a primary key.\n * Can be used only for many-to-one and owner one-to-one relations.\n */\n isPrimary: boolean = false\n\n /**\n * Indicates if this relation is lazily loaded.\n */\n isLazy: boolean = false\n\n /**\n * Indicates if this relation is eagerly loaded.\n */\n isEager: boolean = false\n\n /**\n * Indicates if persistence is enabled for the relation.\n * By default its enabled, but if you want to avoid any changes in the relation to be reflected in the database you can disable it.\n * If its disabled you can only change a relation from inverse side of a relation or using relation query builder functionality.\n * This is useful for performance optimization since its disabling avoid multiple extra queries during entity save.\n */\n persistenceEnabled: boolean = true\n\n /**\n * When a parent is saved (with cascading but) without a child row that still exists in database, this will control what shall happen to them.\n * delete will remove these rows from database. nullify will remove the relation key.\n * skip will keep the relation intact. Removal of related item is only possible through its own repo.\n */\n orphanedRowAction?: \"nullify\" | \"delete\" | \"soft-delete\" | \"disable\"\n\n /**\n * If set to true then related objects are allowed to be inserted to the database.\n */\n isCascadeInsert: boolean = false\n\n /**\n * If set to true then related objects are allowed to be updated in the database.\n */\n isCascadeUpdate: boolean = false\n\n /**\n * If set to true then related objects are allowed to be remove from the database.\n */\n isCascadeRemove: boolean = false\n\n /**\n * If set to true then related objects are allowed to be soft-removed from the database.\n */\n isCascadeSoftRemove: boolean = false\n\n /**\n * If set to true then related objects are allowed to be recovered from the database.\n */\n isCascadeRecover: boolean = false\n\n /**\n * Indicates if relation column value can be nullable or not.\n */\n isNullable: boolean = true\n\n /**\n * What to do with a relation on deletion of the row containing a foreign key.\n */\n onDelete?: OnDeleteType\n\n /**\n * What to do with a relation on update of the row containing a foreign key.\n */\n onUpdate?: OnUpdateType\n\n /**\n * What to do with a relation on update of the row containing a foreign key.\n */\n deferrable?: DeferrableType\n\n /**\n * Indicates whether foreign key constraints will be created for join columns.\n * Can be used only for many-to-one and owner one-to-one relations.\n * Defaults to true.\n */\n createForeignKeyConstraints: boolean = true\n\n /**\n * Gets the property's type to which this relation is applied.\n *\n * For example for `@ManyToMany(type => Category)` in `Post`, `type` will be `Category`.\n */\n type: Function | string\n\n /**\n * Indicates if this side is an owner of this relation.\n */\n isOwning: boolean = false\n\n /**\n * Checks if this relation's type is \"one-to-one\".\n */\n isOneToOne: boolean = false\n\n /**\n * Checks if this relation is owner side of the \"one-to-one\" relation.\n * Owner side means this side of relation has a join column in the table.\n */\n isOneToOneOwner: boolean = false\n\n /**\n * Checks if this relation has a join column (e.g. is it many-to-one or one-to-one owner side).\n */\n isWithJoinColumn: boolean = false\n\n /**\n * Checks if this relation is NOT owner side of the \"one-to-one\" relation.\n * NOT owner side means this side of relation does not have a join column in the table.\n */\n isOneToOneNotOwner: boolean = false\n\n /**\n * Checks if this relation's type is \"one-to-many\".\n */\n isOneToMany: boolean = false\n\n /**\n * Checks if this relation's type is \"many-to-one\".\n */\n isManyToOne: boolean = false\n\n /**\n * Checks if this relation's type is \"many-to-many\".\n */\n isManyToMany: boolean = false\n\n /**\n * Checks if this relation's type is \"many-to-many\", and is owner side of the relationship.\n * Owner side means this side of relation has a join table.\n */\n isManyToManyOwner: boolean = false\n\n /**\n * Checks if this relation's type is \"many-to-many\", and is NOT owner side of the relationship.\n * Not owner side means this side of relation does not have a join table.\n */\n isManyToManyNotOwner: boolean = false\n\n /**\n * Gets the property path of the inverse side of the relation.\n */\n inverseSidePropertyPath: string\n\n /**\n * Inverse side of the relation set by user.\n *\n * Inverse side set in the relation can be either string - property name of the column on inverse side,\n * either can be a function that accepts a map of properties with the object and returns one of them.\n * Second approach is used to achieve type-safety.\n */\n givenInverseSidePropertyFactory: PropertyTypeFactory<any>\n\n /**\n * Gets the relation metadata of the inverse side of this relation.\n */\n inverseRelation?: RelationMetadata\n\n /**\n * Join table name.\n */\n joinTableName: string\n\n /**\n * Foreign keys created for this relation.\n */\n foreignKeys: ForeignKeyMetadata[] = []\n\n /**\n * Join table columns.\n * Join columns can be obtained only from owner side of the relation.\n * From non-owner side of the relation join columns will be empty.\n * If this relation is a many-to-one/one-to-one then it takes join columns from the current entity.\n * If this relation is many-to-many then it takes all owner join columns from the junction entity.\n */\n joinColumns: ColumnMetadata[] = []\n\n /**\n * Inverse join table columns.\n * Inverse join columns are supported only for many-to-many relations\n * and can be obtained only from owner side of the relation.\n * From non-owner side of the relation join columns will be undefined.\n */\n inverseJoinColumns: ColumnMetadata[] = []\n\n // ---------------------------------------------------------------------\n // Constructor\n // ---------------------------------------------------------------------\n\n constructor(options: {\n entityMetadata: EntityMetadata\n embeddedMetadata?: EmbeddedMetadata\n args: RelationMetadataArgs\n }) {\n this.entityMetadata = options.entityMetadata\n this.embeddedMetadata = options.embeddedMetadata!\n const args = options.args\n this.target = args.target\n this.propertyName = args.propertyName\n this.relationType = args.relationType\n\n if (args.inverseSideProperty)\n this.givenInverseSidePropertyFactory = args.inverseSideProperty\n\n this.isLazy = args.isLazy || false\n // this.isCascadeInsert = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf(\"insert\") !== -1);\n // this.isCascadeUpdate = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf(\"update\") !== -1);\n // this.isCascadeRemove = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf(\"remove\") !== -1);\n // this.isCascadeSoftRemove = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf(\"soft-remove\") !== -1);\n // this.isCascadeRecover = args.options.cascade === true || (args.options.cascade instanceof Array && args.options.cascade.indexOf(\"recover\") !== -1);\n this.isCascadeInsert =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"insert\") !== -1)\n this.isCascadeUpdate =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"update\") !== -1)\n this.isCascadeRemove =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"remove\") !== -1)\n this.isCascadeSoftRemove =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"soft-remove\") !== -1)\n this.isCascadeRecover =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"recover\") !== -1)\n // this.isPrimary = args.options.primary || false;\n this.isNullable =\n args.options.nullable === false || this.isPrimary ? false : true\n this.onDelete = args.options.onDelete\n this.onUpdate = args.options.onUpdate\n this.deferrable = args.options.deferrable\n this.createForeignKeyConstraints =\n args.options.createForeignKeyConstraints === false ? false : true\n this.isEager = args.options.eager || false\n this.persistenceEnabled =\n args.options.persistence === false ? false : true\n this.orphanedRowAction = args.options.orphanedRowAction || \"nullify\"\n this.isTreeParent = args.isTreeParent || false\n this.isTreeChildren = args.isTreeChildren || false\n\n if (typeof args.type === \"function\") {\n this.type =\n typeof args.type === \"function\"\n ? (args.type as () => any)()\n : args.type\n } else if (InstanceChecker.isEntitySchema(args.type)) {\n this.type = args.type.options.name\n } else if (\n ObjectUtils.isObject(args.type) &&\n typeof (args.type as any).name === \"string\"\n ) {\n this.type = (args.type as any).name\n } else {\n this.type = args.type as string | Function\n }\n\n this.isOneToOne = this.relationType === \"one-to-one\"\n this.isOneToMany = this.relationType === \"one-to-many\"\n this.isManyToOne = this.relationType === \"many-to-one\"\n this.isManyToMany = this.relationType === \"many-to-many\"\n this.isOneToOneNotOwner = this.isOneToOne ? true : false\n this.isManyToManyNotOwner = this.isManyToMany ? true : false\n }\n\n // ---------------------------------------------------------------------\n // Public Methods\n // ---------------------------------------------------------------------\n\n /**\n * Creates join column ids map from the given related entity ids array.\n * @param entity\n */\n getRelationIdMap(entity: ObjectLiteral): ObjectLiteral | undefined {\n const joinColumns = this.isOwning\n ? this.joinColumns\n : this.inverseRelation!.joinColumns\n const referencedColumns = joinColumns.map(\n (joinColumn) => joinColumn.referencedColumn!,\n )\n // console.log(\"entity\", entity);\n // console.log(\"referencedColumns\", referencedColumns);\n return EntityMetadata.getValueMap(entity, referencedColumns)\n }\n\n /**\n * Ensures that given object is an entity id map.\n * If given id is an object then it means its already id map.\n * If given id isn't an object then it means its a value of the id column\n * and it creates a new id map with this value and name of the primary column.\n * @param id\n */\n ensureRelationIdMap(id: any): ObjectLiteral {\n if (ObjectUtils.isObject(id)) return id\n\n const joinColumns = this.isOwning\n ? this.joinColumns\n : this.inverseRelation!.joinColumns\n const referencedColumns = joinColumns.map(\n (joinColumn) => joinColumn.referencedColumn!,\n )\n\n if (referencedColumns.length > 1)\n throw new TypeORMError(\n `Cannot create relation id map for a single value because relation contains multiple referenced columns.`,\n )\n\n return referencedColumns[0].createValueMap(id)\n }\n\n /**\n * Extracts column value from the given entity.\n * If column is in embedded (or recursive embedded) it extracts its value from there.\n * @param entity\n * @param getLazyRelationsPromiseValue\n */\n getEntityValue(\n entity: ObjectLiteral,\n getLazyRelationsPromiseValue: boolean = false,\n ): any | undefined {\n if (entity === null || entity === undefined) return undefined\n // extract column value from embeddeds of entity if column is in embedded\n if (this.embeddedMetadata) {\n // example: post[data][information][counters].id where \"data\", \"information\" and \"counters\" are embeddeds\n // we need to get value of \"id\" column from the post real entity object\n\n // first step - we extract all parent properties of the entity relative to this column, e.g. [data, information, counters]\n const propertyNames = [...this.embeddedMetadata.parentPropertyNames]\n\n // next we need to access post[data][information][counters][this.propertyName] to get column value from the counters\n // this recursive function takes array of generated property names and gets the post[data][information][counters] embed\n const extractEmbeddedColumnValue = (\n propertyNames: string[],\n value: ObjectLiteral,\n ): any => {\n const propertyName = propertyNames.shift()\n if (propertyName) {\n if (value[propertyName]) {\n return extractEmbeddedColumnValue(\n propertyNames,\n value[propertyName],\n )\n }\n return undefined\n }\n return value\n }\n\n // once we get nested embed object we get its column, e.g. post[data][information][counters][this.propertyName]\n const embeddedObject = extractEmbeddedColumnValue(\n propertyNames,\n entity,\n )\n\n if (this.isLazy) {\n if (\n embeddedObject[\"__\" + this.propertyName + \"__\"] !==\n undefined\n )\n return embeddedObject[\"__\" + this.propertyName + \"__\"]\n\n if (getLazyRelationsPromiseValue === true)\n return embeddedObject[this.propertyName]\n\n return undefined\n }\n return embeddedObject\n ? embeddedObject[\n this.isLazy\n ? \"__\" + this.propertyName + \"__\"\n : this.propertyName\n ]\n : undefined\n } else {\n // no embeds - no problems. Simply return column name by property name of the entity\n if (this.isLazy) {\n if (entity[\"__\" + this.propertyName + \"__\"] !== undefined)\n return entity[\"__\" + this.propertyName + \"__\"]\n\n if (getLazyRelationsPromiseValue === true)\n return entity[this.propertyName]\n\n return undefined\n }\n return entity[this.propertyName]\n }\n }\n\n /**\n * Sets given entity's relation's value.\n * Using of this method helps to set entity relation's value of the lazy and non-lazy relations.\n *\n * If merge is set to true, it merges given value into currently\n * @param entity\n * @param value\n */\n setEntityValue(entity: ObjectLiteral, value: any): void {\n const propertyName = this.isLazy\n ? \"__\" + this.propertyName + \"__\"\n : this.propertyName\n\n if (this.embeddedMetadata) {\n // first step - we extract all parent properties of the entity relative to this column, e.g. [data, information, counters]\n const extractEmbeddedColumnValue = (\n embeddedMetadatas: EmbeddedMetadata[],\n map: ObjectLiteral,\n ): any => {\n // if (!object[embeddedMetadata.propertyName])\n // object[embeddedMetadata.propertyName] = embeddedMetadata.create();\n\n const embeddedMetadata = embeddedMetadatas.shift()\n if (embeddedMetadata) {\n if (!map[embeddedMetadata.propertyName])\n map[embeddedMetadata.propertyName] =\n embeddedMetadata.create()\n\n extractEmbeddedColumnValue(\n embeddedMetadatas,\n map[embeddedMetadata.propertyName],\n )\n return map\n }\n map[propertyName] = value\n return map\n }\n return extractEmbeddedColumnValue(\n [...this.embeddedMetadata.embeddedMetadataTree],\n entity,\n )\n } else {\n if (ObjectUtils.isObject(entity[propertyName])) {\n OrmUtils.mergeDeep(entity[propertyName], value)\n } else {\n entity[propertyName] = value\n }\n }\n }\n\n /**\n * Creates entity id map from the given entity ids array.\n * @param value\n */\n createValueMap(value: any) {\n // extract column value from embeds of entity if column is in embedded\n if (this.embeddedMetadata) {\n // example: post[data][information][counters].id where \"data\", \"information\" and \"counters\" are embeddeds\n // we need to get value of \"id\" column from the post real entity object and return it in a\n // { data: { information: { counters: { id: ... } } } } format\n\n // first step - we extract all parent properties of the entity relative to this column, e.g. [data, information, counters]\n const propertyNames = [...this.embeddedMetadata.parentPropertyNames]\n\n // now need to access post[data][information][counters] to get column value from the counters\n // and on each step we need to create complex literal object, e.g. first { data },\n // then { data: { information } }, then { data: { information: { counters } } },\n // then { data: { information: { counters: [this.propertyName]: entity[data][information][counters][this.propertyName] } } }\n // this recursive function helps doing that\n const extractEmbeddedColumnValue = (\n propertyNames: string[],\n map: ObjectLiteral,\n ): any => {\n const propertyName = propertyNames.shift()\n if (propertyName) {\n map[propertyName] = {}\n extractEmbeddedColumnValue(propertyNames, map[propertyName])\n return map\n }\n map[this.propertyName] = value\n return map\n }\n return extractEmbeddedColumnValue(propertyNames, {})\n } else {\n // no embeds - no problems. Simply return column property name and its value of the entity\n return { [this.propertyName]: value }\n }\n }\n\n // ---------------------------------------------------------------------\n // Builder Methods\n // ---------------------------------------------------------------------\n\n /**\n * Builds some depend relation metadata properties.\n * This builder method should be used only after embedded metadata tree was build.\n */\n build() {\n this.propertyPath = this.buildPropertyPath()\n }\n\n /**\n * Registers given foreign keys in the relation.\n * This builder method should be used to register foreign key in the relation.\n * @param foreignKeys\n */\n registerForeignKeys(...foreignKeys: ForeignKeyMetadata[]) {\n this.foreignKeys.push(...foreignKeys)\n }\n\n /**\n * Registers given join columns in the relation.\n * This builder method should be used to register join column in the relation.\n * @param joinColumns\n * @param inverseJoinColumns\n */\n registerJoinColumns(\n joinColumns: ColumnMetadata[] = [],\n inverseJoinColumns: ColumnMetadata[] = [],\n ) {\n this.joinColumns = joinColumns\n this.inverseJoinColumns = inverseJoinColumns\n this.isOwning =\n this.isManyToOne ||\n ((this.isManyToMany || this.isOneToOne) &&\n this.joinColumns.length > 0)\n this.isOneToOneOwner = this.isOneToOne && this.isOwning\n this.isOneToOneNotOwner = this.isOneToOne && !this.isOwning\n this.isManyToManyOwner = this.isManyToMany && this.isOwning\n this.isManyToManyNotOwner = this.isManyToMany && !this.isOwning\n this.isWithJoinColumn = this.isManyToOne || this.isOneToOneOwner\n }\n\n /**\n * Registers a given junction entity metadata.\n * This builder method can be called after junction entity metadata for the many-to-many relation was created.\n * @param junctionEntityMetadata\n */\n registerJunctionEntityMetadata(junctionEntityMetadata: EntityMetadata) {\n this.junctionEntityMetadata = junctionEntityMetadata\n this.joinTableName = junctionEntityMetadata.tableName\n if (this.inverseRelation) {\n this.inverseRelation.junctionEntityMetadata = junctionEntityMetadata\n this.joinTableName = junctionEntityMetadata.tableName\n }\n }\n\n /**\n * Builds inverse side property path based on given inverse side property factory.\n * This builder method should be used only after properties map of the inverse entity metadata was build.\n */\n buildInverseSidePropertyPath(): string {\n if (this.givenInverseSidePropertyFactory) {\n const ownerEntityPropertiesMap =\n this.inverseEntityMetadata.propertiesMap\n if (typeof this.givenInverseSidePropertyFactory === \"function\")\n return this.givenInverseSidePropertyFactory(\n ownerEntityPropertiesMap,\n )\n\n if (typeof this.givenInverseSidePropertyFactory === \"string\")\n return this.givenInverseSidePropertyFactory\n } else if (\n this.isTreeParent &&\n this.entityMetadata.treeChildrenRelation\n ) {\n return this.entityMetadata.treeChildrenRelation.propertyName\n } else if (\n this.isTreeChildren &&\n this.entityMetadata.treeParentRelation\n ) {\n return this.entityMetadata.treeParentRelation.propertyName\n }\n\n return \"\"\n }\n\n /**\n * Builds relation's property path based on its embedded tree.\n */\n buildPropertyPath(): string {\n if (\n !this.embeddedMetadata ||\n !this.embeddedMetadata.parentPropertyNames.length\n )\n return this.propertyName\n\n return (\n this.embeddedMetadata.parentPropertyNames.join(\".\") +\n \".\" +\n this.propertyName\n )\n }\n}\n"]}
1
+ {"version":3,"file":"RelationMetadata.js","sourceRoot":"../build/browser/src/","sources":["metadata/RelationMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RelationType } from \"./types/RelationTypes\"\nimport { EntityMetadata } from \"./EntityMetadata\"\nimport type { ForeignKeyMetadata } from \"./ForeignKeyMetadata\"\nimport type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport type { ColumnMetadata } from \"./ColumnMetadata\"\nimport type { EmbeddedMetadata } from \"./EmbeddedMetadata\"\nimport type { RelationMetadataArgs } from \"../metadata-args/RelationMetadataArgs\"\nimport type { DeferrableType } from \"./types/DeferrableType\"\nimport type { OnUpdateType } from \"./types/OnUpdateType\"\nimport type { OnDeleteType } from \"./types/OnDeleteType\"\nimport type { PropertyTypeFactory } from \"./types/PropertyTypeInFunction\"\nimport { TypeORMError } from \"../error\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { OrmUtils } from \"../util/OrmUtils\"\n\n/**\n * Contains all information about some entity's relation.\n */\nexport class RelationMetadata {\n // ---------------------------------------------------------------------\n // Public Properties\n // ---------------------------------------------------------------------\n\n /**\n * Entity metadata of the entity where this relation is placed.\n *\n * For example for `@ManyToMany(type => Category)` in `Post`, `entityMetadata` will be metadata of `Post` entity.\n */\n entityMetadata: EntityMetadata\n\n /**\n * Entity metadata of the entity that is targeted by this relation.\n *\n * For example for `@ManyToMany(type => Category)` in `Post`, `inverseEntityMetadata` will be metadata of `Category` entity.\n */\n inverseEntityMetadata: EntityMetadata\n\n /**\n * Entity metadata of the junction table.\n * Junction tables have their own entity metadata objects.\n * Defined only for many-to-many relations.\n */\n junctionEntityMetadata?: EntityMetadata\n\n /**\n * Embedded metadata where this relation is.\n * If this relation is not in embed then this property value is undefined.\n */\n embeddedMetadata?: EmbeddedMetadata\n\n /**\n * Relation type, e.g. is it one-to-one, one-to-many, many-to-one or many-to-many.\n */\n relationType: RelationType\n\n /**\n * Target entity to which this relation is applied.\n * Target IS NOT equal to entityMetadata.target, because relation\n *\n * For example for `@ManyToMany(type => Category)` in `Post`, `target` will be `Post`.\n * If `@ManyToMany(type => Category)` is in `Counters` which is embedded into `Post`, `target` will be `Counters`.\n * If `@ManyToMany(type => Category)` is in abstract class `BaseUser` which `Post` extends, `target` will be `BaseUser`.\n * Target can be string if its defined in entity schema instead of class.\n */\n target: Function | string\n\n /**\n * Target's property name to which relation decorator is applied.\n */\n propertyName: string\n\n /**\n * Gets full path to this column property (including relation name).\n * Full path is relevant when column is used in embeds (one or multiple nested).\n * For example it will return \"counters.subcounters.likes\".\n * If property is not in embeds then it returns just property name of the column.\n */\n propertyPath: string\n\n /**\n * Indicates if this is a parent (can be only many-to-one relation) relation in the tree tables.\n */\n isTreeParent: boolean = false\n\n /**\n * Indicates if this is a children (can be only one-to-many relation) relation in the tree tables.\n */\n isTreeChildren: boolean = false\n\n /**\n * Indicates if this relation's column is a primary key.\n * Can be used only for many-to-one and owner one-to-one relations.\n */\n isPrimary: boolean = false\n\n /**\n * Indicates if this relation is lazily loaded.\n */\n isLazy: boolean = false\n\n /**\n * Indicates if this relation is eagerly loaded.\n */\n isEager: boolean = false\n\n /**\n * Indicates if persistence is enabled for the relation.\n * By default its enabled, but if you want to avoid any changes in the relation to be reflected in the database you can disable it.\n * If its disabled you can only change a relation from inverse side of a relation or using relation query builder functionality.\n * This is useful for performance optimization since its disabling avoid multiple extra queries during entity save.\n */\n persistenceEnabled: boolean = true\n\n /**\n * When a parent is saved (with cascading but) without a child row that still exists in database, this will control what shall happen to them.\n * delete will remove these rows from database. nullify will remove the relation key.\n * skip will keep the relation intact. Removal of related item is only possible through its own repo.\n */\n orphanedRowAction?: \"nullify\" | \"delete\" | \"soft-delete\" | \"disable\"\n\n /**\n * If set to true then related objects are allowed to be inserted to the database.\n */\n isCascadeInsert: boolean = false\n\n /**\n * If set to true then related objects are allowed to be updated in the database.\n */\n isCascadeUpdate: boolean = false\n\n /**\n * If set to true then related objects are allowed to be remove from the database.\n */\n isCascadeRemove: boolean = false\n\n /**\n * If set to true then related objects are allowed to be soft-removed from the database.\n */\n isCascadeSoftRemove: boolean = false\n\n /**\n * If set to true then related objects are allowed to be recovered from the database.\n */\n isCascadeRecover: boolean = false\n\n /**\n * Indicates if relation column value can be nullable or not.\n */\n isNullable: boolean = true\n\n /**\n * What to do with a relation on deletion of the row containing a foreign key.\n */\n onDelete?: OnDeleteType\n\n /**\n * What to do with a relation on update of the row containing a foreign key.\n */\n onUpdate?: OnUpdateType\n\n /**\n * What to do with a relation on update of the row containing a foreign key.\n */\n deferrable?: DeferrableType\n\n /**\n * Indicates whether foreign key constraints will be created for join columns.\n * Can be used only for many-to-one and owner one-to-one relations.\n * Defaults to true.\n */\n createForeignKeyConstraints: boolean = true\n\n /**\n * Gets the property's type to which this relation is applied.\n *\n * For example for `@ManyToMany(type => Category)` in `Post`, `type` will be `Category`.\n */\n type: Function | string\n\n /**\n * Indicates if this side is an owner of this relation.\n */\n isOwning: boolean = false\n\n /**\n * Checks if this relation's type is \"one-to-one\".\n */\n isOneToOne: boolean = false\n\n /**\n * Checks if this relation is owner side of the \"one-to-one\" relation.\n * Owner side means this side of relation has a join column in the table.\n */\n isOneToOneOwner: boolean = false\n\n /**\n * Checks if this relation has a join column (e.g. is it many-to-one or one-to-one owner side).\n */\n isWithJoinColumn: boolean = false\n\n /**\n * Checks if this relation is NOT owner side of the \"one-to-one\" relation.\n * NOT owner side means this side of relation does not have a join column in the table.\n */\n isOneToOneNotOwner: boolean = false\n\n /**\n * Checks if this relation's type is \"one-to-many\".\n */\n isOneToMany: boolean = false\n\n /**\n * Checks if this relation's type is \"many-to-one\".\n */\n isManyToOne: boolean = false\n\n /**\n * Checks if this relation's type is \"many-to-many\".\n */\n isManyToMany: boolean = false\n\n /**\n * Checks if this relation's type is \"many-to-many\", and is owner side of the relationship.\n * Owner side means this side of relation has a join table.\n */\n isManyToManyOwner: boolean = false\n\n /**\n * Checks if this relation's type is \"many-to-many\", and is NOT owner side of the relationship.\n * Not owner side means this side of relation does not have a join table.\n */\n isManyToManyNotOwner: boolean = false\n\n /**\n * Gets the property path of the inverse side of the relation.\n */\n inverseSidePropertyPath: string\n\n /**\n * Inverse side of the relation set by user.\n *\n * Inverse side set in the relation can be either string - property name of the column on inverse side,\n * either can be a function that accepts a map of properties with the object and returns one of them.\n * Second approach is used to achieve type-safety.\n */\n givenInverseSidePropertyFactory: PropertyTypeFactory<any>\n\n /**\n * Gets the relation metadata of the inverse side of this relation.\n */\n inverseRelation?: RelationMetadata\n\n /**\n * Join table name.\n */\n joinTableName: string\n\n /**\n * Foreign keys created for this relation.\n */\n foreignKeys: ForeignKeyMetadata[] = []\n\n /**\n * Join table columns.\n * Join columns can be obtained only from owner side of the relation.\n * From non-owner side of the relation join columns will be empty.\n * If this relation is a many-to-one/one-to-one then it takes join columns from the current entity.\n * If this relation is many-to-many then it takes all owner join columns from the junction entity.\n */\n joinColumns: ColumnMetadata[] = []\n\n /**\n * Inverse join table columns.\n * Inverse join columns are supported only for many-to-many relations\n * and can be obtained only from owner side of the relation.\n * From non-owner side of the relation join columns will be undefined.\n */\n inverseJoinColumns: ColumnMetadata[] = []\n\n // ---------------------------------------------------------------------\n // Constructor\n // ---------------------------------------------------------------------\n\n constructor(options: {\n entityMetadata: EntityMetadata\n embeddedMetadata?: EmbeddedMetadata\n args: RelationMetadataArgs\n }) {\n this.entityMetadata = options.entityMetadata\n this.embeddedMetadata = options.embeddedMetadata!\n const args = options.args\n this.target = args.target\n this.propertyName = args.propertyName\n this.relationType = args.relationType\n\n if (args.inverseSideProperty)\n this.givenInverseSidePropertyFactory = args.inverseSideProperty\n\n this.isLazy = args.isLazy || false\n this.isCascadeInsert =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"insert\") !== -1)\n this.isCascadeUpdate =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"update\") !== -1)\n this.isCascadeRemove =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"remove\") !== -1)\n this.isCascadeSoftRemove =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"soft-remove\") !== -1)\n this.isCascadeRecover =\n args.options.cascade === true ||\n (Array.isArray(args.options.cascade) &&\n args.options.cascade.indexOf(\"recover\") !== -1)\n this.isNullable =\n args.options.nullable === false || this.isPrimary ? false : true\n this.onDelete = args.options.onDelete\n this.onUpdate = args.options.onUpdate\n this.deferrable = args.options.deferrable\n this.createForeignKeyConstraints =\n args.options.createForeignKeyConstraints === false ? false : true\n this.isEager = args.options.eager ?? false\n this.persistenceEnabled =\n args.options.persistence === false ? false : true\n this.orphanedRowAction = args.options.orphanedRowAction ?? \"nullify\"\n this.isTreeParent = args.isTreeParent ?? false\n this.isTreeChildren = args.isTreeChildren ?? false\n\n if (typeof args.type === \"function\") {\n this.type =\n typeof args.type === \"function\"\n ? (args.type as () => any)()\n : args.type\n } else if (InstanceChecker.isEntitySchema(args.type)) {\n this.type = args.type.options.name\n } else if (\n ObjectUtils.isObject(args.type) &&\n typeof (args.type as any).name === \"string\"\n ) {\n this.type = (args.type as any).name\n } else {\n this.type = args.type as string | Function\n }\n\n this.isOneToOne = this.relationType === \"one-to-one\"\n this.isOneToMany = this.relationType === \"one-to-many\"\n this.isManyToOne = this.relationType === \"many-to-one\"\n this.isManyToMany = this.relationType === \"many-to-many\"\n this.isOneToOneNotOwner = this.isOneToOne ? true : false\n this.isManyToManyNotOwner = this.isManyToMany ? true : false\n }\n\n // ---------------------------------------------------------------------\n // Public Methods\n // ---------------------------------------------------------------------\n\n /**\n * Creates join column ids map from the given related entity ids array.\n *\n * @param entity\n */\n getRelationIdMap(entity: ObjectLiteral): ObjectLiteral | undefined {\n const joinColumns = this.isOwning\n ? this.joinColumns\n : this.inverseRelation!.joinColumns\n const referencedColumns = joinColumns.map(\n (joinColumn) => joinColumn.referencedColumn!,\n )\n // console.log(\"entity\", entity);\n // console.log(\"referencedColumns\", referencedColumns);\n return EntityMetadata.getValueMap(entity, referencedColumns)\n }\n\n /**\n * Ensures that given object is an entity id map.\n * If given id is an object then it means its already id map.\n * If given id isn't an object then it means its a value of the id column\n * and it creates a new id map with this value and name of the primary column.\n *\n * @param id\n */\n ensureRelationIdMap(id: any): ObjectLiteral {\n if (ObjectUtils.isObject(id)) return id\n\n const joinColumns = this.isOwning\n ? this.joinColumns\n : this.inverseRelation!.joinColumns\n const referencedColumns = joinColumns.map(\n (joinColumn) => joinColumn.referencedColumn!,\n )\n\n if (referencedColumns.length > 1)\n throw new TypeORMError(\n `Cannot create relation id map for a single value because relation contains multiple referenced columns.`,\n )\n\n return referencedColumns[0].createValueMap(id)\n }\n\n /**\n * Extracts column value from the given entity.\n * If column is in embedded (or recursive embedded) it extracts its value from there.\n *\n * @param entity\n * @param getLazyRelationsPromiseValue\n */\n getEntityValue(\n entity: ObjectLiteral,\n getLazyRelationsPromiseValue: boolean = false,\n ): any | undefined {\n if (entity === null || entity === undefined) return undefined\n // extract column value from embeddeds of entity if column is in embedded\n if (this.embeddedMetadata) {\n // example: post[data][information][counters].id where \"data\", \"information\" and \"counters\" are embeddeds\n // we need to get value of \"id\" column from the post real entity object\n\n // first step - we extract all parent properties of the entity relative to this column, e.g. [data, information, counters]\n const propertyNames = [...this.embeddedMetadata.parentPropertyNames]\n\n // next we need to access post[data][information][counters][this.propertyName] to get column value from the counters\n // this recursive function takes array of generated property names and gets the post[data][information][counters] embed\n const extractEmbeddedColumnValue = (\n propertyNames: string[],\n value: ObjectLiteral,\n ): any => {\n const propertyName = propertyNames.shift()\n if (propertyName) {\n if (value[propertyName]) {\n return extractEmbeddedColumnValue(\n propertyNames,\n value[propertyName],\n )\n }\n return undefined\n }\n return value\n }\n\n // once we get nested embed object we get its column, e.g. post[data][information][counters][this.propertyName]\n const embeddedObject = extractEmbeddedColumnValue(\n propertyNames,\n entity,\n )\n\n if (this.isLazy) {\n if (\n embeddedObject[\"__\" + this.propertyName + \"__\"] !==\n undefined\n )\n return embeddedObject[\"__\" + this.propertyName + \"__\"]\n\n if (getLazyRelationsPromiseValue === true)\n return embeddedObject[this.propertyName]\n\n return undefined\n }\n return embeddedObject\n ? embeddedObject[\n this.isLazy\n ? \"__\" + this.propertyName + \"__\"\n : this.propertyName\n ]\n : undefined\n } else {\n // no embeds - no problems. Simply return column name by property name of the entity\n if (this.isLazy) {\n if (entity[\"__\" + this.propertyName + \"__\"] !== undefined)\n return entity[\"__\" + this.propertyName + \"__\"]\n\n if (getLazyRelationsPromiseValue === true)\n return entity[this.propertyName]\n\n return undefined\n }\n return entity[this.propertyName]\n }\n }\n\n /**\n * Sets given entity's relation's value.\n * Using of this method helps to set entity relation's value of the lazy and non-lazy relations.\n *\n * If merge is set to true, it merges given value into currently\n *\n * @param entity\n * @param value\n */\n setEntityValue(entity: ObjectLiteral, value: any): void {\n const propertyName = this.isLazy\n ? \"__\" + this.propertyName + \"__\"\n : this.propertyName\n\n if (this.embeddedMetadata) {\n // first step - we extract all parent properties of the entity relative to this column, e.g. [data, information, counters]\n const extractEmbeddedColumnValue = (\n embeddedMetadatas: EmbeddedMetadata[],\n map: ObjectLiteral,\n ): any => {\n // if (!object[embeddedMetadata.propertyName])\n // object[embeddedMetadata.propertyName] = embeddedMetadata.create();\n\n const embeddedMetadata = embeddedMetadatas.shift()\n if (embeddedMetadata) {\n map[embeddedMetadata.propertyName] ??=\n embeddedMetadata.create()\n\n extractEmbeddedColumnValue(\n embeddedMetadatas,\n map[embeddedMetadata.propertyName],\n )\n return map\n }\n map[propertyName] = value\n return map\n }\n return extractEmbeddedColumnValue(\n [...this.embeddedMetadata.embeddedMetadataTree],\n entity,\n )\n } else {\n if (ObjectUtils.isObject(entity[propertyName])) {\n OrmUtils.mergeDeep(entity[propertyName], value)\n } else {\n entity[propertyName] = value\n }\n }\n }\n\n /**\n * Creates entity id map from the given entity ids array.\n *\n * @param value\n */\n createValueMap(value: any) {\n // extract column value from embeds of entity if column is in embedded\n if (this.embeddedMetadata) {\n // example: post[data][information][counters].id where \"data\", \"information\" and \"counters\" are embeddeds\n // we need to get value of \"id\" column from the post real entity object and return it in a\n // { data: { information: { counters: { id: ... } } } } format\n\n // first step - we extract all parent properties of the entity relative to this column, e.g. [data, information, counters]\n const propertyNames = [...this.embeddedMetadata.parentPropertyNames]\n\n // now need to access post[data][information][counters] to get column value from the counters\n // and on each step we need to create complex literal object, e.g. first { data },\n // then { data: { information } }, then { data: { information: { counters } } },\n // then { data: { information: { counters: [this.propertyName]: entity[data][information][counters][this.propertyName] } } }\n // this recursive function helps doing that\n const extractEmbeddedColumnValue = (\n propertyNames: string[],\n map: ObjectLiteral,\n ): any => {\n const propertyName = propertyNames.shift()\n if (propertyName) {\n map[propertyName] = {}\n extractEmbeddedColumnValue(propertyNames, map[propertyName])\n return map\n }\n map[this.propertyName] = value\n return map\n }\n return extractEmbeddedColumnValue(propertyNames, {})\n } else {\n // no embeds - no problems. Simply return column property name and its value of the entity\n return { [this.propertyName]: value }\n }\n }\n\n // ---------------------------------------------------------------------\n // Builder Methods\n // ---------------------------------------------------------------------\n\n /**\n * Builds some depend relation metadata properties.\n * This builder method should be used only after embedded metadata tree was build.\n */\n build() {\n this.propertyPath = this.buildPropertyPath()\n }\n\n /**\n * Registers given foreign keys in the relation.\n * This builder method should be used to register foreign key in the relation.\n *\n * @param foreignKeys\n */\n registerForeignKeys(...foreignKeys: ForeignKeyMetadata[]) {\n this.foreignKeys.push(...foreignKeys)\n }\n\n /**\n * Registers given join columns in the relation.\n * This builder method should be used to register join column in the relation.\n *\n * @param joinColumns\n * @param inverseJoinColumns\n */\n registerJoinColumns(\n joinColumns: ColumnMetadata[] = [],\n inverseJoinColumns: ColumnMetadata[] = [],\n ) {\n this.joinColumns = joinColumns\n this.inverseJoinColumns = inverseJoinColumns\n this.isOwning =\n this.isManyToOne ||\n ((this.isManyToMany || this.isOneToOne) &&\n this.joinColumns.length > 0)\n this.isOneToOneOwner = this.isOneToOne && this.isOwning\n this.isOneToOneNotOwner = this.isOneToOne && !this.isOwning\n this.isManyToManyOwner = this.isManyToMany && this.isOwning\n this.isManyToManyNotOwner = this.isManyToMany && !this.isOwning\n this.isWithJoinColumn = this.isManyToOne || this.isOneToOneOwner\n }\n\n /**\n * Registers a given junction entity metadata.\n * This builder method can be called after junction entity metadata for the many-to-many relation was created.\n *\n * @param junctionEntityMetadata\n */\n registerJunctionEntityMetadata(junctionEntityMetadata: EntityMetadata) {\n this.junctionEntityMetadata = junctionEntityMetadata\n this.joinTableName = junctionEntityMetadata.tableName\n if (this.inverseRelation) {\n this.inverseRelation.junctionEntityMetadata = junctionEntityMetadata\n this.joinTableName = junctionEntityMetadata.tableName\n }\n }\n\n /**\n * Builds inverse side property path based on given inverse side property factory.\n * This builder method should be used only after properties map of the inverse entity metadata was build.\n */\n buildInverseSidePropertyPath(): string {\n if (this.givenInverseSidePropertyFactory) {\n const ownerEntityPropertiesMap =\n this.inverseEntityMetadata.propertiesMap\n if (typeof this.givenInverseSidePropertyFactory === \"function\")\n return this.givenInverseSidePropertyFactory(\n ownerEntityPropertiesMap,\n )\n\n if (typeof this.givenInverseSidePropertyFactory === \"string\")\n return this.givenInverseSidePropertyFactory\n } else if (\n this.isTreeParent &&\n this.entityMetadata.treeChildrenRelation\n ) {\n return this.entityMetadata.treeChildrenRelation.propertyName\n } else if (\n this.isTreeChildren &&\n this.entityMetadata.treeParentRelation\n ) {\n return this.entityMetadata.treeParentRelation.propertyName\n }\n\n return \"\"\n }\n\n /**\n * Builds relation's property path based on its embedded tree.\n */\n buildPropertyPath(): string {\n if (!this.embeddedMetadata?.parentPropertyNames.length)\n return this.propertyName\n\n return (\n this.embeddedMetadata.parentPropertyNames.join(\".\") +\n \".\" +\n this.propertyName\n )\n }\n}\n"]}
@@ -60,6 +60,7 @@ export declare class UniqueMetadata {
60
60
  /**
61
61
  * Builds some depend unique constraint properties.
62
62
  * Must be called after all entity metadata's properties map, columns and relations are built.
63
+ *
63
64
  * @param namingStrategy
64
65
  */
65
66
  build(namingStrategy: NamingStrategyInterface): this;
@@ -36,6 +36,7 @@ class UniqueMetadata {
36
36
  /**
37
37
  * Builds some depend unique constraint properties.
38
38
  * Must be called after all entity metadata's properties map, columns and relations are built.
39
+ *
39
40
  * @param namingStrategy
40
41
  */
41
42
  build(namingStrategy) {
@@ -97,9 +98,9 @@ class UniqueMetadata {
97
98
  updatedMap[column.databasePath] = map[key];
98
99
  return updatedMap;
99
100
  }, {});
100
- this.name = this.givenName
101
- ? this.givenName
102
- : namingStrategy.uniqueConstraintName(this.entityMetadata.tableName, this.columns.map((column) => column.databaseName));
101
+ this.name =
102
+ this.givenName ??
103
+ namingStrategy.uniqueConstraintName(this.entityMetadata.tableName, this.columns.map((column) => column.databaseName));
103
104
  return this;
104
105
  }
105
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueMetadata.js","sourceRoot":"../build/browser/src/","sources":["metadata/UniqueMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import type { EmbeddedMetadata } from \"./EmbeddedMetadata\"\nimport type { EntityMetadata } from \"./EntityMetadata\"\nimport type { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport type { ColumnMetadata } from \"./ColumnMetadata\"\nimport type { UniqueMetadataArgs } from \"../metadata-args/UniqueMetadataArgs\"\nimport { TypeORMError } from \"../error\"\nimport type { DeferrableType } from \"./types/DeferrableType\"\n\n/**\n * Unique metadata contains all information about table's unique constraints.\n */\nexport class UniqueMetadata {\n // ---------------------------------------------------------------------\n // Public Properties\n // ---------------------------------------------------------------------\n\n /**\n * Entity metadata of the class to which this unique constraint is applied.\n */\n entityMetadata: EntityMetadata\n\n /**\n * Embedded metadata if this unique was applied on embedded.\n */\n embeddedMetadata?: EmbeddedMetadata\n\n /**\n * Target class to which metadata is applied.\n */\n target?: Function | string\n\n /**\n * Unique columns.\n */\n columns: ColumnMetadata[] = []\n\n /**\n * Indicate if unique constraints can be deferred.\n */\n deferrable?: DeferrableType\n\n /**\n * User specified unique constraint name.\n */\n givenName?: string\n\n /**\n * User specified column names.\n */\n givenColumnNames?:\n | ((object?: any) => any[] | { [key: string]: number })\n | string[]\n\n /**\n * Final unique constraint name.\n * If unique constraint name was given by a user then it stores normalized (by naming strategy) givenName.\n * If unique constraint name was not given then its generated.\n */\n name: string\n\n /**\n * Map of column names with order set.\n * Used only by MongoDB driver.\n */\n columnNamesWithOrderingMap: { [key: string]: number } = {}\n\n // ---------------------------------------------------------------------\n // Constructor\n // ---------------------------------------------------------------------\n\n constructor(options: {\n entityMetadata: EntityMetadata\n embeddedMetadata?: EmbeddedMetadata\n columns?: ColumnMetadata[]\n args?: UniqueMetadataArgs\n }) {\n this.entityMetadata = options.entityMetadata\n this.embeddedMetadata = options.embeddedMetadata\n if (options.columns) this.columns = options.columns\n\n if (options.args) {\n this.target = options.args.target\n this.givenName = options.args.name\n this.givenColumnNames = options.args.columns\n this.deferrable = options.args.deferrable\n }\n }\n\n // ---------------------------------------------------------------------\n // Public Build Methods\n // ---------------------------------------------------------------------\n\n /**\n * Builds some depend unique constraint properties.\n * Must be called after all entity metadata's properties map, columns and relations are built.\n * @param namingStrategy\n */\n build(namingStrategy: NamingStrategyInterface): this {\n const map: { [key: string]: number } = {}\n\n // if columns already an array of string then simply return it\n if (this.givenColumnNames) {\n let columnPropertyPaths: string[]\n if (Array.isArray(this.givenColumnNames)) {\n columnPropertyPaths = this.givenColumnNames.map(\n (columnName) => {\n if (this.embeddedMetadata)\n return (\n this.embeddedMetadata.propertyPath +\n \".\" +\n columnName\n )\n\n return columnName.trim()\n },\n )\n columnPropertyPaths.forEach((propertyPath) => {\n map[propertyPath] = 1\n })\n } else {\n // if columns is a function that returns array of field names then execute it and get columns names from it\n const columnsFnResult = this.givenColumnNames(\n this.entityMetadata.propertiesMap,\n )\n if (Array.isArray(columnsFnResult)) {\n columnPropertyPaths = columnsFnResult.map((i: any) =>\n String(i),\n )\n columnPropertyPaths.forEach((name) => {\n map[name] = 1\n })\n } else {\n columnPropertyPaths = Object.keys(columnsFnResult).map(\n (i: any) => String(i),\n )\n Object.keys(columnsFnResult).forEach((columnName) => {\n map[columnName] = columnsFnResult[columnName]\n })\n }\n }\n\n this.columns = columnPropertyPaths\n .map((propertyName) => {\n const columnWithSameName = this.entityMetadata.columns.find(\n (column) => column.propertyPath === propertyName,\n )\n if (columnWithSameName) {\n return [columnWithSameName]\n }\n const relationWithSameName =\n this.entityMetadata.relations.find(\n (relation) =>\n relation.isWithJoinColumn &&\n relation.propertyName === propertyName,\n )\n if (relationWithSameName) {\n return relationWithSameName.joinColumns\n }\n const indexName = this.givenName\n ? '\"' + this.givenName + '\" '\n : \"\"\n const entityName = this.entityMetadata.targetName\n throw new TypeORMError(\n `Unique constraint ${indexName}contains column that is missing in the entity (${entityName}): ` +\n propertyName,\n )\n })\n .reduce((a, b) => a.concat(b))\n }\n\n this.columnNamesWithOrderingMap = Object.keys(map).reduce(\n (updatedMap, key) => {\n const column = this.entityMetadata.columns.find(\n (column) => column.propertyPath === key,\n )\n if (column) updatedMap[column.databasePath] = map[key]\n\n return updatedMap\n },\n {} as { [key: string]: number },\n )\n\n this.name = this.givenName\n ? this.givenName\n : namingStrategy.uniqueConstraintName(\n this.entityMetadata.tableName,\n this.columns.map((column) => column.databaseName),\n )\n return this\n }\n}\n"]}
1
+ {"version":3,"file":"UniqueMetadata.js","sourceRoot":"../build/browser/src/","sources":["metadata/UniqueMetadata.ts"],"names":[],"mappings":";;;AAKA,oCAAuC;AAGvC;;GAEG;AACH,MAAa,cAAc;IAuDvB,wEAAwE;IACxE,cAAc;IACd,wEAAwE;IAExE,YAAY,OAKX;QA5CD;;WAEG;QACH,YAAO,GAAqB,EAAE,CAAA;QA0B9B;;;WAGG;QACH,+BAA0B,GAA8B,EAAE,CAAA;QAYtD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAC5C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QAChD,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAEnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;YAClC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAA;YAC5C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAA;QAC7C,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,uBAAuB;IACvB,wEAAwE;IAExE;;;;;OAKG;IACH,KAAK,CAAC,cAAuC;QACzC,MAAM,GAAG,GAA8B,EAAE,CAAA;QAEzC,8DAA8D;QAC9D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,mBAA6B,CAAA;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACvC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAC3C,CAAC,UAAU,EAAE,EAAE;oBACX,IAAI,IAAI,CAAC,gBAAgB;wBACrB,OAAO,CACH,IAAI,CAAC,gBAAgB,CAAC,YAAY;4BAClC,GAAG;4BACH,UAAU,CACb,CAAA;oBAEL,OAAO,UAAU,CAAC,IAAI,EAAE,CAAA;gBAC5B,CAAC,CACJ,CAAA;gBACD,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;oBACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAA;YACN,CAAC;iBAAM,CAAC;gBACJ,2GAA2G;gBAC3G,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CACzC,IAAI,CAAC,cAAc,CAAC,aAAa,CACpC,CAAA;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;oBACjC,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACjD,MAAM,CAAC,CAAC,CAAC,CACZ,CAAA;oBACD,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBACjC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBACjB,CAAC,CAAC,CAAA;gBACN,CAAC;qBAAM,CAAC;oBACJ,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAClD,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CACxB,CAAA;oBACD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;wBAChD,GAAG,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;oBACjD,CAAC,CAAC,CAAA;gBACN,CAAC;YACL,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,mBAAmB;iBAC7B,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;gBAClB,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CACvD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,YAAY,CACnD,CAAA;gBACD,IAAI,kBAAkB,EAAE,CAAC;oBACrB,OAAO,CAAC,kBAAkB,CAAC,CAAA;gBAC/B,CAAC;gBACD,MAAM,oBAAoB,GACtB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAC9B,CAAC,QAAQ,EAAE,EAAE,CACT,QAAQ,CAAC,gBAAgB;oBACzB,QAAQ,CAAC,YAAY,KAAK,YAAY,CAC7C,CAAA;gBACL,IAAI,oBAAoB,EAAE,CAAC;oBACvB,OAAO,oBAAoB,CAAC,WAAW,CAAA;gBAC3C,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;oBAC5B,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI;oBAC7B,CAAC,CAAC,EAAE,CAAA;gBACR,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAA;gBACjD,MAAM,IAAI,oBAAY,CAClB,qBAAqB,SAAS,kDAAkD,UAAU,KAAK;oBAC3F,YAAY,CACnB,CAAA;YACL,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CACrD,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAC3C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,GAAG,CAC1C,CAAA;YACD,IAAI,MAAM;gBAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YAEtD,OAAO,UAAU,CAAA;QACrB,CAAC,EACD,EAA+B,CAClC,CAAA;QAED,IAAI,CAAC,IAAI;YACL,IAAI,CAAC,SAAS;gBACd,cAAc,CAAC,oBAAoB,CAC/B,IAAI,CAAC,cAAc,CAAC,SAAS,EAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CACpD,CAAA;QACL,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AApLD,wCAoLC","sourcesContent":["import type { EmbeddedMetadata } from \"./EmbeddedMetadata\"\nimport type { EntityMetadata } from \"./EntityMetadata\"\nimport type { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport type { ColumnMetadata } from \"./ColumnMetadata\"\nimport type { UniqueMetadataArgs } from \"../metadata-args/UniqueMetadataArgs\"\nimport { TypeORMError } from \"../error\"\nimport type { DeferrableType } from \"./types/DeferrableType\"\n\n/**\n * Unique metadata contains all information about table's unique constraints.\n */\nexport class UniqueMetadata {\n // ---------------------------------------------------------------------\n // Public Properties\n // ---------------------------------------------------------------------\n\n /**\n * Entity metadata of the class to which this unique constraint is applied.\n */\n entityMetadata: EntityMetadata\n\n /**\n * Embedded metadata if this unique was applied on embedded.\n */\n embeddedMetadata?: EmbeddedMetadata\n\n /**\n * Target class to which metadata is applied.\n */\n target?: Function | string\n\n /**\n * Unique columns.\n */\n columns: ColumnMetadata[] = []\n\n /**\n * Indicate if unique constraints can be deferred.\n */\n deferrable?: DeferrableType\n\n /**\n * User specified unique constraint name.\n */\n givenName?: string\n\n /**\n * User specified column names.\n */\n givenColumnNames?:\n | ((object?: any) => any[] | { [key: string]: number })\n | string[]\n\n /**\n * Final unique constraint name.\n * If unique constraint name was given by a user then it stores normalized (by naming strategy) givenName.\n * If unique constraint name was not given then its generated.\n */\n name: string\n\n /**\n * Map of column names with order set.\n * Used only by MongoDB driver.\n */\n columnNamesWithOrderingMap: { [key: string]: number } = {}\n\n // ---------------------------------------------------------------------\n // Constructor\n // ---------------------------------------------------------------------\n\n constructor(options: {\n entityMetadata: EntityMetadata\n embeddedMetadata?: EmbeddedMetadata\n columns?: ColumnMetadata[]\n args?: UniqueMetadataArgs\n }) {\n this.entityMetadata = options.entityMetadata\n this.embeddedMetadata = options.embeddedMetadata\n if (options.columns) this.columns = options.columns\n\n if (options.args) {\n this.target = options.args.target\n this.givenName = options.args.name\n this.givenColumnNames = options.args.columns\n this.deferrable = options.args.deferrable\n }\n }\n\n // ---------------------------------------------------------------------\n // Public Build Methods\n // ---------------------------------------------------------------------\n\n /**\n * Builds some depend unique constraint properties.\n * Must be called after all entity metadata's properties map, columns and relations are built.\n *\n * @param namingStrategy\n */\n build(namingStrategy: NamingStrategyInterface): this {\n const map: { [key: string]: number } = {}\n\n // if columns already an array of string then simply return it\n if (this.givenColumnNames) {\n let columnPropertyPaths: string[]\n if (Array.isArray(this.givenColumnNames)) {\n columnPropertyPaths = this.givenColumnNames.map(\n (columnName) => {\n if (this.embeddedMetadata)\n return (\n this.embeddedMetadata.propertyPath +\n \".\" +\n columnName\n )\n\n return columnName.trim()\n },\n )\n columnPropertyPaths.forEach((propertyPath) => {\n map[propertyPath] = 1\n })\n } else {\n // if columns is a function that returns array of field names then execute it and get columns names from it\n const columnsFnResult = this.givenColumnNames(\n this.entityMetadata.propertiesMap,\n )\n if (Array.isArray(columnsFnResult)) {\n columnPropertyPaths = columnsFnResult.map((i: any) =>\n String(i),\n )\n columnPropertyPaths.forEach((name) => {\n map[name] = 1\n })\n } else {\n columnPropertyPaths = Object.keys(columnsFnResult).map(\n (i: any) => String(i),\n )\n Object.keys(columnsFnResult).forEach((columnName) => {\n map[columnName] = columnsFnResult[columnName]\n })\n }\n }\n\n this.columns = columnPropertyPaths\n .map((propertyName) => {\n const columnWithSameName = this.entityMetadata.columns.find(\n (column) => column.propertyPath === propertyName,\n )\n if (columnWithSameName) {\n return [columnWithSameName]\n }\n const relationWithSameName =\n this.entityMetadata.relations.find(\n (relation) =>\n relation.isWithJoinColumn &&\n relation.propertyName === propertyName,\n )\n if (relationWithSameName) {\n return relationWithSameName.joinColumns\n }\n const indexName = this.givenName\n ? '\"' + this.givenName + '\" '\n : \"\"\n const entityName = this.entityMetadata.targetName\n throw new TypeORMError(\n `Unique constraint ${indexName}contains column that is missing in the entity (${entityName}): ` +\n propertyName,\n )\n })\n .reduce((a, b) => a.concat(b))\n }\n\n this.columnNamesWithOrderingMap = Object.keys(map).reduce(\n (updatedMap, key) => {\n const column = this.entityMetadata.columns.find(\n (column) => column.propertyPath === key,\n )\n if (column) updatedMap[column.databasePath] = map[key]\n\n return updatedMap\n },\n {} as { [key: string]: number },\n )\n\n this.name =\n this.givenName ??\n namingStrategy.uniqueConstraintName(\n this.entityMetadata.tableName,\n this.columns.map((column) => column.databaseName),\n )\n return this\n }\n}\n"]}
@@ -84,6 +84,7 @@ export declare class MetadataArgsStorage {
84
84
  findDiscriminatorValue(target: Function | string): DiscriminatorValueMetadataArgs | undefined;
85
85
  /**
86
86
  * Filters given array by a given target or targets.
87
+ *
87
88
  * @param array
88
89
  * @param target
89
90
  */
@@ -92,6 +93,7 @@ export declare class MetadataArgsStorage {
92
93
  }>(array: T[], target: (Function | string) | (Function | string)[]): T[];
93
94
  /**
94
95
  * Filters given array by a given target or targets and prevents duplicate property names.
96
+ *
95
97
  * @param array
96
98
  * @param target
97
99
  */
@@ -101,12 +103,14 @@ export declare class MetadataArgsStorage {
101
103
  }>(array: T[], target: (Function | string) | (Function | string)[]): T[];
102
104
  /**
103
105
  * Filters given array by a given target or targets and prevents duplicate relation property names.
106
+ *
104
107
  * @param array
105
108
  * @param target
106
109
  */
107
110
  protected filterByTargetAndWithoutDuplicateRelationProperties<T extends RelationMetadataArgs>(array: T[], target: (Function | string) | (Function | string)[]): T[];
108
111
  /**
109
112
  * Filters given array by a given target or targets and prevents duplicate embedded property names.
113
+ *
110
114
  * @param array
111
115
  * @param target
112
116
  */
@@ -157,6 +157,7 @@ class MetadataArgsStorage {
157
157
  // -------------------------------------------------------------------------
158
158
  /**
159
159
  * Filters given array by a given target or targets.
160
+ *
160
161
  * @param array
161
162
  * @param target
162
163
  */
@@ -169,6 +170,7 @@ class MetadataArgsStorage {
169
170
  }
170
171
  /**
171
172
  * Filters given array by a given target or targets and prevents duplicate property names.
173
+ *
172
174
  * @param array
173
175
  * @param target
174
176
  */
@@ -187,6 +189,7 @@ class MetadataArgsStorage {
187
189
  }
188
190
  /**
189
191
  * Filters given array by a given target or targets and prevents duplicate relation property names.
192
+ *
190
193
  * @param array
191
194
  * @param target
192
195
  */
@@ -215,6 +218,7 @@ class MetadataArgsStorage {
215
218
  }
216
219
  /**
217
220
  * Filters given array by a given target or targets and prevents duplicate embedded property names.
221
+ *
218
222
  * @param array
219
223
  * @param target
220
224
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataArgsStorage.js","sourceRoot":"../build/browser/src/","sources":["metadata-args/MetadataArgsStorage.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RelationMetadataArgs } from \"./RelationMetadataArgs\"\nimport type { ColumnMetadataArgs } from \"./ColumnMetadataArgs\"\nimport type { IndexMetadataArgs } from \"./IndexMetadataArgs\"\nimport type { EntityListenerMetadataArgs } from \"./EntityListenerMetadataArgs\"\nimport type { TableMetadataArgs } from \"./TableMetadataArgs\"\nimport type { NamingStrategyMetadataArgs } from \"./NamingStrategyMetadataArgs\"\nimport type { JoinTableMetadataArgs } from \"./JoinTableMetadataArgs\"\nimport type { JoinColumnMetadataArgs } from \"./JoinColumnMetadataArgs\"\nimport type { EmbeddedMetadataArgs } from \"./EmbeddedMetadataArgs\"\nimport type { EntitySubscriberMetadataArgs } from \"./EntitySubscriberMetadataArgs\"\nimport type { RelationIdMetadataArgs } from \"./RelationIdMetadataArgs\"\nimport type { InheritanceMetadataArgs } from \"./InheritanceMetadataArgs\"\nimport type { DiscriminatorValueMetadataArgs } from \"./DiscriminatorValueMetadataArgs\"\nimport type { TransactionEntityMetadataArgs } from \"./TransactionEntityMetadataArgs\"\nimport type { TransactionRepositoryMetadataArgs } from \"./TransactionRepositoryMetadataArgs\"\nimport { MetadataUtils } from \"../metadata-builder/MetadataUtils\"\nimport type { GeneratedMetadataArgs } from \"./GeneratedMetadataArgs\"\nimport type { TreeMetadataArgs } from \"./TreeMetadataArgs\"\nimport type { UniqueMetadataArgs } from \"./UniqueMetadataArgs\"\nimport type { CheckMetadataArgs } from \"./CheckMetadataArgs\"\nimport type { ExclusionMetadataArgs } from \"./ExclusionMetadataArgs\"\nimport type { ForeignKeyMetadataArgs } from \"./ForeignKeyMetadataArgs\"\n\n/**\n * Storage all metadatas args of all available types: tables, columns, subscribers, relations, etc.\n * Each metadata args represents some specifications of what it represents.\n * MetadataArgs used to create a real Metadata objects.\n */\nexport class MetadataArgsStorage {\n // -------------------------------------------------------------------------\n // Properties\n // -------------------------------------------------------------------------\n\n readonly tables: TableMetadataArgs[] = []\n readonly trees: TreeMetadataArgs[] = []\n readonly transactionEntityManagers: TransactionEntityMetadataArgs[] = []\n readonly transactionRepositories: TransactionRepositoryMetadataArgs[] = []\n readonly namingStrategies: NamingStrategyMetadataArgs[] = []\n readonly entitySubscribers: EntitySubscriberMetadataArgs[] = []\n readonly indices: IndexMetadataArgs[] = []\n readonly foreignKeys: ForeignKeyMetadataArgs[] = []\n readonly uniques: UniqueMetadataArgs[] = []\n readonly checks: CheckMetadataArgs[] = []\n readonly exclusions: ExclusionMetadataArgs[] = []\n readonly columns: ColumnMetadataArgs[] = []\n readonly generations: GeneratedMetadataArgs[] = []\n readonly relations: RelationMetadataArgs[] = []\n readonly joinColumns: JoinColumnMetadataArgs[] = []\n readonly joinTables: JoinTableMetadataArgs[] = []\n readonly entityListeners: EntityListenerMetadataArgs[] = []\n readonly relationIds: RelationIdMetadataArgs[] = []\n readonly embeddeds: EmbeddedMetadataArgs[] = []\n readonly inheritances: InheritanceMetadataArgs[] = []\n readonly discriminatorValues: DiscriminatorValueMetadataArgs[] = []\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n filterTables(target: Function | string): TableMetadataArgs[]\n filterTables(target: (Function | string)[]): TableMetadataArgs[]\n filterTables(\n target: (Function | string) | (Function | string)[],\n ): TableMetadataArgs[] {\n return this.filterByTarget(this.tables, target)\n }\n\n filterColumns(target: Function | string): ColumnMetadataArgs[]\n filterColumns(target: (Function | string)[]): ColumnMetadataArgs[]\n filterColumns(\n target: (Function | string) | (Function | string)[],\n ): ColumnMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.columns,\n target,\n )\n }\n\n findGenerated(\n target: Function | string,\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string) | (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined {\n return this.generations.find((generated) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(generated.target) !== -1\n : generated.target === target) &&\n generated.propertyName === propertyName\n )\n })\n }\n\n findTree(\n target: (Function | string) | (Function | string)[],\n ): TreeMetadataArgs | undefined {\n return this.trees.find((tree) => {\n return Array.isArray(target)\n ? target.indexOf(tree.target) !== -1\n : tree.target === target\n })\n }\n\n filterRelations(target: Function | string): RelationMetadataArgs[]\n filterRelations(target: (Function | string)[]): RelationMetadataArgs[]\n filterRelations(\n target: (Function | string) | (Function | string)[],\n ): RelationMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateRelationProperties(\n this.relations,\n target,\n )\n }\n\n filterRelationIds(target: Function | string): RelationIdMetadataArgs[]\n filterRelationIds(target: (Function | string)[]): RelationIdMetadataArgs[]\n filterRelationIds(\n target: (Function | string) | (Function | string)[],\n ): RelationIdMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationIds,\n target,\n )\n }\n\n filterIndices(target: Function | string): IndexMetadataArgs[]\n filterIndices(target: (Function | string)[]): IndexMetadataArgs[]\n filterIndices(\n target: (Function | string) | (Function | string)[],\n ): IndexMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.indices.filter((index) => {\n return Array.isArray(target)\n ? target.indexOf(index.target) !== -1\n : index.target === target\n })\n }\n\n filterForeignKeys(target: Function | string): ForeignKeyMetadataArgs[]\n filterForeignKeys(target: (Function | string)[]): ForeignKeyMetadataArgs[]\n filterForeignKeys(\n target: (Function | string) | (Function | string)[],\n ): ForeignKeyMetadataArgs[] {\n return this.foreignKeys.filter((foreignKey) => {\n return Array.isArray(target)\n ? target.indexOf(foreignKey.target) !== -1\n : foreignKey.target === target\n })\n }\n\n filterUniques(target: Function | string): UniqueMetadataArgs[]\n filterUniques(target: (Function | string)[]): UniqueMetadataArgs[]\n filterUniques(\n target: (Function | string) | (Function | string)[],\n ): UniqueMetadataArgs[] {\n return this.uniques.filter((unique) => {\n return Array.isArray(target)\n ? target.indexOf(unique.target) !== -1\n : unique.target === target\n })\n }\n\n filterChecks(target: Function | string): CheckMetadataArgs[]\n filterChecks(target: (Function | string)[]): CheckMetadataArgs[]\n filterChecks(\n target: (Function | string) | (Function | string)[],\n ): CheckMetadataArgs[] {\n return this.checks.filter((check) => {\n return Array.isArray(target)\n ? target.indexOf(check.target) !== -1\n : check.target === target\n })\n }\n\n filterExclusions(target: Function | string): ExclusionMetadataArgs[]\n filterExclusions(target: (Function | string)[]): ExclusionMetadataArgs[]\n filterExclusions(\n target: (Function | string) | (Function | string)[],\n ): ExclusionMetadataArgs[] {\n return this.exclusions.filter((exclusion) => {\n return Array.isArray(target)\n ? target.indexOf(exclusion.target) !== -1\n : exclusion.target === target\n })\n }\n\n filterListeners(target: Function | string): EntityListenerMetadataArgs[]\n filterListeners(target: (Function | string)[]): EntityListenerMetadataArgs[]\n filterListeners(\n target: (Function | string) | (Function | string)[],\n ): EntityListenerMetadataArgs[] {\n return this.filterByTarget(this.entityListeners, target)\n }\n\n filterEmbeddeds(target: Function | string): EmbeddedMetadataArgs[]\n filterEmbeddeds(target: (Function | string)[]): EmbeddedMetadataArgs[]\n filterEmbeddeds(\n target: (Function | string) | (Function | string)[],\n ): EmbeddedMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateEmbeddedProperties(\n this.embeddeds,\n target,\n )\n }\n\n findJoinTable(\n target: Function | string,\n propertyName: string,\n ): JoinTableMetadataArgs | undefined {\n return this.joinTables.find((joinTable) => {\n return (\n joinTable.target === target &&\n joinTable.propertyName === propertyName\n )\n })\n }\n\n filterJoinColumns(\n target: Function | string,\n propertyName: string,\n ): JoinColumnMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.joinColumns.filter((joinColumn) => {\n return (\n joinColumn.target === target &&\n joinColumn.propertyName === propertyName\n )\n })\n }\n\n filterSubscribers(target: Function | string): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string)[],\n ): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string) | (Function | string)[],\n ): EntitySubscriberMetadataArgs[] {\n return this.filterByTarget(this.entitySubscribers, target)\n }\n\n filterNamingStrategies(\n target: Function | string,\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string)[],\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string) | (Function | string)[],\n ): NamingStrategyMetadataArgs[] {\n return this.filterByTarget(this.namingStrategies, target)\n }\n\n filterTransactionEntityManagers(\n target: Function | string,\n propertyName: string,\n ): TransactionEntityMetadataArgs[] {\n return this.transactionEntityManagers.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterTransactionRepository(\n target: Function | string,\n propertyName: string,\n ): TransactionRepositoryMetadataArgs[] {\n return this.transactionRepositories.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterSingleTableChildren(target: Function | string): TableMetadataArgs[] {\n return this.tables.filter((table) => {\n return (\n typeof table.target === \"function\" &&\n typeof target === \"function\" &&\n MetadataUtils.isInherited(table.target, target) &&\n table.type === \"entity-child\"\n )\n })\n }\n\n findInheritanceType(\n target: Function | string,\n ): InheritanceMetadataArgs | undefined {\n return this.inheritances.find(\n (inheritance) => inheritance.target === target,\n )\n }\n\n findDiscriminatorValue(\n target: Function | string,\n ): DiscriminatorValueMetadataArgs | undefined {\n return this.discriminatorValues.find(\n (discriminatorValue) => discriminatorValue.target === target,\n )\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Filters given array by a given target or targets.\n * @param array\n * @param target\n */\n protected filterByTarget<T extends { target: Function | string }>(\n array: T[],\n target: (Function | string) | (Function | string)[],\n ): T[] {\n return array.filter((table) => {\n return Array.isArray(target)\n ? target.indexOf(table.target) !== -1\n : table.target === target\n })\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate property names.\n * @param array\n * @param target\n */\n protected filterByTargetAndWithoutDuplicateProperties<\n T extends { target: Function | string; propertyName: string },\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n if (\n !newArray.find(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n )\n newArray.push(item)\n }\n })\n return newArray\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate relation property names.\n * @param array\n * @param target\n */\n protected filterByTargetAndWithoutDuplicateRelationProperties<\n T extends RelationMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const existingIndex = newArray.findIndex(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n if (\n Array.isArray(target) &&\n existingIndex !== -1 &&\n target.indexOf(item.target) <\n target.indexOf(newArray[existingIndex].target)\n ) {\n const clone = Object.create(newArray[existingIndex])\n clone.type = item.type\n newArray[existingIndex] = clone\n } else if (existingIndex === -1) {\n newArray.push(item)\n }\n }\n })\n return newArray\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate embedded property names.\n * @param array\n * @param target\n */\n protected filterByTargetAndWithoutDuplicateEmbeddedProperties<\n T extends EmbeddedMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const isDuplicateEmbeddedProperty = newArray.find(\n (newItem: EmbeddedMetadataArgs): boolean =>\n newItem.prefix === item.prefix &&\n newItem.propertyName === item.propertyName,\n )\n if (!isDuplicateEmbeddedProperty) newArray.push(item)\n }\n })\n return newArray\n }\n}\n"]}
1
+ {"version":3,"file":"MetadataArgsStorage.js","sourceRoot":"../build/browser/src/","sources":["metadata-args/MetadataArgsStorage.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RelationMetadataArgs } from \"./RelationMetadataArgs\"\nimport type { ColumnMetadataArgs } from \"./ColumnMetadataArgs\"\nimport type { IndexMetadataArgs } from \"./IndexMetadataArgs\"\nimport type { EntityListenerMetadataArgs } from \"./EntityListenerMetadataArgs\"\nimport type { TableMetadataArgs } from \"./TableMetadataArgs\"\nimport type { NamingStrategyMetadataArgs } from \"./NamingStrategyMetadataArgs\"\nimport type { JoinTableMetadataArgs } from \"./JoinTableMetadataArgs\"\nimport type { JoinColumnMetadataArgs } from \"./JoinColumnMetadataArgs\"\nimport type { EmbeddedMetadataArgs } from \"./EmbeddedMetadataArgs\"\nimport type { EntitySubscriberMetadataArgs } from \"./EntitySubscriberMetadataArgs\"\nimport type { RelationIdMetadataArgs } from \"./RelationIdMetadataArgs\"\nimport type { InheritanceMetadataArgs } from \"./InheritanceMetadataArgs\"\nimport type { DiscriminatorValueMetadataArgs } from \"./DiscriminatorValueMetadataArgs\"\nimport type { TransactionEntityMetadataArgs } from \"./TransactionEntityMetadataArgs\"\nimport type { TransactionRepositoryMetadataArgs } from \"./TransactionRepositoryMetadataArgs\"\nimport { MetadataUtils } from \"../metadata-builder/MetadataUtils\"\nimport type { GeneratedMetadataArgs } from \"./GeneratedMetadataArgs\"\nimport type { TreeMetadataArgs } from \"./TreeMetadataArgs\"\nimport type { UniqueMetadataArgs } from \"./UniqueMetadataArgs\"\nimport type { CheckMetadataArgs } from \"./CheckMetadataArgs\"\nimport type { ExclusionMetadataArgs } from \"./ExclusionMetadataArgs\"\nimport type { ForeignKeyMetadataArgs } from \"./ForeignKeyMetadataArgs\"\n\n/**\n * Storage all metadatas args of all available types: tables, columns, subscribers, relations, etc.\n * Each metadata args represents some specifications of what it represents.\n * MetadataArgs used to create a real Metadata objects.\n */\nexport class MetadataArgsStorage {\n // -------------------------------------------------------------------------\n // Properties\n // -------------------------------------------------------------------------\n\n readonly tables: TableMetadataArgs[] = []\n readonly trees: TreeMetadataArgs[] = []\n readonly transactionEntityManagers: TransactionEntityMetadataArgs[] = []\n readonly transactionRepositories: TransactionRepositoryMetadataArgs[] = []\n readonly namingStrategies: NamingStrategyMetadataArgs[] = []\n readonly entitySubscribers: EntitySubscriberMetadataArgs[] = []\n readonly indices: IndexMetadataArgs[] = []\n readonly foreignKeys: ForeignKeyMetadataArgs[] = []\n readonly uniques: UniqueMetadataArgs[] = []\n readonly checks: CheckMetadataArgs[] = []\n readonly exclusions: ExclusionMetadataArgs[] = []\n readonly columns: ColumnMetadataArgs[] = []\n readonly generations: GeneratedMetadataArgs[] = []\n readonly relations: RelationMetadataArgs[] = []\n readonly joinColumns: JoinColumnMetadataArgs[] = []\n readonly joinTables: JoinTableMetadataArgs[] = []\n readonly entityListeners: EntityListenerMetadataArgs[] = []\n readonly relationIds: RelationIdMetadataArgs[] = []\n readonly embeddeds: EmbeddedMetadataArgs[] = []\n readonly inheritances: InheritanceMetadataArgs[] = []\n readonly discriminatorValues: DiscriminatorValueMetadataArgs[] = []\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n filterTables(target: Function | string): TableMetadataArgs[]\n filterTables(target: (Function | string)[]): TableMetadataArgs[]\n filterTables(\n target: (Function | string) | (Function | string)[],\n ): TableMetadataArgs[] {\n return this.filterByTarget(this.tables, target)\n }\n\n filterColumns(target: Function | string): ColumnMetadataArgs[]\n filterColumns(target: (Function | string)[]): ColumnMetadataArgs[]\n filterColumns(\n target: (Function | string) | (Function | string)[],\n ): ColumnMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.columns,\n target,\n )\n }\n\n findGenerated(\n target: Function | string,\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string) | (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined {\n return this.generations.find((generated) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(generated.target) !== -1\n : generated.target === target) &&\n generated.propertyName === propertyName\n )\n })\n }\n\n findTree(\n target: (Function | string) | (Function | string)[],\n ): TreeMetadataArgs | undefined {\n return this.trees.find((tree) => {\n return Array.isArray(target)\n ? target.indexOf(tree.target) !== -1\n : tree.target === target\n })\n }\n\n filterRelations(target: Function | string): RelationMetadataArgs[]\n filterRelations(target: (Function | string)[]): RelationMetadataArgs[]\n filterRelations(\n target: (Function | string) | (Function | string)[],\n ): RelationMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateRelationProperties(\n this.relations,\n target,\n )\n }\n\n filterRelationIds(target: Function | string): RelationIdMetadataArgs[]\n filterRelationIds(target: (Function | string)[]): RelationIdMetadataArgs[]\n filterRelationIds(\n target: (Function | string) | (Function | string)[],\n ): RelationIdMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationIds,\n target,\n )\n }\n\n filterIndices(target: Function | string): IndexMetadataArgs[]\n filterIndices(target: (Function | string)[]): IndexMetadataArgs[]\n filterIndices(\n target: (Function | string) | (Function | string)[],\n ): IndexMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.indices.filter((index) => {\n return Array.isArray(target)\n ? target.indexOf(index.target) !== -1\n : index.target === target\n })\n }\n\n filterForeignKeys(target: Function | string): ForeignKeyMetadataArgs[]\n filterForeignKeys(target: (Function | string)[]): ForeignKeyMetadataArgs[]\n filterForeignKeys(\n target: (Function | string) | (Function | string)[],\n ): ForeignKeyMetadataArgs[] {\n return this.foreignKeys.filter((foreignKey) => {\n return Array.isArray(target)\n ? target.indexOf(foreignKey.target) !== -1\n : foreignKey.target === target\n })\n }\n\n filterUniques(target: Function | string): UniqueMetadataArgs[]\n filterUniques(target: (Function | string)[]): UniqueMetadataArgs[]\n filterUniques(\n target: (Function | string) | (Function | string)[],\n ): UniqueMetadataArgs[] {\n return this.uniques.filter((unique) => {\n return Array.isArray(target)\n ? target.indexOf(unique.target) !== -1\n : unique.target === target\n })\n }\n\n filterChecks(target: Function | string): CheckMetadataArgs[]\n filterChecks(target: (Function | string)[]): CheckMetadataArgs[]\n filterChecks(\n target: (Function | string) | (Function | string)[],\n ): CheckMetadataArgs[] {\n return this.checks.filter((check) => {\n return Array.isArray(target)\n ? target.indexOf(check.target) !== -1\n : check.target === target\n })\n }\n\n filterExclusions(target: Function | string): ExclusionMetadataArgs[]\n filterExclusions(target: (Function | string)[]): ExclusionMetadataArgs[]\n filterExclusions(\n target: (Function | string) | (Function | string)[],\n ): ExclusionMetadataArgs[] {\n return this.exclusions.filter((exclusion) => {\n return Array.isArray(target)\n ? target.indexOf(exclusion.target) !== -1\n : exclusion.target === target\n })\n }\n\n filterListeners(target: Function | string): EntityListenerMetadataArgs[]\n filterListeners(target: (Function | string)[]): EntityListenerMetadataArgs[]\n filterListeners(\n target: (Function | string) | (Function | string)[],\n ): EntityListenerMetadataArgs[] {\n return this.filterByTarget(this.entityListeners, target)\n }\n\n filterEmbeddeds(target: Function | string): EmbeddedMetadataArgs[]\n filterEmbeddeds(target: (Function | string)[]): EmbeddedMetadataArgs[]\n filterEmbeddeds(\n target: (Function | string) | (Function | string)[],\n ): EmbeddedMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateEmbeddedProperties(\n this.embeddeds,\n target,\n )\n }\n\n findJoinTable(\n target: Function | string,\n propertyName: string,\n ): JoinTableMetadataArgs | undefined {\n return this.joinTables.find((joinTable) => {\n return (\n joinTable.target === target &&\n joinTable.propertyName === propertyName\n )\n })\n }\n\n filterJoinColumns(\n target: Function | string,\n propertyName: string,\n ): JoinColumnMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.joinColumns.filter((joinColumn) => {\n return (\n joinColumn.target === target &&\n joinColumn.propertyName === propertyName\n )\n })\n }\n\n filterSubscribers(target: Function | string): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string)[],\n ): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string) | (Function | string)[],\n ): EntitySubscriberMetadataArgs[] {\n return this.filterByTarget(this.entitySubscribers, target)\n }\n\n filterNamingStrategies(\n target: Function | string,\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string)[],\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string) | (Function | string)[],\n ): NamingStrategyMetadataArgs[] {\n return this.filterByTarget(this.namingStrategies, target)\n }\n\n filterTransactionEntityManagers(\n target: Function | string,\n propertyName: string,\n ): TransactionEntityMetadataArgs[] {\n return this.transactionEntityManagers.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterTransactionRepository(\n target: Function | string,\n propertyName: string,\n ): TransactionRepositoryMetadataArgs[] {\n return this.transactionRepositories.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterSingleTableChildren(target: Function | string): TableMetadataArgs[] {\n return this.tables.filter((table) => {\n return (\n typeof table.target === \"function\" &&\n typeof target === \"function\" &&\n MetadataUtils.isInherited(table.target, target) &&\n table.type === \"entity-child\"\n )\n })\n }\n\n findInheritanceType(\n target: Function | string,\n ): InheritanceMetadataArgs | undefined {\n return this.inheritances.find(\n (inheritance) => inheritance.target === target,\n )\n }\n\n findDiscriminatorValue(\n target: Function | string,\n ): DiscriminatorValueMetadataArgs | undefined {\n return this.discriminatorValues.find(\n (discriminatorValue) => discriminatorValue.target === target,\n )\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Filters given array by a given target or targets.\n *\n * @param array\n * @param target\n */\n protected filterByTarget<T extends { target: Function | string }>(\n array: T[],\n target: (Function | string) | (Function | string)[],\n ): T[] {\n return array.filter((table) => {\n return Array.isArray(target)\n ? target.indexOf(table.target) !== -1\n : table.target === target\n })\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate property names.\n *\n * @param array\n * @param target\n */\n protected filterByTargetAndWithoutDuplicateProperties<\n T extends { target: Function | string; propertyName: string },\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n if (\n !newArray.find(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n )\n newArray.push(item)\n }\n })\n return newArray\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate relation property names.\n *\n * @param array\n * @param target\n */\n protected filterByTargetAndWithoutDuplicateRelationProperties<\n T extends RelationMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const existingIndex = newArray.findIndex(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n if (\n Array.isArray(target) &&\n existingIndex !== -1 &&\n target.indexOf(item.target) <\n target.indexOf(newArray[existingIndex].target)\n ) {\n const clone = Object.create(newArray[existingIndex])\n clone.type = item.type\n newArray[existingIndex] = clone\n } else if (existingIndex === -1) {\n newArray.push(item)\n }\n }\n })\n return newArray\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate embedded property names.\n *\n * @param array\n * @param target\n */\n protected filterByTargetAndWithoutDuplicateEmbeddedProperties<\n T extends EmbeddedMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const isDuplicateEmbeddedProperty = newArray.find(\n (newItem: EmbeddedMetadataArgs): boolean =>\n newItem.prefix === item.prefix &&\n newItem.propertyName === item.propertyName,\n )\n if (!isDuplicateEmbeddedProperty) newArray.push(item)\n }\n })\n return newArray\n }\n}\n"]}
@@ -9,6 +9,7 @@ export declare class ClosureJunctionEntityMetadataBuilder {
9
9
  constructor(dataSource: DataSource);
10
10
  /**
11
11
  * Builds EntityMetadata for the closure junction of the given closure entity.
12
+ *
12
13
  * @param parentClosureEntityMetadata
13
14
  */
14
15
  build(parentClosureEntityMetadata: EntityMetadata): EntityMetadata;