typeorm 1.0.0-beta.1 → 1.0.0-beta.3

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 (1309) hide show
  1. package/README.md +1 -3
  2. package/browser/cache/DbQueryResultCache.d.ts +7 -0
  3. package/browser/cache/DbQueryResultCache.js +12 -4
  4. package/browser/cache/DbQueryResultCache.js.map +1 -1
  5. package/browser/cache/RedisQueryResultCache.d.ts +7 -0
  6. package/browser/cache/RedisQueryResultCache.js +15 -10
  7. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  8. package/browser/cli-ts-node-esm.js +2 -2
  9. package/browser/cli-ts-node-esm.js.map +1 -1
  10. package/browser/common/RelationType.d.ts +2 -0
  11. package/browser/common/RelationType.js.map +1 -1
  12. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -0
  13. package/browser/connection/ConnectionMetadataBuilder.js +3 -0
  14. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  15. package/browser/connection/ConnectionOptionsReader.d.ts +5 -4
  16. package/browser/connection/ConnectionOptionsReader.js +14 -12
  17. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  18. package/browser/data-source/BaseDataSourceOptions.d.ts +8 -0
  19. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  20. package/browser/data-source/DataSource.d.ts +21 -2
  21. package/browser/data-source/DataSource.js +37 -15
  22. package/browser/data-source/DataSource.js.map +1 -1
  23. package/browser/decorator/Check.d.ts +2 -0
  24. package/browser/decorator/Check.js +2 -1
  25. package/browser/decorator/Check.js.map +1 -1
  26. package/browser/decorator/Exclusion.d.ts +2 -0
  27. package/browser/decorator/Exclusion.js +1 -0
  28. package/browser/decorator/Exclusion.js.map +1 -1
  29. package/browser/decorator/ForeignKey.d.ts +3 -0
  30. package/browser/decorator/ForeignKey.js +1 -0
  31. package/browser/decorator/ForeignKey.js.map +1 -1
  32. package/browser/decorator/Generated.d.ts +1 -0
  33. package/browser/decorator/Generated.js +1 -0
  34. package/browser/decorator/Generated.js.map +1 -1
  35. package/browser/decorator/Index.d.ts +7 -0
  36. package/browser/decorator/Index.js +13 -13
  37. package/browser/decorator/Index.js.map +1 -1
  38. package/browser/decorator/Unique.d.ts +4 -0
  39. package/browser/decorator/Unique.js +6 -6
  40. package/browser/decorator/Unique.js.map +1 -1
  41. package/browser/decorator/columns/Column.d.ts +11 -0
  42. package/browser/decorator/columns/Column.js +3 -3
  43. package/browser/decorator/columns/Column.js.map +1 -1
  44. package/browser/decorator/columns/CreateDateColumn.d.ts +1 -0
  45. package/browser/decorator/columns/CreateDateColumn.js +2 -1
  46. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  47. package/browser/decorator/columns/DeleteDateColumn.d.ts +1 -0
  48. package/browser/decorator/columns/DeleteDateColumn.js +2 -1
  49. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  50. package/browser/decorator/columns/ObjectIdColumn.d.ts +1 -0
  51. package/browser/decorator/columns/ObjectIdColumn.js +3 -4
  52. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  53. package/browser/decorator/columns/PrimaryColumn.d.ts +2 -0
  54. package/browser/decorator/columns/PrimaryColumn.js +2 -2
  55. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  56. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +4 -0
  57. package/browser/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  58. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  59. package/browser/decorator/columns/UpdateDateColumn.d.ts +1 -0
  60. package/browser/decorator/columns/UpdateDateColumn.js +2 -1
  61. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  62. package/browser/decorator/columns/VersionColumn.d.ts +1 -0
  63. package/browser/decorator/columns/VersionColumn.js +2 -1
  64. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  65. package/browser/decorator/columns/ViewColumn.d.ts +1 -0
  66. package/browser/decorator/columns/ViewColumn.js +2 -1
  67. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  68. package/browser/decorator/columns/VirtualColumn.d.ts +2 -0
  69. package/browser/decorator/columns/VirtualColumn.js +1 -0
  70. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  71. package/browser/decorator/entity/ChildEntity.d.ts +1 -0
  72. package/browser/decorator/entity/ChildEntity.js +1 -0
  73. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  74. package/browser/decorator/entity/Entity.d.ts +2 -0
  75. package/browser/decorator/entity/Entity.js +7 -6
  76. package/browser/decorator/entity/Entity.js.map +1 -1
  77. package/browser/decorator/entity/TableInheritance.d.ts +1 -0
  78. package/browser/decorator/entity/TableInheritance.js +3 -2
  79. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  80. package/browser/decorator/entity-view/ViewEntity.d.ts +2 -0
  81. package/browser/decorator/entity-view/ViewEntity.js +4 -3
  82. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  83. package/browser/decorator/options/ColumnOptions.d.ts +3 -0
  84. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  85. package/browser/decorator/options/EntityOptions.d.ts +1 -0
  86. package/browser/decorator/options/EntityOptions.js.map +1 -1
  87. package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
  88. package/browser/decorator/options/RelationOptions.d.ts +2 -0
  89. package/browser/decorator/options/RelationOptions.js.map +1 -1
  90. package/browser/decorator/options/VirtualColumnOptions.d.ts +1 -0
  91. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  92. package/browser/decorator/relations/JoinColumn.d.ts +2 -0
  93. package/browser/decorator/relations/JoinColumn.js +2 -1
  94. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  95. package/browser/decorator/relations/JoinTable.d.ts +2 -0
  96. package/browser/decorator/relations/JoinTable.js +5 -4
  97. package/browser/decorator/relations/JoinTable.js.map +1 -1
  98. package/browser/decorator/relations/ManyToMany.d.ts +2 -0
  99. package/browser/decorator/relations/ManyToMany.js +2 -2
  100. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  101. package/browser/decorator/relations/ManyToOne.d.ts +2 -0
  102. package/browser/decorator/relations/ManyToOne.js +3 -3
  103. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  104. package/browser/decorator/relations/OneToMany.d.ts +1 -0
  105. package/browser/decorator/relations/OneToMany.js +3 -3
  106. package/browser/decorator/relations/OneToMany.js.map +1 -1
  107. package/browser/decorator/relations/OneToOne.d.ts +2 -0
  108. package/browser/decorator/relations/OneToOne.js +3 -3
  109. package/browser/decorator/relations/OneToOne.js.map +1 -1
  110. package/browser/decorator/relations/RelationId.d.ts +1 -0
  111. package/browser/decorator/relations/RelationId.js +1 -0
  112. package/browser/decorator/relations/RelationId.js.map +1 -1
  113. package/browser/decorator/tree/Tree.d.ts +1 -0
  114. package/browser/decorator/tree/Tree.js +1 -0
  115. package/browser/decorator/tree/Tree.js.map +1 -1
  116. package/browser/decorator/tree/TreeChildren.d.ts +1 -0
  117. package/browser/decorator/tree/TreeChildren.js +3 -3
  118. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  119. package/browser/decorator/tree/TreeParent.d.ts +1 -0
  120. package/browser/decorator/tree/TreeParent.js +3 -3
  121. package/browser/decorator/tree/TreeParent.js.map +1 -1
  122. package/browser/driver/Driver.d.ts +5 -0
  123. package/browser/driver/Driver.js.map +1 -1
  124. package/browser/driver/DriverFactory.d.ts +1 -0
  125. package/browser/driver/DriverFactory.js +1 -0
  126. package/browser/driver/DriverFactory.js.map +1 -1
  127. package/browser/driver/DriverUtils.d.ts +8 -0
  128. package/browser/driver/DriverUtils.js +44 -33
  129. package/browser/driver/DriverUtils.js.map +1 -1
  130. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -0
  131. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  132. package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +1 -0
  133. package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -1
  134. package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +37 -0
  135. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +57 -20
  136. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  137. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +66 -1
  138. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +99 -36
  139. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  140. package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +13 -0
  141. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js +26 -5
  142. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  143. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -1
  144. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +30 -1
  145. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  146. package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +1 -0
  147. package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -1
  148. package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +3 -0
  149. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +5 -3
  150. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  151. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +3 -1
  152. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +4 -0
  153. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  154. package/browser/driver/capacitor/CapacitorDriver.d.ts +1 -0
  155. package/browser/driver/capacitor/CapacitorDriver.js +3 -3
  156. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  157. package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +3 -1
  158. package/browser/driver/capacitor/CapacitorQueryRunner.js +9 -3
  159. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  160. package/browser/driver/cockroachdb/CockroachDataSourceOptions.d.ts +1 -0
  161. package/browser/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -1
  162. package/browser/driver/cockroachdb/CockroachDriver.d.ts +35 -0
  163. package/browser/driver/cockroachdb/CockroachDriver.js +67 -32
  164. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  165. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +76 -1
  166. package/browser/driver/cockroachdb/CockroachQueryRunner.js +189 -160
  167. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  168. package/browser/driver/cordova/CordovaDriver.d.ts +6 -0
  169. package/browser/driver/cordova/CordovaDriver.js +14 -4
  170. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  171. package/browser/driver/cordova/CordovaQueryRunner.d.ts +3 -1
  172. package/browser/driver/cordova/CordovaQueryRunner.js +5 -1
  173. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  174. package/browser/driver/expo/ExpoDataSourceOptions.d.ts +5 -3
  175. package/browser/driver/expo/ExpoDataSourceOptions.js.map +1 -1
  176. package/browser/driver/expo/ExpoDriver.d.ts +16 -1
  177. package/browser/driver/expo/ExpoDriver.js +69 -8
  178. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  179. package/browser/driver/expo/ExpoQueryRunner.d.ts +2 -1
  180. package/browser/driver/expo/ExpoQueryRunner.js +3 -0
  181. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  182. package/browser/driver/mongodb/MongoDriver.d.ts +25 -0
  183. package/browser/driver/mongodb/MongoDriver.js +35 -6
  184. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  185. package/browser/driver/mongodb/MongoQueryRunner.d.ts +84 -0
  186. package/browser/driver/mongodb/MongoQueryRunner.js +102 -18
  187. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  188. package/browser/driver/mongodb/bson.typings.d.ts +1 -0
  189. package/browser/driver/mongodb/bson.typings.js.map +1 -1
  190. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -0
  191. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  192. package/browser/driver/mysql/MysqlDataSourceOptions.d.ts +2 -0
  193. package/browser/driver/mysql/MysqlDataSourceOptions.js.map +1 -1
  194. package/browser/driver/mysql/MysqlDriver.d.ts +37 -0
  195. package/browser/driver/mysql/MysqlDriver.js +61 -21
  196. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  197. package/browser/driver/mysql/MysqlQueryRunner.d.ts +66 -1
  198. package/browser/driver/mysql/MysqlQueryRunner.js +218 -193
  199. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  200. package/browser/driver/nativescript/NativescriptDriver.d.ts +1 -0
  201. package/browser/driver/nativescript/NativescriptDriver.js +3 -4
  202. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  203. package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +3 -1
  204. package/browser/driver/nativescript/NativescriptQueryRunner.js +6 -1
  205. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  206. package/browser/driver/oracle/OracleDriver.d.ts +32 -0
  207. package/browser/driver/oracle/OracleDriver.js +50 -17
  208. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  209. package/browser/driver/oracle/OracleQueryRunner.d.ts +66 -0
  210. package/browser/driver/oracle/OracleQueryRunner.js +119 -83
  211. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  212. package/browser/driver/postgres/PostgresDataSourceOptions.d.ts +2 -0
  213. package/browser/driver/postgres/PostgresDataSourceOptions.js.map +1 -1
  214. package/browser/driver/postgres/PostgresDriver.d.ts +37 -0
  215. package/browser/driver/postgres/PostgresDriver.js +75 -39
  216. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  217. package/browser/driver/postgres/PostgresQueryRunner.d.ts +83 -1
  218. package/browser/driver/postgres/PostgresQueryRunner.js +162 -127
  219. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  220. package/browser/driver/react-native/ReactNativeDriver.d.ts +29 -0
  221. package/browser/driver/react-native/ReactNativeDriver.js +46 -13
  222. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  223. package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +3 -1
  224. package/browser/driver/react-native/ReactNativeQueryRunner.js +6 -1
  225. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  226. package/browser/driver/sap/SapDataSourceOptions.d.ts +1 -0
  227. package/browser/driver/sap/SapDataSourceOptions.js.map +1 -1
  228. package/browser/driver/sap/SapDriver.d.ts +30 -0
  229. package/browser/driver/sap/SapDriver.js +50 -14
  230. package/browser/driver/sap/SapDriver.js.map +1 -1
  231. package/browser/driver/sap/SapQueryRunner.d.ts +68 -1
  232. package/browser/driver/sap/SapQueryRunner.js +270 -70
  233. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  234. package/browser/driver/spanner/SpannerDataSourceOptions.d.ts +1 -0
  235. package/browser/driver/spanner/SpannerDataSourceOptions.js.map +1 -1
  236. package/browser/driver/spanner/SpannerDriver.d.ts +33 -0
  237. package/browser/driver/spanner/SpannerDriver.js +53 -15
  238. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  239. package/browser/driver/spanner/SpannerQueryRunner.d.ts +80 -1
  240. package/browser/driver/spanner/SpannerQueryRunner.js +164 -39
  241. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  242. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +30 -0
  243. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +44 -78
  244. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  245. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +59 -0
  246. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +91 -51
  247. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  248. package/browser/driver/sqljs/SqljsDriver.d.ts +5 -0
  249. package/browser/driver/sqljs/SqljsDriver.js +8 -4
  250. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  251. package/browser/driver/sqljs/SqljsQueryRunner.d.ts +3 -1
  252. package/browser/driver/sqljs/SqljsQueryRunner.js +4 -0
  253. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  254. package/browser/driver/sqlserver/MssqlParameter.d.ts +1 -0
  255. package/browser/driver/sqlserver/MssqlParameter.js +1 -0
  256. package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
  257. package/browser/driver/sqlserver/SqlServerDataSourceOptions.d.ts +14 -5
  258. package/browser/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -1
  259. package/browser/driver/sqlserver/SqlServerDriver.d.ts +42 -0
  260. package/browser/driver/sqlserver/SqlServerDriver.js +101 -27
  261. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  262. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +78 -11
  263. package/browser/driver/sqlserver/SqlServerQueryRunner.js +222 -220
  264. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  265. package/browser/driver/types/IsolationLevel.d.ts +2 -1
  266. package/browser/driver/types/IsolationLevel.js +8 -0
  267. package/browser/driver/types/IsolationLevel.js.map +1 -1
  268. package/browser/driver/validate-isolation-level.d.ts +9 -0
  269. package/browser/driver/validate-isolation-level.js +23 -0
  270. package/browser/driver/validate-isolation-level.js.map +1 -0
  271. package/browser/entity-manager/EntityManager.d.ts +39 -2
  272. package/browser/entity-manager/EntityManager.js +58 -12
  273. package/browser/entity-manager/EntityManager.js.map +1 -1
  274. package/browser/entity-manager/EntityManagerFactory.d.ts +1 -0
  275. package/browser/entity-manager/EntityManagerFactory.js +1 -0
  276. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  277. package/browser/entity-manager/MongoEntityManager.d.ts +54 -1
  278. package/browser/entity-manager/MongoEntityManager.js +103 -12
  279. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  280. package/browser/entity-manager/SqljsEntityManager.d.ts +2 -0
  281. package/browser/entity-manager/SqljsEntityManager.js +2 -0
  282. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  283. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +1 -0
  284. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  285. package/browser/entity-schema/EntitySchemaOptions.d.ts +1 -0
  286. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  287. package/browser/entity-schema/EntitySchemaTransformer.d.ts +1 -0
  288. package/browser/entity-schema/EntitySchemaTransformer.js +25 -26
  289. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  290. package/browser/error/InitializedRelationError.d.ts +1 -0
  291. package/browser/error/InitializedRelationError.js +1 -0
  292. package/browser/error/InitializedRelationError.js.map +1 -1
  293. package/browser/error/NamedPlaceholdersNotSupportedError.d.ts +7 -0
  294. package/browser/error/NamedPlaceholdersNotSupportedError.js +14 -0
  295. package/browser/error/NamedPlaceholdersNotSupportedError.js.map +1 -0
  296. package/browser/error/QueryFailedError.d.ts +3 -2
  297. package/browser/error/QueryFailedError.js.map +1 -1
  298. package/browser/error/index.d.ts +1 -0
  299. package/browser/error/index.js +1 -0
  300. package/browser/error/index.js.map +1 -1
  301. package/browser/find-options/FindOptionsUtils.d.ts +7 -0
  302. package/browser/find-options/FindOptionsUtils.js +7 -0
  303. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  304. package/browser/find-options/OrderByCondition.d.ts +2 -1
  305. package/browser/find-options/OrderByCondition.js.map +1 -1
  306. package/browser/find-options/operator/Any.d.ts +4 -1
  307. package/browser/find-options/operator/Any.js +4 -1
  308. package/browser/find-options/operator/Any.js.map +1 -1
  309. package/browser/find-options/operator/ArrayContainedBy.d.ts +4 -1
  310. package/browser/find-options/operator/ArrayContainedBy.js +4 -1
  311. package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
  312. package/browser/find-options/operator/ArrayContains.d.ts +4 -1
  313. package/browser/find-options/operator/ArrayContains.js +4 -1
  314. package/browser/find-options/operator/ArrayContains.js.map +1 -1
  315. package/browser/find-options/operator/ArrayOverlap.d.ts +4 -1
  316. package/browser/find-options/operator/ArrayOverlap.js +4 -1
  317. package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
  318. package/browser/find-options/operator/Between.d.ts +4 -1
  319. package/browser/find-options/operator/Between.js +4 -1
  320. package/browser/find-options/operator/Between.js.map +1 -1
  321. package/browser/find-options/operator/Equal.d.ts +6 -3
  322. package/browser/find-options/operator/Equal.js +6 -3
  323. package/browser/find-options/operator/Equal.js.map +1 -1
  324. package/browser/find-options/operator/ILike.d.ts +4 -1
  325. package/browser/find-options/operator/ILike.js +4 -1
  326. package/browser/find-options/operator/ILike.js.map +1 -1
  327. package/browser/find-options/operator/In.d.ts +4 -1
  328. package/browser/find-options/operator/In.js +4 -1
  329. package/browser/find-options/operator/In.js.map +1 -1
  330. package/browser/find-options/operator/IsNull.d.ts +4 -1
  331. package/browser/find-options/operator/IsNull.js +4 -1
  332. package/browser/find-options/operator/IsNull.js.map +1 -1
  333. package/browser/find-options/operator/JsonContains.d.ts +4 -1
  334. package/browser/find-options/operator/JsonContains.js +4 -1
  335. package/browser/find-options/operator/JsonContains.js.map +1 -1
  336. package/browser/find-options/operator/LessThan.d.ts +4 -1
  337. package/browser/find-options/operator/LessThan.js +4 -1
  338. package/browser/find-options/operator/LessThan.js.map +1 -1
  339. package/browser/find-options/operator/LessThanOrEqual.d.ts +4 -1
  340. package/browser/find-options/operator/LessThanOrEqual.js +4 -1
  341. package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
  342. package/browser/find-options/operator/Like.d.ts +4 -1
  343. package/browser/find-options/operator/Like.js +4 -1
  344. package/browser/find-options/operator/Like.js.map +1 -1
  345. package/browser/find-options/operator/MoreThan.d.ts +4 -1
  346. package/browser/find-options/operator/MoreThan.js +4 -1
  347. package/browser/find-options/operator/MoreThan.js.map +1 -1
  348. package/browser/find-options/operator/MoreThanOrEqual.d.ts +4 -1
  349. package/browser/find-options/operator/MoreThanOrEqual.js +4 -1
  350. package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
  351. package/browser/find-options/operator/Not.d.ts +4 -1
  352. package/browser/find-options/operator/Not.js +4 -1
  353. package/browser/find-options/operator/Not.js.map +1 -1
  354. package/browser/find-options/operator/Raw.d.ts +12 -3
  355. package/browser/find-options/operator/Raw.js.map +1 -1
  356. package/browser/globals.js +1 -2
  357. package/browser/globals.js.map +1 -1
  358. package/browser/index.d.ts +0 -1
  359. package/browser/index.js +1 -3
  360. package/browser/index.js.map +1 -1
  361. package/browser/logger/AbstractLogger.d.ts +14 -4
  362. package/browser/logger/AbstractLogger.js +11 -1
  363. package/browser/logger/AbstractLogger.js.map +1 -1
  364. package/browser/logger/AdvancedConsoleLogger.d.ts +1 -0
  365. package/browser/logger/AdvancedConsoleLogger.js +1 -0
  366. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  367. package/browser/logger/DebugLogger.d.ts +2 -0
  368. package/browser/logger/DebugLogger.js +5 -1
  369. package/browser/logger/DebugLogger.js.map +1 -1
  370. package/browser/logger/FileLogger.d.ts +13 -2
  371. package/browser/logger/FileLogger.js +4 -5
  372. package/browser/logger/FileLogger.js.map +1 -1
  373. package/browser/logger/FormattedConsoleLogger.d.ts +1 -0
  374. package/browser/logger/FormattedConsoleLogger.js +1 -0
  375. package/browser/logger/FormattedConsoleLogger.js.map +1 -1
  376. package/browser/logger/Logger.d.ts +5 -4
  377. package/browser/logger/Logger.js.map +1 -1
  378. package/browser/logger/LoggerFactory.d.ts +1 -0
  379. package/browser/logger/LoggerFactory.js +1 -0
  380. package/browser/logger/LoggerFactory.js.map +1 -1
  381. package/browser/logger/LoggerOptions.d.ts +0 -9
  382. package/browser/logger/LoggerOptions.js.map +1 -1
  383. package/browser/logger/SimpleConsoleLogger.d.ts +1 -0
  384. package/browser/logger/SimpleConsoleLogger.js +1 -0
  385. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  386. package/browser/metadata/CheckMetadata.d.ts +1 -0
  387. package/browser/metadata/CheckMetadata.js +4 -3
  388. package/browser/metadata/CheckMetadata.js.map +1 -1
  389. package/browser/metadata/ColumnMetadata.d.ts +8 -5
  390. package/browser/metadata/ColumnMetadata.js +17 -25
  391. package/browser/metadata/ColumnMetadata.js.map +1 -1
  392. package/browser/metadata/EmbeddedMetadata.d.ts +1 -0
  393. package/browser/metadata/EmbeddedMetadata.js +1 -0
  394. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  395. package/browser/metadata/EntityListenerMetadata.d.ts +3 -0
  396. package/browser/metadata/EntityListenerMetadata.js +3 -0
  397. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  398. package/browser/metadata/EntityMetadata.d.ts +25 -5
  399. package/browser/metadata/EntityMetadata.js +32 -12
  400. package/browser/metadata/EntityMetadata.js.map +1 -1
  401. package/browser/metadata/ExclusionMetadata.d.ts +1 -0
  402. package/browser/metadata/ExclusionMetadata.js +4 -3
  403. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  404. package/browser/metadata/ForeignKeyMetadata.d.ts +1 -0
  405. package/browser/metadata/ForeignKeyMetadata.js +6 -5
  406. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  407. package/browser/metadata/IndexMetadata.d.ts +1 -0
  408. package/browser/metadata/IndexMetadata.js +4 -3
  409. package/browser/metadata/IndexMetadata.js.map +1 -1
  410. package/browser/metadata/RelationIdMetadata.d.ts +1 -0
  411. package/browser/metadata/RelationIdMetadata.js +1 -0
  412. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  413. package/browser/metadata/RelationMetadata.d.ts +8 -0
  414. package/browser/metadata/RelationMetadata.js +15 -15
  415. package/browser/metadata/RelationMetadata.js.map +1 -1
  416. package/browser/metadata/UniqueMetadata.d.ts +1 -0
  417. package/browser/metadata/UniqueMetadata.js +4 -3
  418. package/browser/metadata/UniqueMetadata.js.map +1 -1
  419. package/browser/metadata-args/MetadataArgsStorage.d.ts +4 -0
  420. package/browser/metadata-args/MetadataArgsStorage.js +4 -0
  421. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  422. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -0
  423. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +7 -11
  424. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  425. package/browser/metadata-builder/EntityMetadataBuilder.d.ts +7 -0
  426. package/browser/metadata-builder/EntityMetadataBuilder.js +11 -6
  427. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  428. package/browser/metadata-builder/EntityMetadataValidator.d.ts +4 -0
  429. package/browser/metadata-builder/EntityMetadataValidator.js +6 -43
  430. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  431. package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -0
  432. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +39 -20
  433. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  434. package/browser/metadata-builder/MetadataUtils.d.ts +3 -0
  435. package/browser/metadata-builder/MetadataUtils.js +4 -1
  436. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  437. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -0
  438. package/browser/metadata-builder/RelationJoinColumnBuilder.js +17 -1
  439. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  440. package/browser/migration/MigrationExecutor.d.ts +9 -0
  441. package/browser/migration/MigrationExecutor.js +16 -7
  442. package/browser/migration/MigrationExecutor.js.map +1 -1
  443. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +7 -23
  444. package/browser/naming-strategy/DefaultNamingStrategy.js +21 -36
  445. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  446. package/browser/naming-strategy/NamingStrategyInterface.d.ts +11 -13
  447. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  448. package/browser/persistence/EntityPersistExecutor.js +22 -12
  449. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  450. package/browser/persistence/Subject.js +4 -6
  451. package/browser/persistence/Subject.js.map +1 -1
  452. package/browser/persistence/SubjectChangedColumnsComputer.d.ts +3 -0
  453. package/browser/persistence/SubjectChangedColumnsComputer.js +3 -0
  454. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  455. package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +1 -0
  456. package/browser/persistence/SubjectDatabaseEntityLoader.js +18 -6
  457. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  458. package/browser/persistence/SubjectExecutor.d.ts +2 -0
  459. package/browser/persistence/SubjectExecutor.js +65 -57
  460. package/browser/persistence/SubjectExecutor.js.map +1 -1
  461. package/browser/persistence/SubjectTopologicalSorter.d.ts +4 -0
  462. package/browser/persistence/SubjectTopologicalSorter.js +4 -0
  463. package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
  464. package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +2 -0
  465. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +37 -11
  466. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  467. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +11 -8
  468. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -13
  469. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  470. package/browser/persistence/subject-builder/OneToManySubjectBuilder.d.ts +9 -10
  471. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +30 -24
  472. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  473. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +9 -10
  474. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +9 -10
  475. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  476. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +4 -0
  477. package/browser/persistence/tree/ClosureSubjectExecutor.js +10 -8
  478. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  479. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -0
  480. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +8 -6
  481. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  482. package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +5 -0
  483. package/browser/persistence/tree/NestedSetSubjectExecutor.js +10 -5
  484. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  485. package/browser/platform/PlatformTools.d.ts +9 -0
  486. package/browser/platform/PlatformTools.js +11 -2
  487. package/browser/platform/PlatformTools.js.map +1 -1
  488. package/browser/query-builder/Alias.js +1 -1
  489. package/browser/query-builder/Alias.js.map +1 -1
  490. package/browser/query-builder/Brackets.d.ts +1 -0
  491. package/browser/query-builder/Brackets.js +1 -0
  492. package/browser/query-builder/Brackets.js.map +1 -1
  493. package/browser/query-builder/DeleteQueryBuilder.d.ts +7 -0
  494. package/browser/query-builder/DeleteQueryBuilder.js +9 -0
  495. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  496. package/browser/query-builder/InsertQueryBuilder.d.ts +9 -0
  497. package/browser/query-builder/InsertQueryBuilder.js +14 -8
  498. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  499. package/browser/query-builder/JoinAttribute.js +3 -3
  500. package/browser/query-builder/JoinAttribute.js.map +1 -1
  501. package/browser/query-builder/QueryBuilder.d.ts +24 -4
  502. package/browser/query-builder/QueryBuilder.js +51 -18
  503. package/browser/query-builder/QueryBuilder.js.map +1 -1
  504. package/browser/query-builder/QueryBuilderUtils.d.ts +1 -0
  505. package/browser/query-builder/QueryBuilderUtils.js +1 -0
  506. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  507. package/browser/query-builder/QueryExpressionMap.d.ts +5 -0
  508. package/browser/query-builder/QueryExpressionMap.js +4 -1
  509. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  510. package/browser/query-builder/RelationIdLoader.d.ts +6 -35
  511. package/browser/query-builder/RelationIdLoader.js +19 -43
  512. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  513. package/browser/query-builder/RelationLoader.d.ts +11 -2
  514. package/browser/query-builder/RelationLoader.js +20 -17
  515. package/browser/query-builder/RelationLoader.js.map +1 -1
  516. package/browser/query-builder/RelationQueryBuilder.d.ts +5 -0
  517. package/browser/query-builder/RelationQueryBuilder.js +5 -0
  518. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  519. package/browser/query-builder/RelationRemover.d.ts +1 -0
  520. package/browser/query-builder/RelationRemover.js +1 -0
  521. package/browser/query-builder/RelationRemover.js.map +1 -1
  522. package/browser/query-builder/RelationUpdater.d.ts +1 -0
  523. package/browser/query-builder/RelationUpdater.js +1 -0
  524. package/browser/query-builder/RelationUpdater.js.map +1 -1
  525. package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +2 -0
  526. package/browser/query-builder/ReturningResultsEntityUpdator.js +3 -1
  527. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  528. package/browser/query-builder/SelectQueryBuilder.d.ts +31 -8
  529. package/browser/query-builder/SelectQueryBuilder.js +87 -53
  530. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  531. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +11 -0
  532. package/browser/query-builder/SoftDeleteQueryBuilder.js +15 -0
  533. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  534. package/browser/query-builder/UpdateQueryBuilder.d.ts +11 -0
  535. package/browser/query-builder/UpdateQueryBuilder.js +16 -1
  536. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  537. package/browser/query-builder/relation-id/RelationIdAttribute.js +5 -5
  538. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  539. package/browser/query-builder/relation-id/RelationIdLoader.d.ts +2 -1
  540. package/browser/query-builder/relation-id/RelationIdLoader.js +22 -12
  541. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  542. package/browser/query-builder/transformer/DocumentToEntityTransformer.js +3 -16
  543. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  544. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +2 -4
  545. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  546. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +1 -0
  547. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  548. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  549. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +6 -0
  550. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -7
  551. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  552. package/browser/query-runner/BaseQueryRunner.d.ts +65 -22
  553. package/browser/query-runner/BaseQueryRunner.js +97 -70
  554. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  555. package/browser/query-runner/QueryRunner.d.ts +16 -3
  556. package/browser/query-runner/QueryRunner.js.map +1 -1
  557. package/browser/repository/BaseEntity.d.ts +34 -1
  558. package/browser/repository/BaseEntity.js +36 -0
  559. package/browser/repository/BaseEntity.js.map +1 -1
  560. package/browser/repository/MongoRepository.d.ts +39 -0
  561. package/browser/repository/MongoRepository.js +41 -2
  562. package/browser/repository/MongoRepository.js.map +1 -1
  563. package/browser/repository/Repository.d.ts +38 -2
  564. package/browser/repository/Repository.js +43 -2
  565. package/browser/repository/Repository.js.map +1 -1
  566. package/browser/repository/TreeRepository.d.ts +11 -0
  567. package/browser/repository/TreeRepository.js +12 -1
  568. package/browser/repository/TreeRepository.js.map +1 -1
  569. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +6 -4
  570. package/browser/schema-builder/RdbmsSchemaBuilder.js +10 -13
  571. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  572. package/browser/schema-builder/table/Table.d.ts +17 -0
  573. package/browser/schema-builder/table/Table.js +19 -2
  574. package/browser/schema-builder/table/Table.js.map +1 -1
  575. package/browser/schema-builder/table/TableCheck.d.ts +1 -0
  576. package/browser/schema-builder/table/TableCheck.js +1 -0
  577. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  578. package/browser/schema-builder/table/TableColumn.js +7 -7
  579. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  580. package/browser/schema-builder/table/TableExclusion.d.ts +1 -0
  581. package/browser/schema-builder/table/TableExclusion.js +1 -0
  582. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  583. package/browser/schema-builder/table/TableForeignKey.d.ts +1 -0
  584. package/browser/schema-builder/table/TableForeignKey.js +1 -0
  585. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  586. package/browser/schema-builder/table/TableIndex.d.ts +1 -0
  587. package/browser/schema-builder/table/TableIndex.js +2 -1
  588. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  589. package/browser/schema-builder/table/TableUnique.d.ts +1 -0
  590. package/browser/schema-builder/table/TableUnique.js +1 -0
  591. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  592. package/browser/schema-builder/util/ViewUtils.d.ts +1 -0
  593. package/browser/schema-builder/util/ViewUtils.js +1 -0
  594. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  595. package/browser/schema-builder/view/View.d.ts +3 -0
  596. package/browser/schema-builder/view/View.js +3 -0
  597. package/browser/schema-builder/view/View.js.map +1 -1
  598. package/browser/subscriber/Broadcaster.d.ts +24 -4
  599. package/browser/subscriber/Broadcaster.js +25 -6
  600. package/browser/subscriber/Broadcaster.js.map +1 -1
  601. package/browser/subscriber/event/BaseEvent.d.ts +1 -0
  602. package/browser/subscriber/event/BaseEvent.js.map +1 -1
  603. package/browser/subscriber/event/QueryEvent.d.ts +2 -1
  604. package/browser/subscriber/event/QueryEvent.js.map +1 -1
  605. package/browser/util/DateUtils.d.ts +15 -0
  606. package/browser/util/DateUtils.js +15 -0
  607. package/browser/util/DateUtils.js.map +1 -1
  608. package/browser/util/DepGraph.d.ts +10 -0
  609. package/browser/util/DepGraph.js +11 -0
  610. package/browser/util/DepGraph.js.map +1 -1
  611. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -0
  612. package/browser/util/DirectoryExportedClassesLoader.js +2 -1
  613. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  614. package/browser/util/ImportUtils.js +1 -1
  615. package/browser/util/ImportUtils.js.map +1 -1
  616. package/browser/util/ObjectUtils.d.ts +6 -0
  617. package/browser/util/ObjectUtils.js +4 -0
  618. package/browser/util/ObjectUtils.js.map +1 -1
  619. package/browser/util/OrmUtils.d.ts +14 -0
  620. package/browser/util/OrmUtils.js +19 -7
  621. package/browser/util/OrmUtils.js.map +1 -1
  622. package/browser/util/PathUtils.d.ts +2 -0
  623. package/browser/util/PathUtils.js +3 -1
  624. package/browser/util/PathUtils.js.map +1 -1
  625. package/browser/util/RandomGenerator.d.ts +3 -10
  626. package/browser/util/RandomGenerator.js +3 -10
  627. package/browser/util/RandomGenerator.js.map +1 -1
  628. package/browser/util/StringUtils.d.ts +11 -4
  629. package/browser/util/StringUtils.js +21 -13
  630. package/browser/util/StringUtils.js.map +1 -1
  631. package/browser/util/TreeRepositoryUtils.js +2 -2
  632. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  633. package/browser/util/escapeRegExp.js +1 -1
  634. package/browser/util/escapeRegExp.js.map +1 -1
  635. package/cache/DbQueryResultCache.d.ts +7 -0
  636. package/cache/DbQueryResultCache.js +12 -4
  637. package/cache/DbQueryResultCache.js.map +1 -1
  638. package/cache/RedisQueryResultCache.d.ts +7 -0
  639. package/cache/RedisQueryResultCache.js +15 -10
  640. package/cache/RedisQueryResultCache.js.map +1 -1
  641. package/cli-ts-node-esm.js +2 -2
  642. package/cli-ts-node-esm.js.map +1 -1
  643. package/commands/CacheClearCommand.js +1 -1
  644. package/commands/CacheClearCommand.js.map +1 -1
  645. package/commands/CommandUtils.d.ts +4 -0
  646. package/commands/CommandUtils.js +4 -0
  647. package/commands/CommandUtils.js.map +1 -1
  648. package/commands/EntityCreateCommand.d.ts +1 -0
  649. package/commands/EntityCreateCommand.js +1 -0
  650. package/commands/EntityCreateCommand.js.map +1 -1
  651. package/commands/InitCommand.d.ts +10 -3
  652. package/commands/InitCommand.js +19 -39
  653. package/commands/InitCommand.js.map +1 -1
  654. package/commands/MigrationCreateCommand.d.ts +2 -0
  655. package/commands/MigrationCreateCommand.js +2 -0
  656. package/commands/MigrationCreateCommand.js.map +1 -1
  657. package/commands/MigrationGenerateCommand.d.ts +3 -0
  658. package/commands/MigrationGenerateCommand.js +7 -2
  659. package/commands/MigrationGenerateCommand.js.map +1 -1
  660. package/commands/MigrationRevertCommand.js +1 -1
  661. package/commands/MigrationRevertCommand.js.map +1 -1
  662. package/commands/MigrationRunCommand.js +1 -1
  663. package/commands/MigrationRunCommand.js.map +1 -1
  664. package/commands/MigrationShowCommand.js +1 -1
  665. package/commands/MigrationShowCommand.js.map +1 -1
  666. package/commands/QueryCommand.js +1 -1
  667. package/commands/QueryCommand.js.map +1 -1
  668. package/commands/SchemaDropCommand.js +1 -1
  669. package/commands/SchemaDropCommand.js.map +1 -1
  670. package/commands/SchemaSyncCommand.js +1 -1
  671. package/commands/SchemaSyncCommand.js.map +1 -1
  672. package/commands/SubscriberCreateCommand.d.ts +1 -0
  673. package/commands/SubscriberCreateCommand.js +1 -0
  674. package/commands/SubscriberCreateCommand.js.map +1 -1
  675. package/commands/VersionCommand.js +4 -4
  676. package/commands/VersionCommand.js.map +1 -1
  677. package/common/RelationType.d.ts +2 -0
  678. package/common/RelationType.js.map +1 -1
  679. package/connection/ConnectionMetadataBuilder.d.ts +3 -0
  680. package/connection/ConnectionMetadataBuilder.js +3 -0
  681. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  682. package/connection/ConnectionOptionsReader.d.ts +5 -4
  683. package/connection/ConnectionOptionsReader.js +14 -12
  684. package/connection/ConnectionOptionsReader.js.map +1 -1
  685. package/data-source/BaseDataSourceOptions.d.ts +8 -0
  686. package/data-source/BaseDataSourceOptions.js.map +1 -1
  687. package/data-source/DataSource.d.ts +21 -2
  688. package/data-source/DataSource.js +37 -15
  689. package/data-source/DataSource.js.map +1 -1
  690. package/decorator/Check.d.ts +2 -0
  691. package/decorator/Check.js +2 -1
  692. package/decorator/Check.js.map +1 -1
  693. package/decorator/Exclusion.d.ts +2 -0
  694. package/decorator/Exclusion.js +1 -0
  695. package/decorator/Exclusion.js.map +1 -1
  696. package/decorator/ForeignKey.d.ts +3 -0
  697. package/decorator/ForeignKey.js +1 -0
  698. package/decorator/ForeignKey.js.map +1 -1
  699. package/decorator/Generated.d.ts +1 -0
  700. package/decorator/Generated.js +1 -0
  701. package/decorator/Generated.js.map +1 -1
  702. package/decorator/Index.d.ts +7 -0
  703. package/decorator/Index.js +13 -13
  704. package/decorator/Index.js.map +1 -1
  705. package/decorator/Unique.d.ts +4 -0
  706. package/decorator/Unique.js +6 -6
  707. package/decorator/Unique.js.map +1 -1
  708. package/decorator/columns/Column.d.ts +11 -0
  709. package/decorator/columns/Column.js +3 -3
  710. package/decorator/columns/Column.js.map +1 -1
  711. package/decorator/columns/CreateDateColumn.d.ts +1 -0
  712. package/decorator/columns/CreateDateColumn.js +2 -1
  713. package/decorator/columns/CreateDateColumn.js.map +1 -1
  714. package/decorator/columns/DeleteDateColumn.d.ts +1 -0
  715. package/decorator/columns/DeleteDateColumn.js +2 -1
  716. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  717. package/decorator/columns/ObjectIdColumn.d.ts +1 -0
  718. package/decorator/columns/ObjectIdColumn.js +3 -4
  719. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  720. package/decorator/columns/PrimaryColumn.d.ts +2 -0
  721. package/decorator/columns/PrimaryColumn.js +2 -2
  722. package/decorator/columns/PrimaryColumn.js.map +1 -1
  723. package/decorator/columns/PrimaryGeneratedColumn.d.ts +4 -0
  724. package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  725. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  726. package/decorator/columns/UpdateDateColumn.d.ts +1 -0
  727. package/decorator/columns/UpdateDateColumn.js +2 -1
  728. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  729. package/decorator/columns/VersionColumn.d.ts +1 -0
  730. package/decorator/columns/VersionColumn.js +2 -1
  731. package/decorator/columns/VersionColumn.js.map +1 -1
  732. package/decorator/columns/ViewColumn.d.ts +1 -0
  733. package/decorator/columns/ViewColumn.js +2 -1
  734. package/decorator/columns/ViewColumn.js.map +1 -1
  735. package/decorator/columns/VirtualColumn.d.ts +2 -0
  736. package/decorator/columns/VirtualColumn.js +1 -0
  737. package/decorator/columns/VirtualColumn.js.map +1 -1
  738. package/decorator/entity/ChildEntity.d.ts +1 -0
  739. package/decorator/entity/ChildEntity.js +1 -0
  740. package/decorator/entity/ChildEntity.js.map +1 -1
  741. package/decorator/entity/Entity.d.ts +2 -0
  742. package/decorator/entity/Entity.js +7 -6
  743. package/decorator/entity/Entity.js.map +1 -1
  744. package/decorator/entity/TableInheritance.d.ts +1 -0
  745. package/decorator/entity/TableInheritance.js +3 -2
  746. package/decorator/entity/TableInheritance.js.map +1 -1
  747. package/decorator/entity-view/ViewEntity.d.ts +2 -0
  748. package/decorator/entity-view/ViewEntity.js +4 -3
  749. package/decorator/entity-view/ViewEntity.js.map +1 -1
  750. package/decorator/options/ColumnOptions.d.ts +3 -0
  751. package/decorator/options/ColumnOptions.js.map +1 -1
  752. package/decorator/options/EntityOptions.d.ts +1 -0
  753. package/decorator/options/EntityOptions.js.map +1 -1
  754. package/decorator/options/JoinColumnOptions.js.map +1 -1
  755. package/decorator/options/RelationOptions.d.ts +2 -0
  756. package/decorator/options/RelationOptions.js.map +1 -1
  757. package/decorator/options/VirtualColumnOptions.d.ts +1 -0
  758. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  759. package/decorator/relations/JoinColumn.d.ts +2 -0
  760. package/decorator/relations/JoinColumn.js +2 -1
  761. package/decorator/relations/JoinColumn.js.map +1 -1
  762. package/decorator/relations/JoinTable.d.ts +2 -0
  763. package/decorator/relations/JoinTable.js +5 -4
  764. package/decorator/relations/JoinTable.js.map +1 -1
  765. package/decorator/relations/ManyToMany.d.ts +2 -0
  766. package/decorator/relations/ManyToMany.js +2 -2
  767. package/decorator/relations/ManyToMany.js.map +1 -1
  768. package/decorator/relations/ManyToOne.d.ts +2 -0
  769. package/decorator/relations/ManyToOne.js +3 -3
  770. package/decorator/relations/ManyToOne.js.map +1 -1
  771. package/decorator/relations/OneToMany.d.ts +1 -0
  772. package/decorator/relations/OneToMany.js +3 -3
  773. package/decorator/relations/OneToMany.js.map +1 -1
  774. package/decorator/relations/OneToOne.d.ts +2 -0
  775. package/decorator/relations/OneToOne.js +3 -3
  776. package/decorator/relations/OneToOne.js.map +1 -1
  777. package/decorator/relations/RelationId.d.ts +1 -0
  778. package/decorator/relations/RelationId.js +1 -0
  779. package/decorator/relations/RelationId.js.map +1 -1
  780. package/decorator/tree/Tree.d.ts +1 -0
  781. package/decorator/tree/Tree.js +1 -0
  782. package/decorator/tree/Tree.js.map +1 -1
  783. package/decorator/tree/TreeChildren.d.ts +1 -0
  784. package/decorator/tree/TreeChildren.js +3 -3
  785. package/decorator/tree/TreeChildren.js.map +1 -1
  786. package/decorator/tree/TreeParent.d.ts +1 -0
  787. package/decorator/tree/TreeParent.js +3 -3
  788. package/decorator/tree/TreeParent.js.map +1 -1
  789. package/driver/Driver.d.ts +5 -0
  790. package/driver/Driver.js.map +1 -1
  791. package/driver/DriverFactory.d.ts +1 -0
  792. package/driver/DriverFactory.js +1 -0
  793. package/driver/DriverFactory.js.map +1 -1
  794. package/driver/DriverUtils.d.ts +8 -0
  795. package/driver/DriverUtils.js +44 -33
  796. package/driver/DriverUtils.js.map +1 -1
  797. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -0
  798. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  799. package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +1 -0
  800. package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -1
  801. package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +37 -0
  802. package/driver/aurora-mysql/AuroraMysqlDriver.js +57 -20
  803. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  804. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +66 -1
  805. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +99 -36
  806. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  807. package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +13 -0
  808. package/driver/aurora-postgres/AuroraPostgresDriver.js +26 -5
  809. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  810. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -1
  811. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +30 -1
  812. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  813. package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +1 -0
  814. package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -1
  815. package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +3 -0
  816. package/driver/better-sqlite3/BetterSqlite3Driver.js +5 -3
  817. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  818. package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +3 -1
  819. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +4 -0
  820. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  821. package/driver/capacitor/CapacitorDriver.d.ts +1 -0
  822. package/driver/capacitor/CapacitorDriver.js +3 -3
  823. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  824. package/driver/capacitor/CapacitorQueryRunner.d.ts +3 -1
  825. package/driver/capacitor/CapacitorQueryRunner.js +9 -3
  826. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  827. package/driver/cockroachdb/CockroachDataSourceOptions.d.ts +1 -0
  828. package/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -1
  829. package/driver/cockroachdb/CockroachDriver.d.ts +35 -0
  830. package/driver/cockroachdb/CockroachDriver.js +67 -32
  831. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  832. package/driver/cockroachdb/CockroachQueryRunner.d.ts +76 -1
  833. package/driver/cockroachdb/CockroachQueryRunner.js +189 -160
  834. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  835. package/driver/cordova/CordovaDriver.d.ts +6 -0
  836. package/driver/cordova/CordovaDriver.js +14 -4
  837. package/driver/cordova/CordovaDriver.js.map +1 -1
  838. package/driver/cordova/CordovaQueryRunner.d.ts +3 -1
  839. package/driver/cordova/CordovaQueryRunner.js +5 -1
  840. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  841. package/driver/expo/ExpoDataSourceOptions.d.ts +5 -3
  842. package/driver/expo/ExpoDataSourceOptions.js.map +1 -1
  843. package/driver/expo/ExpoDriver.d.ts +16 -1
  844. package/driver/expo/ExpoDriver.js +69 -8
  845. package/driver/expo/ExpoDriver.js.map +1 -1
  846. package/driver/expo/ExpoQueryRunner.d.ts +2 -1
  847. package/driver/expo/ExpoQueryRunner.js +3 -0
  848. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  849. package/driver/mongodb/MongoDriver.d.ts +25 -0
  850. package/driver/mongodb/MongoDriver.js +35 -6
  851. package/driver/mongodb/MongoDriver.js.map +1 -1
  852. package/driver/mongodb/MongoQueryRunner.d.ts +84 -0
  853. package/driver/mongodb/MongoQueryRunner.js +102 -18
  854. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  855. package/driver/mongodb/bson.typings.d.ts +1 -0
  856. package/driver/mongodb/bson.typings.js.map +1 -1
  857. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -0
  858. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  859. package/driver/mysql/MysqlDataSourceOptions.d.ts +2 -0
  860. package/driver/mysql/MysqlDataSourceOptions.js.map +1 -1
  861. package/driver/mysql/MysqlDriver.d.ts +37 -0
  862. package/driver/mysql/MysqlDriver.js +61 -21
  863. package/driver/mysql/MysqlDriver.js.map +1 -1
  864. package/driver/mysql/MysqlQueryRunner.d.ts +66 -1
  865. package/driver/mysql/MysqlQueryRunner.js +218 -193
  866. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  867. package/driver/nativescript/NativescriptDriver.d.ts +1 -0
  868. package/driver/nativescript/NativescriptDriver.js +3 -4
  869. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  870. package/driver/nativescript/NativescriptQueryRunner.d.ts +3 -1
  871. package/driver/nativescript/NativescriptQueryRunner.js +6 -1
  872. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  873. package/driver/oracle/OracleDriver.d.ts +32 -0
  874. package/driver/oracle/OracleDriver.js +50 -17
  875. package/driver/oracle/OracleDriver.js.map +1 -1
  876. package/driver/oracle/OracleQueryRunner.d.ts +66 -0
  877. package/driver/oracle/OracleQueryRunner.js +119 -83
  878. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  879. package/driver/postgres/PostgresDataSourceOptions.d.ts +2 -0
  880. package/driver/postgres/PostgresDataSourceOptions.js.map +1 -1
  881. package/driver/postgres/PostgresDriver.d.ts +37 -0
  882. package/driver/postgres/PostgresDriver.js +75 -39
  883. package/driver/postgres/PostgresDriver.js.map +1 -1
  884. package/driver/postgres/PostgresQueryRunner.d.ts +83 -1
  885. package/driver/postgres/PostgresQueryRunner.js +162 -127
  886. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  887. package/driver/react-native/ReactNativeDriver.d.ts +29 -0
  888. package/driver/react-native/ReactNativeDriver.js +46 -13
  889. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  890. package/driver/react-native/ReactNativeQueryRunner.d.ts +3 -1
  891. package/driver/react-native/ReactNativeQueryRunner.js +6 -1
  892. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  893. package/driver/sap/SapDataSourceOptions.d.ts +1 -0
  894. package/driver/sap/SapDataSourceOptions.js.map +1 -1
  895. package/driver/sap/SapDriver.d.ts +30 -0
  896. package/driver/sap/SapDriver.js +50 -14
  897. package/driver/sap/SapDriver.js.map +1 -1
  898. package/driver/sap/SapQueryRunner.d.ts +68 -1
  899. package/driver/sap/SapQueryRunner.js +270 -70
  900. package/driver/sap/SapQueryRunner.js.map +1 -1
  901. package/driver/spanner/SpannerDataSourceOptions.d.ts +1 -0
  902. package/driver/spanner/SpannerDataSourceOptions.js.map +1 -1
  903. package/driver/spanner/SpannerDriver.d.ts +33 -0
  904. package/driver/spanner/SpannerDriver.js +53 -15
  905. package/driver/spanner/SpannerDriver.js.map +1 -1
  906. package/driver/spanner/SpannerQueryRunner.d.ts +80 -1
  907. package/driver/spanner/SpannerQueryRunner.js +164 -39
  908. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  909. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +30 -0
  910. package/driver/sqlite-abstract/AbstractSqliteDriver.js +44 -78
  911. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  912. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +59 -0
  913. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +91 -51
  914. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  915. package/driver/sqljs/SqljsDriver.d.ts +5 -0
  916. package/driver/sqljs/SqljsDriver.js +8 -4
  917. package/driver/sqljs/SqljsDriver.js.map +1 -1
  918. package/driver/sqljs/SqljsQueryRunner.d.ts +3 -1
  919. package/driver/sqljs/SqljsQueryRunner.js +4 -0
  920. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  921. package/driver/sqlserver/MssqlParameter.d.ts +1 -0
  922. package/driver/sqlserver/MssqlParameter.js +1 -0
  923. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  924. package/driver/sqlserver/SqlServerDataSourceOptions.d.ts +14 -5
  925. package/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -1
  926. package/driver/sqlserver/SqlServerDriver.d.ts +42 -0
  927. package/driver/sqlserver/SqlServerDriver.js +101 -27
  928. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  929. package/driver/sqlserver/SqlServerQueryRunner.d.ts +78 -11
  930. package/driver/sqlserver/SqlServerQueryRunner.js +222 -220
  931. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  932. package/driver/types/IsolationLevel.d.ts +2 -1
  933. package/driver/types/IsolationLevel.js +8 -0
  934. package/driver/types/IsolationLevel.js.map +1 -1
  935. package/driver/validate-isolation-level.d.ts +9 -0
  936. package/driver/validate-isolation-level.js +23 -0
  937. package/driver/validate-isolation-level.js.map +1 -0
  938. package/entity-manager/EntityManager.d.ts +39 -2
  939. package/entity-manager/EntityManager.js +58 -12
  940. package/entity-manager/EntityManager.js.map +1 -1
  941. package/entity-manager/EntityManagerFactory.d.ts +1 -0
  942. package/entity-manager/EntityManagerFactory.js +1 -0
  943. package/entity-manager/EntityManagerFactory.js.map +1 -1
  944. package/entity-manager/MongoEntityManager.d.ts +54 -1
  945. package/entity-manager/MongoEntityManager.js +103 -12
  946. package/entity-manager/MongoEntityManager.js.map +1 -1
  947. package/entity-manager/SqljsEntityManager.d.ts +2 -0
  948. package/entity-manager/SqljsEntityManager.js +2 -0
  949. package/entity-manager/SqljsEntityManager.js.map +1 -1
  950. package/entity-schema/EntitySchemaColumnOptions.d.ts +1 -0
  951. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  952. package/entity-schema/EntitySchemaOptions.d.ts +1 -0
  953. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  954. package/entity-schema/EntitySchemaTransformer.d.ts +1 -0
  955. package/entity-schema/EntitySchemaTransformer.js +25 -26
  956. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  957. package/error/InitializedRelationError.d.ts +1 -0
  958. package/error/InitializedRelationError.js +1 -0
  959. package/error/InitializedRelationError.js.map +1 -1
  960. package/error/NamedPlaceholdersNotSupportedError.d.ts +7 -0
  961. package/error/NamedPlaceholdersNotSupportedError.js +14 -0
  962. package/error/NamedPlaceholdersNotSupportedError.js.map +1 -0
  963. package/error/QueryFailedError.d.ts +3 -2
  964. package/error/QueryFailedError.js.map +1 -1
  965. package/error/index.d.ts +1 -0
  966. package/error/index.js +1 -0
  967. package/error/index.js.map +1 -1
  968. package/find-options/FindOptionsUtils.d.ts +7 -0
  969. package/find-options/FindOptionsUtils.js +7 -0
  970. package/find-options/FindOptionsUtils.js.map +1 -1
  971. package/find-options/OrderByCondition.d.ts +2 -1
  972. package/find-options/OrderByCondition.js.map +1 -1
  973. package/find-options/operator/Any.d.ts +4 -1
  974. package/find-options/operator/Any.js +4 -1
  975. package/find-options/operator/Any.js.map +1 -1
  976. package/find-options/operator/ArrayContainedBy.d.ts +4 -1
  977. package/find-options/operator/ArrayContainedBy.js +4 -1
  978. package/find-options/operator/ArrayContainedBy.js.map +1 -1
  979. package/find-options/operator/ArrayContains.d.ts +4 -1
  980. package/find-options/operator/ArrayContains.js +4 -1
  981. package/find-options/operator/ArrayContains.js.map +1 -1
  982. package/find-options/operator/ArrayOverlap.d.ts +4 -1
  983. package/find-options/operator/ArrayOverlap.js +4 -1
  984. package/find-options/operator/ArrayOverlap.js.map +1 -1
  985. package/find-options/operator/Between.d.ts +4 -1
  986. package/find-options/operator/Between.js +4 -1
  987. package/find-options/operator/Between.js.map +1 -1
  988. package/find-options/operator/Equal.d.ts +6 -3
  989. package/find-options/operator/Equal.js +6 -3
  990. package/find-options/operator/Equal.js.map +1 -1
  991. package/find-options/operator/ILike.d.ts +4 -1
  992. package/find-options/operator/ILike.js +4 -1
  993. package/find-options/operator/ILike.js.map +1 -1
  994. package/find-options/operator/In.d.ts +4 -1
  995. package/find-options/operator/In.js +4 -1
  996. package/find-options/operator/In.js.map +1 -1
  997. package/find-options/operator/IsNull.d.ts +4 -1
  998. package/find-options/operator/IsNull.js +4 -1
  999. package/find-options/operator/IsNull.js.map +1 -1
  1000. package/find-options/operator/JsonContains.d.ts +4 -1
  1001. package/find-options/operator/JsonContains.js +4 -1
  1002. package/find-options/operator/JsonContains.js.map +1 -1
  1003. package/find-options/operator/LessThan.d.ts +4 -1
  1004. package/find-options/operator/LessThan.js +4 -1
  1005. package/find-options/operator/LessThan.js.map +1 -1
  1006. package/find-options/operator/LessThanOrEqual.d.ts +4 -1
  1007. package/find-options/operator/LessThanOrEqual.js +4 -1
  1008. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  1009. package/find-options/operator/Like.d.ts +4 -1
  1010. package/find-options/operator/Like.js +4 -1
  1011. package/find-options/operator/Like.js.map +1 -1
  1012. package/find-options/operator/MoreThan.d.ts +4 -1
  1013. package/find-options/operator/MoreThan.js +4 -1
  1014. package/find-options/operator/MoreThan.js.map +1 -1
  1015. package/find-options/operator/MoreThanOrEqual.d.ts +4 -1
  1016. package/find-options/operator/MoreThanOrEqual.js +4 -1
  1017. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  1018. package/find-options/operator/Not.d.ts +4 -1
  1019. package/find-options/operator/Not.js +4 -1
  1020. package/find-options/operator/Not.js.map +1 -1
  1021. package/find-options/operator/Raw.d.ts +12 -3
  1022. package/find-options/operator/Raw.js.map +1 -1
  1023. package/globals.js +1 -2
  1024. package/globals.js.map +1 -1
  1025. package/index.d.ts +0 -1
  1026. package/index.js +1 -3
  1027. package/index.js.map +1 -1
  1028. package/index.mjs +2 -2
  1029. package/logger/AbstractLogger.d.ts +14 -4
  1030. package/logger/AbstractLogger.js +11 -1
  1031. package/logger/AbstractLogger.js.map +1 -1
  1032. package/logger/AdvancedConsoleLogger.d.ts +1 -0
  1033. package/logger/AdvancedConsoleLogger.js +1 -0
  1034. package/logger/AdvancedConsoleLogger.js.map +1 -1
  1035. package/logger/DebugLogger.d.ts +2 -0
  1036. package/logger/DebugLogger.js +5 -1
  1037. package/logger/DebugLogger.js.map +1 -1
  1038. package/logger/FileLogger.d.ts +13 -2
  1039. package/logger/FileLogger.js +4 -5
  1040. package/logger/FileLogger.js.map +1 -1
  1041. package/logger/FormattedConsoleLogger.d.ts +1 -0
  1042. package/logger/FormattedConsoleLogger.js +1 -0
  1043. package/logger/FormattedConsoleLogger.js.map +1 -1
  1044. package/logger/Logger.d.ts +5 -4
  1045. package/logger/Logger.js.map +1 -1
  1046. package/logger/LoggerFactory.d.ts +1 -0
  1047. package/logger/LoggerFactory.js +1 -0
  1048. package/logger/LoggerFactory.js.map +1 -1
  1049. package/logger/LoggerOptions.d.ts +0 -9
  1050. package/logger/LoggerOptions.js.map +1 -1
  1051. package/logger/SimpleConsoleLogger.d.ts +1 -0
  1052. package/logger/SimpleConsoleLogger.js +1 -0
  1053. package/logger/SimpleConsoleLogger.js.map +1 -1
  1054. package/metadata/CheckMetadata.d.ts +1 -0
  1055. package/metadata/CheckMetadata.js +4 -3
  1056. package/metadata/CheckMetadata.js.map +1 -1
  1057. package/metadata/ColumnMetadata.d.ts +8 -5
  1058. package/metadata/ColumnMetadata.js +17 -25
  1059. package/metadata/ColumnMetadata.js.map +1 -1
  1060. package/metadata/EmbeddedMetadata.d.ts +1 -0
  1061. package/metadata/EmbeddedMetadata.js +1 -0
  1062. package/metadata/EmbeddedMetadata.js.map +1 -1
  1063. package/metadata/EntityListenerMetadata.d.ts +3 -0
  1064. package/metadata/EntityListenerMetadata.js +3 -0
  1065. package/metadata/EntityListenerMetadata.js.map +1 -1
  1066. package/metadata/EntityMetadata.d.ts +25 -5
  1067. package/metadata/EntityMetadata.js +32 -12
  1068. package/metadata/EntityMetadata.js.map +1 -1
  1069. package/metadata/ExclusionMetadata.d.ts +1 -0
  1070. package/metadata/ExclusionMetadata.js +4 -3
  1071. package/metadata/ExclusionMetadata.js.map +1 -1
  1072. package/metadata/ForeignKeyMetadata.d.ts +1 -0
  1073. package/metadata/ForeignKeyMetadata.js +6 -5
  1074. package/metadata/ForeignKeyMetadata.js.map +1 -1
  1075. package/metadata/IndexMetadata.d.ts +1 -0
  1076. package/metadata/IndexMetadata.js +4 -3
  1077. package/metadata/IndexMetadata.js.map +1 -1
  1078. package/metadata/RelationIdMetadata.d.ts +1 -0
  1079. package/metadata/RelationIdMetadata.js +1 -0
  1080. package/metadata/RelationIdMetadata.js.map +1 -1
  1081. package/metadata/RelationMetadata.d.ts +8 -0
  1082. package/metadata/RelationMetadata.js +15 -15
  1083. package/metadata/RelationMetadata.js.map +1 -1
  1084. package/metadata/UniqueMetadata.d.ts +1 -0
  1085. package/metadata/UniqueMetadata.js +4 -3
  1086. package/metadata/UniqueMetadata.js.map +1 -1
  1087. package/metadata-args/MetadataArgsStorage.d.ts +4 -0
  1088. package/metadata-args/MetadataArgsStorage.js +4 -0
  1089. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  1090. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -0
  1091. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +7 -11
  1092. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  1093. package/metadata-builder/EntityMetadataBuilder.d.ts +7 -0
  1094. package/metadata-builder/EntityMetadataBuilder.js +11 -6
  1095. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  1096. package/metadata-builder/EntityMetadataValidator.d.ts +4 -0
  1097. package/metadata-builder/EntityMetadataValidator.js +6 -43
  1098. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  1099. package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -0
  1100. package/metadata-builder/JunctionEntityMetadataBuilder.js +39 -20
  1101. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  1102. package/metadata-builder/MetadataUtils.d.ts +3 -0
  1103. package/metadata-builder/MetadataUtils.js +4 -1
  1104. package/metadata-builder/MetadataUtils.js.map +1 -1
  1105. package/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -0
  1106. package/metadata-builder/RelationJoinColumnBuilder.js +17 -1
  1107. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  1108. package/migration/MigrationExecutor.d.ts +9 -0
  1109. package/migration/MigrationExecutor.js +16 -7
  1110. package/migration/MigrationExecutor.js.map +1 -1
  1111. package/naming-strategy/DefaultNamingStrategy.d.ts +7 -23
  1112. package/naming-strategy/DefaultNamingStrategy.js +21 -36
  1113. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  1114. package/naming-strategy/NamingStrategyInterface.d.ts +11 -13
  1115. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  1116. package/package.json +10 -6
  1117. package/persistence/EntityPersistExecutor.js +22 -12
  1118. package/persistence/EntityPersistExecutor.js.map +1 -1
  1119. package/persistence/Subject.js +4 -6
  1120. package/persistence/Subject.js.map +1 -1
  1121. package/persistence/SubjectChangedColumnsComputer.d.ts +3 -0
  1122. package/persistence/SubjectChangedColumnsComputer.js +3 -0
  1123. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  1124. package/persistence/SubjectDatabaseEntityLoader.d.ts +1 -0
  1125. package/persistence/SubjectDatabaseEntityLoader.js +18 -6
  1126. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  1127. package/persistence/SubjectExecutor.d.ts +2 -0
  1128. package/persistence/SubjectExecutor.js +65 -57
  1129. package/persistence/SubjectExecutor.js.map +1 -1
  1130. package/persistence/SubjectTopologicalSorter.d.ts +4 -0
  1131. package/persistence/SubjectTopologicalSorter.js +4 -0
  1132. package/persistence/SubjectTopologicalSorter.js.map +1 -1
  1133. package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +2 -0
  1134. package/persistence/subject-builder/CascadesSubjectBuilder.js +37 -11
  1135. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  1136. package/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +11 -8
  1137. package/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -13
  1138. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  1139. package/persistence/subject-builder/OneToManySubjectBuilder.d.ts +9 -10
  1140. package/persistence/subject-builder/OneToManySubjectBuilder.js +30 -24
  1141. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1142. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +9 -10
  1143. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +9 -10
  1144. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1145. package/persistence/tree/ClosureSubjectExecutor.d.ts +4 -0
  1146. package/persistence/tree/ClosureSubjectExecutor.js +10 -8
  1147. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1148. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -0
  1149. package/persistence/tree/MaterializedPathSubjectExecutor.js +8 -6
  1150. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1151. package/persistence/tree/NestedSetSubjectExecutor.d.ts +5 -0
  1152. package/persistence/tree/NestedSetSubjectExecutor.js +10 -5
  1153. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1154. package/platform/PlatformTools.d.ts +9 -0
  1155. package/platform/PlatformTools.js +11 -2
  1156. package/platform/PlatformTools.js.map +1 -1
  1157. package/query-builder/Alias.js +1 -1
  1158. package/query-builder/Alias.js.map +1 -1
  1159. package/query-builder/Brackets.d.ts +1 -0
  1160. package/query-builder/Brackets.js +1 -0
  1161. package/query-builder/Brackets.js.map +1 -1
  1162. package/query-builder/DeleteQueryBuilder.d.ts +7 -0
  1163. package/query-builder/DeleteQueryBuilder.js +9 -0
  1164. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1165. package/query-builder/InsertQueryBuilder.d.ts +9 -0
  1166. package/query-builder/InsertQueryBuilder.js +14 -8
  1167. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1168. package/query-builder/JoinAttribute.js +3 -3
  1169. package/query-builder/JoinAttribute.js.map +1 -1
  1170. package/query-builder/QueryBuilder.d.ts +24 -4
  1171. package/query-builder/QueryBuilder.js +51 -18
  1172. package/query-builder/QueryBuilder.js.map +1 -1
  1173. package/query-builder/QueryBuilderUtils.d.ts +1 -0
  1174. package/query-builder/QueryBuilderUtils.js +1 -0
  1175. package/query-builder/QueryBuilderUtils.js.map +1 -1
  1176. package/query-builder/QueryExpressionMap.d.ts +5 -0
  1177. package/query-builder/QueryExpressionMap.js +4 -1
  1178. package/query-builder/QueryExpressionMap.js.map +1 -1
  1179. package/query-builder/RelationIdLoader.d.ts +6 -35
  1180. package/query-builder/RelationIdLoader.js +19 -43
  1181. package/query-builder/RelationIdLoader.js.map +1 -1
  1182. package/query-builder/RelationLoader.d.ts +11 -2
  1183. package/query-builder/RelationLoader.js +20 -17
  1184. package/query-builder/RelationLoader.js.map +1 -1
  1185. package/query-builder/RelationQueryBuilder.d.ts +5 -0
  1186. package/query-builder/RelationQueryBuilder.js +5 -0
  1187. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1188. package/query-builder/RelationRemover.d.ts +1 -0
  1189. package/query-builder/RelationRemover.js +1 -0
  1190. package/query-builder/RelationRemover.js.map +1 -1
  1191. package/query-builder/RelationUpdater.d.ts +1 -0
  1192. package/query-builder/RelationUpdater.js +1 -0
  1193. package/query-builder/RelationUpdater.js.map +1 -1
  1194. package/query-builder/ReturningResultsEntityUpdator.d.ts +2 -0
  1195. package/query-builder/ReturningResultsEntityUpdator.js +3 -1
  1196. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1197. package/query-builder/SelectQueryBuilder.d.ts +31 -8
  1198. package/query-builder/SelectQueryBuilder.js +87 -53
  1199. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1200. package/query-builder/SoftDeleteQueryBuilder.d.ts +11 -0
  1201. package/query-builder/SoftDeleteQueryBuilder.js +15 -0
  1202. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1203. package/query-builder/UpdateQueryBuilder.d.ts +11 -0
  1204. package/query-builder/UpdateQueryBuilder.js +16 -1
  1205. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1206. package/query-builder/relation-id/RelationIdAttribute.js +5 -5
  1207. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1208. package/query-builder/relation-id/RelationIdLoader.d.ts +2 -1
  1209. package/query-builder/relation-id/RelationIdLoader.js +22 -12
  1210. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1211. package/query-builder/transformer/DocumentToEntityTransformer.js +3 -16
  1212. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1213. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +2 -4
  1214. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1215. package/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +1 -0
  1216. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  1217. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1218. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +6 -0
  1219. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -7
  1220. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1221. package/query-runner/BaseQueryRunner.d.ts +65 -22
  1222. package/query-runner/BaseQueryRunner.js +97 -70
  1223. package/query-runner/BaseQueryRunner.js.map +1 -1
  1224. package/query-runner/QueryRunner.d.ts +16 -3
  1225. package/query-runner/QueryRunner.js.map +1 -1
  1226. package/repository/BaseEntity.d.ts +34 -1
  1227. package/repository/BaseEntity.js +36 -0
  1228. package/repository/BaseEntity.js.map +1 -1
  1229. package/repository/MongoRepository.d.ts +39 -0
  1230. package/repository/MongoRepository.js +41 -2
  1231. package/repository/MongoRepository.js.map +1 -1
  1232. package/repository/Repository.d.ts +38 -2
  1233. package/repository/Repository.js +43 -2
  1234. package/repository/Repository.js.map +1 -1
  1235. package/repository/TreeRepository.d.ts +11 -0
  1236. package/repository/TreeRepository.js +12 -1
  1237. package/repository/TreeRepository.js.map +1 -1
  1238. package/schema-builder/RdbmsSchemaBuilder.d.ts +6 -4
  1239. package/schema-builder/RdbmsSchemaBuilder.js +10 -13
  1240. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1241. package/schema-builder/table/Table.d.ts +17 -0
  1242. package/schema-builder/table/Table.js +19 -2
  1243. package/schema-builder/table/Table.js.map +1 -1
  1244. package/schema-builder/table/TableCheck.d.ts +1 -0
  1245. package/schema-builder/table/TableCheck.js +1 -0
  1246. package/schema-builder/table/TableCheck.js.map +1 -1
  1247. package/schema-builder/table/TableColumn.js +7 -7
  1248. package/schema-builder/table/TableColumn.js.map +1 -1
  1249. package/schema-builder/table/TableExclusion.d.ts +1 -0
  1250. package/schema-builder/table/TableExclusion.js +1 -0
  1251. package/schema-builder/table/TableExclusion.js.map +1 -1
  1252. package/schema-builder/table/TableForeignKey.d.ts +1 -0
  1253. package/schema-builder/table/TableForeignKey.js +1 -0
  1254. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1255. package/schema-builder/table/TableIndex.d.ts +1 -0
  1256. package/schema-builder/table/TableIndex.js +2 -1
  1257. package/schema-builder/table/TableIndex.js.map +1 -1
  1258. package/schema-builder/table/TableUnique.d.ts +1 -0
  1259. package/schema-builder/table/TableUnique.js +1 -0
  1260. package/schema-builder/table/TableUnique.js.map +1 -1
  1261. package/schema-builder/util/ViewUtils.d.ts +1 -0
  1262. package/schema-builder/util/ViewUtils.js +1 -0
  1263. package/schema-builder/util/ViewUtils.js.map +1 -1
  1264. package/schema-builder/view/View.d.ts +3 -0
  1265. package/schema-builder/view/View.js +3 -0
  1266. package/schema-builder/view/View.js.map +1 -1
  1267. package/subscriber/Broadcaster.d.ts +24 -4
  1268. package/subscriber/Broadcaster.js +25 -6
  1269. package/subscriber/Broadcaster.js.map +1 -1
  1270. package/subscriber/event/BaseEvent.d.ts +1 -0
  1271. package/subscriber/event/BaseEvent.js.map +1 -1
  1272. package/subscriber/event/QueryEvent.d.ts +2 -1
  1273. package/subscriber/event/QueryEvent.js.map +1 -1
  1274. package/util/DateUtils.d.ts +15 -0
  1275. package/util/DateUtils.js +15 -0
  1276. package/util/DateUtils.js.map +1 -1
  1277. package/util/DepGraph.d.ts +10 -0
  1278. package/util/DepGraph.js +11 -0
  1279. package/util/DepGraph.js.map +1 -1
  1280. package/util/DirectoryExportedClassesLoader.d.ts +1 -0
  1281. package/util/DirectoryExportedClassesLoader.js +2 -1
  1282. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1283. package/util/ImportUtils.js +1 -1
  1284. package/util/ImportUtils.js.map +1 -1
  1285. package/util/ObjectUtils.d.ts +6 -0
  1286. package/util/ObjectUtils.js +4 -0
  1287. package/util/ObjectUtils.js.map +1 -1
  1288. package/util/OrmUtils.d.ts +14 -0
  1289. package/util/OrmUtils.js +19 -7
  1290. package/util/OrmUtils.js.map +1 -1
  1291. package/util/PathUtils.d.ts +2 -0
  1292. package/util/PathUtils.js +3 -1
  1293. package/util/PathUtils.js.map +1 -1
  1294. package/util/RandomGenerator.d.ts +3 -10
  1295. package/util/RandomGenerator.js +3 -10
  1296. package/util/RandomGenerator.js.map +1 -1
  1297. package/util/StringUtils.d.ts +11 -4
  1298. package/util/StringUtils.js +21 -13
  1299. package/util/StringUtils.js.map +1 -1
  1300. package/util/TreeRepositoryUtils.js +2 -2
  1301. package/util/TreeRepositoryUtils.js.map +1 -1
  1302. package/util/escapeRegExp.js +1 -1
  1303. package/util/escapeRegExp.js.map +1 -1
  1304. package/browser/naming-strategy/LegacyOracleNamingStrategy.d.ts +0 -21
  1305. package/browser/naming-strategy/LegacyOracleNamingStrategy.js +0 -49
  1306. package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +0 -1
  1307. package/naming-strategy/LegacyOracleNamingStrategy.d.ts +0 -21
  1308. package/naming-strategy/LegacyOracleNamingStrategy.js +0 -49
  1309. package/naming-strategy/LegacyOracleNamingStrategy.js.map +0 -1
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  <a href="https://www.npmjs.com/package/typeorm"><img src="https://img.shields.io/npm/v/typeorm" alt="NPM Version"/></a>
12
12
  <a href="https://www.npmjs.com/package/typeorm"><img src="https://img.shields.io/npm/dm/typeorm" alt="NPM Downloads"/></a>
