typeorm 0.3.20-dev.fa86f6f → 0.3.20

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 (465) hide show
  1. package/README.md +1 -1
  2. package/browser/cache/DbQueryResultCache.js +1 -1
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/cache/QueryResultCacheFactory.js.map +1 -1
  5. package/browser/cache/RedisQueryResultCache.js +1 -1
  6. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  7. package/browser/cli-ts-node-esm.js.map +1 -1
  8. package/browser/connection/ConnectionManager.js.map +1 -1
  9. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  10. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  11. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  12. package/browser/container.js.map +1 -1
  13. package/browser/data-source/DataSource.js +3 -1
  14. package/browser/data-source/DataSource.js.map +1 -1
  15. package/browser/decorator/Unique.js.map +1 -1
  16. package/browser/decorator/columns/Column.js.map +1 -1
  17. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  18. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  19. package/browser/decorator/columns/VirtualColumn.js +1 -1
  20. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  21. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  22. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  23. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  24. package/browser/decorator/relations/OneToMany.js.map +1 -1
  25. package/browser/decorator/relations/OneToOne.js.map +1 -1
  26. package/browser/driver/DriverFactory.js.map +1 -1
  27. package/browser/driver/DriverUtils.js.map +1 -1
  28. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +10 -10
  29. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  30. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +2 -2
  31. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  32. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  33. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +2 -2
  34. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  35. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  36. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  37. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  38. package/browser/driver/capacitor/CapacitorQueryRunner.js +2 -2
  39. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  40. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  41. package/browser/driver/cockroachdb/CockroachQueryRunner.js +3 -3
  42. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  43. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  44. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  45. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  46. package/browser/driver/expo/ExpoQueryRunner.js +2 -2
  47. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  48. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  49. package/browser/driver/mysql/MysqlDriver.js +12 -14
  50. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  51. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  52. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  53. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  54. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  55. package/browser/driver/oracle/OracleDriver.js +18 -10
  56. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  57. package/browser/driver/oracle/OracleQueryRunner.js +8 -10
  58. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  59. package/browser/driver/postgres/PostgresDriver.js +11 -6
  60. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  61. package/browser/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  62. package/browser/driver/postgres/PostgresQueryRunner.js +31 -12
  63. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  64. package/browser/driver/react-native/ReactNativeDriver.js +4 -6
  65. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  66. package/browser/driver/react-native/ReactNativeQueryRunner.js +2 -2
  67. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  68. package/browser/driver/sap/SapDriver.js.map +1 -1
  69. package/browser/driver/sap/SapQueryRunner.js +4 -4
  70. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  71. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  72. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  73. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  74. package/browser/driver/sqlite/SqliteQueryRunner.js +3 -2
  75. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  76. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -6
  77. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  78. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +4 -4
  79. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  80. package/browser/driver/sqljs/SqljsDriver.js +1 -2
  81. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  82. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  83. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  84. package/browser/driver/sqlserver/SqlServerQueryRunner.js +9 -7
  85. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  86. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  87. package/browser/driver/types/ColumnTypes.js.map +1 -1
  88. package/browser/entity-manager/EntityManager.d.ts +2 -2
  89. package/browser/entity-manager/EntityManager.js.map +1 -1
  90. package/browser/entity-manager/MongoEntityManager.js +1 -1
  91. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  92. package/browser/entity-schema/EntitySchemaTransformer.js +2 -3
  93. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  94. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  95. package/browser/error/EntityNotFoundError.js.map +1 -1
  96. package/browser/error/FindRelationsNotFoundError.js.map +1 -1
  97. package/browser/error/MissingJoinColumnError.js.map +1 -1
  98. package/browser/error/MissingJoinTableError.js.map +1 -1
  99. package/browser/error/QueryFailedError.js.map +1 -1
  100. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  101. package/browser/error/TypeORMError.js.map +1 -1
  102. package/browser/find-options/FindOperator.js.map +1 -1
  103. package/browser/find-options/FindOptionsUtils.js +1 -1
  104. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  105. package/browser/find-options/operator/Raw.js.map +1 -1
  106. package/browser/globals.js.map +1 -1
  107. package/browser/logger/AbstractLogger.js.map +1 -1
  108. package/browser/logger/AdvancedConsoleLogger.js +1 -2
  109. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  110. package/browser/logger/DebugLogger.js +1 -2
  111. package/browser/logger/DebugLogger.js.map +1 -1
  112. package/browser/logger/FileLogger.js +2 -3
  113. package/browser/logger/FileLogger.js.map +1 -1
  114. package/browser/logger/LoggerFactory.js.map +1 -1
  115. package/browser/logger/SimpleConsoleLogger.js +1 -2
  116. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  117. package/browser/metadata/CheckMetadata.js.map +1 -1
  118. package/browser/metadata/ColumnMetadata.js +1 -6
  119. package/browser/metadata/ColumnMetadata.js.map +1 -1
  120. package/browser/metadata/EmbeddedMetadata.js +1 -1
  121. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  122. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  123. package/browser/metadata/EntityMetadata.js +3 -7
  124. package/browser/metadata/EntityMetadata.js.map +1 -1
  125. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  126. package/browser/metadata/IndexMetadata.js.map +1 -1
  127. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  128. package/browser/metadata/RelationMetadata.js.map +1 -1
  129. package/browser/metadata/UniqueMetadata.js.map +1 -1
  130. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  131. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  132. package/browser/metadata-builder/EntityMetadataBuilder.js +5 -8
  133. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  134. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  135. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +7 -8
  136. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  137. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  138. package/browser/metadata-builder/RelationJoinColumnBuilder.js +2 -3
  139. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  140. package/browser/migration/MigrationExecutor.js +2 -2
  141. package/browser/migration/MigrationExecutor.js.map +1 -1
  142. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  143. package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  144. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  145. package/browser/persistence/Subject.js.map +1 -1
  146. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  147. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  148. package/browser/persistence/SubjectExecutor.js.map +1 -1
  149. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  150. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  151. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  152. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +1 -2
  153. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  154. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  155. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  156. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  157. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  158. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  159. package/browser/platform/PlatformTools.d.ts +3 -0
  160. package/browser/platform/PlatformTools.js.map +1 -1
  161. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  162. package/browser/query-builder/InsertQueryBuilder.js +15 -15
  163. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  164. package/browser/query-builder/JoinAttribute.js.map +1 -1
  165. package/browser/query-builder/QueryBuilder.d.ts +1 -1
  166. package/browser/query-builder/QueryBuilder.js +10 -11
  167. package/browser/query-builder/QueryBuilder.js.map +1 -1
  168. package/browser/query-builder/QueryExpressionMap.js +2 -2
  169. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  170. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  171. package/browser/query-builder/RelationLoader.js.map +1 -1
  172. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  173. package/browser/query-builder/RelationRemover.js.map +1 -1
  174. package/browser/query-builder/RelationUpdater.js.map +1 -1
  175. package/browser/query-builder/ReturningResultsEntityUpdator.js +5 -2
  176. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  177. package/browser/query-builder/SelectQueryBuilder.d.ts +4 -4
  178. package/browser/query-builder/SelectQueryBuilder.js +23 -22
  179. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  180. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  181. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  182. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  183. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +2 -2
  184. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  185. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  186. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +2 -2
  187. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  188. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  189. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  190. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  191. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +0 -9
  192. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +0 -28
  193. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  194. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  195. package/browser/query-runner/QueryLock.js.map +1 -1
  196. package/browser/repository/BaseEntity.js.map +1 -1
  197. package/browser/repository/Repository.js.map +1 -1
  198. package/browser/repository/TreeRepository.js.map +1 -1
  199. package/browser/schema-builder/RdbmsSchemaBuilder.js +2 -1
  200. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  201. package/browser/schema-builder/table/Table.js +2 -2
  202. package/browser/schema-builder/table/Table.js.map +1 -1
  203. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  204. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  205. package/browser/schema-builder/view/View.js.map +1 -1
  206. package/browser/subscriber/Broadcaster.js +6 -6
  207. package/browser/subscriber/Broadcaster.js.map +1 -1
  208. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  209. package/browser/util/ApplyValueTransformers.js.map +1 -1
  210. package/browser/util/DateUtils.js.map +1 -1
  211. package/browser/util/DepGraph.js +2 -2
  212. package/browser/util/DepGraph.js.map +1 -1
  213. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  214. package/browser/util/ImportUtils.js +1 -1
  215. package/browser/util/ImportUtils.js.map +1 -1
  216. package/browser/util/ObjectUtils.js.map +1 -1
  217. package/browser/util/OrmUtils.js.map +1 -1
  218. package/browser/util/PathUtils.js +1 -1
  219. package/browser/util/PathUtils.js.map +1 -1
  220. package/browser/util/RandomGenerator.js.map +1 -1
  221. package/browser/util/StringUtils.js.map +1 -1
  222. package/browser/util/TreeRepositoryUtils.js +3 -6
  223. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  224. package/cache/DbQueryResultCache.js +1 -1
  225. package/cache/DbQueryResultCache.js.map +1 -1
  226. package/cache/QueryResultCacheFactory.js.map +1 -1
  227. package/cache/RedisQueryResultCache.js +1 -1
  228. package/cache/RedisQueryResultCache.js.map +1 -1
  229. package/cli-ts-node-esm.js.map +1 -1
  230. package/commands/CacheClearCommand.js.map +1 -1
  231. package/commands/CommandUtils.js.map +1 -1
  232. package/commands/EntityCreateCommand.js.map +1 -1
  233. package/commands/InitCommand.js +1 -1
  234. package/commands/InitCommand.js.map +1 -1
  235. package/commands/MigrationCreateCommand.js.map +1 -1
  236. package/commands/MigrationGenerateCommand.js.map +1 -1
  237. package/commands/MigrationRevertCommand.js +2 -2
  238. package/commands/MigrationRevertCommand.js.map +1 -1
  239. package/commands/MigrationRunCommand.js +2 -2
  240. package/commands/MigrationRunCommand.js.map +1 -1
  241. package/commands/MigrationShowCommand.js.map +1 -1
  242. package/commands/QueryCommand.js.map +1 -1
  243. package/commands/SchemaDropCommand.js.map +1 -1
  244. package/commands/SchemaLogCommand.js.map +1 -1
  245. package/commands/SchemaSyncCommand.js.map +1 -1
  246. package/commands/SubscriberCreateCommand.js.map +1 -1
  247. package/commands/VersionCommand.js.map +1 -1
  248. package/connection/ConnectionManager.js.map +1 -1
  249. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  250. package/connection/ConnectionOptionsReader.js.map +1 -1
  251. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  252. package/container.js.map +1 -1
  253. package/data-source/DataSource.js +3 -1
  254. package/data-source/DataSource.js.map +1 -1
  255. package/decorator/Unique.js.map +1 -1
  256. package/decorator/columns/Column.js.map +1 -1
  257. package/decorator/columns/PrimaryColumn.js.map +1 -1
  258. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  259. package/decorator/columns/VirtualColumn.js +1 -1
  260. package/decorator/columns/VirtualColumn.js.map +1 -1
  261. package/decorator/entity/ChildEntity.js.map +1 -1
  262. package/decorator/relations/ManyToMany.js.map +1 -1
  263. package/decorator/relations/ManyToOne.js.map +1 -1
  264. package/decorator/relations/OneToMany.js.map +1 -1
  265. package/decorator/relations/OneToOne.js.map +1 -1
  266. package/driver/DriverFactory.js.map +1 -1
  267. package/driver/DriverUtils.js.map +1 -1
  268. package/driver/aurora-mysql/AuroraMysqlDriver.js +10 -10
  269. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  270. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +2 -2
  271. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  272. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  273. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +2 -2
  274. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  275. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  276. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  277. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  278. package/driver/capacitor/CapacitorQueryRunner.js +2 -2
  279. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  280. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  281. package/driver/cockroachdb/CockroachQueryRunner.js +3 -3
  282. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  283. package/driver/cordova/CordovaDriver.js.map +1 -1
  284. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  285. package/driver/expo/ExpoDriver.js.map +1 -1
  286. package/driver/expo/ExpoQueryRunner.js +2 -2
  287. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  288. package/driver/mongodb/MongoDriver.js.map +1 -1
  289. package/driver/mysql/MysqlDriver.js +12 -14
  290. package/driver/mysql/MysqlDriver.js.map +1 -1
  291. package/driver/mysql/MysqlQueryRunner.js +1 -1
  292. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  293. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  294. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  295. package/driver/oracle/OracleDriver.js +18 -10
  296. package/driver/oracle/OracleDriver.js.map +1 -1
  297. package/driver/oracle/OracleQueryRunner.js +8 -10
  298. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  299. package/driver/postgres/PostgresDriver.js +11 -6
  300. package/driver/postgres/PostgresDriver.js.map +1 -1
  301. package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  302. package/driver/postgres/PostgresQueryRunner.js +31 -12
  303. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  304. package/driver/react-native/ReactNativeDriver.js +4 -6
  305. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  306. package/driver/react-native/ReactNativeQueryRunner.js +2 -2
  307. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  308. package/driver/sap/SapDriver.js.map +1 -1
  309. package/driver/sap/SapQueryRunner.js +4 -4
  310. package/driver/sap/SapQueryRunner.js.map +1 -1
  311. package/driver/spanner/SpannerDriver.js.map +1 -1
  312. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  313. package/driver/sqlite/SqliteDriver.js.map +1 -1
  314. package/driver/sqlite/SqliteQueryRunner.js +3 -2
  315. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  316. package/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -6
  317. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  318. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +4 -4
  319. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  320. package/driver/sqljs/SqljsDriver.js +1 -2
  321. package/driver/sqljs/SqljsDriver.js.map +1 -1
  322. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  323. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  324. package/driver/sqlserver/SqlServerQueryRunner.js +9 -7
  325. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  326. package/driver/types/ColumnTypes.d.ts +1 -1
  327. package/driver/types/ColumnTypes.js.map +1 -1
  328. package/driver/types/MetadataTableType.js +1 -1
  329. package/driver/types/MetadataTableType.js.map +1 -1
  330. package/entity-manager/EntityManager.d.ts +2 -2
  331. package/entity-manager/EntityManager.js.map +1 -1
  332. package/entity-manager/MongoEntityManager.js +1 -1
  333. package/entity-manager/MongoEntityManager.js.map +1 -1
  334. package/entity-schema/EntitySchemaTransformer.js +2 -3
  335. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  336. package/error/EntityMetadataNotFoundError.js.map +1 -1
  337. package/error/EntityNotFoundError.js.map +1 -1
  338. package/error/FindRelationsNotFoundError.js.map +1 -1
  339. package/error/MissingJoinColumnError.js.map +1 -1
  340. package/error/MissingJoinTableError.js.map +1 -1
  341. package/error/QueryFailedError.js.map +1 -1
  342. package/error/RepositoryNotTreeError.js.map +1 -1
  343. package/error/TypeORMError.js.map +1 -1
  344. package/find-options/FindOperator.js.map +1 -1
  345. package/find-options/FindOptionsUtils.js +1 -1
  346. package/find-options/FindOptionsUtils.js.map +1 -1
  347. package/find-options/operator/Raw.js.map +1 -1
  348. package/globals.js.map +1 -1
  349. package/logger/AbstractLogger.js.map +1 -1
  350. package/logger/AdvancedConsoleLogger.js +1 -2
  351. package/logger/AdvancedConsoleLogger.js.map +1 -1
  352. package/logger/DebugLogger.js +1 -2
  353. package/logger/DebugLogger.js.map +1 -1
  354. package/logger/FileLogger.js +2 -3
  355. package/logger/FileLogger.js.map +1 -1
  356. package/logger/LoggerFactory.js.map +1 -1
  357. package/logger/SimpleConsoleLogger.js +1 -2
  358. package/logger/SimpleConsoleLogger.js.map +1 -1
  359. package/metadata/CheckMetadata.js.map +1 -1
  360. package/metadata/ColumnMetadata.js +1 -6
  361. package/metadata/ColumnMetadata.js.map +1 -1
  362. package/metadata/EmbeddedMetadata.js +1 -1
  363. package/metadata/EmbeddedMetadata.js.map +1 -1
  364. package/metadata/EntityListenerMetadata.js.map +1 -1
  365. package/metadata/EntityMetadata.js +3 -7
  366. package/metadata/EntityMetadata.js.map +1 -1
  367. package/metadata/ExclusionMetadata.js.map +1 -1
  368. package/metadata/IndexMetadata.js.map +1 -1
  369. package/metadata/RelationIdMetadata.js.map +1 -1
  370. package/metadata/RelationMetadata.js.map +1 -1
  371. package/metadata/UniqueMetadata.js.map +1 -1
  372. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  373. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  374. package/metadata-builder/EntityMetadataBuilder.js +5 -8
  375. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  376. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  377. package/metadata-builder/JunctionEntityMetadataBuilder.js +7 -8
  378. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  379. package/metadata-builder/MetadataUtils.js.map +1 -1
  380. package/metadata-builder/RelationJoinColumnBuilder.js +2 -3
  381. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  382. package/migration/MigrationExecutor.js +2 -2
  383. package/migration/MigrationExecutor.js.map +1 -1
  384. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  385. package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  386. package/package.json +276 -1
  387. package/persistence/EntityPersistExecutor.js.map +1 -1
  388. package/persistence/Subject.js.map +1 -1
  389. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  390. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  391. package/persistence/SubjectExecutor.js.map +1 -1
  392. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  393. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  394. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  395. package/persistence/subject-builder/OneToManySubjectBuilder.js +1 -2
  396. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  397. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  398. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  399. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  400. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  401. package/platform/PlatformTools.d.ts +3 -0
  402. package/platform/PlatformTools.js.map +1 -1
  403. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  404. package/query-builder/InsertQueryBuilder.js +15 -15
  405. package/query-builder/InsertQueryBuilder.js.map +1 -1
  406. package/query-builder/JoinAttribute.js.map +1 -1
  407. package/query-builder/QueryBuilder.d.ts +1 -1
  408. package/query-builder/QueryBuilder.js +10 -11
  409. package/query-builder/QueryBuilder.js.map +1 -1
  410. package/query-builder/QueryExpressionMap.js +2 -2
  411. package/query-builder/QueryExpressionMap.js.map +1 -1
  412. package/query-builder/RelationIdLoader.js.map +1 -1
  413. package/query-builder/RelationLoader.js.map +1 -1
  414. package/query-builder/RelationQueryBuilder.js.map +1 -1
  415. package/query-builder/RelationRemover.js.map +1 -1
  416. package/query-builder/RelationUpdater.js.map +1 -1
  417. package/query-builder/ReturningResultsEntityUpdator.js +5 -2
  418. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  419. package/query-builder/SelectQueryBuilder.d.ts +4 -4
  420. package/query-builder/SelectQueryBuilder.js +23 -22
  421. package/query-builder/SelectQueryBuilder.js.map +1 -1
  422. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  423. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  424. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  425. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +2 -2
  426. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  427. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  428. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +2 -2
  429. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  430. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  431. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  432. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  433. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +0 -9
  434. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +0 -28
  435. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  436. package/query-runner/BaseQueryRunner.js.map +1 -1
  437. package/query-runner/QueryLock.js.map +1 -1
  438. package/repository/BaseEntity.js.map +1 -1
  439. package/repository/Repository.js.map +1 -1
  440. package/repository/TreeRepository.js.map +1 -1
  441. package/schema-builder/RdbmsSchemaBuilder.js +2 -1
  442. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  443. package/schema-builder/table/Table.js +2 -2
  444. package/schema-builder/table/Table.js.map +1 -1
  445. package/schema-builder/table/TableColumn.js.map +1 -1
  446. package/schema-builder/util/ViewUtils.js.map +1 -1
  447. package/schema-builder/view/View.js.map +1 -1
  448. package/subscriber/Broadcaster.js +6 -6
  449. package/subscriber/Broadcaster.js.map +1 -1
  450. package/subscriber/BroadcasterResult.js.map +1 -1
  451. package/util/ApplyValueTransformers.js.map +1 -1
  452. package/util/DateUtils.js.map +1 -1
  453. package/util/DepGraph.js +2 -2
  454. package/util/DepGraph.js.map +1 -1
  455. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  456. package/util/ImportUtils.js +1 -1
  457. package/util/ImportUtils.js.map +1 -1
  458. package/util/ObjectUtils.js.map +1 -1
  459. package/util/OrmUtils.js.map +1 -1
  460. package/util/PathUtils.js +1 -1
  461. package/util/PathUtils.js.map +1 -1
  462. package/util/RandomGenerator.js.map +1 -1
  463. package/util/StringUtils.js.map +1 -1
  464. package/util/TreeRepositoryUtils.js +3 -6
  465. package/util/TreeRepositoryUtils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/FindOperator.ts"],"names":[],"mappings":"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","file":"FindOperator.js","sourcesContent":["import { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { FindOperatorType } from \"./FindOperatorType\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { ValueTransformer } from \"../decorator/options/ValueTransformer\"\nimport { ApplyValueTransformers } from \"../util/ApplyValueTransformers\"\n\ntype SqlGeneratorType = (aliasPath: string) => string\n\n/**\n * Find Operator used in Find Conditions.\n */\nexport class FindOperator<T> {\n readonly \"@instanceof\" = Symbol.for(\"FindOperator\")\n\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n\n /**\n * Operator type.\n */\n private _type: FindOperatorType\n\n /**\n * Parameter value.\n */\n private _value: T | FindOperator<T>\n\n /**\n * ObjectLiteral parameters.\n */\n private _objectLiteralParameters: ObjectLiteral | undefined\n\n /**\n * Indicates if parameter is used or not for this operator.\n */\n private _useParameter: boolean\n\n /**\n * Indicates if multiple parameters must be used for this operator.\n */\n private _multipleParameters: boolean\n\n /**\n * SQL generator\n */\n private _getSql: SqlGeneratorType | undefined\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n type: FindOperatorType,\n value: T | FindOperator<T>,\n useParameter: boolean = true,\n multipleParameters: boolean = false,\n getSql?: SqlGeneratorType,\n objectLiteralParameters?: ObjectLiteral,\n ) {\n this._type = type\n this._value = value\n this._useParameter = useParameter\n this._multipleParameters = multipleParameters\n this._getSql = getSql\n this._objectLiteralParameters = objectLiteralParameters\n }\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Indicates if parameter is used or not for this operator.\n * Extracts final value if value is another find operator.\n */\n get useParameter(): boolean {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.useParameter\n\n return this._useParameter\n }\n\n /**\n * Indicates if multiple parameters must be used for this operator.\n * Extracts final value if value is another find operator.\n */\n get multipleParameters(): boolean {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.multipleParameters\n\n return this._multipleParameters\n }\n\n /**\n * Gets the Type of this FindOperator\n */\n get type(): FindOperatorType {\n return this._type\n }\n\n /**\n * Gets the final value needs to be used as parameter value.\n */\n get value(): T {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.value\n\n return this._value\n }\n\n /**\n * Gets ObjectLiteral parameters.\n */\n get objectLiteralParameters(): ObjectLiteral | undefined {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.objectLiteralParameters\n\n return this._objectLiteralParameters\n }\n\n /**\n * Gets the child FindOperator if it exists\n */\n get child(): FindOperator<T> | undefined {\n if (InstanceChecker.isFindOperator(this._value)) return this._value\n\n return undefined\n }\n\n /**\n * Gets the SQL generator\n */\n get getSql(): SqlGeneratorType | undefined {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.getSql\n\n return this._getSql\n }\n\n transformValue(transformer: ValueTransformer | ValueTransformer[]) {\n if (this._value instanceof FindOperator) {\n this._value.transformValue(transformer)\n } else {\n this._value =\n Array.isArray(this._value) && this._multipleParameters\n ? this._value.map(\n (v: any) =>\n transformer &&\n ApplyValueTransformers.transformTo(\n transformer,\n v,\n ),\n )\n : ApplyValueTransformers.transformTo(\n transformer,\n this._value,\n )\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/find-options/FindOperator.ts"],"names":[],"mappings":"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","file":"FindOperator.js","sourcesContent":["import { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { FindOperatorType } from \"./FindOperatorType\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { ValueTransformer } from \"../decorator/options/ValueTransformer\"\nimport { ApplyValueTransformers } from \"../util/ApplyValueTransformers\"\n\ntype SqlGeneratorType = (aliasPath: string) => string\n\n/**\n * Find Operator used in Find Conditions.\n */\nexport class FindOperator<T> {\n readonly \"@instanceof\" = Symbol.for(\"FindOperator\")\n\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n\n /**\n * Operator type.\n */\n private _type: FindOperatorType\n\n /**\n * Parameter value.\n */\n private _value: T | FindOperator<T>\n\n /**\n * ObjectLiteral parameters.\n */\n private _objectLiteralParameters: ObjectLiteral | undefined\n\n /**\n * Indicates if parameter is used or not for this operator.\n */\n private _useParameter: boolean\n\n /**\n * Indicates if multiple parameters must be used for this operator.\n */\n private _multipleParameters: boolean\n\n /**\n * SQL generator\n */\n private _getSql: SqlGeneratorType | undefined\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n type: FindOperatorType,\n value: T | FindOperator<T>,\n useParameter: boolean = true,\n multipleParameters: boolean = false,\n getSql?: SqlGeneratorType,\n objectLiteralParameters?: ObjectLiteral,\n ) {\n this._type = type\n this._value = value\n this._useParameter = useParameter\n this._multipleParameters = multipleParameters\n this._getSql = getSql\n this._objectLiteralParameters = objectLiteralParameters\n }\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Indicates if parameter is used or not for this operator.\n * Extracts final value if value is another find operator.\n */\n get useParameter(): boolean {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.useParameter\n\n return this._useParameter\n }\n\n /**\n * Indicates if multiple parameters must be used for this operator.\n * Extracts final value if value is another find operator.\n */\n get multipleParameters(): boolean {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.multipleParameters\n\n return this._multipleParameters\n }\n\n /**\n * Gets the Type of this FindOperator\n */\n get type(): FindOperatorType {\n return this._type\n }\n\n /**\n * Gets the final value needs to be used as parameter value.\n */\n get value(): T {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.value\n\n return this._value\n }\n\n /**\n * Gets ObjectLiteral parameters.\n */\n get objectLiteralParameters(): ObjectLiteral | undefined {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.objectLiteralParameters\n\n return this._objectLiteralParameters\n }\n\n /**\n * Gets the child FindOperator if it exists\n */\n get child(): FindOperator<T> | undefined {\n if (InstanceChecker.isFindOperator(this._value)) return this._value\n\n return undefined\n }\n\n /**\n * Gets the SQL generator\n */\n get getSql(): SqlGeneratorType | undefined {\n if (InstanceChecker.isFindOperator(this._value))\n return this._value.getSql\n\n return this._getSql\n }\n\n transformValue(transformer: ValueTransformer | ValueTransformer[]) {\n if (this._value instanceof FindOperator) {\n this._value.transformValue(transformer)\n } else {\n this._value =\n Array.isArray(this._value) && this._multipleParameters\n ? this._value.map(\n (v: any) =>\n transformer &&\n ApplyValueTransformers.transformTo(\n transformer,\n v,\n ),\n )\n : ApplyValueTransformers.transformTo(\n transformer,\n this._value,\n )\n }\n }\n}\n"],"sourceRoot":".."}
