typeorm 0.2.42-dev.cefddd9 → 0.2.42-dev.d0f32b3

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 (323) hide show
  1. package/README.md +38 -0
  2. package/browser/common/DeepPartial.d.ts +3 -3
  3. package/browser/common/DeepPartial.js.map +1 -1
  4. package/browser/common/RelationType.d.ts +14 -0
  5. package/browser/common/RelationType.js +3 -0
  6. package/browser/common/RelationType.js.map +1 -0
  7. package/browser/connection/BaseConnectionOptions.d.ts +5 -0
  8. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  9. package/browser/connection/Connection.d.ts +5 -1
  10. package/browser/connection/Connection.js +46 -30
  11. package/browser/connection/Connection.js.map +1 -1
  12. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
  13. package/browser/connection/ConnectionMetadataBuilder.js +54 -22
  14. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  15. package/browser/connection/ConnectionOptionsReader.js +33 -28
  16. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  17. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  18. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  19. package/browser/decorator/listeners/AfterRecover.d.ts +4 -0
  20. package/browser/decorator/listeners/AfterRecover.js +16 -0
  21. package/browser/decorator/listeners/AfterRecover.js.map +1 -0
  22. package/browser/decorator/listeners/AfterSoftRemove.d.ts +4 -0
  23. package/browser/decorator/listeners/AfterSoftRemove.js +16 -0
  24. package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -0
  25. package/browser/decorator/listeners/BeforeRecover.d.ts +4 -0
  26. package/browser/decorator/listeners/BeforeRecover.js +16 -0
  27. package/browser/decorator/listeners/BeforeRecover.js.map +1 -0
  28. package/browser/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
  29. package/browser/decorator/listeners/BeforeSoftRemove.js +16 -0
  30. package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -0
  31. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
  32. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  33. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  34. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  35. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  36. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  37. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  38. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  39. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  40. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  41. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  42. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  43. package/browser/driver/postgres/PostgresQueryRunner.js +39 -15
  44. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  45. package/browser/driver/sap/SapQueryRunner.js +1 -1
  46. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  47. package/browser/driver/sqlite/SqliteDriver.js +11 -10
  48. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  49. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +3 -3
  50. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  51. package/browser/entity-manager/EntityManager.js +1 -11
  52. package/browser/entity-manager/EntityManager.js.map +1 -1
  53. package/browser/entity-manager/MongoEntityManager.d.ts +2 -0
  54. package/browser/entity-manager/MongoEntityManager.js +35 -4
  55. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  56. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +6 -0
  57. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  58. package/browser/entity-schema/EntitySchemaTransformer.js +1 -0
  59. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  60. package/browser/find-options/FindOneOptions.d.ts +6 -0
  61. package/browser/find-options/FindOneOptions.js.map +1 -1
  62. package/browser/find-options/FindOptionsUtils.js +4 -0
  63. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  64. package/browser/find-options/operator/Like.d.ts +1 -1
  65. package/browser/find-options/operator/Like.js +1 -1
  66. package/browser/find-options/operator/Like.js.map +1 -1
  67. package/browser/find-options/operator/Not.d.ts +1 -1
  68. package/browser/find-options/operator/Not.js +1 -1
  69. package/browser/find-options/operator/Not.js.map +1 -1
  70. package/browser/globals.js +34 -7
  71. package/browser/globals.js.map +1 -1
  72. package/browser/index.d.ts +6 -0
  73. package/browser/index.js +6 -0
  74. package/browser/index.js.map +1 -1
  75. package/browser/metadata/EntityMetadata.d.ts +16 -0
  76. package/browser/metadata/EntityMetadata.js +16 -0
  77. package/browser/metadata/EntityMetadata.js.map +1 -1
  78. package/browser/metadata/types/EventListenerTypes.d.ts +5 -1
  79. package/browser/metadata/types/EventListenerTypes.js +4 -0
  80. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  81. package/browser/metadata-builder/EntityMetadataBuilder.js +4 -0
  82. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  83. package/browser/metadata-builder/EntityMetadataValidator.js +2 -1
  84. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  85. package/browser/migration/MigrationExecutor.js +1 -1
  86. package/browser/migration/MigrationExecutor.js.map +1 -1
  87. package/browser/persistence/SubjectExecutor.d.ts +4 -2
  88. package/browser/persistence/SubjectExecutor.js +105 -13
  89. package/browser/persistence/SubjectExecutor.js.map +1 -1
  90. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +1 -1
  91. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  92. package/browser/platform/PlatformTools.d.ts +1 -0
  93. package/browser/platform/PlatformTools.js +5 -0
  94. package/browser/platform/PlatformTools.js.map +1 -1
  95. package/browser/query-builder/DeleteQueryBuilder.d.ts +3 -1
  96. package/browser/query-builder/DeleteQueryBuilder.js +3 -1
  97. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  98. package/browser/query-builder/InsertQueryBuilder.js +2 -2
  99. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  100. package/browser/query-builder/NotBrackets.d.ts +7 -0
  101. package/browser/query-builder/NotBrackets.js +16 -0
  102. package/browser/query-builder/NotBrackets.js.map +1 -0
  103. package/browser/query-builder/QueryBuilder.d.ts +2 -1
  104. package/browser/query-builder/QueryBuilder.js +2 -1
  105. package/browser/query-builder/QueryBuilder.js.map +1 -1
  106. package/browser/query-builder/RelationLoader.js +11 -6
  107. package/browser/query-builder/RelationLoader.js.map +1 -1
  108. package/browser/query-builder/SelectQueryBuilder.d.ts +9 -0
  109. package/browser/query-builder/SelectQueryBuilder.js +27 -20
  110. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  111. package/browser/query-builder/SoftDeleteQueryBuilder.js +44 -30
  112. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  113. package/browser/query-builder/UpdateQueryBuilder.d.ts +3 -1
  114. package/browser/query-builder/UpdateQueryBuilder.js +3 -1
  115. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  116. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
  117. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  118. package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
  119. package/browser/query-runner/BaseQueryRunner.js +3 -3
  120. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  121. package/browser/repository/TreeRepository.js +3 -2
  122. package/browser/repository/TreeRepository.js.map +1 -1
  123. package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
  124. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  125. package/browser/subscriber/Broadcaster.d.ts +40 -0
  126. package/browser/subscriber/Broadcaster.js +156 -0
  127. package/browser/subscriber/Broadcaster.js.map +1 -1
  128. package/browser/subscriber/EntitySubscriberInterface.d.ts +18 -0
  129. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  130. package/browser/subscriber/event/RecoverEvent.d.ts +6 -0
  131. package/browser/subscriber/event/RecoverEvent.js +3 -0
  132. package/browser/subscriber/event/RecoverEvent.js.map +1 -0
  133. package/browser/subscriber/event/SoftRemoveEvent.d.ts +6 -0
  134. package/browser/subscriber/event/SoftRemoveEvent.js +3 -0
  135. package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -0
  136. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  137. package/browser/util/DirectoryExportedClassesLoader.js +55 -31
  138. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  139. package/browser/util/ImportUtils.d.ts +1 -0
  140. package/browser/util/ImportUtils.js +90 -0
  141. package/browser/util/ImportUtils.js.map +1 -0
  142. package/browser/util/RandomGenerator.d.ts +0 -4
  143. package/browser/util/RandomGenerator.js +0 -9
  144. package/browser/util/RandomGenerator.js.map +1 -1
  145. package/commands/CacheClearCommand.js +3 -3
  146. package/commands/CacheClearCommand.js.map +1 -1
  147. package/commands/CommandUtils.d.ts +4 -0
  148. package/commands/CommandUtils.js +10 -0
  149. package/commands/CommandUtils.js.map +1 -1
  150. package/commands/EntityCreateCommand.js +2 -2
  151. package/commands/EntityCreateCommand.js.map +1 -1
  152. package/commands/InitCommand.d.ts +9 -7
  153. package/commands/InitCommand.js +74 -45
  154. package/commands/InitCommand.js.map +1 -1
  155. package/commands/MigrationCreateCommand.d.ts +2 -0
  156. package/commands/MigrationCreateCommand.js +9 -3
  157. package/commands/MigrationCreateCommand.js.map +1 -1
  158. package/commands/MigrationGenerateCommand.d.ts +2 -0
  159. package/commands/MigrationGenerateCommand.js +9 -3
  160. package/commands/MigrationGenerateCommand.js.map +1 -1
  161. package/commands/MigrationRevertCommand.js +2 -3
  162. package/commands/MigrationRevertCommand.js.map +1 -1
  163. package/commands/MigrationRunCommand.js +2 -3
  164. package/commands/MigrationRunCommand.js.map +1 -1
  165. package/commands/MigrationShowCommand.js +5 -7
  166. package/commands/MigrationShowCommand.js.map +1 -1
  167. package/commands/QueryCommand.js +1 -2
  168. package/commands/QueryCommand.js.map +1 -1
  169. package/commands/SchemaDropCommand.js +2 -2
  170. package/commands/SchemaDropCommand.js.map +1 -1
  171. package/commands/SchemaLogCommand.js +2 -2
  172. package/commands/SchemaLogCommand.js.map +1 -1
  173. package/commands/SchemaSyncCommand.js +2 -2
  174. package/commands/SchemaSyncCommand.js.map +1 -1
  175. package/commands/SubscriberCreateCommand.js +3 -3
  176. package/commands/SubscriberCreateCommand.js.map +1 -1
  177. package/common/DeepPartial.d.ts +3 -3
  178. package/common/DeepPartial.js.map +1 -1
  179. package/common/RelationType.d.ts +14 -0
  180. package/common/RelationType.js +4 -0
  181. package/common/RelationType.js.map +1 -0
  182. package/connection/BaseConnectionOptions.d.ts +5 -0
  183. package/connection/BaseConnectionOptions.js.map +1 -1
  184. package/connection/Connection.d.ts +5 -1
  185. package/connection/Connection.js +46 -30
  186. package/connection/Connection.js.map +1 -1
  187. package/connection/ConnectionMetadataBuilder.d.ts +3 -3
  188. package/connection/ConnectionMetadataBuilder.js +53 -21
  189. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  190. package/connection/ConnectionOptionsReader.js +32 -27
  191. package/connection/ConnectionOptionsReader.js.map +1 -1
  192. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  193. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  194. package/decorator/listeners/AfterRecover.d.ts +4 -0
  195. package/decorator/listeners/AfterRecover.js +20 -0
  196. package/decorator/listeners/AfterRecover.js.map +1 -0
  197. package/decorator/listeners/AfterSoftRemove.d.ts +4 -0
  198. package/decorator/listeners/AfterSoftRemove.js +20 -0
  199. package/decorator/listeners/AfterSoftRemove.js.map +1 -0
  200. package/decorator/listeners/BeforeRecover.d.ts +4 -0
  201. package/decorator/listeners/BeforeRecover.js +20 -0
  202. package/decorator/listeners/BeforeRecover.js.map +1 -0
  203. package/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
  204. package/decorator/listeners/BeforeSoftRemove.js +20 -0
  205. package/decorator/listeners/BeforeSoftRemove.js.map +1 -0
  206. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
  207. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  208. package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  209. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  210. package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  211. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  212. package/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  213. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  214. package/driver/mysql/MysqlQueryRunner.js +1 -1
  215. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  216. package/driver/oracle/OracleQueryRunner.js +1 -1
  217. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  218. package/driver/postgres/PostgresQueryRunner.js +39 -15
  219. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  220. package/driver/sap/SapQueryRunner.js +1 -1
  221. package/driver/sap/SapQueryRunner.js.map +1 -1
  222. package/driver/sqlite/SqliteDriver.js +11 -10
  223. package/driver/sqlite/SqliteDriver.js.map +1 -1
  224. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +3 -3
  225. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  226. package/entity-manager/EntityManager.js +1 -11
  227. package/entity-manager/EntityManager.js.map +1 -1
  228. package/entity-manager/MongoEntityManager.d.ts +2 -0
  229. package/entity-manager/MongoEntityManager.js +35 -4
  230. package/entity-manager/MongoEntityManager.js.map +1 -1
  231. package/entity-schema/EntitySchemaRelationOptions.d.ts +6 -0
  232. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  233. package/entity-schema/EntitySchemaTransformer.js +1 -0
  234. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  235. package/find-options/FindOneOptions.d.ts +6 -0
  236. package/find-options/FindOneOptions.js.map +1 -1
  237. package/find-options/FindOptionsUtils.js +4 -0
  238. package/find-options/FindOptionsUtils.js.map +1 -1
  239. package/find-options/operator/Like.d.ts +1 -1
  240. package/find-options/operator/Like.js +1 -1
  241. package/find-options/operator/Like.js.map +1 -1
  242. package/find-options/operator/Not.d.ts +1 -1
  243. package/find-options/operator/Not.js +1 -1
  244. package/find-options/operator/Not.js.map +1 -1
  245. package/globals.js +33 -6
  246. package/globals.js.map +1 -1
  247. package/index.d.ts +6 -0
  248. package/index.js +8 -1
  249. package/index.js.map +1 -1
  250. package/index.mjs +360 -0
  251. package/metadata/EntityMetadata.d.ts +16 -0
  252. package/metadata/EntityMetadata.js +16 -0
  253. package/metadata/EntityMetadata.js.map +1 -1
  254. package/metadata/types/EventListenerTypes.d.ts +5 -1
  255. package/metadata/types/EventListenerTypes.js +4 -0
  256. package/metadata/types/EventListenerTypes.js.map +1 -1
  257. package/metadata-builder/EntityMetadataBuilder.js +4 -0
  258. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  259. package/metadata-builder/EntityMetadataValidator.js +2 -1
  260. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  261. package/migration/MigrationExecutor.js +1 -1
  262. package/migration/MigrationExecutor.js.map +1 -1
  263. package/package.json +1 -1
  264. package/persistence/SubjectExecutor.d.ts +4 -2
  265. package/persistence/SubjectExecutor.js +105 -13
  266. package/persistence/SubjectExecutor.js.map +1 -1
  267. package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -1
  268. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  269. package/platform/PlatformTools.d.ts +1 -0
  270. package/platform/PlatformTools.js +5 -0
  271. package/platform/PlatformTools.js.map +1 -1
  272. package/query-builder/DeleteQueryBuilder.d.ts +3 -1
  273. package/query-builder/DeleteQueryBuilder.js +3 -1
  274. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  275. package/query-builder/InsertQueryBuilder.js +2 -2
  276. package/query-builder/InsertQueryBuilder.js.map +1 -1
  277. package/query-builder/NotBrackets.d.ts +7 -0
  278. package/query-builder/NotBrackets.js +19 -0
  279. package/query-builder/NotBrackets.js.map +1 -0
  280. package/query-builder/QueryBuilder.d.ts +2 -1
  281. package/query-builder/QueryBuilder.js +2 -1
  282. package/query-builder/QueryBuilder.js.map +1 -1
  283. package/query-builder/RelationLoader.js +11 -6
  284. package/query-builder/RelationLoader.js.map +1 -1
  285. package/query-builder/SelectQueryBuilder.d.ts +9 -0
  286. package/query-builder/SelectQueryBuilder.js +27 -20
  287. package/query-builder/SelectQueryBuilder.js.map +1 -1
  288. package/query-builder/SoftDeleteQueryBuilder.js +44 -30
  289. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  290. package/query-builder/UpdateQueryBuilder.d.ts +3 -1
  291. package/query-builder/UpdateQueryBuilder.js +3 -1
  292. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  293. package/query-builder/WhereExpressionBuilder.d.ts +3 -1
  294. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  295. package/query-runner/BaseQueryRunner.d.ts +2 -2
  296. package/query-runner/BaseQueryRunner.js +3 -3
  297. package/query-runner/BaseQueryRunner.js.map +1 -1
  298. package/repository/TreeRepository.js +3 -2
  299. package/repository/TreeRepository.js.map +1 -1
  300. package/schema-builder/RdbmsSchemaBuilder.js +1 -1
  301. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  302. package/subscriber/Broadcaster.d.ts +40 -0
  303. package/subscriber/Broadcaster.js +156 -0
  304. package/subscriber/Broadcaster.js.map +1 -1
  305. package/subscriber/EntitySubscriberInterface.d.ts +18 -0
  306. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  307. package/subscriber/event/RecoverEvent.d.ts +6 -0
  308. package/subscriber/event/RecoverEvent.js +4 -0
  309. package/subscriber/event/RecoverEvent.js.map +1 -0
  310. package/subscriber/event/SoftRemoveEvent.d.ts +6 -0
  311. package/subscriber/event/SoftRemoveEvent.js +4 -0
  312. package/subscriber/event/SoftRemoveEvent.js.map +1 -0
  313. package/typeorm-class-transformer-shim.js +20 -0
  314. package/typeorm-model-shim.js +20 -0
  315. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  316. package/util/DirectoryExportedClassesLoader.js +54 -31
  317. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  318. package/util/ImportUtils.d.ts +1 -0
  319. package/util/ImportUtils.js +94 -0
  320. package/util/ImportUtils.js.map +1 -0
  321. package/util/RandomGenerator.d.ts +0 -4
  322. package/util/RandomGenerator.js +0 -9
  323. package/util/RandomGenerator.js.map +1 -1