13
13
  <a href="https://github.com/typeorm/typeorm/actions/workflows/tests.yml?query=branch%3Amaster"><img src="https://github.com/typeorm/typeorm/actions/workflows/tests.yml/badge.svg?branch=master" alt="Commit Validation"/></a>
14
- <a href="https://coveralls.io/github/typeorm/typeorm?branch=master"><img src="https://coveralls.io/repos/github/typeorm/typeorm/badge.svg?branch=master" alt="Coverage Status"/></a>
14
+ <a href="https://sonarcloud.io/summary/overall?id=typeorm_typeorm"><img src="https://sonarcloud.io/api/project_badges/measure?project=typeorm_typeorm&metric=coverage" alt="Coverage"/></a>
15
15
  <a href='https://dashboard.stryker-mutator.io/reports/github.com/typeorm/typeorm/master'><img src='https://img.shields.io/endpoint?style=flat&url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Ftypeorm%2Ftypeorm%2Fmaster' alt='Mutation testing badge' /></a>
16
16
  <a href=""><img src="https://img.shields.io/badge/License-MIT-teal.svg" alt="MIT License"/></a>
17
17
  <br>
@@ -156,8 +156,6 @@ await timber.remove()
156
156
 
157
157
  ## Samples
158
158
 
159
- Take a look at the samples in [sample](https://github.com/typeorm/typeorm/tree/master/sample) for examples of usage.
160
-
161
159
  There are a few repositories that you can clone and start with:
162
160
 
163
161
  - [Example how to use TypeORM with TypeScript](https://github.com/typeorm/typescript-example)
@@ -21,6 +21,7 @@ export declare class DbQueryResultCache implements QueryResultCache {
21
21
  disconnect(): Promise<void>;
22
22
  /**
23
23
  * Creates table for storing cache if it does not exist yet.
24
+ *
24
25
  * @param queryRunner
25
26
  */
26
27
  synchronize(queryRunner?: QueryRunner): Promise<void>;
@@ -28,17 +29,20 @@ export declare class DbQueryResultCache implements QueryResultCache {
28
29
  * Get data from cache.
29
30
  * Returns cache result if found.
30
31
  * Returns undefined if result is not cached.
32
+ *
31
33
  * @param options
32
34
  * @param queryRunner
33
35
  */
34
36
  getFromCache(options: QueryResultCacheOptions, queryRunner?: QueryRunner): Promise<QueryResultCacheOptions | undefined>;
35
37
  /**
36
38
  * Checks if cache is expired or not.
39
+ *
37
40
  * @param savedCache
38
41
  */
39
42
  isExpired(savedCache: QueryResultCacheOptions): boolean;
40
43
  /**
41
44
  * Stores given query result in the cache.
45
+ *
42
46
  * @param options
43
47
  * @param savedCache
44
48
  * @param queryRunner
@@ -46,17 +50,20 @@ export declare class DbQueryResultCache implements QueryResultCache {
46
50
  storeInCache(options: QueryResultCacheOptions, savedCache: QueryResultCacheOptions | undefined, queryRunner?: QueryRunner): Promise<void>;
47
51
  /**
48
52
  * Clears everything stored in the cache.
53
+ *
49
54
  * @param queryRunner
50
55
  */
51
56
  clear(queryRunner: QueryRunner): Promise<void>;
52
57
  /**
53
58
  * Removes all cached results by given identifiers from cache.
59
+ *
54
60
  * @param identifiers
55
61
  * @param queryRunner
56
62
  */
57
63
  remove(identifiers: string[], queryRunner?: QueryRunner): Promise<void>;
58
64
  /**
59
65
  * Gets a query runner to work with.
66
+ *
60
67
  * @param queryRunner
61
68
  */
62
69
  protected getQueryRunner(queryRunner?: QueryRunner): QueryRunner;
@@ -18,7 +18,8 @@ class DbQueryResultCache {
18
18
  const cacheOptions = typeof this.dataSource.options.cache === "object"
19
19
  ? this.dataSource.options.cache
20
20
  : {};
21
- const cacheTableName = cacheOptions.tableName || "query-result-cache";
21
+ const tableName = cacheOptions.tableName === "" ? undefined : cacheOptions.tableName;
22
+ const cacheTableName = tableName ?? "query-result-cache";
22
23
  this.queryResultCacheDatabase = database;
23
24
  this.queryResultCacheSchema = schema;
24
25
  this.queryResultCacheTable = this.dataSource.driver.buildTableName(cacheTableName, schema, database);
@@ -36,6 +37,7 @@ class DbQueryResultCache {
36
37
  async disconnect() { }
37
38
  /**
38
39
  * Creates table for storing cache if it does not exist yet.
40
+ *
39
41
  * @param queryRunner
40
42
  */
41
43
  async synchronize(queryRunner) {
@@ -106,6 +108,7 @@ class DbQueryResultCache {
106
108
  * Get data from cache.
107
109
  * Returns cache result if found.
108
110
  * Returns undefined if result is not cached.
111
+ *
109
112
  * @param options
110
113
  * @param queryRunner
111
114
  */
@@ -147,6 +150,7 @@ class DbQueryResultCache {
147
150
  }
148
151
  /**
149
152
  * Checks if cache is expired or not.
153
+ *
150
154
  * @param savedCache
151
155
  */
152
156
  isExpired(savedCache) {
@@ -161,6 +165,7 @@ class DbQueryResultCache {
161
165
  }
162
166
  /**
163
167
  * Stores given query result in the cache.
168
+ *
164
169
  * @param options
165
170
  * @param savedCache
166
171
  * @param queryRunner
@@ -182,7 +187,7 @@ class DbQueryResultCache {
182
187
  result: new MssqlParameter_1.MssqlParameter(options.result, "nvarchar"),
183
188
  };
184
189
  }
185
- if (savedCache && savedCache.identifier) {
190
+ if (savedCache?.identifier) {
186
191
  // if exist then update
187
192
  const qb = queryRunner.manager
188
193
  .createQueryBuilder()
@@ -193,7 +198,7 @@ class DbQueryResultCache {
193
198
  });
194
199
  await qb.execute();
195
200
  }
196
- else if (savedCache && savedCache.query) {
201
+ else if (savedCache?.query) {
197
202
  // if exist then update
198
203
  const qb = queryRunner.manager
199
204
  .createQueryBuilder()
@@ -231,6 +236,7 @@ class DbQueryResultCache {
231
236
  }
232
237
  /**
233
238
  * Clears everything stored in the cache.
239
+ *
234
240
  * @param queryRunner
235
241
  */
236
242
  async clear(queryRunner) {
@@ -238,11 +244,12 @@ class DbQueryResultCache {
238
244
  }
239
245
  /**
240
246
  * Removes all cached results by given identifiers from cache.
247
+ *
241
248
  * @param identifiers
242
249
  * @param queryRunner
243
250
  */
244
251
  async remove(identifiers, queryRunner) {
245
- const _queryRunner = queryRunner || this.getQueryRunner();
252
+ const _queryRunner = queryRunner ?? this.getQueryRunner();
246
253
  await Promise.all(identifiers.map((identifier) => {
247
254
  const qb = _queryRunner.manager.createQueryBuilder();
248
255
  return qb
@@ -262,6 +269,7 @@ class DbQueryResultCache {
262
269
  // -------------------------------------------------------------------------
263
270
  /**
264
271
  * Gets a query runner to work with.
272
+ *
265
273
  * @param queryRunner
266
274
  */
267
275
  getQueryRunner(queryRunner) {
@@ -1 +1 @@
1
- {"version":3,"file":"DbQueryResultCache.js","sourceRoot":"../build/browser/src/","sources":["cache/DbQueryResultCache.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport { MssqlParameter } from \"../driver/sqlserver/MssqlParameter\"\nimport type { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { Table } from \"../schema-builder/table/Table\"\nimport { RandomGenerator } from \"../util/RandomGenerator\"\nimport type { QueryResultCache } from \"./QueryResultCache\"\nimport type { QueryResultCacheOptions } from \"./QueryResultCacheOptions\"\n\n/**\n * Caches query result into current database, into separate table called \"query-result-cache\".\n */\nexport class DbQueryResultCache implements QueryResultCache {\n // -------------------------------------------------------------------------\n // Private properties\n // -------------------------------------------------------------------------\n\n private queryResultCacheTable: string\n\n private queryResultCacheDatabase?: string\n\n private queryResultCacheSchema?: string\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected dataSource: DataSource) {\n const { schema } = this.dataSource.driver.options as any\n const database = this.dataSource.driver.database\n const cacheOptions =\n typeof this.dataSource.options.cache === \"object\"\n ? this.dataSource.options.cache\n : {}\n const cacheTableName = cacheOptions.tableName || \"query-result-cache\"\n\n this.queryResultCacheDatabase = database\n this.queryResultCacheSchema = schema\n this.queryResultCacheTable = this.dataSource.driver.buildTableName(\n cacheTableName,\n schema,\n database,\n )\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a connection with given cache provider.\n */\n async connect(): Promise<void> {}\n\n /**\n * Disconnects with given cache provider.\n */\n async disconnect(): Promise<void> {}\n\n /**\n * Creates table for storing cache if it does not exist yet.\n * @param queryRunner\n */\n async synchronize(queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner)\n const driver = this.dataSource.driver\n const tableExist = await queryRunner.hasTable(\n this.queryResultCacheTable,\n ) // todo: table name should be configurable\n if (tableExist) return\n\n await queryRunner.createTable(\n new Table({\n database: this.queryResultCacheDatabase,\n schema: this.queryResultCacheSchema,\n name: this.queryResultCacheTable,\n columns: [\n {\n name: \"id\",\n isPrimary: true,\n isNullable: false,\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheId,\n }),\n generationStrategy:\n driver.options.type === \"spanner\"\n ? \"uuid\"\n : \"increment\",\n isGenerated: true,\n },\n {\n name: \"identifier\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheIdentifier,\n }),\n isNullable: true,\n },\n {\n name: \"time\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheTime,\n }),\n isPrimary: false,\n isNullable: false,\n },\n {\n name: \"duration\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheDuration,\n }),\n isPrimary: false,\n isNullable: false,\n },\n {\n name: \"query\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheQuery,\n }),\n isPrimary: false,\n isNullable: false,\n },\n {\n name: \"result\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheResult,\n }),\n isNullable: false,\n },\n ],\n }),\n )\n }\n\n /**\n * Get data from cache.\n * Returns cache result if found.\n * Returns undefined if result is not cached.\n * @param options\n * @param queryRunner\n */\n getFromCache(\n options: QueryResultCacheOptions,\n queryRunner?: QueryRunner,\n ): Promise<QueryResultCacheOptions | undefined> {\n queryRunner = this.getQueryRunner(queryRunner)\n const qb = this.dataSource\n .createQueryBuilder(queryRunner)\n .select()\n .from(this.queryResultCacheTable, \"cache\")\n\n if (options.identifier) {\n return qb\n .where(\n `${qb.escape(\"cache\")}.${qb.escape(\n \"identifier\",\n )} = :identifier`,\n )\n .setParameters({\n identifier:\n this.dataSource.driver.options.type === \"mssql\"\n ? new MssqlParameter(options.identifier, \"nvarchar\")\n : options.identifier,\n })\n .cache(false) // disable cache to avoid infinite loops when cache is alwaysEnable\n .getRawOne()\n } else if (options.query) {\n if (this.dataSource.driver.options.type === \"oracle\") {\n return qb\n .where(\n `dbms_lob.compare(${qb.escape(\"cache\")}.${qb.escape(\n \"query\",\n )}, :query) = 0`,\n { query: options.query },\n )\n .cache(false) // disable cache to avoid infinite loops when cache is alwaysEnable\n .getRawOne()\n }\n\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"query\")} = :query`)\n .setParameters({\n query:\n this.dataSource.driver.options.type === \"mssql\"\n ? new MssqlParameter(options.query, \"nvarchar\")\n : options.query,\n })\n .cache(false) // disable cache to avoid infinite loops when cache is alwaysEnable\n .getRawOne()\n }\n\n return Promise.resolve(undefined)\n }\n\n /**\n * Checks if cache is expired or not.\n * @param savedCache\n */\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n const duration =\n typeof savedCache.duration === \"string\"\n ? parseInt(savedCache.duration)\n : savedCache.duration\n return (\n (typeof savedCache.time === \"string\"\n ? parseInt(savedCache.time as any)\n : savedCache.time)! +\n duration <\n Date.now()\n )\n }\n\n /**\n * Stores given query result in the cache.\n * @param options\n * @param savedCache\n * @param queryRunner\n */\n async storeInCache(\n options: QueryResultCacheOptions,\n savedCache: QueryResultCacheOptions | undefined,\n queryRunner?: QueryRunner,\n ): Promise<void> {\n const shouldCreateQueryRunner =\n queryRunner === undefined ||\n queryRunner?.getReplicationMode() === \"slave\"\n\n if (queryRunner === undefined || shouldCreateQueryRunner) {\n queryRunner = this.dataSource.createQueryRunner(\"master\")\n }\n\n let insertedValues: ObjectLiteral = options\n if (this.dataSource.driver.options.type === \"mssql\") {\n // todo: bad abstraction, re-implement this part, probably better if we create an entity metadata for cache table\n insertedValues = {\n identifier: new MssqlParameter(options.identifier, \"nvarchar\"),\n time: new MssqlParameter(options.time, \"bigint\"),\n duration: new MssqlParameter(options.duration, \"int\"),\n query: new MssqlParameter(options.query, \"nvarchar\"),\n result: new MssqlParameter(options.result, \"nvarchar\"),\n }\n }\n\n if (savedCache && savedCache.identifier) {\n // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues)\n\n qb.where(`${qb.escape(\"identifier\")} = :condition`, {\n condition: insertedValues.identifier,\n })\n await qb.execute()\n } else if (savedCache && savedCache.query) {\n // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues)\n\n if (this.dataSource.driver.options.type === \"oracle\") {\n qb.where(`dbms_lob.compare(\"query\", :condition) = 0`, {\n condition: insertedValues.query,\n })\n } else {\n qb.where(`${qb.escape(\"query\")} = :condition`, {\n condition: insertedValues.query,\n })\n }\n\n await qb.execute()\n } else {\n // Spanner does not support auto-generated columns\n if (\n this.dataSource.driver.options.type === \"spanner\" &&\n !insertedValues.id\n ) {\n insertedValues.id = RandomGenerator.uuidv4()\n }\n\n // otherwise insert\n await queryRunner.manager\n .createQueryBuilder()\n .insert()\n .into(this.queryResultCacheTable)\n .values(insertedValues)\n .execute()\n }\n\n if (shouldCreateQueryRunner) {\n await queryRunner.release()\n }\n }\n\n /**\n * Clears everything stored in the cache.\n * @param queryRunner\n */\n async clear(queryRunner: QueryRunner): Promise<void> {\n return this.getQueryRunner(queryRunner).clearTable(\n this.queryResultCacheTable,\n )\n }\n\n /**\n * Removes all cached results by given identifiers from cache.\n * @param identifiers\n * @param queryRunner\n */\n async remove(\n identifiers: string[],\n queryRunner?: QueryRunner,\n ): Promise<void> {\n const _queryRunner: QueryRunner = queryRunner || this.getQueryRunner()\n await Promise.all(\n identifiers.map((identifier) => {\n const qb = _queryRunner.manager.createQueryBuilder()\n return qb\n .delete()\n .from(this.queryResultCacheTable)\n .where(`${qb.escape(\"identifier\")} = :identifier`, {\n identifier,\n })\n .execute()\n }),\n )\n\n if (!queryRunner) {\n await _queryRunner.release()\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets a query runner to work with.\n * @param queryRunner\n */\n protected getQueryRunner(queryRunner?: QueryRunner): QueryRunner {\n if (queryRunner) return queryRunner\n\n return this.dataSource.createQueryRunner()\n }\n}\n"]}
1
+ {"version":3,"file":"DbQueryResultCache.js","sourceRoot":"../build/browser/src/","sources":["cache/DbQueryResultCache.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport { MssqlParameter } from \"../driver/sqlserver/MssqlParameter\"\nimport type { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { Table } from \"../schema-builder/table/Table\"\nimport { RandomGenerator } from \"../util/RandomGenerator\"\nimport type { QueryResultCache } from \"./QueryResultCache\"\nimport type { QueryResultCacheOptions } from \"./QueryResultCacheOptions\"\n\n/**\n * Caches query result into current database, into separate table called \"query-result-cache\".\n */\nexport class DbQueryResultCache implements QueryResultCache {\n // -------------------------------------------------------------------------\n // Private properties\n // -------------------------------------------------------------------------\n\n private queryResultCacheTable: string\n\n private queryResultCacheDatabase?: string\n\n private queryResultCacheSchema?: string\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected dataSource: DataSource) {\n const { schema } = this.dataSource.driver.options as any\n const database = this.dataSource.driver.database\n const cacheOptions =\n typeof this.dataSource.options.cache === \"object\"\n ? this.dataSource.options.cache\n : {}\n const tableName =\n cacheOptions.tableName === \"\" ? undefined : cacheOptions.tableName\n const cacheTableName = tableName ?? \"query-result-cache\"\n\n this.queryResultCacheDatabase = database\n this.queryResultCacheSchema = schema\n this.queryResultCacheTable = this.dataSource.driver.buildTableName(\n cacheTableName,\n schema,\n database,\n )\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a connection with given cache provider.\n */\n async connect(): Promise<void> {}\n\n /**\n * Disconnects with given cache provider.\n */\n async disconnect(): Promise<void> {}\n\n /**\n * Creates table for storing cache if it does not exist yet.\n *\n * @param queryRunner\n */\n async synchronize(queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner)\n const driver = this.dataSource.driver\n const tableExist = await queryRunner.hasTable(\n this.queryResultCacheTable,\n ) // todo: table name should be configurable\n if (tableExist) return\n\n await queryRunner.createTable(\n new Table({\n database: this.queryResultCacheDatabase,\n schema: this.queryResultCacheSchema,\n name: this.queryResultCacheTable,\n columns: [\n {\n name: \"id\",\n isPrimary: true,\n isNullable: false,\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheId,\n }),\n generationStrategy:\n driver.options.type === \"spanner\"\n ? \"uuid\"\n : \"increment\",\n isGenerated: true,\n },\n {\n name: \"identifier\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheIdentifier,\n }),\n isNullable: true,\n },\n {\n name: \"time\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheTime,\n }),\n isPrimary: false,\n isNullable: false,\n },\n {\n name: \"duration\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheDuration,\n }),\n isPrimary: false,\n isNullable: false,\n },\n {\n name: \"query\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheQuery,\n }),\n isPrimary: false,\n isNullable: false,\n },\n {\n name: \"result\",\n type: driver.normalizeType({\n type: driver.mappedDataTypes.cacheResult,\n }),\n isNullable: false,\n },\n ],\n }),\n )\n }\n\n /**\n * Get data from cache.\n * Returns cache result if found.\n * Returns undefined if result is not cached.\n *\n * @param options\n * @param queryRunner\n */\n getFromCache(\n options: QueryResultCacheOptions,\n queryRunner?: QueryRunner,\n ): Promise<QueryResultCacheOptions | undefined> {\n queryRunner = this.getQueryRunner(queryRunner)\n const qb = this.dataSource\n .createQueryBuilder(queryRunner)\n .select()\n .from(this.queryResultCacheTable, \"cache\")\n\n if (options.identifier) {\n return qb\n .where(\n `${qb.escape(\"cache\")}.${qb.escape(\n \"identifier\",\n )} = :identifier`,\n )\n .setParameters({\n identifier:\n this.dataSource.driver.options.type === \"mssql\"\n ? new MssqlParameter(options.identifier, \"nvarchar\")\n : options.identifier,\n })\n .cache(false) // disable cache to avoid infinite loops when cache is alwaysEnable\n .getRawOne()\n } else if (options.query) {\n if (this.dataSource.driver.options.type === \"oracle\") {\n return qb\n .where(\n `dbms_lob.compare(${qb.escape(\"cache\")}.${qb.escape(\n \"query\",\n )}, :query) = 0`,\n { query: options.query },\n )\n .cache(false) // disable cache to avoid infinite loops when cache is alwaysEnable\n .getRawOne()\n }\n\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"query\")} = :query`)\n .setParameters({\n query:\n this.dataSource.driver.options.type === \"mssql\"\n ? new MssqlParameter(options.query, \"nvarchar\")\n : options.query,\n })\n .cache(false) // disable cache to avoid infinite loops when cache is alwaysEnable\n .getRawOne()\n }\n\n return Promise.resolve(undefined)\n }\n\n /**\n * Checks if cache is expired or not.\n *\n * @param savedCache\n */\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n const duration =\n typeof savedCache.duration === \"string\"\n ? parseInt(savedCache.duration)\n : savedCache.duration\n return (\n (typeof savedCache.time === \"string\"\n ? parseInt(savedCache.time as any)\n : savedCache.time)! +\n duration <\n Date.now()\n )\n }\n\n /**\n * Stores given query result in the cache.\n *\n * @param options\n * @param savedCache\n * @param queryRunner\n */\n async storeInCache(\n options: QueryResultCacheOptions,\n savedCache: QueryResultCacheOptions | undefined,\n queryRunner?: QueryRunner,\n ): Promise<void> {\n const shouldCreateQueryRunner =\n queryRunner === undefined ||\n queryRunner?.getReplicationMode() === \"slave\"\n\n if (queryRunner === undefined || shouldCreateQueryRunner) {\n queryRunner = this.dataSource.createQueryRunner(\"master\")\n }\n\n let insertedValues: ObjectLiteral = options\n if (this.dataSource.driver.options.type === \"mssql\") {\n // todo: bad abstraction, re-implement this part, probably better if we create an entity metadata for cache table\n insertedValues = {\n identifier: new MssqlParameter(options.identifier, \"nvarchar\"),\n time: new MssqlParameter(options.time, \"bigint\"),\n duration: new MssqlParameter(options.duration, \"int\"),\n query: new MssqlParameter(options.query, \"nvarchar\"),\n result: new MssqlParameter(options.result, \"nvarchar\"),\n }\n }\n\n if (savedCache?.identifier) {\n // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues)\n\n qb.where(`${qb.escape(\"identifier\")} = :condition`, {\n condition: insertedValues.identifier,\n })\n await qb.execute()\n } else if (savedCache?.query) {\n // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues)\n\n if (this.dataSource.driver.options.type === \"oracle\") {\n qb.where(`dbms_lob.compare(\"query\", :condition) = 0`, {\n condition: insertedValues.query,\n })\n } else {\n qb.where(`${qb.escape(\"query\")} = :condition`, {\n condition: insertedValues.query,\n })\n }\n\n await qb.execute()\n } else {\n // Spanner does not support auto-generated columns\n if (\n this.dataSource.driver.options.type === \"spanner\" &&\n !insertedValues.id\n ) {\n insertedValues.id = RandomGenerator.uuidv4()\n }\n\n // otherwise insert\n await queryRunner.manager\n .createQueryBuilder()\n .insert()\n .into(this.queryResultCacheTable)\n .values(insertedValues)\n .execute()\n }\n\n if (shouldCreateQueryRunner) {\n await queryRunner.release()\n }\n }\n\n /**\n * Clears everything stored in the cache.\n *\n * @param queryRunner\n */\n async clear(queryRunner: QueryRunner): Promise<void> {\n return this.getQueryRunner(queryRunner).clearTable(\n this.queryResultCacheTable,\n )\n }\n\n /**\n * Removes all cached results by given identifiers from cache.\n *\n * @param identifiers\n * @param queryRunner\n */\n async remove(\n identifiers: string[],\n queryRunner?: QueryRunner,\n ): Promise<void> {\n const _queryRunner: QueryRunner = queryRunner ?? this.getQueryRunner()\n await Promise.all(\n identifiers.map((identifier) => {\n const qb = _queryRunner.manager.createQueryBuilder()\n return qb\n .delete()\n .from(this.queryResultCacheTable)\n .where(`${qb.escape(\"identifier\")} = :identifier`, {\n identifier,\n })\n .execute()\n }),\n )\n\n if (!queryRunner) {\n await _queryRunner.release()\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets a query runner to work with.\n *\n * @param queryRunner\n */\n protected getQueryRunner(queryRunner?: QueryRunner): QueryRunner {\n if (queryRunner) return queryRunner\n\n return this.dataSource.createQueryRunner()\n }\n}\n"]}
@@ -30,6 +30,7 @@ export declare class RedisQueryResultCache implements QueryResultCache {
30
30
  disconnect(): Promise<void>;
31
31
  /**
32
32
  * Creates table for storing cache if it does not exist yet.
33
+ *
33
34
  * @param queryRunner
34
35
  */
35
36
  synchronize(queryRunner: QueryRunner): Promise<void>;
@@ -37,17 +38,20 @@ export declare class RedisQueryResultCache implements QueryResultCache {
37
38
  * Get data from cache.
38
39
  * Returns cache result if found.
39
40
  * Returns undefined if result is not cached.
41
+ *
40
42
  * @param options
41
43
  * @param queryRunner
42
44
  */
43
45
  getFromCache(options: QueryResultCacheOptions, queryRunner?: QueryRunner): Promise<QueryResultCacheOptions | undefined>;
44
46
  /**
45
47
  * Checks if cache is expired or not.
48
+ *
46
49
  * @param savedCache
47
50
  */
48
51
  isExpired(savedCache: QueryResultCacheOptions): boolean;
49
52
  /**
50
53
  * Stores given query result in the cache.
54
+ *
51
55
  * @param options
52
56
  * @param savedCache
53
57
  * @param queryRunner
@@ -55,17 +59,20 @@ export declare class RedisQueryResultCache implements QueryResultCache {
55
59
  storeInCache(options: QueryResultCacheOptions, savedCache: QueryResultCacheOptions, queryRunner?: QueryRunner): Promise<void>;
56
60
  /**
57
61
  * Clears everything stored in the cache.
62
+ *
58
63
  * @param queryRunner
59
64
  */
60
65
  clear(queryRunner?: QueryRunner): Promise<void>;
61
66
  /**
62
67
  * Removes all cached results by given identifiers from cache.
68
+ *
63
69
  * @param identifiers
64
70
  * @param queryRunner
65
71
  */
66
72
  remove(identifiers: string[], queryRunner?: QueryRunner): Promise<void>;
67
73
  /**
68
74
  * Removes a single key from redis database.
75
+ *
69
76
  * @param key
70
77
  */
71
78
  protected deleteKey(key: string): Promise<void>;
@@ -37,7 +37,7 @@ class RedisQueryResultCache {
37
37
  await this.client.connect();
38
38
  }
39
39
  else if (this.clientType === "ioredis") {
40
- if (cacheOptions && cacheOptions.port) {
40
+ if (cacheOptions?.port) {
41
41
  if (cacheOptions.options) {
42
42
  this.client = new this.redis(cacheOptions.port, cacheOptions.options);
43
43
  }
@@ -45,7 +45,7 @@ class RedisQueryResultCache {
45
45
  this.client = new this.redis(cacheOptions.port);
46
46
  }
47
47
  }
48
- else if (cacheOptions && cacheOptions.options) {
48
+ else if (cacheOptions?.options) {
49
49
  this.client = new this.redis(cacheOptions.options);
50
50
  }
51
51
  else {
@@ -53,14 +53,10 @@ class RedisQueryResultCache {
53
53
  }
54
54
  }
55
55
  else if (this.clientType === "ioredis/cluster") {
56
- if (cacheOptions &&
57
- cacheOptions.options &&
58
- Array.isArray(cacheOptions.options)) {
56
+ if (cacheOptions?.options && Array.isArray(cacheOptions.options)) {
59
57
  this.client = new this.redis.Cluster(cacheOptions.options);
60
58
  }
61
- else if (cacheOptions &&
62
- cacheOptions.options &&
63
- cacheOptions.options.startupNodes) {
59
+ else if (cacheOptions?.options?.startupNodes) {
64
60
  this.client = new this.redis.Cluster(cacheOptions.options.startupNodes, cacheOptions.options.options);
65
61
  }
66
62
  else {
@@ -78,6 +74,7 @@ class RedisQueryResultCache {
78
74
  }
79
75
  /**
80
76
  * Creates table for storing cache if it does not exist yet.
77
+ *
81
78
  * @param queryRunner
82
79
  */
83
80
  async synchronize(queryRunner) { }
@@ -85,11 +82,13 @@ class RedisQueryResultCache {
85
82
  * Get data from cache.
86
83
  * Returns cache result if found.
87
84
  * Returns undefined if result is not cached.
85
+ *
88
86
  * @param options
89
87
  * @param queryRunner
90
88
  */
91
89
  async getFromCache(options, queryRunner) {
92
- const key = options.identifier || options.query;
90
+ const identifier = options.identifier === "" ? undefined : options.identifier;
91
+ const key = identifier ?? options.query;
93
92
  if (!key)
94
93
  return undefined;
95
94
  const result = await this.client.get(key);
@@ -97,6 +96,7 @@ class RedisQueryResultCache {
97
96
  }
98
97
  /**
99
98
  * Checks if cache is expired or not.
99
+ *
100
100
  * @param savedCache
101
101
  */
102
102
  isExpired(savedCache) {
@@ -104,12 +104,14 @@ class RedisQueryResultCache {
104
104
  }
105
105
  /**
106
106
  * Stores given query result in the cache.
107
+ *
107
108
  * @param options
108
109
  * @param savedCache
109
110
  * @param queryRunner
110
111
  */
111
112
  async storeInCache(options, savedCache, queryRunner) {
112
- const key = options.identifier || options.query;
113
+ const identifier = options.identifier === "" ? undefined : options.identifier;
114
+ const key = identifier ?? options.query;
113
115
  if (!key)
114
116
  return;
115
117
  const value = JSON.stringify(options);
@@ -128,6 +130,7 @@ class RedisQueryResultCache {
128
130
  }
129
131
  /**
130
132
  * Clears everything stored in the cache.
133
+ *
131
134
  * @param queryRunner
132
135
  */
133
136
  async clear(queryRunner) {
@@ -140,6 +143,7 @@ class RedisQueryResultCache {
140
143
  }
141
144
  /**
142
145
  * Removes all cached results by given identifiers from cache.
146
+ *
143
147
  * @param identifiers
144
148
  * @param queryRunner
145
149
  */
@@ -151,6 +155,7 @@ class RedisQueryResultCache {
151
155
  // -------------------------------------------------------------------------
152
156
  /**
153
157
  * Removes a single key from redis database.
158
+ *
154
159
  * @param key
155
160
  */
156
161
  async deleteKey(key) {
@@ -1 +1 @@
1
- {"version":3,"file":"RedisQueryResultCache.js","sourceRoot":"../build/browser/src/","sources":["cache/RedisQueryResultCache.ts"],"names":[],"mappings":"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","sourcesContent":["import type { QueryResultCache } from \"./QueryResultCache\"\nimport type { QueryResultCacheOptions } from \"./QueryResultCacheOptions\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport type { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { TypeORMError } from \"../error/TypeORMError\"\n\n/**\n * Caches query result into Redis database.\n */\nexport class RedisQueryResultCache implements QueryResultCache {\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Redis module instance loaded dynamically.\n */\n protected redis: any\n\n /**\n * Connected redis client.\n */\n protected client: any\n\n /**\n * Type of the Redis Client (redis or ioredis).\n */\n protected clientType: \"redis\" | \"ioredis\" | \"ioredis/cluster\"\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n protected dataSource: DataSource,\n clientType: \"redis\" | \"ioredis\" | \"ioredis/cluster\",\n ) {\n this.clientType = clientType\n this.redis = this.loadRedis()\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a connection with given cache provider.\n */\n async connect(): Promise<void> {\n const cacheOptions: any = this.dataSource.options.cache\n if (this.clientType === \"redis\") {\n const clientOptions = {\n ...cacheOptions?.options,\n }\n\n this.client = this.redis.createClient(clientOptions)\n\n if (\n typeof this.dataSource.options.cache === \"object\" &&\n this.dataSource.options.cache.ignoreErrors\n ) {\n this.client.on(\"error\", (err: any) => {\n this.dataSource.logger.log(\"warn\", err)\n })\n }\n\n await this.client.connect()\n } else if (this.clientType === \"ioredis\") {\n if (cacheOptions && cacheOptions.port) {\n if (cacheOptions.options) {\n this.client = new this.redis(\n cacheOptions.port,\n cacheOptions.options,\n )\n } else {\n this.client = new this.redis(cacheOptions.port)\n }\n } else if (cacheOptions && cacheOptions.options) {\n this.client = new this.redis(cacheOptions.options)\n } else {\n this.client = new this.redis()\n }\n } else if (this.clientType === \"ioredis/cluster\") {\n if (\n cacheOptions &&\n cacheOptions.options &&\n Array.isArray(cacheOptions.options)\n ) {\n this.client = new this.redis.Cluster(cacheOptions.options)\n } else if (\n cacheOptions &&\n cacheOptions.options &&\n cacheOptions.options.startupNodes\n ) {\n this.client = new this.redis.Cluster(\n cacheOptions.options.startupNodes,\n cacheOptions.options.options,\n )\n } else {\n throw new TypeORMError(\n `options.startupNodes required for ${this.clientType}.`,\n )\n }\n }\n }\n\n /**\n * Disconnects the connection\n */\n async disconnect(): Promise<void> {\n const client = this.client\n this.client = undefined\n await client.quit()\n }\n\n /**\n * Creates table for storing cache if it does not exist yet.\n * @param queryRunner\n */\n async synchronize(queryRunner: QueryRunner): Promise<void> {}\n\n /**\n * Get data from cache.\n * Returns cache result if found.\n * Returns undefined if result is not cached.\n * @param options\n * @param queryRunner\n */\n async getFromCache(\n options: QueryResultCacheOptions,\n queryRunner?: QueryRunner,\n ): Promise<QueryResultCacheOptions | undefined> {\n const key = options.identifier || options.query\n if (!key) return undefined\n\n const result = await this.client.get(key)\n return result ? JSON.parse(result) : undefined\n }\n\n /**\n * Checks if cache is expired or not.\n * @param savedCache\n */\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n return savedCache.time! + savedCache.duration < Date.now()\n }\n\n /**\n * Stores given query result in the cache.\n * @param options\n * @param savedCache\n * @param queryRunner\n */\n async storeInCache(\n options: QueryResultCacheOptions,\n savedCache: QueryResultCacheOptions,\n queryRunner?: QueryRunner,\n ): Promise<void> {\n const key = options.identifier || options.query\n if (!key) return\n\n const value = JSON.stringify(options)\n const duration = options.duration\n\n if (this.isNodeRedisClient()) {\n await this.client.set(key, value, {\n expiration: {\n type: \"PX\",\n value: duration,\n },\n })\n } else {\n await this.client.set(key, value, \"PX\", duration)\n }\n }\n\n /**\n * Clears everything stored in the cache.\n * @param queryRunner\n */\n async clear(queryRunner?: QueryRunner): Promise<void> {\n if (this.isNodeRedisClient()) {\n await this.client.flushDb()\n } else {\n await this.client.flushdb()\n }\n }\n\n /**\n * Removes all cached results by given identifiers from cache.\n * @param identifiers\n * @param queryRunner\n */\n async remove(\n identifiers: string[],\n queryRunner?: QueryRunner,\n ): Promise<void> {\n await this.client.del(identifiers)\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Removes a single key from redis database.\n * @param key\n */\n protected async deleteKey(key: string): Promise<void> {\n await this.client.del([key])\n }\n\n /**\n * Loads redis dependency.\n */\n protected loadRedis(): any {\n try {\n if (this.clientType === \"ioredis/cluster\") {\n return PlatformTools.load(\"ioredis\")\n } else {\n return PlatformTools.load(this.clientType)\n }\n } catch {\n throw new TypeORMError(\n `Cannot use cache because ${this.clientType} is not installed. Please run \"npm i ${this.clientType}\".`,\n )\n }\n }\n\n private isNodeRedisClient(): boolean {\n return this.clientType === \"redis\"\n }\n}\n"]}
1
+ {"version":3,"file":"RedisQueryResultCache.js","sourceRoot":"../build/browser/src/","sources":["cache/RedisQueryResultCache.ts"],"names":[],"mappings":"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","sourcesContent":["import type { QueryResultCache } from \"./QueryResultCache\"\nimport type { QueryResultCacheOptions } from \"./QueryResultCacheOptions\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport type { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { TypeORMError } from \"../error/TypeORMError\"\n\n/**\n * Caches query result into Redis database.\n */\nexport class RedisQueryResultCache implements QueryResultCache {\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Redis module instance loaded dynamically.\n */\n protected redis: any\n\n /**\n * Connected redis client.\n */\n protected client: any\n\n /**\n * Type of the Redis Client (redis or ioredis).\n */\n protected clientType: \"redis\" | \"ioredis\" | \"ioredis/cluster\"\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n protected dataSource: DataSource,\n clientType: \"redis\" | \"ioredis\" | \"ioredis/cluster\",\n ) {\n this.clientType = clientType\n this.redis = this.loadRedis()\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a connection with given cache provider.\n */\n async connect(): Promise<void> {\n const cacheOptions: any = this.dataSource.options.cache\n if (this.clientType === \"redis\") {\n const clientOptions = {\n ...cacheOptions?.options,\n }\n\n this.client = this.redis.createClient(clientOptions)\n\n if (\n typeof this.dataSource.options.cache === \"object\" &&\n this.dataSource.options.cache.ignoreErrors\n ) {\n this.client.on(\"error\", (err: any) => {\n this.dataSource.logger.log(\"warn\", err)\n })\n }\n\n await this.client.connect()\n } else if (this.clientType === \"ioredis\") {\n if (cacheOptions?.port) {\n if (cacheOptions.options) {\n this.client = new this.redis(\n cacheOptions.port,\n cacheOptions.options,\n )\n } else {\n this.client = new this.redis(cacheOptions.port)\n }\n } else if (cacheOptions?.options) {\n this.client = new this.redis(cacheOptions.options)\n } else {\n this.client = new this.redis()\n }\n } else if (this.clientType === \"ioredis/cluster\") {\n if (cacheOptions?.options && Array.isArray(cacheOptions.options)) {\n this.client = new this.redis.Cluster(cacheOptions.options)\n } else if (cacheOptions?.options?.startupNodes) {\n this.client = new this.redis.Cluster(\n cacheOptions.options.startupNodes,\n cacheOptions.options.options,\n )\n } else {\n throw new TypeORMError(\n `options.startupNodes required for ${this.clientType}.`,\n )\n }\n }\n }\n\n /**\n * Disconnects the connection\n */\n async disconnect(): Promise<void> {\n const client = this.client\n this.client = undefined\n await client.quit()\n }\n\n /**\n * Creates table for storing cache if it does not exist yet.\n *\n * @param queryRunner\n */\n async synchronize(queryRunner: QueryRunner): Promise<void> {}\n\n /**\n * Get data from cache.\n * Returns cache result if found.\n * Returns undefined if result is not cached.\n *\n * @param options\n * @param queryRunner\n */\n async getFromCache(\n options: QueryResultCacheOptions,\n queryRunner?: QueryRunner,\n ): Promise<QueryResultCacheOptions | undefined> {\n const identifier =\n options.identifier === \"\" ? undefined : options.identifier\n const key = identifier ?? options.query\n if (!key) return undefined\n\n const result = await this.client.get(key)\n return result ? JSON.parse(result) : undefined\n }\n\n /**\n * Checks if cache is expired or not.\n *\n * @param savedCache\n */\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n return savedCache.time! + savedCache.duration < Date.now()\n }\n\n /**\n * Stores given query result in the cache.\n *\n * @param options\n * @param savedCache\n * @param queryRunner\n */\n async storeInCache(\n options: QueryResultCacheOptions,\n savedCache: QueryResultCacheOptions,\n queryRunner?: QueryRunner,\n ): Promise<void> {\n const identifier =\n options.identifier === \"\" ? undefined : options.identifier\n const key = identifier ?? options.query\n if (!key) return\n\n const value = JSON.stringify(options)\n const duration = options.duration\n\n if (this.isNodeRedisClient()) {\n await this.client.set(key, value, {\n expiration: {\n type: \"PX\",\n value: duration,\n },\n })\n } else {\n await this.client.set(key, value, \"PX\", duration)\n }\n }\n\n /**\n * Clears everything stored in the cache.\n *\n * @param queryRunner\n */\n async clear(queryRunner?: QueryRunner): Promise<void> {\n if (this.isNodeRedisClient()) {\n await this.client.flushDb()\n } else {\n await this.client.flushdb()\n }\n }\n\n /**\n * Removes all cached results by given identifiers from cache.\n *\n * @param identifiers\n * @param queryRunner\n */\n async remove(\n identifiers: string[],\n queryRunner?: QueryRunner,\n ): Promise<void> {\n await this.client.del(identifiers)\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Removes a single key from redis database.\n *\n * @param key\n */\n protected async deleteKey(key: string): Promise<void> {\n await this.client.del([key])\n }\n\n /**\n * Loads redis dependency.\n */\n protected loadRedis(): any {\n try {\n if (this.clientType === \"ioredis/cluster\") {\n return PlatformTools.load(\"ioredis\")\n } else {\n return PlatformTools.load(this.clientType)\n }\n } catch {\n throw new TypeORMError(\n `Cannot use cache because ${this.clientType} is not installed. Please run \"npm i ${this.clientType}\".`,\n )\n }\n }\n\n private isNodeRedisClient(): boolean {\n return this.clientType === \"redis\"\n }\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const child_process_1 = require("child_process");
5
- if ((process.env["NODE_OPTIONS"] || "").includes("--loader ts-node"))
5
+ if ((process.env["NODE_OPTIONS"] ?? "").includes("--loader ts-node"))
6
6
  require("./cli");
7
7
  else {
8
8
  const childProcess = (0, child_process_1.spawnSync)(process.argv[0], process.argv.slice(1), {
@@ -19,6 +19,6 @@ else {
19
19
  },
20
20
  windowsHide: true,
21
21
  });
22
- process.exit(childProcess.status || 0);
22
+ process.exit(childProcess.status ?? 0);
23
23
  }
24
24
  //# sourceMappingURL=cli-ts-node-esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-ts-node-esm.js","sourceRoot":"../build/browser/src/","sources":["cli-ts-node-esm.ts"],"names":[],"mappings":";;;AACA,iDAAyC;AAEzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAChE,OAAO,CAAC,OAAO,CAAC,CAAA;KACf,CAAC;IACF,MAAM,YAAY,GAAG,IAAA,yBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACnE,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE;YACD,GAAG,OAAO,CAAC,GAAG;YACd,YAAY,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC3B,sBAAsB;gBACtB,eAAe;aAClB;iBACI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBACxB,IAAI,CAAC,GAAG,CAAC;SACjB;QACD,WAAW,EAAE,IAAI;KACpB,CAAC,CAAA;IAEF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;AAC1C,CAAC","sourcesContent":["#!/usr/bin/env node\nimport { spawnSync } from \"child_process\"\n\nif ((process.env[\"NODE_OPTIONS\"] || \"\").includes(\"--loader ts-node\"))\n require(\"./cli\")\nelse {\n const childProcess = spawnSync(process.argv[0], process.argv.slice(1), {\n stdio: \"inherit\",\n env: {\n ...process.env,\n NODE_OPTIONS: [\n process.env[\"NODE_OPTIONS\"],\n \"--loader ts-node/esm\",\n \"--no-warnings\",\n ]\n .filter((item) => !!item)\n .join(\" \"),\n },\n windowsHide: true,\n })\n\n process.exit(childProcess.status || 0)\n}\n"]}
1
+ {"version":3,"file":"cli-ts-node-esm.js","sourceRoot":"../build/browser/src/","sources":["cli-ts-node-esm.ts"],"names":[],"mappings":";;;AACA,iDAAyC;AAEzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAChE,OAAO,CAAC,OAAO,CAAC,CAAA;KACf,CAAC;IACF,MAAM,YAAY,GAAG,IAAA,yBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACnE,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE;YACD,GAAG,OAAO,CAAC,GAAG;YACd,YAAY,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC3B,sBAAsB;gBACtB,eAAe;aAClB;iBACI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBACxB,IAAI,CAAC,GAAG,CAAC;SACjB;QACD,WAAW,EAAE,IAAI;KACpB,CAAC,CAAA;IAEF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;AAC1C,CAAC","sourcesContent":["#!/usr/bin/env node\nimport { spawnSync } from \"child_process\"\n\nif ((process.env[\"NODE_OPTIONS\"] ?? \"\").includes(\"--loader ts-node\"))\n require(\"./cli\")\nelse {\n const childProcess = spawnSync(process.argv[0], process.argv.slice(1), {\n stdio: \"inherit\",\n env: {\n ...process.env,\n NODE_OPTIONS: [\n process.env[\"NODE_OPTIONS\"],\n \"--loader ts-node/esm\",\n \"--no-warnings\",\n ]\n .filter((item) => !!item)\n .join(\" \"),\n },\n windowsHide: true,\n })\n\n process.exit(childProcess.status ?? 0)\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Wrapper type for relation type definitions in entities.
3
3
  * Used to circumvent ESM modules circular dependency issue caused by reflection metadata saving the type of the property.
4
+ *
4
5
  * @example
5
6
  * Usage example:
6
7
  * ```
@@ -10,5 +11,6 @@
10
11
  * profile: Relation<Profile>;
11
12
  * }
12
13
  * ```
14
+ *
13
15
  */
14
16
  export type Relation<T> = T;
@@ -1 +1 @@
1
- {"version":3,"file":"RelationType.js","sourceRoot":"../build/browser/src/","sources":["common/RelationType.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Wrapper type for relation type definitions in entities.\n * Used to circumvent ESM modules circular dependency issue caused by reflection metadata saving the type of the property.\n * @example\n * Usage example:\n * ```\n * \\@Entity()\n * export default class User {\n * \\@OneToOne(() => Profile, profile => profile.user)\n * profile: Relation<Profile>;\n * }\n * ```\n */\nexport type Relation<T> = T\n"]}
1
+ {"version":3,"file":"RelationType.js","sourceRoot":"../build/browser/src/","sources":["common/RelationType.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Wrapper type for relation type definitions in entities.\n * Used to circumvent ESM modules circular dependency issue caused by reflection metadata saving the type of the property.\n *\n * @example\n * Usage example:\n * ```\n * \\@Entity()\n * export default class User {\n * \\@OneToOne(() => Profile, profile => profile.user)\n * profile: Relation<Profile>;\n * }\n * ```\n *\n */\nexport type Relation<T> = T\n"]}
@@ -11,16 +11,19 @@ export declare class ConnectionMetadataBuilder {
11
11
  constructor(dataSource: DataSource);
12
12
  /**
13
13
  * Builds migration instances for the given classes or directories.
14
+ *
14
15
  * @param migrations
15
16
  */
16
17
  buildMigrations(migrations: (Function | string)[]): Promise<MigrationInterface[]>;
17
18
  /**
18
19
  * Builds subscriber instances for the given classes or directories.
20
+ *
19
21
  * @param subscribers
20
22
  */
21
23
  buildSubscribers(subscribers: (Function | string)[]): Promise<EntitySubscriberInterface<any>[]>;
22
24
  /**
23
25
  * Builds entity metadatas for the given classes or directories.
26
+ *
24
27
  * @param entities
25
28
  */
26
29
  buildEntityMetadatas(entities: (Function | EntitySchema<any> | string)[]): Promise<EntityMetadata[]>;
@@ -22,6 +22,7 @@ class ConnectionMetadataBuilder {
22
22
  // -------------------------------------------------------------------------
23
23
  /**
24
24
  * Builds migration instances for the given classes or directories.
25
+ *
25
26
  * @param migrations
26
27
  */
27
28
  async buildMigrations(migrations) {
@@ -34,6 +35,7 @@ class ConnectionMetadataBuilder {
34
35
  }
35
36
  /**
36
37
  * Builds subscriber instances for the given classes or directories.
38
+ *
37
39
  * @param subscribers
38
40
  */
39
41
  async buildSubscribers(subscribers) {
@@ -48,6 +50,7 @@ class ConnectionMetadataBuilder {
48
50
  }
49
51
  /**
50
52
  * Builds entity metadatas for the given classes or directories.
53
+ *
51
54
  * @param entities
52
55
  */
53
56
  async buildEntityMetadatas(entities) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionMetadataBuilder.js","sourceRoot":"../build/browser/src/","sources":["connection/ConnectionMetadataBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { importClassesFromDirectories } from \"../util/DirectoryExportedClassesLoader\"\nimport { OrmUtils } from \"../util/OrmUtils\"\nimport type { MigrationInterface } from \"../migration/MigrationInterface\"\nimport { getMetadataArgsStorage } from \"../globals\"\nimport { EntityMetadataBuilder } from \"../metadata-builder/EntityMetadataBuilder\"\nimport { EntitySchemaTransformer } from \"../entity-schema/EntitySchemaTransformer\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport type { EntitySchema } from \"../entity-schema/EntitySchema\"\nimport type { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport type { EntitySubscriberInterface } from \"../subscriber/EntitySubscriberInterface\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\n\n/**\n * Builds migration instances, subscriber instances and entity metadatas for the given classes.\n */\nexport class ConnectionMetadataBuilder {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected dataSource: DataSource) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds migration instances for the given classes or directories.\n * @param migrations\n */\n async buildMigrations(\n migrations: (Function | string)[],\n ): Promise<MigrationInterface[]> {\n const [migrationClasses, migrationDirectories] =\n OrmUtils.splitClassesAndStrings(migrations)\n const allMigrationClasses = [\n ...migrationClasses,\n ...(await importClassesFromDirectories(\n this.dataSource.logger,\n migrationDirectories,\n )),\n ]\n return allMigrationClasses.map(\n (migrationClass) =>\n new (migrationClass as new () => MigrationInterface)(),\n )\n }\n\n /**\n * Builds subscriber instances for the given classes or directories.\n * @param subscribers\n */\n async buildSubscribers(\n subscribers: (Function | string)[],\n ): Promise<EntitySubscriberInterface<any>[]> {\n const [subscriberClasses, subscriberDirectories] =\n OrmUtils.splitClassesAndStrings(subscribers || [])\n const allSubscriberClasses = [\n ...subscriberClasses,\n ...(await importClassesFromDirectories(\n this.dataSource.logger,\n subscriberDirectories,\n )),\n ]\n return getMetadataArgsStorage()\n .filterSubscribers(allSubscriberClasses)\n .map(\n (metadata) =>\n new (metadata.target as new () => EntitySubscriberInterface<any>)(),\n )\n }\n\n /**\n * Builds entity metadatas for the given classes or directories.\n * @param entities\n */\n async buildEntityMetadatas(\n entities: (Function | EntitySchema<any> | string)[],\n ): Promise<EntityMetadata[]> {\n // todo: instead we need to merge multiple metadata args storages\n\n const [entityClassesOrSchemas, entityDirectories] =\n OrmUtils.splitClassesAndStrings(entities || [])\n const entityClasses: Function[] = entityClassesOrSchemas.filter(\n (entityClass) => !InstanceChecker.isEntitySchema(entityClass),\n ) as any\n const entitySchemas: EntitySchema<any>[] =\n entityClassesOrSchemas.filter((entityClass) =>\n InstanceChecker.isEntitySchema(entityClass),\n ) as any\n\n const allEntityClasses = [\n ...entityClasses,\n ...(await importClassesFromDirectories(\n this.dataSource.logger,\n entityDirectories,\n )),\n ]\n allEntityClasses.forEach((entityClass) => {\n // if we have entity schemas loaded from directories\n if (InstanceChecker.isEntitySchema(entityClass)) {\n entitySchemas.push(entityClass)\n }\n })\n const decoratorEntityMetadatas = new EntityMetadataBuilder(\n this.dataSource,\n getMetadataArgsStorage(),\n ).build(allEntityClasses)\n\n const metadataArgsStorageFromSchema =\n new EntitySchemaTransformer().transform(entitySchemas)\n const schemaEntityMetadatas = new EntityMetadataBuilder(\n this.dataSource,\n metadataArgsStorageFromSchema,\n ).build()\n\n return [...decoratorEntityMetadatas, ...schemaEntityMetadatas]\n }\n}\n"]}
1
+ {"version":3,"file":"ConnectionMetadataBuilder.js","sourceRoot":"../build/browser/src/","sources":["connection/ConnectionMetadataBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { importClassesFromDirectories } from \"../util/DirectoryExportedClassesLoader\"\nimport { OrmUtils } from \"../util/OrmUtils\"\nimport type { MigrationInterface } from \"../migration/MigrationInterface\"\nimport { getMetadataArgsStorage } from \"../globals\"\nimport { EntityMetadataBuilder } from \"../metadata-builder/EntityMetadataBuilder\"\nimport { EntitySchemaTransformer } from \"../entity-schema/EntitySchemaTransformer\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport type { EntitySchema } from \"../entity-schema/EntitySchema\"\nimport type { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport type { EntitySubscriberInterface } from \"../subscriber/EntitySubscriberInterface\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\n\n/**\n * Builds migration instances, subscriber instances and entity metadatas for the given classes.\n */\nexport class ConnectionMetadataBuilder {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected dataSource: DataSource) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds migration instances for the given classes or directories.\n *\n * @param migrations\n */\n async buildMigrations(\n migrations: (Function | string)[],\n ): Promise<MigrationInterface[]> {\n const [migrationClasses, migrationDirectories] =\n OrmUtils.splitClassesAndStrings(migrations)\n const allMigrationClasses = [\n ...migrationClasses,\n ...(await importClassesFromDirectories(\n this.dataSource.logger,\n migrationDirectories,\n )),\n ]\n return allMigrationClasses.map(\n (migrationClass) =>\n new (migrationClass as new () => MigrationInterface)(),\n )\n }\n\n /**\n * Builds subscriber instances for the given classes or directories.\n *\n * @param subscribers\n */\n async buildSubscribers(\n subscribers: (Function | string)[],\n ): Promise<EntitySubscriberInterface<any>[]> {\n const [subscriberClasses, subscriberDirectories] =\n OrmUtils.splitClassesAndStrings(subscribers || [])\n const allSubscriberClasses = [\n ...subscriberClasses,\n ...(await importClassesFromDirectories(\n this.dataSource.logger,\n subscriberDirectories,\n )),\n ]\n return getMetadataArgsStorage()\n .filterSubscribers(allSubscriberClasses)\n .map(\n (metadata) =>\n new (metadata.target as new () => EntitySubscriberInterface<any>)(),\n )\n }\n\n /**\n * Builds entity metadatas for the given classes or directories.\n *\n * @param entities\n */\n async buildEntityMetadatas(\n entities: (Function | EntitySchema<any> | string)[],\n ): Promise<EntityMetadata[]> {\n // todo: instead we need to merge multiple metadata args storages\n\n const [entityClassesOrSchemas, entityDirectories] =\n OrmUtils.splitClassesAndStrings(entities || [])\n const entityClasses: Function[] = entityClassesOrSchemas.filter(\n (entityClass) => !InstanceChecker.isEntitySchema(entityClass),\n ) as any\n const entitySchemas: EntitySchema<any>[] =\n entityClassesOrSchemas.filter((entityClass) =>\n InstanceChecker.isEntitySchema(entityClass),\n ) as any\n\n const allEntityClasses = [\n ...entityClasses,\n ...(await importClassesFromDirectories(\n this.dataSource.logger,\n entityDirectories,\n )),\n ]\n allEntityClasses.forEach((entityClass) => {\n // if we have entity schemas loaded from directories\n if (InstanceChecker.isEntitySchema(entityClass)) {\n entitySchemas.push(entityClass)\n }\n })\n const decoratorEntityMetadatas = new EntityMetadataBuilder(\n this.dataSource,\n getMetadataArgsStorage(),\n ).build(allEntityClasses)\n\n const metadataArgsStorageFromSchema =\n new EntitySchemaTransformer().transform(entitySchemas)\n const schemaEntityMetadatas = new EntityMetadataBuilder(\n this.dataSource,\n metadataArgsStorageFromSchema,\n ).build()\n\n return [...decoratorEntityMetadatas, ...schemaEntityMetadatas]\n }\n}\n"]}
@@ -5,8 +5,8 @@ import type { DataSourceOptions } from "../data-source/DataSourceOptions";
5
5
  export declare class ConnectionOptionsReader {
6
6
  protected options?: {
7
7
  /**
8
- * Directory where ormconfig should be read from.
9
- * By default its your application root (where your app package.json is located).
8
+ * Directory from where the `ormconfig` file should be read.
9
+ * Default: `process.cwd()`.
10
10
  */
11
11
  root?: string;
12
12
  /**
@@ -16,8 +16,8 @@ export declare class ConnectionOptionsReader {
16
16
  } | undefined;
17
17
  constructor(options?: {
18
18
  /**
19
- * Directory where ormconfig should be read from.
20
- * By default its your application root (where your app package.json is located).
19
+ * Directory from where the `ormconfig` file should be read.
20
+ * Default: `process.cwd()`.
21
21
  */
22
22
  root?: string;
23
23
  /**
@@ -37,6 +37,7 @@ export declare class ConnectionOptionsReader {
37
37
  protected load(): Promise<DataSourceOptions[] | undefined>;
38
38
  /**
39
39
  * Normalize connection options.
40
+ *
40
41
  * @param connectionOptions
41
42
  */
42
43
  protected normalizeConnectionOptions(connectionOptions: DataSourceOptions | DataSourceOptions[]): DataSourceOptions[];