typeorm 0.3.21-dev.fdbb013 → 0.3.21

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 (1213) hide show
  1. package/README.md +1315 -1325
  2. package/browser/cache/DbQueryResultCache.js.map +1 -1
  3. package/browser/cache/QueryResultCache.d.ts +4 -2
  4. package/browser/cache/QueryResultCache.js.map +1 -1
  5. package/browser/cache/QueryResultCacheFactory.js.map +1 -1
  6. package/browser/cache/QueryResultCacheOptions.js.map +1 -1
  7. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  8. package/browser/cli-ts-node-commonjs.js.map +1 -1
  9. package/browser/cli-ts-node-esm.js.map +1 -1
  10. package/browser/common/DeepPartial.js.map +1 -1
  11. package/browser/common/EntityTarget.js.map +1 -1
  12. package/browser/common/MixedList.js.map +1 -1
  13. package/browser/common/NonNever.js.map +1 -1
  14. package/browser/common/ObjectLiteral.js.map +1 -1
  15. package/browser/common/ObjectType.js.map +1 -1
  16. package/browser/common/PickKeysByType.js.map +1 -1
  17. package/browser/common/RelationType.js.map +1 -1
  18. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  19. package/browser/connection/Connection.js.map +1 -1
  20. package/browser/connection/ConnectionManager.js.map +1 -1
  21. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  22. package/browser/connection/ConnectionOptions.js.map +1 -1
  23. package/browser/connection/ConnectionOptionsReader.d.ts +4 -4
  24. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  25. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  26. package/browser/container.js.map +1 -1
  27. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  28. package/browser/data-source/DataSource.d.ts +2 -0
  29. package/browser/data-source/DataSource.js +2 -0
  30. package/browser/data-source/DataSource.js.map +1 -1
  31. package/browser/data-source/DataSourceOptions.js.map +1 -1
  32. package/browser/data-source/index.js.map +1 -1
  33. package/browser/decorator/Check.js.map +1 -1
  34. package/browser/decorator/EntityRepository.js.map +1 -1
  35. package/browser/decorator/Exclusion.js.map +1 -1
  36. package/browser/decorator/Generated.js.map +1 -1
  37. package/browser/decorator/Index.js.map +1 -1
  38. package/browser/decorator/Unique.js.map +1 -1
  39. package/browser/decorator/columns/Column.js.map +1 -1
  40. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  41. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  42. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  43. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  44. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  45. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  46. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  47. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  48. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  49. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  50. package/browser/decorator/entity/Entity.js.map +1 -1
  51. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  52. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  53. package/browser/decorator/listeners/AfterInsert.js.map +1 -1
  54. package/browser/decorator/listeners/AfterLoad.js.map +1 -1
  55. package/browser/decorator/listeners/AfterRecover.js.map +1 -1
  56. package/browser/decorator/listeners/AfterRemove.js.map +1 -1
  57. package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -1
  58. package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
  59. package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
  60. package/browser/decorator/listeners/BeforeRecover.js.map +1 -1
  61. package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
  62. package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  63. package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
  64. package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
  65. package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
  66. package/browser/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  67. package/browser/decorator/options/ColumnEnumOptions.js.map +1 -1
  68. package/browser/decorator/options/ColumnHstoreOptions.js.map +1 -1
  69. package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
  70. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  71. package/browser/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  72. package/browser/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  73. package/browser/decorator/options/EntityOptions.js.map +1 -1
  74. package/browser/decorator/options/IndexOptions.js.map +1 -1
  75. package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
  76. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  77. package/browser/decorator/options/JoinTableOptions.js.map +1 -1
  78. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  79. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  80. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  81. package/browser/decorator/options/RelationOptions.js.map +1 -1
  82. package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
  83. package/browser/decorator/options/TransactionOptions.js.map +1 -1
  84. package/browser/decorator/options/UniqueOptions.js.map +1 -1
  85. package/browser/decorator/options/ValueTransformer.js.map +1 -1
  86. package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
  87. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  88. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  89. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  90. package/browser/decorator/relations/JoinTable.js.map +1 -1
  91. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  92. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  93. package/browser/decorator/relations/OneToMany.js.map +1 -1
  94. package/browser/decorator/relations/OneToOne.d.ts +4 -4
  95. package/browser/decorator/relations/OneToOne.js +2 -2
  96. package/browser/decorator/relations/OneToOne.js.map +1 -1
  97. package/browser/decorator/relations/RelationCount.js.map +1 -1
  98. package/browser/decorator/relations/RelationId.js.map +1 -1
  99. package/browser/decorator/tree/Tree.js.map +1 -1
  100. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  101. package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
  102. package/browser/decorator/tree/TreeParent.js.map +1 -1
  103. package/browser/driver/Driver.js.map +1 -1
  104. package/browser/driver/DriverFactory.js.map +1 -1
  105. package/browser/driver/DriverUtils.js.map +1 -1
  106. package/browser/driver/Query.js.map +1 -1
  107. package/browser/driver/SqlInMemory.js.map +1 -1
  108. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  109. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -1
  110. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  111. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  112. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  113. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +0 -1
  114. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  115. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  116. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  117. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  118. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  119. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +2 -2
  120. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  121. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +4 -0
  122. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  123. package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  124. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  125. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  126. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -2
  127. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  128. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +1 -1
  129. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  130. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  131. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +0 -1
  132. package/browser/driver/cockroachdb/CockroachQueryRunner.js +5 -3
  133. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  134. package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  135. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  136. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  137. package/browser/driver/expo/ExpoConnectionOptions.js.map +1 -1
  138. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  139. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  140. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -2
  141. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  142. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  143. package/browser/driver/mongodb/MongoQueryRunner.d.ts +0 -1
  144. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  145. package/browser/driver/mongodb/bson.typings.js.map +1 -1
  146. package/browser/driver/mongodb/typings.d.ts +0 -8
  147. package/browser/driver/mongodb/typings.js +0 -1
  148. package/browser/driver/mongodb/typings.js.map +1 -1
  149. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -1
  150. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  151. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +1 -1
  152. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  153. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  154. package/browser/driver/mysql/MysqlQueryRunner.d.ts +0 -1
  155. package/browser/driver/mysql/MysqlQueryRunner.js +71 -71
  156. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  157. package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  158. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  159. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  160. package/browser/driver/oracle/OracleConnectionCredentialsOptions.d.ts +1 -1
  161. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  162. package/browser/driver/oracle/OracleConnectionOptions.d.ts +1 -1
  163. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  164. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  165. package/browser/driver/oracle/OracleQueryRunner.d.ts +0 -1
  166. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  167. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -2
  168. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  169. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +1 -1
  170. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  171. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  172. package/browser/driver/postgres/PostgresQueryRunner.d.ts +0 -1
  173. package/browser/driver/postgres/PostgresQueryRunner.js +5 -1
  174. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  175. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  176. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  177. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  178. package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  179. package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
  180. package/browser/driver/sap/SapDriver.js.map +1 -1
  181. package/browser/driver/sap/SapQueryRunner.d.ts +0 -1
  182. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  183. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +1 -1
  184. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  185. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +1 -1
  186. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  187. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  188. package/browser/driver/spanner/SpannerQueryRunner.d.ts +0 -1
  189. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  190. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  191. package/browser/driver/sqlite/SqliteDriver.js +2 -2
  192. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  193. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  194. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  195. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +0 -1
  196. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  197. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  198. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  199. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  200. package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
  201. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +1 -1
  202. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  203. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +1 -1
  204. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  205. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  206. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +0 -1
  207. package/browser/driver/sqlserver/SqlServerQueryRunner.js +26 -26
  208. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  209. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  210. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
  211. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  212. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  213. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  214. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  215. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  216. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  217. package/browser/driver/types/ColumnTypes.js.map +1 -1
  218. package/browser/driver/types/CteCapabilities.js.map +1 -1
  219. package/browser/driver/types/DataTypeDefaults.js.map +1 -1
  220. package/browser/driver/types/DatabaseType.js.map +1 -1
  221. package/browser/driver/types/GeoJsonTypes.js.map +1 -1
  222. package/browser/driver/types/IsolationLevel.js.map +1 -1
  223. package/browser/driver/types/MappedColumnTypes.js.map +1 -1
  224. package/browser/driver/types/MetadataTableType.js.map +1 -1
  225. package/browser/driver/types/ReplicationMode.js.map +1 -1
  226. package/browser/driver/types/UpsertType.js.map +1 -1
  227. package/browser/entity-manager/EntityManager.d.ts +2 -0
  228. package/browser/entity-manager/EntityManager.js +4 -2
  229. package/browser/entity-manager/EntityManager.js.map +1 -1
  230. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  231. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  232. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  233. package/browser/entity-schema/EntitySchema.js.map +1 -1
  234. package/browser/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  235. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  236. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  237. package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  238. package/browser/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  239. package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  240. package/browser/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
  241. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  242. package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  243. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  244. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  245. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  246. package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
  247. package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  248. package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  249. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  250. package/browser/error/CannotDetermineEntityError.js.map +1 -1
  251. package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
  252. package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  253. package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  254. package/browser/error/CircularRelationsError.js.map +1 -1
  255. package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
  256. package/browser/error/ConnectionIsNotSetError.js.map +1 -1
  257. package/browser/error/ConnectionNotFoundError.js.map +1 -1
  258. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  259. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  260. package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
  261. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  262. package/browser/error/DriverOptionNotSetError.js.map +1 -1
  263. package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
  264. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  265. package/browser/error/EntityNotFoundError.js.map +1 -1
  266. package/browser/error/EntityPropertyNotFoundError.js.map +1 -1
  267. package/browser/error/FindRelationsNotFoundError.js.map +1 -1
  268. package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  269. package/browser/error/InitializedRelationError.js.map +1 -1
  270. package/browser/error/InsertValuesMissingError.js.map +1 -1
  271. package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  272. package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  273. package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
  274. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  275. package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
  276. package/browser/error/MissingDriverError.js.map +1 -1
  277. package/browser/error/MissingJoinColumnError.js.map +1 -1
  278. package/browser/error/MissingJoinTableError.js.map +1 -1
  279. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  280. package/browser/error/MustBeEntityError.js.map +1 -1
  281. package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
  282. package/browser/error/NestedSetMultipleRootError.js.map +1 -1
  283. package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
  284. package/browser/error/NoConnectionOptionError.js.map +1 -1
  285. package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  286. package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  287. package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  288. package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  289. package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
  290. package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
  291. package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  292. package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  293. package/browser/error/QueryFailedError.js.map +1 -1
  294. package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  295. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  296. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  297. package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
  298. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  299. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  300. package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
  301. package/browser/error/TransactionNotStartedError.js.map +1 -1
  302. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  303. package/browser/error/TypeORMError.js.map +1 -1
  304. package/browser/error/UpdateValuesMissingError.js.map +1 -1
  305. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  306. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  307. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  308. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  309. package/browser/error/index.js.map +1 -1
  310. package/browser/find-options/EqualOperator.js.map +1 -1
  311. package/browser/find-options/FindManyOptions.js.map +1 -1
  312. package/browser/find-options/FindOneOptions.js.map +1 -1
  313. package/browser/find-options/FindOperator.js.map +1 -1
  314. package/browser/find-options/FindOperatorType.js.map +1 -1
  315. package/browser/find-options/FindOptionsOrder.d.ts +0 -1
  316. package/browser/find-options/FindOptionsOrder.js.map +1 -1
  317. package/browser/find-options/FindOptionsRelations.d.ts +0 -1
  318. package/browser/find-options/FindOptionsRelations.js.map +1 -1
  319. package/browser/find-options/FindOptionsSelect.d.ts +0 -1
  320. package/browser/find-options/FindOptionsSelect.js.map +1 -1
  321. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  322. package/browser/find-options/FindOptionsWhere.d.ts +0 -1
  323. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  324. package/browser/find-options/FindTreeOptions.js.map +1 -1
  325. package/browser/find-options/JoinOptions.js.map +1 -1
  326. package/browser/find-options/OrderByCondition.js.map +1 -1
  327. package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  328. package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  329. package/browser/find-options/operator/And.js.map +1 -1
  330. package/browser/find-options/operator/Any.js.map +1 -1
  331. package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
  332. package/browser/find-options/operator/ArrayContains.js.map +1 -1
  333. package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
  334. package/browser/find-options/operator/Between.js.map +1 -1
  335. package/browser/find-options/operator/Equal.js.map +1 -1
  336. package/browser/find-options/operator/ILike.js.map +1 -1
  337. package/browser/find-options/operator/In.js.map +1 -1
  338. package/browser/find-options/operator/IsNull.js.map +1 -1
  339. package/browser/find-options/operator/JsonContains.js.map +1 -1
  340. package/browser/find-options/operator/LessThan.js.map +1 -1
  341. package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
  342. package/browser/find-options/operator/Like.js.map +1 -1
  343. package/browser/find-options/operator/MoreThan.js.map +1 -1
  344. package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
  345. package/browser/find-options/operator/Not.js.map +1 -1
  346. package/browser/find-options/operator/Or.js.map +1 -1
  347. package/browser/find-options/operator/Raw.js.map +1 -1
  348. package/browser/globals.js.map +1 -1
  349. package/browser/index.js.map +1 -1
  350. package/browser/logger/AbstractLogger.js.map +1 -1
  351. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  352. package/browser/logger/DebugLogger.js.map +1 -1
  353. package/browser/logger/FileLogger.js.map +1 -1
  354. package/browser/logger/Logger.js.map +1 -1
  355. package/browser/logger/LoggerFactory.js.map +1 -1
  356. package/browser/logger/LoggerOptions.js.map +1 -1
  357. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  358. package/browser/metadata/CheckMetadata.js.map +1 -1
  359. package/browser/metadata/ColumnMetadata.js.map +1 -1
  360. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  361. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  362. package/browser/metadata/EntityMetadata.js.map +1 -1
  363. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  364. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  365. package/browser/metadata/IndexMetadata.js.map +1 -1
  366. package/browser/metadata/RelationCountMetadata.js.map +1 -1
  367. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  368. package/browser/metadata/RelationMetadata.js.map +1 -1
  369. package/browser/metadata/UniqueMetadata.js.map +1 -1
  370. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -1
  371. package/browser/metadata/types/DeferrableType.js.map +1 -1
  372. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  373. package/browser/metadata/types/OnDeleteType.js.map +1 -1
  374. package/browser/metadata/types/OnUpdateType.js.map +1 -1
  375. package/browser/metadata/types/PropertyTypeInFunction.js.map +1 -1
  376. package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
  377. package/browser/metadata/types/RelationTypes.js.map +1 -1
  378. package/browser/metadata/types/TableTypes.js.map +1 -1
  379. package/browser/metadata/types/TreeTypes.js.map +1 -1
  380. package/browser/metadata-args/CheckMetadataArgs.js.map +1 -1
  381. package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
  382. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  383. package/browser/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  384. package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  385. package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  386. package/browser/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  387. package/browser/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  388. package/browser/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  389. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  390. package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  391. package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  392. package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  393. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  394. package/browser/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  395. package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  396. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  397. package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
  398. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  399. package/browser/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  400. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  401. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  402. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  403. package/browser/metadata-args/types/ColumnMode.js.map +1 -1
  404. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  405. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  406. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  407. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  408. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  409. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  410. package/browser/migration/Migration.js.map +1 -1
  411. package/browser/migration/MigrationExecutor.js.map +1 -1
  412. package/browser/migration/MigrationInterface.js.map +1 -1
  413. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  414. package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  415. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  416. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  417. package/browser/persistence/Subject.js.map +1 -1
  418. package/browser/persistence/SubjectChangeMap.js.map +1 -1
  419. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  420. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  421. package/browser/persistence/SubjectExecutor.js +3 -3
  422. package/browser/persistence/SubjectExecutor.js.map +1 -1
  423. package/browser/persistence/{SubjectTopoligicalSorter.d.ts → SubjectTopologicalSorter.d.ts} +1 -1
  424. package/browser/persistence/{SubjectTopoligicalSorter.js → SubjectTopologicalSorter.js} +2 -2
  425. package/browser/persistence/SubjectTopologicalSorter.js.map +1 -0
  426. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  427. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  428. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  429. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  430. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  431. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  432. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  433. package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -1
  434. package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -1
  435. package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
  436. package/browser/platform/BrowserFileLoggerDummy.js.map +1 -1
  437. package/browser/platform/BrowserPlatformTools.d.ts +2 -6
  438. package/browser/platform/BrowserPlatformTools.js +2 -8
  439. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  440. package/browser/platform/PlatformTools.d.ts +2 -10
  441. package/browser/platform/PlatformTools.js +28 -36
  442. package/browser/platform/PlatformTools.js.map +1 -1
  443. package/browser/query-builder/Alias.js.map +1 -1
  444. package/browser/query-builder/Brackets.js.map +1 -1
  445. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  446. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
  447. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  448. package/browser/query-builder/JoinAttribute.js.map +1 -1
  449. package/browser/query-builder/JoinOptions.js.map +1 -1
  450. package/browser/query-builder/NotBrackets.js.map +1 -1
  451. package/browser/query-builder/QueryBuilder.js +2 -3
  452. package/browser/query-builder/QueryBuilder.js.map +1 -1
  453. package/browser/query-builder/QueryBuilderCte.js.map +1 -1
  454. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  455. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  456. package/browser/query-builder/QueryPartialEntity.js.map +1 -1
  457. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  458. package/browser/query-builder/RelationLoader.js.map +1 -1
  459. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  460. package/browser/query-builder/RelationRemover.js.map +1 -1
  461. package/browser/query-builder/RelationUpdater.js.map +1 -1
  462. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  463. package/browser/query-builder/SelectQuery.js.map +1 -1
  464. package/browser/query-builder/SelectQueryBuilder.d.ts +0 -1
  465. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  466. package/browser/query-builder/SelectQueryBuilderOption.js.map +1 -1
  467. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  468. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  469. package/browser/query-builder/WhereClause.js.map +1 -1
  470. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  471. package/browser/query-builder/index.js.map +1 -1
  472. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  473. package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  474. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  475. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  476. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  477. package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  478. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  479. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  480. package/browser/query-builder/result/DeleteResult.js.map +1 -1
  481. package/browser/query-builder/result/InsertResult.js.map +1 -1
  482. package/browser/query-builder/result/UpdateResult.js.map +1 -1
  483. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  484. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  485. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  486. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  487. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +95 -61
  488. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  489. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  490. package/browser/query-runner/QueryLock.js.map +1 -1
  491. package/browser/query-runner/QueryResult.js.map +1 -1
  492. package/browser/query-runner/QueryRunner.d.ts +0 -1
  493. package/browser/query-runner/QueryRunner.js.map +1 -1
  494. package/browser/repository/AbstractRepository.js.map +1 -1
  495. package/browser/repository/BaseEntity.js.map +1 -1
  496. package/browser/repository/EntityId.js.map +1 -1
  497. package/browser/repository/FindTreesOptions.js.map +1 -1
  498. package/browser/repository/MongoRepository.js.map +1 -1
  499. package/browser/repository/RemoveOptions.js.map +1 -1
  500. package/browser/repository/Repository.d.ts +2 -0
  501. package/browser/repository/Repository.js +2 -0
  502. package/browser/repository/Repository.js.map +1 -1
  503. package/browser/repository/SaveOptions.js.map +1 -1
  504. package/browser/repository/TreeRepository.js.map +1 -1
  505. package/browser/repository/UpsertOptions.js.map +1 -1
  506. package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
  507. package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
  508. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  509. package/browser/schema-builder/SchemaBuilder.js.map +1 -1
  510. package/browser/schema-builder/options/TableCheckOptions.js.map +1 -1
  511. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  512. package/browser/schema-builder/options/TableExclusionOptions.js.map +1 -1
  513. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  514. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  515. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  516. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  517. package/browser/schema-builder/options/ViewOptions.js.map +1 -1
  518. package/browser/schema-builder/table/Table.js.map +1 -1
  519. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  520. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  521. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  522. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  523. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  524. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  525. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  526. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  527. package/browser/schema-builder/view/View.js.map +1 -1
  528. package/browser/subscriber/Broadcaster.js.map +1 -1
  529. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  530. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  531. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  532. package/browser/subscriber/event/LoadEvent.js.map +1 -1
  533. package/browser/subscriber/event/QueryEvent.js.map +1 -1
  534. package/browser/subscriber/event/RecoverEvent.js.map +1 -1
  535. package/browser/subscriber/event/RemoveEvent.js.map +1 -1
  536. package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -1
  537. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -1
  538. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  539. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -1
  540. package/browser/subscriber/event/UpdateEvent.js.map +1 -1
  541. package/browser/util/ApplyValueTransformers.js.map +1 -1
  542. package/browser/util/DateUtils.js.map +1 -1
  543. package/browser/util/DepGraph.js.map +1 -1
  544. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  545. package/browser/util/ImportUtils.js +22 -34
  546. package/browser/util/ImportUtils.js.map +1 -1
  547. package/browser/util/InstanceChecker.js.map +1 -1
  548. package/browser/util/ObjectUtils.js.map +1 -1
  549. package/browser/util/OrmUtils.js.map +1 -1
  550. package/browser/util/PathUtils.js.map +1 -1
  551. package/browser/util/RandomGenerator.js.map +1 -1
  552. package/browser/util/StringUtils.js.map +1 -1
  553. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  554. package/browser/util/VersionUtils.js.map +1 -1
  555. package/browser/util/escapeRegExp.js.map +1 -1
  556. package/cache/DbQueryResultCache.js.map +1 -1
  557. package/cache/QueryResultCache.d.ts +4 -2
  558. package/cache/QueryResultCache.js.map +1 -1
  559. package/cache/QueryResultCacheFactory.js.map +1 -1
  560. package/cache/QueryResultCacheOptions.js.map +1 -1
  561. package/cache/RedisQueryResultCache.js.map +1 -1
  562. package/cli-ts-node-commonjs.js.map +1 -1
  563. package/cli-ts-node-esm.js.map +1 -1
  564. package/cli.js.map +1 -1
  565. package/commands/CacheClearCommand.d.ts +1 -1
  566. package/commands/CacheClearCommand.js +3 -3
  567. package/commands/CacheClearCommand.js.map +1 -1
  568. package/commands/CommandUtils.d.ts +1 -1
  569. package/commands/CommandUtils.js +18 -16
  570. package/commands/CommandUtils.js.map +1 -1
  571. package/commands/EntityCreateCommand.d.ts +1 -1
  572. package/commands/EntityCreateCommand.js +13 -13
  573. package/commands/EntityCreateCommand.js.map +1 -1
  574. package/commands/InitCommand.d.ts +1 -1
  575. package/commands/InitCommand.js +311 -311
  576. package/commands/InitCommand.js.map +1 -1
  577. package/commands/MigrationCreateCommand.d.ts +1 -1
  578. package/commands/MigrationCreateCommand.js +27 -27
  579. package/commands/MigrationCreateCommand.js.map +1 -1
  580. package/commands/MigrationGenerateCommand.d.ts +1 -1
  581. package/commands/MigrationGenerateCommand.js +48 -48
  582. package/commands/MigrationGenerateCommand.js.map +1 -1
  583. package/commands/MigrationRevertCommand.js.map +1 -1
  584. package/commands/MigrationRunCommand.js.map +1 -1
  585. package/commands/MigrationShowCommand.js.map +1 -1
  586. package/commands/QueryCommand.d.ts +1 -1
  587. package/commands/QueryCommand.js +10 -7
  588. package/commands/QueryCommand.js.map +1 -1
  589. package/commands/SchemaDropCommand.d.ts +1 -1
  590. package/commands/SchemaDropCommand.js +3 -3
  591. package/commands/SchemaDropCommand.js.map +1 -1
  592. package/commands/SchemaLogCommand.d.ts +1 -1
  593. package/commands/SchemaLogCommand.js +12 -18
  594. package/commands/SchemaLogCommand.js.map +1 -1
  595. package/commands/SchemaSyncCommand.d.ts +1 -1
  596. package/commands/SchemaSyncCommand.js +3 -3
  597. package/commands/SchemaSyncCommand.js.map +1 -1
  598. package/commands/SubscriberCreateCommand.d.ts +1 -1
  599. package/commands/SubscriberCreateCommand.js +11 -11
  600. package/commands/SubscriberCreateCommand.js.map +1 -1
  601. package/commands/VersionCommand.js.map +1 -1
  602. package/common/DeepPartial.js.map +1 -1
  603. package/common/EntityTarget.js.map +1 -1
  604. package/common/MixedList.js.map +1 -1
  605. package/common/NonNever.js.map +1 -1
  606. package/common/ObjectLiteral.js.map +1 -1
  607. package/common/ObjectType.js.map +1 -1
  608. package/common/PickKeysByType.js.map +1 -1
  609. package/common/RelationType.js.map +1 -1
  610. package/connection/BaseConnectionOptions.js.map +1 -1
  611. package/connection/Connection.js.map +1 -1
  612. package/connection/ConnectionManager.js.map +1 -1
  613. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  614. package/connection/ConnectionOptions.js.map +1 -1
  615. package/connection/ConnectionOptionsReader.d.ts +4 -4
  616. package/connection/ConnectionOptionsReader.js.map +1 -1
  617. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  618. package/container.js +2 -3
  619. package/container.js.map +1 -1
  620. package/data-source/BaseDataSourceOptions.js.map +1 -1
  621. package/data-source/DataSource.d.ts +2 -0
  622. package/data-source/DataSource.js +2 -0
  623. package/data-source/DataSource.js.map +1 -1
  624. package/data-source/DataSourceOptions.js.map +1 -1
  625. package/data-source/index.js.map +1 -1
  626. package/decorator/Check.js +1 -2
  627. package/decorator/Check.js.map +1 -1
  628. package/decorator/EntityRepository.js +1 -2
  629. package/decorator/EntityRepository.js.map +1 -1
  630. package/decorator/Exclusion.js +1 -2
  631. package/decorator/Exclusion.js.map +1 -1
  632. package/decorator/Generated.js +1 -2
  633. package/decorator/Generated.js.map +1 -1
  634. package/decorator/Index.js +1 -2
  635. package/decorator/Index.js.map +1 -1
  636. package/decorator/Unique.js +1 -2
  637. package/decorator/Unique.js.map +1 -1
  638. package/decorator/columns/Column.js +1 -2
  639. package/decorator/columns/Column.js.map +1 -1
  640. package/decorator/columns/CreateDateColumn.js +1 -2
  641. package/decorator/columns/CreateDateColumn.js.map +1 -1
  642. package/decorator/columns/DeleteDateColumn.js +1 -2
  643. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  644. package/decorator/columns/ObjectIdColumn.js +1 -2
  645. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  646. package/decorator/columns/PrimaryColumn.js +1 -2
  647. package/decorator/columns/PrimaryColumn.js.map +1 -1
  648. package/decorator/columns/PrimaryGeneratedColumn.js +1 -2
  649. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  650. package/decorator/columns/UpdateDateColumn.js +1 -2
  651. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  652. package/decorator/columns/VersionColumn.js +1 -2
  653. package/decorator/columns/VersionColumn.js.map +1 -1
  654. package/decorator/columns/ViewColumn.js +1 -2
  655. package/decorator/columns/ViewColumn.js.map +1 -1
  656. package/decorator/columns/VirtualColumn.js +1 -2
  657. package/decorator/columns/VirtualColumn.js.map +1 -1
  658. package/decorator/entity/ChildEntity.js +1 -2
  659. package/decorator/entity/ChildEntity.js.map +1 -1
  660. package/decorator/entity/Entity.js +1 -2
  661. package/decorator/entity/Entity.js.map +1 -1
  662. package/decorator/entity/TableInheritance.js +1 -2
  663. package/decorator/entity/TableInheritance.js.map +1 -1
  664. package/decorator/entity-view/ViewEntity.js +1 -2
  665. package/decorator/entity-view/ViewEntity.js.map +1 -1
  666. package/decorator/listeners/AfterInsert.js +1 -2
  667. package/decorator/listeners/AfterInsert.js.map +1 -1
  668. package/decorator/listeners/AfterLoad.js +1 -2
  669. package/decorator/listeners/AfterLoad.js.map +1 -1
  670. package/decorator/listeners/AfterRecover.js +1 -2
  671. package/decorator/listeners/AfterRecover.js.map +1 -1
  672. package/decorator/listeners/AfterRemove.js +1 -2
  673. package/decorator/listeners/AfterRemove.js.map +1 -1
  674. package/decorator/listeners/AfterSoftRemove.js +1 -2
  675. package/decorator/listeners/AfterSoftRemove.js.map +1 -1
  676. package/decorator/listeners/AfterUpdate.js +1 -2
  677. package/decorator/listeners/AfterUpdate.js.map +1 -1
  678. package/decorator/listeners/BeforeInsert.js +1 -2
  679. package/decorator/listeners/BeforeInsert.js.map +1 -1
  680. package/decorator/listeners/BeforeRecover.js +1 -2
  681. package/decorator/listeners/BeforeRecover.js.map +1 -1
  682. package/decorator/listeners/BeforeRemove.js +1 -2
  683. package/decorator/listeners/BeforeRemove.js.map +1 -1
  684. package/decorator/listeners/BeforeSoftRemove.js +1 -2
  685. package/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  686. package/decorator/listeners/BeforeUpdate.js +1 -2
  687. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  688. package/decorator/listeners/EventSubscriber.js +1 -2
  689. package/decorator/listeners/EventSubscriber.js.map +1 -1
  690. package/decorator/options/ColumnCommonOptions.js.map +1 -1
  691. package/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  692. package/decorator/options/ColumnEnumOptions.js.map +1 -1
  693. package/decorator/options/ColumnHstoreOptions.js.map +1 -1
  694. package/decorator/options/ColumnNumericOptions.js.map +1 -1
  695. package/decorator/options/ColumnOptions.js.map +1 -1
  696. package/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  697. package/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  698. package/decorator/options/EntityOptions.js.map +1 -1
  699. package/decorator/options/IndexOptions.js.map +1 -1
  700. package/decorator/options/JoinColumnOptions.js.map +1 -1
  701. package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  702. package/decorator/options/JoinTableOptions.js.map +1 -1
  703. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  704. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  705. package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  706. package/decorator/options/RelationOptions.js.map +1 -1
  707. package/decorator/options/SpatialColumnOptions.js.map +1 -1
  708. package/decorator/options/TransactionOptions.js.map +1 -1
  709. package/decorator/options/UniqueOptions.js.map +1 -1
  710. package/decorator/options/ValueTransformer.js.map +1 -1
  711. package/decorator/options/ViewColumnOptions.js.map +1 -1
  712. package/decorator/options/ViewEntityOptions.js.map +1 -1
  713. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  714. package/decorator/relations/JoinColumn.js +1 -2
  715. package/decorator/relations/JoinColumn.js.map +1 -1
  716. package/decorator/relations/JoinTable.js +1 -2
  717. package/decorator/relations/JoinTable.js.map +1 -1
  718. package/decorator/relations/ManyToMany.js +1 -2
  719. package/decorator/relations/ManyToMany.js.map +1 -1
  720. package/decorator/relations/ManyToOne.js +1 -2
  721. package/decorator/relations/ManyToOne.js.map +1 -1
  722. package/decorator/relations/OneToMany.js +1 -2
  723. package/decorator/relations/OneToMany.js.map +1 -1
  724. package/decorator/relations/OneToOne.d.ts +4 -4
  725. package/decorator/relations/OneToOne.js +3 -4
  726. package/decorator/relations/OneToOne.js.map +1 -1
  727. package/decorator/relations/RelationCount.js +1 -2
  728. package/decorator/relations/RelationCount.js.map +1 -1
  729. package/decorator/relations/RelationId.js +1 -2
  730. package/decorator/relations/RelationId.js.map +1 -1
  731. package/decorator/tree/Tree.js +1 -2
  732. package/decorator/tree/Tree.js.map +1 -1
  733. package/decorator/tree/TreeChildren.js +1 -2
  734. package/decorator/tree/TreeChildren.js.map +1 -1
  735. package/decorator/tree/TreeLevelColumn.js +1 -2
  736. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  737. package/decorator/tree/TreeParent.js +1 -2
  738. package/decorator/tree/TreeParent.js.map +1 -1
  739. package/driver/Driver.js.map +1 -1
  740. package/driver/DriverFactory.js.map +1 -1
  741. package/driver/DriverUtils.js.map +1 -1
  742. package/driver/Query.js.map +1 -1
  743. package/driver/SqlInMemory.js.map +1 -1
  744. package/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  745. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -1
  746. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  747. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  748. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  749. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +0 -1
  750. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  751. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  752. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  753. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  754. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  755. package/driver/better-sqlite3/BetterSqlite3Driver.js +2 -2
  756. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  757. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +4 -0
  758. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  759. package/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  760. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  761. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  762. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -2
  763. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  764. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +1 -1
  765. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  766. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  767. package/driver/cockroachdb/CockroachQueryRunner.d.ts +0 -1
  768. package/driver/cockroachdb/CockroachQueryRunner.js +5 -3
  769. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  770. package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  771. package/driver/cordova/CordovaDriver.js.map +1 -1
  772. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  773. package/driver/expo/ExpoConnectionOptions.js.map +1 -1
  774. package/driver/expo/ExpoDriver.js.map +1 -1
  775. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  776. package/driver/mongodb/MongoConnectionOptions.d.ts +1 -2
  777. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  778. package/driver/mongodb/MongoDriver.js.map +1 -1
  779. package/driver/mongodb/MongoQueryRunner.d.ts +0 -1
  780. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  781. package/driver/mongodb/bson.typings.js.map +1 -1
  782. package/driver/mongodb/typings.d.ts +0 -8
  783. package/driver/mongodb/typings.js +0 -1
  784. package/driver/mongodb/typings.js.map +1 -1
  785. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -1
  786. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  787. package/driver/mysql/MysqlConnectionOptions.d.ts +1 -1
  788. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  789. package/driver/mysql/MysqlDriver.js.map +1 -1
  790. package/driver/mysql/MysqlQueryRunner.d.ts +0 -1
  791. package/driver/mysql/MysqlQueryRunner.js +71 -71
  792. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  793. package/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  794. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  795. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  796. package/driver/oracle/OracleConnectionCredentialsOptions.d.ts +1 -1
  797. package/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  798. package/driver/oracle/OracleConnectionOptions.d.ts +1 -1
  799. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  800. package/driver/oracle/OracleDriver.js.map +1 -1
  801. package/driver/oracle/OracleQueryRunner.d.ts +0 -1
  802. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  803. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -2
  804. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  805. package/driver/postgres/PostgresConnectionOptions.d.ts +1 -1
  806. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  807. package/driver/postgres/PostgresDriver.js.map +1 -1
  808. package/driver/postgres/PostgresQueryRunner.d.ts +0 -1
  809. package/driver/postgres/PostgresQueryRunner.js +5 -1
  810. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  811. package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  812. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  813. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  814. package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  815. package/driver/sap/SapConnectionOptions.js.map +1 -1
  816. package/driver/sap/SapDriver.js.map +1 -1
  817. package/driver/sap/SapQueryRunner.d.ts +0 -1
  818. package/driver/sap/SapQueryRunner.js.map +1 -1
  819. package/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +1 -1
  820. package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  821. package/driver/spanner/SpannerConnectionOptions.d.ts +1 -1
  822. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  823. package/driver/spanner/SpannerDriver.js.map +1 -1
  824. package/driver/spanner/SpannerQueryRunner.d.ts +0 -1
  825. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  826. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  827. package/driver/sqlite/SqliteDriver.js +2 -2
  828. package/driver/sqlite/SqliteDriver.js.map +1 -1
  829. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  830. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  831. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +0 -1
  832. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  833. package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  834. package/driver/sqljs/SqljsDriver.js.map +1 -1
  835. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  836. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  837. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +1 -1
  838. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  839. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +1 -1
  840. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  841. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  842. package/driver/sqlserver/SqlServerQueryRunner.d.ts +0 -1
  843. package/driver/sqlserver/SqlServerQueryRunner.js +26 -26
  844. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  845. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  846. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
  847. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  848. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  849. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  850. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  851. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  852. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  853. package/driver/types/ColumnTypes.js.map +1 -1
  854. package/driver/types/CteCapabilities.js.map +1 -1
  855. package/driver/types/DataTypeDefaults.js.map +1 -1
  856. package/driver/types/DatabaseType.js.map +1 -1
  857. package/driver/types/GeoJsonTypes.js.map +1 -1
  858. package/driver/types/IsolationLevel.js.map +1 -1
  859. package/driver/types/MappedColumnTypes.js.map +1 -1
  860. package/driver/types/MetadataTableType.js.map +1 -1
  861. package/driver/types/ReplicationMode.js.map +1 -1
  862. package/driver/types/UpsertType.js.map +1 -1
  863. package/entity-manager/EntityManager.d.ts +2 -0
  864. package/entity-manager/EntityManager.js +4 -2
  865. package/entity-manager/EntityManager.js.map +1 -1
  866. package/entity-manager/EntityManagerFactory.js.map +1 -1
  867. package/entity-manager/MongoEntityManager.js.map +1 -1
  868. package/entity-manager/SqljsEntityManager.js.map +1 -1
  869. package/entity-schema/EntitySchema.js.map +1 -1
  870. package/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  871. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  872. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  873. package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  874. package/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  875. package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  876. package/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
  877. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  878. package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  879. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  880. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  881. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  882. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  883. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  884. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  885. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  886. package/error/CannotDetermineEntityError.js.map +1 -1
  887. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  888. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  889. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  890. package/error/CircularRelationsError.js.map +1 -1
  891. package/error/ColumnTypeUndefinedError.js.map +1 -1
  892. package/error/ConnectionIsNotSetError.js.map +1 -1
  893. package/error/ConnectionNotFoundError.js.map +1 -1
  894. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  895. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  896. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  897. package/error/DataTypeNotSupportedError.js.map +1 -1
  898. package/error/DriverOptionNotSetError.js.map +1 -1
  899. package/error/DriverPackageNotInstalledError.js.map +1 -1
  900. package/error/EntityMetadataNotFoundError.js.map +1 -1
  901. package/error/EntityNotFoundError.js.map +1 -1
  902. package/error/EntityPropertyNotFoundError.js.map +1 -1
  903. package/error/FindRelationsNotFoundError.js.map +1 -1
  904. package/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  905. package/error/InitializedRelationError.js.map +1 -1
  906. package/error/InsertValuesMissingError.js.map +1 -1
  907. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  908. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  909. package/error/MetadataAlreadyExistsError.js.map +1 -1
  910. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  911. package/error/MissingDeleteDateColumnError.js.map +1 -1
  912. package/error/MissingDriverError.js.map +1 -1
  913. package/error/MissingJoinColumnError.js.map +1 -1
  914. package/error/MissingJoinTableError.js.map +1 -1
  915. package/error/MissingPrimaryColumnError.js.map +1 -1
  916. package/error/MustBeEntityError.js.map +1 -1
  917. package/error/NamingStrategyNotFoundError.js.map +1 -1
  918. package/error/NestedSetMultipleRootError.js.map +1 -1
  919. package/error/NoConnectionForRepositoryError.js.map +1 -1
  920. package/error/NoConnectionOptionError.js.map +1 -1
  921. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  922. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  923. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  924. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  925. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  926. package/error/PersistedEntityNotFoundError.js.map +1 -1
  927. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  928. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  929. package/error/QueryFailedError.js.map +1 -1
  930. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  931. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  932. package/error/RepositoryNotTreeError.js.map +1 -1
  933. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  934. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  935. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  936. package/error/TransactionAlreadyStartedError.js.map +1 -1
  937. package/error/TransactionNotStartedError.js.map +1 -1
  938. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  939. package/error/TypeORMError.js.map +1 -1
  940. package/error/UpdateValuesMissingError.js.map +1 -1
  941. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  942. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  943. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  944. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  945. package/error/index.js.map +1 -1
  946. package/find-options/EqualOperator.js.map +1 -1
  947. package/find-options/FindManyOptions.js.map +1 -1
  948. package/find-options/FindOneOptions.js.map +1 -1
  949. package/find-options/FindOperator.js.map +1 -1
  950. package/find-options/FindOperatorType.js.map +1 -1
  951. package/find-options/FindOptionsOrder.d.ts +0 -1
  952. package/find-options/FindOptionsOrder.js.map +1 -1
  953. package/find-options/FindOptionsRelations.d.ts +0 -1
  954. package/find-options/FindOptionsRelations.js.map +1 -1
  955. package/find-options/FindOptionsSelect.d.ts +0 -1
  956. package/find-options/FindOptionsSelect.js.map +1 -1
  957. package/find-options/FindOptionsUtils.js.map +1 -1
  958. package/find-options/FindOptionsWhere.d.ts +0 -1
  959. package/find-options/FindOptionsWhere.js.map +1 -1
  960. package/find-options/FindTreeOptions.js.map +1 -1
  961. package/find-options/JoinOptions.js.map +1 -1
  962. package/find-options/OrderByCondition.js.map +1 -1
  963. package/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  964. package/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  965. package/find-options/operator/And.js +1 -2
  966. package/find-options/operator/And.js.map +1 -1
  967. package/find-options/operator/Any.js +1 -2
  968. package/find-options/operator/Any.js.map +1 -1
  969. package/find-options/operator/ArrayContainedBy.js +1 -2
  970. package/find-options/operator/ArrayContainedBy.js.map +1 -1
  971. package/find-options/operator/ArrayContains.js +1 -2
  972. package/find-options/operator/ArrayContains.js.map +1 -1
  973. package/find-options/operator/ArrayOverlap.js +1 -2
  974. package/find-options/operator/ArrayOverlap.js.map +1 -1
  975. package/find-options/operator/Between.js +1 -2
  976. package/find-options/operator/Between.js.map +1 -1
  977. package/find-options/operator/Equal.js +1 -2
  978. package/find-options/operator/Equal.js.map +1 -1
  979. package/find-options/operator/ILike.js +1 -2
  980. package/find-options/operator/ILike.js.map +1 -1
  981. package/find-options/operator/In.js +1 -2
  982. package/find-options/operator/In.js.map +1 -1
  983. package/find-options/operator/IsNull.js +1 -2
  984. package/find-options/operator/IsNull.js.map +1 -1
  985. package/find-options/operator/JsonContains.js +1 -2
  986. package/find-options/operator/JsonContains.js.map +1 -1
  987. package/find-options/operator/LessThan.js +1 -2
  988. package/find-options/operator/LessThan.js.map +1 -1
  989. package/find-options/operator/LessThanOrEqual.js +1 -2
  990. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  991. package/find-options/operator/Like.js +1 -2
  992. package/find-options/operator/Like.js.map +1 -1
  993. package/find-options/operator/MoreThan.js +1 -2
  994. package/find-options/operator/MoreThan.js.map +1 -1
  995. package/find-options/operator/MoreThanOrEqual.js +1 -2
  996. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  997. package/find-options/operator/Not.js +1 -2
  998. package/find-options/operator/Not.js.map +1 -1
  999. package/find-options/operator/Or.js +1 -2
  1000. package/find-options/operator/Or.js.map +1 -1
  1001. package/find-options/operator/Raw.js +1 -2
  1002. package/find-options/operator/Raw.js.map +1 -1
  1003. package/globals.js +14 -15
  1004. package/globals.js.map +1 -1
  1005. package/index.js.map +1 -1
  1006. package/logger/AbstractLogger.js.map +1 -1
  1007. package/logger/AdvancedConsoleLogger.js.map +1 -1
  1008. package/logger/DebugLogger.js.map +1 -1
  1009. package/logger/FileLogger.js.map +1 -1
  1010. package/logger/Logger.js.map +1 -1
  1011. package/logger/LoggerFactory.js.map +1 -1
  1012. package/logger/LoggerOptions.js.map +1 -1
  1013. package/logger/SimpleConsoleLogger.js.map +1 -1
  1014. package/metadata/CheckMetadata.js.map +1 -1
  1015. package/metadata/ColumnMetadata.js.map +1 -1
  1016. package/metadata/EmbeddedMetadata.js.map +1 -1
  1017. package/metadata/EntityListenerMetadata.js.map +1 -1
  1018. package/metadata/EntityMetadata.js.map +1 -1
  1019. package/metadata/ExclusionMetadata.js.map +1 -1
  1020. package/metadata/ForeignKeyMetadata.js.map +1 -1
  1021. package/metadata/IndexMetadata.js.map +1 -1
  1022. package/metadata/RelationCountMetadata.js.map +1 -1
  1023. package/metadata/RelationIdMetadata.js.map +1 -1
  1024. package/metadata/RelationMetadata.js.map +1 -1
  1025. package/metadata/UniqueMetadata.js.map +1 -1
  1026. package/metadata/types/ClosureTreeOptions.js.map +1 -1
  1027. package/metadata/types/DeferrableType.js.map +1 -1
  1028. package/metadata/types/EventListenerTypes.js.map +1 -1
  1029. package/metadata/types/OnDeleteType.js.map +1 -1
  1030. package/metadata/types/OnUpdateType.js.map +1 -1
  1031. package/metadata/types/PropertyTypeInFunction.js.map +1 -1
  1032. package/metadata/types/RelationTypeInFunction.js.map +1 -1
  1033. package/metadata/types/RelationTypes.js.map +1 -1
  1034. package/metadata/types/TableTypes.js.map +1 -1
  1035. package/metadata/types/TreeTypes.js.map +1 -1
  1036. package/metadata-args/CheckMetadataArgs.js.map +1 -1
  1037. package/metadata-args/ColumnMetadataArgs.js.map +1 -1
  1038. package/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  1039. package/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  1040. package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  1041. package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  1042. package/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  1043. package/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  1044. package/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  1045. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  1046. package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  1047. package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  1048. package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  1049. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  1050. package/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  1051. package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  1052. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  1053. package/metadata-args/RelationMetadataArgs.js.map +1 -1
  1054. package/metadata-args/TableMetadataArgs.js.map +1 -1
  1055. package/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  1056. package/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  1057. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  1058. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  1059. package/metadata-args/types/ColumnMode.js.map +1 -1
  1060. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  1061. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  1062. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  1063. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  1064. package/metadata-builder/MetadataUtils.js.map +1 -1
  1065. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  1066. package/migration/Migration.js.map +1 -1
  1067. package/migration/MigrationExecutor.js.map +1 -1
  1068. package/migration/MigrationInterface.js.map +1 -1
  1069. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  1070. package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  1071. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  1072. package/package.json +260 -1
  1073. package/persistence/EntityPersistExecutor.js.map +1 -1
  1074. package/persistence/Subject.js.map +1 -1
  1075. package/persistence/SubjectChangeMap.js.map +1 -1
  1076. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  1077. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  1078. package/persistence/SubjectExecutor.js +3 -3
  1079. package/persistence/SubjectExecutor.js.map +1 -1
  1080. package/persistence/{SubjectTopoligicalSorter.d.ts → SubjectTopologicalSorter.d.ts} +1 -1
  1081. package/persistence/{SubjectTopoligicalSorter.js → SubjectTopologicalSorter.js} +4 -4
  1082. package/persistence/SubjectTopologicalSorter.js.map +1 -0
  1083. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  1084. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  1085. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1086. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1087. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1088. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1089. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1090. package/platform/PlatformTools.d.ts +2 -10
  1091. package/platform/PlatformTools.js +37 -45
  1092. package/platform/PlatformTools.js.map +1 -1
  1093. package/query-builder/Alias.js.map +1 -1
  1094. package/query-builder/Brackets.js.map +1 -1
  1095. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1096. package/query-builder/InsertOrUpdateOptions.js.map +1 -1
  1097. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1098. package/query-builder/JoinAttribute.js.map +1 -1
  1099. package/query-builder/JoinOptions.js.map +1 -1
  1100. package/query-builder/NotBrackets.js.map +1 -1
  1101. package/query-builder/QueryBuilder.js +2 -3
  1102. package/query-builder/QueryBuilder.js.map +1 -1
  1103. package/query-builder/QueryBuilderCte.js.map +1 -1
  1104. package/query-builder/QueryBuilderUtils.js.map +1 -1
  1105. package/query-builder/QueryExpressionMap.js.map +1 -1
  1106. package/query-builder/QueryPartialEntity.js.map +1 -1
  1107. package/query-builder/RelationIdLoader.js.map +1 -1
  1108. package/query-builder/RelationLoader.js.map +1 -1
  1109. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1110. package/query-builder/RelationRemover.js.map +1 -1
  1111. package/query-builder/RelationUpdater.js.map +1 -1
  1112. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1113. package/query-builder/SelectQuery.js.map +1 -1
  1114. package/query-builder/SelectQueryBuilder.d.ts +0 -1
  1115. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1116. package/query-builder/SelectQueryBuilderOption.js.map +1 -1
  1117. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1118. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1119. package/query-builder/WhereClause.js.map +1 -1
  1120. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  1121. package/query-builder/index.js +1 -2
  1122. package/query-builder/index.js.map +1 -1
  1123. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  1124. package/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  1125. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  1126. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  1127. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1128. package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  1129. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1130. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  1131. package/query-builder/result/DeleteResult.js.map +1 -1
  1132. package/query-builder/result/InsertResult.js.map +1 -1
  1133. package/query-builder/result/UpdateResult.js.map +1 -1
  1134. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1135. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1136. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1137. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  1138. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +95 -61
  1139. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1140. package/query-runner/BaseQueryRunner.js.map +1 -1
  1141. package/query-runner/QueryLock.js.map +1 -1
  1142. package/query-runner/QueryResult.js.map +1 -1
  1143. package/query-runner/QueryRunner.d.ts +0 -1
  1144. package/query-runner/QueryRunner.js.map +1 -1
  1145. package/repository/AbstractRepository.js.map +1 -1
  1146. package/repository/BaseEntity.js.map +1 -1
  1147. package/repository/EntityId.js.map +1 -1
  1148. package/repository/FindTreesOptions.js.map +1 -1
  1149. package/repository/MongoRepository.js.map +1 -1
  1150. package/repository/RemoveOptions.js.map +1 -1
  1151. package/repository/Repository.d.ts +2 -0
  1152. package/repository/Repository.js +2 -0
  1153. package/repository/Repository.js.map +1 -1
  1154. package/repository/SaveOptions.js.map +1 -1
  1155. package/repository/TreeRepository.js.map +1 -1
  1156. package/repository/UpsertOptions.js.map +1 -1
  1157. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  1158. package/schema-builder/RdbmsSchemaBuilder.js +1 -1
  1159. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1160. package/schema-builder/SchemaBuilder.js.map +1 -1
  1161. package/schema-builder/options/TableCheckOptions.js.map +1 -1
  1162. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  1163. package/schema-builder/options/TableExclusionOptions.js.map +1 -1
  1164. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  1165. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  1166. package/schema-builder/options/TableOptions.js.map +1 -1
  1167. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  1168. package/schema-builder/options/ViewOptions.js.map +1 -1
  1169. package/schema-builder/table/Table.js.map +1 -1
  1170. package/schema-builder/table/TableCheck.js.map +1 -1
  1171. package/schema-builder/table/TableColumn.js.map +1 -1
  1172. package/schema-builder/table/TableExclusion.js.map +1 -1
  1173. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1174. package/schema-builder/table/TableIndex.js.map +1 -1
  1175. package/schema-builder/table/TableUnique.js.map +1 -1
  1176. package/schema-builder/util/TableUtils.js.map +1 -1
  1177. package/schema-builder/util/ViewUtils.js.map +1 -1
  1178. package/schema-builder/view/View.js.map +1 -1
  1179. package/subscriber/Broadcaster.js.map +1 -1
  1180. package/subscriber/BroadcasterResult.js.map +1 -1
  1181. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  1182. package/subscriber/event/InsertEvent.js.map +1 -1
  1183. package/subscriber/event/LoadEvent.js.map +1 -1
  1184. package/subscriber/event/QueryEvent.js.map +1 -1
  1185. package/subscriber/event/RecoverEvent.js.map +1 -1
  1186. package/subscriber/event/RemoveEvent.js.map +1 -1
  1187. package/subscriber/event/SoftRemoveEvent.js.map +1 -1
  1188. package/subscriber/event/TransactionCommitEvent.js.map +1 -1
  1189. package/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  1190. package/subscriber/event/TransactionStartEvent.js.map +1 -1
  1191. package/subscriber/event/UpdateEvent.js.map +1 -1
  1192. package/typeorm-class-transformer-shim.js +271 -271
  1193. package/typeorm-model-shim.js +295 -295
  1194. package/util/ApplyValueTransformers.js.map +1 -1
  1195. package/util/DateUtils.js.map +1 -1
  1196. package/util/DepGraph.js.map +1 -1
  1197. package/util/DirectoryExportedClassesLoader.js +2 -3
  1198. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1199. package/util/ImportUtils.js +23 -36
  1200. package/util/ImportUtils.js.map +1 -1
  1201. package/util/InstanceChecker.js.map +1 -1
  1202. package/util/ObjectUtils.js.map +1 -1
  1203. package/util/OrmUtils.js.map +1 -1
  1204. package/util/PathUtils.js +3 -4
  1205. package/util/PathUtils.js.map +1 -1
  1206. package/util/RandomGenerator.js.map +1 -1
  1207. package/util/StringUtils.js +6 -7
  1208. package/util/StringUtils.js.map +1 -1
  1209. package/util/TreeRepositoryUtils.js.map +1 -1
  1210. package/util/VersionUtils.js.map +1 -1
  1211. package/util/escapeRegExp.js.map +1 -1
  1212. package/browser/persistence/SubjectTopoligicalSorter.js.map +0 -1
  1213. package/persistence/SubjectTopoligicalSorter.js.map +0 -1
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hash = exports.shorten = exports.abbreviate = exports.titleCase = exports.snakeCase = exports.camelCase = void 0;
3
+ exports.camelCase = camelCase;
4
+ exports.snakeCase = snakeCase;
5
+ exports.titleCase = titleCase;
6
+ exports.abbreviate = abbreviate;
7
+ exports.shorten = shorten;
8
+ exports.hash = hash;
4
9
  const tslib_1 = require("tslib");