@@ -26,38 +26,70 @@ var ConnectionMetadataBuilder = /** @class */ (function () {
26
26
  * Builds migration instances for the given classes or directories.
27
27
  */
28
28
  ConnectionMetadataBuilder.prototype.buildMigrations = function (migrations) {
29
- var _a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(migrations), 2), migrationClasses = _a[0], migrationDirectories = _a[1];
30
- var allMigrationClasses = (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(migrationClasses), false), (0, tslib_1.__read)((0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, migrationDirectories)), false);
31
- return allMigrationClasses.map(function (migrationClass) { return (0, container_1.getFromContainer)(migrationClass); });
29
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
30
+ var _a, migrationClasses, migrationDirectories, allMigrationClasses, _b;
31
+ return (0, tslib_1.__generator)(this, function (_c) {
32
+ switch (_c.label) {
33
+ case 0:
34
+ _a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(migrations), 2), migrationClasses = _a[0], migrationDirectories = _a[1];
35
+ _b = [(0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(migrationClasses), false)];
36
+ return [4 /*yield*/, (0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, migrationDirectories)];
37
+ case 1:
38
+ allMigrationClasses = tslib_1.__spreadArray.apply(void 0, _b.concat([tslib_1.__read.apply(void 0, [(_c.sent())]), false]));
39
+ return [2 /*return*/, allMigrationClasses.map(function (migrationClass) { return (0, container_1.getFromContainer)(migrationClass); })];
40
+ }
41
+ });
42
+ });
32
43
  };
