typeorm 0.2.31 → 0.2.32

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 (1028) hide show
  1. package/README.md +45 -45
  2. package/browser/cache/QueryResultCache.js +1 -1
  3. package/browser/cache/QueryResultCacheOptions.js +1 -1
  4. package/browser/common/DeepPartial.js +1 -1
  5. package/browser/common/EntityFieldsNames.js +1 -1
  6. package/browser/common/EntityTarget.js +1 -1
  7. package/browser/common/ObjectLiteral.js +1 -1
  8. package/browser/common/ObjectType.js +1 -1
  9. package/browser/connection/BaseConnectionOptions.js +1 -1
  10. package/browser/connection/Connection.d.ts +2 -2
  11. package/browser/connection/Connection.js +4 -2
  12. package/browser/connection/Connection.js.map +1 -1
  13. package/browser/connection/ConnectionMetadataBuilder.js +5 -5
  14. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  15. package/browser/connection/ConnectionOptions.js +1 -1
  16. package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
  17. package/browser/connection/ConnectionOptionsReader.js +3 -3
  18. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
  19. package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  20. package/browser/decorator/options/ColumnCommonOptions.js +1 -1
  21. package/browser/decorator/options/ColumnEmbeddedOptions.js +1 -1
  22. package/browser/decorator/options/ColumnEnumOptions.js +1 -1
  23. package/browser/decorator/options/ColumnHstoreOptions.js +1 -1
  24. package/browser/decorator/options/ColumnNumericOptions.js +1 -1
  25. package/browser/decorator/options/ColumnOptions.js +1 -1
  26. package/browser/decorator/options/ColumnWithLengthOptions.js +1 -1
  27. package/browser/decorator/options/ColumnWithWidthOptions.js +1 -1
  28. package/browser/decorator/options/EntityOptions.js +1 -1
  29. package/browser/decorator/options/IndexOptions.js +1 -1
  30. package/browser/decorator/options/JoinColumnOptions.js +1 -1
  31. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +1 -1
  32. package/browser/decorator/options/JoinTableOptions.js +1 -1
  33. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -1
  34. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -1
  35. package/browser/decorator/options/RelationOptions.js +1 -1
  36. package/browser/decorator/options/SpatialColumnOptions.js +1 -1
  37. package/browser/decorator/options/TransactionOptions.js +1 -1
  38. package/browser/decorator/options/ValueTransformer.js +1 -1
  39. package/browser/decorator/options/ViewColumnOptions.js +1 -1
  40. package/browser/decorator/options/ViewEntityOptions.js +1 -1
  41. package/browser/decorator/transaction/Transaction.js +4 -4
  42. package/browser/decorator/transaction/Transaction.js.map +1 -1
  43. package/browser/driver/Driver.d.ts +1 -1
  44. package/browser/driver/Driver.js +1 -1
  45. package/browser/driver/Driver.js.map +1 -1
  46. package/browser/driver/DriverFactory.js.map +1 -1
  47. package/browser/driver/DriverUtils.d.ts +10 -0
  48. package/browser/driver/DriverUtils.js +79 -0
  49. package/browser/driver/DriverUtils.js.map +1 -1
  50. package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js +1 -1
  51. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
  52. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js +1 -1
  53. package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  54. package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +4 -3
  55. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +15 -5
  56. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  57. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
  58. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +15 -2
  59. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  60. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
  61. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +1 -1
  62. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  63. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -0
  64. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +24 -0
  65. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  66. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  67. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +1 -1
  68. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -1
  69. package/browser/driver/cockroachdb/CockroachConnectionOptions.js +1 -1
  70. package/browser/driver/cockroachdb/CockroachDriver.d.ts +1 -1
  71. package/browser/driver/cockroachdb/CockroachDriver.js +4 -7
  72. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  73. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  74. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  75. package/browser/driver/cordova/CordovaConnectionOptions.js +1 -1
  76. package/browser/driver/expo/ExpoConnectionOptions.js +1 -1
  77. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  78. package/browser/driver/mongodb/MongoConnectionOptions.js +1 -1
  79. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  80. package/browser/driver/mongodb/MongoDriver.d.ts +1 -1
  81. package/browser/driver/mongodb/MongoDriver.js +12 -5
  82. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  83. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  84. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -1
  85. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  86. package/browser/driver/mysql/MysqlConnectionOptions.js +1 -1
  87. package/browser/driver/mysql/MysqlDriver.d.ts +2 -2
  88. package/browser/driver/mysql/MysqlDriver.js +12 -11
  89. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  90. package/browser/driver/mysql/MysqlQueryRunner.js +4 -4
  91. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  92. package/browser/driver/nativescript/NativescriptConnectionOptions.js +1 -1
  93. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +1 -1
  94. package/browser/driver/oracle/OracleConnectionOptions.js +1 -1
  95. package/browser/driver/oracle/OracleDriver.d.ts +1 -1
  96. package/browser/driver/oracle/OracleDriver.js +25 -3
  97. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  98. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  99. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  100. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
  101. package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
  102. package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
  103. package/browser/driver/postgres/PostgresDriver.js +54 -23
  104. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  105. package/browser/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  106. package/browser/driver/postgres/PostgresQueryRunner.js +185 -155
  107. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  108. package/browser/driver/react-native/ReactNativeConnectionOptions.js +1 -1
  109. package/browser/driver/sap/SapConnectionCredentialsOptions.js +1 -1
  110. package/browser/driver/sap/SapConnectionOptions.js +1 -1
  111. package/browser/driver/sap/SapDriver.d.ts +1 -1
  112. package/browser/driver/sap/SapDriver.js.map +1 -1
  113. package/browser/driver/sap/SapQueryRunner.js +2 -2
  114. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  115. package/browser/driver/sqlite/SqliteConnectionOptions.js +1 -1
  116. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
  117. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -1
  118. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  119. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +0 -1
  120. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  121. package/browser/driver/sqljs/SqljsConnectionOptions.js +1 -1
  122. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  123. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -1
  124. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  125. package/browser/driver/sqlserver/SqlServerConnectionOptions.js +1 -1
  126. package/browser/driver/sqlserver/SqlServerDriver.d.ts +2 -2
  127. package/browser/driver/sqlserver/SqlServerDriver.js +33 -8
  128. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  129. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
  130. package/browser/driver/sqlserver/SqlServerQueryRunner.js +26 -19
  131. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  132. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  133. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
  134. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  135. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  136. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
  137. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  138. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  139. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
  140. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  141. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  142. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
  143. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  144. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  145. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
  146. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  147. package/browser/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  148. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
  149. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  150. package/browser/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  151. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
  152. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  153. package/browser/driver/types/ColumnTypes.js +1 -1
  154. package/browser/driver/types/DataTypeDefaults.js +1 -1
  155. package/browser/driver/types/DatabaseType.js +1 -1
  156. package/browser/driver/types/IsolationLevel.js +1 -1
  157. package/browser/driver/types/MappedColumnTypes.js +1 -1
  158. package/browser/driver/types/ReplicationMode.js +1 -1
  159. package/browser/entity-manager/EntityManager.d.ts +16 -2
  160. package/browser/entity-manager/EntityManager.js.map +1 -1
  161. package/browser/entity-manager/MongoEntityManager.d.ts +1 -4
  162. package/browser/entity-manager/MongoEntityManager.js +39 -45
  163. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  164. package/browser/entity-schema/EntitySchemaCheckOptions.js +1 -1
  165. package/browser/entity-schema/EntitySchemaColumnOptions.js +1 -1
  166. package/browser/entity-schema/EntitySchemaExclusionOptions.js +1 -1
  167. package/browser/entity-schema/EntitySchemaIndexOptions.js +1 -1
  168. package/browser/entity-schema/EntitySchemaRelationOptions.js +1 -1
  169. package/browser/entity-schema/EntitySchemaUniqueOptions.js +1 -1
  170. package/browser/find-options/FindConditions.js +1 -1
  171. package/browser/find-options/FindManyOptions.js +1 -1
  172. package/browser/find-options/FindOneOptions.d.ts +4 -1
  173. package/browser/find-options/FindOneOptions.js +1 -1
  174. package/browser/find-options/FindOneOptions.js.map +1 -1
  175. package/browser/find-options/FindOperator.d.ts +7 -7
  176. package/browser/find-options/FindOperator.js +7 -7
  177. package/browser/find-options/FindOperatorType.js +1 -1
  178. package/browser/find-options/FindOptionsUtils.js +10 -1
  179. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  180. package/browser/find-options/JoinOptions.d.ts +16 -4
  181. package/browser/find-options/JoinOptions.js +1 -1
  182. package/browser/find-options/JoinOptions.js.map +1 -1
  183. package/browser/find-options/OrderByCondition.js +1 -1
  184. package/browser/index.js +23 -0
  185. package/browser/index.js.map +1 -1
  186. package/browser/logger/AdvancedConsoleLogger.d.ts +2 -1
  187. package/browser/logger/FileLogger.d.ts +2 -2
  188. package/browser/logger/Logger.js +1 -1
  189. package/browser/logger/LoggerOptions.js +1 -1
  190. package/browser/logger/SimpleConsoleLogger.d.ts +2 -1
  191. package/browser/metadata/ColumnMetadata.d.ts +1 -1
  192. package/browser/metadata/ColumnMetadata.js +7 -12
  193. package/browser/metadata/ColumnMetadata.js.map +1 -1
  194. package/browser/metadata/EmbeddedMetadata.js +2 -2
  195. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  196. package/browser/metadata/EntityMetadata.js +2 -2
  197. package/browser/metadata/EntityMetadata.js.map +1 -1
  198. package/browser/metadata/RelationMetadata.js +5 -5
  199. package/browser/metadata/RelationMetadata.js.map +1 -1
  200. package/browser/metadata/types/ClosureTreeOptions.js +1 -1
  201. package/browser/metadata/types/DeferrableType.js +1 -1
  202. package/browser/metadata/types/OnDeleteType.js +1 -1
  203. package/browser/metadata/types/OnUpdateType.js +1 -1
  204. package/browser/metadata/types/PropertyTypeInFunction.js +1 -1
  205. package/browser/metadata/types/RelationTypeInFunction.js +1 -1
  206. package/browser/metadata/types/RelationTypes.js +1 -1
  207. package/browser/metadata/types/TableTypes.js +1 -1
  208. package/browser/metadata/types/TreeTypes.js +1 -1
  209. package/browser/metadata-args/CheckMetadataArgs.js +1 -1
  210. package/browser/metadata-args/ColumnMetadataArgs.js +1 -1
  211. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +1 -1
  212. package/browser/metadata-args/EmbeddedMetadataArgs.js +1 -1
  213. package/browser/metadata-args/EntityListenerMetadataArgs.js +1 -1
  214. package/browser/metadata-args/EntityRepositoryMetadataArgs.js +1 -1
  215. package/browser/metadata-args/EntitySubscriberMetadataArgs.js +1 -1
  216. package/browser/metadata-args/ExclusionMetadataArgs.js +1 -1
  217. package/browser/metadata-args/GeneratedMetadataArgs.js +1 -1
  218. package/browser/metadata-args/IndexMetadataArgs.js +1 -1
  219. package/browser/metadata-args/InheritanceMetadataArgs.js +1 -1
  220. package/browser/metadata-args/JoinColumnMetadataArgs.js +1 -1
  221. package/browser/metadata-args/JoinTableMetadataArgs.js +1 -1
  222. package/browser/metadata-args/NamingStrategyMetadataArgs.js +1 -1
  223. package/browser/metadata-args/RelationCountMetadataArgs.js +1 -1
  224. package/browser/metadata-args/RelationIdMetadataArgs.js +1 -1
  225. package/browser/metadata-args/RelationMetadataArgs.js +1 -1
  226. package/browser/metadata-args/TableMetadataArgs.js +1 -1
  227. package/browser/metadata-args/TransactionEntityMetadataArgs.js +1 -1
  228. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +1 -1
  229. package/browser/metadata-args/TreeMetadataArgs.js +1 -1
  230. package/browser/metadata-args/UniqueMetadataArgs.js +1 -1
  231. package/browser/metadata-args/types/ColumnMode.js +1 -1
  232. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +2 -0
  233. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  234. package/browser/metadata-builder/EntityMetadataBuilder.js +7 -7
  235. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  236. package/browser/metadata-builder/EntityMetadataValidator.js +2 -0
  237. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  238. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +6 -2
  239. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  240. package/browser/metadata-builder/RelationJoinColumnBuilder.js +3 -1
  241. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  242. package/browser/migration/MigrationExecutor.js +5 -5
  243. package/browser/migration/MigrationInterface.js +1 -1
  244. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  245. package/browser/naming-strategy/DefaultNamingStrategy.js +9 -8
  246. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  247. package/browser/naming-strategy/NamingStrategyInterface.d.ts +6 -1
  248. package/browser/naming-strategy/NamingStrategyInterface.js +1 -1
  249. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  250. package/browser/persistence/Subject.d.ts +4 -4
  251. package/browser/persistence/Subject.js +6 -6
  252. package/browser/persistence/Subject.js.map +1 -1
  253. package/browser/persistence/SubjectChangeMap.js +1 -1
  254. package/browser/persistence/SubjectChangedColumnsComputer.js +3 -1
  255. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  256. package/browser/persistence/SubjectDatabaseEntityLoader.js +2 -2
  257. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  258. package/browser/persistence/SubjectExecutor.js +21 -21
  259. package/browser/persistence/SubjectTopoligicalSorter.js +6 -6
  260. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  261. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  262. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -0
  263. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  264. package/browser/persistence/tree/ClosureSubjectExecutor.js +2 -2
  265. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  266. package/browser/query-builder/Alias.d.ts +4 -3
  267. package/browser/query-builder/Alias.js +3 -3
  268. package/browser/query-builder/DeleteQueryBuilder.js +5 -1
  269. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  270. package/browser/query-builder/InsertQueryBuilder.js +1 -1
  271. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  272. package/browser/query-builder/JoinAttribute.d.ts +10 -10
  273. package/browser/query-builder/JoinAttribute.js +10 -10
  274. package/browser/query-builder/JoinOptions.js +1 -1
  275. package/browser/query-builder/QueryBuilder.d.ts +1 -1
  276. package/browser/query-builder/QueryBuilder.js +25 -25
  277. package/browser/query-builder/QueryBuilder.js.map +1 -1
  278. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  279. package/browser/query-builder/QueryExpressionMap.d.ts +6 -2
  280. package/browser/query-builder/QueryExpressionMap.js +3 -2
  281. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  282. package/browser/query-builder/QueryPartialEntity.js +1 -1
  283. package/browser/query-builder/RelationLoader.js +3 -3
  284. package/browser/query-builder/RelationLoader.js.map +1 -1
  285. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  286. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  287. package/browser/query-builder/RelationRemover.js +11 -11
  288. package/browser/query-builder/RelationRemover.js.map +1 -1
  289. package/browser/query-builder/SelectQuery.js +1 -1
  290. package/browser/query-builder/SelectQueryBuilder.d.ts +2 -6
  291. package/browser/query-builder/SelectQueryBuilder.js +35 -15
  292. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  293. package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
  294. package/browser/query-builder/UpdateQueryBuilder.js +4 -0
  295. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  296. package/browser/query-builder/WhereExpression.js +1 -1
  297. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  298. package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
  299. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  300. package/browser/query-builder/relation-count/RelationCountLoadResult.js +1 -1
  301. package/browser/query-builder/relation-count/RelationCountLoader.js +2 -1
  302. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  303. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  304. package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
  305. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  306. package/browser/query-builder/relation-id/RelationIdLoadResult.js +1 -1
  307. package/browser/query-builder/relation-id/RelationIdLoader.js +62 -12
  308. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  309. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  310. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  311. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -4
  312. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  313. package/browser/query-runner/BaseQueryRunner.js +3 -3
  314. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  315. package/browser/query-runner/QueryRunner.js +1 -1
  316. package/browser/repository/AbstractRepository.d.ts +2 -2
  317. package/browser/repository/AbstractRepository.js +2 -2
  318. package/browser/repository/BaseEntity.d.ts +1 -1
  319. package/browser/repository/BaseEntity.js +3 -3
  320. package/browser/repository/BaseEntity.js.map +1 -1
  321. package/browser/repository/EntityId.js +1 -1
  322. package/browser/repository/RemoveOptions.js +1 -1
  323. package/browser/repository/Repository.d.ts +1 -1
  324. package/browser/repository/Repository.js +3 -3
  325. package/browser/repository/Repository.js.map +1 -1
  326. package/browser/repository/SaveOptions.js +1 -1
  327. package/browser/repository/TreeRepository.js +2 -2
  328. package/browser/repository/TreeRepository.js.map +1 -1
  329. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  330. package/browser/schema-builder/RdbmsSchemaBuilder.js +78 -78
  331. package/browser/schema-builder/SchemaBuilder.js +1 -1
  332. package/browser/schema-builder/options/TableCheckOptions.js +1 -1
  333. package/browser/schema-builder/options/TableColumnOptions.js +1 -1
  334. package/browser/schema-builder/options/TableExclusionOptions.js +1 -1
  335. package/browser/schema-builder/options/TableForeignKeyOptions.js +1 -1
  336. package/browser/schema-builder/options/TableIndexOptions.js +1 -1
  337. package/browser/schema-builder/options/TableOptions.js +1 -1
  338. package/browser/schema-builder/options/TableUniqueOptions.js +1 -1
  339. package/browser/schema-builder/options/ViewOptions.js +1 -1
  340. package/browser/schema-builder/table/Table.d.ts +1 -1
  341. package/browser/schema-builder/table/Table.js +1 -1
  342. package/browser/schema-builder/table/TableCheck.js +2 -2
  343. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  344. package/browser/schema-builder/table/TableForeignKey.js +3 -3
  345. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  346. package/browser/schema-builder/table/TableIndex.js +2 -2
  347. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  348. package/browser/schema-builder/table/TableUnique.js +2 -2
  349. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  350. package/browser/subscriber/EntitySubscriberInterface.js +1 -1
  351. package/browser/subscriber/event/InsertEvent.js +1 -1
  352. package/browser/subscriber/event/LoadEvent.js +1 -1
  353. package/browser/subscriber/event/RemoveEvent.js +1 -1
  354. package/browser/subscriber/event/TransactionCommitEvent.js +1 -1
  355. package/browser/subscriber/event/TransactionRollbackEvent.js +1 -1
  356. package/browser/subscriber/event/TransactionStartEvent.js +1 -1
  357. package/browser/subscriber/event/UpdateEvent.js +1 -1
  358. package/browser/util/DateUtils.js.map +1 -1
  359. package/browser/util/OrmUtils.d.ts +1 -1
  360. package/browser/util/OrmUtils.js +2 -2
  361. package/browser/util/OrmUtils.js.map +1 -1
  362. package/browser/util/StringUtils.js.map +1 -1
  363. package/cache/DbQueryResultCache.js +1 -0
  364. package/cache/DbQueryResultCache.js.map +1 -1
  365. package/cache/QueryResultCacheFactory.js +1 -0
  366. package/cache/QueryResultCacheFactory.js.map +1 -1
  367. package/cache/RedisQueryResultCache.js +1 -0
  368. package/cache/RedisQueryResultCache.js.map +1 -1
  369. package/commands/CacheClearCommand.js +1 -0
  370. package/commands/CacheClearCommand.js.map +1 -1
  371. package/commands/CommandUtils.js +1 -0
  372. package/commands/CommandUtils.js.map +1 -1
  373. package/commands/EntityCreateCommand.js +1 -0
  374. package/commands/EntityCreateCommand.js.map +1 -1
  375. package/commands/InitCommand.d.ts +3 -0
  376. package/commands/InitCommand.js +36 -5
  377. package/commands/InitCommand.js.map +1 -1
  378. package/commands/MigrationCreateCommand.js +1 -0
  379. package/commands/MigrationCreateCommand.js.map +1 -1
  380. package/commands/MigrationGenerateCommand.d.ts +4 -0
  381. package/commands/MigrationGenerateCommand.js +39 -15
  382. package/commands/MigrationGenerateCommand.js.map +1 -1
  383. package/commands/MigrationRevertCommand.js +1 -0
  384. package/commands/MigrationRevertCommand.js.map +1 -1
  385. package/commands/MigrationRunCommand.js +1 -0
  386. package/commands/MigrationRunCommand.js.map +1 -1
  387. package/commands/MigrationShowCommand.js +1 -0
  388. package/commands/MigrationShowCommand.js.map +1 -1
  389. package/commands/QueryCommand.js +1 -0
  390. package/commands/QueryCommand.js.map +1 -1
  391. package/commands/SchemaDropCommand.js +1 -0
  392. package/commands/SchemaDropCommand.js.map +1 -1
  393. package/commands/SchemaLogCommand.js +1 -0
  394. package/commands/SchemaLogCommand.js.map +1 -1
  395. package/commands/SchemaSyncCommand.js +1 -0
  396. package/commands/SchemaSyncCommand.js.map +1 -1
  397. package/commands/SubscriberCreateCommand.js +1 -0
  398. package/commands/SubscriberCreateCommand.js.map +1 -1
  399. package/commands/VersionCommand.js +1 -0
  400. package/commands/VersionCommand.js.map +1 -1
  401. package/connection/Connection.d.ts +2 -2
  402. package/connection/Connection.js +5 -2
  403. package/connection/Connection.js.map +1 -1
  404. package/connection/ConnectionManager.js +1 -0
  405. package/connection/ConnectionManager.js.map +1 -1
  406. package/connection/ConnectionMetadataBuilder.js +5 -4
  407. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  408. package/connection/ConnectionOptionsReader.d.ts +3 -3
  409. package/connection/ConnectionOptionsReader.js +4 -3
  410. package/connection/ConnectionOptionsReader.js.map +1 -1
  411. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  412. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  413. package/connection/options-reader/ConnectionOptionsXmlReader.js +1 -0
  414. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  415. package/connection/options-reader/ConnectionOptionsYmlReader.js +2 -1
  416. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  417. package/container.js +1 -0
  418. package/container.js.map +1 -1
  419. package/decorator/Check.js +1 -0
  420. package/decorator/Check.js.map +1 -1
  421. package/decorator/EntityRepository.js +1 -0
  422. package/decorator/EntityRepository.js.map +1 -1
  423. package/decorator/Exclusion.js +1 -0
  424. package/decorator/Exclusion.js.map +1 -1
  425. package/decorator/Generated.js +1 -0
  426. package/decorator/Generated.js.map +1 -1
  427. package/decorator/Index.js +1 -0
  428. package/decorator/Index.js.map +1 -1
  429. package/decorator/Unique.js +1 -0
  430. package/decorator/Unique.js.map +1 -1
  431. package/decorator/columns/Column.js +1 -0
  432. package/decorator/columns/Column.js.map +1 -1
  433. package/decorator/columns/CreateDateColumn.js +1 -0
  434. package/decorator/columns/CreateDateColumn.js.map +1 -1
  435. package/decorator/columns/DeleteDateColumn.js +1 -0
  436. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  437. package/decorator/columns/ObjectIdColumn.js +1 -0
  438. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  439. package/decorator/columns/PrimaryColumn.js +1 -0
  440. package/decorator/columns/PrimaryColumn.js.map +1 -1
  441. package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
  442. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  443. package/decorator/columns/UpdateDateColumn.js +1 -0
  444. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  445. package/decorator/columns/VersionColumn.js +1 -0
  446. package/decorator/columns/VersionColumn.js.map +1 -1
  447. package/decorator/columns/ViewColumn.js +1 -0
  448. package/decorator/columns/ViewColumn.js.map +1 -1
  449. package/decorator/entity/ChildEntity.js +1 -0
  450. package/decorator/entity/ChildEntity.js.map +1 -1
  451. package/decorator/entity/Entity.js +1 -0
  452. package/decorator/entity/Entity.js.map +1 -1
  453. package/decorator/entity/TableInheritance.js +1 -0
  454. package/decorator/entity/TableInheritance.js.map +1 -1
  455. package/decorator/entity-view/ViewEntity.js +1 -0
  456. package/decorator/entity-view/ViewEntity.js.map +1 -1
  457. package/decorator/listeners/AfterInsert.js +1 -0
  458. package/decorator/listeners/AfterInsert.js.map +1 -1
  459. package/decorator/listeners/AfterLoad.js +1 -0
  460. package/decorator/listeners/AfterLoad.js.map +1 -1
  461. package/decorator/listeners/AfterRemove.js +1 -0
  462. package/decorator/listeners/AfterRemove.js.map +1 -1
  463. package/decorator/listeners/AfterUpdate.js +1 -0
  464. package/decorator/listeners/AfterUpdate.js.map +1 -1
  465. package/decorator/listeners/BeforeInsert.js +1 -0
  466. package/decorator/listeners/BeforeInsert.js.map +1 -1
  467. package/decorator/listeners/BeforeRemove.js +1 -0
  468. package/decorator/listeners/BeforeRemove.js.map +1 -1
  469. package/decorator/listeners/BeforeUpdate.js +1 -0
  470. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  471. package/decorator/listeners/EventSubscriber.js +1 -0
  472. package/decorator/listeners/EventSubscriber.js.map +1 -1
  473. package/decorator/relations/JoinColumn.js +1 -0
  474. package/decorator/relations/JoinColumn.js.map +1 -1
  475. package/decorator/relations/JoinTable.js +1 -0
  476. package/decorator/relations/JoinTable.js.map +1 -1
  477. package/decorator/relations/ManyToMany.js +1 -0
  478. package/decorator/relations/ManyToMany.js.map +1 -1
  479. package/decorator/relations/ManyToOne.js +1 -0
  480. package/decorator/relations/ManyToOne.js.map +1 -1
  481. package/decorator/relations/OneToMany.js +1 -0
  482. package/decorator/relations/OneToMany.js.map +1 -1
  483. package/decorator/relations/OneToOne.js +1 -0
  484. package/decorator/relations/OneToOne.js.map +1 -1
  485. package/decorator/relations/RelationCount.js +1 -0
  486. package/decorator/relations/RelationCount.js.map +1 -1
  487. package/decorator/relations/RelationId.js +1 -0
  488. package/decorator/relations/RelationId.js.map +1 -1
  489. package/decorator/transaction/Transaction.js +4 -3
  490. package/decorator/transaction/Transaction.js.map +1 -1
  491. package/decorator/transaction/TransactionManager.js +1 -0
  492. package/decorator/transaction/TransactionManager.js.map +1 -1
  493. package/decorator/transaction/TransactionRepository.js +1 -0
  494. package/decorator/transaction/TransactionRepository.js.map +1 -1
  495. package/decorator/tree/Tree.js +1 -0
  496. package/decorator/tree/Tree.js.map +1 -1
  497. package/decorator/tree/TreeChildren.js +1 -0
  498. package/decorator/tree/TreeChildren.js.map +1 -1
  499. package/decorator/tree/TreeLevelColumn.js +1 -0
  500. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  501. package/decorator/tree/TreeParent.js +1 -0
  502. package/decorator/tree/TreeParent.js.map +1 -1
  503. package/driver/Driver.d.ts +1 -1
  504. package/driver/Driver.js.map +1 -1
  505. package/driver/DriverFactory.js +1 -0
  506. package/driver/DriverFactory.js.map +1 -1
  507. package/driver/DriverUtils.d.ts +10 -0
  508. package/driver/DriverUtils.js +80 -0
  509. package/driver/DriverUtils.js.map +1 -1
  510. package/driver/Query.js +1 -0
  511. package/driver/Query.js.map +1 -1
  512. package/driver/SqlInMemory.js +1 -0
  513. package/driver/SqlInMemory.js.map +1 -1
  514. package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -0
  515. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  516. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
  517. package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
  518. package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +4 -3
  519. package/driver/aurora-data-api/AuroraDataApiDriver.js +16 -5
  520. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  521. package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
  522. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +16 -2
  523. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  524. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
  525. package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
  526. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -0
  527. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +25 -0
  528. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  529. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +1 -0
  530. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  531. package/driver/better-sqlite3/BetterSqlite3Driver.js +1 -0
  532. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  533. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
  534. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  535. package/driver/cockroachdb/CockroachDriver.d.ts +1 -1
  536. package/driver/cockroachdb/CockroachDriver.js +4 -6
  537. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  538. package/driver/cockroachdb/CockroachQueryRunner.js +2 -1
  539. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  540. package/driver/cordova/CordovaDriver.js +1 -0
  541. package/driver/cordova/CordovaDriver.js.map +1 -1
  542. package/driver/cordova/CordovaQueryRunner.js +1 -0
  543. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  544. package/driver/expo/ExpoDriver.js +1 -0
  545. package/driver/expo/ExpoDriver.js.map +1 -1
  546. package/driver/expo/ExpoQueryRunner.js +1 -0
  547. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  548. package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  549. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  550. package/driver/mongodb/MongoDriver.d.ts +1 -1
  551. package/driver/mongodb/MongoDriver.js +13 -5
  552. package/driver/mongodb/MongoDriver.js.map +1 -1
  553. package/driver/mongodb/MongoQueryRunner.js +1 -0
  554. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  555. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
  556. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  557. package/driver/mysql/MysqlDriver.d.ts +2 -2
  558. package/driver/mysql/MysqlDriver.js +13 -11
  559. package/driver/mysql/MysqlDriver.js.map +1 -1
  560. package/driver/mysql/MysqlQueryRunner.js +5 -4
  561. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  562. package/driver/nativescript/NativescriptDriver.js +1 -0
  563. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  564. package/driver/nativescript/NativescriptQueryRunner.js +1 -0
  565. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  566. package/driver/oracle/OracleDriver.d.ts +1 -1
  567. package/driver/oracle/OracleDriver.js +26 -3
  568. package/driver/oracle/OracleDriver.js.map +1 -1
  569. package/driver/oracle/OracleQueryRunner.js +2 -1
  570. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  571. package/driver/postgres/PostgresDriver.d.ts +2 -2
  572. package/driver/postgres/PostgresDriver.js +54 -22
  573. package/driver/postgres/PostgresDriver.js.map +1 -1
  574. package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
  575. package/driver/postgres/PostgresQueryRunner.js +186 -155
  576. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  577. package/driver/react-native/ReactNativeDriver.js +1 -0
  578. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  579. package/driver/react-native/ReactNativeQueryRunner.js +1 -0
  580. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  581. package/driver/sap/SapDriver.d.ts +1 -1
  582. package/driver/sap/SapDriver.js +1 -0
  583. package/driver/sap/SapDriver.js.map +1 -1
  584. package/driver/sap/SapQueryRunner.js +2 -1
  585. package/driver/sap/SapQueryRunner.js.map +1 -1
  586. package/driver/sqlite/SqliteDriver.js +1 -0
  587. package/driver/sqlite/SqliteDriver.js.map +1 -1
  588. package/driver/sqlite/SqliteQueryRunner.js +1 -0
  589. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  590. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
  591. package/driver/sqlite-abstract/AbstractSqliteDriver.js +5 -1
  592. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  593. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  594. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  595. package/driver/sqljs/SqljsDriver.js +1 -0
  596. package/driver/sqljs/SqljsDriver.js.map +1 -1
  597. package/driver/sqljs/SqljsQueryRunner.js +1 -0
  598. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  599. package/driver/sqlserver/MssqlParameter.js +1 -0
  600. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  601. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
  602. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  603. package/driver/sqlserver/SqlServerDriver.d.ts +2 -2
  604. package/driver/sqlserver/SqlServerDriver.js +34 -8
  605. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  606. package/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
  607. package/driver/sqlserver/SqlServerQueryRunner.js +26 -18
  608. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  609. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
  610. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +4 -0
  611. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
  612. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
  613. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +4 -0
  614. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
  615. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
  616. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +4 -0
  617. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
  618. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
  619. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +4 -0
  620. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
  621. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
  622. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +4 -0
  623. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
  624. package/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
  625. package/driver/sqlserver/authentication/DefaultAuthentication.js +4 -0
  626. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
  627. package/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
  628. package/driver/sqlserver/authentication/NtlmAuthentication.js +4 -0
  629. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
  630. package/entity-manager/EntityManager.d.ts +16 -2
  631. package/entity-manager/EntityManager.js +1 -0
  632. package/entity-manager/EntityManager.js.map +1 -1
  633. package/entity-manager/EntityManagerFactory.js +1 -0
  634. package/entity-manager/EntityManagerFactory.js.map +1 -1
  635. package/entity-manager/MongoEntityManager.d.ts +1 -4
  636. package/entity-manager/MongoEntityManager.js +40 -45
  637. package/entity-manager/MongoEntityManager.js.map +1 -1
  638. package/entity-manager/SqljsEntityManager.js +1 -0
  639. package/entity-manager/SqljsEntityManager.js.map +1 -1
  640. package/entity-schema/EntitySchema.js +1 -0
  641. package/entity-schema/EntitySchema.js.map +1 -1
  642. package/entity-schema/EntitySchemaOptions.js +1 -0
  643. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  644. package/entity-schema/EntitySchemaTransformer.js +1 -0
  645. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  646. package/error/AlreadyHasActiveConnectionError.js +1 -0
  647. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  648. package/error/CannotAttachTreeChildrenEntityError.js +1 -0
  649. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  650. package/error/CannotConnectAlreadyConnectedError.js +1 -0
  651. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  652. package/error/CannotCreateEntityIdMapError.js +1 -0
  653. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  654. package/error/CannotDetermineEntityError.js +1 -0
  655. package/error/CannotDetermineEntityError.js.map +1 -1
  656. package/error/CannotExecuteNotConnectedError.js +1 -0
  657. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  658. package/error/CannotGetEntityManagerNotConnectedError.js +1 -0
  659. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  660. package/error/CannotReflectMethodParameterTypeError.js +1 -0
  661. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  662. package/error/CircularRelationsError.js +1 -0
  663. package/error/CircularRelationsError.js.map +1 -1
  664. package/error/ColumnTypeUndefinedError.js +1 -0
  665. package/error/ColumnTypeUndefinedError.js.map +1 -1
  666. package/error/ConnectionIsNotSetError.js +1 -0
  667. package/error/ConnectionIsNotSetError.js.map +1 -1
  668. package/error/ConnectionNotFoundError.js +1 -0
  669. package/error/ConnectionNotFoundError.js.map +1 -1
  670. package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -0
  671. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  672. package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -0
  673. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  674. package/error/CustomRepositoryNotFoundError.js +1 -0
  675. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  676. package/error/DataTypeNotSupportedError.js +1 -0
  677. package/error/DataTypeNotSupportedError.js.map +1 -1
  678. package/error/DriverOptionNotSetError.js +1 -0
  679. package/error/DriverOptionNotSetError.js.map +1 -1
  680. package/error/DriverPackageNotInstalledError.js +1 -0
  681. package/error/DriverPackageNotInstalledError.js.map +1 -1
  682. package/error/EntityColumnNotFound.js +1 -0
  683. package/error/EntityColumnNotFound.js.map +1 -1
  684. package/error/EntityMetadataNotFoundError.js +1 -0
  685. package/error/EntityMetadataNotFoundError.js.map +1 -1
  686. package/error/EntityNotFoundError.js +1 -0
  687. package/error/EntityNotFoundError.js.map +1 -1
  688. package/error/FindRelationsNotFoundError.js +1 -0
  689. package/error/FindRelationsNotFoundError.js.map +1 -1
  690. package/error/InitializedRelationError.js +1 -0
  691. package/error/InitializedRelationError.js.map +1 -1
  692. package/error/InsertValuesMissingError.js +1 -0
  693. package/error/InsertValuesMissingError.js.map +1 -1
  694. package/error/LimitOnUpdateNotSupportedError.js +1 -0
  695. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  696. package/error/LockNotSupportedOnGivenDriverError.js +1 -0
  697. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  698. package/error/MetadataAlreadyExistsError.js +1 -0
  699. package/error/MetadataAlreadyExistsError.js.map +1 -1
  700. package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -0
  701. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  702. package/error/MissingDeleteDateColumnError.js +1 -0
  703. package/error/MissingDeleteDateColumnError.js.map +1 -1
  704. package/error/MissingDriverError.js +1 -0
  705. package/error/MissingDriverError.js.map +1 -1
  706. package/error/MissingJoinColumnError.js +1 -0
  707. package/error/MissingJoinColumnError.js.map +1 -1
  708. package/error/MissingJoinTableError.js +1 -0
  709. package/error/MissingJoinTableError.js.map +1 -1
  710. package/error/MissingPrimaryColumnError.js +1 -0
  711. package/error/MissingPrimaryColumnError.js.map +1 -1
  712. package/error/MustBeEntityError.js +1 -0
  713. package/error/MustBeEntityError.js.map +1 -1
  714. package/error/NamingStrategyNotFoundError.js +1 -0
  715. package/error/NamingStrategyNotFoundError.js.map +1 -1
  716. package/error/NoConnectionForRepositoryError.js +1 -0
  717. package/error/NoConnectionForRepositoryError.js.map +1 -1
  718. package/error/NoConnectionOptionError.js +1 -0
  719. package/error/NoConnectionOptionError.js.map +1 -1
  720. package/error/NoNeedToReleaseEntityManagerError.js +1 -0
  721. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  722. package/error/NoVersionOrUpdateDateColumnError.js +1 -0
  723. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  724. package/error/OffsetWithoutLimitNotSupportedError.js +1 -0
  725. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  726. package/error/OptimisticLockCanNotBeUsedError.js +1 -0
  727. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  728. package/error/OptimisticLockVersionMismatchError.js +1 -0
  729. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  730. package/error/PersistedEntityNotFoundError.js +1 -0
  731. package/error/PersistedEntityNotFoundError.js.map +1 -1
  732. package/error/PessimisticLockTransactionRequiredError.js +1 -0
  733. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  734. package/error/PrimaryColumnCannotBeNullableError.js +1 -0
  735. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  736. package/error/QueryFailedError.js +1 -0
  737. package/error/QueryFailedError.js.map +1 -1
  738. package/error/QueryRunnerAlreadyReleasedError.js +1 -0
  739. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  740. package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -0
  741. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  742. package/error/RepositoryNotFoundError.js +1 -0
  743. package/error/RepositoryNotFoundError.js.map +1 -1
  744. package/error/RepositoryNotTreeError.js +1 -0
  745. package/error/RepositoryNotTreeError.js.map +1 -1
  746. package/error/ReturningStatementNotSupportedError.js +1 -0
  747. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  748. package/error/SubjectRemovedAndUpdatedError.js +1 -0
  749. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  750. package/error/SubjectWithoutIdentifierError.js +1 -0
  751. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  752. package/error/TransactionAlreadyStartedError.js +1 -0
  753. package/error/TransactionAlreadyStartedError.js.map +1 -1
  754. package/error/TransactionNotStartedError.js +1 -0
  755. package/error/TransactionNotStartedError.js.map +1 -1
  756. package/error/TreeRepositoryNotSupportedError.js +1 -0
  757. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  758. package/error/UpdateValuesMissingError.js +1 -0
  759. package/error/UpdateValuesMissingError.js.map +1 -1
  760. package/error/UsingJoinColumnIsNotAllowedError.js +1 -0
  761. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  762. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -0
  763. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  764. package/error/UsingJoinTableIsNotAllowedError.js +1 -0
  765. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  766. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -0
  767. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  768. package/find-options/FindOneOptions.d.ts +4 -1
  769. package/find-options/FindOneOptions.js.map +1 -1
  770. package/find-options/FindOperator.d.ts +7 -7
  771. package/find-options/FindOperator.js +8 -7
  772. package/find-options/FindOperator.js.map +1 -1
  773. package/find-options/FindOptionsUtils.js +11 -1
  774. package/find-options/FindOptionsUtils.js.map +1 -1
  775. package/find-options/JoinOptions.d.ts +16 -4
  776. package/find-options/JoinOptions.js.map +1 -1
  777. package/find-options/operator/Any.js +1 -0
  778. package/find-options/operator/Any.js.map +1 -1
  779. package/find-options/operator/Between.js +1 -0
  780. package/find-options/operator/Between.js.map +1 -1
  781. package/find-options/operator/Equal.js +1 -0
  782. package/find-options/operator/Equal.js.map +1 -1
  783. package/find-options/operator/ILike.js +1 -0
  784. package/find-options/operator/ILike.js.map +1 -1
  785. package/find-options/operator/In.js +1 -0
  786. package/find-options/operator/In.js.map +1 -1
  787. package/find-options/operator/IsNull.js +1 -0
  788. package/find-options/operator/IsNull.js.map +1 -1
  789. package/find-options/operator/LessThan.js +1 -0
  790. package/find-options/operator/LessThan.js.map +1 -1
  791. package/find-options/operator/LessThanOrEqual.js +1 -0
  792. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  793. package/find-options/operator/Like.js +1 -0
  794. package/find-options/operator/Like.js.map +1 -1
  795. package/find-options/operator/MoreThan.js +1 -0
  796. package/find-options/operator/MoreThan.js.map +1 -1
  797. package/find-options/operator/MoreThanOrEqual.js +1 -0
  798. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  799. package/find-options/operator/Not.js +1 -0
  800. package/find-options/operator/Not.js.map +1 -1
  801. package/find-options/operator/Raw.js +1 -0
  802. package/find-options/operator/Raw.js.map +1 -1
  803. package/index.js +42 -18
  804. package/index.js.map +1 -1
  805. package/logger/AdvancedConsoleLogger.d.ts +2 -1
  806. package/logger/AdvancedConsoleLogger.js +1 -0
  807. package/logger/AdvancedConsoleLogger.js.map +1 -1
  808. package/logger/DebugLogger.js +1 -0
  809. package/logger/DebugLogger.js.map +1 -1
  810. package/logger/FileLogger.d.ts +2 -2
  811. package/logger/FileLogger.js +1 -0
  812. package/logger/FileLogger.js.map +1 -1
  813. package/logger/LoggerFactory.js +1 -0
  814. package/logger/LoggerFactory.js.map +1 -1
  815. package/logger/SimpleConsoleLogger.d.ts +2 -1
  816. package/logger/SimpleConsoleLogger.js +1 -0
  817. package/logger/SimpleConsoleLogger.js.map +1 -1
  818. package/metadata/CheckMetadata.js +1 -0
  819. package/metadata/CheckMetadata.js.map +1 -1
  820. package/metadata/ColumnMetadata.d.ts +1 -1
  821. package/metadata/ColumnMetadata.js +7 -11
  822. package/metadata/ColumnMetadata.js.map +1 -1
  823. package/metadata/EmbeddedMetadata.js +2 -1
  824. package/metadata/EmbeddedMetadata.js.map +1 -1
  825. package/metadata/EntityListenerMetadata.js +1 -0
  826. package/metadata/EntityListenerMetadata.js.map +1 -1
  827. package/metadata/EntityMetadata.js +2 -1
  828. package/metadata/EntityMetadata.js.map +1 -1
  829. package/metadata/ExclusionMetadata.js +1 -0
  830. package/metadata/ExclusionMetadata.js.map +1 -1
  831. package/metadata/ForeignKeyMetadata.js +1 -0
  832. package/metadata/ForeignKeyMetadata.js.map +1 -1
  833. package/metadata/IndexMetadata.js +1 -0
  834. package/metadata/IndexMetadata.js.map +1 -1
  835. package/metadata/RelationCountMetadata.js +1 -0
  836. package/metadata/RelationCountMetadata.js.map +1 -1
  837. package/metadata/RelationIdMetadata.js +1 -0
  838. package/metadata/RelationIdMetadata.js.map +1 -1
  839. package/metadata/RelationMetadata.js +5 -4
  840. package/metadata/RelationMetadata.js.map +1 -1
  841. package/metadata/UniqueMetadata.js +1 -0
  842. package/metadata/UniqueMetadata.js.map +1 -1
  843. package/metadata/types/EventListenerTypes.js +1 -0
  844. package/metadata/types/EventListenerTypes.js.map +1 -1
  845. package/metadata-args/MetadataArgsStorage.js +1 -0
  846. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  847. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -0
  848. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  849. package/metadata-builder/EntityMetadataBuilder.js +7 -6
  850. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  851. package/metadata-builder/EntityMetadataValidator.js +3 -0
  852. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  853. package/metadata-builder/JunctionEntityMetadataBuilder.js +6 -1
  854. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  855. package/metadata-builder/MetadataUtils.js +1 -0
  856. package/metadata-builder/MetadataUtils.js.map +1 -1
  857. package/metadata-builder/RelationJoinColumnBuilder.js +4 -1
  858. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  859. package/migration/Migration.js +1 -0
  860. package/migration/Migration.js.map +1 -1
  861. package/migration/MigrationExecutor.js +6 -5
  862. package/migration/MigrationExecutor.js.map +1 -1
  863. package/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  864. package/naming-strategy/DefaultNamingStrategy.js +9 -7
  865. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  866. package/naming-strategy/NamingStrategyInterface.d.ts +6 -1
  867. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  868. package/package.json +43 -42
  869. package/persistence/EntityPersistExecutor.js +1 -0
  870. package/persistence/EntityPersistExecutor.js.map +1 -1
  871. package/persistence/Subject.d.ts +4 -4
  872. package/persistence/Subject.js +6 -5
  873. package/persistence/Subject.js.map +1 -1
  874. package/persistence/SubjectChangedColumnsComputer.js +4 -1
  875. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  876. package/persistence/SubjectDatabaseEntityLoader.js +2 -1
  877. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  878. package/persistence/SubjectExecutor.js +22 -21
  879. package/persistence/SubjectExecutor.js.map +1 -1
  880. package/persistence/SubjectTopoligicalSorter.js +6 -5
  881. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  882. package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -0
  883. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  884. package/persistence/subject-builder/ManyToManySubjectBuilder.js +3 -0
  885. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  886. package/persistence/subject-builder/OneToManySubjectBuilder.js +1 -0
  887. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  888. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -0
  889. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  890. package/persistence/tree/ClosureSubjectExecutor.js +2 -1
  891. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  892. package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -0
  893. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  894. package/persistence/tree/NestedSetSubjectExecutor.js +1 -0
  895. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  896. package/platform/PlatformTools.js +5 -4
  897. package/platform/PlatformTools.js.map +1 -1
  898. package/query-builder/Alias.d.ts +4 -3
  899. package/query-builder/Alias.js +4 -3
  900. package/query-builder/Alias.js.map +1 -1
  901. package/query-builder/Brackets.js +1 -0
  902. package/query-builder/Brackets.js.map +1 -1
  903. package/query-builder/DeleteQueryBuilder.js +6 -1
  904. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  905. package/query-builder/InsertQueryBuilder.js +2 -1
  906. package/query-builder/InsertQueryBuilder.js.map +1 -1
  907. package/query-builder/JoinAttribute.d.ts +10 -10
  908. package/query-builder/JoinAttribute.js +11 -10
  909. package/query-builder/JoinAttribute.js.map +1 -1
  910. package/query-builder/QueryBuilder.d.ts +1 -1
  911. package/query-builder/QueryBuilder.js +25 -24
  912. package/query-builder/QueryBuilder.js.map +1 -1
  913. package/query-builder/QueryBuilderUtils.js +1 -0
  914. package/query-builder/QueryBuilderUtils.js.map +1 -1
  915. package/query-builder/QueryExpressionMap.d.ts +6 -2
  916. package/query-builder/QueryExpressionMap.js +4 -2
  917. package/query-builder/QueryExpressionMap.js.map +1 -1
  918. package/query-builder/RelationIdLoader.js +1 -0
  919. package/query-builder/RelationIdLoader.js.map +1 -1
  920. package/query-builder/RelationLoader.js +3 -2
  921. package/query-builder/RelationLoader.js.map +1 -1
  922. package/query-builder/RelationQueryBuilder.js +2 -1
  923. package/query-builder/RelationQueryBuilder.js.map +1 -1
  924. package/query-builder/RelationRemover.js +11 -10
  925. package/query-builder/RelationRemover.js.map +1 -1
  926. package/query-builder/RelationUpdater.js +1 -0
  927. package/query-builder/RelationUpdater.js.map +1 -1
  928. package/query-builder/ReturningResultsEntityUpdator.js +1 -0
  929. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  930. package/query-builder/SelectQueryBuilder.d.ts +2 -6
  931. package/query-builder/SelectQueryBuilder.js +35 -14
  932. package/query-builder/SelectQueryBuilder.js.map +1 -1
  933. package/query-builder/SoftDeleteQueryBuilder.js +1 -0
  934. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  935. package/query-builder/UpdateQueryBuilder.js +5 -0
  936. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  937. package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  938. package/query-builder/relation-count/RelationCountAttribute.js +8 -7
  939. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  940. package/query-builder/relation-count/RelationCountLoader.js +3 -1
  941. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  942. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +1 -0
  943. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  944. package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  945. package/query-builder/relation-id/RelationIdAttribute.js +9 -8
  946. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  947. package/query-builder/relation-id/RelationIdLoader.js +62 -11
  948. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  949. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +1 -0
  950. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  951. package/query-builder/result/DeleteResult.js +1 -0
  952. package/query-builder/result/DeleteResult.js.map +1 -1
  953. package/query-builder/result/InsertResult.js +1 -0
  954. package/query-builder/result/InsertResult.js.map +1 -1
  955. package/query-builder/result/UpdateResult.js +1 -0
  956. package/query-builder/result/UpdateResult.js.map +1 -1
  957. package/query-builder/transformer/DocumentToEntityTransformer.js +1 -0
  958. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  959. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +4 -3
  960. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  961. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
  962. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  963. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -3
  964. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  965. package/query-runner/BaseQueryRunner.js +3 -2
  966. package/query-runner/BaseQueryRunner.js.map +1 -1
  967. package/repository/AbstractRepository.d.ts +2 -2
  968. package/repository/AbstractRepository.js +3 -2
  969. package/repository/AbstractRepository.js.map +1 -1
  970. package/repository/BaseEntity.d.ts +1 -1
  971. package/repository/BaseEntity.js +3 -2
  972. package/repository/BaseEntity.js.map +1 -1
  973. package/repository/MongoRepository.js +1 -0
  974. package/repository/MongoRepository.js.map +1 -1
  975. package/repository/Repository.d.ts +1 -1
  976. package/repository/Repository.js +3 -2
  977. package/repository/Repository.js.map +1 -1
  978. package/repository/RepositoryFactory.js +1 -0
  979. package/repository/RepositoryFactory.js.map +1 -1
  980. package/repository/TreeRepository.js +3 -2
  981. package/repository/TreeRepository.js.map +1 -1
  982. package/schema-builder/MongoSchemaBuilder.js +1 -0
  983. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  984. package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  985. package/schema-builder/RdbmsSchemaBuilder.js +79 -78
  986. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  987. package/schema-builder/table/Table.d.ts +1 -1
  988. package/schema-builder/table/Table.js +2 -1
  989. package/schema-builder/table/Table.js.map +1 -1
  990. package/schema-builder/table/TableCheck.js +2 -1
  991. package/schema-builder/table/TableCheck.js.map +1 -1
  992. package/schema-builder/table/TableColumn.js +1 -0
  993. package/schema-builder/table/TableColumn.js.map +1 -1
  994. package/schema-builder/table/TableExclusion.js +1 -0
  995. package/schema-builder/table/TableExclusion.js.map +1 -1
  996. package/schema-builder/table/TableForeignKey.js +3 -2
  997. package/schema-builder/table/TableForeignKey.js.map +1 -1
  998. package/schema-builder/table/TableIndex.js +2 -1
  999. package/schema-builder/table/TableIndex.js.map +1 -1
  1000. package/schema-builder/table/TableUnique.js +2 -1
  1001. package/schema-builder/table/TableUnique.js.map +1 -1
  1002. package/schema-builder/util/TableUtils.js +1 -0
  1003. package/schema-builder/util/TableUtils.js.map +1 -1
  1004. package/schema-builder/view/View.js +1 -0
  1005. package/schema-builder/view/View.js.map +1 -1
  1006. package/subscriber/Broadcaster.js +1 -0
  1007. package/subscriber/Broadcaster.js.map +1 -1
  1008. package/subscriber/BroadcasterResult.js +1 -0
  1009. package/subscriber/BroadcasterResult.js.map +1 -1
  1010. package/util/ApplyValueTransformers.js +1 -0
  1011. package/util/ApplyValueTransformers.js.map +1 -1
  1012. package/util/DateUtils.js +1 -0
  1013. package/util/DateUtils.js.map +1 -1
  1014. package/util/DepGraph.js +1 -0
  1015. package/util/DepGraph.js.map +1 -1
  1016. package/util/DirectoryExportedClassesLoader.js +1 -0
  1017. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1018. package/util/ObjectUtils.js +1 -0
  1019. package/util/ObjectUtils.js.map +1 -1
  1020. package/util/OrmUtils.d.ts +1 -1
  1021. package/util/OrmUtils.js +2 -1
  1022. package/util/OrmUtils.js.map +1 -1
  1023. package/util/RandomGenerator.js +1 -0
  1024. package/util/RandomGenerator.js.map +1 -1
  1025. package/util/StringUtils.js +1 -0
  1026. package/util/StringUtils.js.map +1 -1
  1027. package/util/VersionUtils.js +1 -0
  1028. package/util/VersionUtils.js.map +1 -1
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TableColumnOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TableExclusionOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TableForeignKeyOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TableIndexOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TableOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TableUniqueOptions.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=ViewOptions.js.map
@@ -51,7 +51,7 @@ export declare class Table {
51
51
  */
52
52
  engine?: string;
53
53
  constructor(options?: TableOptions);
54
- readonly primaryColumns: TableColumn[];
54
+ get primaryColumns(): TableColumn[];
55
55
  /**
56
56
  * Clones this table to a new table with all properties cloned.
57
57
  */
@@ -69,7 +69,7 @@ var Table = /** @class */ (function () {
69
69
  get: function () {
70
70
  return this.columns.filter(function (column) { return column.isPrimary; });
71
71
  },
72
- enumerable: true,
72
+ enumerable: false,
73
73
  configurable: true
74
74
  });
75
75
  // -------------------------------------------------------------------------
@@ -1,4 +1,4 @@
1
- import { __read, __spread } from "tslib";
1
+ import { __read, __spreadArray } from "tslib";
2
2
  /**
3
3
  * Database's table check constraint stored in this class.
4
4
  */
@@ -24,7 +24,7 @@ var TableCheck = /** @class */ (function () {
24
24
  TableCheck.prototype.clone = function () {
25
25
  return new TableCheck({
26
26
  name: this.name,
27
- columnNames: this.columnNames ? __spread(this.columnNames) : [],
27
+ columnNames: this.columnNames ? __spreadArray([], __read(this.columnNames)) : [],
28
28
  expression: this.expression,
29
29
  });
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/schema-builder/table/TableCheck.ts"],"names":[],"mappings":";AAGA;;GAEG;AACH;IAqBI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,oBAAY,OAA0B;QAdtC;;WAEG;QACH,gBAAW,GAAc,EAAE,CAAC;QAYxB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,0BAAK,GAAL;QACI,OAAO,IAAI,UAAU,CAAoB;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,UAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;YAC1D,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACI,iBAAM,GAAb,UAAc,aAA4B;QACtC,OAAO,IAAI,UAAU,CAAoB;YACrC,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,UAAU,EAAE,aAAa,CAAC,UAAU;SACvC,CAAC,CAAC;IACP,CAAC;IAEL,iBAAC;AAAD,CA5DA,AA4DC,IAAA","file":"TableCheck.js","sourcesContent":["import {TableCheckOptions} from \"../options/TableCheckOptions\";\nimport {CheckMetadata} from \"../../metadata/CheckMetadata\";\n\n/**\n * Database's table check constraint stored in this class.\n */\nexport class TableCheck {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Constraint name.\n */\n name?: string;\n\n /**\n * Column that contains this constraint.\n */\n columnNames?: string[] = [];\n\n /**\n * Check expression.\n */\n expression?: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: TableCheckOptions) {\n this.name = options.name;\n this.columnNames = options.columnNames;\n this.expression = options.expression;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new copy of this constraint with exactly same properties.\n */\n clone(): TableCheck {\n return new TableCheck(<TableCheckOptions>{\n name: this.name,\n columnNames: this.columnNames ? [...this.columnNames] : [],\n expression: this.expression,\n });\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates checks from the check metadata object.\n */\n static create(checkMetadata: CheckMetadata): TableCheck {\n return new TableCheck(<TableCheckOptions>{\n name: checkMetadata.name,\n expression: checkMetadata.expression\n });\n }\n\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/schema-builder/table/TableCheck.ts"],"names":[],"mappings":";AAGA;;GAEG;AACH;IAqBI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,oBAAY,OAA0B;QAdtC;;WAEG;QACH,gBAAW,GAAc,EAAE,CAAC;QAYxB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,0BAAK,GAAL;QACI,OAAO,IAAI,UAAU,CAAoB;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,0BAAK,IAAI,CAAC,WAAW,GAAE,CAAC,CAAC,EAAE;YAC1D,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACI,iBAAM,GAAb,UAAc,aAA4B;QACtC,OAAO,IAAI,UAAU,CAAoB;YACrC,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,UAAU,EAAE,aAAa,CAAC,UAAU;SACvC,CAAC,CAAC;IACP,CAAC;IAEL,iBAAC;AAAD,CA5DA,AA4DC,IAAA","file":"TableCheck.js","sourcesContent":["import {TableCheckOptions} from \"../options/TableCheckOptions\";\nimport {CheckMetadata} from \"../../metadata/CheckMetadata\";\n\n/**\n * Database's table check constraint stored in this class.\n */\nexport class TableCheck {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Constraint name.\n */\n name?: string;\n\n /**\n * Column that contains this constraint.\n */\n columnNames?: string[] = [];\n\n /**\n * Check expression.\n */\n expression?: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: TableCheckOptions) {\n this.name = options.name;\n this.columnNames = options.columnNames;\n this.expression = options.expression;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new copy of this constraint with exactly same properties.\n */\n clone(): TableCheck {\n return new TableCheck(<TableCheckOptions>{\n name: this.name,\n columnNames: this.columnNames ? [...this.columnNames] : [],\n expression: this.expression,\n });\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates checks from the check metadata object.\n */\n static create(checkMetadata: CheckMetadata): TableCheck {\n return new TableCheck(<TableCheckOptions>{\n name: checkMetadata.name,\n expression: checkMetadata.expression\n });\n }\n\n}"],"sourceRoot":"../.."}
@@ -1,4 +1,4 @@
1
- import { __read, __spread } from "tslib";
1
+ import { __read, __spreadArray } from "tslib";
2
2
  /**
3
3
  * Foreign key from the database stored in this class.
4
4
  */
@@ -32,8 +32,8 @@ var TableForeignKey = /** @class */ (function () {
32
32
  TableForeignKey.prototype.clone = function () {
33
33
  return new TableForeignKey({
34
34
  name: this.name,
35
- columnNames: __spread(this.columnNames),
36
- referencedColumnNames: __spread(this.referencedColumnNames),
35
+ columnNames: __spreadArray([], __read(this.columnNames)),
36
+ referencedColumnNames: __spreadArray([], __read(this.referencedColumnNames)),
37
37
  referencedTableName: this.referencedTableName,
38
38
  onDelete: this.onDelete,
39
39
  onUpdate: this.onUpdate,
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/schema-builder/table/TableForeignKey.ts"],"names":[],"mappings":";AAGA;;GAEG;AACH;IA4CI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,yBAAY,OAA+B;QArC3C;;WAEG;QACH,gBAAW,GAAa,EAAE,CAAC;QAO3B;;WAEG;QACH,0BAAqB,GAAa,EAAE,CAAC;QAyBjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,+BAAK,GAAL;QACI,OAAO,IAAI,eAAe,CAAyB;YAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,WAAM,IAAI,CAAC,WAAW,CAAC;YAClC,qBAAqB,WAAM,IAAI,CAAC,qBAAqB,CAAC;YACtD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACI,sBAAM,GAAb,UAAc,QAA4B;QACtC,OAAO,IAAI,eAAe,CAAyB;YAC/C,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;YACrD,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;YACjD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAClC,CAAC,CAAC;IACP,CAAC;IAEL,sBAAC;AAAD,CAhGA,AAgGC,IAAA","file":"TableForeignKey.js","sourcesContent":["import {ForeignKeyMetadata} from \"../../metadata/ForeignKeyMetadata\";\nimport {TableForeignKeyOptions} from \"../options/TableForeignKeyOptions\";\n\n/**\n * Foreign key from the database stored in this class.\n */\nexport class TableForeignKey {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Name of the foreign key constraint.\n */\n name?: string;\n\n /**\n * Column names which included by this foreign key.\n */\n columnNames: string[] = [];\n\n /**\n * Table referenced in the foreign key.\n */\n referencedTableName: string;\n\n /**\n * Column names which included by this foreign key.\n */\n referencedColumnNames: string[] = [];\n\n /**\n * \"ON DELETE\" of this foreign key, e.g. what action database should perform when\n * referenced stuff is being deleted.\n */\n onDelete?: string;\n\n /**\n * \"ON UPDATE\" of this foreign key, e.g. what action database should perform when\n * referenced stuff is being updated.\n */\n onUpdate?: string;\n\n /**\n * Set this foreign key constraint as \"DEFERRABLE\" e.g. check constraints at start\n * or at the end of a transaction\n */\n deferrable?: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: TableForeignKeyOptions) {\n this.name = options.name;\n this.columnNames = options.columnNames;\n this.referencedColumnNames = options.referencedColumnNames;\n this.referencedTableName = options.referencedTableName;\n this.onDelete = options.onDelete;\n this.onUpdate = options.onUpdate;\n this.deferrable = options.deferrable;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new copy of this foreign key with exactly same properties.\n */\n clone(): TableForeignKey {\n return new TableForeignKey(<TableForeignKeyOptions>{\n name: this.name,\n columnNames: [...this.columnNames],\n referencedColumnNames: [...this.referencedColumnNames],\n referencedTableName: this.referencedTableName,\n onDelete: this.onDelete,\n onUpdate: this.onUpdate,\n deferrable: this.deferrable,\n });\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new table foreign key from the given foreign key metadata.\n */\n static create(metadata: ForeignKeyMetadata): TableForeignKey {\n return new TableForeignKey(<TableForeignKeyOptions>{\n name: metadata.name,\n columnNames: metadata.columnNames,\n referencedColumnNames: metadata.referencedColumnNames,\n referencedTableName: metadata.referencedTablePath,\n onDelete: metadata.onDelete,\n onUpdate: metadata.onUpdate,\n deferrable: metadata.deferrable,\n });\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/schema-builder/table/TableForeignKey.ts"],"names":[],"mappings":";AAGA;;GAEG;AACH;IA4CI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,yBAAY,OAA+B;QArC3C;;WAEG;QACH,gBAAW,GAAa,EAAE,CAAC;QAO3B;;WAEG;QACH,0BAAqB,GAAa,EAAE,CAAC;QAyBjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,+BAAK,GAAL;QACI,OAAO,IAAI,eAAe,CAAyB;YAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,2BAAM,IAAI,CAAC,WAAW,EAAC;YAClC,qBAAqB,2BAAM,IAAI,CAAC,qBAAqB,EAAC;YACtD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACI,sBAAM,GAAb,UAAc,QAA4B;QACtC,OAAO,IAAI,eAAe,CAAyB;YAC/C,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;YACrD,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;YACjD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAClC,CAAC,CAAC;IACP,CAAC;IAEL,sBAAC;AAAD,CAhGA,AAgGC,IAAA","file":"TableForeignKey.js","sourcesContent":["import {ForeignKeyMetadata} from \"../../metadata/ForeignKeyMetadata\";\nimport {TableForeignKeyOptions} from \"../options/TableForeignKeyOptions\";\n\n/**\n * Foreign key from the database stored in this class.\n */\nexport class TableForeignKey {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Name of the foreign key constraint.\n */\n name?: string;\n\n /**\n * Column names which included by this foreign key.\n */\n columnNames: string[] = [];\n\n /**\n * Table referenced in the foreign key.\n */\n referencedTableName: string;\n\n /**\n * Column names which included by this foreign key.\n */\n referencedColumnNames: string[] = [];\n\n /**\n * \"ON DELETE\" of this foreign key, e.g. what action database should perform when\n * referenced stuff is being deleted.\n */\n onDelete?: string;\n\n /**\n * \"ON UPDATE\" of this foreign key, e.g. what action database should perform when\n * referenced stuff is being updated.\n */\n onUpdate?: string;\n\n /**\n * Set this foreign key constraint as \"DEFERRABLE\" e.g. check constraints at start\n * or at the end of a transaction\n */\n deferrable?: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: TableForeignKeyOptions) {\n this.name = options.name;\n this.columnNames = options.columnNames;\n this.referencedColumnNames = options.referencedColumnNames;\n this.referencedTableName = options.referencedTableName;\n this.onDelete = options.onDelete;\n this.onUpdate = options.onUpdate;\n this.deferrable = options.deferrable;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new copy of this foreign key with exactly same properties.\n */\n clone(): TableForeignKey {\n return new TableForeignKey(<TableForeignKeyOptions>{\n name: this.name,\n columnNames: [...this.columnNames],\n referencedColumnNames: [...this.referencedColumnNames],\n referencedTableName: this.referencedTableName,\n onDelete: this.onDelete,\n onUpdate: this.onUpdate,\n deferrable: this.deferrable,\n });\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new table foreign key from the given foreign key metadata.\n */\n static create(metadata: ForeignKeyMetadata): TableForeignKey {\n return new TableForeignKey(<TableForeignKeyOptions>{\n name: metadata.name,\n columnNames: metadata.columnNames,\n referencedColumnNames: metadata.referencedColumnNames,\n referencedTableName: metadata.referencedTablePath,\n onDelete: metadata.onDelete,\n onUpdate: metadata.onUpdate,\n deferrable: metadata.deferrable,\n });\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -1,4 +1,4 @@
1
- import { __read, __spread } from "tslib";
1
+ import { __read, __spreadArray } from "tslib";
2
2
  /**
3
3
  * Database's table index stored in this class.
4
4
  */
@@ -28,7 +28,7 @@ var TableIndex = /** @class */ (function () {
28
28
  TableIndex.prototype.clone = function () {
29
29
  return new TableIndex({
30
30
  name: this.name,
31
- columnNames: __spread(this.columnNames),
31
+ columnNames: __spreadArray([], __read(this.columnNames)),
32
32
  isUnique: this.isUnique,
33
33
  isSpatial: this.isSpatial,
34
34
  isFulltext: this.isFulltext,
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/schema-builder/table/TableIndex.ts"],"names":[],"mappings":";AAGA;;GAEG;AACH;IA4CI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,oBAAY,OAA0B;QArCtC;;WAEG;QACH,gBAAW,GAAa,EAAE,CAAC;QAmCvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,0BAAK,GAAL;QACI,OAAO,IAAI,UAAU,CAAoB;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,WAAM,IAAI,CAAC,WAAW,CAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACI,iBAAM,GAAb,UAAc,aAA4B;QACtC,OAAO,IAAI,UAAU,CAAoB;YACrC,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,YAAY,EAAnB,CAAmB,CAAC;YACrE,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,KAAK,EAAE,aAAa,CAAC,KAAK;SAC7B,CAAC,CAAC;IACP,CAAC;IAEL,iBAAC;AAAD,CAhGA,AAgGC,IAAA","file":"TableIndex.js","sourcesContent":["import {IndexMetadata} from \"../../metadata/IndexMetadata\";\nimport {TableIndexOptions} from \"../options/TableIndexOptions\";\n\n/**\n * Database's table index stored in this class.\n */\nexport class TableIndex {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Index name.\n */\n name?: string;\n\n /**\n * Columns included in this index.\n */\n columnNames: string[] = [];\n\n /**\n * Indicates if this index is unique.\n */\n isUnique: boolean;\n\n /**\n * The SPATIAL modifier indexes the entire column and does not allow indexed columns to contain NULL values.\n * Works only in MySQL.\n */\n isSpatial: boolean;\n\n /**\n * The FULLTEXT modifier indexes the entire column and does not allow prefixing.\n * Works only in MySQL.\n */\n isFulltext: boolean;\n\n /**\n * Fulltext parser.\n * Works only in MySQL.\n */\n parser?: string;\n\n /**\n * Index filter condition.\n */\n where: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: TableIndexOptions) {\n this.name = options.name;\n this.columnNames = options.columnNames;\n this.isUnique = !!options.isUnique;\n this.isSpatial = !!options.isSpatial;\n this.isFulltext = !!options.isFulltext;\n this.parser = options.parser;\n this.where = options.where ? options.where : \"\";\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new copy of this index with exactly same properties.\n */\n clone(): TableIndex {\n return new TableIndex(<TableIndexOptions>{\n name: this.name,\n columnNames: [...this.columnNames],\n isUnique: this.isUnique,\n isSpatial: this.isSpatial,\n isFulltext: this.isFulltext,\n parser: this.parser,\n where: this.where\n });\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates index from the index metadata object.\n */\n static create(indexMetadata: IndexMetadata): TableIndex {\n return new TableIndex(<TableIndexOptions>{\n name: indexMetadata.name,\n columnNames: indexMetadata.columns.map(column => column.databaseName),\n isUnique: indexMetadata.isUnique,\n isSpatial: indexMetadata.isSpatial,\n isFulltext: indexMetadata.isFulltext,\n parser: indexMetadata.parser,\n where: indexMetadata.where\n });\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/schema-builder/table/TableIndex.ts"],"names":[],"mappings":";AAGA;;GAEG;AACH;IA4CI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,oBAAY,OAA0B;QArCtC;;WAEG;QACH,gBAAW,GAAa,EAAE,CAAC;QAmCvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,0BAAK,GAAL;QACI,OAAO,IAAI,UAAU,CAAoB;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,2BAAM,IAAI,CAAC,WAAW,EAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACI,iBAAM,GAAb,UAAc,aAA4B;QACtC,OAAO,IAAI,UAAU,CAAoB;YACrC,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,YAAY,EAAnB,CAAmB,CAAC;YACrE,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,KAAK,EAAE,aAAa,CAAC,KAAK;SAC7B,CAAC,CAAC;IACP,CAAC;IAEL,iBAAC;AAAD,CAhGA,AAgGC,IAAA","file":"TableIndex.js","sourcesContent":["import {IndexMetadata} from \"../../metadata/IndexMetadata\";\nimport {TableIndexOptions} from \"../options/TableIndexOptions\";\n\n/**\n * Database's table index stored in this class.\n */\nexport class TableIndex {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Index name.\n */\n name?: string;\n\n /**\n * Columns included in this index.\n */\n columnNames: string[] = [];\n\n /**\n * Indicates if this index is unique.\n */\n isUnique: boolean;\n\n /**\n * The SPATIAL modifier indexes the entire column and does not allow indexed columns to contain NULL values.\n * Works only in MySQL.\n */\n isSpatial: boolean;\n\n /**\n * The FULLTEXT modifier indexes the entire column and does not allow prefixing.\n * Works only in MySQL.\n */\n isFulltext: boolean;\n\n /**\n * Fulltext parser.\n * Works only in MySQL.\n */\n parser?: string;\n\n /**\n * Index filter condition.\n */\n where: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: TableIndexOptions) {\n this.name = options.name;\n this.columnNames = options.columnNames;\n this.isUnique = !!options.isUnique;\n this.isSpatial = !!options.isSpatial;\n this.isFulltext = !!options.isFulltext;\n this.parser = options.parser;\n this.where = options.where ? options.where : \"\";\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new copy of this index with exactly same properties.\n */\n clone(): TableIndex {\n return new TableIndex(<TableIndexOptions>{\n name: this.name,\n columnNames: [...this.columnNames],\n isUnique: this.isUnique,\n isSpatial: this.isSpatial,\n isFulltext: this.isFulltext,\n parser: this.parser,\n where: this.where\n });\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates index from the index metadata object.\n */\n static create(indexMetadata: IndexMetadata): TableIndex {\n return new TableIndex(<TableIndexOptions>{\n name: indexMetadata.name,\n columnNames: indexMetadata.columns.map(column => column.databaseName),\n isUnique: indexMetadata.isUnique,\n isSpatial: indexMetadata.isSpatial,\n isFulltext: indexMetadata.isFulltext,\n parser: indexMetadata.parser,\n where: indexMetadata.where\n });\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -1,4 +1,4 @@
1
- import { __read, __spread } from "tslib";
1
+ import { __read, __spreadArray } from "tslib";
2
2
  /**
3
3
  * Database's table unique constraint stored in this class.
4
4
  */
@@ -23,7 +23,7 @@ var TableUnique = /** @class */ (function () {
23
23
  TableUnique.prototype.clone = function () {
24
24
  return new TableUnique({
25
25
  name: this.name,
26
- columnNames: __spread(this.columnNames)
26
+ columnNames: __spreadArray([], __read(this.columnNames))
27
27
  });
28
28
  };
29
29
  // -------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/schema-builder/table/TableUnique.ts"],"names":[],"mappings":";AAGA;;GAEG;AACH;IAgBI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,qBAAY,OAA2B;QATvC;;WAEG;QACH,gBAAW,GAAa,EAAE,CAAC;QAOvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,2BAAK,GAAL;QACI,OAAO,IAAI,WAAW,CAAqB;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,WAAM,IAAI,CAAC,WAAW,CAAC;SACrC,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACI,kBAAM,GAAb,UAAc,cAA8B;QACxC,OAAO,IAAI,WAAW,CAAqB;YACvC,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,YAAY,EAAnB,CAAmB,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;IAEL,kBAAC;AAAD,CArDA,AAqDC,IAAA","file":"TableUnique.js","sourcesContent":["import {TableUniqueOptions} from \"../options/TableUniqueOptions\";\nimport {UniqueMetadata} from \"../../metadata/UniqueMetadata\";\n\n/**\n * Database's table unique constraint stored in this class.\n */\nexport class TableUnique {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Constraint name.\n */\n name?: string;\n\n /**\n * Columns that contains this constraint.\n */\n columnNames: string[] = [];\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: TableUniqueOptions) {\n this.name = options.name;\n this.columnNames = options.columnNames;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new copy of this constraint with exactly same properties.\n */\n clone(): TableUnique {\n return new TableUnique(<TableUniqueOptions>{\n name: this.name,\n columnNames: [...this.columnNames]\n });\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates unique from the unique metadata object.\n */\n static create(uniqueMetadata: UniqueMetadata): TableUnique {\n return new TableUnique(<TableUniqueOptions>{\n name: uniqueMetadata.name,\n columnNames: uniqueMetadata.columns.map(column => column.databaseName)\n });\n }\n\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/schema-builder/table/TableUnique.ts"],"names":[],"mappings":";AAGA;;GAEG;AACH;IAgBI,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,qBAAY,OAA2B;QATvC;;WAEG;QACH,gBAAW,GAAa,EAAE,CAAC;QAOvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,2BAAK,GAAL;QACI,OAAO,IAAI,WAAW,CAAqB;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,2BAAM,IAAI,CAAC,WAAW,EAAC;SACrC,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACI,kBAAM,GAAb,UAAc,cAA8B;QACxC,OAAO,IAAI,WAAW,CAAqB;YACvC,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,YAAY,EAAnB,CAAmB,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;IAEL,kBAAC;AAAD,CArDA,AAqDC,IAAA","file":"TableUnique.js","sourcesContent":["import {TableUniqueOptions} from \"../options/TableUniqueOptions\";\nimport {UniqueMetadata} from \"../../metadata/UniqueMetadata\";\n\n/**\n * Database's table unique constraint stored in this class.\n */\nexport class TableUnique {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Constraint name.\n */\n name?: string;\n\n /**\n * Columns that contains this constraint.\n */\n columnNames: string[] = [];\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: TableUniqueOptions) {\n this.name = options.name;\n this.columnNames = options.columnNames;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a new copy of this constraint with exactly same properties.\n */\n clone(): TableUnique {\n return new TableUnique(<TableUniqueOptions>{\n name: this.name,\n columnNames: [...this.columnNames]\n });\n }\n\n // -------------------------------------------------------------------------\n // Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates unique from the unique metadata object.\n */\n static create(uniqueMetadata: UniqueMetadata): TableUnique {\n return new TableUnique(<TableUniqueOptions>{\n name: uniqueMetadata.name,\n columnNames: uniqueMetadata.columns.map(column => column.databaseName)\n });\n }\n\n}"],"sourceRoot":"../.."}
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=EntitySubscriberInterface.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=InsertEvent.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=LoadEvent.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=RemoveEvent.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TransactionCommitEvent.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TransactionRollbackEvent.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=TransactionStartEvent.js.map
@@ -1,3 +1,3 @@
1
-
1
+ export {};
2
2
 
3
3
  //# sourceMappingURL=UpdateEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/util/DateUtils.ts"],"names":[],"mappings":"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","file":"DateUtils.js","sourcesContent":["import { ColumnMetadata } from \"../metadata/ColumnMetadata\";\n\n/**\n * Provides utilities to transform hydrated and persisted data.\n */\nexport class DateUtils {\n\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Normalizes date object hydrated from the database.\n */\n static normalizeHydratedDate(mixedDate: Date|string|undefined): Date|string|undefined {\n if (!mixedDate)\n return mixedDate;\n\n return typeof mixedDate === \"string\" ? new Date(mixedDate) : mixedDate as Date;\n }\n\n /**\n * Converts given value into date string in a \"YYYY-MM-DD\" format.\n */\n static mixedDateToDateString(value: string|Date): string {\n if (value instanceof Date)\n return this.formatZerolessValue(value.getFullYear()) + \"-\" + this.formatZerolessValue(value.getMonth() + 1) + \"-\" + this.formatZerolessValue(value.getDate());\n\n return value;\n }\n\n /**\n * Converts given value into date object.\n */\n static mixedDateToDate(mixedDate: Date|string, toUtc: boolean = false, useMilliseconds = true): Date {\n let date = typeof mixedDate === \"string\" ? new Date(mixedDate) : mixedDate;\n\n if (toUtc)\n date = new Date(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds()\n );\n\n if (!useMilliseconds)\n date.setUTCMilliseconds(0);\n\n return date;\n }\n\n /**\n * Converts given value into time string in a \"HH:mm:ss\" format.\n */\n static mixedDateToTimeString(value: Date|any, skipSeconds: boolean = false): string|any {\n if (value instanceof Date)\n return this.formatZerolessValue(value.getHours()) +\n \":\" + this.formatZerolessValue(value.getMinutes()) +\n (!skipSeconds ? \":\" + this.formatZerolessValue(value.getSeconds()) : \"\");\n\n return value;\n }\n\n /**\n * Converts given value into time string in a \"HH:mm:ss\" format.\n */\n static mixedTimeToDate(value: Date|any): string|any {\n if (typeof value === \"string\") {\n const [hours, minutes, seconds] = value.split(\":\");\n const date = new Date();\n if (hours)\n date.setHours(parseInt(hours));\n if (minutes)\n date.setMinutes(parseInt(minutes));\n if (seconds)\n date.setSeconds(parseInt(seconds));\n return date;\n }\n\n return value;\n }\n\n /**\n * Converts given string value with \"-\" separator into a \"HH:mm:ss\" format.\n */\n static mixedTimeToString(value: string|any, skipSeconds: boolean = false): string|any {\n value = value instanceof Date ? (value.getHours() + \":\" + value.getMinutes() + (!skipSeconds ? \":\" + value.getSeconds() : \"\")) : value;\n if (typeof value === \"string\") {\n return value.split(\":\")\n .map(v => v.length === 1 ? \"0\" + v : v) // append zero at beginning if we have a first-zero-less number\n .join(\":\");\n }\n\n return value;\n }\n\n /**\n * Converts given value into datetime string in a \"YYYY-MM-DD HH-mm-ss\" format.\n */\n static mixedDateToDatetimeString(value: Date|any, useMilliseconds?: boolean): string|any {\n if (typeof value === \"string\") {\n value = new Date(value);\n }\n if (value instanceof Date) {\n let finalValue = this.formatZerolessValue(value.getFullYear()) + \"-\" +\n this.formatZerolessValue(value.getMonth() + 1) + \"-\" +\n this.formatZerolessValue(value.getDate()) + \" \" +\n this.formatZerolessValue(value.getHours()) + \":\" +\n this.formatZerolessValue(value.getMinutes()) + \":\" +\n this.formatZerolessValue(value.getSeconds());\n\n if (useMilliseconds)\n finalValue += `.${this.formatMilliseconds(value.getMilliseconds())}`;\n\n value = finalValue;\n }\n\n\n return value;\n }\n\n /**\n * Converts given value into utc datetime string in a \"YYYY-MM-DD HH-mm-ss.sss\" format.\n */\n static mixedDateToUtcDatetimeString(value: Date|any): string|any {\n if (typeof value === \"string\") {\n value = new Date(value);\n }\n if (value instanceof Date) {\n return this.formatZerolessValue(value.getUTCFullYear()) + \"-\" +\n this.formatZerolessValue(value.getUTCMonth() + 1) + \"-\" +\n this.formatZerolessValue(value.getUTCDate()) + \" \" +\n this.formatZerolessValue(value.getUTCHours()) + \":\" +\n this.formatZerolessValue(value.getUTCMinutes()) + \":\" +\n this.formatZerolessValue(value.getUTCSeconds()) + \".\" +\n this.formatMilliseconds(value.getUTCMilliseconds());\n }\n\n return value;\n }\n\n /**\n * Converts each item in the given array to string joined by \",\" separator.\n */\n static simpleArrayToString(value: any[]|any): string[]|any {\n if (Array.isArray(value)) {\n return (value as any[])\n .map(i => String(i))\n .join(\",\");\n }\n\n return value;\n }\n\n /**\n * Converts given string to simple array split by \",\" separator.\n */\n static stringToSimpleArray(value: string|any): string|any {\n if (value instanceof String || typeof value === \"string\") {\n if (value.length > 0) {\n return value.split(\",\");\n } else {\n return [];\n }\n }\n\n return value;\n }\n\n static simpleJsonToString(value: any): string {\n return JSON.stringify(value);\n }\n\n static stringToSimpleJson(value: any) {\n return typeof value === \"string\" ? JSON.parse(value) : value;\n }\n\n static simpleEnumToString(value: any) {\n return \"\" + value;\n }\n\n static stringToSimpleEnum(value: any, columnMetadata: ColumnMetadata) {\n if (\n columnMetadata.enum\n && !isNaN(value)\n && columnMetadata.enum.indexOf(parseInt(value)) >= 0\n ) {\n // convert to number if that exists in poosible enum options\n value = parseInt(value);\n }\n\n return value;\n }\n\n // -------------------------------------------------------------------------\n // Private Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats given number to \"0x\" format, e.g. if it is 1 then it will return \"01\".\n */\n private static formatZerolessValue(value: number): string {\n if (value < 10)\n return \"0\" + value;\n\n return String(value);\n }\n\n /**\n * Formats given number to \"0x\" format, e.g. if it is 1 then it will return \"01\".\n */\n private static formatMilliseconds(value: number): string {\n if (value < 10) {\n return \"00\" + value;\n } else if (value < 100) {\n return \"0\" + value;\n } else {\n return String(value);\n }\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/util/DateUtils.ts"],"names":[],"mappings":"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","file":"DateUtils.js","sourcesContent":["import { ColumnMetadata } from \"../metadata/ColumnMetadata\";\n\n/**\n * Provides utilities to transform hydrated and persisted data.\n */\nexport class DateUtils {\n\n // -------------------------------------------------------------------------\n // Public Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Normalizes date object hydrated from the database.\n */\n static normalizeHydratedDate(mixedDate: Date|string|undefined): Date|string|undefined {\n if (!mixedDate)\n return mixedDate;\n\n return typeof mixedDate === \"string\" ? new Date(mixedDate) : mixedDate as Date;\n }\n\n /**\n * Converts given value into date string in a \"YYYY-MM-DD\" format.\n */\n static mixedDateToDateString(value: string|Date): string {\n if (value instanceof Date)\n return this.formatZerolessValue(value.getFullYear()) + \"-\" + this.formatZerolessValue(value.getMonth() + 1) + \"-\" + this.formatZerolessValue(value.getDate());\n\n return value;\n }\n\n /**\n * Converts given value into date object.\n */\n static mixedDateToDate(mixedDate: Date|string, toUtc: boolean = false, useMilliseconds = true): Date {\n let date = typeof mixedDate === \"string\" ? new Date(mixedDate) : mixedDate;\n\n if (toUtc)\n date = new Date(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds()\n );\n\n if (!useMilliseconds)\n date.setUTCMilliseconds(0);\n\n return date;\n }\n\n /**\n * Converts given value into time string in a \"HH:mm:ss\" format.\n */\n static mixedDateToTimeString(value: Date|any, skipSeconds: boolean = false): string|any {\n if (value instanceof Date)\n return this.formatZerolessValue(value.getHours()) +\n \":\" + this.formatZerolessValue(value.getMinutes()) +\n (!skipSeconds ? \":\" + this.formatZerolessValue(value.getSeconds()) : \"\");\n\n return value;\n }\n\n /**\n * Converts given value into time string in a \"HH:mm:ss\" format.\n */\n static mixedTimeToDate(value: Date|any): string|any {\n if (typeof value === \"string\") {\n const [hours, minutes, seconds] = value.split(\":\");\n const date = new Date();\n if (hours)\n date.setHours(parseInt(hours));\n if (minutes)\n date.setMinutes(parseInt(minutes));\n if (seconds)\n date.setSeconds(parseInt(seconds));\n return date;\n }\n\n return value;\n }\n\n /**\n * Converts given string value with \"-\" separator into a \"HH:mm:ss\" format.\n */\n static mixedTimeToString(value: string|any, skipSeconds: boolean = false): string|any {\n value = value instanceof Date ? (value.getHours() + \":\" + value.getMinutes() + (!skipSeconds ? \":\" + value.getSeconds() : \"\")) : value;\n if (typeof value === \"string\") {\n return value.split(\":\")\n .map(v => v.length === 1 ? \"0\" + v : v) // append zero at beginning if we have a first-zero-less number\n .join(\":\");\n }\n\n return value;\n }\n\n /**\n * Converts given value into datetime string in a \"YYYY-MM-DD HH-mm-ss\" format.\n */\n static mixedDateToDatetimeString(value: Date|any, useMilliseconds?: boolean): string|any {\n if (typeof value === \"string\") {\n value = new Date(value);\n }\n if (value instanceof Date) {\n let finalValue = this.formatZerolessValue(value.getFullYear()) + \"-\" +\n this.formatZerolessValue(value.getMonth() + 1) + \"-\" +\n this.formatZerolessValue(value.getDate()) + \" \" +\n this.formatZerolessValue(value.getHours()) + \":\" +\n this.formatZerolessValue(value.getMinutes()) + \":\" +\n this.formatZerolessValue(value.getSeconds());\n\n if (useMilliseconds)\n finalValue += `.${this.formatMilliseconds(value.getMilliseconds())}`;\n\n value = finalValue;\n }\n\n\n return value;\n }\n\n /**\n * Converts given value into utc datetime string in a \"YYYY-MM-DD HH-mm-ss.sss\" format.\n */\n static mixedDateToUtcDatetimeString(value: Date|any): string|any {\n if (typeof value === \"string\") {\n value = new Date(value);\n }\n if (value instanceof Date) {\n return this.formatZerolessValue(value.getUTCFullYear()) + \"-\" +\n this.formatZerolessValue(value.getUTCMonth() + 1) + \"-\" +\n this.formatZerolessValue(value.getUTCDate()) + \" \" +\n this.formatZerolessValue(value.getUTCHours()) + \":\" +\n this.formatZerolessValue(value.getUTCMinutes()) + \":\" +\n this.formatZerolessValue(value.getUTCSeconds()) + \".\" +\n this.formatMilliseconds(value.getUTCMilliseconds());\n }\n\n return value;\n }\n\n /**\n * Converts each item in the given array to string joined by \",\" separator.\n */\n static simpleArrayToString(value: any[]|any): string[]|any {\n if (Array.isArray(value)) {\n return (value as any[])\n .map(i => String(i))\n .join(\",\");\n }\n\n return value;\n }\n\n /**\n * Converts given string to simple array split by \",\" separator.\n */\n static stringToSimpleArray(value: string|any): string|any {\n if (value instanceof String || typeof value === \"string\") {\n if (value.length > 0) {\n return value.split(\",\");\n } else {\n return [];\n }\n }\n\n return value;\n }\n\n static simpleJsonToString(value: any): string {\n return JSON.stringify(value);\n }\n\n static stringToSimpleJson(value: any) {\n return typeof value === \"string\" ? JSON.parse(value) : value;\n }\n\n static simpleEnumToString(value: any) {\n return \"\" + value;\n }\n\n static stringToSimpleEnum(value: any, columnMetadata: ColumnMetadata) {\n if (\n columnMetadata.enum\n && !isNaN(value)\n && columnMetadata.enum.indexOf(parseInt(value)) >= 0\n ) {\n // convert to number if that exists in poosible enum options\n value = parseInt(value);\n }\n\n return value;\n }\n\n // -------------------------------------------------------------------------\n // Private Static Methods\n // -------------------------------------------------------------------------\n\n /**\n * Formats given number to \"0x\" format, e.g. if it is 1 then it will return \"01\".\n */\n private static formatZerolessValue(value: number): string {\n if (value < 10)\n return \"0\" + value;\n\n return String(value);\n }\n\n /**\n * Formats given number to \"0x\" format, e.g. if it is 1 then it will return \"01\".\n */\n private static formatMilliseconds(value: number): string {\n if (value < 10) {\n return \"00\" + value;\n } else if (value < 100) {\n return \"0\" + value;\n } else {\n return String(value);\n }\n }\n\n}\n"],"sourceRoot":".."}
@@ -11,7 +11,7 @@ export declare class OrmUtils {
11
11
  }[];
12
12
  static uniq<T>(array: T[], criteria?: (item: T) => any): T[];
13
13
  static uniq<T, K extends keyof T>(array: T[], property: K): T[];
14
- static isObject(item: any): boolean;
14
+ static isObject(item: any): any;
15
15
  /**
16
16
  * Deep Object.assign.
17
17
  *
@@ -1,4 +1,4 @@
1
- import { __read, __spread } from "tslib";
1
+ import { __read, __spreadArray } from "tslib";
2
2
  var OrmUtils = /** @class */ (function () {
3
3
  function OrmUtils() {
4
4
  }
@@ -86,7 +86,7 @@ var OrmUtils = /** @class */ (function () {
86
86
  }
87
87
  }
88
88
  }
89
- return this.mergeDeep.apply(this, __spread([target], sources));
89
+ return this.mergeDeep.apply(this, __spreadArray([target], __read(sources)));
90
90
  };
91
91
  /**
92
92
  * Deep compare objects.
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/util/OrmUtils.ts"],"names":[],"mappings":"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","file":"OrmUtils.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\n\nexport class OrmUtils {\n\n // -------------------------------------------------------------------------\n // Public methods\n // -------------------------------------------------------------------------\n\n /**\n * Chunks array into peaces.\n */\n static chunk<T>(array: T[], size: number): T[][] {\n return Array.from(Array(Math.ceil(array.length / size)), (_, i) => {\n return array.slice(i * size, i * size + size);\n });\n }\n\n static splitClassesAndStrings<T>(clsesAndStrings: (string | T)[]): [T[], string[]] {\n return [\n (clsesAndStrings).filter((cls): cls is T => typeof cls !== \"string\"),\n (clsesAndStrings).filter((str): str is string => typeof str === \"string\"),\n ];\n }\n\n static groupBy<T, R>(array: T[], propertyCallback: (item: T) => R): { id: R, items: T[] }[] {\n return array.reduce((groupedArray, value) => {\n const key = propertyCallback(value);\n let grouped = groupedArray.find(i => i.id === key);\n if (!grouped) {\n grouped = { id: key, items: [] };\n groupedArray.push(grouped);\n }\n grouped.items.push(value);\n return groupedArray;\n }, [] as Array<{ id: R, items: T[] }>);\n }\n\n static uniq<T>(array: T[], criteria?: (item: T) => any): T[];\n static uniq<T, K extends keyof T>(array: T[], property: K): T[];\n static uniq<T, K extends keyof T>(array: T[], criteriaOrProperty?: ((item: T) => any) | K): T[] {\n return array.reduce((uniqueArray, item) => {\n let found: boolean = false;\n if (criteriaOrProperty instanceof Function) {\n const itemValue = criteriaOrProperty(item);\n found = !!uniqueArray.find(uniqueItem => criteriaOrProperty(uniqueItem) === itemValue);\n\n } else if (typeof criteriaOrProperty === \"string\") {\n found = !!uniqueArray.find(uniqueItem => uniqueItem[criteriaOrProperty] === item[criteriaOrProperty]);\n\n } else {\n found = uniqueArray.indexOf(item) !== -1;\n }\n\n if (!found)\n uniqueArray.push(item);\n\n return uniqueArray;\n }, [] as T[]);\n }\n\n static isObject(item: any) {\n return (item && typeof item === \"object\" && !Array.isArray(item));\n }\n\n /**\n * Deep Object.assign.\n *\n * @see http://stackoverflow.com/a/34749873\n */\n static mergeDeep(target: any, ...sources: any[]): any {\n if (!sources.length) return target;\n const source = sources.shift();\n\n if (this.isObject(target) && this.isObject(source)) {\n for (const key in source) {\n const value = source[key];\n if (key === \"__proto__\" || value instanceof Promise)\n continue;\n\n if (this.isObject(value)\n && !(value instanceof Map)\n && !(value instanceof Set)\n && !(value instanceof Date)\n && !(value instanceof Buffer)\n && !(value instanceof RegExp)) {\n if (!target[key])\n Object.assign(target, { [key]: Object.create(Object.getPrototypeOf(value)) });\n this.mergeDeep(target[key], value);\n } else {\n Object.assign(target, { [key]: value });\n }\n }\n }\n\n return this.mergeDeep(target, ...sources);\n }\n\n /**\n * Deep compare objects.\n *\n * @see http://stackoverflow.com/a/1144249\n */\n static deepCompare(...args: any[]): boolean {\n let i: any, l: any, leftChain: any, rightChain: any;\n\n if (arguments.length < 1) {\n return true; // Die silently? Don't know how to handle such case, please help...\n // throw \"Need two or more arguments to compare\";\n }\n\n for (i = 1, l = arguments.length; i < l; i++) {\n\n leftChain = []; // Todo: this can be cached\n rightChain = [];\n\n if (!this.compare2Objects(leftChain, rightChain, arguments[0], arguments[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Check if two entity-id-maps are the same\n */\n static compareIds(firstId: ObjectLiteral|undefined, secondId: ObjectLiteral|undefined): boolean {\n if (firstId === undefined || firstId === null || secondId === undefined || secondId === null)\n return false;\n\n // Optimized version for the common case\n if (\n ((typeof firstId.id === \"string\" && typeof secondId.id === \"string\") ||\n (typeof firstId.id === \"number\" && typeof secondId.id === \"number\")) &&\n Object.keys(firstId).length === 1 &&\n Object.keys(secondId).length === 1\n ) {\n return firstId.id === secondId.id;\n }\n\n return OrmUtils.deepCompare(firstId, secondId);\n }\n\n /**\n * Transforms given value into boolean value.\n */\n static toBoolean(value: any): boolean {\n if (typeof value === \"boolean\")\n return value;\n\n if (typeof value === \"string\")\n return value === \"true\" || value === \"1\";\n\n if (typeof value === \"number\")\n return value > 0;\n\n return false;\n }\n\n /**\n * Composes an object from the given array of keys and values.\n */\n static zipObject(keys: any[], values: any[]): ObjectLiteral {\n return keys.reduce((object, column, index) => {\n object[column] = values[index];\n return object;\n }, {} as ObjectLiteral);\n }\n\n /**\n * Compares two arrays.\n */\n static isArraysEqual(arr1: any[], arr2: any[]): boolean {\n if (arr1.length !== arr2.length) return false;\n return arr1.every(element => {\n return arr2.indexOf(element) !== -1;\n });\n }\n\n // -------------------------------------------------------------------------\n // Private methods\n // -------------------------------------------------------------------------\n\n private static compare2Objects(leftChain: any, rightChain: any, x: any, y: any) {\n let p;\n\n // remember that NaN === NaN returns false\n // and isNaN(undefined) returns true\n if (Number.isNaN(x) && Number.isNaN(y))\n return true;\n\n // Compare primitives and functions.\n // Check if both arguments link to the same object.\n // Especially useful on the step where we compare prototypes\n if (x === y)\n return true;\n\n // Unequal, but either is null or undefined (use case: jsonb comparasion)\n // PR #3776, todo: add tests\n if (x === null || y === null || x === undefined || y === undefined)\n return false;\n\n // Fix the buffer compare bug.\n // See: https://github.com/typeorm/typeorm/issues/3654\n if ((typeof x.equals === \"function\" || x.equals instanceof Function) && x.equals(y))\n return true;\n\n // Works in case when functions are created in constructor.\n // Comparing dates is a common scenario. Another built-ins?\n // We can even handle functions passed across iframes\n if ((typeof x === \"function\" && typeof y === \"function\") ||\n (x instanceof Date && y instanceof Date) ||\n (x instanceof RegExp && y instanceof RegExp) ||\n (x instanceof String && y instanceof String) ||\n (x instanceof Number && y instanceof Number))\n return x.toString() === y.toString();\n\n // At last checking prototypes as good as we can\n if (!(x instanceof Object && y instanceof Object))\n return false;\n\n if (x.isPrototypeOf(y) || y.isPrototypeOf(x))\n return false;\n\n if (x.constructor !== y.constructor)\n return false;\n\n if (x.prototype !== y.prototype)\n return false;\n\n // Check for infinitive linking loops\n if (leftChain.indexOf(x) > -1 || rightChain.indexOf(y) > -1)\n return false;\n\n // Quick checking of one object being a subset of another.\n // todo: cache the structure of arguments[0] for performance\n for (p in y) {\n if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {\n return false;\n }\n else if (typeof y[p] !== typeof x[p]) {\n return false;\n }\n }\n\n for (p in x) {\n if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {\n return false;\n }\n else if (typeof y[p] !== typeof x[p]) {\n return false;\n }\n\n switch (typeof (x[p])) {\n case \"object\":\n case \"function\":\n\n leftChain.push(x);\n rightChain.push(y);\n\n if (!this.compare2Objects(leftChain, rightChain, x[p], y[p])) {\n return false;\n }\n\n leftChain.pop();\n rightChain.pop();\n break;\n\n default:\n if (x[p] !== y[p]) {\n return false;\n }\n break;\n }\n }\n\n return true;\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/util/OrmUtils.ts"],"names":[],"mappings":"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","file":"OrmUtils.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\n\nexport class OrmUtils {\n\n // -------------------------------------------------------------------------\n // Public methods\n // -------------------------------------------------------------------------\n\n /**\n * Chunks array into peaces.\n */\n static chunk<T>(array: T[], size: number): T[][] {\n return Array.from(Array(Math.ceil(array.length / size)), (_, i) => {\n return array.slice(i * size, i * size + size);\n });\n }\n\n static splitClassesAndStrings<T>(clsesAndStrings: (string | T)[]): [T[], string[]] {\n return [\n (clsesAndStrings).filter((cls): cls is T => typeof cls !== \"string\"),\n (clsesAndStrings).filter((str): str is string => typeof str === \"string\"),\n ];\n }\n\n static groupBy<T, R>(array: T[], propertyCallback: (item: T) => R): { id: R, items: T[] }[] {\n return array.reduce((groupedArray, value) => {\n const key = propertyCallback(value);\n let grouped = groupedArray.find(i => i.id === key);\n if (!grouped) {\n grouped = { id: key, items: [] };\n groupedArray.push(grouped);\n }\n grouped.items.push(value);\n return groupedArray;\n }, [] as Array<{ id: R, items: T[] }>);\n }\n\n static uniq<T>(array: T[], criteria?: (item: T) => any): T[];\n static uniq<T, K extends keyof T>(array: T[], property: K): T[];\n static uniq<T, K extends keyof T>(array: T[], criteriaOrProperty?: ((item: T) => any) | K): T[] {\n return array.reduce((uniqueArray, item) => {\n let found: boolean = false;\n if (criteriaOrProperty instanceof Function) {\n const itemValue = criteriaOrProperty(item);\n found = !!uniqueArray.find(uniqueItem => criteriaOrProperty(uniqueItem) === itemValue);\n\n } else if (typeof criteriaOrProperty === \"string\") {\n found = !!uniqueArray.find(uniqueItem => uniqueItem[criteriaOrProperty] === item[criteriaOrProperty]);\n\n } else {\n found = uniqueArray.indexOf(item) !== -1;\n }\n\n if (!found)\n uniqueArray.push(item);\n\n return uniqueArray;\n }, [] as T[]);\n }\n\n static isObject(item: any) {\n return (item && typeof item === \"object\" && !Array.isArray(item));\n }\n\n /**\n * Deep Object.assign.\n *\n * @see http://stackoverflow.com/a/34749873\n */\n static mergeDeep(target: any, ...sources: any[]): any {\n if (!sources.length) return target;\n const source = sources.shift();\n\n if (this.isObject(target) && this.isObject(source)) {\n for (const key in source) {\n const value = source[key];\n if (key === \"__proto__\" || value instanceof Promise)\n continue;\n\n if (this.isObject(value)\n && !(value instanceof Map)\n && !(value instanceof Set)\n && !(value instanceof Date)\n && !(value instanceof Buffer)\n && !(value instanceof RegExp)) {\n if (!target[key])\n Object.assign(target, { [key]: Object.create(Object.getPrototypeOf(value)) });\n this.mergeDeep(target[key], value);\n } else {\n Object.assign(target, { [key]: value });\n }\n }\n }\n\n return this.mergeDeep(target, ...sources);\n }\n\n /**\n * Deep compare objects.\n *\n * @see http://stackoverflow.com/a/1144249\n */\n static deepCompare(...args: any[]): boolean {\n let i: any, l: any, leftChain: any, rightChain: any;\n\n if (arguments.length < 1) {\n return true; // Die silently? Don't know how to handle such case, please help...\n // throw \"Need two or more arguments to compare\";\n }\n\n for (i = 1, l = arguments.length; i < l; i++) {\n\n leftChain = []; // Todo: this can be cached\n rightChain = [];\n\n if (!this.compare2Objects(leftChain, rightChain, arguments[0], arguments[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Check if two entity-id-maps are the same\n */\n static compareIds(firstId: ObjectLiteral|undefined, secondId: ObjectLiteral|undefined): boolean {\n if (firstId === undefined || firstId === null || secondId === undefined || secondId === null)\n return false;\n\n // Optimized version for the common case\n if (\n ((typeof firstId.id === \"string\" && typeof secondId.id === \"string\") ||\n (typeof firstId.id === \"number\" && typeof secondId.id === \"number\")) &&\n Object.keys(firstId).length === 1 &&\n Object.keys(secondId).length === 1\n ) {\n return firstId.id === secondId.id;\n }\n\n return OrmUtils.deepCompare(firstId, secondId);\n }\n\n /**\n * Transforms given value into boolean value.\n */\n static toBoolean(value: any): boolean {\n if (typeof value === \"boolean\")\n return value;\n\n if (typeof value === \"string\")\n return value === \"true\" || value === \"1\";\n\n if (typeof value === \"number\")\n return value > 0;\n\n return false;\n }\n\n /**\n * Composes an object from the given array of keys and values.\n */\n static zipObject(keys: any[], values: any[]): ObjectLiteral {\n return keys.reduce((object, column, index) => {\n object[column] = values[index];\n return object;\n }, {} as ObjectLiteral);\n }\n\n /**\n * Compares two arrays.\n */\n static isArraysEqual(arr1: any[], arr2: any[]): boolean {\n if (arr1.length !== arr2.length) return false;\n return arr1.every(element => {\n return arr2.indexOf(element) !== -1;\n });\n }\n\n // -------------------------------------------------------------------------\n // Private methods\n // -------------------------------------------------------------------------\n\n private static compare2Objects(leftChain: any, rightChain: any, x: any, y: any) {\n let p;\n\n // remember that NaN === NaN returns false\n // and isNaN(undefined) returns true\n if (Number.isNaN(x) && Number.isNaN(y))\n return true;\n\n // Compare primitives and functions.\n // Check if both arguments link to the same object.\n // Especially useful on the step where we compare prototypes\n if (x === y)\n return true;\n\n // Unequal, but either is null or undefined (use case: jsonb comparasion)\n // PR #3776, todo: add tests\n if (x === null || y === null || x === undefined || y === undefined)\n return false;\n\n // Fix the buffer compare bug.\n // See: https://github.com/typeorm/typeorm/issues/3654\n if ((typeof x.equals === \"function\" || x.equals instanceof Function) && x.equals(y))\n return true;\n\n // Works in case when functions are created in constructor.\n // Comparing dates is a common scenario. Another built-ins?\n // We can even handle functions passed across iframes\n if ((typeof x === \"function\" && typeof y === \"function\") ||\n (x instanceof Date && y instanceof Date) ||\n (x instanceof RegExp && y instanceof RegExp) ||\n (x instanceof String && y instanceof String) ||\n (x instanceof Number && y instanceof Number))\n return x.toString() === y.toString();\n\n // At last checking prototypes as good as we can\n if (!(x instanceof Object && y instanceof Object))\n return false;\n\n if (x.isPrototypeOf(y) || y.isPrototypeOf(x))\n return false;\n\n if (x.constructor !== y.constructor)\n return false;\n\n if (x.prototype !== y.prototype)\n return false;\n\n // Check for infinitive linking loops\n if (leftChain.indexOf(x) > -1 || rightChain.indexOf(y) > -1)\n return false;\n\n // Quick checking of one object being a subset of another.\n // todo: cache the structure of arguments[0] for performance\n for (p in y) {\n if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {\n return false;\n }\n else if (typeof y[p] !== typeof x[p]) {\n return false;\n }\n }\n\n for (p in x) {\n if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {\n return false;\n }\n else if (typeof y[p] !== typeof x[p]) {\n return false;\n }\n\n switch (typeof (x[p])) {\n case \"object\":\n case \"function\":\n\n leftChain.push(x);\n rightChain.push(y);\n\n if (!this.compare2Objects(leftChain, rightChain, x[p], y[p])) {\n return false;\n }\n\n leftChain.pop();\n rightChain.pop();\n break;\n\n default:\n if (x[p] !== y[p]) {\n return false;\n }\n break;\n }\n }\n\n return true;\n }\n\n}\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/util/StringUtils.ts"],"names":[],"mappings":"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","file":"StringUtils.js","sourcesContent":["import shajs from \"sha.js\";\n\n/**\n * Converts string into camelCase.\n *\n * @see http://stackoverflow.com/questions/2970525/converting-any-string-into-camel-case\n */\nexport function camelCase(str: string, firstCapital: boolean = false): string {\n return str.replace(/^([A-Z])|[\\s-_](\\w)/g, function(match, p1, p2, offset) {\n if (firstCapital === true && offset === 0) return p1;\n if (p2) return p2.toUpperCase();\n return p1.toLowerCase();\n });\n}\n\n/**\n * Converts string into snake_case.\n *\n * @see https://regex101.com/r/QeSm2I/1\n */\nexport function snakeCase(str: string) {\n return str.replace(/(?:([a-z])([A-Z]))|(?:((?!^)[A-Z])([a-z]))/g, \"$1_$3$2$4\").toLowerCase();\n}\n\n/**\n * Converts string into Title Case.\n *\n * @see http://stackoverflow.com/questions/196972/convert-string-to-title-case-with-javascript\n */\nexport function titleCase(str: string): string {\n return str.replace(/\\w\\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());\n}\n\n/**\n * Builds abbreviated string from given string;\n */\nexport function abbreviate(str: string, abbrLettersCount: number = 1): string {\n const words = str.replace(/([a-z\\xE0-\\xFF])([A-Z\\xC0\\xDF])/g, \"$1 $2\").split(\" \");\n return words.reduce((res, word) => {\n res += word.substr(0, abbrLettersCount);\n return res;\n }, \"\");\n}\n\nexport interface IShortenOptions {\n /** String used to split \"segments\" of the alias/column name */\n separator?: string;\n /** Maximum length of any \"segment\" */\n segmentLength?: number;\n /** Length of any \"term\" in a \"segment\"; \"OrderItem\" is a segment, \"Order\" and \"Items\" are terms */\n termLength?: number;\n }\n\n /**\n * Shorten a given `input`. Useful for RDBMS imposing a limit on the\n * maximum length of aliases and column names in SQL queries.\n *\n * @param input String to be shortened.\n * @param options Default to `4` for segments length, `2` for terms length, `'__'` as a separator.\n *\n * @return Shortened `input`.\n *\n * @example\n * // returns: \"UsShCa__orde__mark__dire\"\n * shorten('UserShoppingCart__order__market__director')\n *\n * // returns: \"cat_wit_ver_lon_nam_pos_wit_ver_lon_nam_pos_wit_ver_lon_nam\"\n * shorten(\n * 'category_with_very_long_name_posts_with_very_long_name_post_with_very_long_name',\n * { separator: '_', segmentLength: 3 }\n * )\n *\n * // equals: UsShCa__orde__mark_market_id\n * `${shorten('UserShoppingCart__order__market')}_market_id`\n */\n export function shorten(input: string, options: IShortenOptions = {}): string {\n const { segmentLength = 4, separator = \"__\", termLength = 2 } = options;\n\n const segments = input.split(separator);\n const shortSegments = segments.reduce((acc: string[], val: string) => {\n // split the given segment into many terms based on an eventual camel cased name\n const segmentTerms = val.replace(/([a-z\\xE0-\\xFF])([A-Z\\xC0-\\xDF])/g, \"$1 $2\").split(\" \");\n // \"OrderItemList\" becomes \"OrItLi\", while \"company\" becomes \"comp\"\n const length = segmentTerms.length > 1 ? termLength : segmentLength;\n const shortSegment = segmentTerms.map(term => term.substr(0, length)).join(\"\");\n\n acc.push(shortSegment);\n return acc;\n }, []);\n\n return shortSegments.join(separator);\n }\n\ninterface IHashOptions {\n length?: number;\n}\n\n/**\n * Returns a hashed input.\n *\n * @param input String to be hashed.\n * @param options.length Optionally, shorten the output to desired length.\n */\nexport function hash(input: string, options: IHashOptions = {}): string {\n const hashFunction = shajs(\"sha256\");\n\n hashFunction.update(input, \"utf8\");\n\n const hashedInput = hashFunction.digest(\"hex\");\n\n if (options.length) {\n return hashedInput.slice(0, options.length);\n }\n\n return hashedInput;\n }\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/util/StringUtils.ts"],"names":[],"mappings":"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","file":"StringUtils.js","sourcesContent":["import shajs from \"sha.js\";\n\n/**\n * Converts string into camelCase.\n *\n * @see http://stackoverflow.com/questions/2970525/converting-any-string-into-camel-case\n */\nexport function camelCase(str: string, firstCapital: boolean = false): string {\n return str.replace(/^([A-Z])|[\\s-_](\\w)/g, function(match, p1, p2, offset) {\n if (firstCapital === true && offset === 0) return p1;\n if (p2) return p2.toUpperCase();\n return p1.toLowerCase();\n });\n}\n\n/**\n * Converts string into snake_case.\n *\n * @see https://regex101.com/r/QeSm2I/1\n */\nexport function snakeCase(str: string) {\n return str.replace(/(?:([a-z])([A-Z]))|(?:((?!^)[A-Z])([a-z]))/g, \"$1_$3$2$4\").toLowerCase();\n}\n\n/**\n * Converts string into Title Case.\n *\n * @see http://stackoverflow.com/questions/196972/convert-string-to-title-case-with-javascript\n */\nexport function titleCase(str: string): string {\n return str.replace(/\\w\\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());\n}\n\n/**\n * Builds abbreviated string from given string;\n */\nexport function abbreviate(str: string, abbrLettersCount: number = 1): string {\n const words = str.replace(/([a-z\\xE0-\\xFF])([A-Z\\xC0\\xDF])/g, \"$1 $2\").split(\" \");\n return words.reduce((res, word) => {\n res += word.substr(0, abbrLettersCount);\n return res;\n }, \"\");\n}\n\nexport interface IShortenOptions {\n /** String used to split \"segments\" of the alias/column name */\n separator?: string;\n /** Maximum length of any \"segment\" */\n segmentLength?: number;\n /** Length of any \"term\" in a \"segment\"; \"OrderItem\" is a segment, \"Order\" and \"Items\" are terms */\n termLength?: number;\n }\n\n /**\n * Shorten a given `input`. Useful for RDBMS imposing a limit on the\n * maximum length of aliases and column names in SQL queries.\n *\n * @param input String to be shortened.\n * @param options Default to `4` for segments length, `2` for terms length, `'__'` as a separator.\n *\n * @return Shortened `input`.\n *\n * @example\n * // returns: \"UsShCa__orde__mark__dire\"\n * shorten('UserShoppingCart__order__market__director')\n *\n * // returns: \"cat_wit_ver_lon_nam_pos_wit_ver_lon_nam_pos_wit_ver_lon_nam\"\n * shorten(\n * 'category_with_very_long_name_posts_with_very_long_name_post_with_very_long_name',\n * { separator: '_', segmentLength: 3 }\n * )\n *\n * // equals: UsShCa__orde__mark_market_id\n * `${shorten('UserShoppingCart__order__market')}_market_id`\n */\n export function shorten(input: string, options: IShortenOptions = {}): string {\n const { segmentLength = 4, separator = \"__\", termLength = 2 } = options;\n\n const segments = input.split(separator);\n const shortSegments = segments.reduce((acc: string[], val: string) => {\n // split the given segment into many terms based on an eventual camel cased name\n const segmentTerms = val.replace(/([a-z\\xE0-\\xFF])([A-Z\\xC0-\\xDF])/g, \"$1 $2\").split(\" \");\n // \"OrderItemList\" becomes \"OrItLi\", while \"company\" becomes \"comp\"\n const length = segmentTerms.length > 1 ? termLength : segmentLength;\n const shortSegment = segmentTerms.map(term => term.substr(0, length)).join(\"\");\n\n acc.push(shortSegment);\n return acc;\n }, []);\n\n return shortSegments.join(separator);\n }\n\ninterface IHashOptions {\n length?: number;\n}\n\n/**\n * Returns a hashed input.\n *\n * @param input String to be hashed.\n * @param options.length Optionally, shorten the output to desired length.\n */\nexport function hash(input: string, options: IHashOptions = {}): string {\n const hashFunction = shajs(\"sha256\");\n\n hashFunction.update(input, \"utf8\");\n\n const hashedInput = hashFunction.digest(\"hex\");\n\n if (options.length) {\n return hashedInput.slice(0, options.length);\n }\n\n return hashedInput;\n }\n"],"sourceRoot":".."}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DbQueryResultCache = void 0;
3
4
  var tslib_1 = require("tslib");
4
5
  var OracleDriver_1 = require("../driver/oracle/OracleDriver");
5
6
  var MssqlParameter_1 = require("../driver/sqlserver/MssqlParameter");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cache/DbQueryResultCache.ts"],"names":[],"mappings":"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","file":"DbQueryResultCache.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {Connection} from \"../connection/Connection\";\nimport {OracleDriver} from \"../driver/oracle/OracleDriver\";\nimport {PostgresConnectionOptions} from \"../driver/postgres/PostgresConnectionOptions\";\nimport {MssqlParameter} from \"../driver/sqlserver/MssqlParameter\";\nimport {SqlServerConnectionOptions} from \"../driver/sqlserver/SqlServerConnectionOptions\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {Table} from \"../schema-builder/table/Table\";\nimport {QueryResultCache} from \"./QueryResultCache\";\nimport {QueryResultCacheOptions} from \"./QueryResultCacheOptions\";\n\n/**\n * Caches query result into current database, into separate table called \"query-result-cache\".\n */\nexport class DbQueryResultCache implements QueryResultCache {\n\n // -------------------------------------------------------------------------\n // Private properties\n // -------------------------------------------------------------------------\n\n private queryResultCacheTable: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n\n const options = <SqlServerConnectionOptions|PostgresConnectionOptions>this.connection.driver.options;\n const cacheOptions = typeof this.connection.options.cache === \"object\" ? this.connection.options.cache : {};\n const cacheTableName = cacheOptions.tableName || \"query-result-cache\";\n\n this.queryResultCacheTable = this.connection.driver.buildTableName(cacheTableName, options.schema, options.database);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a connection with given cache provider.\n */\n async connect(): Promise<void> {\n }\n\n /**\n * Disconnects with given cache provider.\n */\n async disconnect(): Promise<void> {\n }\n\n /**\n * Creates table for storing cache if it does not exist yet.\n */\n async synchronize(queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner);\n const driver = this.connection.driver;\n const tableExist = await queryRunner.hasTable(this.queryResultCacheTable); // todo: table name should be configurable\n if (tableExist)\n return;\n\n await queryRunner.createTable(new Table(\n {\n name: this.queryResultCacheTable,\n columns: [\n {\n name: \"id\",\n isPrimary: true,\n isNullable: false,\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheId}),\n generationStrategy: \"increment\",\n isGenerated: true\n },\n {\n name: \"identifier\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheIdentifier}),\n isNullable: true\n },\n {\n name: \"time\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheTime}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"duration\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheDuration}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"query\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheQuery}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"result\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheResult}),\n isNullable: false\n },\n ]\n },\n ));\n }\n\n /**\n * Caches given query result.\n * Returns cache result if found.\n * Returns undefined if result is not cached.\n */\n getFromCache(options: QueryResultCacheOptions, queryRunner?: QueryRunner): Promise<QueryResultCacheOptions|undefined> {\n queryRunner = this.getQueryRunner(queryRunner);\n const qb = this.connection\n .createQueryBuilder(queryRunner)\n .select()\n .from(this.queryResultCacheTable, \"cache\");\n\n if (options.identifier) {\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"identifier\")} = :identifier`)\n .setParameters({ identifier: this.connection.driver instanceof SqlServerDriver ? new MssqlParameter(options.identifier, \"nvarchar\") : options.identifier })\n .getRawOne();\n\n } else if (options.query) {\n if (this.connection.driver instanceof OracleDriver) {\n return qb\n .where(`dbms_lob.compare(${qb.escape(\"cache\")}.${qb.escape(\"query\")}, :query) = 0`, { query: options.query })\n .getRawOne();\n }\n\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"query\")} = :query`)\n .setParameters({ query: this.connection.driver instanceof SqlServerDriver ? new MssqlParameter(options.query, \"nvarchar\") : options.query })\n .getRawOne();\n }\n\n return Promise.resolve(undefined);\n }\n\n /**\n * Checks if cache is expired or not.\n */\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n const duration = typeof savedCache.duration === \"string\" ? parseInt(savedCache.duration) : savedCache.duration;\n return ((typeof savedCache.time === \"string\" ? parseInt(savedCache.time as any) : savedCache.time)! + duration) < new Date().getTime();\n }\n\n /**\n * Stores given query result in the cache.\n */\n async storeInCache(options: QueryResultCacheOptions, savedCache: QueryResultCacheOptions|undefined, queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner);\n\n let insertedValues: ObjectLiteral = options;\n if (this.connection.driver instanceof SqlServerDriver) { // todo: bad abstraction, re-implement this part, probably better if we create an entity metadata for cache table\n insertedValues = {\n identifier: new MssqlParameter(options.identifier, \"nvarchar\"),\n time: new MssqlParameter(options.time, \"bigint\"),\n duration: new MssqlParameter(options.duration, \"int\"),\n query: new MssqlParameter(options.query, \"nvarchar\"),\n result: new MssqlParameter(options.result, \"nvarchar\"),\n };\n }\n\n if (savedCache && savedCache.identifier) { // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues);\n\n qb.where(`${qb.escape(\"identifier\")} = :condition`, { condition: insertedValues.identifier });\n await qb.execute();\n\n } else if (savedCache && savedCache.query) { // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues);\n\n if (this.connection.driver instanceof OracleDriver) {\n qb.where(`dbms_lob.compare(\"query\", :condition) = 0`, { condition: insertedValues.query });\n\n } else {\n qb.where(`${qb.escape(\"query\")} = :condition`, { condition: insertedValues.query });\n }\n\n await qb.execute();\n\n } else { // otherwise insert\n await queryRunner.manager\n .createQueryBuilder()\n .insert()\n .into(this.queryResultCacheTable)\n .values(insertedValues)\n .execute();\n }\n }\n\n /**\n * Clears everything stored in the cache.\n */\n async clear(queryRunner: QueryRunner): Promise<void> {\n return this.getQueryRunner(queryRunner).clearTable(this.queryResultCacheTable);\n }\n\n /**\n * Removes all cached results by given identifiers from cache.\n */\n async remove(identifiers: string[], queryRunner?: QueryRunner): Promise<void> {\n await Promise.all(identifiers.map(identifier => {\n const qb = this.getQueryRunner(queryRunner).manager.createQueryBuilder();\n return qb.delete()\n .from(this.queryResultCacheTable)\n .where(`${qb.escape(\"identifier\")} = :identifier`, {identifier})\n .execute();\n }));\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets a query runner to work with.\n */\n protected getQueryRunner(queryRunner: QueryRunner|undefined): QueryRunner {\n if (queryRunner)\n return queryRunner;\n\n return this.connection.createQueryRunner();\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/cache/DbQueryResultCache.ts"],"names":[],"mappings":"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","file":"DbQueryResultCache.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {Connection} from \"../connection/Connection\";\nimport {OracleDriver} from \"../driver/oracle/OracleDriver\";\nimport {PostgresConnectionOptions} from \"../driver/postgres/PostgresConnectionOptions\";\nimport {MssqlParameter} from \"../driver/sqlserver/MssqlParameter\";\nimport {SqlServerConnectionOptions} from \"../driver/sqlserver/SqlServerConnectionOptions\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {Table} from \"../schema-builder/table/Table\";\nimport {QueryResultCache} from \"./QueryResultCache\";\nimport {QueryResultCacheOptions} from \"./QueryResultCacheOptions\";\n\n/**\n * Caches query result into current database, into separate table called \"query-result-cache\".\n */\nexport class DbQueryResultCache implements QueryResultCache {\n\n // -------------------------------------------------------------------------\n // Private properties\n // -------------------------------------------------------------------------\n\n private queryResultCacheTable: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n\n const options = <SqlServerConnectionOptions|PostgresConnectionOptions>this.connection.driver.options;\n const cacheOptions = typeof this.connection.options.cache === \"object\" ? this.connection.options.cache : {};\n const cacheTableName = cacheOptions.tableName || \"query-result-cache\";\n\n this.queryResultCacheTable = this.connection.driver.buildTableName(cacheTableName, options.schema, options.database);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a connection with given cache provider.\n */\n async connect(): Promise<void> {\n }\n\n /**\n * Disconnects with given cache provider.\n */\n async disconnect(): Promise<void> {\n }\n\n /**\n * Creates table for storing cache if it does not exist yet.\n */\n async synchronize(queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner);\n const driver = this.connection.driver;\n const tableExist = await queryRunner.hasTable(this.queryResultCacheTable); // todo: table name should be configurable\n if (tableExist)\n return;\n\n await queryRunner.createTable(new Table(\n {\n name: this.queryResultCacheTable,\n columns: [\n {\n name: \"id\",\n isPrimary: true,\n isNullable: false,\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheId}),\n generationStrategy: \"increment\",\n isGenerated: true\n },\n {\n name: \"identifier\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheIdentifier}),\n isNullable: true\n },\n {\n name: \"time\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheTime}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"duration\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheDuration}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"query\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheQuery}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"result\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheResult}),\n isNullable: false\n },\n ]\n },\n ));\n }\n\n /**\n * Caches given query result.\n * Returns cache result if found.\n * Returns undefined if result is not cached.\n */\n getFromCache(options: QueryResultCacheOptions, queryRunner?: QueryRunner): Promise<QueryResultCacheOptions|undefined> {\n queryRunner = this.getQueryRunner(queryRunner);\n const qb = this.connection\n .createQueryBuilder(queryRunner)\n .select()\n .from(this.queryResultCacheTable, \"cache\");\n\n if (options.identifier) {\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"identifier\")} = :identifier`)\n .setParameters({ identifier: this.connection.driver instanceof SqlServerDriver ? new MssqlParameter(options.identifier, \"nvarchar\") : options.identifier })\n .getRawOne();\n\n } else if (options.query) {\n if (this.connection.driver instanceof OracleDriver) {\n return qb\n .where(`dbms_lob.compare(${qb.escape(\"cache\")}.${qb.escape(\"query\")}, :query) = 0`, { query: options.query })\n .getRawOne();\n }\n\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"query\")} = :query`)\n .setParameters({ query: this.connection.driver instanceof SqlServerDriver ? new MssqlParameter(options.query, \"nvarchar\") : options.query })\n .getRawOne();\n }\n\n return Promise.resolve(undefined);\n }\n\n /**\n * Checks if cache is expired or not.\n */\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n const duration = typeof savedCache.duration === \"string\" ? parseInt(savedCache.duration) : savedCache.duration;\n return ((typeof savedCache.time === \"string\" ? parseInt(savedCache.time as any) : savedCache.time)! + duration) < new Date().getTime();\n }\n\n /**\n * Stores given query result in the cache.\n */\n async storeInCache(options: QueryResultCacheOptions, savedCache: QueryResultCacheOptions|undefined, queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner);\n\n let insertedValues: ObjectLiteral = options;\n if (this.connection.driver instanceof SqlServerDriver) { // todo: bad abstraction, re-implement this part, probably better if we create an entity metadata for cache table\n insertedValues = {\n identifier: new MssqlParameter(options.identifier, \"nvarchar\"),\n time: new MssqlParameter(options.time, \"bigint\"),\n duration: new MssqlParameter(options.duration, \"int\"),\n query: new MssqlParameter(options.query, \"nvarchar\"),\n result: new MssqlParameter(options.result, \"nvarchar\"),\n };\n }\n\n if (savedCache && savedCache.identifier) { // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues);\n\n qb.where(`${qb.escape(\"identifier\")} = :condition`, { condition: insertedValues.identifier });\n await qb.execute();\n\n } else if (savedCache && savedCache.query) { // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues);\n\n if (this.connection.driver instanceof OracleDriver) {\n qb.where(`dbms_lob.compare(\"query\", :condition) = 0`, { condition: insertedValues.query });\n\n } else {\n qb.where(`${qb.escape(\"query\")} = :condition`, { condition: insertedValues.query });\n }\n\n await qb.execute();\n\n } else { // otherwise insert\n await queryRunner.manager\n .createQueryBuilder()\n .insert()\n .into(this.queryResultCacheTable)\n .values(insertedValues)\n .execute();\n }\n }\n\n /**\n * Clears everything stored in the cache.\n */\n async clear(queryRunner: QueryRunner): Promise<void> {\n return this.getQueryRunner(queryRunner).clearTable(this.queryResultCacheTable);\n }\n\n /**\n * Removes all cached results by given identifiers from cache.\n */\n async remove(identifiers: string[], queryRunner?: QueryRunner): Promise<void> {\n await Promise.all(identifiers.map(identifier => {\n const qb = this.getQueryRunner(queryRunner).manager.createQueryBuilder();\n return qb.delete()\n .from(this.queryResultCacheTable)\n .where(`${qb.escape(\"identifier\")} = :identifier`, {identifier})\n .execute();\n }));\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets a query runner to work with.\n */\n protected getQueryRunner(queryRunner: QueryRunner|undefined): QueryRunner {\n if (queryRunner)\n return queryRunner;\n\n return this.connection.createQueryRunner();\n }\n\n}\n"],"sourceRoot":".."}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryResultCacheFactory = void 0;
3
4
  var RedisQueryResultCache_1 = require("./RedisQueryResultCache");
4
5
  var DbQueryResultCache_1 = require("./DbQueryResultCache");
5
6
  /**