@@ -220,7 +220,7 @@ export class FindOptionsUtils {
220
220
  return qb;
221
221
  }*/
222
222
  static applyOptionsToTreeQueryBuilder(qb, options) {
223
- if (options === null || options === void 0 ? void 0 : options.relations) {
223
+ if (options?.relations) {
224
224
  // Copy because `applyRelationsRecursively` modifies it
225
225
  const allRelations = [...options.relations];
226
226
  FindOptionsUtils.applyRelationsRecursively(qb, allRelations, qb.expressionMap.mainAlias.name, qb.expressionMap.mainAlias.metadata, "");
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/FindOptionsUtils.ts"],"names":[],"mappings":"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","file":"FindOptionsUtils.js","sourcesContent":["import { FindManyOptions } from \"./FindManyOptions\"\nimport { FindOneOptions } from \"./FindOneOptions\"\nimport { SelectQueryBuilder } from \"../query-builder/SelectQueryBuilder\"\nimport { FindRelationsNotFoundError } from \"../error\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport { FindTreeOptions } from \"./FindTreeOptions\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { RelationMetadata } from \"../metadata/RelationMetadata\"\nimport { EntityPropertyNotFoundError } from \"../error\"\n\n/**\n * Utilities to work with FindOptions.\n */\nexport class FindOptionsUtils {\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Checks if given object is really instance of FindOneOptions interface.\n */\n static isFindOneOptions<Entity = any>(\n obj: any,\n ): obj is FindOneOptions<Entity> {\n const possibleOptions: FindOneOptions<Entity> = obj\n return (\n possibleOptions &&\n (Array.isArray(possibleOptions.select) ||\n Array.isArray(possibleOptions.relations) ||\n typeof possibleOptions.select === \"object\" ||\n typeof possibleOptions.relations === \"object\" ||\n typeof possibleOptions.where === \"object\" ||\n // typeof possibleOptions.where === \"string\" ||\n typeof possibleOptions.join === \"object\" ||\n typeof possibleOptions.order === \"object\" ||\n typeof possibleOptions.cache === \"object\" ||\n typeof possibleOptions.cache === \"boolean\" ||\n typeof possibleOptions.cache === \"number\" ||\n typeof possibleOptions.comment === \"string\" ||\n typeof possibleOptions.lock === \"object\" ||\n typeof possibleOptions.loadRelationIds === \"object\" ||\n typeof possibleOptions.loadRelationIds === \"boolean\" ||\n typeof possibleOptions.loadEagerRelations === \"boolean\" ||\n typeof possibleOptions.withDeleted === \"boolean\" ||\n typeof possibleOptions.relationLoadStrategy === \"string\" ||\n typeof possibleOptions.transaction === \"boolean\")\n )\n }\n\n /**\n * Checks if given object is really instance of FindManyOptions interface.\n */\n static isFindManyOptions<Entity = any>(\n obj: any,\n ): obj is FindManyOptions<Entity> {\n const possibleOptions: FindManyOptions<Entity> = obj\n return (\n possibleOptions &&\n (this.isFindOneOptions(possibleOptions) ||\n typeof (possibleOptions as FindManyOptions<any>).skip ===\n \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).take ===\n \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).skip ===\n \"string\" ||\n typeof (possibleOptions as FindManyOptions<any>).take ===\n \"string\")\n )\n }\n\n /**\n * Checks if given object is really instance of FindOptions interface.\n */\n static extractFindManyOptionsAlias(object: any): string | undefined {\n if (this.isFindManyOptions(object) && object.join)\n return object.join.alias\n\n return undefined\n }\n\n /**\n * Applies give find many options to the given query builder.\n\n static applyFindManyOptionsOrConditionsToQueryBuilder<T>(qb: SelectQueryBuilder<T>, options: FindManyOptions<T>|Partial<T>|undefined): SelectQueryBuilder<T> {\n if (this.isFindManyOptions(options))\n return this.applyOptionsToQueryBuilder(qb, options);\n\n if (options)\n return qb.where(options);\n\n return qb;\n }*/\n\n /**\n * Applies give find options to the given query builder.\n\n static applyOptionsToQueryBuilder<T>(qb: SelectQueryBuilder<T>, options: FindOneOptions<T>|FindManyOptions<T>|undefined): SelectQueryBuilder<T> {\n\n // if options are not set then simply return query builder. This is made for simplicity of usage.\n if (!options || (!this.isFindOneOptions(options) && !this.isFindManyOptions(options)))\n return qb;\n\n if (options.transaction === true) {\n qb.expressionMap.useTransaction = true;\n }\n\n if (!qb.expressionMap.mainAlias || !qb.expressionMap.mainAlias.hasMetadata)\n return qb;\n\n const metadata = qb.expressionMap.mainAlias!.metadata;\n\n // apply all options from FindOptions\n if (options.comment) {\n qb.comment(options.comment);\n }\n\n if (options.withDeleted) {\n qb.withDeleted();\n }\n\n if (options.select) {\n qb.select([]);\n options.select.forEach(select => {\n if (!metadata.hasColumnWithPropertyPath(`${select}`))\n throw new TypeORMError(`${select} column was not found in the ${metadata.name} entity.`);\n\n const columns = metadata.findColumnsWithPropertyPath(`${select}`);\n\n for (const column of columns) {\n qb.addSelect(qb.alias + \".\" + column.propertyPath);\n }\n });\n }\n\n if (options.relations) {\n // Copy because `applyRelationsRecursively` modifies it\n const allRelations = [...options.relations];\n this.applyRelationsRecursively(qb, allRelations, qb.expressionMap.mainAlias!.name, qb.expressionMap.mainAlias!.metadata, \"\");\n // recursive removes found relations from allRelations array\n // if there are relations left in this array it means those relations were not found in the entity structure\n // so, we give an exception about not found relations\n if (allRelations.length > 0)\n throw new FindRelationsNotFoundError(allRelations);\n }\n\n if (options.join) {\n if (options.join.leftJoin)\n Object.keys(options.join.leftJoin).forEach(key => {\n qb.leftJoin(options.join!.leftJoin![key], key);\n });\n\n if (options.join.innerJoin)\n Object.keys(options.join.innerJoin).forEach(key => {\n qb.innerJoin(options.join!.innerJoin![key], key);\n });\n\n if (options.join.leftJoinAndSelect)\n Object.keys(options.join.leftJoinAndSelect).forEach(key => {\n qb.leftJoinAndSelect(options.join!.leftJoinAndSelect![key], key);\n });\n\n if (options.join.innerJoinAndSelect)\n Object.keys(options.join.innerJoinAndSelect).forEach(key => {\n qb.innerJoinAndSelect(options.join!.innerJoinAndSelect![key], key);\n });\n }\n\n if (options.cache) {\n if (options.cache instanceof Object) {\n const cache = options.cache as { id: any, milliseconds: number };\n qb.cache(cache.id, cache.milliseconds);\n } else {\n qb.cache(options.cache);\n }\n }\n\n if (options.lock) {\n if (options.lock.mode === \"optimistic\") {\n qb.setLock(options.lock.mode, options.lock.version);\n } else if (\n options.lock.mode === \"pessimistic_read\" ||\n options.lock.mode === \"pessimistic_write\" ||\n options.lock.mode === \"dirty_read\" ||\n options.lock.mode === \"pessimistic_partial_write\" ||\n options.lock.mode === \"pessimistic_write_or_fail\" ||\n options.lock.mode === \"for_no_key_update\" ||\n options.lock.mode === \"for_key_share\"\n ) {\n const tableNames = options.lock.tables ? options.lock.tables.map((table) => {\n const tableAlias = qb.expressionMap.aliases.find((alias) => {\n return alias.metadata.tableNameWithoutPrefix === table;\n });\n if (!tableAlias) {\n throw new TypeORMError(`\"${table}\" is not part of this query`);\n }\n return qb.escape(tableAlias.name);\n }) : undefined;\n qb.setLock(options.lock.mode, undefined, tableNames);\n }\n }\n\n if (options.loadRelationIds === true) {\n qb.loadAllRelationIds();\n\n } else if (options.loadRelationIds instanceof Object) {\n qb.loadAllRelationIds(options.loadRelationIds as any);\n }\n\n if (options.where)\n qb.where(options.where);\n\n if ((options as FindManyOptions<T>).skip)\n qb.skip((options as FindManyOptions<T>).skip!);\n\n if ((options as FindManyOptions<T>).take)\n qb.take((options as FindManyOptions<T>).take!);\n\n if (options.order)\n Object.keys(options.order).forEach(key => {\n const order = ((options as FindOneOptions<T>).order as any)[key as any];\n\n if (!metadata.findColumnWithPropertyPath(key))\n throw new Error(`${key} column was not found in the ${metadata.name} entity.`);\n\n switch (order) {\n case 1:\n qb.addOrderBy(qb.alias + \".\" + key, \"ASC\");\n break;\n case -1:\n qb.addOrderBy(qb.alias + \".\" + key, \"DESC\");\n break;\n case \"ASC\":\n qb.addOrderBy(qb.alias + \".\" + key, \"ASC\");\n break;\n case \"DESC\":\n qb.addOrderBy(qb.alias + \".\" + key, \"DESC\");\n break;\n }\n });\n\n return qb;\n }*/\n\n static applyOptionsToTreeQueryBuilder<T extends ObjectLiteral>(\n qb: SelectQueryBuilder<T>,\n options?: FindTreeOptions,\n ): SelectQueryBuilder<T> {\n if (options?.relations) {\n // Copy because `applyRelationsRecursively` modifies it\n const allRelations = [...options.relations]\n\n FindOptionsUtils.applyRelationsRecursively(\n qb,\n allRelations,\n qb.expressionMap.mainAlias!.name,\n qb.expressionMap.mainAlias!.metadata,\n \"\",\n )\n\n // recursive removes found relations from allRelations array\n // if there are relations left in this array it means those relations were not found in the entity structure\n // so, we give an exception about not found relations\n if (allRelations.length > 0)\n throw new FindRelationsNotFoundError(allRelations)\n }\n\n return qb\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Adds joins for all relations and sub-relations of the given relations provided in the find options.\n */\n public static applyRelationsRecursively(\n qb: SelectQueryBuilder<any>,\n allRelations: string[],\n alias: string,\n metadata: EntityMetadata,\n prefix: string,\n ): void {\n // find all relations that match given prefix\n let matchedBaseRelations: RelationMetadata[] = []\n if (prefix) {\n const regexp = new RegExp(\"^\" + prefix.replace(\".\", \"\\\\.\") + \"\\\\.\")\n matchedBaseRelations = allRelations\n .filter((relation) => relation.match(regexp))\n .map((relation) =>\n metadata.findRelationWithPropertyPath(\n relation.replace(regexp, \"\"),\n ),\n )\n .filter((entity) => entity) as RelationMetadata[]\n } else {\n matchedBaseRelations = allRelations\n .map((relation) =>\n metadata.findRelationWithPropertyPath(relation),\n )\n .filter((entity) => entity) as RelationMetadata[]\n }\n\n // go through all matched relations and add join for them\n matchedBaseRelations.forEach((relation) => {\n // generate a relation alias\n let relationAlias: string = DriverUtils.buildAlias(\n qb.connection.driver,\n { joiner: \"__\" },\n alias,\n relation.propertyPath,\n )\n\n // add a join for the found relation\n const selection = alias + \".\" + relation.propertyPath\n if (qb.expressionMap.relationLoadStrategy === \"query\") {\n qb.concatRelationMetadata(relation)\n } else {\n qb.leftJoinAndSelect(selection, relationAlias)\n }\n\n // remove added relations from the allRelations array, this is needed to find all not found relations at the end\n allRelations.splice(\n allRelations.indexOf(\n prefix\n ? prefix + \".\" + relation.propertyPath\n : relation.propertyPath,\n ),\n 1,\n )\n\n // try to find sub-relations\n let relationMetadata: EntityMetadata | undefined\n let relationName: string | undefined\n\n if (qb.expressionMap.relationLoadStrategy === \"query\") {\n relationMetadata = relation.inverseEntityMetadata\n relationName = relationAlias\n } else {\n const join = qb.expressionMap.joinAttributes.find(\n (join) => join.entityOrProperty === selection,\n )\n relationMetadata = join!.metadata!\n relationName = join!.alias.name\n }\n\n if (!relationName || !relationMetadata) {\n throw new EntityPropertyNotFoundError(\n relation.propertyPath,\n metadata,\n )\n }\n\n this.applyRelationsRecursively(\n qb,\n allRelations,\n relationName,\n relationMetadata,\n prefix\n ? prefix + \".\" + relation.propertyPath\n : relation.propertyPath,\n )\n\n // join the eager relations of the found relation\n // Only supported for \"join\" relationLoadStrategy\n if (qb.expressionMap.relationLoadStrategy === \"join\") {\n const relMetadata = metadata.relations.find(\n (metadata) =>\n metadata.propertyName === relation.propertyPath,\n )\n if (relMetadata) {\n this.joinEagerRelations(\n qb,\n relationAlias,\n relMetadata.inverseEntityMetadata,\n )\n }\n }\n })\n }\n\n public static joinEagerRelations(\n qb: SelectQueryBuilder<any>,\n alias: string,\n metadata: EntityMetadata,\n ) {\n metadata.eagerRelations.forEach((relation) => {\n // generate a relation alias\n let relationAlias: string = DriverUtils.buildAlias(\n qb.connection.driver,\n { joiner: \"__\" },\n alias,\n relation.propertyName,\n )\n\n // add a join for the relation\n // Checking whether the relation wasn't joined yet.\n let addJoin = true\n // TODO: Review this validation\n for (const join of qb.expressionMap.joinAttributes) {\n if (\n join.condition !== undefined ||\n join.mapToProperty !== undefined ||\n join.isMappingMany !== undefined ||\n join.direction !== \"LEFT\" ||\n join.entityOrProperty !==\n `${alias}.${relation.propertyPath}`\n ) {\n continue\n }\n addJoin = false\n relationAlias = join.alias.name\n break\n }\n\n const joinAlreadyAdded = Boolean(\n qb.expressionMap.joinAttributes.find(\n (joinAttribute) =>\n joinAttribute.alias.name === relationAlias,\n ),\n )\n\n if (addJoin && !joinAlreadyAdded) {\n qb.leftJoin(alias + \".\" + relation.propertyPath, relationAlias)\n }\n\n // Checking whether the relation wasn't selected yet.\n // This check shall be after the join check to detect relationAlias.\n let addSelect = true\n for (const select of qb.expressionMap.selects) {\n if (\n select.aliasName !== undefined ||\n select.virtual !== undefined ||\n select.selection !== relationAlias\n ) {\n continue\n }\n addSelect = false\n break\n }\n\n if (addSelect) {\n qb.addSelect(relationAlias)\n }\n\n // (recursive) join the eager relations\n this.joinEagerRelations(\n qb,\n relationAlias,\n relation.inverseEntityMetadata,\n )\n })\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/find-options/FindOptionsUtils.ts"],"names":[],"mappings":"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","file":"FindOptionsUtils.js","sourcesContent":["import { FindManyOptions } from \"./FindManyOptions\"\nimport { FindOneOptions } from \"./FindOneOptions\"\nimport { SelectQueryBuilder } from \"../query-builder/SelectQueryBuilder\"\nimport { FindRelationsNotFoundError } from \"../error\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport { FindTreeOptions } from \"./FindTreeOptions\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { RelationMetadata } from \"../metadata/RelationMetadata\"\nimport { EntityPropertyNotFoundError } from \"../error\"\n\n/**\n * Utilities to work with FindOptions.\n */\nexport class FindOptionsUtils {\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Checks if given object is really instance of FindOneOptions interface.\n */\n static isFindOneOptions<Entity = any>(\n obj: any,\n ): obj is FindOneOptions<Entity> {\n const possibleOptions: FindOneOptions<Entity> = obj\n return (\n possibleOptions &&\n (Array.isArray(possibleOptions.select) ||\n Array.isArray(possibleOptions.relations) ||\n typeof possibleOptions.select === \"object\" ||\n typeof possibleOptions.relations === \"object\" ||\n typeof possibleOptions.where === \"object\" ||\n // typeof possibleOptions.where === \"string\" ||\n typeof possibleOptions.join === \"object\" ||\n typeof possibleOptions.order === \"object\" ||\n typeof possibleOptions.cache === \"object\" ||\n typeof possibleOptions.cache === \"boolean\" ||\n typeof possibleOptions.cache === \"number\" ||\n typeof possibleOptions.comment === \"string\" ||\n typeof possibleOptions.lock === \"object\" ||\n typeof possibleOptions.loadRelationIds === \"object\" ||\n typeof possibleOptions.loadRelationIds === \"boolean\" ||\n typeof possibleOptions.loadEagerRelations === \"boolean\" ||\n typeof possibleOptions.withDeleted === \"boolean\" ||\n typeof possibleOptions.relationLoadStrategy === \"string\" ||\n typeof possibleOptions.transaction === \"boolean\")\n )\n }\n\n /**\n * Checks if given object is really instance of FindManyOptions interface.\n */\n static isFindManyOptions<Entity = any>(\n obj: any,\n ): obj is FindManyOptions<Entity> {\n const possibleOptions: FindManyOptions<Entity> = obj\n return (\n possibleOptions &&\n (this.isFindOneOptions(possibleOptions) ||\n typeof (possibleOptions as FindManyOptions<any>).skip ===\n \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).take ===\n \"number\" ||\n typeof (possibleOptions as FindManyOptions<any>).skip ===\n \"string\" ||\n typeof (possibleOptions as FindManyOptions<any>).take ===\n \"string\")\n )\n }\n\n /**\n * Checks if given object is really instance of FindOptions interface.\n */\n static extractFindManyOptionsAlias(object: any): string | undefined {\n if (this.isFindManyOptions(object) && object.join)\n return object.join.alias\n\n return undefined\n }\n\n /**\n * Applies give find many options to the given query builder.\n\n static applyFindManyOptionsOrConditionsToQueryBuilder<T>(qb: SelectQueryBuilder<T>, options: FindManyOptions<T>|Partial<T>|undefined): SelectQueryBuilder<T> {\n if (this.isFindManyOptions(options))\n return this.applyOptionsToQueryBuilder(qb, options);\n\n if (options)\n return qb.where(options);\n\n return qb;\n }*/\n\n /**\n * Applies give find options to the given query builder.\n\n static applyOptionsToQueryBuilder<T>(qb: SelectQueryBuilder<T>, options: FindOneOptions<T>|FindManyOptions<T>|undefined): SelectQueryBuilder<T> {\n\n // if options are not set then simply return query builder. This is made for simplicity of usage.\n if (!options || (!this.isFindOneOptions(options) && !this.isFindManyOptions(options)))\n return qb;\n\n if (options.transaction === true) {\n qb.expressionMap.useTransaction = true;\n }\n\n if (!qb.expressionMap.mainAlias || !qb.expressionMap.mainAlias.hasMetadata)\n return qb;\n\n const metadata = qb.expressionMap.mainAlias!.metadata;\n\n // apply all options from FindOptions\n if (options.comment) {\n qb.comment(options.comment);\n }\n\n if (options.withDeleted) {\n qb.withDeleted();\n }\n\n if (options.select) {\n qb.select([]);\n options.select.forEach(select => {\n if (!metadata.hasColumnWithPropertyPath(`${select}`))\n throw new TypeORMError(`${select} column was not found in the ${metadata.name} entity.`);\n\n const columns = metadata.findColumnsWithPropertyPath(`${select}`);\n\n for (const column of columns) {\n qb.addSelect(qb.alias + \".\" + column.propertyPath);\n }\n });\n }\n\n if (options.relations) {\n // Copy because `applyRelationsRecursively` modifies it\n const allRelations = [...options.relations];\n this.applyRelationsRecursively(qb, allRelations, qb.expressionMap.mainAlias!.name, qb.expressionMap.mainAlias!.metadata, \"\");\n // recursive removes found relations from allRelations array\n // if there are relations left in this array it means those relations were not found in the entity structure\n // so, we give an exception about not found relations\n if (allRelations.length > 0)\n throw new FindRelationsNotFoundError(allRelations);\n }\n\n if (options.join) {\n if (options.join.leftJoin)\n Object.keys(options.join.leftJoin).forEach(key => {\n qb.leftJoin(options.join!.leftJoin![key], key);\n });\n\n if (options.join.innerJoin)\n Object.keys(options.join.innerJoin).forEach(key => {\n qb.innerJoin(options.join!.innerJoin![key], key);\n });\n\n if (options.join.leftJoinAndSelect)\n Object.keys(options.join.leftJoinAndSelect).forEach(key => {\n qb.leftJoinAndSelect(options.join!.leftJoinAndSelect![key], key);\n });\n\n if (options.join.innerJoinAndSelect)\n Object.keys(options.join.innerJoinAndSelect).forEach(key => {\n qb.innerJoinAndSelect(options.join!.innerJoinAndSelect![key], key);\n });\n }\n\n if (options.cache) {\n if (options.cache instanceof Object) {\n const cache = options.cache as { id: any, milliseconds: number };\n qb.cache(cache.id, cache.milliseconds);\n } else {\n qb.cache(options.cache);\n }\n }\n\n if (options.lock) {\n if (options.lock.mode === \"optimistic\") {\n qb.setLock(options.lock.mode, options.lock.version);\n } else if (\n options.lock.mode === \"pessimistic_read\" ||\n options.lock.mode === \"pessimistic_write\" ||\n options.lock.mode === \"dirty_read\" ||\n options.lock.mode === \"pessimistic_partial_write\" ||\n options.lock.mode === \"pessimistic_write_or_fail\" ||\n options.lock.mode === \"for_no_key_update\" ||\n options.lock.mode === \"for_key_share\"\n ) {\n const tableNames = options.lock.tables ? options.lock.tables.map((table) => {\n const tableAlias = qb.expressionMap.aliases.find((alias) => {\n return alias.metadata.tableNameWithoutPrefix === table;\n });\n if (!tableAlias) {\n throw new TypeORMError(`\"${table}\" is not part of this query`);\n }\n return qb.escape(tableAlias.name);\n }) : undefined;\n qb.setLock(options.lock.mode, undefined, tableNames);\n }\n }\n\n if (options.loadRelationIds === true) {\n qb.loadAllRelationIds();\n\n } else if (options.loadRelationIds instanceof Object) {\n qb.loadAllRelationIds(options.loadRelationIds as any);\n }\n\n if (options.where)\n qb.where(options.where);\n\n if ((options as FindManyOptions<T>).skip)\n qb.skip((options as FindManyOptions<T>).skip!);\n\n if ((options as FindManyOptions<T>).take)\n qb.take((options as FindManyOptions<T>).take!);\n\n if (options.order)\n Object.keys(options.order).forEach(key => {\n const order = ((options as FindOneOptions<T>).order as any)[key as any];\n\n if (!metadata.findColumnWithPropertyPath(key))\n throw new Error(`${key} column was not found in the ${metadata.name} entity.`);\n\n switch (order) {\n case 1:\n qb.addOrderBy(qb.alias + \".\" + key, \"ASC\");\n break;\n case -1:\n qb.addOrderBy(qb.alias + \".\" + key, \"DESC\");\n break;\n case \"ASC\":\n qb.addOrderBy(qb.alias + \".\" + key, \"ASC\");\n break;\n case \"DESC\":\n qb.addOrderBy(qb.alias + \".\" + key, \"DESC\");\n break;\n }\n });\n\n return qb;\n }*/\n\n static applyOptionsToTreeQueryBuilder<T extends ObjectLiteral>(\n qb: SelectQueryBuilder<T>,\n options?: FindTreeOptions,\n ): SelectQueryBuilder<T> {\n if (options?.relations) {\n // Copy because `applyRelationsRecursively` modifies it\n const allRelations = [...options.relations]\n\n FindOptionsUtils.applyRelationsRecursively(\n qb,\n allRelations,\n qb.expressionMap.mainAlias!.name,\n qb.expressionMap.mainAlias!.metadata,\n \"\",\n )\n\n // recursive removes found relations from allRelations array\n // if there are relations left in this array it means those relations were not found in the entity structure\n // so, we give an exception about not found relations\n if (allRelations.length > 0)\n throw new FindRelationsNotFoundError(allRelations)\n }\n\n return qb\n }\n\n // -------------------------------------------------------------------------\n // Protected Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Adds joins for all relations and sub-relations of the given relations provided in the find options.\n */\n public static applyRelationsRecursively(\n qb: SelectQueryBuilder<any>,\n allRelations: string[],\n alias: string,\n metadata: EntityMetadata,\n prefix: string,\n ): void {\n // find all relations that match given prefix\n let matchedBaseRelations: RelationMetadata[] = []\n if (prefix) {\n const regexp = new RegExp(\"^\" + prefix.replace(\".\", \"\\\\.\") + \"\\\\.\")\n matchedBaseRelations = allRelations\n .filter((relation) => relation.match(regexp))\n .map((relation) =>\n metadata.findRelationWithPropertyPath(\n relation.replace(regexp, \"\"),\n ),\n )\n .filter((entity) => entity) as RelationMetadata[]\n } else {\n matchedBaseRelations = allRelations\n .map((relation) =>\n metadata.findRelationWithPropertyPath(relation),\n )\n .filter((entity) => entity) as RelationMetadata[]\n }\n\n // go through all matched relations and add join for them\n matchedBaseRelations.forEach((relation) => {\n // generate a relation alias\n let relationAlias: string = DriverUtils.buildAlias(\n qb.connection.driver,\n { joiner: \"__\" },\n alias,\n relation.propertyPath,\n )\n\n // add a join for the found relation\n const selection = alias + \".\" + relation.propertyPath\n if (qb.expressionMap.relationLoadStrategy === \"query\") {\n qb.concatRelationMetadata(relation)\n } else {\n qb.leftJoinAndSelect(selection, relationAlias)\n }\n\n // remove added relations from the allRelations array, this is needed to find all not found relations at the end\n allRelations.splice(\n allRelations.indexOf(\n prefix\n ? prefix + \".\" + relation.propertyPath\n : relation.propertyPath,\n ),\n 1,\n )\n\n // try to find sub-relations\n let relationMetadata: EntityMetadata | undefined\n let relationName: string | undefined\n\n if (qb.expressionMap.relationLoadStrategy === \"query\") {\n relationMetadata = relation.inverseEntityMetadata\n relationName = relationAlias\n } else {\n const join = qb.expressionMap.joinAttributes.find(\n (join) => join.entityOrProperty === selection,\n )\n relationMetadata = join!.metadata!\n relationName = join!.alias.name\n }\n\n if (!relationName || !relationMetadata) {\n throw new EntityPropertyNotFoundError(\n relation.propertyPath,\n metadata,\n )\n }\n\n this.applyRelationsRecursively(\n qb,\n allRelations,\n relationName,\n relationMetadata,\n prefix\n ? prefix + \".\" + relation.propertyPath\n : relation.propertyPath,\n )\n\n // join the eager relations of the found relation\n // Only supported for \"join\" relationLoadStrategy\n if (qb.expressionMap.relationLoadStrategy === \"join\") {\n const relMetadata = metadata.relations.find(\n (metadata) =>\n metadata.propertyName === relation.propertyPath,\n )\n if (relMetadata) {\n this.joinEagerRelations(\n qb,\n relationAlias,\n relMetadata.inverseEntityMetadata,\n )\n }\n }\n })\n }\n\n public static joinEagerRelations(\n qb: SelectQueryBuilder<any>,\n alias: string,\n metadata: EntityMetadata,\n ) {\n metadata.eagerRelations.forEach((relation) => {\n // generate a relation alias\n let relationAlias: string = DriverUtils.buildAlias(\n qb.connection.driver,\n { joiner: \"__\" },\n alias,\n relation.propertyName,\n )\n\n // add a join for the relation\n // Checking whether the relation wasn't joined yet.\n let addJoin = true\n // TODO: Review this validation\n for (const join of qb.expressionMap.joinAttributes) {\n if (\n join.condition !== undefined ||\n join.mapToProperty !== undefined ||\n join.isMappingMany !== undefined ||\n join.direction !== \"LEFT\" ||\n join.entityOrProperty !==\n `${alias}.${relation.propertyPath}`\n ) {\n continue\n }\n addJoin = false\n relationAlias = join.alias.name\n break\n }\n\n const joinAlreadyAdded = Boolean(\n qb.expressionMap.joinAttributes.find(\n (joinAttribute) =>\n joinAttribute.alias.name === relationAlias,\n ),\n )\n\n if (addJoin && !joinAlreadyAdded) {\n qb.leftJoin(alias + \".\" + relation.propertyPath, relationAlias)\n }\n\n // Checking whether the relation wasn't selected yet.\n // This check shall be after the join check to detect relationAlias.\n let addSelect = true\n for (const select of qb.expressionMap.selects) {\n if (\n select.aliasName !== undefined ||\n select.virtual !== undefined ||\n select.selection !== relationAlias\n ) {\n continue\n }\n addSelect = false\n break\n }\n\n if (addSelect) {\n qb.addSelect(relationAlias)\n }\n\n // (recursive) join the eager relations\n this.joinEagerRelations(\n qb,\n relationAlias,\n relation.inverseEntityMetadata,\n )\n })\n }\n}\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/find-options/operator/Raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AA2B9C,MAAM,UAAU,GAAG,CACf,mBAA+D,EAC/D,sBAAsC;IAEtC,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;QAC3C,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAA;KAC7D;IAED,OAAO,IAAI,YAAY,CACnB,KAAK,EACL,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,mBAAmB,EACnB,sBAAsB,CACzB,CAAA;AACL,CAAC","file":"Raw.js","sourcesContent":["import { FindOperator } from \"../FindOperator\"\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\n\n/**\n * Find Options Operator.\n * Example: { someField: Raw(\"12\") }\n */\nexport function Raw<T>(value: string): FindOperator<any>\n\n/**\n * Find Options Operator.\n * Example: { someField: Raw((columnAlias) => `${columnAlias} = 5`) }\n */\nexport function Raw<T>(\n sqlGenerator: (columnAlias: string) => string,\n): FindOperator<any>\n\n/**\n * Find Options Operator.\n * For escaping parameters use next syntax:\n * Example: { someField: Raw((columnAlias) => `${columnAlias} = :value`, { value: 5 }) }\n */\nexport function Raw<T>(\n sqlGenerator: (columnAlias: string) => string,\n parameters: ObjectLiteral,\n): FindOperator<any>\n\nexport function Raw<T>(\n valueOrSqlGenerator: string | ((columnAlias: string) => string),\n sqlGeneratorParameters?: ObjectLiteral,\n): FindOperator<any> {\n if (typeof valueOrSqlGenerator !== \"function\") {\n return new FindOperator(\"raw\", valueOrSqlGenerator, false)\n }\n\n return new FindOperator(\n \"raw\",\n [],\n true,\n true,\n valueOrSqlGenerator,\n sqlGeneratorParameters,\n )\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/find-options/operator/Raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AA2B9C,MAAM,UAAU,GAAG,CACf,mBAA+D,EAC/D,sBAAsC;IAEtC,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,IAAI,YAAY,CACnB,KAAK,EACL,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,mBAAmB,EACnB,sBAAsB,CACzB,CAAA;AACL,CAAC","file":"Raw.js","sourcesContent":["import { FindOperator } from \"../FindOperator\"\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\n\n/**\n * Find Options Operator.\n * Example: { someField: Raw(\"12\") }\n */\nexport function Raw<T>(value: string): FindOperator<any>\n\n/**\n * Find Options Operator.\n * Example: { someField: Raw((columnAlias) => `${columnAlias} = 5`) }\n */\nexport function Raw<T>(\n sqlGenerator: (columnAlias: string) => string,\n): FindOperator<any>\n\n/**\n * Find Options Operator.\n * For escaping parameters use next syntax:\n * Example: { someField: Raw((columnAlias) => `${columnAlias} = :value`, { value: 5 }) }\n */\nexport function Raw<T>(\n sqlGenerator: (columnAlias: string) => string,\n parameters: ObjectLiteral,\n): FindOperator<any>\n\nexport function Raw<T>(\n valueOrSqlGenerator: string | ((columnAlias: string) => string),\n sqlGeneratorParameters?: ObjectLiteral,\n): FindOperator<any> {\n if (typeof valueOrSqlGenerator !== \"function\") {\n return new FindOperator(\"raw\", valueOrSqlGenerator, false)\n }\n\n return new FindOperator(\n \"raw\",\n [],\n true,\n true,\n valueOrSqlGenerator,\n sqlGeneratorParameters,\n )\n}\n"],"sourceRoot":"../.."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/globals.ts"],"names":[],"mappings":"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","file":"globals.js","sourcesContent":["import { MetadataArgsStorage } from \"./metadata-args/MetadataArgsStorage\"\nimport { PlatformTools } from \"./platform/PlatformTools\"\nimport { DataSourceOptions } from \"./data-source/DataSourceOptions\"\nimport { ConnectionOptionsReader } from \"./connection/ConnectionOptionsReader\"\nimport { ConnectionManager } from \"./connection/ConnectionManager\"\nimport { getFromContainer } from \"./container\"\nimport { DataSource } from \"./data-source/DataSource\"\nimport { EntityManager } from \"./entity-manager/EntityManager\"\nimport { MongoEntityManager } from \"./entity-manager/MongoEntityManager\"\nimport { SqljsEntityManager } from \"./entity-manager/SqljsEntityManager\"\nimport { EntityTarget } from \"./common/EntityTarget\"\nimport { Repository } from \"./repository/Repository\"\nimport { TreeRepository } from \"./repository/TreeRepository\"\nimport { ObjectType } from \"./common/ObjectType\"\nimport { MongoRepository } from \"./repository/MongoRepository\"\nimport { SelectQueryBuilder } from \"./query-builder/SelectQueryBuilder\"\nimport { ObjectUtils } from \"./util/ObjectUtils\"\nimport { ObjectLiteral } from \"./common/ObjectLiteral\"\n\n/**\n * Gets metadata args storage.\n */\nexport function getMetadataArgsStorage(): MetadataArgsStorage {\n // we should store metadata storage in a global variable otherwise it brings too much problems\n // one of the problem is that if any entity (or any other) will be imported before consumer will call\n // useContainer method with his own container implementation, that entity will be registered in the\n // old old container (default one post probably) and consumer will his entity.\n // calling useContainer before he imports any entity (or any other) is not always convenient.\n // another reason is that when we run migrations typeorm is being called from a global package\n // and it may load entities which register decorators in typeorm of local package\n // this leads to impossibility of usage of entities in migrations and cli related operations\n const globalScope = PlatformTools.getGlobalVariable()\n if (!globalScope.typeormMetadataArgsStorage)\n globalScope.typeormMetadataArgsStorage = new MetadataArgsStorage()\n\n return globalScope.typeormMetadataArgsStorage\n}\n\n/**\n * Reads connection options stored in ormconfig configuration file.\n *\n * @deprecated\n */\nexport async function getConnectionOptions(\n connectionName: string = \"default\",\n): Promise<DataSourceOptions> {\n return new ConnectionOptionsReader().get(connectionName)\n}\n\n/**\n * Gets a ConnectionManager which creates connections.\n *\n * @deprecated\n */\nexport function getConnectionManager(): ConnectionManager {\n return getFromContainer(ConnectionManager)\n}\n\n/**\n * Creates a new connection and registers it in the manager.\n * Only one connection from ormconfig will be created (name \"default\" or connection without name).\n *\n * @deprecated\n */\nexport async function createConnection(): Promise<DataSource>\n\n/**\n * Creates a new connection from the ormconfig file with a given name.\n *\n * @deprecated\n */\nexport async function createConnection(name: string): Promise<DataSource>\n\n/**\n * Creates a new connection and registers it in the manager.\n *\n * @deprecated\n */\nexport async function createConnection(\n options: DataSourceOptions,\n): Promise<DataSource>\n\n/**\n * Creates a new connection and registers it in the manager.\n *\n * If connection options were not specified, then it will try to create connection automatically,\n * based on content of ormconfig (json/js/env) file or environment variables.\n * Only one connection from ormconfig will be created (name \"default\" or connection without name).\n *\n * @deprecated\n */\nexport async function createConnection(\n optionsOrName?: any,\n): Promise<DataSource> {\n const connectionName =\n typeof optionsOrName === \"string\" ? optionsOrName : \"default\"\n const options = ObjectUtils.isObject(optionsOrName)\n ? (optionsOrName as DataSourceOptions)\n : await getConnectionOptions(connectionName)\n return getConnectionManager().create(options).connect()\n}\n\n/**\n * Creates new connections and registers them in the manager.\n *\n * If connection options were not specified, then it will try to create connection automatically,\n * based on content of ormconfig (json/js/env) file or environment variables.\n * All connections from the ormconfig will be created.\n *\n * @deprecated\n */\nexport async function createConnections(\n options?: DataSourceOptions[],\n): Promise<DataSource[]> {\n if (!options) options = await new ConnectionOptionsReader().all()\n const connections = options.map((options) =>\n getConnectionManager().create(options),\n )\n // Do not use Promise.all or test 8522 will produce a dangling sqlite connection\n for (const connection of connections) {\n await connection.connect()\n }\n return connections\n}\n\n/**\n * Gets connection from the connection manager.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n *\n * @deprecated\n */\nexport function getConnection(connectionName: string = \"default\"): DataSource {\n return getConnectionManager().get(connectionName)\n}\n\n/**\n * Gets entity manager from the connection.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n *\n * @deprecated\n */\nexport function getManager(connectionName: string = \"default\"): EntityManager {\n return getConnectionManager().get(connectionName).manager\n}\n\n/**\n * Gets MongoDB entity manager from the connection.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n *\n * @deprecated\n */\nexport function getMongoManager(\n connectionName: string = \"default\",\n): MongoEntityManager {\n return getConnectionManager().get(connectionName)\n .manager as MongoEntityManager\n}\n\n/**\n * Gets Sqljs entity manager from connection name.\n * \"default\" connection is used, when no name is specified.\n * Only works when Sqljs driver is used.\n *\n * @deprecated\n */\nexport function getSqljsManager(\n connectionName: string = \"default\",\n): SqljsEntityManager {\n return getConnectionManager().get(connectionName)\n .manager as SqljsEntityManager\n}\n\n/**\n * Gets repository for the given entity class.\n *\n * @deprecated\n */\nexport function getRepository<Entity extends ObjectLiteral>(\n entityClass: EntityTarget<Entity>,\n connectionName: string = \"default\",\n): Repository<Entity> {\n return getConnectionManager()\n .get(connectionName)\n .getRepository<Entity>(entityClass)\n}\n\n/**\n * Gets tree repository for the given entity class.\n *\n * @deprecated\n */\nexport function getTreeRepository<Entity extends ObjectLiteral>(\n entityClass: EntityTarget<Entity>,\n connectionName: string = \"default\",\n): TreeRepository<Entity> {\n return getConnectionManager()\n .get(connectionName)\n .getTreeRepository<Entity>(entityClass)\n}\n\n/**\n * Gets tree repository for the given entity class.\n *\n * @deprecated\n */\nexport function getCustomRepository<T>(\n customRepository: ObjectType<T>,\n connectionName: string = \"default\",\n): T {\n return getConnectionManager()\n .get(connectionName)\n .getCustomRepository(customRepository)\n}\n\n/**\n * Gets mongodb repository for the given entity class or name.\n *\n * @deprecated\n */\nexport function getMongoRepository<Entity extends ObjectLiteral>(\n entityClass: EntityTarget<Entity>,\n connectionName: string = \"default\",\n): MongoRepository<Entity> {\n return getConnectionManager()\n .get(connectionName)\n .getMongoRepository<Entity>(entityClass)\n}\n\n/**\n * Creates a new query builder.\n *\n * @deprecated\n */\nexport function createQueryBuilder<Entity extends ObjectLiteral>(\n entityClass?: EntityTarget<Entity>,\n alias?: string,\n connectionName: string = \"default\",\n): SelectQueryBuilder<Entity> {\n if (entityClass) {\n return getRepository(entityClass, connectionName).createQueryBuilder(\n alias,\n )\n }\n\n return getConnection(connectionName).createQueryBuilder()\n}\n"],"sourceRoot":"."}
1
+ {"version":3,"sources":["../browser/src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAW9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD;;GAEG;AACH,MAAM,UAAU,sBAAsB;IAClC,8FAA8F;IAC9F,qGAAqG;IACrG,mGAAmG;IACnG,8EAA8E;IAC9E,6FAA6F;IAC7F,8FAA8F;IAC9F,iFAAiF;IACjF,4FAA4F;IAC5F,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAA;IACrD,IAAI,CAAC,WAAW,CAAC,0BAA0B;QACvC,WAAW,CAAC,0BAA0B,GAAG,IAAI,mBAAmB,EAAE,CAAA;IAEtE,OAAO,WAAW,CAAC,0BAA0B,CAAA;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,iBAAyB,SAAS;IAElC,OAAO,IAAI,uBAAuB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAChC,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;AAC9C,CAAC;AA0BD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,aAAmB;IAEnB,MAAM,cAAc,GAChB,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,CAAC,CAAE,aAAmC;QACtC,CAAC,CAAC,MAAM,oBAAoB,CAAC,cAAc,CAAC,CAAA;IAChD,OAAO,oBAAoB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,OAA6B;IAE7B,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,MAAM,IAAI,uBAAuB,EAAE,CAAC,GAAG,EAAE,CAAA;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,oBAAoB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CACzC,CAAA;IACD,gFAAgF;IAChF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;IAC9B,CAAC;IACD,OAAO,WAAW,CAAA;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,iBAAyB,SAAS;IAC5D,OAAO,oBAAoB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,iBAAyB,SAAS;IACzD,OAAO,oBAAoB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,CAAA;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC3B,iBAAyB,SAAS;IAElC,OAAO,oBAAoB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC;SAC5C,OAA6B,CAAA;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC3B,iBAAyB,SAAS;IAElC,OAAO,oBAAoB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC;SAC5C,OAA6B,CAAA;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CACzB,WAAiC,EACjC,iBAAyB,SAAS;IAElC,OAAO,oBAAoB,EAAE;SACxB,GAAG,CAAC,cAAc,CAAC;SACnB,aAAa,CAAS,WAAW,CAAC,CAAA;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC7B,WAAiC,EACjC,iBAAyB,SAAS;IAElC,OAAO,oBAAoB,EAAE;SACxB,GAAG,CAAC,cAAc,CAAC;SACnB,iBAAiB,CAAS,WAAW,CAAC,CAAA;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAC/B,gBAA+B,EAC/B,iBAAyB,SAAS;IAElC,OAAO,oBAAoB,EAAE;SACxB,GAAG,CAAC,cAAc,CAAC;SACnB,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAC9B,WAAiC,EACjC,iBAAyB,SAAS;IAElC,OAAO,oBAAoB,EAAE;SACxB,GAAG,CAAC,cAAc,CAAC;SACnB,kBAAkB,CAAS,WAAW,CAAC,CAAA;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAC9B,WAAkC,EAClC,KAAc,EACd,iBAAyB,SAAS;IAElC,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAChE,KAAK,CACR,CAAA;IACL,CAAC;IAED,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC,kBAAkB,EAAE,CAAA;AAC7D,CAAC","file":"globals.js","sourcesContent":["import { MetadataArgsStorage } from \"./metadata-args/MetadataArgsStorage\"\nimport { PlatformTools } from \"./platform/PlatformTools\"\nimport { DataSourceOptions } from \"./data-source/DataSourceOptions\"\nimport { ConnectionOptionsReader } from \"./connection/ConnectionOptionsReader\"\nimport { ConnectionManager } from \"./connection/ConnectionManager\"\nimport { getFromContainer } from \"./container\"\nimport { DataSource } from \"./data-source/DataSource\"\nimport { EntityManager } from \"./entity-manager/EntityManager\"\nimport { MongoEntityManager } from \"./entity-manager/MongoEntityManager\"\nimport { SqljsEntityManager } from \"./entity-manager/SqljsEntityManager\"\nimport { EntityTarget } from \"./common/EntityTarget\"\nimport { Repository } from \"./repository/Repository\"\nimport { TreeRepository } from \"./repository/TreeRepository\"\nimport { ObjectType } from \"./common/ObjectType\"\nimport { MongoRepository } from \"./repository/MongoRepository\"\nimport { SelectQueryBuilder } from \"./query-builder/SelectQueryBuilder\"\nimport { ObjectUtils } from \"./util/ObjectUtils\"\nimport { ObjectLiteral } from \"./common/ObjectLiteral\"\n\n/**\n * Gets metadata args storage.\n */\nexport function getMetadataArgsStorage(): MetadataArgsStorage {\n // we should store metadata storage in a global variable otherwise it brings too much problems\n // one of the problem is that if any entity (or any other) will be imported before consumer will call\n // useContainer method with his own container implementation, that entity will be registered in the\n // old old container (default one post probably) and consumer will his entity.\n // calling useContainer before he imports any entity (or any other) is not always convenient.\n // another reason is that when we run migrations typeorm is being called from a global package\n // and it may load entities which register decorators in typeorm of local package\n // this leads to impossibility of usage of entities in migrations and cli related operations\n const globalScope = PlatformTools.getGlobalVariable()\n if (!globalScope.typeormMetadataArgsStorage)\n globalScope.typeormMetadataArgsStorage = new MetadataArgsStorage()\n\n return globalScope.typeormMetadataArgsStorage\n}\n\n/**\n * Reads connection options stored in ormconfig configuration file.\n *\n * @deprecated\n */\nexport async function getConnectionOptions(\n connectionName: string = \"default\",\n): Promise<DataSourceOptions> {\n return new ConnectionOptionsReader().get(connectionName)\n}\n\n/**\n * Gets a ConnectionManager which creates connections.\n *\n * @deprecated\n */\nexport function getConnectionManager(): ConnectionManager {\n return getFromContainer(ConnectionManager)\n}\n\n/**\n * Creates a new connection and registers it in the manager.\n * Only one connection from ormconfig will be created (name \"default\" or connection without name).\n *\n * @deprecated\n */\nexport async function createConnection(): Promise<DataSource>\n\n/**\n * Creates a new connection from the ormconfig file with a given name.\n *\n * @deprecated\n */\nexport async function createConnection(name: string): Promise<DataSource>\n\n/**\n * Creates a new connection and registers it in the manager.\n *\n * @deprecated\n */\nexport async function createConnection(\n options: DataSourceOptions,\n): Promise<DataSource>\n\n/**\n * Creates a new connection and registers it in the manager.\n *\n * If connection options were not specified, then it will try to create connection automatically,\n * based on content of ormconfig (json/js/env) file or environment variables.\n * Only one connection from ormconfig will be created (name \"default\" or connection without name).\n *\n * @deprecated\n */\nexport async function createConnection(\n optionsOrName?: any,\n): Promise<DataSource> {\n const connectionName =\n typeof optionsOrName === \"string\" ? optionsOrName : \"default\"\n const options = ObjectUtils.isObject(optionsOrName)\n ? (optionsOrName as DataSourceOptions)\n : await getConnectionOptions(connectionName)\n return getConnectionManager().create(options).connect()\n}\n\n/**\n * Creates new connections and registers them in the manager.\n *\n * If connection options were not specified, then it will try to create connection automatically,\n * based on content of ormconfig (json/js/env) file or environment variables.\n * All connections from the ormconfig will be created.\n *\n * @deprecated\n */\nexport async function createConnections(\n options?: DataSourceOptions[],\n): Promise<DataSource[]> {\n if (!options) options = await new ConnectionOptionsReader().all()\n const connections = options.map((options) =>\n getConnectionManager().create(options),\n )\n // Do not use Promise.all or test 8522 will produce a dangling sqlite connection\n for (const connection of connections) {\n await connection.connect()\n }\n return connections\n}\n\n/**\n * Gets connection from the connection manager.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n *\n * @deprecated\n */\nexport function getConnection(connectionName: string = \"default\"): DataSource {\n return getConnectionManager().get(connectionName)\n}\n\n/**\n * Gets entity manager from the connection.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n *\n * @deprecated\n */\nexport function getManager(connectionName: string = \"default\"): EntityManager {\n return getConnectionManager().get(connectionName).manager\n}\n\n/**\n * Gets MongoDB entity manager from the connection.\n * If connection name wasn't specified, then \"default\" connection will be retrieved.\n *\n * @deprecated\n */\nexport function getMongoManager(\n connectionName: string = \"default\",\n): MongoEntityManager {\n return getConnectionManager().get(connectionName)\n .manager as MongoEntityManager\n}\n\n/**\n * Gets Sqljs entity manager from connection name.\n * \"default\" connection is used, when no name is specified.\n * Only works when Sqljs driver is used.\n *\n * @deprecated\n */\nexport function getSqljsManager(\n connectionName: string = \"default\",\n): SqljsEntityManager {\n return getConnectionManager().get(connectionName)\n .manager as SqljsEntityManager\n}\n\n/**\n * Gets repository for the given entity class.\n *\n * @deprecated\n */\nexport function getRepository<Entity extends ObjectLiteral>(\n entityClass: EntityTarget<Entity>,\n connectionName: string = \"default\",\n): Repository<Entity> {\n return getConnectionManager()\n .get(connectionName)\n .getRepository<Entity>(entityClass)\n}\n\n/**\n * Gets tree repository for the given entity class.\n *\n * @deprecated\n */\nexport function getTreeRepository<Entity extends ObjectLiteral>(\n entityClass: EntityTarget<Entity>,\n connectionName: string = \"default\",\n): TreeRepository<Entity> {\n return getConnectionManager()\n .get(connectionName)\n .getTreeRepository<Entity>(entityClass)\n}\n\n/**\n * Gets tree repository for the given entity class.\n *\n * @deprecated\n */\nexport function getCustomRepository<T>(\n customRepository: ObjectType<T>,\n connectionName: string = \"default\",\n): T {\n return getConnectionManager()\n .get(connectionName)\n .getCustomRepository(customRepository)\n}\n\n/**\n * Gets mongodb repository for the given entity class or name.\n *\n * @deprecated\n */\nexport function getMongoRepository<Entity extends ObjectLiteral>(\n entityClass: EntityTarget<Entity>,\n connectionName: string = \"default\",\n): MongoRepository<Entity> {\n return getConnectionManager()\n .get(connectionName)\n .getMongoRepository<Entity>(entityClass)\n}\n\n/**\n * Creates a new query builder.\n *\n * @deprecated\n */\nexport function createQueryBuilder<Entity extends ObjectLiteral>(\n entityClass?: EntityTarget<Entity>,\n alias?: string,\n connectionName: string = \"default\",\n): SelectQueryBuilder<Entity> {\n if (entityClass) {\n return getRepository(entityClass, connectionName).createQueryBuilder(\n alias,\n )\n }\n\n return getConnection(connectionName).createQueryBuilder()\n}\n"],"sourceRoot":"."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/logger/AbstractLogger.ts"],"names":[],"mappings":"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","file":"AbstractLogger.js","sourcesContent":["import {\n Logger,\n LogLevel,\n LogMessage,\n LogMessageType,\n PrepareLogMessagesOptions,\n} from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { LoggerOptions } from \"./LoggerOptions\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\n\nexport abstract class AbstractLogger implements Logger {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: LoggerOptions) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Logs query and parameters used in it.\n */\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"query\")) {\n return\n }\n\n this.writeLog(\n \"query\",\n {\n type: \"query\",\n prefix: \"query\",\n message: query,\n format: \"sql\",\n parameters,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs query that is failed.\n */\n logQueryError(\n error: string,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-error\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-error\",\n prefix: \"query failed\",\n message: query,\n format: \"sql\",\n parameters,\n },\n {\n type: \"query-error\",\n prefix: \"error\",\n message: error,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs query that is slow.\n */\n logQuerySlow(\n time: number,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-slow\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-slow\",\n prefix: \"query is slow\",\n message: query,\n format: \"sql\",\n parameters,\n additionalInfo: {\n time,\n },\n },\n {\n type: \"query-slow\",\n prefix: \"execution time\",\n message: time,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs events from the schema build process.\n */\n logSchemaBuild(message: string, queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"schema-build\")) {\n return\n }\n\n this.writeLog(\n \"schema\",\n {\n type: \"schema-build\",\n message,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs events from the migration run process.\n */\n logMigration(message: string, queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"migration\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"migration\",\n message,\n },\n queryRunner,\n )\n }\n\n /**\n * Perform logging using given logger, or by default to the console.\n * Log has its own level and message.\n */\n log(\n level: \"log\" | \"info\" | \"warn\",\n message: any,\n queryRunner?: QueryRunner,\n ) {\n switch (level) {\n case \"log\":\n if (!this.isLogEnabledFor(\"log\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"log\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"info\":\n if (!this.isLogEnabledFor(\"info\")) {\n return\n }\n\n this.writeLog(\n \"info\",\n {\n type: \"info\",\n prefix: \"info\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"warn\":\n if (!this.isLogEnabledFor(\"warn\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n {\n type: \"warn\",\n message,\n },\n queryRunner,\n )\n break\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Check is logging for level or message type is enabled.\n */\n protected isLogEnabledFor(type?: LogLevel | LogMessageType) {\n switch (type) {\n case \"query\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"query\") !== -1)\n )\n\n case \"error\":\n case \"query-error\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"error\") !== -1)\n )\n\n case \"query-slow\":\n return true\n\n case \"schema\":\n case \"schema-build\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"schema\") !== -1)\n )\n\n case \"migration\":\n return true\n\n case \"log\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"log\") !== -1)\n )\n\n case \"info\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"info\") !== -1)\n )\n\n case \"warn\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"warn\") !== -1)\n )\n\n default:\n return false\n }\n }\n\n /**\n * Write log to specific output.\n */\n protected abstract writeLog(\n level: LogLevel,\n message:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n queryRunner?: QueryRunner,\n ): void\n\n /**\n * Prepare and format log messages\n */\n protected prepareLogMessages(\n logMessage:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n options?: Partial<PrepareLogMessagesOptions>,\n ): LogMessage[] {\n options = {\n ...{\n addColonToPrefix: true,\n appendParameterAsComment: true,\n highlightSql: true,\n },\n ...options,\n }\n const messages = Array.isArray(logMessage) ? logMessage : [logMessage]\n\n for (let message of messages) {\n if (typeof message !== \"object\") {\n message = {\n message,\n }\n }\n\n if (message.format === \"sql\") {\n let sql = String(message.message)\n\n if (\n options.appendParameterAsComment &&\n message.parameters &&\n message.parameters.length\n ) {\n sql += ` -- PARAMETERS: ${this.stringifyParams(\n message.parameters,\n )}`\n }\n\n if (options.highlightSql) {\n sql = PlatformTools.highlightSql(sql)\n }\n\n message.message = sql\n }\n\n if (options.addColonToPrefix && message.prefix) {\n message.prefix += \":\"\n }\n }\n\n return messages as LogMessage[]\n }\n\n /**\n * Converts parameters to a string.\n * Sometimes parameters can have circular objects and therefor we are handle this case too.\n */\n protected stringifyParams(parameters: any[]) {\n try {\n return JSON.stringify(parameters)\n } catch (error) {\n // most probably circular objects in parameters\n return parameters\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/logger/AbstractLogger.ts"],"names":[],"mappings":"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","file":"AbstractLogger.js","sourcesContent":["import {\n Logger,\n LogLevel,\n LogMessage,\n LogMessageType,\n PrepareLogMessagesOptions,\n} from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { LoggerOptions } from \"./LoggerOptions\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\n\nexport abstract class AbstractLogger implements Logger {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: LoggerOptions) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Logs query and parameters used in it.\n */\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"query\")) {\n return\n }\n\n this.writeLog(\n \"query\",\n {\n type: \"query\",\n prefix: \"query\",\n message: query,\n format: \"sql\",\n parameters,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs query that is failed.\n */\n logQueryError(\n error: string,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-error\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-error\",\n prefix: \"query failed\",\n message: query,\n format: \"sql\",\n parameters,\n },\n {\n type: \"query-error\",\n prefix: \"error\",\n message: error,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs query that is slow.\n */\n logQuerySlow(\n time: number,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-slow\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-slow\",\n prefix: \"query is slow\",\n message: query,\n format: \"sql\",\n parameters,\n additionalInfo: {\n time,\n },\n },\n {\n type: \"query-slow\",\n prefix: \"execution time\",\n message: time,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs events from the schema build process.\n */\n logSchemaBuild(message: string, queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"schema-build\")) {\n return\n }\n\n this.writeLog(\n \"schema\",\n {\n type: \"schema-build\",\n message,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs events from the migration run process.\n */\n logMigration(message: string, queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"migration\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"migration\",\n message,\n },\n queryRunner,\n )\n }\n\n /**\n * Perform logging using given logger, or by default to the console.\n * Log has its own level and message.\n */\n log(\n level: \"log\" | \"info\" | \"warn\",\n message: any,\n queryRunner?: QueryRunner,\n ) {\n switch (level) {\n case \"log\":\n if (!this.isLogEnabledFor(\"log\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"log\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"info\":\n if (!this.isLogEnabledFor(\"info\")) {\n return\n }\n\n this.writeLog(\n \"info\",\n {\n type: \"info\",\n prefix: \"info\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"warn\":\n if (!this.isLogEnabledFor(\"warn\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n {\n type: \"warn\",\n message,\n },\n queryRunner,\n )\n break\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Check is logging for level or message type is enabled.\n */\n protected isLogEnabledFor(type?: LogLevel | LogMessageType) {\n switch (type) {\n case \"query\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"query\") !== -1)\n )\n\n case \"error\":\n case \"query-error\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"error\") !== -1)\n )\n\n case \"query-slow\":\n return true\n\n case \"schema\":\n case \"schema-build\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"schema\") !== -1)\n )\n\n case \"migration\":\n return true\n\n case \"log\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"log\") !== -1)\n )\n\n case \"info\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"info\") !== -1)\n )\n\n case \"warn\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"warn\") !== -1)\n )\n\n default:\n return false\n }\n }\n\n /**\n * Write log to specific output.\n */\n protected abstract writeLog(\n level: LogLevel,\n message:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n queryRunner?: QueryRunner,\n ): void\n\n /**\n * Prepare and format log messages\n */\n protected prepareLogMessages(\n logMessage:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n options?: Partial<PrepareLogMessagesOptions>,\n ): LogMessage[] {\n options = {\n ...{\n addColonToPrefix: true,\n appendParameterAsComment: true,\n highlightSql: true,\n },\n ...options,\n }\n const messages = Array.isArray(logMessage) ? logMessage : [logMessage]\n\n for (let message of messages) {\n if (typeof message !== \"object\") {\n message = {\n message,\n }\n }\n\n if (message.format === \"sql\") {\n let sql = String(message.message)\n\n if (\n options.appendParameterAsComment &&\n message.parameters &&\n message.parameters.length\n ) {\n sql += ` -- PARAMETERS: ${this.stringifyParams(\n message.parameters,\n )}`\n }\n\n if (options.highlightSql) {\n sql = PlatformTools.highlightSql(sql)\n }\n\n message.message = sql\n }\n\n if (options.addColonToPrefix && message.prefix) {\n message.prefix += \":\"\n }\n }\n\n return messages as LogMessage[]\n }\n\n /**\n * Converts parameters to a string.\n * Sometimes parameters can have circular objects and therefor we are handle this case too.\n */\n protected stringifyParams(parameters: any[]) {\n try {\n return JSON.stringify(parameters)\n } catch (error) {\n // most probably circular objects in parameters\n return parameters\n }\n }\n}\n"],"sourceRoot":".."}
@@ -9,10 +9,9 @@ export class AdvancedConsoleLogger extends AbstractLogger {
9
9
  * Write log to specific output.
10
10
  */
11
11
  writeLog(level, logMessage, queryRunner) {
12
- var _a;
13
12
  const messages = this.prepareLogMessages(logMessage);
14
13
  for (let message of messages) {
15
- switch ((_a = message.type) !== null && _a !== void 0 ? _a : level) {
14
+ switch (message.type ?? level) {
16
15
  case "log":
17
16
  case "schema-build":
18
17
  case "migration":
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/logger/AdvancedConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACrD;;OAEG;IACO,QAAQ,CACd,KAAe,EACf,UAAqC,EACrC,WAAyB;;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAEpD,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;YAC1B,QAAQ,MAAA,OAAO,CAAC,IAAI,mCAAI,KAAK,EAAE;gBAC3B,KAAK,KAAK,CAAC;gBACX,KAAK,cAAc,CAAC;gBACpB,KAAK,WAAW;oBACZ,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC1C,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO;oBACR,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;qBACzD;yBAAM;wBACH,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;qBAC7C;oBACD,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY;oBACb,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;qBACzD;yBAAM;wBACH,OAAO,CAAC,IAAI,CACR,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC9C,CAAA;qBACJ;oBACD,MAAK;gBAET,KAAK,OAAO,CAAC;gBACb,KAAK,aAAa;oBACd,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,aAAa,CAAC,QAAQ,CAClB,OAAO,CAAC,MAAM,EACd,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,CAAA;qBACJ;yBAAM;wBACH,OAAO,CAAC,KAAK,CACT,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC/C,CAAA;qBACJ;oBACD,MAAK;aACZ;SACJ;IACL,CAAC;CACJ","file":"AdvancedConsoleLogger.js","sourcesContent":["import { PlatformTools } from \"../platform/PlatformTools\"\nimport { AbstractLogger } from \"./AbstractLogger\"\nimport { LogLevel, LogMessage } from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger uses console to log events and use syntax highlighting.\n */\nexport class AdvancedConsoleLogger extends AbstractLogger {\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage)\n\n for (let message of messages) {\n switch (message.type ?? level) {\n case \"log\":\n case \"schema-build\":\n case \"migration\":\n PlatformTools.log(String(message.message))\n break\n\n case \"info\":\n case \"query\":\n if (message.prefix) {\n PlatformTools.logInfo(message.prefix, message.message)\n } else {\n PlatformTools.log(String(message.message))\n }\n break\n\n case \"warn\":\n case \"query-slow\":\n if (message.prefix) {\n PlatformTools.logWarn(message.prefix, message.message)\n } else {\n console.warn(\n PlatformTools.warn(String(message.message)),\n )\n }\n break\n\n case \"error\":\n case \"query-error\":\n if (message.prefix) {\n PlatformTools.logError(\n message.prefix,\n String(message.message),\n )\n } else {\n console.error(\n PlatformTools.error(String(message.message)),\n )\n }\n break\n }\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/logger/AdvancedConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACrD;;OAEG;IACO,QAAQ,CACd,KAAe,EACf,UAAqC,EACrC,WAAyB;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAEpD,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,OAAO,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC5B,KAAK,KAAK,CAAC;gBACX,KAAK,cAAc,CAAC;gBACpB,KAAK,WAAW;oBACZ,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC1C,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO;oBACR,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACjB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC1D,CAAC;yBAAM,CAAC;wBACJ,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC9C,CAAC;oBACD,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY;oBACb,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACjB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC1D,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,IAAI,CACR,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC9C,CAAA;oBACL,CAAC;oBACD,MAAK;gBAET,KAAK,OAAO,CAAC;gBACb,KAAK,aAAa;oBACd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACjB,aAAa,CAAC,QAAQ,CAClB,OAAO,CAAC,MAAM,EACd,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,CAAA;oBACL,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,KAAK,CACT,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC/C,CAAA;oBACL,CAAC;oBACD,MAAK;YACb,CAAC;QACL,CAAC;IACL,CAAC;CACJ","file":"AdvancedConsoleLogger.js","sourcesContent":["import { PlatformTools } from \"../platform/PlatformTools\"\nimport { AbstractLogger } from \"./AbstractLogger\"\nimport { LogLevel, LogMessage } from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger uses console to log events and use syntax highlighting.\n */\nexport class AdvancedConsoleLogger extends AbstractLogger {\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage)\n\n for (let message of messages) {\n switch (message.type ?? level) {\n case \"log\":\n case \"schema-build\":\n case \"migration\":\n PlatformTools.log(String(message.message))\n break\n\n case \"info\":\n case \"query\":\n if (message.prefix) {\n PlatformTools.logInfo(message.prefix, message.message)\n } else {\n PlatformTools.log(String(message.message))\n }\n break\n\n case \"warn\":\n case \"query-slow\":\n if (message.prefix) {\n PlatformTools.logWarn(message.prefix, message.message)\n } else {\n console.warn(\n PlatformTools.warn(String(message.message)),\n )\n }\n break\n\n case \"error\":\n case \"query-error\":\n if (message.prefix) {\n PlatformTools.logError(\n message.prefix,\n String(message.message),\n )\n } else {\n console.error(\n PlatformTools.error(String(message.message)),\n )\n }\n break\n }\n }\n }\n}\n"],"sourceRoot":".."}
@@ -51,12 +51,11 @@ export class DebugLogger extends AbstractLogger {
51
51
  * Write log to specific output.
52
52
  */
53
53
  writeLog(level, logMessage, queryRunner) {
54
- var _a;
55
54
  const messages = this.prepareLogMessages(logMessage, {
56
55
  appendParameterAsComment: false,
57
56
  });
58
57
  for (let message of messages) {
59
- const messageTypeOrLevel = (_a = message.type) !== null && _a !== void 0 ? _a : level;
58
+ const messageTypeOrLevel = message.type ?? level;
60
59
  if (messageTypeOrLevel in this.logger) {
61
60
  if (message.prefix) {
62
61
  this.logger[messageTypeOrLevel](message.prefix, message.message);
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/logger/DebugLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAA;AAIvC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,cAAc;IAA/C;;QACI;;WAEG;QACK,WAAM,GAA6B;YACvC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC;YACzB,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC;YAC3B,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC;YAC3B,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC;YACjC,aAAa,EAAE,KAAK,CAAC,qBAAqB,CAAC;YAC3C,YAAY,EAAE,KAAK,CAAC,oBAAoB,CAAC;YACzC,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC;YACvC,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAC;SACxC,CAAA;IAuEL,CAAC;IArEG;;OAEG;IACO,eAAe,CAAC,IAAgC;QACtD,QAAQ,IAAI,EAAE;YACV,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;YAEvC,KAAK,aAAa;gBACd,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAA;YAE7C,KAAK,YAAY;gBACb,OAAO,IAAI,CAAA;YAEf,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc;gBACf,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAA;YAE9C,KAAK,WAAW;gBACZ,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAA;YAE3C,KAAK,KAAK;gBACN,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;YAErC,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAA;YAEtC,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAA;YAEtC;gBACI,OAAO,KAAK,CAAA;SACnB;IACL,CAAC;IAED;;OAEG;IACO,QAAQ,CACd,KAAe,EACf,UAAqC,EACrC,WAAyB;;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;YACjD,wBAAwB,EAAE,KAAK;SAClC,CAAC,CAAA;QAEF,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;YAC1B,MAAM,kBAAkB,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,KAAK,CAAA;YAEhD,IAAI,kBAAkB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACnC,IAAI,OAAO,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAC3B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,CAClB,CAAA;iBACJ;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;iBACnD;gBAED,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAC3B,aAAa,EACb,OAAO,CAAC,UAAU,CACrB,CAAA;iBACJ;aACJ;SACJ;IACL,CAAC;CACJ","file":"DebugLogger.js","sourcesContent":["import { AbstractLogger } from \"./AbstractLogger\"\nimport { debug, Debugger } from \"debug\"\nimport { LogLevel, LogMessage, LogMessageType } from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\n\n/**\n * Performs logging of the events in TypeORM via debug library.\n */\nexport class DebugLogger extends AbstractLogger {\n /**\n * Object with all debug logger.\n */\n private logger: Record<string, Debugger> = {\n log: debug(\"typeorm:log\"),\n info: debug(\"typeorm:info\"),\n warn: debug(\"typeorm:warn\"),\n error: debug(\"typeorm:error\"),\n query: debug(\"typeorm:query:log\"),\n \"query-error\": debug(\"typeorm:query:error\"),\n \"query-slow\": debug(\"typeorm:query:slow\"),\n \"schema-build\": debug(\"typeorm:schema\"),\n migration: debug(\"typeorm:migration\"),\n }\n\n /**\n * Check is logging for level or message type is enabled.\n */\n protected isLogEnabledFor(type?: LogLevel | LogMessageType) {\n switch (type) {\n case \"query\":\n return this.logger[\"query\"].enabled\n\n case \"query-error\":\n return this.logger[\"query-error\"].enabled\n\n case \"query-slow\":\n return true\n\n case \"schema\":\n case \"schema-build\":\n return this.logger[\"schema-build\"].enabled\n\n case \"migration\":\n return this.logger[\"migration\"].enabled\n\n case \"log\":\n return this.logger[\"log\"].enabled\n\n case \"info\":\n return this.logger[\"info\"].enabled\n\n case \"warn\":\n return this.logger[\"warn\"].enabled\n\n default:\n return false\n }\n }\n\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage, {\n appendParameterAsComment: false,\n })\n\n for (let message of messages) {\n const messageTypeOrLevel = message.type ?? level\n\n if (messageTypeOrLevel in this.logger) {\n if (message.prefix) {\n this.logger[messageTypeOrLevel](\n message.prefix,\n message.message,\n )\n } else {\n this.logger[messageTypeOrLevel](message.message)\n }\n\n if (message.parameters && message.parameters.length) {\n this.logger[messageTypeOrLevel](\n \"parameters:\",\n message.parameters,\n )\n }\n }\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/logger/DebugLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAY,MAAM,OAAO,CAAA;AAIvC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,cAAc;IAA/C;;QACI;;WAEG;QACK,WAAM,GAA6B;YACvC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC;YACzB,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC;YAC3B,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC;YAC3B,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC;YAC7B,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC;YACjC,aAAa,EAAE,KAAK,CAAC,qBAAqB,CAAC;YAC3C,YAAY,EAAE,KAAK,CAAC,oBAAoB,CAAC;YACzC,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC;YACvC,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAC;SACxC,CAAA;IAuEL,CAAC;IArEG;;OAEG;IACO,eAAe,CAAC,IAAgC;QACtD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;YAEvC,KAAK,aAAa;gBACd,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAA;YAE7C,KAAK,YAAY;gBACb,OAAO,IAAI,CAAA;YAEf,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc;gBACf,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAA;YAE9C,KAAK,WAAW;gBACZ,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAA;YAE3C,KAAK,KAAK;gBACN,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;YAErC,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAA;YAEtC,KAAK,MAAM;gBACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAA;YAEtC;gBACI,OAAO,KAAK,CAAA;QACpB,CAAC;IACL,CAAC;IAED;;OAEG;IACO,QAAQ,CACd,KAAe,EACf,UAAqC,EACrC,WAAyB;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;YACjD,wBAAwB,EAAE,KAAK;SAClC,CAAC,CAAA;QAEF,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAA;YAEhD,IAAI,kBAAkB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAC3B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,CAClB,CAAA;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBACpD,CAAC;gBAED,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAC3B,aAAa,EACb,OAAO,CAAC,UAAU,CACrB,CAAA;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ","file":"DebugLogger.js","sourcesContent":["import { AbstractLogger } from \"./AbstractLogger\"\nimport { debug, Debugger } from \"debug\"\nimport { LogLevel, LogMessage, LogMessageType } from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\n\n/**\n * Performs logging of the events in TypeORM via debug library.\n */\nexport class DebugLogger extends AbstractLogger {\n /**\n * Object with all debug logger.\n */\n private logger: Record<string, Debugger> = {\n log: debug(\"typeorm:log\"),\n info: debug(\"typeorm:info\"),\n warn: debug(\"typeorm:warn\"),\n error: debug(\"typeorm:error\"),\n query: debug(\"typeorm:query:log\"),\n \"query-error\": debug(\"typeorm:query:error\"),\n \"query-slow\": debug(\"typeorm:query:slow\"),\n \"schema-build\": debug(\"typeorm:schema\"),\n migration: debug(\"typeorm:migration\"),\n }\n\n /**\n * Check is logging for level or message type is enabled.\n */\n protected isLogEnabledFor(type?: LogLevel | LogMessageType) {\n switch (type) {\n case \"query\":\n return this.logger[\"query\"].enabled\n\n case \"query-error\":\n return this.logger[\"query-error\"].enabled\n\n case \"query-slow\":\n return true\n\n case \"schema\":\n case \"schema-build\":\n return this.logger[\"schema-build\"].enabled\n\n case \"migration\":\n return this.logger[\"migration\"].enabled\n\n case \"log\":\n return this.logger[\"log\"].enabled\n\n case \"info\":\n return this.logger[\"info\"].enabled\n\n case \"warn\":\n return this.logger[\"warn\"].enabled\n\n default:\n return false\n }\n }\n\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage, {\n appendParameterAsComment: false,\n })\n\n for (let message of messages) {\n const messageTypeOrLevel = message.type ?? level\n\n if (messageTypeOrLevel in this.logger) {\n if (message.prefix) {\n this.logger[messageTypeOrLevel](\n message.prefix,\n message.message,\n )\n } else {\n this.logger[messageTypeOrLevel](message.message)\n }\n\n if (message.parameters && message.parameters.length) {\n this.logger[messageTypeOrLevel](\n \"parameters:\",\n message.parameters,\n )\n }\n }\n }\n }\n}\n"],"sourceRoot":".."}
@@ -20,14 +20,13 @@ export class FileLogger extends AbstractLogger {
20
20
  * Write log to specific output.
21
21
  */
22
22
  writeLog(level, logMessage, queryRunner) {
23
- var _a, _b;
24
23
  const messages = this.prepareLogMessages(logMessage, {
25
24
  highlightSql: false,
26
25
  addColonToPrefix: false,
27
26
  });
28
27
  const strings = [];
29
28
  for (let message of messages) {
30
- switch ((_a = message.type) !== null && _a !== void 0 ? _a : level) {
29
+ switch (message.type ?? level) {
31
30
  case "log":
32
31
  strings.push(`[LOG]: ${message.message}`);
33
32
  break;
@@ -48,7 +47,7 @@ export class FileLogger extends AbstractLogger {
48
47
  if (message.prefix === "execution time") {
49
48
  continue;
50
49
  }
51
- this.write(`[SLOW QUERY: ${(_b = message.additionalInfo) === null || _b === void 0 ? void 0 : _b.time} ms]: ${message.message}`);
50
+ this.write(`[SLOW QUERY: ${message.additionalInfo?.time} ms]: ${message.message}`);
52
51
  break;
53
52
  case "error":
54
53
  case "query-error":
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/logger/FileLogger.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC1C,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,YACI,OAAuB,EACf,iBAAqC;QAE7C,KAAK,CAAC,OAAO,CAAC,CAAA;QAFN,sBAAiB,GAAjB,iBAAiB,CAAoB;IAGjD,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,QAAQ,CACd,KAAe,EACf,UAAqC,EACrC,WAAyB;;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;YACjD,YAAY,EAAE,KAAK;YACnB,gBAAgB,EAAE,KAAK;SAC1B,CAAC,CAAA;QAEF,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;YAC1B,QAAQ,MAAA,OAAO,CAAC,IAAI,mCAAI,KAAK,EAAE;gBAC3B,KAAK,KAAK;oBACN,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;oBACzC,MAAK;gBAET,KAAK,cAAc,CAAC;gBACpB,KAAK,WAAW;oBACZ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;oBACrC,MAAK;gBAET,KAAK,MAAM;oBACP,OAAO,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;oBAC1C,MAAK;gBAET,KAAK,OAAO;oBACR,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;oBAC3C,MAAK;gBAET,KAAK,MAAM;oBACP,OAAO,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;oBAC1C,MAAK;gBAET,KAAK,YAAY;oBACb,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE;wBACrC,SAAQ;qBACX;oBAED,IAAI,CAAC,KAAK,CACN,gBAAgB,MAAA,OAAO,CAAC,cAAc,0CAAE,IAAI,SAAS,OAAO,CAAC,OAAO,EAAE,CACzE,CAAA;oBACD,MAAK;gBAET,KAAK,OAAO,CAAC;gBACb,KAAK,aAAa;oBACd,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE;wBACnC,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;qBACrD;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE;wBACvC,OAAO,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;qBACpD;yBAAM;wBACH,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;qBAC9C;oBACD,MAAK;aACZ;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,OAA0B;QACtC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,GAAG,GAAG,CAAA;QACvC,IAAI,OAAO,GAAG,aAAa,CAAA;QAC3B,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;YAC1D,OAAO,GAAG,aAAa,CAAC,aAAa,CACjC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CACjC,CAAA;SACJ;QACD,OAAO,GAAI,OAAoB,CAAC,GAAG,CAC/B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,CACtD,CAAA;QACD,aAAa,CAAC,cAAc,CACxB,QAAQ,GAAG,OAAO,EAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAChC,CAAA,CAAC,yCAAyC;IAC/C,CAAC;CACJ","file":"FileLogger.js","sourcesContent":["import { FileLoggerOptions, LoggerOptions } from \"./LoggerOptions\"\nimport { LogLevel, LogMessage } from \"./Logger\"\nimport appRootPath from \"app-root-path\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { AbstractLogger } from \"./AbstractLogger\"\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger logs everything into ormlogs.log file.\n */\nexport class FileLogger extends AbstractLogger {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n options?: LoggerOptions,\n private fileLoggerOptions?: FileLoggerOptions,\n ) {\n super(options)\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage, {\n highlightSql: false,\n addColonToPrefix: false,\n })\n\n const strings: string[] = []\n\n for (let message of messages) {\n switch (message.type ?? level) {\n case \"log\":\n strings.push(`[LOG]: ${message.message}`)\n break\n\n case \"schema-build\":\n case \"migration\":\n strings.push(String(message.message))\n break\n\n case \"info\":\n strings.push(`[INFO]: ${message.message}`)\n break\n\n case \"query\":\n strings.push(`[QUERY]: ${message.message}`)\n break\n\n case \"warn\":\n strings.push(`[WARN]: ${message.message}`)\n break\n\n case \"query-slow\":\n if (message.prefix === \"execution time\") {\n continue\n }\n\n this.write(\n `[SLOW QUERY: ${message.additionalInfo?.time} ms]: ${message.message}`,\n )\n break\n\n case \"error\":\n case \"query-error\":\n if (message.prefix === \"query failed\") {\n strings.push(`[FAILED QUERY]: ${message.message}`)\n } else if (message.type === \"query-error\") {\n strings.push(`[QUERY ERROR]: ${message.message}`)\n } else {\n strings.push(`[ERROR]: ${message.message}`)\n }\n break\n }\n }\n\n this.write(strings)\n }\n\n /**\n * Writes given strings into the log file.\n */\n protected write(strings: string | string[]) {\n strings = Array.isArray(strings) ? strings : [strings]\n const basePath = appRootPath.path + \"/\"\n let logPath = \"ormlogs.log\"\n if (this.fileLoggerOptions && this.fileLoggerOptions.logPath) {\n logPath = PlatformTools.pathNormalize(\n this.fileLoggerOptions.logPath,\n )\n }\n strings = (strings as string[]).map(\n (str) => \"[\" + new Date().toISOString() + \"]\" + str,\n )\n PlatformTools.appendFileSync(\n basePath + logPath,\n strings.join(\"\\r\\n\") + \"\\r\\n\",\n ) // todo: use async or implement promises?\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/logger/FileLogger.ts"],"names":[],"mappings":"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","file":"FileLogger.js","sourcesContent":["import { FileLoggerOptions, LoggerOptions } from \"./LoggerOptions\"\nimport { LogLevel, LogMessage } from \"./Logger\"\nimport appRootPath from \"app-root-path\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { AbstractLogger } from \"./AbstractLogger\"\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger logs everything into ormlogs.log file.\n */\nexport class FileLogger extends AbstractLogger {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n options?: LoggerOptions,\n private fileLoggerOptions?: FileLoggerOptions,\n ) {\n super(options)\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage, {\n highlightSql: false,\n addColonToPrefix: false,\n })\n\n const strings: string[] = []\n\n for (let message of messages) {\n switch (message.type ?? level) {\n case \"log\":\n strings.push(`[LOG]: ${message.message}`)\n break\n\n case \"schema-build\":\n case \"migration\":\n strings.push(String(message.message))\n break\n\n case \"info\":\n strings.push(`[INFO]: ${message.message}`)\n break\n\n case \"query\":\n strings.push(`[QUERY]: ${message.message}`)\n break\n\n case \"warn\":\n strings.push(`[WARN]: ${message.message}`)\n break\n\n case \"query-slow\":\n if (message.prefix === \"execution time\") {\n continue\n }\n\n this.write(\n `[SLOW QUERY: ${message.additionalInfo?.time} ms]: ${message.message}`,\n )\n break\n\n case \"error\":\n case \"query-error\":\n if (message.prefix === \"query failed\") {\n strings.push(`[FAILED QUERY]: ${message.message}`)\n } else if (message.type === \"query-error\") {\n strings.push(`[QUERY ERROR]: ${message.message}`)\n } else {\n strings.push(`[ERROR]: ${message.message}`)\n }\n break\n }\n }\n\n this.write(strings)\n }\n\n /**\n * Writes given strings into the log file.\n */\n protected write(strings: string | string[]) {\n strings = Array.isArray(strings) ? strings : [strings]\n const basePath = appRootPath.path + \"/\"\n let logPath = \"ormlogs.log\"\n if (this.fileLoggerOptions && this.fileLoggerOptions.logPath) {\n logPath = PlatformTools.pathNormalize(\n this.fileLoggerOptions.logPath,\n )\n }\n strings = (strings as string[]).map(\n (str) => \"[\" + new Date().toISOString() + \"]\" + str,\n )\n PlatformTools.appendFileSync(\n basePath + logPath,\n strings.join(\"\\r\\n\") + \"\\r\\n\",\n ) // todo: use async or implement promises?\n }\n}\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/logger/LoggerFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD;;GAEG;AACH,MAAM,OAAO,aAAa;IACtB;;OAEG;IACH,MAAM,CACF,MAKY,EACZ,OAAuB;QAEvB,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAgB,CAAA;QAEzD,IAAI,MAAM,EAAE;YACR,QAAQ,MAAM,EAAE;gBACZ,KAAK,gBAAgB;oBACjB,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAA;gBAE3C,KAAK,MAAM;oBACP,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;gBAElC,KAAK,kBAAkB;oBACnB,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;gBAE7C,KAAK,OAAO;oBACR,OAAO,IAAI,WAAW,EAAE,CAAA;aAC/B;SACJ;QAED,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ","file":"LoggerFactory.js","sourcesContent":["import { Logger } from \"./Logger\"\nimport { LoggerOptions } from \"./LoggerOptions\"\nimport { SimpleConsoleLogger } from \"./SimpleConsoleLogger\"\nimport { AdvancedConsoleLogger } from \"./AdvancedConsoleLogger\"\nimport { FileLogger } from \"./FileLogger\"\nimport { DebugLogger } from \"./DebugLogger\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\n\n/**\n * Helps to create logger instances.\n */\nexport class LoggerFactory {\n /**\n * Creates a new logger depend on a given connection's driver.\n */\n create(\n logger?:\n | \"advanced-console\"\n | \"simple-console\"\n | \"file\"\n | \"debug\"\n | Logger,\n options?: LoggerOptions,\n ): Logger {\n if (ObjectUtils.isObject(logger)) return logger as Logger\n\n if (logger) {\n switch (logger) {\n case \"simple-console\":\n return new SimpleConsoleLogger(options)\n\n case \"file\":\n return new FileLogger(options)\n\n case \"advanced-console\":\n return new AdvancedConsoleLogger(options)\n\n case \"debug\":\n return new DebugLogger()\n }\n }\n\n return new AdvancedConsoleLogger(options)\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/logger/LoggerFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD;;GAEG;AACH,MAAM,OAAO,aAAa;IACtB;;OAEG;IACH,MAAM,CACF,MAKY,EACZ,OAAuB;QAEvB,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAgB,CAAA;QAEzD,IAAI,MAAM,EAAE,CAAC;YACT,QAAQ,MAAM,EAAE,CAAC;gBACb,KAAK,gBAAgB;oBACjB,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAA;gBAE3C,KAAK,MAAM;oBACP,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;gBAElC,KAAK,kBAAkB;oBACnB,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;gBAE7C,KAAK,OAAO;oBACR,OAAO,IAAI,WAAW,EAAE,CAAA;YAChC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ","file":"LoggerFactory.js","sourcesContent":["import { Logger } from \"./Logger\"\nimport { LoggerOptions } from \"./LoggerOptions\"\nimport { SimpleConsoleLogger } from \"./SimpleConsoleLogger\"\nimport { AdvancedConsoleLogger } from \"./AdvancedConsoleLogger\"\nimport { FileLogger } from \"./FileLogger\"\nimport { DebugLogger } from \"./DebugLogger\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\n\n/**\n * Helps to create logger instances.\n */\nexport class LoggerFactory {\n /**\n * Creates a new logger depend on a given connection's driver.\n */\n create(\n logger?:\n | \"advanced-console\"\n | \"simple-console\"\n | \"file\"\n | \"debug\"\n | Logger,\n options?: LoggerOptions,\n ): Logger {\n if (ObjectUtils.isObject(logger)) return logger as Logger\n\n if (logger) {\n switch (logger) {\n case \"simple-console\":\n return new SimpleConsoleLogger(options)\n\n case \"file\":\n return new FileLogger(options)\n\n case \"advanced-console\":\n return new AdvancedConsoleLogger(options)\n\n case \"debug\":\n return new DebugLogger()\n }\n }\n\n return new AdvancedConsoleLogger(options)\n }\n}\n"],"sourceRoot":".."}
@@ -8,12 +8,11 @@ export class SimpleConsoleLogger extends AbstractLogger {
8
8
  * Write log to specific output.
9
9
  */
10
10
  writeLog(level, logMessage, queryRunner) {
11
- var _a;
12
11
  const messages = this.prepareLogMessages(logMessage, {
13
12
  highlightSql: false,
14
13
  });
15
14
  for (let message of messages) {
16
- switch ((_a = message.type) !== null && _a !== void 0 ? _a : level) {
15
+ switch (message.type ?? level) {
17
16
  case "log":
18
17
  case "schema-build":
19
18
  case "migration":
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/logger/SimpleConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACnD;;OAEG;IACO,QAAQ,CACd,KAAe,EACf,UAAqC,EACrC,WAAyB;;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;YACjD,YAAY,EAAE,KAAK;SACtB,CAAC,CAAA;QAEF,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;YAC1B,QAAQ,MAAA,OAAO,CAAC,IAAI,mCAAI,KAAK,EAAE;gBAC3B,KAAK,KAAK,CAAC;gBACX,KAAK,cAAc,CAAC;gBACpB,KAAK,WAAW;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC5B,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO;oBACR,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;qBAChD;yBAAM;wBACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;qBAChC;oBACD,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY;oBACb,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;qBAChD;yBAAM;wBACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;qBAChC;oBACD,MAAK;gBAET,KAAK,OAAO,CAAC;gBACb,KAAK,aAAa;oBACd,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;qBACjD;yBAAM;wBACH,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;qBACjC;oBACD,MAAK;aACZ;SACJ;IACL,CAAC;CACJ","file":"SimpleConsoleLogger.js","sourcesContent":["import { AbstractLogger } from \"./AbstractLogger\"\nimport { LogLevel, LogMessage } from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger uses console to log events and does not use syntax highlighting.\n */\nexport class SimpleConsoleLogger extends AbstractLogger {\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage, {\n highlightSql: false,\n })\n\n for (let message of messages) {\n switch (message.type ?? level) {\n case \"log\":\n case \"schema-build\":\n case \"migration\":\n console.log(message.message)\n break\n\n case \"info\":\n case \"query\":\n if (message.prefix) {\n console.info(message.prefix, message.message)\n } else {\n console.info(message.message)\n }\n break\n\n case \"warn\":\n case \"query-slow\":\n if (message.prefix) {\n console.warn(message.prefix, message.message)\n } else {\n console.warn(message.message)\n }\n break\n\n case \"error\":\n case \"query-error\":\n if (message.prefix) {\n console.error(message.prefix, message.message)\n } else {\n console.error(message.message)\n }\n break\n }\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/logger/SimpleConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACnD;;OAEG;IACO,QAAQ,CACd,KAAe,EACf,UAAqC,EACrC,WAAyB;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;YACjD,YAAY,EAAE,KAAK;SACtB,CAAC,CAAA;QAEF,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,OAAO,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC5B,KAAK,KAAK,CAAC;gBACX,KAAK,cAAc,CAAC;gBACpB,KAAK,WAAW;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC5B,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO;oBACR,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;oBACjD,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBACjC,CAAC;oBACD,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY;oBACb,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;oBACjD,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBACjC,CAAC;oBACD,MAAK;gBAET,KAAK,OAAO,CAAC;gBACb,KAAK,aAAa;oBACd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACjB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;oBAClD,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBAClC,CAAC;oBACD,MAAK;YACb,CAAC;QACL,CAAC;IACL,CAAC;CACJ","file":"SimpleConsoleLogger.js","sourcesContent":["import { AbstractLogger } from \"./AbstractLogger\"\nimport { LogLevel, LogMessage } from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger uses console to log events and does not use syntax highlighting.\n */\nexport class SimpleConsoleLogger extends AbstractLogger {\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage, {\n highlightSql: false,\n })\n\n for (let message of messages) {\n switch (message.type ?? level) {\n case \"log\":\n case \"schema-build\":\n case \"migration\":\n console.log(message.message)\n break\n\n case \"info\":\n case \"query\":\n if (message.prefix) {\n console.info(message.prefix, message.message)\n } else {\n console.info(message.message)\n }\n break\n\n case \"warn\":\n case \"query-slow\":\n if (message.prefix) {\n console.warn(message.prefix, message.message)\n } else {\n console.warn(message.message)\n }\n break\n\n case \"error\":\n case \"query-error\":\n if (message.prefix) {\n console.error(message.prefix, message.message)\n } else {\n console.error(message.message)\n }\n break\n }\n }\n }\n}\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/metadata/CheckMetadata.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,OAAO,aAAa;IAgCtB,wEAAwE;IACxE,cAAc;IACd,wEAAwE;IAExE,YAAY,OAGX;QACG,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAE5C,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAA;YACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;SACrC;IACL,CAAC;IAED,wEAAwE;IACxE,uBAAuB;IACvB,wEAAwE;IAExE;;;OAGG;IACH,KAAK,CAAC,cAAuC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;YACtB,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAC9B,IAAI,CAAC,cAAc,CAAC,SAAS,EAC7B,IAAI,CAAC,UAAU,CAClB,CAAA;QACP,OAAO,IAAI,CAAA;IACf,CAAC;CACJ","file":"CheckMetadata.js","sourcesContent":["import { EntityMetadata } from \"./EntityMetadata\"\nimport { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport { CheckMetadataArgs } from \"../metadata-args/CheckMetadataArgs\"\n\n/**\n * Check metadata contains all information about table's check constraints.\n */\nexport class CheckMetadata {\n // ---------------------------------------------------------------------\n // Public Properties\n // ---------------------------------------------------------------------\n\n /**\n * Entity metadata of the class to which this check constraint is applied.\n */\n entityMetadata: EntityMetadata\n\n /**\n * Target class to which metadata is applied.\n */\n target?: Function | string\n\n /**\n * Check expression.\n */\n expression: string\n\n /**\n * User specified check constraint name.\n */\n givenName?: string\n\n /**\n * Final check constraint name.\n * If check constraint name was given by a user then it stores normalized (by naming strategy) givenName.\n * If check constraint name was not given then its generated.\n */\n name: string\n\n // ---------------------------------------------------------------------\n // Constructor\n // ---------------------------------------------------------------------\n\n constructor(options: {\n entityMetadata: EntityMetadata\n args?: CheckMetadataArgs\n }) {\n this.entityMetadata = options.entityMetadata\n\n if (options.args) {\n this.target = options.args.target\n this.expression = options.args.expression\n this.givenName = options.args.name\n }\n }\n\n // ---------------------------------------------------------------------\n // Public Build Methods\n // ---------------------------------------------------------------------\n\n /**\n * Builds some depend check constraint properties.\n * Must be called after all entity metadata's properties map, columns and relations are built.\n */\n build(namingStrategy: NamingStrategyInterface): this {\n this.name = this.givenName\n ? this.givenName\n : namingStrategy.checkConstraintName(\n this.entityMetadata.tableName,\n this.expression,\n )\n return this\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/metadata/CheckMetadata.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,OAAO,aAAa;IAgCtB,wEAAwE;IACxE,cAAc;IACd,wEAAwE;IAExE,YAAY,OAGX;QACG,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAE5C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAA;YACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA;QACtC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,uBAAuB;IACvB,wEAAwE;IAExE;;;OAGG;IACH,KAAK,CAAC,cAAuC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;YACtB,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAC9B,IAAI,CAAC,cAAc,CAAC,SAAS,EAC7B,IAAI,CAAC,UAAU,CAClB,CAAA;QACP,OAAO,IAAI,CAAA;IACf,CAAC;CACJ","file":"CheckMetadata.js","sourcesContent":["import { EntityMetadata } from \"./EntityMetadata\"\nimport { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport { CheckMetadataArgs } from \"../metadata-args/CheckMetadataArgs\"\n\n/**\n * Check metadata contains all information about table's check constraints.\n */\nexport class CheckMetadata {\n // ---------------------------------------------------------------------\n // Public Properties\n // ---------------------------------------------------------------------\n\n /**\n * Entity metadata of the class to which this check constraint is applied.\n */\n entityMetadata: EntityMetadata\n\n /**\n * Target class to which metadata is applied.\n */\n target?: Function | string\n\n /**\n * Check expression.\n */\n expression: string\n\n /**\n * User specified check constraint name.\n */\n givenName?: string\n\n /**\n * Final check constraint name.\n * If check constraint name was given by a user then it stores normalized (by naming strategy) givenName.\n * If check constraint name was not given then its generated.\n */\n name: string\n\n // ---------------------------------------------------------------------\n // Constructor\n // ---------------------------------------------------------------------\n\n constructor(options: {\n entityMetadata: EntityMetadata\n args?: CheckMetadataArgs\n }) {\n this.entityMetadata = options.entityMetadata\n\n if (options.args) {\n this.target = options.args.target\n this.expression = options.args.expression\n this.givenName = options.args.name\n }\n }\n\n // ---------------------------------------------------------------------\n // Public Build Methods\n // ---------------------------------------------------------------------\n\n /**\n * Builds some depend check constraint properties.\n * Must be called after all entity metadata's properties map, columns and relations are built.\n */\n build(namingStrategy: NamingStrategyInterface): this {\n this.name = this.givenName\n ? this.givenName\n : namingStrategy.checkConstraintName(\n this.entityMetadata.tableName,\n this.expression,\n )\n return this\n }\n}\n"],"sourceRoot":".."}
@@ -334,7 +334,6 @@ export class ColumnMetadata {
334
334
  * { id: 1 } or { title: "hello" }, { counters: { code: 1 } }, { data: { information: { counters: { code: 1 } } } }
335
335
  */
336
336
  getEntityValueMap(entity, options) {
337
- var _a;
338
337
  const returnNulls = false; // options && options.skipNulls === false ? false : true; // todo: remove if current will not bring problems, uncomment if it will.
339
338
  // extract column value from embeds of entity if column is in embedded
340
339
  if (this.embeddedMetadata) {
@@ -384,7 +383,7 @@ export class ColumnMetadata {
384
383
  * refer: https://github.com/typeorm/typeorm/pull/8676#issuecomment-1049906331
385
384
  */
386
385
  if (this.relationMetadata &&
387
- !((_a = Object.getOwnPropertyDescriptor(entity, this.relationMetadata.propertyName)) === null || _a === void 0 ? void 0 : _a.get) &&
386
+ !Object.getOwnPropertyDescriptor(entity, this.relationMetadata.propertyName)?.get &&
388
387
  entity[this.relationMetadata.propertyName] &&
389
388
  ObjectUtils.isObject(entity[this.relationMetadata.propertyName])) {
390
389
  const map = this.relationMetadata.joinColumns.reduce((map, joinColumn) => {
@@ -462,10 +461,6 @@ export class ColumnMetadata {
462
461
  value = embeddedObject[this.propertyName];
463
462
  }
464
463
  }
465
- else if (embeddedObject === null) {
466
- // when embedded object is null, set all its properties to null
467
- value = null;
468
- }
469
464
  }
470
465
  else {
471
466
  // no embeds - no problems. Simply return column name by property name of the entity