33
44
  /**
34
45
  * Builds subscriber instances for the given classes or directories.
35
46
  */
36
47
  ConnectionMetadataBuilder.prototype.buildSubscribers = function (subscribers) {
37
- var _a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(subscribers || []), 2), subscriberClasses = _a[0], subscriberDirectories = _a[1];
38
- var allSubscriberClasses = (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(subscriberClasses), false), (0, tslib_1.__read)((0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, subscriberDirectories)), false);
39
- return (0, globals_1.getMetadataArgsStorage)()
40
- .filterSubscribers(allSubscriberClasses)
41
- .map(function (metadata) { return (0, container_1.getFromContainer)(metadata.target); });
48
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
49
+ var _a, subscriberClasses, subscriberDirectories, allSubscriberClasses, _b;
50
+ return (0, tslib_1.__generator)(this, function (_c) {
51
+ switch (_c.label) {
52
+ case 0:
53
+ _a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(subscribers || []), 2), subscriberClasses = _a[0], subscriberDirectories = _a[1];
54
+ _b = [(0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(subscriberClasses), false)];
55
+ return [4 /*yield*/, (0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, subscriberDirectories)];
56
+ case 1:
57
+ allSubscriberClasses = tslib_1.__spreadArray.apply(void 0, _b.concat([tslib_1.__read.apply(void 0, [(_c.sent())]), false]));
58
+ return [2 /*return*/, (0, globals_1.getMetadataArgsStorage)()
59
+ .filterSubscribers(allSubscriberClasses)
60
+ .map(function (metadata) { return (0, container_1.getFromContainer)(metadata.target); })];
61
+ }
62
+ });
63
+ });
42
64
  };
43
65
  /**
44
66
  * Builds entity metadatas for the given classes or directories.
45
67
  */
46
68
  ConnectionMetadataBuilder.prototype.buildEntityMetadatas = function (entities) {
47
- // todo: instead we need to merge multiple metadata args storages
48
- var _a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(entities || []), 2), entityClassesOrSchemas = _a[0], entityDirectories = _a[1];
49
- var entityClasses = entityClassesOrSchemas.filter(function (entityClass) { return (entityClass instanceof EntitySchema_1.EntitySchema) === false; });
50
- var entitySchemas = entityClassesOrSchemas.filter(function (entityClass) { return entityClass instanceof EntitySchema_1.EntitySchema; });
51
- var allEntityClasses = (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(entityClasses), false), (0, tslib_1.__read)((0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, entityDirectories)), false);
52
- allEntityClasses.forEach(function (entityClass) {
53
- if (entityClass instanceof EntitySchema_1.EntitySchema) {
54
- entitySchemas.push(entityClass);
55
- }
69
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
70
+ var _a, entityClassesOrSchemas, entityDirectories, entityClasses, entitySchemas, allEntityClasses, _b, decoratorEntityMetadatas, metadataArgsStorageFromSchema, schemaEntityMetadatas;
71
+ return (0, tslib_1.__generator)(this, function (_c) {
72
+ switch (_c.label) {
73
+ case 0:
74
+ _a = (0, tslib_1.__read)(OrmUtils_1.OrmUtils.splitClassesAndStrings(entities || []), 2), entityClassesOrSchemas = _a[0], entityDirectories = _a[1];
75
+ entityClasses = entityClassesOrSchemas.filter(function (entityClass) { return (entityClass instanceof EntitySchema_1.EntitySchema) === false; });
76
+ entitySchemas = entityClassesOrSchemas.filter(function (entityClass) { return entityClass instanceof EntitySchema_1.EntitySchema; });
77
+ _b = [(0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(entityClasses), false)];
78
+ return [4 /*yield*/, (0, DirectoryExportedClassesLoader_1.importClassesFromDirectories)(this.connection.logger, entityDirectories)];
79
+ case 1:
80
+ allEntityClasses = tslib_1.__spreadArray.apply(void 0, _b.concat([tslib_1.__read.apply(void 0, [(_c.sent())]), false]));
81
+ allEntityClasses.forEach(function (entityClass) {
82
+ if (entityClass instanceof EntitySchema_1.EntitySchema) {
83
+ entitySchemas.push(entityClass);
84
+ }
85
+ });
86
+ decoratorEntityMetadatas = new EntityMetadataBuilder_1.EntityMetadataBuilder(this.connection, (0, globals_1.getMetadataArgsStorage)()).build(allEntityClasses);
87
+ metadataArgsStorageFromSchema = new EntitySchemaTransformer_1.EntitySchemaTransformer().transform(entitySchemas);
88
+ schemaEntityMetadatas = new EntityMetadataBuilder_1.EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();
89
+ return [2 /*return*/, (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(decoratorEntityMetadatas), false), (0, tslib_1.__read)(schemaEntityMetadatas), false)];
90
+ }
91
+ });
56
92
  });
57
- var decoratorEntityMetadatas = new EntityMetadataBuilder_1.EntityMetadataBuilder(this.connection, (0, globals_1.getMetadataArgsStorage)()).build(allEntityClasses);
58
- var metadataArgsStorageFromSchema = new EntitySchemaTransformer_1.EntitySchemaTransformer().transform(entitySchemas);
59
- var schemaEntityMetadatas = new EntityMetadataBuilder_1.EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();
60
- return (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(decoratorEntityMetadatas), false), (0, tslib_1.__read)(schemaEntityMetadatas), false);
61
93
  };
62
94
  return ConnectionMetadataBuilder;