5
10
  const sha_js_1 = tslib_1.__importDefault(require("sha.js"));
6
11
  /**
@@ -17,7 +22,6 @@ function camelCase(str, firstCapital = false) {
17
22
  return p1.toLowerCase();
18
23
  });
19
24
  }
20
- exports.camelCase = camelCase;
21
25
  /**
22
26
  * Converts string into snake_case.
23
27
  *
@@ -30,7 +34,6 @@ function snakeCase(str) {
30
34
  .replace(/([a-z0-9])([A-Z])/g, "$1_$2")
31
35
  .toLowerCase());
32
36
  }
33
- exports.snakeCase = snakeCase;
34
37
  /**
35
38
  * Converts string into Title Case.
36
39
  *
@@ -39,7 +42,6 @@ exports.snakeCase = snakeCase;
39
42
  function titleCase(str) {
40
43
  return str.replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
41
44
  }
42
- exports.titleCase = titleCase;
43
45
  /**
44
46
  * Builds abbreviated string from given string;
45
47
  */
@@ -52,7 +54,6 @@ function abbreviate(str, abbrLettersCount = 1) {
52
54
  return res;
53
55
  }, "");
54
56
  }
55
- exports.abbreviate = abbreviate;
56
57
  /**
57
58
  * Shorten a given `input`. Useful for RDBMS imposing a limit on the
58
59
  * maximum length of aliases and column names in SQL queries.
@@ -93,7 +94,6 @@ function shorten(input, options = {}) {
93
94
  }, []);
94
95
  return shortSegments.join(separator);
95
96
  }
96
- exports.shorten = shorten;
97
97
  /**
98
98
  * Returns a hashed input.
99
99
  *
@@ -109,6 +109,5 @@ function hash(input, options = {}) {
109
109
  }
110
110
  return hashedInput;
111
111
  }
112
- exports.hash = hash;
113
112
 
114
113
  //# sourceMappingURL=StringUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../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 if (firstCapital) str = \" \" + str\n return str.replace(/^([A-Z])|[\\s-_](\\w)/g, function (match, p1, p2) {\n if (p2) return p2.toUpperCase()\n return p1.toLowerCase()\n })\n}\n\n/**\n * Converts string into snake_case.\n *\n */\nexport function snakeCase(str: string): string {\n return (\n str\n // ABc -> a_bc\n .replace(/([A-Z])([A-Z])([a-z])/g, \"$1_$2$3\")\n // aC -> a_c\n .replace(/([a-z0-9])([A-Z])/g, \"$1_$2\")\n .toLowerCase()\n )\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(\n /\\w\\S*/g,\n (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(),\n )\n}\n\n/**\n * Builds abbreviated string from given string;\n */\nexport function abbreviate(str: string, abbrLettersCount: number = 1): string {\n const words = str\n .replace(/([a-z\\xE0-\\xFF])([A-Z\\xC0\\xDF])/g, \"$1 $2\")\n .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 */\nexport 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\n .replace(/([a-z\\xE0-\\xFF])([A-Z\\xC0-\\xDF])/g, \"$1 $2\")\n .split(\" \")\n // \"OrderItemList\" becomes \"OrItLi\", while \"company\" becomes \"comp\"\n const length = segmentTerms.length > 1 ? termLength : segmentLength\n const shortSegment = segmentTerms\n .map((term) => term.substr(0, length))\n .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(\"sha1\")\n hashFunction.update(input, \"utf8\")\n const hashedInput = hashFunction.digest(\"hex\")\n if (options.length) {\n return hashedInput.slice(0, options.length)\n }\n return hashedInput\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/util/StringUtils.ts"],"names":[],"mappings":"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","file":"StringUtils.js","sourcesContent":["import shajs from \"sha.js\"\r\n\r\n/**\r\n * Converts string into camelCase.\r\n *\r\n * @see http://stackoverflow.com/questions/2970525/converting-any-string-into-camel-case\r\n */\r\nexport function camelCase(str: string, firstCapital: boolean = false): string {\r\n if (firstCapital) str = \" \" + str\r\n return str.replace(/^([A-Z])|[\\s-_](\\w)/g, function (match, p1, p2) {\r\n if (p2) return p2.toUpperCase()\r\n return p1.toLowerCase()\r\n })\r\n}\r\n\r\n/**\r\n * Converts string into snake_case.\r\n *\r\n */\r\nexport function snakeCase(str: string): string {\r\n return (\r\n str\r\n // ABc -> a_bc\r\n .replace(/([A-Z])([A-Z])([a-z])/g, \"$1_$2$3\")\r\n // aC -> a_c\r\n .replace(/([a-z0-9])([A-Z])/g, \"$1_$2\")\r\n .toLowerCase()\r\n )\r\n}\r\n\r\n/**\r\n * Converts string into Title Case.\r\n *\r\n * @see http://stackoverflow.com/questions/196972/convert-string-to-title-case-with-javascript\r\n */\r\nexport function titleCase(str: string): string {\r\n return str.replace(\r\n /\\w\\S*/g,\r\n (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(),\r\n )\r\n}\r\n\r\n/**\r\n * Builds abbreviated string from given string;\r\n */\r\nexport function abbreviate(str: string, abbrLettersCount: number = 1): string {\r\n const words = str\r\n .replace(/([a-z\\xE0-\\xFF])([A-Z\\xC0\\xDF])/g, \"$1 $2\")\r\n .split(\" \")\r\n return words.reduce((res, word) => {\r\n res += word.substr(0, abbrLettersCount)\r\n return res\r\n }, \"\")\r\n}\r\n\r\nexport interface IShortenOptions {\r\n /** String used to split \"segments\" of the alias/column name */\r\n separator?: string\r\n /** Maximum length of any \"segment\" */\r\n segmentLength?: number\r\n /** Length of any \"term\" in a \"segment\"; \"OrderItem\" is a segment, \"Order\" and \"Items\" are terms */\r\n termLength?: number\r\n}\r\n\r\n/**\r\n * Shorten a given `input`. Useful for RDBMS imposing a limit on the\r\n * maximum length of aliases and column names in SQL queries.\r\n *\r\n * @param input String to be shortened.\r\n * @param options Default to `4` for segments length, `2` for terms length, `'__'` as a separator.\r\n *\r\n * @return Shortened `input`.\r\n *\r\n * @example\r\n * // returns: \"UsShCa__orde__mark__dire\"\r\n * shorten('UserShoppingCart__order__market__director')\r\n *\r\n * // returns: \"cat_wit_ver_lon_nam_pos_wit_ver_lon_nam_pos_wit_ver_lon_nam\"\r\n * shorten(\r\n * 'category_with_very_long_name_posts_with_very_long_name_post_with_very_long_name',\r\n * { separator: '_', segmentLength: 3 }\r\n * )\r\n *\r\n * // equals: UsShCa__orde__mark_market_id\r\n * `${shorten('UserShoppingCart__order__market')}_market_id`\r\n */\r\nexport function shorten(input: string, options: IShortenOptions = {}): string {\r\n const { segmentLength = 4, separator = \"__\", termLength = 2 } = options\r\n\r\n const segments = input.split(separator)\r\n const shortSegments = segments.reduce((acc: string[], val: string) => {\r\n // split the given segment into many terms based on an eventual camel cased name\r\n const segmentTerms = val\r\n .replace(/([a-z\\xE0-\\xFF])([A-Z\\xC0-\\xDF])/g, \"$1 $2\")\r\n .split(\" \")\r\n // \"OrderItemList\" becomes \"OrItLi\", while \"company\" becomes \"comp\"\r\n const length = segmentTerms.length > 1 ? termLength : segmentLength\r\n const shortSegment = segmentTerms\r\n .map((term) => term.substr(0, length))\r\n .join(\"\")\r\n\r\n acc.push(shortSegment)\r\n return acc\r\n }, [])\r\n\r\n return shortSegments.join(separator)\r\n}\r\n\r\ninterface IHashOptions {\r\n length?: number\r\n}\r\n\r\n/**\r\n * Returns a hashed input.\r\n *\r\n * @param input String to be hashed.\r\n * @param options.length Optionally, shorten the output to desired length.\r\n */\r\nexport function hash(input: string, options: IHashOptions = {}): string {\r\n const hashFunction = shajs(\"sha1\")\r\n hashFunction.update(input, \"utf8\")\r\n const hashedInput = hashFunction.digest(\"hex\")\r\n if (options.length) {\r\n return hashedInput.slice(0, options.length)\r\n }\r\n return hashedInput\r\n}\r\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/TreeRepositoryUtils.ts"],"names":[],"mappings":"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","file":"TreeRepositoryUtils.js","sourcesContent":["import { EntityManager } from \"../entity-manager/EntityManager\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { FindTreesOptions } from \"../repository/FindTreesOptions\"\n\n/**\n * Provides utilities for manipulating tree structures.\n *\n */\nexport class TreeRepositoryUtils {\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n static createRelationMaps(\n manager: EntityManager,\n metadata: EntityMetadata,\n alias: string,\n rawResults: any[],\n ): { id: any; parentId: any }[] {\n return rawResults.map((rawResult) => {\n const joinColumn = metadata.treeParentRelation!.joinColumns[0]\n const referencedColumn =\n joinColumn.referencedColumn ?? metadata.primaryColumns[0]\n // fixes issue #2518, default to databaseName property when givenDatabaseName is not set\n const joinColumnName =\n joinColumn.givenDatabaseName || joinColumn.databaseName\n const referencedColumnName =\n referencedColumn.givenDatabaseName ||\n referencedColumn.databaseName\n const id = rawResult[alias + \"_\" + referencedColumnName]\n const parentId = rawResult[alias + \"_\" + joinColumnName]\n return {\n id: manager.connection.driver.prepareHydratedValue(\n id,\n referencedColumn,\n ),\n parentId: manager.connection.driver.prepareHydratedValue(\n parentId,\n joinColumn,\n ),\n }\n })\n }\n\n static buildChildrenEntityTree(\n metadata: EntityMetadata,\n entity: any,\n entities: any[],\n relationMaps: { id: any; parentId: any }[],\n options: FindTreesOptions & { depth: number },\n ): void {\n const childProperty = metadata.treeChildrenRelation!.propertyName\n if (options.depth === 0) {\n entity[childProperty] = []\n return\n }\n const joinColumn = metadata.treeParentRelation!.joinColumns[0]\n const referencedColumn =\n joinColumn.referencedColumn ?? metadata.primaryColumns[0]\n const parentEntityId = referencedColumn.getEntityValue(entity)\n const childRelationMaps = relationMaps.filter(\n (relationMap) => relationMap.parentId === parentEntityId,\n )\n const childIds = new Set(\n childRelationMaps.map((relationMap) => relationMap.id),\n )\n entity[childProperty] = entities.filter((entity) =>\n childIds.has(referencedColumn.getEntityValue(entity)),\n )\n entity[childProperty].forEach((childEntity: any) => {\n TreeRepositoryUtils.buildChildrenEntityTree(\n metadata,\n childEntity,\n entities,\n relationMaps,\n {\n ...options,\n depth: options.depth - 1,\n },\n )\n })\n }\n\n static buildParentEntityTree(\n metadata: EntityMetadata,\n entity: any,\n entities: any[],\n relationMaps: { id: any; parentId: any }[],\n ): void {\n const parentProperty = metadata.treeParentRelation!.propertyName\n const joinColumn = metadata.treeParentRelation!.joinColumns[0]\n const referencedColumn =\n joinColumn.referencedColumn ?? metadata.primaryColumns[0]\n const entityId = referencedColumn.getEntityValue(entity)\n const parentRelationMap = relationMaps.find(\n (relationMap) => relationMap.id === entityId,\n )\n const parentEntity = entities.find((entity) => {\n if (!parentRelationMap) return false\n\n return (\n referencedColumn.getEntityValue(entity) ===\n parentRelationMap.parentId\n )\n })\n if (parentEntity) {\n entity[parentProperty] = parentEntity\n TreeRepositoryUtils.buildParentEntityTree(\n metadata,\n entity[parentProperty],\n entities,\n relationMaps,\n )\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/util/TreeRepositoryUtils.ts"],"names":[],"mappings":"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","file":"TreeRepositoryUtils.js","sourcesContent":["import { EntityManager } from \"../entity-manager/EntityManager\"\r\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\r\nimport { FindTreesOptions } from \"../repository/FindTreesOptions\"\r\n\r\n/**\r\n * Provides utilities for manipulating tree structures.\r\n *\r\n */\r\nexport class TreeRepositoryUtils {\r\n // -------------------------------------------------------------------------\r\n // Public Methods\r\n // -------------------------------------------------------------------------\r\n\r\n static createRelationMaps(\r\n manager: EntityManager,\r\n metadata: EntityMetadata,\r\n alias: string,\r\n rawResults: any[],\r\n ): { id: any; parentId: any }[] {\r\n return rawResults.map((rawResult) => {\r\n const joinColumn = metadata.treeParentRelation!.joinColumns[0]\r\n const referencedColumn =\r\n joinColumn.referencedColumn ?? metadata.primaryColumns[0]\r\n // fixes issue #2518, default to databaseName property when givenDatabaseName is not set\r\n const joinColumnName =\r\n joinColumn.givenDatabaseName || joinColumn.databaseName\r\n const referencedColumnName =\r\n referencedColumn.givenDatabaseName ||\r\n referencedColumn.databaseName\r\n const id = rawResult[alias + \"_\" + referencedColumnName]\r\n const parentId = rawResult[alias + \"_\" + joinColumnName]\r\n return {\r\n id: manager.connection.driver.prepareHydratedValue(\r\n id,\r\n referencedColumn,\r\n ),\r\n parentId: manager.connection.driver.prepareHydratedValue(\r\n parentId,\r\n joinColumn,\r\n ),\r\n }\r\n })\r\n }\r\n\r\n static buildChildrenEntityTree(\r\n metadata: EntityMetadata,\r\n entity: any,\r\n entities: any[],\r\n relationMaps: { id: any; parentId: any }[],\r\n options: FindTreesOptions & { depth: number },\r\n ): void {\r\n const childProperty = metadata.treeChildrenRelation!.propertyName\r\n if (options.depth === 0) {\r\n entity[childProperty] = []\r\n return\r\n }\r\n const joinColumn = metadata.treeParentRelation!.joinColumns[0]\r\n const referencedColumn =\r\n joinColumn.referencedColumn ?? metadata.primaryColumns[0]\r\n const parentEntityId = referencedColumn.getEntityValue(entity)\r\n const childRelationMaps = relationMaps.filter(\r\n (relationMap) => relationMap.parentId === parentEntityId,\r\n )\r\n const childIds = new Set(\r\n childRelationMaps.map((relationMap) => relationMap.id),\r\n )\r\n entity[childProperty] = entities.filter((entity) =>\r\n childIds.has(referencedColumn.getEntityValue(entity)),\r\n )\r\n entity[childProperty].forEach((childEntity: any) => {\r\n TreeRepositoryUtils.buildChildrenEntityTree(\r\n metadata,\r\n childEntity,\r\n entities,\r\n relationMaps,\r\n {\r\n ...options,\r\n depth: options.depth - 1,\r\n },\r\n )\r\n })\r\n }\r\n\r\n static buildParentEntityTree(\r\n metadata: EntityMetadata,\r\n entity: any,\r\n entities: any[],\r\n relationMaps: { id: any; parentId: any }[],\r\n ): void {\r\n const parentProperty = metadata.treeParentRelation!.propertyName\r\n const joinColumn = metadata.treeParentRelation!.joinColumns[0]\r\n const referencedColumn =\r\n joinColumn.referencedColumn ?? metadata.primaryColumns[0]\r\n const entityId = referencedColumn.getEntityValue(entity)\r\n const parentRelationMap = relationMaps.find(\r\n (relationMap) => relationMap.id === entityId,\r\n )\r\n const parentEntity = entities.find((entity) => {\r\n if (!parentRelationMap) return false\r\n\r\n return (\r\n referencedColumn.getEntityValue(entity) ===\r\n parentRelationMap.parentId\r\n )\r\n })\r\n if (parentEntity) {\r\n entity[parentProperty] = parentEntity\r\n TreeRepositoryUtils.buildParentEntityTree(\r\n metadata,\r\n entity[parentProperty],\r\n entities,\r\n relationMaps,\r\n )\r\n }\r\n }\r\n}\r\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/VersionUtils.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IACrB,MAAM,CAAC,gBAAgB,CAAC,OAAe,EAAE,aAAqB;QAC1D,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;QAEtC,OAAO,CACH,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CACzD,CAAA;IACL,CAAC;CACJ;AAXD,oCAWC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE;IACtC,MAAM,CAAC,GAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAEtE,OAAO,CAAC,CAAA;AACZ,CAAC","file":"VersionUtils.js","sourcesContent":["export type Version = [number, number, number]\n\nexport class VersionUtils {\n static isGreaterOrEqual(version: string, targetVersion: string): boolean {\n const v1 = parseVersion(version)\n const v2 = parseVersion(targetVersion)\n\n return (\n v1[0] > v2[0] ||\n (v1[0] === v2[0] && v1[1] > v2[1]) ||\n (v1[0] === v2[0] && v1[1] === v2[1] && v1[2] >= v2[2])\n )\n }\n}\n\nfunction parseVersion(version: string = \"\"): Version {\n const v: Version = [0, 0, 0]\n\n version.split(\".\").forEach((value, i) => (v[i] = parseInt(value, 10)))\n\n return v\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/util/VersionUtils.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IACrB,MAAM,CAAC,gBAAgB,CAAC,OAAe,EAAE,aAAqB;QAC1D,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;QAEtC,OAAO,CACH,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CACzD,CAAA;IACL,CAAC;CACJ;AAXD,oCAWC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE;IACtC,MAAM,CAAC,GAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAEtE,OAAO,CAAC,CAAA;AACZ,CAAC","file":"VersionUtils.js","sourcesContent":["export type Version = [number, number, number]\r\n\r\nexport class VersionUtils {\r\n static isGreaterOrEqual(version: string, targetVersion: string): boolean {\r\n const v1 = parseVersion(version)\r\n const v2 = parseVersion(targetVersion)\r\n\r\n return (\r\n v1[0] > v2[0] ||\r\n (v1[0] === v2[0] && v1[1] > v2[1]) ||\r\n (v1[0] === v2[0] && v1[1] === v2[1] && v1[2] >= v2[2])\r\n )\r\n }\r\n}\r\n\r\nfunction parseVersion(version: string = \"\"): Version {\r\n const v: Version = [0, 0, 0]\r\n\r\n version.split(\".\").forEach((value, i) => (v[i] = parseInt(value, 10)))\r\n\r\n return v\r\n}\r\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/escapeRegExp.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AACnD,iGAAiG;AACjG,MAAM,aAAa,GAAG,uBAAuB,CAAA;AACtC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAA9D,QAAA,YAAY,gBAAkD","file":"escapeRegExp.js","sourcesContent":["// Escape special characters in regular expressions\n// Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping\nconst ESCAPE_REGEXP = /[.*+\\-?^${}()|[\\]\\\\]/g\nexport const escapeRegExp = (s: String) => s.replace(ESCAPE_REGEXP, \"\\\\$&\")\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/util/escapeRegExp.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AACnD,iGAAiG;AACjG,MAAM,aAAa,GAAG,uBAAuB,CAAA;AACtC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAA9D,QAAA,YAAY,gBAAkD","file":"escapeRegExp.js","sourcesContent":["// Escape special characters in regular expressions\r\n// Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping\r\nconst ESCAPE_REGEXP = /[.*+\\-?^${}()|[\\]\\\\]/g\r\nexport const escapeRegExp = (s: String) => s.replace(ESCAPE_REGEXP, \"\\\\$&\")\r\n"],"sourceRoot":".."}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../browser/src/persistence/SubjectTopoligicalSorter.ts"],"names":[],"mappings":"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","file":"SubjectTopoligicalSorter.js","sourcesContent":["import { Subject } from \"./Subject\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { TypeORMError } from \"../error\"\n\n/**\n * Orders insert or remove subjects in proper order (using topological sorting)\n * to make sure insert or remove operations are executed in a proper order.\n */\nexport class SubjectTopoligicalSorter {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Insert subjects needs to be sorted.\n */\n subjects: Subject[]\n\n /**\n * Unique list of entity metadatas of this subject.\n */\n metadatas: EntityMetadata[]\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(subjects: Subject[]) {\n this.subjects = [...subjects] // copy subjects to prevent changing of sent array\n this.metadatas = this.getUniqueMetadatas(this.subjects)\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Sorts (orders) subjects in their topological order.\n */\n sort(direction: \"insert\" | \"delete\"): Subject[] {\n // if there are no metadatas it probably mean there is no subjects... we don't have to do anything here\n if (!this.metadatas.length) return this.subjects\n\n const sortedSubjects: Subject[] = []\n\n // first if we sort for deletion all junction subjects\n // junction subjects are subjects without entity and database entity set\n if (direction === \"delete\") {\n const junctionSubjects = this.subjects.filter(\n (subject) => !subject.entity && !subject.databaseEntity,\n )\n sortedSubjects.push(...junctionSubjects)\n this.removeAlreadySorted(junctionSubjects)\n }\n\n // next we always insert entities with non-nullable relations, sort them first\n const nonNullableDependencies = this.getNonNullableDependencies()\n let sortedNonNullableEntityTargets = this.toposort(\n nonNullableDependencies,\n )\n if (direction === \"insert\")\n sortedNonNullableEntityTargets =\n sortedNonNullableEntityTargets.reverse()\n\n // so we have a sorted entity targets\n // go thought each of them and find all subjects with sorted entity target\n // add those sorted targets and remove them from original array of targets\n sortedNonNullableEntityTargets.forEach((sortedEntityTarget) => {\n const entityTargetSubjects = this.subjects.filter(\n (subject) =>\n subject.metadata.targetName === sortedEntityTarget ||\n subject.metadata.inheritanceTree.some(\n (s) => s.name === sortedEntityTarget,\n ),\n )\n sortedSubjects.push(...entityTargetSubjects)\n this.removeAlreadySorted(entityTargetSubjects)\n })\n\n // next sort all other entities\n // same process as in above but with other entities\n const otherDependencies: string[][] = this.getDependencies()\n let sortedOtherEntityTargets = this.toposort(otherDependencies)\n if (direction === \"insert\")\n sortedOtherEntityTargets = sortedOtherEntityTargets.reverse()\n\n sortedOtherEntityTargets.forEach((sortedEntityTarget) => {\n const entityTargetSubjects = this.subjects.filter(\n (subject) => subject.metadata.targetName === sortedEntityTarget,\n )\n sortedSubjects.push(...entityTargetSubjects)\n this.removeAlreadySorted(entityTargetSubjects)\n })\n\n // if we have something left in the subjects add them as well\n sortedSubjects.push(...this.subjects)\n return sortedSubjects\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Removes already sorted subjects from this.subjects list of subjects.\n */\n protected removeAlreadySorted(subjects: Subject[]) {\n subjects.forEach((subject) => {\n this.subjects.splice(this.subjects.indexOf(subject), 1)\n })\n }\n\n /**\n * Extracts all unique metadatas from the given subjects.\n */\n protected getUniqueMetadatas(subjects: Subject[]) {\n const metadatas: EntityMetadata[] = []\n subjects.forEach((subject) => {\n if (metadatas.indexOf(subject.metadata) === -1)\n metadatas.push(subject.metadata)\n })\n return metadatas\n }\n\n /**\n * Gets dependency tree for all entity metadatas with non-nullable relations.\n * We need to execute insertions first for entities which non-nullable relations.\n */\n protected getNonNullableDependencies(): string[][] {\n return this.metadatas.reduce((dependencies, metadata) => {\n metadata.relationsWithJoinColumns.forEach((relation) => {\n if (relation.isNullable) return\n\n dependencies.push([\n metadata.targetName,\n relation.inverseEntityMetadata.targetName,\n ])\n })\n return dependencies\n }, [] as string[][])\n }\n\n /**\n * Gets dependency tree for all entity metadatas with non-nullable relations.\n * We need to execute insertions first for entities which non-nullable relations.\n */\n protected getDependencies(): string[][] {\n return this.metadatas.reduce((dependencies, metadata) => {\n metadata.relationsWithJoinColumns.forEach((relation) => {\n // if relation is self-referenced we skip it\n if (relation.inverseEntityMetadata === metadata) return\n\n dependencies.push([\n metadata.targetName,\n relation.inverseEntityMetadata.targetName,\n ])\n })\n return dependencies\n }, [] as string[][])\n }\n\n /**\n * Sorts given graph using topological sorting algorithm.\n *\n * Algorithm is kindly taken from https://github.com/marcelklehr/toposort repository.\n */\n protected toposort(edges: any[][]) {\n function uniqueNodes(arr: any[]) {\n let res = []\n for (let i = 0, len = arr.length; i < len; i++) {\n let edge: any = arr[i]\n if (res.indexOf(edge[0]) < 0) res.push(edge[0])\n if (res.indexOf(edge[1]) < 0) res.push(edge[1])\n }\n return res\n }\n\n const nodes = uniqueNodes(edges)\n let cursor = nodes.length,\n sorted = new Array(cursor),\n visited: any = {},\n i = cursor\n\n while (i--) {\n if (!visited[i]) visit(nodes[i], i, [])\n }\n\n function visit(node: any, i: number, predecessors: any[]) {\n if (predecessors.indexOf(node) >= 0) {\n throw new TypeORMError(\n \"Cyclic dependency: \" + JSON.stringify(node),\n ) // todo: better error\n }\n\n if (!~nodes.indexOf(node)) {\n throw new TypeORMError(\n \"Found unknown node. Make sure to provided all involved nodes. Unknown node: \" +\n JSON.stringify(node),\n )\n }\n\n if (visited[i]) return\n visited[i] = true\n\n // outgoing edges\n let outgoing = edges.filter(function (edge) {\n return edge[0] === node\n })\n if ((i = outgoing.length)) {\n let preds = predecessors.concat(node)\n do {\n let child = outgoing[--i][1]\n visit(child, nodes.indexOf(child), preds)\n } while (i)\n }\n\n sorted[--cursor] = node\n }\n\n return sorted\n }\n}\n"],"sourceRoot":".."}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/persistence/SubjectTopoligicalSorter.ts"],"names":[],"mappings":"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","file":"SubjectTopoligicalSorter.js","sourcesContent":["import { Subject } from \"./Subject\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { TypeORMError } from \"../error\"\n\n/**\n * Orders insert or remove subjects in proper order (using topological sorting)\n * to make sure insert or remove operations are executed in a proper order.\n */\nexport class SubjectTopoligicalSorter {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Insert subjects needs to be sorted.\n */\n subjects: Subject[]\n\n /**\n * Unique list of entity metadatas of this subject.\n */\n metadatas: EntityMetadata[]\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(subjects: Subject[]) {\n this.subjects = [...subjects] // copy subjects to prevent changing of sent array\n this.metadatas = this.getUniqueMetadatas(this.subjects)\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Sorts (orders) subjects in their topological order.\n */\n sort(direction: \"insert\" | \"delete\"): Subject[] {\n // if there are no metadatas it probably mean there is no subjects... we don't have to do anything here\n if (!this.metadatas.length) return this.subjects\n\n const sortedSubjects: Subject[] = []\n\n // first if we sort for deletion all junction subjects\n // junction subjects are subjects without entity and database entity set\n if (direction === \"delete\") {\n const junctionSubjects = this.subjects.filter(\n (subject) => !subject.entity && !subject.databaseEntity,\n )\n sortedSubjects.push(...junctionSubjects)\n this.removeAlreadySorted(junctionSubjects)\n }\n\n // next we always insert entities with non-nullable relations, sort them first\n const nonNullableDependencies = this.getNonNullableDependencies()\n let sortedNonNullableEntityTargets = this.toposort(\n nonNullableDependencies,\n )\n if (direction === \"insert\")\n sortedNonNullableEntityTargets =\n sortedNonNullableEntityTargets.reverse()\n\n // so we have a sorted entity targets\n // go thought each of them and find all subjects with sorted entity target\n // add those sorted targets and remove them from original array of targets\n sortedNonNullableEntityTargets.forEach((sortedEntityTarget) => {\n const entityTargetSubjects = this.subjects.filter(\n (subject) =>\n subject.metadata.targetName === sortedEntityTarget ||\n subject.metadata.inheritanceTree.some(\n (s) => s.name === sortedEntityTarget,\n ),\n )\n sortedSubjects.push(...entityTargetSubjects)\n this.removeAlreadySorted(entityTargetSubjects)\n })\n\n // next sort all other entities\n // same process as in above but with other entities\n const otherDependencies: string[][] = this.getDependencies()\n let sortedOtherEntityTargets = this.toposort(otherDependencies)\n if (direction === \"insert\")\n sortedOtherEntityTargets = sortedOtherEntityTargets.reverse()\n\n sortedOtherEntityTargets.forEach((sortedEntityTarget) => {\n const entityTargetSubjects = this.subjects.filter(\n (subject) => subject.metadata.targetName === sortedEntityTarget,\n )\n sortedSubjects.push(...entityTargetSubjects)\n this.removeAlreadySorted(entityTargetSubjects)\n })\n\n // if we have something left in the subjects add them as well\n sortedSubjects.push(...this.subjects)\n return sortedSubjects\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Removes already sorted subjects from this.subjects list of subjects.\n */\n protected removeAlreadySorted(subjects: Subject[]) {\n subjects.forEach((subject) => {\n this.subjects.splice(this.subjects.indexOf(subject), 1)\n })\n }\n\n /**\n * Extracts all unique metadatas from the given subjects.\n */\n protected getUniqueMetadatas(subjects: Subject[]) {\n const metadatas: EntityMetadata[] = []\n subjects.forEach((subject) => {\n if (metadatas.indexOf(subject.metadata) === -1)\n metadatas.push(subject.metadata)\n })\n return metadatas\n }\n\n /**\n * Gets dependency tree for all entity metadatas with non-nullable relations.\n * We need to execute insertions first for entities which non-nullable relations.\n */\n protected getNonNullableDependencies(): string[][] {\n return this.metadatas.reduce((dependencies, metadata) => {\n metadata.relationsWithJoinColumns.forEach((relation) => {\n if (relation.isNullable) return\n\n dependencies.push([\n metadata.targetName,\n relation.inverseEntityMetadata.targetName,\n ])\n })\n return dependencies\n }, [] as string[][])\n }\n\n /**\n * Gets dependency tree for all entity metadatas with non-nullable relations.\n * We need to execute insertions first for entities which non-nullable relations.\n */\n protected getDependencies(): string[][] {\n return this.metadatas.reduce((dependencies, metadata) => {\n metadata.relationsWithJoinColumns.forEach((relation) => {\n // if relation is self-referenced we skip it\n if (relation.inverseEntityMetadata === metadata) return\n\n dependencies.push([\n metadata.targetName,\n relation.inverseEntityMetadata.targetName,\n ])\n })\n return dependencies\n }, [] as string[][])\n }\n\n /**\n * Sorts given graph using topological sorting algorithm.\n *\n * Algorithm is kindly taken from https://github.com/marcelklehr/toposort repository.\n */\n protected toposort(edges: any[][]) {\n function uniqueNodes(arr: any[]) {\n let res = []\n for (let i = 0, len = arr.length; i < len; i++) {\n let edge: any = arr[i]\n if (res.indexOf(edge[0]) < 0) res.push(edge[0])\n if (res.indexOf(edge[1]) < 0) res.push(edge[1])\n }\n return res\n }\n\n const nodes = uniqueNodes(edges)\n let cursor = nodes.length,\n sorted = new Array(cursor),\n visited: any = {},\n i = cursor\n\n while (i--) {\n if (!visited[i]) visit(nodes[i], i, [])\n }\n\n function visit(node: any, i: number, predecessors: any[]) {\n if (predecessors.indexOf(node) >= 0) {\n throw new TypeORMError(\n \"Cyclic dependency: \" + JSON.stringify(node),\n ) // todo: better error\n }\n\n if (!~nodes.indexOf(node)) {\n throw new TypeORMError(\n \"Found unknown node. Make sure to provided all involved nodes. Unknown node: \" +\n JSON.stringify(node),\n )\n }\n\n if (visited[i]) return\n visited[i] = true\n\n // outgoing edges\n let outgoing = edges.filter(function (edge) {\n return edge[0] === node\n })\n if ((i = outgoing.length)) {\n let preds = predecessors.concat(node)\n do {\n let child = outgoing[--i][1]\n visit(child, nodes.indexOf(child), preds)\n } while (i)\n }\n\n sorted[--cursor] = node\n }\n\n return sorted\n }\n}\n"],"sourceRoot":".."}