63
95
  }());
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/connection/ConnectionMetadataBuilder.ts"],"names":[],"mappings":"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","file":"ConnectionMetadataBuilder.js","sourcesContent":["import {importClassesFromDirectories} from \"../util/DirectoryExportedClassesLoader\";\nimport {OrmUtils} from \"../util/OrmUtils\";\nimport {getFromContainer} from \"../container\";\nimport {MigrationInterface} from \"../migration/MigrationInterface\";\nimport {getMetadataArgsStorage} from \"../globals\";\nimport {EntityMetadataBuilder} from \"../metadata-builder/EntityMetadataBuilder\";\nimport {EntitySchemaTransformer} from \"../entity-schema/EntitySchemaTransformer\";\nimport {Connection} from \"./Connection\";\nimport {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {EntitySubscriberInterface} from \"../subscriber/EntitySubscriberInterface\";\n\n/**\n * Builds migration instances, subscriber instances and entity metadatas for the given classes.\n */\nexport class ConnectionMetadataBuilder {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds migration instances for the given classes or directories.\n */\n buildMigrations(migrations: (Function|string)[]): MigrationInterface[] {\n const [migrationClasses, migrationDirectories] = OrmUtils.splitClassesAndStrings(migrations);\n const allMigrationClasses = [...migrationClasses, ...importClassesFromDirectories(this.connection.logger, migrationDirectories)];\n return allMigrationClasses.map(migrationClass => getFromContainer<MigrationInterface>(migrationClass));\n }\n\n /**\n * Builds subscriber instances for the given classes or directories.\n */\n buildSubscribers(subscribers: (Function|string)[]): EntitySubscriberInterface<any>[] {\n const [subscriberClasses, subscriberDirectories] = OrmUtils.splitClassesAndStrings(subscribers || []);\n const allSubscriberClasses = [...subscriberClasses, ...importClassesFromDirectories(this.connection.logger, subscriberDirectories)];\n return getMetadataArgsStorage()\n .filterSubscribers(allSubscriberClasses)\n .map(metadata => getFromContainer<EntitySubscriberInterface<any>>(metadata.target));\n }\n\n /**\n * Builds entity metadatas for the given classes or directories.\n */\n buildEntityMetadatas(entities: (Function|EntitySchema<any>|string)[]): EntityMetadata[] {\n // todo: instead we need to merge multiple metadata args storages\n\n const [entityClassesOrSchemas, entityDirectories] = OrmUtils.splitClassesAndStrings(entities || []);\n const entityClasses: Function[] = entityClassesOrSchemas.filter(entityClass => (entityClass instanceof EntitySchema) === false) as any;\n const entitySchemas: EntitySchema<any>[] = entityClassesOrSchemas.filter(entityClass => entityClass instanceof EntitySchema) as any;\n\n const allEntityClasses = [...entityClasses, ...importClassesFromDirectories(this.connection.logger, entityDirectories)];\n allEntityClasses.forEach(entityClass => { // if we have entity schemas loaded from directories\n if (entityClass instanceof EntitySchema) {\n entitySchemas.push(entityClass);\n }\n });\n const decoratorEntityMetadatas = new EntityMetadataBuilder(this.connection, getMetadataArgsStorage()).build(allEntityClasses);\n\n const metadataArgsStorageFromSchema = new EntitySchemaTransformer().transform(entitySchemas);\n const schemaEntityMetadatas = new EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();\n\n return [...decoratorEntityMetadatas, ...schemaEntityMetadatas];\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/connection/ConnectionMetadataBuilder.ts"],"names":[],"mappings":"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","file":"ConnectionMetadataBuilder.js","sourcesContent":["import {importClassesFromDirectories} from \"../util/DirectoryExportedClassesLoader\";\nimport {OrmUtils} from \"../util/OrmUtils\";\nimport {getFromContainer} from \"../container\";\nimport {MigrationInterface} from \"../migration/MigrationInterface\";\nimport {getMetadataArgsStorage} from \"../globals\";\nimport {EntityMetadataBuilder} from \"../metadata-builder/EntityMetadataBuilder\";\nimport {EntitySchemaTransformer} from \"../entity-schema/EntitySchemaTransformer\";\nimport {Connection} from \"./Connection\";\nimport {EntitySchema} from \"../entity-schema/EntitySchema\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {EntitySubscriberInterface} from \"../subscriber/EntitySubscriberInterface\";\n\n/**\n * Builds migration instances, subscriber instances and entity metadatas for the given classes.\n */\nexport class ConnectionMetadataBuilder {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds migration instances for the given classes or directories.\n */\n async buildMigrations(migrations: (Function|string)[]): Promise<MigrationInterface[]> {\n const [migrationClasses, migrationDirectories] = OrmUtils.splitClassesAndStrings(migrations);\n const allMigrationClasses = [...migrationClasses, ...(await importClassesFromDirectories(this.connection.logger, migrationDirectories))];\n return allMigrationClasses.map(migrationClass => getFromContainer<MigrationInterface>(migrationClass));\n }\n\n /**\n * Builds subscriber instances for the given classes or directories.\n */\n async buildSubscribers(subscribers: (Function|string)[]): Promise<EntitySubscriberInterface<any>[]> {\n const [subscriberClasses, subscriberDirectories] = OrmUtils.splitClassesAndStrings(subscribers || []);\n const allSubscriberClasses = [...subscriberClasses, ...(await importClassesFromDirectories(this.connection.logger, subscriberDirectories))];\n return getMetadataArgsStorage()\n .filterSubscribers(allSubscriberClasses)\n .map(metadata => getFromContainer<EntitySubscriberInterface<any>>(metadata.target));\n }\n\n /**\n * Builds entity metadatas for the given classes or directories.\n */\n async buildEntityMetadatas(entities: (Function|EntitySchema<any>|string)[]): Promise<EntityMetadata[]> {\n // todo: instead we need to merge multiple metadata args storages\n\n const [entityClassesOrSchemas, entityDirectories] = OrmUtils.splitClassesAndStrings(entities || []);\n const entityClasses: Function[] = entityClassesOrSchemas.filter(entityClass => (entityClass instanceof EntitySchema) === false) as any;\n const entitySchemas: EntitySchema<any>[] = entityClassesOrSchemas.filter(entityClass => entityClass instanceof EntitySchema) as any;\n\n const allEntityClasses = [...entityClasses, ...(await importClassesFromDirectories(this.connection.logger, entityDirectories))];\n allEntityClasses.forEach(entityClass => { // if we have entity schemas loaded from directories\n if (entityClass instanceof EntitySchema) {\n entitySchemas.push(entityClass);\n }\n });\n const decoratorEntityMetadatas = new EntityMetadataBuilder(this.connection, getMetadataArgsStorage()).build(allEntityClasses);\n\n const metadataArgsStorageFromSchema = new EntitySchemaTransformer().transform(entitySchemas);\n const schemaEntityMetadatas = new EntityMetadataBuilder(this.connection, metadataArgsStorageFromSchema).build();\n\n return [...decoratorEntityMetadatas, ...schemaEntityMetadatas];\n }\n\n}\n"],"sourceRoot":".."}
@@ -9,6 +9,7 @@ var ConnectionOptionsEnvReader_1 = require("./options-reader/ConnectionOptionsEn
9
9
  var ConnectionOptionsYmlReader_1 = require("./options-reader/ConnectionOptionsYmlReader");
10
10
  var ConnectionOptionsXmlReader_1 = require("./options-reader/ConnectionOptionsXmlReader");
11
11
  var error_1 = require("../error");
12
+ var ImportUtils_1 = require("../util/ImportUtils");
12
13
  /**
13
14
  * Reads connection options from the ormconfig.
14
15
  * Can read from multiple file extensions including env, json, js, xml and yml.
@@ -90,13 +91,13 @@ var ConnectionOptionsReader = /** @class */ (function () {
90
91
  */
91
92
  ConnectionOptionsReader.prototype.load = function () {
92
93
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
93
- var connectionOptions, fileFormats, possibleExtension, fileExtension, foundFileFormat, configFile, configModule;
94
+ var connectionOptions, fileFormats, possibleExtension, fileExtension, foundFileFormat, configFile, _a, importOrRequireResult, moduleSystem, configModule;
94
95
  var _this = this;
95
- return (0, tslib_1.__generator)(this, function (_a) {
96
- switch (_a.label) {
96
+ return (0, tslib_1.__generator)(this, function (_b) {
97
+ switch (_b.label) {
97
98
  case 0:
98
99
  connectionOptions = undefined;
99
- fileFormats = ["env", "js", "cjs", "ts", "json", "yml", "yaml", "xml"];
100
+ fileFormats = ["env", "js", "mjs", "cjs", "ts", "mts", "cts", "json", "yml", "yaml", "xml"];
100
101
  possibleExtension = this.baseFilePath.substr(this.baseFilePath.lastIndexOf("."));
101
102
  fileExtension = fileFormats.find(function (extension) { return "." + extension === possibleExtension; });
102
103
  foundFileFormat = fileExtension || fileFormats.find(function (format) {
@@ -113,43 +114,47 @@ var ConnectionOptionsReader = /** @class */ (function () {
113
114
  if (!(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_CONNECTION") || PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_URL"))) return [3 /*break*/, 2];
114
115
  return [4 /*yield*/, new ConnectionOptionsEnvReader_1.ConnectionOptionsEnvReader().read()];
115
116
  case 1:
116
- connectionOptions = _a.sent();
117
- return [3 /*break*/, 11];
117
+ connectionOptions = _b.sent();
118
+ return [3 /*break*/, 12];
118
119
  case 2:
119
- if (!(foundFileFormat === "js" || foundFileFormat === "cjs" || foundFileFormat === "ts")) return [3 /*break*/, 4];
120
- return [4 /*yield*/, require(configFile)];
120
+ if (!(foundFileFormat === "js" || foundFileFormat === "mjs" || foundFileFormat === "cjs" ||
121
+ foundFileFormat === "ts" || foundFileFormat === "mts" || foundFileFormat === "cts")) return [3 /*break*/, 5];
122
+ return [4 /*yield*/, (0, ImportUtils_1.importOrRequireFile)(configFile)];
121
123
  case 3:
122
- configModule = _a.sent();
123
- if (configModule && "__esModule" in configModule && "default" in configModule) {
124
+ _a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), importOrRequireResult = _a[0], moduleSystem = _a[1];
125
+ return [4 /*yield*/, importOrRequireResult];
126
+ case 4:
127
+ configModule = _b.sent();
128
+ if (moduleSystem === "esm" || (configModule && "__esModule" in configModule && "default" in configModule)) {
124
129
  connectionOptions = configModule.default;
125
130
  }
126
131
  else {
127
132
  connectionOptions = configModule;
128
133
  }
129
- return [3 /*break*/, 11];
130
- case 4:
131
- if (!(foundFileFormat === "json")) return [3 /*break*/, 5];
132
- connectionOptions = require(configFile);
133
- return [3 /*break*/, 11];
134
+ return [3 /*break*/, 12];
134
135
  case 5:
135
- if (!(foundFileFormat === "yml")) return [3 /*break*/, 7];
136
- return [4 /*yield*/, new ConnectionOptionsYmlReader_1.ConnectionOptionsYmlReader().read(configFile)];
136
+ if (!(foundFileFormat === "json")) return [3 /*break*/, 6];
137
+ connectionOptions = require(configFile);
138
+ return [3 /*break*/, 12];
137
139
  case 6:
138
- connectionOptions = _a.sent();
139
- return [3 /*break*/, 11];
140
- case 7:
141
- if (!(foundFileFormat === "yaml")) return [3 /*break*/, 9];
140
+ if (!(foundFileFormat === "yml")) return [3 /*break*/, 8];
142
141
  return [4 /*yield*/, new ConnectionOptionsYmlReader_1.ConnectionOptionsYmlReader().read(configFile)];
142
+ case 7:
143
+ connectionOptions = _b.sent();
144
+ return [3 /*break*/, 12];
143
145
  case 8:
144
- connectionOptions = _a.sent();
145
- return [3 /*break*/, 11];
146
+ if (!(foundFileFormat === "yaml")) return [3 /*break*/, 10];
147
+ return [4 /*yield*/, new ConnectionOptionsYmlReader_1.ConnectionOptionsYmlReader().read(configFile)];
146
148
  case 9:
147
- if (!(foundFileFormat === "xml")) return [3 /*break*/, 11];
148
- return [4 /*yield*/, new ConnectionOptionsXmlReader_1.ConnectionOptionsXmlReader().read(configFile)];
149
+ connectionOptions = _b.sent();
150
+ return [3 /*break*/, 12];
149
151
  case 10:
150
- connectionOptions = _a.sent();
151
- _a.label = 11;
152
+ if (!(foundFileFormat === "xml")) return [3 /*break*/, 12];
153
+ return [4 /*yield*/, new ConnectionOptionsXmlReader_1.ConnectionOptionsXmlReader().read(configFile)];
152
154
  case 11:
155
+ connectionOptions = _b.sent();
156
+ _b.label = 12;
157
+ case 12:
153
158
  // normalize and return connection options
154
159
  if (connectionOptions) {
155
160
  return [2 /*return*/, this.normalizeConnectionOptions(connectionOptions)];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/connection/ConnectionOptionsReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsReader.js","sourcesContent":["import appRootPath from \"app-root-path\";\nimport path from \"path\";\nimport {ConnectionOptions} from \"./ConnectionOptions\";\nimport {PlatformTools} from \"../platform/PlatformTools\";\nimport {ConnectionOptionsEnvReader} from \"./options-reader/ConnectionOptionsEnvReader\";\nimport {ConnectionOptionsYmlReader} from \"./options-reader/ConnectionOptionsYmlReader\";\nimport {ConnectionOptionsXmlReader} from \"./options-reader/ConnectionOptionsXmlReader\";\nimport { TypeORMError } from \"../error\";\n\n/**\n * Reads connection options from the ormconfig.\n * Can read from multiple file extensions including env, json, js, xml and yml.\n */\nexport class ConnectionOptionsReader {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: {\n /**\n * Directory where ormconfig should be read from.\n * By default its your application root (where your app package.json is located).\n */\n root?: string,\n\n /**\n * Filename of the ormconfig configuration. By default its equal to \"ormconfig\".\n */\n configName?: string\n }) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Returns all connection options read from the ormconfig.\n */\n async all(): Promise<ConnectionOptions[]> {\n const options = await this.load();\n if (!options)\n throw new TypeORMError(`No connection options were found in any orm configuration files.`);\n\n return options;\n }\n\n /**\n * Gets a connection with a given name read from ormconfig.\n * If connection with such name would not be found then it throw error.\n */\n async get(name: string): Promise<ConnectionOptions> {\n const allOptions = await this.all();\n const targetOptions = allOptions.find(options => options.name === name || (name === \"default\" && !options.name));\n if (!targetOptions)\n throw new TypeORMError(`Cannot find connection ${name} because its not defined in any orm configuration files.`);\n\n return targetOptions;\n }\n\n /**\n * Checks if there is a TypeORM configuration file.\n */\n async has(name: string): Promise<boolean> {\n const allOptions = await this.load();\n if (!allOptions)\n return false;\n\n const targetOptions = allOptions.find(options => options.name === name || (name === \"default\" && !options.name));\n return !!targetOptions;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all connection options from a configuration file.\n *\n * todo: get in count NODE_ENV somehow\n */\n protected async load(): Promise<ConnectionOptions[]|undefined> {\n let connectionOptions: ConnectionOptions|ConnectionOptions[]|undefined = undefined;\n\n const fileFormats = [\"env\", \"js\", \"cjs\", \"ts\", \"json\", \"yml\", \"yaml\", \"xml\"];\n\n // Detect if baseFilePath contains file extension\n const possibleExtension = this.baseFilePath.substr(this.baseFilePath.lastIndexOf(\".\"));\n const fileExtension = fileFormats.find(extension => `.${extension}` === possibleExtension);\n\n // try to find any of following configuration formats\n const foundFileFormat = fileExtension || fileFormats.find(format => {\n return PlatformTools.fileExist(this.baseFilePath + \".\" + format);\n });\n\n // Determine config file name\n const configFile = fileExtension ? this.baseFilePath : this.baseFilePath + \".\" + foundFileFormat;\n\n // if .env file found then load all its variables into process.env using dotenv package\n if (foundFileFormat === \"env\") {\n PlatformTools.dotenv(configFile);\n } else if (PlatformTools.fileExist(this.baseDirectory + \"/.env\")) {\n PlatformTools.dotenv(this.baseDirectory + \"/.env\");\n }\n\n // try to find connection options from any of available sources of configuration\n if (PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") || PlatformTools.getEnvVariable(\"TYPEORM_URL\")) {\n connectionOptions = await new ConnectionOptionsEnvReader().read();\n\n } else if (foundFileFormat === \"js\" || foundFileFormat === \"cjs\" || foundFileFormat === \"ts\") {\n const configModule = await require(configFile);\n\n if (configModule && \"__esModule\" in configModule && \"default\" in configModule) {\n connectionOptions = configModule.default;\n } else {\n connectionOptions = configModule;\n }\n\n } else if (foundFileFormat === \"json\") {\n connectionOptions = require(configFile);\n\n } else if (foundFileFormat === \"yml\") {\n connectionOptions = await new ConnectionOptionsYmlReader().read(configFile);\n\n } else if (foundFileFormat === \"yaml\") {\n connectionOptions = await new ConnectionOptionsYmlReader().read(configFile);\n\n } else if (foundFileFormat === \"xml\") {\n connectionOptions = await new ConnectionOptionsXmlReader().read(configFile);\n }\n\n // normalize and return connection options\n if (connectionOptions) {\n return this.normalizeConnectionOptions(connectionOptions);\n }\n\n return undefined;\n }\n\n /**\n * Normalize connection options.\n */\n protected normalizeConnectionOptions(connectionOptions: ConnectionOptions|ConnectionOptions[]): ConnectionOptions[] {\n if (!(Array.isArray(connectionOptions)))\n connectionOptions = [connectionOptions];\n\n connectionOptions.forEach(options => {\n if (options.entities) {\n const entities = (options.entities as any[]).map(entity => {\n if (typeof entity === \"string\" && entity.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + entity;\n\n return entity;\n });\n Object.assign(connectionOptions, { entities: entities });\n }\n if (options.subscribers) {\n const subscribers = (options.subscribers as any[]).map(subscriber => {\n if (typeof subscriber === \"string\" && subscriber.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + subscriber;\n\n return subscriber;\n });\n Object.assign(connectionOptions, { subscribers: subscribers });\n }\n if (options.migrations) {\n const migrations = (options.migrations as any[]).map(migration => {\n if (typeof migration === \"string\" && migration.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + migration;\n\n return migration;\n });\n Object.assign(connectionOptions, { migrations: migrations });\n }\n\n // make database path file in sqlite relative to package.json\n if (options.type === \"sqlite\" || options.type === \"better-sqlite3\") {\n if (typeof options.database === \"string\" &&\n options.database.substr(0, 1) !== \"/\" && // unix absolute\n options.database.substr(1, 2) !== \":\\\\\" && // windows absolute\n options.database !== \":memory:\") {\n Object.assign(options, {\n database: this.baseDirectory + \"/\" + options.database\n });\n }\n }\n });\n\n return connectionOptions;\n }\n\n /**\n * Gets directory where configuration file should be located and configuration file name.\n */\n protected get baseFilePath(): string {\n return path.resolve(this.baseDirectory, this.baseConfigName);\n }\n\n /**\n * Gets directory where configuration file should be located.\n */\n protected get baseDirectory(): string {\n if (this.options && this.options.root)\n return this.options.root;\n\n return appRootPath.path;\n }\n\n /**\n * Gets configuration file name.\n */\n protected get baseConfigName(): string {\n if (this.options && this.options.configName)\n return this.options.configName;\n\n return \"ormconfig\";\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/connection/ConnectionOptionsReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsReader.js","sourcesContent":["import appRootPath from \"app-root-path\";\nimport path from \"path\";\nimport {ConnectionOptions} from \"./ConnectionOptions\";\nimport {PlatformTools} from \"../platform/PlatformTools\";\nimport {ConnectionOptionsEnvReader} from \"./options-reader/ConnectionOptionsEnvReader\";\nimport {ConnectionOptionsYmlReader} from \"./options-reader/ConnectionOptionsYmlReader\";\nimport {ConnectionOptionsXmlReader} from \"./options-reader/ConnectionOptionsXmlReader\";\nimport { TypeORMError } from \"../error\";\nimport {importOrRequireFile} from \"../util/ImportUtils\";\n\n/**\n * Reads connection options from the ormconfig.\n * Can read from multiple file extensions including env, json, js, xml and yml.\n */\nexport class ConnectionOptionsReader {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: {\n /**\n * Directory where ormconfig should be read from.\n * By default its your application root (where your app package.json is located).\n */\n root?: string,\n\n /**\n * Filename of the ormconfig configuration. By default its equal to \"ormconfig\".\n */\n configName?: string\n }) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Returns all connection options read from the ormconfig.\n */\n async all(): Promise<ConnectionOptions[]> {\n const options = await this.load();\n if (!options)\n throw new TypeORMError(`No connection options were found in any orm configuration files.`);\n\n return options;\n }\n\n /**\n * Gets a connection with a given name read from ormconfig.\n * If connection with such name would not be found then it throw error.\n */\n async get(name: string): Promise<ConnectionOptions> {\n const allOptions = await this.all();\n const targetOptions = allOptions.find(options => options.name === name || (name === \"default\" && !options.name));\n if (!targetOptions)\n throw new TypeORMError(`Cannot find connection ${name} because its not defined in any orm configuration files.`);\n\n return targetOptions;\n }\n\n /**\n * Checks if there is a TypeORM configuration file.\n */\n async has(name: string): Promise<boolean> {\n const allOptions = await this.load();\n if (!allOptions)\n return false;\n\n const targetOptions = allOptions.find(options => options.name === name || (name === \"default\" && !options.name));\n return !!targetOptions;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all connection options from a configuration file.\n *\n * todo: get in count NODE_ENV somehow\n */\n protected async load(): Promise<ConnectionOptions[]|undefined> {\n let connectionOptions: ConnectionOptions|ConnectionOptions[]|undefined = undefined;\n\n const fileFormats = [\"env\", \"js\", \"mjs\", \"cjs\", \"ts\", \"mts\", \"cts\", \"json\", \"yml\", \"yaml\", \"xml\"];\n\n // Detect if baseFilePath contains file extension\n const possibleExtension = this.baseFilePath.substr(this.baseFilePath.lastIndexOf(\".\"));\n const fileExtension = fileFormats.find(extension => `.${extension}` === possibleExtension);\n\n // try to find any of following configuration formats\n const foundFileFormat = fileExtension || fileFormats.find(format => {\n return PlatformTools.fileExist(this.baseFilePath + \".\" + format);\n });\n\n // Determine config file name\n const configFile = fileExtension ? this.baseFilePath : this.baseFilePath + \".\" + foundFileFormat;\n\n // if .env file found then load all its variables into process.env using dotenv package\n if (foundFileFormat === \"env\") {\n PlatformTools.dotenv(configFile);\n } else if (PlatformTools.fileExist(this.baseDirectory + \"/.env\")) {\n PlatformTools.dotenv(this.baseDirectory + \"/.env\");\n }\n\n // try to find connection options from any of available sources of configuration\n if (PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") || PlatformTools.getEnvVariable(\"TYPEORM_URL\")) {\n connectionOptions = await new ConnectionOptionsEnvReader().read();\n\n } else if (\n foundFileFormat === \"js\" || foundFileFormat === \"mjs\" || foundFileFormat === \"cjs\" ||\n foundFileFormat === \"ts\" || foundFileFormat === \"mts\" || foundFileFormat === \"cts\"\n ) {\n const [importOrRequireResult, moduleSystem] = await importOrRequireFile(configFile);\n const configModule = await importOrRequireResult;\n\n if (moduleSystem === \"esm\" || (configModule && \"__esModule\" in configModule && \"default\" in configModule)) {\n connectionOptions = configModule.default;\n } else {\n connectionOptions = configModule;\n }\n\n } else if (foundFileFormat === \"json\") {\n connectionOptions = require(configFile);\n\n } else if (foundFileFormat === \"yml\") {\n connectionOptions = await new ConnectionOptionsYmlReader().read(configFile);\n\n } else if (foundFileFormat === \"yaml\") {\n connectionOptions = await new ConnectionOptionsYmlReader().read(configFile);\n\n } else if (foundFileFormat === \"xml\") {\n connectionOptions = await new ConnectionOptionsXmlReader().read(configFile);\n }\n\n // normalize and return connection options\n if (connectionOptions) {\n return this.normalizeConnectionOptions(connectionOptions);\n }\n\n return undefined;\n }\n\n /**\n * Normalize connection options.\n */\n protected normalizeConnectionOptions(connectionOptions: ConnectionOptions|ConnectionOptions[]): ConnectionOptions[] {\n if (!(Array.isArray(connectionOptions)))\n connectionOptions = [connectionOptions];\n\n connectionOptions.forEach(options => {\n if (options.entities) {\n const entities = (options.entities as any[]).map(entity => {\n if (typeof entity === \"string\" && entity.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + entity;\n\n return entity;\n });\n Object.assign(connectionOptions, { entities: entities });\n }\n if (options.subscribers) {\n const subscribers = (options.subscribers as any[]).map(subscriber => {\n if (typeof subscriber === \"string\" && subscriber.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + subscriber;\n\n return subscriber;\n });\n Object.assign(connectionOptions, { subscribers: subscribers });\n }\n if (options.migrations) {\n const migrations = (options.migrations as any[]).map(migration => {\n if (typeof migration === \"string\" && migration.substr(0, 1) !== \"/\")\n return this.baseDirectory + \"/\" + migration;\n\n return migration;\n });\n Object.assign(connectionOptions, { migrations: migrations });\n }\n\n // make database path file in sqlite relative to package.json\n if (options.type === \"sqlite\" || options.type === \"better-sqlite3\") {\n if (typeof options.database === \"string\" &&\n options.database.substr(0, 1) !== \"/\" && // unix absolute\n options.database.substr(1, 2) !== \":\\\\\" && // windows absolute\n options.database !== \":memory:\") {\n Object.assign(options, {\n database: this.baseDirectory + \"/\" + options.database\n });\n }\n }\n });\n\n return connectionOptions;\n }\n\n /**\n * Gets directory where configuration file should be located and configuration file name.\n */\n protected get baseFilePath(): string {\n return path.resolve(this.baseDirectory, this.baseConfigName);\n }\n\n /**\n * Gets directory where configuration file should be located.\n */\n protected get baseDirectory(): string {\n if (this.options && this.options.root)\n return this.options.root;\n\n return appRootPath.path;\n }\n\n /**\n * Gets configuration file name.\n */\n protected get baseConfigName(): string {\n if (this.options && this.options.configName)\n return this.options.configName;\n\n return \"ormconfig\";\n }\n\n}\n"],"sourceRoot":".."}
@@ -38,6 +38,7 @@ var ConnectionOptionsEnvReader = /** @class */ (function () {
38
38
  entities: this.stringToArray(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_ENTITIES")),
39
39
  migrations: this.stringToArray(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_MIGRATIONS")),
40
40
  migrationsTableName: PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_MIGRATIONS_TABLE_NAME"),
41
+ metadataTableName: PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_METADATA_TABLE_NAME"),
41
42
  subscribers: this.stringToArray(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_SUBSCRIBERS")),
42
43
  logging: this.transformLogging(PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_LOGGING")),
43
44
  logger: PlatformTools_1.PlatformTools.getEnvVariable("TYPEORM_LOGGER"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/connection/options-reader/ConnectionOptionsEnvReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsEnvReader.js","sourcesContent":["import {ConnectionOptions} from \"../ConnectionOptions\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\n\n/**\n * Reads connection options from environment variables.\n * Environment variables can have only a single connection.\n * Its strongly required to define TYPEORM_CONNECTION env variable.\n */\nexport class ConnectionOptionsEnvReader {\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Reads connection options from environment variables.\n */\n async read(): Promise<ConnectionOptions[]> {\n return [{\n type: PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") || (PlatformTools.getEnvVariable(\"TYPEORM_URL\") ? PlatformTools.getEnvVariable(\"TYPEORM_URL\").split(\"://\")[0] : undefined),\n url: PlatformTools.getEnvVariable(\"TYPEORM_URL\"),\n host: PlatformTools.getEnvVariable(\"TYPEORM_HOST\"),\n port: this.stringToNumber(PlatformTools.getEnvVariable(\"TYPEORM_PORT\")),\n username: PlatformTools.getEnvVariable(\"TYPEORM_USERNAME\"),\n password: PlatformTools.getEnvVariable(\"TYPEORM_PASSWORD\"),\n database: PlatformTools.getEnvVariable(\"TYPEORM_DATABASE\"),\n sid: PlatformTools.getEnvVariable(\"TYPEORM_SID\"),\n schema: PlatformTools.getEnvVariable(\"TYPEORM_SCHEMA\"),\n extra: PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\") ? JSON.parse(PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\")) : undefined,\n synchronize: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_SYNCHRONIZE\")),\n dropSchema: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_DROP_SCHEMA\")),\n migrationsRun: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_RUN\")),\n entities: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_ENTITIES\")),\n migrations: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS\")),\n migrationsTableName: PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_TABLE_NAME\"),\n subscribers: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_SUBSCRIBERS\")),\n logging: this.transformLogging(PlatformTools.getEnvVariable(\"TYPEORM_LOGGING\")),\n logger: PlatformTools.getEnvVariable(\"TYPEORM_LOGGER\"),\n entityPrefix: PlatformTools.getEnvVariable(\"TYPEORM_ENTITY_PREFIX\"),\n maxQueryExecutionTime: PlatformTools.getEnvVariable(\"TYPEORM_MAX_QUERY_EXECUTION_TIME\"),\n debug: PlatformTools.getEnvVariable(\"TYPEORM_DEBUG\"),\n cli: {\n entitiesDir: PlatformTools.getEnvVariable(\"TYPEORM_ENTITIES_DIR\"),\n migrationsDir: PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_DIR\"),\n subscribersDir: PlatformTools.getEnvVariable(\"TYPEORM_SUBSCRIBERS_DIR\"),\n },\n cache: this.transformCaching(),\n uuidExtension: PlatformTools.getEnvVariable(\"TYPEORM_UUID_EXTENSION\")\n }];\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Transforms logging string into real logging value connection requires.\n */\n protected transformLogging(logging: string): any {\n if (logging === \"true\" || logging === \"TRUE\" || logging === \"1\")\n return true;\n if (logging === \"all\")\n return \"all\";\n\n return this.stringToArray(logging);\n }\n\n /**\n * Transforms caching option into real caching value option requires.\n */\n protected transformCaching(): boolean | object | undefined {\n const caching = PlatformTools.getEnvVariable(\"TYPEORM_CACHE\");\n if (caching === \"true\" || caching === \"TRUE\" || caching === \"1\")\n return true;\n if (caching === \"false\" || caching === \"FALSE\" || caching === \"0\")\n return false;\n if (caching === \"redis\" || caching === \"ioredis\" || caching === \"database\")\n return {\n type: caching,\n options: PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\") ? JSON.parse(PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\")) : undefined,\n alwaysEnabled: PlatformTools.getEnvVariable(\"TYPEORM_CACHE_ALWAYS_ENABLED\"),\n duration: parseInt(PlatformTools.getEnvVariable(\"TYPEORM_CACHE_DURATION\"))\n };\n\n return undefined;\n }\n\n /**\n * Converts a string which contains multiple elements split by comma into a string array of strings.\n */\n protected stringToArray(variable?: string) {\n if (!variable)\n return [];\n return variable.split(\",\").map(str => str.trim());\n }\n\n /**\n * Converts a string which contains a number into a javascript number\n */\n private stringToNumber(value: any): number|undefined {\n if (!value) {\n return undefined;\n }\n\n return parseInt(value);\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/connection/options-reader/ConnectionOptionsEnvReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsEnvReader.js","sourcesContent":["import {ConnectionOptions} from \"../ConnectionOptions\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\n\n/**\n * Reads connection options from environment variables.\n * Environment variables can have only a single connection.\n * Its strongly required to define TYPEORM_CONNECTION env variable.\n */\nexport class ConnectionOptionsEnvReader {\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Reads connection options from environment variables.\n */\n async read(): Promise<ConnectionOptions[]> {\n return [{\n type: PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") || (PlatformTools.getEnvVariable(\"TYPEORM_URL\") ? PlatformTools.getEnvVariable(\"TYPEORM_URL\").split(\"://\")[0] : undefined),\n url: PlatformTools.getEnvVariable(\"TYPEORM_URL\"),\n host: PlatformTools.getEnvVariable(\"TYPEORM_HOST\"),\n port: this.stringToNumber(PlatformTools.getEnvVariable(\"TYPEORM_PORT\")),\n username: PlatformTools.getEnvVariable(\"TYPEORM_USERNAME\"),\n password: PlatformTools.getEnvVariable(\"TYPEORM_PASSWORD\"),\n database: PlatformTools.getEnvVariable(\"TYPEORM_DATABASE\"),\n sid: PlatformTools.getEnvVariable(\"TYPEORM_SID\"),\n schema: PlatformTools.getEnvVariable(\"TYPEORM_SCHEMA\"),\n extra: PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\") ? JSON.parse(PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\")) : undefined,\n synchronize: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_SYNCHRONIZE\")),\n dropSchema: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_DROP_SCHEMA\")),\n migrationsRun: OrmUtils.toBoolean(PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_RUN\")),\n entities: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_ENTITIES\")),\n migrations: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS\")),\n migrationsTableName: PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_TABLE_NAME\"),\n metadataTableName: PlatformTools.getEnvVariable(\"TYPEORM_METADATA_TABLE_NAME\"),\n subscribers: this.stringToArray(PlatformTools.getEnvVariable(\"TYPEORM_SUBSCRIBERS\")),\n logging: this.transformLogging(PlatformTools.getEnvVariable(\"TYPEORM_LOGGING\")),\n logger: PlatformTools.getEnvVariable(\"TYPEORM_LOGGER\"),\n entityPrefix: PlatformTools.getEnvVariable(\"TYPEORM_ENTITY_PREFIX\"),\n maxQueryExecutionTime: PlatformTools.getEnvVariable(\"TYPEORM_MAX_QUERY_EXECUTION_TIME\"),\n debug: PlatformTools.getEnvVariable(\"TYPEORM_DEBUG\"),\n cli: {\n entitiesDir: PlatformTools.getEnvVariable(\"TYPEORM_ENTITIES_DIR\"),\n migrationsDir: PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_DIR\"),\n subscribersDir: PlatformTools.getEnvVariable(\"TYPEORM_SUBSCRIBERS_DIR\"),\n },\n cache: this.transformCaching(),\n uuidExtension: PlatformTools.getEnvVariable(\"TYPEORM_UUID_EXTENSION\")\n }];\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Transforms logging string into real logging value connection requires.\n */\n protected transformLogging(logging: string): any {\n if (logging === \"true\" || logging === \"TRUE\" || logging === \"1\")\n return true;\n if (logging === \"all\")\n return \"all\";\n\n return this.stringToArray(logging);\n }\n\n /**\n * Transforms caching option into real caching value option requires.\n */\n protected transformCaching(): boolean | object | undefined {\n const caching = PlatformTools.getEnvVariable(\"TYPEORM_CACHE\");\n if (caching === \"true\" || caching === \"TRUE\" || caching === \"1\")\n return true;\n if (caching === \"false\" || caching === \"FALSE\" || caching === \"0\")\n return false;\n if (caching === \"redis\" || caching === \"ioredis\" || caching === \"database\")\n return {\n type: caching,\n options: PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\") ? JSON.parse(PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\")) : undefined,\n alwaysEnabled: PlatformTools.getEnvVariable(\"TYPEORM_CACHE_ALWAYS_ENABLED\"),\n duration: parseInt(PlatformTools.getEnvVariable(\"TYPEORM_CACHE_DURATION\"))\n };\n\n return undefined;\n }\n\n /**\n * Converts a string which contains multiple elements split by comma into a string array of strings.\n */\n protected stringToArray(variable?: string) {\n if (!variable)\n return [];\n return variable.split(\",\").map(str => str.trim());\n }\n\n /**\n * Converts a string which contains a number into a javascript number\n */\n private stringToNumber(value: any): number|undefined {\n if (!value) {\n return undefined;\n }\n\n return parseInt(value);\n }\n}\n"],"sourceRoot":"../.."}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Calls a method on which this decorator is applied before this entity soft removal.
3
+ */
4
+ export declare function AfterRecover(): PropertyDecorator;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AfterRecover = void 0;
4
+ var globals_1 = require("../../globals");
5
+ var EventListenerTypes_1 = require("../../metadata/types/EventListenerTypes");
6
+ /**
7
+ * Calls a method on which this decorator is applied before this entity soft removal.
8
+ */
9
+ function AfterRecover() {
10
+ return function (object, propertyName) {
11
+ (0, globals_1.getMetadataArgsStorage)().entityListeners.push({
12
+ target: object.constructor,
13
+ propertyName: propertyName,
14
+ type: EventListenerTypes_1.EventListenerTypes.AFTER_RECOVER
15
+ });
16
+ };
17
+ }
18
+ exports.AfterRecover = AfterRecover;
19
+
20
+ //# sourceMappingURL=AfterRecover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/decorator/listeners/AfterRecover.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AACrD,8EAA2E;AAG3E;;GAEG;AACH,SAAgB,YAAY;IACxB,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,uCAAkB,CAAC,aAAa;SACX,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AATD,oCASC","file":"AfterRecover.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {EventListenerTypes} from \"../../metadata/types/EventListenerTypes\";\nimport {EntityListenerMetadataArgs} from \"../../metadata-args/EntityListenerMetadataArgs\";\n\n/**\n * Calls a method on which this decorator is applied before this entity soft removal.\n */\nexport function AfterRecover(): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n\n getMetadataArgsStorage().entityListeners.push({\n target: object.constructor,\n propertyName: propertyName,\n type: EventListenerTypes.AFTER_RECOVER\n } as EntityListenerMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Calls a method on which this decorator is applied before this entity soft removal.
3
+ */
4
+ export declare function AfterSoftRemove(): PropertyDecorator;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AfterSoftRemove = void 0;
4
+ var globals_1 = require("../../globals");
5
+ var EventListenerTypes_1 = require("../../metadata/types/EventListenerTypes");
6
+ /**
7
+ * Calls a method on which this decorator is applied before this entity soft removal.
8
+ */
9
+ function AfterSoftRemove() {
10
+ return function (object, propertyName) {
11
+ (0, globals_1.getMetadataArgsStorage)().entityListeners.push({
12
+ target: object.constructor,
13
+ propertyName: propertyName,
14
+ type: EventListenerTypes_1.EventListenerTypes.AFTER_SOFT_REMOVE
15
+ });
16
+ };
17
+ }
18
+ exports.AfterSoftRemove = AfterSoftRemove;
19
+
20
+ //# sourceMappingURL=AfterSoftRemove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/decorator/listeners/AfterSoftRemove.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AACrD,8EAA2E;AAG3E;;GAEG;AACH,SAAgB,eAAe;IAC3B,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,uCAAkB,CAAC,iBAAiB;SACf,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AATD,0CASC","file":"AfterSoftRemove.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {EventListenerTypes} from \"../../metadata/types/EventListenerTypes\";\nimport {EntityListenerMetadataArgs} from \"../../metadata-args/EntityListenerMetadataArgs\";\n\n/**\n * Calls a method on which this decorator is applied before this entity soft removal.\n */\nexport function AfterSoftRemove(): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n\n getMetadataArgsStorage().entityListeners.push({\n target: object.constructor,\n propertyName: propertyName,\n type: EventListenerTypes.AFTER_SOFT_REMOVE\n } as EntityListenerMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Calls a method on which this decorator is applied before this entity soft removal.
3
+ */
4
+ export declare function BeforeRecover(): PropertyDecorator;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BeforeRecover = void 0;
4
+ var globals_1 = require("../../globals");
5
+ var EventListenerTypes_1 = require("../../metadata/types/EventListenerTypes");
6
+ /**
7
+ * Calls a method on which this decorator is applied before this entity soft removal.
8
+ */
9
+ function BeforeRecover() {
10
+ return function (object, propertyName) {
11
+ (0, globals_1.getMetadataArgsStorage)().entityListeners.push({
12
+ target: object.constructor,
13
+ propertyName: propertyName,
14
+ type: EventListenerTypes_1.EventListenerTypes.BEFORE_RECOVER
15
+ });
16
+ };
17
+ }
18
+ exports.BeforeRecover = BeforeRecover;
19
+
20
+ //# sourceMappingURL=BeforeRecover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/decorator/listeners/BeforeRecover.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AACrD,8EAA2E;AAG3E;;GAEG;AACH,SAAgB,aAAa;IACzB,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,uCAAkB,CAAC,cAAc;SACZ,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AATD,sCASC","file":"BeforeRecover.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {EventListenerTypes} from \"../../metadata/types/EventListenerTypes\";\nimport {EntityListenerMetadataArgs} from \"../../metadata-args/EntityListenerMetadataArgs\";\n\n/**\n * Calls a method on which this decorator is applied before this entity soft removal.\n */\nexport function BeforeRecover(): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n\n getMetadataArgsStorage().entityListeners.push({\n target: object.constructor,\n propertyName: propertyName,\n type: EventListenerTypes.BEFORE_RECOVER\n } as EntityListenerMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Calls a method on which this decorator is applied before this entity soft removal.
3
+ */
4
+ export declare function BeforeSoftRemove(): PropertyDecorator;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BeforeSoftRemove = void 0;
4
+ var globals_1 = require("../../globals");
5
+ var EventListenerTypes_1 = require("../../metadata/types/EventListenerTypes");
6
+ /**
7
+ * Calls a method on which this decorator is applied before this entity soft removal.
8
+ */
9
+ function BeforeSoftRemove() {
10
+ return function (object, propertyName) {
11
+ (0, globals_1.getMetadataArgsStorage)().entityListeners.push({
12
+ target: object.constructor,
13
+ propertyName: propertyName,
14
+ type: EventListenerTypes_1.EventListenerTypes.BEFORE_SOFT_REMOVE
15
+ });
16
+ };
17
+ }
18
+ exports.BeforeSoftRemove = BeforeSoftRemove;
19
+
20
+ //# sourceMappingURL=BeforeSoftRemove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/decorator/listeners/BeforeSoftRemove.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AACrD,8EAA2E;AAG3E;;GAEG;AACH,SAAgB,gBAAgB;IAC5B,OAAO,UAAU,MAAc,EAAE,YAAoB;QAEjD,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,uCAAkB,CAAC,kBAAkB;SAChB,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC;AATD,4CASC","file":"BeforeSoftRemove.js","sourcesContent":["import {getMetadataArgsStorage} from \"../../globals\";\nimport {EventListenerTypes} from \"../../metadata/types/EventListenerTypes\";\nimport {EntityListenerMetadataArgs} from \"../../metadata-args/EntityListenerMetadataArgs\";\n\n/**\n * Calls a method on which this decorator is applied before this entity soft removal.\n */\nexport function BeforeSoftRemove(): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n\n getMetadataArgsStorage().entityListeners.push({\n target: object.constructor,\n propertyName: propertyName,\n type: EventListenerTypes.BEFORE_SOFT_REMOVE\n } as EntityListenerMetadataArgs);\n };\n}\n"],"sourceRoot":"../.."}
@@ -1512,7 +1512,7 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
1512
1512
  table = _a;
1513
1513
  index = indexOrName instanceof TableIndex_1.TableIndex ? indexOrName : table.indices.find(function (i) { return i.name === indexOrName; });
1514
1514
  if (!index)
1515
- throw new error_1.TypeORMError("Supplied index was not found in table " + table.name);
1515
+ throw new error_1.TypeORMError("Supplied index " + indexOrName + " was not found in table " + table.name);
1516
1516
  up = this.dropIndexSql(table, index);
1517
1517
  down = this.createIndexSql(table, index);
1518
1518
  return [4 /*yield*/, this.executeQueries(up, down)];
@@ -1821,7 +1821,7 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
1821
1821
  tableColumn.isGenerated = dbColumn["EXTRA"].indexOf("auto_increment") !== -1;
1822
1822
  if (tableColumn.isGenerated)
1823
1823
  tableColumn.generationStrategy = "increment";
1824
- tableColumn.comment = dbColumn["COLUMN_COMMENT"];
1824
+ tableColumn.comment = (typeof dbColumn["COLUMN_COMMENT"] === "string" && dbColumn["COLUMN_COMMENT"].length === 0) ? undefined : dbColumn["COLUMN_COMMENT"];
1825
1825
  if (dbColumn["CHARACTER_SET_NAME"])
1826
1826
  tableColumn.charset = dbColumn["CHARACTER_SET_NAME"] === defaultCharset ? undefined : dbColumn["CHARACTER_SET_NAME"];
1827
1827
  if (dbColumn["COLLATION_NAME"])