typeorm 1.0.0-beta.1 → 1.0.0-beta.2
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.
- package/browser/cache/DbQueryResultCache.d.ts +7 -0
- package/browser/cache/DbQueryResultCache.js +12 -4
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/cache/RedisQueryResultCache.d.ts +7 -0
- package/browser/cache/RedisQueryResultCache.js +15 -10
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/cli-ts-node-esm.js +2 -2
- package/browser/cli-ts-node-esm.js.map +1 -1
- package/browser/common/RelationType.d.ts +2 -0
- package/browser/common/RelationType.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -0
- package/browser/connection/ConnectionMetadataBuilder.js +3 -0
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.d.ts +5 -4
- package/browser/connection/ConnectionOptionsReader.js +14 -12
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/data-source/BaseDataSourceOptions.d.ts +8 -0
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/data-source/DataSource.d.ts +20 -1
- package/browser/data-source/DataSource.js +37 -15
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/decorator/Check.d.ts +2 -0
- package/browser/decorator/Check.js +2 -1
- package/browser/decorator/Check.js.map +1 -1
- package/browser/decorator/Exclusion.d.ts +2 -0
- package/browser/decorator/Exclusion.js +1 -0
- package/browser/decorator/Exclusion.js.map +1 -1
- package/browser/decorator/ForeignKey.d.ts +3 -0
- package/browser/decorator/ForeignKey.js +1 -0
- package/browser/decorator/ForeignKey.js.map +1 -1
- package/browser/decorator/Generated.d.ts +1 -0
- package/browser/decorator/Generated.js +1 -0
- package/browser/decorator/Generated.js.map +1 -1
- package/browser/decorator/Index.d.ts +7 -0
- package/browser/decorator/Index.js +13 -13
- package/browser/decorator/Index.js.map +1 -1
- package/browser/decorator/Unique.d.ts +4 -0
- package/browser/decorator/Unique.js +6 -6
- package/browser/decorator/Unique.js.map +1 -1
- package/browser/decorator/columns/Column.d.ts +11 -0
- package/browser/decorator/columns/Column.js +3 -3
- package/browser/decorator/columns/Column.js.map +1 -1
- package/browser/decorator/columns/CreateDateColumn.d.ts +1 -0
- package/browser/decorator/columns/CreateDateColumn.js +2 -1
- package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
- package/browser/decorator/columns/DeleteDateColumn.d.ts +1 -0
- package/browser/decorator/columns/DeleteDateColumn.js +2 -1
- package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/browser/decorator/columns/ObjectIdColumn.d.ts +1 -0
- package/browser/decorator/columns/ObjectIdColumn.js +3 -4
- package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.d.ts +2 -0
- package/browser/decorator/columns/PrimaryColumn.js +2 -2
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +4 -0
- package/browser/decorator/columns/PrimaryGeneratedColumn.js +1 -0
- package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/browser/decorator/columns/UpdateDateColumn.d.ts +1 -0
- package/browser/decorator/columns/UpdateDateColumn.js +2 -1
- package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/browser/decorator/columns/VersionColumn.d.ts +1 -0
- package/browser/decorator/columns/VersionColumn.js +2 -1
- package/browser/decorator/columns/VersionColumn.js.map +1 -1
- package/browser/decorator/columns/ViewColumn.d.ts +1 -0
- package/browser/decorator/columns/ViewColumn.js +2 -1
- package/browser/decorator/columns/ViewColumn.js.map +1 -1
- package/browser/decorator/columns/VirtualColumn.d.ts +2 -0
- package/browser/decorator/columns/VirtualColumn.js +1 -0
- package/browser/decorator/columns/VirtualColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.d.ts +1 -0
- package/browser/decorator/entity/ChildEntity.js +1 -0
- package/browser/decorator/entity/ChildEntity.js.map +1 -1
- package/browser/decorator/entity/Entity.d.ts +2 -0
- package/browser/decorator/entity/Entity.js +7 -6
- package/browser/decorator/entity/Entity.js.map +1 -1
- package/browser/decorator/entity/TableInheritance.d.ts +1 -0
- package/browser/decorator/entity/TableInheritance.js +3 -2
- package/browser/decorator/entity/TableInheritance.js.map +1 -1
- package/browser/decorator/entity-view/ViewEntity.d.ts +2 -0
- package/browser/decorator/entity-view/ViewEntity.js +4 -3
- package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
- package/browser/decorator/options/ColumnOptions.d.ts +3 -0
- package/browser/decorator/options/ColumnOptions.js.map +1 -1
- package/browser/decorator/options/EntityOptions.d.ts +1 -0
- package/browser/decorator/options/EntityOptions.js.map +1 -1
- package/browser/decorator/options/RelationOptions.d.ts +2 -0
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/options/VirtualColumnOptions.d.ts +1 -0
- package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/browser/decorator/relations/JoinColumn.d.ts +2 -0
- package/browser/decorator/relations/JoinColumn.js +2 -1
- package/browser/decorator/relations/JoinColumn.js.map +1 -1
- package/browser/decorator/relations/JoinTable.d.ts +2 -0
- package/browser/decorator/relations/JoinTable.js +5 -4
- package/browser/decorator/relations/JoinTable.js.map +1 -1
- package/browser/decorator/relations/ManyToMany.d.ts +2 -0
- package/browser/decorator/relations/ManyToMany.js +2 -2
- package/browser/decorator/relations/ManyToMany.js.map +1 -1
- package/browser/decorator/relations/ManyToOne.d.ts +2 -0
- package/browser/decorator/relations/ManyToOne.js +3 -3
- package/browser/decorator/relations/ManyToOne.js.map +1 -1
- package/browser/decorator/relations/OneToMany.d.ts +1 -0
- package/browser/decorator/relations/OneToMany.js +3 -3
- package/browser/decorator/relations/OneToMany.js.map +1 -1
- package/browser/decorator/relations/OneToOne.d.ts +2 -0
- package/browser/decorator/relations/OneToOne.js +3 -3
- package/browser/decorator/relations/OneToOne.js.map +1 -1
- package/browser/decorator/relations/RelationId.d.ts +1 -0
- package/browser/decorator/relations/RelationId.js +1 -0
- package/browser/decorator/relations/RelationId.js.map +1 -1
- package/browser/decorator/tree/Tree.d.ts +1 -0
- package/browser/decorator/tree/Tree.js +1 -0
- package/browser/decorator/tree/Tree.js.map +1 -1
- package/browser/decorator/tree/TreeChildren.d.ts +1 -0
- package/browser/decorator/tree/TreeChildren.js +3 -3
- package/browser/decorator/tree/TreeChildren.js.map +1 -1
- package/browser/decorator/tree/TreeParent.d.ts +1 -0
- package/browser/decorator/tree/TreeParent.js +3 -3
- package/browser/decorator/tree/TreeParent.js.map +1 -1
- package/browser/driver/Driver.d.ts +5 -0
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverFactory.d.ts +1 -0
- package/browser/driver/DriverFactory.js +1 -0
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.d.ts +7 -0
- package/browser/driver/DriverUtils.js +34 -21
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -0
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +1 -0
- package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +37 -0
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +53 -16
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +64 -0
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +90 -30
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +13 -0
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.js +26 -5
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +3 -0
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +27 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +3 -0
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +5 -3
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/browser/driver/capacitor/CapacitorDriver.d.ts +1 -0
- package/browser/driver/capacitor/CapacitorDriver.js +3 -3
- package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +2 -0
- package/browser/driver/capacitor/CapacitorQueryRunner.js +4 -2
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDataSourceOptions.d.ts +1 -0
- package/browser/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +35 -0
- package/browser/driver/cockroachdb/CockroachDriver.js +64 -29
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +74 -0
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +143 -119
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.d.ts +6 -0
- package/browser/driver/cordova/CordovaDriver.js +14 -4
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.d.ts +2 -0
- package/browser/driver/cordova/CordovaQueryRunner.js +3 -1
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoDriver.js +1 -2
- package/browser/driver/expo/ExpoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.d.ts +25 -0
- package/browser/driver/mongodb/MongoDriver.js +35 -6
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +84 -0
- package/browser/driver/mongodb/MongoQueryRunner.js +102 -18
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/bson.typings.d.ts +1 -0
- package/browser/driver/mongodb/bson.typings.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -0
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlDataSourceOptions.d.ts +2 -0
- package/browser/driver/mysql/MysqlDataSourceOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +37 -0
- package/browser/driver/mysql/MysqlDriver.js +57 -17
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +64 -0
- package/browser/driver/mysql/MysqlQueryRunner.js +140 -111
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptDriver.d.ts +1 -0
- package/browser/driver/nativescript/NativescriptDriver.js +3 -4
- package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +2 -0
- package/browser/driver/nativescript/NativescriptQueryRunner.js +3 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.d.ts +32 -0
- package/browser/driver/oracle/OracleDriver.js +48 -15
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.d.ts +66 -0
- package/browser/driver/oracle/OracleQueryRunner.js +119 -83
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresDataSourceOptions.d.ts +2 -0
- package/browser/driver/postgres/PostgresDataSourceOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +37 -0
- package/browser/driver/postgres/PostgresDriver.js +67 -31
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +81 -0
- package/browser/driver/postgres/PostgresQueryRunner.js +152 -121
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeDriver.d.ts +29 -0
- package/browser/driver/react-native/ReactNativeDriver.js +45 -12
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +2 -0
- package/browser/driver/react-native/ReactNativeQueryRunner.js +3 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapDataSourceOptions.d.ts +1 -0
- package/browser/driver/sap/SapDataSourceOptions.js.map +1 -1
- package/browser/driver/sap/SapDriver.d.ts +30 -0
- package/browser/driver/sap/SapDriver.js +45 -11
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +66 -0
- package/browser/driver/sap/SapQueryRunner.js +101 -56
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerDataSourceOptions.d.ts +1 -0
- package/browser/driver/spanner/SpannerDataSourceOptions.js.map +1 -1
- package/browser/driver/spanner/SpannerDriver.d.ts +33 -0
- package/browser/driver/spanner/SpannerDriver.js +50 -10
- package/browser/driver/spanner/SpannerDriver.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.d.ts +64 -0
- package/browser/driver/spanner/SpannerQueryRunner.js +89 -32
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +30 -0
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +43 -77
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +59 -0
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +89 -45
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsDriver.d.ts +5 -0
- package/browser/driver/sqljs/SqljsDriver.js +8 -4
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.d.ts +1 -0
- package/browser/driver/sqljs/SqljsQueryRunner.js +1 -0
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/MssqlParameter.d.ts +1 -0
- package/browser/driver/sqlserver/MssqlParameter.js +1 -0
- package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDataSourceOptions.d.ts +14 -5
- package/browser/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +42 -0
- package/browser/driver/sqlserver/SqlServerDriver.js +100 -26
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +76 -10
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +160 -163
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/types/IsolationLevel.d.ts +2 -1
- package/browser/driver/types/IsolationLevel.js +8 -0
- package/browser/driver/types/IsolationLevel.js.map +1 -1
- package/browser/driver/validate-isolation-level.d.ts +9 -0
- package/browser/driver/validate-isolation-level.js +23 -0
- package/browser/driver/validate-isolation-level.js.map +1 -0
- package/browser/entity-manager/EntityManager.d.ts +38 -1
- package/browser/entity-manager/EntityManager.js +58 -12
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/EntityManagerFactory.d.ts +1 -0
- package/browser/entity-manager/EntityManagerFactory.js +1 -0
- package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +54 -1
- package/browser/entity-manager/MongoEntityManager.js +103 -12
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-manager/SqljsEntityManager.d.ts +2 -0
- package/browser/entity-manager/SqljsEntityManager.js +2 -0
- package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +1 -0
- package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.d.ts +1 -0
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.d.ts +1 -0
- package/browser/entity-schema/EntitySchemaTransformer.js +25 -26
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/error/InitializedRelationError.d.ts +1 -0
- package/browser/error/InitializedRelationError.js +1 -0
- package/browser/error/InitializedRelationError.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.d.ts +7 -0
- package/browser/find-options/FindOptionsUtils.js +7 -0
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/OrderByCondition.d.ts +2 -1
- package/browser/find-options/OrderByCondition.js.map +1 -1
- package/browser/find-options/operator/Any.d.ts +4 -1
- package/browser/find-options/operator/Any.js +4 -1
- package/browser/find-options/operator/Any.js.map +1 -1
- package/browser/find-options/operator/ArrayContainedBy.d.ts +4 -1
- package/browser/find-options/operator/ArrayContainedBy.js +4 -1
- package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/browser/find-options/operator/ArrayContains.d.ts +4 -1
- package/browser/find-options/operator/ArrayContains.js +4 -1
- package/browser/find-options/operator/ArrayContains.js.map +1 -1
- package/browser/find-options/operator/ArrayOverlap.d.ts +4 -1
- package/browser/find-options/operator/ArrayOverlap.js +4 -1
- package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
- package/browser/find-options/operator/Between.d.ts +4 -1
- package/browser/find-options/operator/Between.js +4 -1
- package/browser/find-options/operator/Between.js.map +1 -1
- package/browser/find-options/operator/Equal.d.ts +6 -3
- package/browser/find-options/operator/Equal.js +6 -3
- package/browser/find-options/operator/Equal.js.map +1 -1
- package/browser/find-options/operator/ILike.d.ts +4 -1
- package/browser/find-options/operator/ILike.js +4 -1
- package/browser/find-options/operator/ILike.js.map +1 -1
- package/browser/find-options/operator/In.d.ts +4 -1
- package/browser/find-options/operator/In.js +4 -1
- package/browser/find-options/operator/In.js.map +1 -1
- package/browser/find-options/operator/IsNull.d.ts +4 -1
- package/browser/find-options/operator/IsNull.js +4 -1
- package/browser/find-options/operator/IsNull.js.map +1 -1
- package/browser/find-options/operator/JsonContains.d.ts +4 -1
- package/browser/find-options/operator/JsonContains.js +4 -1
- package/browser/find-options/operator/JsonContains.js.map +1 -1
- package/browser/find-options/operator/LessThan.d.ts +4 -1
- package/browser/find-options/operator/LessThan.js +4 -1
- package/browser/find-options/operator/LessThan.js.map +1 -1
- package/browser/find-options/operator/LessThanOrEqual.d.ts +4 -1
- package/browser/find-options/operator/LessThanOrEqual.js +4 -1
- package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/browser/find-options/operator/Like.d.ts +4 -1
- package/browser/find-options/operator/Like.js +4 -1
- package/browser/find-options/operator/Like.js.map +1 -1
- package/browser/find-options/operator/MoreThan.d.ts +4 -1
- package/browser/find-options/operator/MoreThan.js +4 -1
- package/browser/find-options/operator/MoreThan.js.map +1 -1
- package/browser/find-options/operator/MoreThanOrEqual.d.ts +4 -1
- package/browser/find-options/operator/MoreThanOrEqual.js +4 -1
- package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/browser/find-options/operator/Not.d.ts +4 -1
- package/browser/find-options/operator/Not.js +4 -1
- package/browser/find-options/operator/Not.js.map +1 -1
- package/browser/find-options/operator/Raw.d.ts +12 -3
- package/browser/find-options/operator/Raw.js.map +1 -1
- package/browser/globals.js +1 -2
- package/browser/globals.js.map +1 -1
- package/browser/logger/AbstractLogger.d.ts +9 -0
- package/browser/logger/AbstractLogger.js +10 -2
- package/browser/logger/AbstractLogger.js.map +1 -1
- package/browser/logger/AdvancedConsoleLogger.d.ts +1 -0
- package/browser/logger/AdvancedConsoleLogger.js +1 -0
- package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
- package/browser/logger/DebugLogger.d.ts +2 -0
- package/browser/logger/DebugLogger.js +3 -1
- package/browser/logger/DebugLogger.js.map +1 -1
- package/browser/logger/FileLogger.d.ts +13 -2
- package/browser/logger/FileLogger.js +4 -5
- package/browser/logger/FileLogger.js.map +1 -1
- package/browser/logger/FormattedConsoleLogger.d.ts +1 -0
- package/browser/logger/FormattedConsoleLogger.js +1 -0
- package/browser/logger/FormattedConsoleLogger.js.map +1 -1
- package/browser/logger/LoggerFactory.d.ts +1 -0
- package/browser/logger/LoggerFactory.js +1 -0
- package/browser/logger/LoggerFactory.js.map +1 -1
- package/browser/logger/LoggerOptions.d.ts +0 -9
- package/browser/logger/LoggerOptions.js.map +1 -1
- package/browser/logger/SimpleConsoleLogger.d.ts +1 -0
- package/browser/logger/SimpleConsoleLogger.js +1 -0
- package/browser/logger/SimpleConsoleLogger.js.map +1 -1
- package/browser/metadata/CheckMetadata.d.ts +1 -0
- package/browser/metadata/CheckMetadata.js +4 -3
- package/browser/metadata/CheckMetadata.js.map +1 -1
- package/browser/metadata/ColumnMetadata.d.ts +8 -5
- package/browser/metadata/ColumnMetadata.js +17 -25
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.d.ts +1 -0
- package/browser/metadata/EmbeddedMetadata.js +1 -0
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/EntityListenerMetadata.d.ts +3 -0
- package/browser/metadata/EntityListenerMetadata.js +3 -0
- package/browser/metadata/EntityListenerMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +25 -5
- package/browser/metadata/EntityMetadata.js +32 -12
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/ExclusionMetadata.d.ts +1 -0
- package/browser/metadata/ExclusionMetadata.js +4 -3
- package/browser/metadata/ExclusionMetadata.js.map +1 -1
- package/browser/metadata/ForeignKeyMetadata.d.ts +1 -0
- package/browser/metadata/ForeignKeyMetadata.js +6 -5
- package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
- package/browser/metadata/IndexMetadata.d.ts +1 -0
- package/browser/metadata/IndexMetadata.js +4 -3
- package/browser/metadata/IndexMetadata.js.map +1 -1
- package/browser/metadata/RelationIdMetadata.d.ts +1 -0
- package/browser/metadata/RelationIdMetadata.js +1 -0
- package/browser/metadata/RelationIdMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.d.ts +8 -0
- package/browser/metadata/RelationMetadata.js +15 -15
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/UniqueMetadata.d.ts +1 -0
- package/browser/metadata/UniqueMetadata.js +4 -3
- package/browser/metadata/UniqueMetadata.js.map +1 -1
- package/browser/metadata-args/MetadataArgsStorage.d.ts +4 -0
- package/browser/metadata-args/MetadataArgsStorage.js +4 -0
- package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -0
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +7 -11
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.d.ts +7 -0
- package/browser/metadata-builder/EntityMetadataBuilder.js +11 -6
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.d.ts +4 -0
- package/browser/metadata-builder/EntityMetadataValidator.js +6 -43
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -0
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +39 -20
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/MetadataUtils.d.ts +3 -0
- package/browser/metadata-builder/MetadataUtils.js +4 -1
- package/browser/metadata-builder/MetadataUtils.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -0
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +17 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/migration/MigrationExecutor.d.ts +9 -0
- package/browser/migration/MigrationExecutor.js +16 -7
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.d.ts +3 -0
- package/browser/naming-strategy/DefaultNamingStrategy.js +13 -10
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.d.ts +2 -0
- package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.js +2 -4
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.js +4 -6
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectChangedColumnsComputer.d.ts +3 -0
- package/browser/persistence/SubjectChangedColumnsComputer.js +3 -0
- package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +1 -0
- package/browser/persistence/SubjectDatabaseEntityLoader.js +3 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.d.ts +2 -0
- package/browser/persistence/SubjectExecutor.js +15 -27
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopologicalSorter.d.ts +4 -0
- package/browser/persistence/SubjectTopologicalSorter.js +4 -0
- package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +2 -0
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +37 -11
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +11 -8
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -13
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.d.ts +9 -10
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +30 -24
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +9 -10
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +9 -10
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +4 -0
- package/browser/persistence/tree/ClosureSubjectExecutor.js +10 -8
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -0
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +8 -6
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +5 -0
- package/browser/persistence/tree/NestedSetSubjectExecutor.js +10 -5
- package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/browser/platform/PlatformTools.d.ts +9 -0
- package/browser/platform/PlatformTools.js +10 -1
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/Alias.js +1 -1
- package/browser/query-builder/Alias.js.map +1 -1
- package/browser/query-builder/Brackets.d.ts +1 -0
- package/browser/query-builder/Brackets.js +1 -0
- package/browser/query-builder/Brackets.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.d.ts +7 -0
- package/browser/query-builder/DeleteQueryBuilder.js +9 -0
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.d.ts +9 -0
- package/browser/query-builder/InsertQueryBuilder.js +14 -8
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.js +3 -3
- package/browser/query-builder/JoinAttribute.js.map +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +25 -4
- package/browser/query-builder/QueryBuilder.js +58 -15
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilderUtils.d.ts +1 -0
- package/browser/query-builder/QueryBuilderUtils.js +1 -0
- package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +5 -0
- package/browser/query-builder/QueryExpressionMap.js +4 -1
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/RelationIdLoader.d.ts +6 -35
- package/browser/query-builder/RelationIdLoader.js +19 -43
- package/browser/query-builder/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/RelationLoader.d.ts +11 -2
- package/browser/query-builder/RelationLoader.js +20 -17
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.d.ts +5 -0
- package/browser/query-builder/RelationQueryBuilder.js +5 -0
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationRemover.d.ts +1 -0
- package/browser/query-builder/RelationRemover.js +1 -0
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/RelationUpdater.d.ts +1 -0
- package/browser/query-builder/RelationUpdater.js +1 -0
- package/browser/query-builder/RelationUpdater.js.map +1 -1
- package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +2 -0
- package/browser/query-builder/ReturningResultsEntityUpdator.js +3 -1
- package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +31 -8
- package/browser/query-builder/SelectQueryBuilder.js +98 -70
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +11 -0
- package/browser/query-builder/SoftDeleteQueryBuilder.js +17 -0
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.d.ts +11 -0
- package/browser/query-builder/UpdateQueryBuilder.js +18 -1
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.js +5 -5
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.d.ts +2 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js +6 -3
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/transformer/DocumentToEntityTransformer.js +3 -16
- package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +2 -4
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +1 -0
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +6 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -7
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +21 -1
- package/browser/query-runner/BaseQueryRunner.js +36 -49
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +5 -1
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/repository/BaseEntity.d.ts +32 -0
- package/browser/repository/BaseEntity.js +36 -0
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/MongoRepository.d.ts +39 -0
- package/browser/repository/MongoRepository.js +41 -2
- package/browser/repository/MongoRepository.js.map +1 -1
- package/browser/repository/Repository.d.ts +37 -1
- package/browser/repository/Repository.js +43 -2
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/TreeRepository.d.ts +11 -0
- package/browser/repository/TreeRepository.js +12 -1
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +6 -4
- package/browser/schema-builder/RdbmsSchemaBuilder.js +10 -13
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/table/Table.d.ts +17 -0
- package/browser/schema-builder/table/Table.js +19 -2
- package/browser/schema-builder/table/Table.js.map +1 -1
- package/browser/schema-builder/table/TableCheck.d.ts +1 -0
- package/browser/schema-builder/table/TableCheck.js +1 -0
- package/browser/schema-builder/table/TableCheck.js.map +1 -1
- package/browser/schema-builder/table/TableColumn.js +7 -7
- package/browser/schema-builder/table/TableColumn.js.map +1 -1
- package/browser/schema-builder/table/TableExclusion.d.ts +1 -0
- package/browser/schema-builder/table/TableExclusion.js +1 -0
- package/browser/schema-builder/table/TableExclusion.js.map +1 -1
- package/browser/schema-builder/table/TableForeignKey.d.ts +1 -0
- package/browser/schema-builder/table/TableForeignKey.js +1 -0
- package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.d.ts +1 -0
- package/browser/schema-builder/table/TableIndex.js +2 -1
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.d.ts +1 -0
- package/browser/schema-builder/table/TableUnique.js +1 -0
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/schema-builder/util/ViewUtils.d.ts +1 -0
- package/browser/schema-builder/util/ViewUtils.js +1 -0
- package/browser/schema-builder/util/ViewUtils.js.map +1 -1
- package/browser/schema-builder/view/View.d.ts +3 -0
- package/browser/schema-builder/view/View.js +3 -0
- package/browser/schema-builder/view/View.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +20 -0
- package/browser/subscriber/Broadcaster.js +25 -6
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/event/BaseEvent.d.ts +1 -0
- package/browser/subscriber/event/BaseEvent.js.map +1 -1
- package/browser/util/DateUtils.d.ts +15 -0
- package/browser/util/DateUtils.js +15 -0
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/DepGraph.d.ts +10 -0
- package/browser/util/DepGraph.js +11 -0
- package/browser/util/DepGraph.js.map +1 -1
- package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -0
- package/browser/util/DirectoryExportedClassesLoader.js +1 -0
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ObjectUtils.d.ts +6 -0
- package/browser/util/ObjectUtils.js +4 -0
- package/browser/util/ObjectUtils.js.map +1 -1
- package/browser/util/OrmUtils.d.ts +14 -0
- package/browser/util/OrmUtils.js +18 -6
- package/browser/util/OrmUtils.js.map +1 -1
- package/browser/util/PathUtils.d.ts +2 -0
- package/browser/util/PathUtils.js +2 -0
- package/browser/util/PathUtils.js.map +1 -1
- package/browser/util/RandomGenerator.d.ts +2 -0
- package/browser/util/RandomGenerator.js +2 -0
- package/browser/util/RandomGenerator.js.map +1 -1
- package/browser/util/StringUtils.d.ts +11 -4
- package/browser/util/StringUtils.js +15 -7
- package/browser/util/StringUtils.js.map +1 -1
- package/browser/util/TreeRepositoryUtils.js +2 -2
- package/browser/util/TreeRepositoryUtils.js.map +1 -1
- package/cache/DbQueryResultCache.d.ts +7 -0
- package/cache/DbQueryResultCache.js +12 -4
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/RedisQueryResultCache.d.ts +7 -0
- package/cache/RedisQueryResultCache.js +15 -10
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli-ts-node-esm.js +2 -2
- package/cli-ts-node-esm.js.map +1 -1
- package/commands/CacheClearCommand.js +1 -1
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.d.ts +4 -0
- package/commands/CommandUtils.js +4 -0
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.d.ts +1 -0
- package/commands/EntityCreateCommand.js +1 -0
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +10 -0
- package/commands/InitCommand.js +16 -9
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +2 -0
- package/commands/MigrationCreateCommand.js +2 -0
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +3 -0
- package/commands/MigrationGenerateCommand.js +4 -1
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +1 -1
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +1 -1
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +1 -1
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.js +1 -1
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +1 -1
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +1 -1
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.d.ts +1 -0
- package/commands/SubscriberCreateCommand.js +1 -0
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js +2 -2
- package/commands/VersionCommand.js.map +1 -1
- package/common/RelationType.d.ts +2 -0
- package/common/RelationType.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.d.ts +3 -0
- package/connection/ConnectionMetadataBuilder.js +3 -0
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.d.ts +5 -4
- package/connection/ConnectionOptionsReader.js +14 -12
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +8 -0
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/data-source/DataSource.d.ts +20 -1
- package/data-source/DataSource.js +37 -15
- package/data-source/DataSource.js.map +1 -1
- package/decorator/Check.d.ts +2 -0
- package/decorator/Check.js +2 -1
- package/decorator/Check.js.map +1 -1
- package/decorator/Exclusion.d.ts +2 -0
- package/decorator/Exclusion.js +1 -0
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/ForeignKey.d.ts +3 -0
- package/decorator/ForeignKey.js +1 -0
- package/decorator/ForeignKey.js.map +1 -1
- package/decorator/Generated.d.ts +1 -0
- package/decorator/Generated.js +1 -0
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.d.ts +7 -0
- package/decorator/Index.js +13 -13
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.d.ts +4 -0
- package/decorator/Unique.js +6 -6
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.d.ts +11 -0
- package/decorator/columns/Column.js +3 -3
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.d.ts +1 -0
- package/decorator/columns/CreateDateColumn.js +2 -1
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.d.ts +1 -0
- package/decorator/columns/DeleteDateColumn.js +2 -1
- package/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/decorator/columns/ObjectIdColumn.d.ts +1 -0
- package/decorator/columns/ObjectIdColumn.js +3 -4
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.d.ts +2 -0
- package/decorator/columns/PrimaryColumn.js +2 -2
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.d.ts +4 -0
- package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.d.ts +1 -0
- package/decorator/columns/UpdateDateColumn.js +2 -1
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.d.ts +1 -0
- package/decorator/columns/VersionColumn.js +2 -1
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.d.ts +1 -0
- package/decorator/columns/ViewColumn.js +2 -1
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/columns/VirtualColumn.d.ts +2 -0
- package/decorator/columns/VirtualColumn.js +1 -0
- package/decorator/columns/VirtualColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.d.ts +1 -0
- package/decorator/entity/ChildEntity.js +1 -0
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.d.ts +2 -0
- package/decorator/entity/Entity.js +7 -6
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.d.ts +1 -0
- package/decorator/entity/TableInheritance.js +3 -2
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.d.ts +2 -0
- package/decorator/entity-view/ViewEntity.js +4 -3
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/options/ColumnOptions.d.ts +3 -0
- package/decorator/options/ColumnOptions.js.map +1 -1
- package/decorator/options/EntityOptions.d.ts +1 -0
- package/decorator/options/EntityOptions.js.map +1 -1
- package/decorator/options/RelationOptions.d.ts +2 -0
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/options/VirtualColumnOptions.d.ts +1 -0
- package/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/decorator/relations/JoinColumn.d.ts +2 -0
- package/decorator/relations/JoinColumn.js +2 -1
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.d.ts +2 -0
- package/decorator/relations/JoinTable.js +5 -4
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.d.ts +2 -0
- package/decorator/relations/ManyToMany.js +2 -2
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.d.ts +2 -0
- package/decorator/relations/ManyToOne.js +3 -3
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.d.ts +1 -0
- package/decorator/relations/OneToMany.js +3 -3
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.d.ts +2 -0
- package/decorator/relations/OneToOne.js +3 -3
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationId.d.ts +1 -0
- package/decorator/relations/RelationId.js +1 -0
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/tree/Tree.d.ts +1 -0
- package/decorator/tree/Tree.js +1 -0
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.d.ts +1 -0
- package/decorator/tree/TreeChildren.js +3 -3
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeParent.d.ts +1 -0
- package/decorator/tree/TreeParent.js +3 -3
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/Driver.d.ts +5 -0
- package/driver/Driver.js.map +1 -1
- package/driver/DriverFactory.d.ts +1 -0
- package/driver/DriverFactory.js +1 -0
- package/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.d.ts +7 -0
- package/driver/DriverUtils.js +34 -21
- package/driver/DriverUtils.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -0
- package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts +1 -0
- package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +37 -0
- package/driver/aurora-mysql/AuroraMysqlDriver.js +53 -16
- package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +64 -0
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +90 -30
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +13 -0
- package/driver/aurora-postgres/AuroraPostgresDriver.js +26 -5
- package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +3 -0
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +27 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts +1 -0
- package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +3 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.js +5 -3
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +1 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/capacitor/CapacitorDriver.d.ts +1 -0
- package/driver/capacitor/CapacitorDriver.js +3 -3
- package/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.d.ts +2 -0
- package/driver/capacitor/CapacitorQueryRunner.js +4 -2
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDataSourceOptions.d.ts +1 -0
- package/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.d.ts +35 -0
- package/driver/cockroachdb/CockroachDriver.js +64 -29
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +74 -0
- package/driver/cockroachdb/CockroachQueryRunner.js +143 -119
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.d.ts +6 -0
- package/driver/cordova/CordovaDriver.js +14 -4
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.d.ts +2 -0
- package/driver/cordova/CordovaQueryRunner.js +3 -1
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoDriver.js +1 -2
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/mongodb/MongoDriver.d.ts +25 -0
- package/driver/mongodb/MongoDriver.js +35 -6
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +84 -0
- package/driver/mongodb/MongoQueryRunner.js +102 -18
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mongodb/bson.typings.d.ts +1 -0
- package/driver/mongodb/bson.typings.js.map +1 -1
- package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -0
- package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/driver/mysql/MysqlDataSourceOptions.d.ts +2 -0
- package/driver/mysql/MysqlDataSourceOptions.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +37 -0
- package/driver/mysql/MysqlDriver.js +57 -17
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +64 -0
- package/driver/mysql/MysqlQueryRunner.js +140 -111
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.d.ts +1 -0
- package/driver/nativescript/NativescriptDriver.js +3 -4
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.d.ts +2 -0
- package/driver/nativescript/NativescriptQueryRunner.js +3 -1
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleDriver.d.ts +32 -0
- package/driver/oracle/OracleDriver.js +48 -15
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.d.ts +66 -0
- package/driver/oracle/OracleQueryRunner.js +119 -83
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresDataSourceOptions.d.ts +2 -0
- package/driver/postgres/PostgresDataSourceOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +37 -0
- package/driver/postgres/PostgresDriver.js +67 -31
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +81 -0
- package/driver/postgres/PostgresQueryRunner.js +152 -121
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.d.ts +29 -0
- package/driver/react-native/ReactNativeDriver.js +45 -12
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.d.ts +2 -0
- package/driver/react-native/ReactNativeQueryRunner.js +3 -1
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapDataSourceOptions.d.ts +1 -0
- package/driver/sap/SapDataSourceOptions.js.map +1 -1
- package/driver/sap/SapDriver.d.ts +30 -0
- package/driver/sap/SapDriver.js +45 -11
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +66 -0
- package/driver/sap/SapQueryRunner.js +101 -56
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerDataSourceOptions.d.ts +1 -0
- package/driver/spanner/SpannerDataSourceOptions.js.map +1 -1
- package/driver/spanner/SpannerDriver.d.ts +33 -0
- package/driver/spanner/SpannerDriver.js +50 -10
- package/driver/spanner/SpannerDriver.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.d.ts +64 -0
- package/driver/spanner/SpannerQueryRunner.js +89 -32
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +30 -0
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +43 -77
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +59 -0
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +89 -45
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsDriver.d.ts +5 -0
- package/driver/sqljs/SqljsDriver.js +8 -4
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.d.ts +1 -0
- package/driver/sqljs/SqljsQueryRunner.js +1 -0
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/MssqlParameter.d.ts +1 -0
- package/driver/sqlserver/MssqlParameter.js +1 -0
- package/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/driver/sqlserver/SqlServerDataSourceOptions.d.ts +14 -5
- package/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.d.ts +42 -0
- package/driver/sqlserver/SqlServerDriver.js +100 -26
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +76 -10
- package/driver/sqlserver/SqlServerQueryRunner.js +160 -163
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/types/IsolationLevel.d.ts +2 -1
- package/driver/types/IsolationLevel.js +8 -0
- package/driver/types/IsolationLevel.js.map +1 -1
- package/driver/validate-isolation-level.d.ts +9 -0
- package/driver/validate-isolation-level.js +23 -0
- package/driver/validate-isolation-level.js.map +1 -0
- package/entity-manager/EntityManager.d.ts +38 -1
- package/entity-manager/EntityManager.js +58 -12
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/EntityManagerFactory.d.ts +1 -0
- package/entity-manager/EntityManagerFactory.js +1 -0
- package/entity-manager/EntityManagerFactory.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +54 -1
- package/entity-manager/MongoEntityManager.js +103 -12
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-manager/SqljsEntityManager.d.ts +2 -0
- package/entity-manager/SqljsEntityManager.js +2 -0
- package/entity-manager/SqljsEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaColumnOptions.d.ts +1 -0
- package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.d.ts +1 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.d.ts +1 -0
- package/entity-schema/EntitySchemaTransformer.js +25 -26
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/InitializedRelationError.d.ts +1 -0
- package/error/InitializedRelationError.js +1 -0
- package/error/InitializedRelationError.js.map +1 -1
- package/find-options/FindOptionsUtils.d.ts +7 -0
- package/find-options/FindOptionsUtils.js +7 -0
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/OrderByCondition.d.ts +2 -1
- package/find-options/OrderByCondition.js.map +1 -1
- package/find-options/operator/Any.d.ts +4 -1
- package/find-options/operator/Any.js +4 -1
- package/find-options/operator/Any.js.map +1 -1
- package/find-options/operator/ArrayContainedBy.d.ts +4 -1
- package/find-options/operator/ArrayContainedBy.js +4 -1
- package/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/find-options/operator/ArrayContains.d.ts +4 -1
- package/find-options/operator/ArrayContains.js +4 -1
- package/find-options/operator/ArrayContains.js.map +1 -1
- package/find-options/operator/ArrayOverlap.d.ts +4 -1
- package/find-options/operator/ArrayOverlap.js +4 -1
- package/find-options/operator/ArrayOverlap.js.map +1 -1
- package/find-options/operator/Between.d.ts +4 -1
- package/find-options/operator/Between.js +4 -1
- package/find-options/operator/Between.js.map +1 -1
- package/find-options/operator/Equal.d.ts +6 -3
- package/find-options/operator/Equal.js +6 -3
- package/find-options/operator/Equal.js.map +1 -1
- package/find-options/operator/ILike.d.ts +4 -1
- package/find-options/operator/ILike.js +4 -1
- package/find-options/operator/ILike.js.map +1 -1
- package/find-options/operator/In.d.ts +4 -1
- package/find-options/operator/In.js +4 -1
- package/find-options/operator/In.js.map +1 -1
- package/find-options/operator/IsNull.d.ts +4 -1
- package/find-options/operator/IsNull.js +4 -1
- package/find-options/operator/IsNull.js.map +1 -1
- package/find-options/operator/JsonContains.d.ts +4 -1
- package/find-options/operator/JsonContains.js +4 -1
- package/find-options/operator/JsonContains.js.map +1 -1
- package/find-options/operator/LessThan.d.ts +4 -1
- package/find-options/operator/LessThan.js +4 -1
- package/find-options/operator/LessThan.js.map +1 -1
- package/find-options/operator/LessThanOrEqual.d.ts +4 -1
- package/find-options/operator/LessThanOrEqual.js +4 -1
- package/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/find-options/operator/Like.d.ts +4 -1
- package/find-options/operator/Like.js +4 -1
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/MoreThan.d.ts +4 -1
- package/find-options/operator/MoreThan.js +4 -1
- package/find-options/operator/MoreThan.js.map +1 -1
- package/find-options/operator/MoreThanOrEqual.d.ts +4 -1
- package/find-options/operator/MoreThanOrEqual.js +4 -1
- package/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/find-options/operator/Not.d.ts +4 -1
- package/find-options/operator/Not.js +4 -1
- package/find-options/operator/Not.js.map +1 -1
- package/find-options/operator/Raw.d.ts +12 -3
- package/find-options/operator/Raw.js.map +1 -1
- package/globals.js +1 -2
- package/globals.js.map +1 -1
- package/logger/AbstractLogger.d.ts +9 -0
- package/logger/AbstractLogger.js +10 -2
- package/logger/AbstractLogger.js.map +1 -1
- package/logger/AdvancedConsoleLogger.d.ts +1 -0
- package/logger/AdvancedConsoleLogger.js +1 -0
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/logger/DebugLogger.d.ts +2 -0
- package/logger/DebugLogger.js +3 -1
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.d.ts +13 -2
- package/logger/FileLogger.js +4 -5
- package/logger/FileLogger.js.map +1 -1
- package/logger/FormattedConsoleLogger.d.ts +1 -0
- package/logger/FormattedConsoleLogger.js +1 -0
- package/logger/FormattedConsoleLogger.js.map +1 -1
- package/logger/LoggerFactory.d.ts +1 -0
- package/logger/LoggerFactory.js +1 -0
- package/logger/LoggerFactory.js.map +1 -1
- package/logger/LoggerOptions.d.ts +0 -9
- package/logger/LoggerOptions.js.map +1 -1
- package/logger/SimpleConsoleLogger.d.ts +1 -0
- package/logger/SimpleConsoleLogger.js +1 -0
- package/logger/SimpleConsoleLogger.js.map +1 -1
- package/metadata/CheckMetadata.d.ts +1 -0
- package/metadata/CheckMetadata.js +4 -3
- package/metadata/CheckMetadata.js.map +1 -1
- package/metadata/ColumnMetadata.d.ts +8 -5
- package/metadata/ColumnMetadata.js +17 -25
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EmbeddedMetadata.d.ts +1 -0
- package/metadata/EmbeddedMetadata.js +1 -0
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/EntityListenerMetadata.d.ts +3 -0
- package/metadata/EntityListenerMetadata.js +3 -0
- package/metadata/EntityListenerMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +25 -5
- package/metadata/EntityMetadata.js +32 -12
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/ExclusionMetadata.d.ts +1 -0
- package/metadata/ExclusionMetadata.js +4 -3
- package/metadata/ExclusionMetadata.js.map +1 -1
- package/metadata/ForeignKeyMetadata.d.ts +1 -0
- package/metadata/ForeignKeyMetadata.js +6 -5
- package/metadata/ForeignKeyMetadata.js.map +1 -1
- package/metadata/IndexMetadata.d.ts +1 -0
- package/metadata/IndexMetadata.js +4 -3
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata/RelationIdMetadata.d.ts +1 -0
- package/metadata/RelationIdMetadata.js +1 -0
- package/metadata/RelationIdMetadata.js.map +1 -1
- package/metadata/RelationMetadata.d.ts +8 -0
- package/metadata/RelationMetadata.js +15 -15
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.d.ts +1 -0
- package/metadata/UniqueMetadata.js +4 -3
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata-args/MetadataArgsStorage.d.ts +4 -0
- package/metadata-args/MetadataArgsStorage.js +4 -0
- package/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +1 -0
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +7 -11
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.d.ts +7 -0
- package/metadata-builder/EntityMetadataBuilder.js +11 -6
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.d.ts +4 -0
- package/metadata-builder/EntityMetadataValidator.js +6 -43
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +3 -0
- package/metadata-builder/JunctionEntityMetadataBuilder.js +39 -20
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/MetadataUtils.d.ts +3 -0
- package/metadata-builder/MetadataUtils.js +4 -1
- package/metadata-builder/MetadataUtils.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -0
- package/metadata-builder/RelationJoinColumnBuilder.js +17 -1
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/MigrationExecutor.d.ts +9 -0
- package/migration/MigrationExecutor.js +16 -7
- package/migration/MigrationExecutor.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.d.ts +3 -0
- package/naming-strategy/DefaultNamingStrategy.js +13 -10
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/NamingStrategyInterface.d.ts +2 -0
- package/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/package.json +6 -2
- package/persistence/EntityPersistExecutor.js +2 -4
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.js +4 -6
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.d.ts +3 -0
- package/persistence/SubjectChangedColumnsComputer.js +3 -0
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.d.ts +1 -0
- package/persistence/SubjectDatabaseEntityLoader.js +3 -1
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.d.ts +2 -0
- package/persistence/SubjectExecutor.js +15 -27
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopologicalSorter.d.ts +4 -0
- package/persistence/SubjectTopologicalSorter.js +4 -0
- package/persistence/SubjectTopologicalSorter.js.map +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +2 -0
- package/persistence/subject-builder/CascadesSubjectBuilder.js +37 -11
- package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +11 -8
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -13
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.d.ts +9 -10
- package/persistence/subject-builder/OneToManySubjectBuilder.js +30 -24
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +9 -10
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +9 -10
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/persistence/tree/ClosureSubjectExecutor.d.ts +4 -0
- package/persistence/tree/ClosureSubjectExecutor.js +10 -8
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +2 -0
- package/persistence/tree/MaterializedPathSubjectExecutor.js +8 -6
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.d.ts +5 -0
- package/persistence/tree/NestedSetSubjectExecutor.js +10 -5
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.d.ts +9 -0
- package/platform/PlatformTools.js +10 -1
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.js +1 -1
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/Brackets.d.ts +1 -0
- package/query-builder/Brackets.js +1 -0
- package/query-builder/Brackets.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.d.ts +7 -0
- package/query-builder/DeleteQueryBuilder.js +9 -0
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.d.ts +9 -0
- package/query-builder/InsertQueryBuilder.js +14 -8
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.js +3 -3
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +25 -4
- package/query-builder/QueryBuilder.js +58 -15
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilderUtils.d.ts +1 -0
- package/query-builder/QueryBuilderUtils.js +1 -0
- package/query-builder/QueryBuilderUtils.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +5 -0
- package/query-builder/QueryExpressionMap.js +4 -1
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/RelationIdLoader.d.ts +6 -35
- package/query-builder/RelationIdLoader.js +19 -43
- package/query-builder/RelationIdLoader.js.map +1 -1
- package/query-builder/RelationLoader.d.ts +11 -2
- package/query-builder/RelationLoader.js +20 -17
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.d.ts +5 -0
- package/query-builder/RelationQueryBuilder.js +5 -0
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.d.ts +1 -0
- package/query-builder/RelationRemover.js +1 -0
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.d.ts +1 -0
- package/query-builder/RelationUpdater.js +1 -0
- package/query-builder/RelationUpdater.js.map +1 -1
- package/query-builder/ReturningResultsEntityUpdator.d.ts +2 -0
- package/query-builder/ReturningResultsEntityUpdator.js +3 -1
- package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +31 -8
- package/query-builder/SelectQueryBuilder.js +98 -70
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.d.ts +11 -0
- package/query-builder/SoftDeleteQueryBuilder.js +17 -0
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.d.ts +11 -0
- package/query-builder/UpdateQueryBuilder.js +18 -1
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/relation-id/RelationIdAttribute.js +5 -5
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.d.ts +2 -1
- package/query-builder/relation-id/RelationIdLoader.js +6 -3
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/transformer/DocumentToEntityTransformer.js +3 -16
- package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +2 -4
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +1 -0
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +6 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -7
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +21 -1
- package/query-runner/BaseQueryRunner.js +36 -49
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +5 -1
- package/query-runner/QueryRunner.js.map +1 -1
- package/repository/BaseEntity.d.ts +32 -0
- package/repository/BaseEntity.js +36 -0
- package/repository/BaseEntity.js.map +1 -1
- package/repository/MongoRepository.d.ts +39 -0
- package/repository/MongoRepository.js +41 -2
- package/repository/MongoRepository.js.map +1 -1
- package/repository/Repository.d.ts +37 -1
- package/repository/Repository.js +43 -2
- package/repository/Repository.js.map +1 -1
- package/repository/TreeRepository.d.ts +11 -0
- package/repository/TreeRepository.js +12 -1
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +6 -4
- package/schema-builder/RdbmsSchemaBuilder.js +10 -13
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/table/Table.d.ts +17 -0
- package/schema-builder/table/Table.js +19 -2
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableCheck.d.ts +1 -0
- package/schema-builder/table/TableCheck.js +1 -0
- package/schema-builder/table/TableCheck.js.map +1 -1
- package/schema-builder/table/TableColumn.js +7 -7
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableExclusion.d.ts +1 -0
- package/schema-builder/table/TableExclusion.js +1 -0
- package/schema-builder/table/TableExclusion.js.map +1 -1
- package/schema-builder/table/TableForeignKey.d.ts +1 -0
- package/schema-builder/table/TableForeignKey.js +1 -0
- package/schema-builder/table/TableForeignKey.js.map +1 -1
- package/schema-builder/table/TableIndex.d.ts +1 -0
- package/schema-builder/table/TableIndex.js +2 -1
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/schema-builder/table/TableUnique.d.ts +1 -0
- package/schema-builder/table/TableUnique.js +1 -0
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/ViewUtils.d.ts +1 -0
- package/schema-builder/util/ViewUtils.js +1 -0
- package/schema-builder/util/ViewUtils.js.map +1 -1
- package/schema-builder/view/View.d.ts +3 -0
- package/schema-builder/view/View.js +3 -0
- package/schema-builder/view/View.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +20 -0
- package/subscriber/Broadcaster.js +25 -6
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/event/BaseEvent.d.ts +1 -0
- package/subscriber/event/BaseEvent.js.map +1 -1
- package/util/DateUtils.d.ts +15 -0
- package/util/DateUtils.js +15 -0
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.d.ts +10 -0
- package/util/DepGraph.js +11 -0
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.d.ts +1 -0
- package/util/DirectoryExportedClassesLoader.js +1 -0
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ObjectUtils.d.ts +6 -0
- package/util/ObjectUtils.js +4 -0
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.d.ts +14 -0
- package/util/OrmUtils.js +18 -6
- package/util/OrmUtils.js.map +1 -1
- package/util/PathUtils.d.ts +2 -0
- package/util/PathUtils.js +2 -0
- package/util/PathUtils.js.map +1 -1
- package/util/RandomGenerator.d.ts +2 -0
- package/util/RandomGenerator.js +2 -0
- package/util/RandomGenerator.js.map +1 -1
- package/util/StringUtils.d.ts +11 -4
- package/util/StringUtils.js +15 -7
- package/util/StringUtils.js.map +1 -1
- package/util/TreeRepositoryUtils.js +2 -2
- package/util/TreeRepositoryUtils.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDataSourceOptions.js","sourceRoot":"","sources":["../../../src/data-source/BaseDataSourceOptions.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntitySchema } from \"../entity-schema/EntitySchema\"\nimport type { LoggerOptions } from \"../logger/LoggerOptions\"\nimport type { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport type { DatabaseType } from \"../driver/types/DatabaseType\"\nimport type { Logger } from \"../logger/Logger\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport type { QueryResultCache } from \"../cache/QueryResultCache\"\nimport type { MixedList } from \"../common/MixedList\"\n\n/**\n * BaseDataSourceOptions is set of DataSourceOptions shared by all database types.\n */\nexport interface BaseDataSourceOptions {\n /**\n * Database type. This value is required.\n */\n readonly type: DatabaseType\n\n /**\n * Entities to be loaded for this connection.\n * Accepts both entity classes and directories where from entities need to be loaded.\n * Directories support glob patterns.\n */\n readonly entities?: MixedList<Function | string | EntitySchema>\n\n /**\n * Subscribers to be loaded for this connection.\n * Accepts both subscriber classes and directories where from subscribers need to be loaded.\n * Directories support glob patterns.\n */\n readonly subscribers?: MixedList<Function | string>\n\n /**\n * Migrations to be loaded for this connection.\n * Accepts both migration classes and glob patterns representing migration files.\n */\n readonly migrations?: MixedList<Function | string>\n\n /**\n * Migrations table name, in case of different name from \"migrations\".\n * Accepts single string name.\n */\n readonly migrationsTableName?: string\n\n /**\n * Transaction mode for migrations to run in\n */\n readonly migrationsTransactionMode?: \"all\" | \"none\" | \"each\"\n\n /**\n * Typeorm metadata table name, in case of different name from \"typeorm_metadata\".\n * Accepts single string name.\n */\n readonly metadataTableName?: string\n\n /**\n * Naming strategy to be used to name tables and columns in the database.\n */\n readonly namingStrategy?: NamingStrategyInterface\n\n /**\n * Logging options.\n */\n readonly logging?: LoggerOptions\n\n /**\n * Logger instance used to log queries and events in the ORM.\n */\n readonly logger?:\n | \"advanced-console\"\n | \"simple-console\"\n | \"formatted-console\"\n | \"file\"\n | \"debug\"\n | Logger\n\n /**\n * Maximum number of milliseconds query should be executed before logger log a warning.\n */\n readonly maxQueryExecutionTime?: number\n\n /**\n * Maximum number of clients the pool should contain.\n */\n readonly poolSize?: number\n\n /**\n * Indicates if database schema should be auto created on every application launch.\n * Be careful with this option and don't use this in production - otherwise you can lose production data.\n * This option is useful during debug and development.\n * Alternative to it, you can use CLI and run schema:sync command.\n *\n * Note that for MongoDB database it does not create schema, because MongoDB is schemaless.\n * Instead, it syncs just by creating indices.\n */\n readonly synchronize?: boolean\n\n /**\n * Indicates if migrations should be auto run on every application launch.\n * Alternative to it, you can use CLI and run migrations:run command.\n */\n readonly migrationsRun?: boolean\n\n /**\n * Drops the schema each time connection is being established.\n * Be careful with this option and don't use this in production - otherwise you'll lose all production data.\n * This option is useful during debug and development.\n */\n readonly dropSchema?: boolean\n\n /**\n * Prefix to use on all tables (collections) of this connection in the database.\n */\n readonly entityPrefix?: string\n\n /**\n * When creating new Entity instances, skip all constructors when true.\n */\n readonly entitySkipConstructor?: boolean\n\n /**\n * Extra connection options to be passed to the underlying driver.\n *\n * todo: deprecate this and move all database-specific types into hts own connection options object.\n */\n readonly extra?: any\n\n /**\n * Specifies how relations must be loaded - using \"joins\" or separate queries.\n * If you are loading too much data with nested joins it's better to load relations\n * using separate queries.\n *\n * Default strategy is \"join\", but this default can be changed here.\n * Also, strategy can be set per-query in FindOptions and QueryBuilder.\n */\n readonly relationLoadStrategy?: \"join\" | \"query\"\n\n /**\n * Optionally applied \"typename\" to the model.\n * If set, then each hydrated model will have this property with the target model / entity name inside.\n *\n * (works like a discriminator property).\n */\n readonly typename?: string\n\n /**\n * Holds reference to the baseDirectory where configuration file are expected.\n * @internal\n */\n baseDirectory?: string\n\n /**\n * Allows to setup cache options.\n */\n readonly cache?:\n | boolean\n | {\n /**\n * Type of caching.\n *\n * - \"database\" means cached values will be stored in the separate table in database. This is default value.\n * - \"redis\" means cached values will be stored inside redis. You must provide redis connection options.\n */\n readonly type?:\n | \"database\"\n | \"redis\"\n | \"ioredis\"\n | \"ioredis/cluster\" // todo: add mongodb and other cache providers as well in the future\n\n /**\n * Factory function for custom cache providers that implement QueryResultCache.\n */\n readonly provider?: (dataSource: DataSource) => QueryResultCache\n\n /**\n * Configurable table name for \"database\" type cache.\n * Default value is \"query-result-cache\"\n */\n readonly tableName?: string\n\n /**\n * Used to provide redis connection options.\n */\n readonly options?: any\n\n /**\n * If set to true then queries (using find methods and QueryBuilder's methods) will always be cached.\n */\n readonly alwaysEnabled?: boolean\n\n /**\n * Time in milliseconds in which cache will expire.\n * This can be setup per-query.\n * Default value is 1000 which is equivalent to 1 second.\n */\n readonly duration?: number\n\n /**\n * Used to specify if cache errors should be ignored, and pass through the call to the Database.\n */\n readonly ignoreErrors?: boolean\n }\n\n /**\n * Allows automatic isolation of where clauses\n */\n readonly isolateWhereStatements?: boolean\n\n /**\n * Controls how null and undefined values are handled in find operations.\n */\n readonly invalidWhereValuesBehavior?: {\n /**\n * How to handle null values in where conditions.\n * - 'ignore': Skip null properties\n * - 'sql-null': Transform null to SQL NULL\n * - 'throw': Throw an error when null is encountered (default)\n */\n readonly null?: \"ignore\" | \"sql-null\" | \"throw\"\n\n /**\n * How to handle undefined values in where conditions.\n * - 'ignore': Skip undefined properties\n * - 'throw': Throw an error when undefined is encountered (default)\n */\n readonly undefined?: \"ignore\" | \"throw\"\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BaseDataSourceOptions.js","sourceRoot":"","sources":["../../../src/data-source/BaseDataSourceOptions.ts"],"names":[],"mappings":"","sourcesContent":["import type { EntitySchema } from \"../entity-schema/EntitySchema\"\nimport type { LoggerOptions } from \"../logger/LoggerOptions\"\nimport type { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport type { DatabaseType } from \"../driver/types/DatabaseType\"\nimport type { IsolationLevel } from \"../driver/types/IsolationLevel\"\nimport type { Logger } from \"../logger/Logger\"\nimport type { DataSource } from \"../data-source/DataSource\"\nimport type { QueryResultCache } from \"../cache/QueryResultCache\"\nimport type { MixedList } from \"../common/MixedList\"\n\n/**\n * BaseDataSourceOptions is set of DataSourceOptions shared by all database types.\n */\nexport interface BaseDataSourceOptions {\n /**\n * Database type. This value is required.\n */\n readonly type: DatabaseType\n\n /**\n * Entities to be loaded for this connection.\n * Accepts both entity classes and directories where from entities need to be loaded.\n * Directories support glob patterns.\n */\n readonly entities?: MixedList<Function | string | EntitySchema>\n\n /**\n * Subscribers to be loaded for this connection.\n * Accepts both subscriber classes and directories where from subscribers need to be loaded.\n * Directories support glob patterns.\n */\n readonly subscribers?: MixedList<Function | string>\n\n /**\n * Default isolation level for transactions. When set, all transactions started\n * without an explicit level will use this value. An explicit isolation level\n * passed to `transaction()` or `startTransaction()` overrides this default.\n * Must be a level supported by the driver.\n */\n readonly isolationLevel?: IsolationLevel\n\n /**\n * Migrations to be loaded for this connection.\n * Accepts both migration classes and glob patterns representing migration files.\n */\n readonly migrations?: MixedList<Function | string>\n\n /**\n * Migrations table name, in case of different name from \"migrations\".\n * Accepts single string name.\n */\n readonly migrationsTableName?: string\n\n /**\n * Transaction mode for migrations to run in\n */\n readonly migrationsTransactionMode?: \"all\" | \"none\" | \"each\"\n\n /**\n * Typeorm metadata table name, in case of different name from \"typeorm_metadata\".\n * Accepts single string name.\n */\n readonly metadataTableName?: string\n\n /**\n * Naming strategy to be used to name tables and columns in the database.\n */\n readonly namingStrategy?: NamingStrategyInterface\n\n /**\n * Logging options.\n */\n readonly logging?: LoggerOptions\n\n /**\n * Logger instance used to log queries and events in the ORM.\n */\n readonly logger?:\n | \"advanced-console\"\n | \"simple-console\"\n | \"formatted-console\"\n | \"file\"\n | \"debug\"\n | Logger\n\n /**\n * Maximum number of milliseconds query should be executed before logger log a warning.\n */\n readonly maxQueryExecutionTime?: number\n\n /**\n * Maximum number of clients the pool should contain.\n */\n readonly poolSize?: number\n\n /**\n * Indicates if database schema should be auto created on every application launch.\n * Be careful with this option and don't use this in production - otherwise you can lose production data.\n * This option is useful during debug and development.\n * Alternative to it, you can use CLI and run schema:sync command.\n *\n * Note that for MongoDB database it does not create schema, because MongoDB is schemaless.\n * Instead, it syncs just by creating indices.\n */\n readonly synchronize?: boolean\n\n /**\n * Indicates if migrations should be auto run on every application launch.\n * Alternative to it, you can use CLI and run migrations:run command.\n */\n readonly migrationsRun?: boolean\n\n /**\n * Drops the schema each time connection is being established.\n * Be careful with this option and don't use this in production - otherwise you'll lose all production data.\n * This option is useful during debug and development.\n */\n readonly dropSchema?: boolean\n\n /**\n * Prefix to use on all tables (collections) of this connection in the database.\n */\n readonly entityPrefix?: string\n\n /**\n * When creating new Entity instances, skip all constructors when true.\n */\n readonly entitySkipConstructor?: boolean\n\n /**\n * Extra connection options to be passed to the underlying driver.\n *\n * todo: deprecate this and move all database-specific types into hts own connection options object.\n */\n readonly extra?: any\n\n /**\n * Specifies how relations must be loaded - using \"joins\" or separate queries.\n * If you are loading too much data with nested joins it's better to load relations\n * using separate queries.\n *\n * Default strategy is \"join\", but this default can be changed here.\n * Also, strategy can be set per-query in FindOptions and QueryBuilder.\n */\n readonly relationLoadStrategy?: \"join\" | \"query\"\n\n /**\n * Optionally applied \"typename\" to the model.\n * If set, then each hydrated model will have this property with the target model / entity name inside.\n *\n * (works like a discriminator property).\n */\n readonly typename?: string\n\n /**\n * Holds reference to the baseDirectory where configuration file are expected.\n *\n * @internal\n */\n baseDirectory?: string\n\n /**\n * Allows to setup cache options.\n */\n readonly cache?:\n | boolean\n | {\n /**\n * Type of caching.\n *\n * - \"database\" means cached values will be stored in the separate table in database. This is default value.\n * - \"redis\" means cached values will be stored inside redis. You must provide redis connection options.\n */\n readonly type?:\n | \"database\"\n | \"redis\"\n | \"ioredis\"\n | \"ioredis/cluster\" // todo: add mongodb and other cache providers as well in the future\n\n /**\n * Factory function for custom cache providers that implement QueryResultCache.\n */\n readonly provider?: (dataSource: DataSource) => QueryResultCache\n\n /**\n * Configurable table name for \"database\" type cache.\n * Default value is \"query-result-cache\"\n */\n readonly tableName?: string\n\n /**\n * Used to provide redis connection options.\n */\n readonly options?: any\n\n /**\n * If set to true then queries (using find methods and QueryBuilder's methods) will always be cached.\n */\n readonly alwaysEnabled?: boolean\n\n /**\n * Time in milliseconds in which cache will expire.\n * This can be setup per-query.\n * Default value is 1000 which is equivalent to 1 second.\n */\n readonly duration?: number\n\n /**\n * Used to specify if cache errors should be ignored, and pass through the call to the Database.\n */\n readonly ignoreErrors?: boolean\n }\n\n /**\n * Allows automatic isolation of where clauses\n */\n readonly isolateWhereStatements?: boolean\n\n /**\n * Controls how null and undefined values are handled in find operations.\n */\n readonly invalidWhereValuesBehavior?: {\n /**\n * How to handle null values in where conditions.\n * - 'ignore': Skip null properties\n * - 'sql-null': Transform null to SQL NULL\n * - 'throw': Throw an error when null is encountered (default)\n */\n readonly null?: \"ignore\" | \"sql-null\" | \"throw\"\n\n /**\n * How to handle undefined values in where conditions.\n * - 'ignore': Skip undefined properties\n * - 'throw': Throw an error when undefined is encountered (default)\n */\n readonly undefined?: \"ignore\" | \"throw\"\n }\n}\n"]}
|
|
@@ -91,6 +91,7 @@ export declare class DataSource {
|
|
|
91
91
|
* with any entity in this connection.
|
|
92
92
|
*
|
|
93
93
|
* Available only in mongodb connections.
|
|
94
|
+
*
|
|
94
95
|
* @returns the mongodb entity manager
|
|
95
96
|
*/
|
|
96
97
|
get mongoManager(): MongoEntityManager;
|
|
@@ -98,11 +99,13 @@ export declare class DataSource {
|
|
|
98
99
|
* Gets a sql.js specific Entity Manager that allows to perform special load and save operations
|
|
99
100
|
*
|
|
100
101
|
* Available only in connection with the sqljs driver.
|
|
102
|
+
*
|
|
101
103
|
* @returns an sqljs specific Entity Manager
|
|
102
104
|
*/
|
|
103
105
|
get sqljsManager(): SqljsEntityManager;
|
|
104
106
|
/**
|
|
105
107
|
* Updates current connection options with provided options.
|
|
108
|
+
*
|
|
106
109
|
* @param options
|
|
107
110
|
*/
|
|
108
111
|
setOptions(options: Partial<DataSourceOptions>): this;
|
|
@@ -121,6 +124,7 @@ export declare class DataSource {
|
|
|
121
124
|
/**
|
|
122
125
|
* Creates database schema for all entities registered in this connection.
|
|
123
126
|
* Can be used only after connection to the database is established.
|
|
127
|
+
*
|
|
124
128
|
* @param dropBeforeSync If set to true then it drops the database with all its tables and data
|
|
125
129
|
*/
|
|
126
130
|
synchronize(dropBeforeSync?: boolean): Promise<void>;
|
|
@@ -133,6 +137,7 @@ export declare class DataSource {
|
|
|
133
137
|
/**
|
|
134
138
|
* Runs all pending migrations.
|
|
135
139
|
* Can be used only after connection to the database is established.
|
|
140
|
+
*
|
|
136
141
|
* @param options
|
|
137
142
|
* @param options.transaction
|
|
138
143
|
* @param options.fake
|
|
@@ -144,6 +149,7 @@ export declare class DataSource {
|
|
|
144
149
|
/**
|
|
145
150
|
* Reverts last executed migration.
|
|
146
151
|
* Can be used only after connection to the database is established.
|
|
152
|
+
*
|
|
147
153
|
* @param options
|
|
148
154
|
* @param options.transaction
|
|
149
155
|
* @param options.fake
|
|
@@ -159,28 +165,33 @@ export declare class DataSource {
|
|
|
159
165
|
showMigrations(): Promise<boolean>;
|
|
160
166
|
/**
|
|
161
167
|
* Checks if entity metadata exist for the given entity class, target name or table name.
|
|
168
|
+
*
|
|
162
169
|
* @param target
|
|
163
170
|
*/
|
|
164
171
|
hasMetadata(target: EntityTarget<any>): boolean;
|
|
165
172
|
/**
|
|
166
173
|
* Gets entity metadata for the given entity class or schema name.
|
|
174
|
+
*
|
|
167
175
|
* @param target
|
|
168
176
|
*/
|
|
169
177
|
getMetadata(target: EntityTarget<any>): EntityMetadata;
|
|
170
178
|
/**
|
|
171
179
|
* Gets repository for the given entity.
|
|
180
|
+
*
|
|
172
181
|
* @param target
|
|
173
182
|
*/
|
|
174
183
|
getRepository<Entity extends ObjectLiteral>(target: EntityTarget<Entity>): Repository<Entity>;
|
|
175
184
|
/**
|
|
176
185
|
* Gets tree repository for the given entity class or name.
|
|
177
186
|
* Only tree-type entities can have a TreeRepository, like ones decorated with `@Tree` decorator.
|
|
187
|
+
*
|
|
178
188
|
* @param target
|
|
179
189
|
*/
|
|
180
190
|
getTreeRepository<Entity extends ObjectLiteral>(target: EntityTarget<Entity>): TreeRepository<Entity>;
|
|
181
191
|
/**
|
|
182
192
|
* Gets mongodb-specific repository for the given entity class or name.
|
|
183
193
|
* Works only if connection is mongodb-specific.
|
|
194
|
+
*
|
|
184
195
|
* @param target
|
|
185
196
|
*/
|
|
186
197
|
getMongoRepository<Entity extends ObjectLiteral>(target: EntityTarget<Entity>): MongoRepository<Entity>;
|
|
@@ -192,6 +203,7 @@ export declare class DataSource {
|
|
|
192
203
|
transaction<T>(isolationLevel: IsolationLevel, runInTransaction: (entityManager: EntityManager) => Promise<T>): Promise<T>;
|
|
193
204
|
/**
|
|
194
205
|
* Executes raw SQL query and returns raw database results.
|
|
206
|
+
*
|
|
195
207
|
* @param query
|
|
196
208
|
* @param parameters
|
|
197
209
|
* @param queryRunner
|
|
@@ -204,7 +216,10 @@ export declare class DataSource {
|
|
|
204
216
|
* Template expressions are automatically transformed into database parameters.
|
|
205
217
|
* Raw query execution is supported only by relational databases (MongoDB is not supported).
|
|
206
218
|
* Note: Don't call this as a regular function, it is meant to be used with backticks to tag a template literal.
|
|
207
|
-
*
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* dataSource.sql`SELECT * FROM table_name WHERE id = ${id}`
|
|
222
|
+
*
|
|
208
223
|
* @param strings
|
|
209
224
|
* @param values
|
|
210
225
|
* @returns a raw response from the database client
|
|
@@ -227,22 +242,26 @@ export declare class DataSource {
|
|
|
227
242
|
* to master database or any of slave databases.
|
|
228
243
|
* If you perform writes you must use master database,
|
|
229
244
|
* if you perform reads you can use slave databases.
|
|
245
|
+
*
|
|
230
246
|
* @param mode
|
|
231
247
|
*/
|
|
232
248
|
createQueryRunner(mode?: ReplicationMode): QueryRunner;
|
|
233
249
|
/**
|
|
234
250
|
* Gets entity metadata of the junction table (many-to-many table).
|
|
251
|
+
*
|
|
235
252
|
* @param entityTarget
|
|
236
253
|
* @param relationPropertyPath
|
|
237
254
|
*/
|
|
238
255
|
getManyToManyMetadata(entityTarget: EntityTarget<any>, relationPropertyPath: string): EntityMetadata | undefined;
|
|
239
256
|
/**
|
|
240
257
|
* Creates an Entity Manager for the current connection with the help of the EntityManagerFactory.
|
|
258
|
+
*
|
|
241
259
|
* @param queryRunner
|
|
242
260
|
*/
|
|
243
261
|
createEntityManager(queryRunner?: QueryRunner): EntityManager;
|
|
244
262
|
/**
|
|
245
263
|
* Finds exist entity metadata by the given entity class, target name or table name.
|
|
264
|
+
*
|
|
246
265
|
* @param target
|
|
247
266
|
*/
|
|
248
267
|
protected findMetadata(target: EntityTarget<any>): EntityMetadata | undefined;
|
|
@@ -14,6 +14,7 @@ const LoggerFactory_1 = require("../logger/LoggerFactory");
|
|
|
14
14
|
const QueryResultCacheFactory_1 = require("../cache/QueryResultCacheFactory");
|
|
15
15
|
const RelationLoader_1 = require("../query-builder/RelationLoader");
|
|
16
16
|
const ObjectUtils_1 = require("../util/ObjectUtils");
|
|
17
|
+
const validate_isolation_level_1 = require("../driver/validate-isolation-level");
|
|
17
18
|
const RelationIdLoader_1 = require("../query-builder/RelationIdLoader");
|
|
18
19
|
const DriverUtils_1 = require("../driver/DriverUtils");
|
|
19
20
|
const InstanceChecker_1 = require("../util/InstanceChecker");
|
|
@@ -56,8 +57,8 @@ class DataSource {
|
|
|
56
57
|
this.driver = new DriverFactory_1.DriverFactory().create(this);
|
|
57
58
|
this.manager = this.createEntityManager();
|
|
58
59
|
this.namingStrategy =
|
|
59
|
-
options.namingStrategy
|
|
60
|
-
this.metadataTableName = options.metadataTableName
|
|
60
|
+
options.namingStrategy ?? new DefaultNamingStrategy_1.DefaultNamingStrategy();
|
|
61
|
+
this.metadataTableName = options.metadataTableName ?? "typeorm_metadata";
|
|
61
62
|
this.queryResultCache = options.cache
|
|
62
63
|
? new QueryResultCacheFactory_1.QueryResultCacheFactory(this).create()
|
|
63
64
|
: undefined;
|
|
@@ -73,6 +74,7 @@ class DataSource {
|
|
|
73
74
|
* with any entity in this connection.
|
|
74
75
|
*
|
|
75
76
|
* Available only in mongodb connections.
|
|
77
|
+
*
|
|
76
78
|
* @returns the mongodb entity manager
|
|
77
79
|
*/
|
|
78
80
|
get mongoManager() {
|
|
@@ -84,6 +86,7 @@ class DataSource {
|
|
|
84
86
|
* Gets a sql.js specific Entity Manager that allows to perform special load and save operations
|
|
85
87
|
*
|
|
86
88
|
* Available only in connection with the sqljs driver.
|
|
89
|
+
*
|
|
87
90
|
* @returns an sqljs specific Entity Manager
|
|
88
91
|
*/
|
|
89
92
|
get sqljsManager() {
|
|
@@ -96,12 +99,13 @@ class DataSource {
|
|
|
96
99
|
// -------------------------------------------------------------------------
|
|
97
100
|
/**
|
|
98
101
|
* Updates current connection options with provided options.
|
|
102
|
+
*
|
|
99
103
|
* @param options
|
|
100
104
|
*/
|
|
101
105
|
setOptions(options) {
|
|
102
106
|
Object.assign(this.options, options);
|
|
103
107
|
if (options.logger || options.logging) {
|
|
104
|
-
this.logger = new LoggerFactory_1.LoggerFactory().create(options.logger
|
|
108
|
+
this.logger = new LoggerFactory_1.LoggerFactory().create(options.logger ?? this.options.logger, options.logging ?? this.options.logging);
|
|
105
109
|
}
|
|
106
110
|
if (options.namingStrategy) {
|
|
107
111
|
this.namingStrategy = options.namingStrategy;
|
|
@@ -127,6 +131,8 @@ class DataSource {
|
|
|
127
131
|
async initialize() {
|
|
128
132
|
if (this.isInitialized)
|
|
129
133
|
throw new error_1.CannotConnectAlreadyConnectedError();
|
|
134
|
+
// validate isolationLevel before connecting
|
|
135
|
+
(0, validate_isolation_level_1.validateIsolationLevel)(this.driver.supportedIsolationLevels, this.options.isolationLevel);
|
|
130
136
|
// connect to the database via its driver
|
|
131
137
|
await this.driver.connect();
|
|
132
138
|
// connect to the cache-specific database if cache is enabled
|
|
@@ -174,6 +180,7 @@ class DataSource {
|
|
|
174
180
|
/**
|
|
175
181
|
* Creates database schema for all entities registered in this connection.
|
|
176
182
|
* Can be used only after connection to the database is established.
|
|
183
|
+
*
|
|
177
184
|
* @param dropBeforeSync If set to true then it drops the database with all its tables and data
|
|
178
185
|
*/
|
|
179
186
|
async synchronize(dropBeforeSync = false) {
|
|
@@ -226,6 +233,7 @@ class DataSource {
|
|
|
226
233
|
/**
|
|
227
234
|
* Runs all pending migrations.
|
|
228
235
|
* Can be used only after connection to the database is established.
|
|
236
|
+
*
|
|
229
237
|
* @param options
|
|
230
238
|
* @param options.transaction
|
|
231
239
|
* @param options.fake
|
|
@@ -235,16 +243,17 @@ class DataSource {
|
|
|
235
243
|
throw new error_1.CannotExecuteNotConnectedError();
|
|
236
244
|
const migrationExecutor = new MigrationExecutor_1.MigrationExecutor(this);
|
|
237
245
|
migrationExecutor.transaction =
|
|
238
|
-
options?.transaction
|
|
239
|
-
this.options?.migrationsTransactionMode
|
|
246
|
+
options?.transaction ??
|
|
247
|
+
this.options?.migrationsTransactionMode ??
|
|
240
248
|
"all";
|
|
241
|
-
migrationExecutor.fake =
|
|
249
|
+
migrationExecutor.fake = options?.fake ?? false;
|
|
242
250
|
const successMigrations = await migrationExecutor.executePendingMigrations();
|
|
243
251
|
return successMigrations;
|
|
244
252
|
}
|
|
245
253
|
/**
|
|
246
254
|
* Reverts last executed migration.
|
|
247
255
|
* Can be used only after connection to the database is established.
|
|
256
|
+
*
|
|
248
257
|
* @param options
|
|
249
258
|
* @param options.transaction
|
|
250
259
|
* @param options.fake
|
|
@@ -253,9 +262,8 @@ class DataSource {
|
|
|
253
262
|
if (!this.isInitialized)
|
|
254
263
|
throw new error_1.CannotExecuteNotConnectedError();
|
|
255
264
|
const migrationExecutor = new MigrationExecutor_1.MigrationExecutor(this);
|
|
256
|
-
migrationExecutor.transaction =
|
|
257
|
-
|
|
258
|
-
migrationExecutor.fake = (options && options.fake) || false;
|
|
265
|
+
migrationExecutor.transaction = options?.transaction ?? "all";
|
|
266
|
+
migrationExecutor.fake = options?.fake ?? false;
|
|
259
267
|
await migrationExecutor.undoLastMigration();
|
|
260
268
|
}
|
|
261
269
|
/**
|
|
@@ -271,6 +279,7 @@ class DataSource {
|
|
|
271
279
|
}
|
|
272
280
|
/**
|
|
273
281
|
* Checks if entity metadata exist for the given entity class, target name or table name.
|
|
282
|
+
*
|
|
274
283
|
* @param target
|
|
275
284
|
*/
|
|
276
285
|
hasMetadata(target) {
|
|
@@ -278,6 +287,7 @@ class DataSource {
|
|
|
278
287
|
}
|
|
279
288
|
/**
|
|
280
289
|
* Gets entity metadata for the given entity class or schema name.
|
|
290
|
+
*
|
|
281
291
|
* @param target
|
|
282
292
|
*/
|
|
283
293
|
getMetadata(target) {
|
|
@@ -288,6 +298,7 @@ class DataSource {
|
|
|
288
298
|
}
|
|
289
299
|
/**
|
|
290
300
|
* Gets repository for the given entity.
|
|
301
|
+
*
|
|
291
302
|
* @param target
|
|
292
303
|
*/
|
|
293
304
|
getRepository(target) {
|
|
@@ -296,6 +307,7 @@ class DataSource {
|
|
|
296
307
|
/**
|
|
297
308
|
* Gets tree repository for the given entity class or name.
|
|
298
309
|
* Only tree-type entities can have a TreeRepository, like ones decorated with `@Tree` decorator.
|
|
310
|
+
*
|
|
299
311
|
* @param target
|
|
300
312
|
*/
|
|
301
313
|
getTreeRepository(target) {
|
|
@@ -304,6 +316,7 @@ class DataSource {
|
|
|
304
316
|
/**
|
|
305
317
|
* Gets mongodb-specific repository for the given entity class or name.
|
|
306
318
|
* Works only if connection is mongodb-specific.
|
|
319
|
+
*
|
|
307
320
|
* @param target
|
|
308
321
|
*/
|
|
309
322
|
getMongoRepository(target) {
|
|
@@ -316,6 +329,7 @@ class DataSource {
|
|
|
316
329
|
}
|
|
317
330
|
/**
|
|
318
331
|
* Executes raw SQL query and returns raw database results.
|
|
332
|
+
*
|
|
319
333
|
* @param query
|
|
320
334
|
* @param parameters
|
|
321
335
|
* @param queryRunner
|
|
@@ -325,9 +339,9 @@ class DataSource {
|
|
|
325
339
|
async query(query, parameters, queryRunner) {
|
|
326
340
|
if (InstanceChecker_1.InstanceChecker.isMongoEntityManager(this.manager))
|
|
327
341
|
throw new error_1.TypeORMError(`Queries aren't supported by MongoDB.`);
|
|
328
|
-
if (queryRunner
|
|
342
|
+
if (queryRunner?.isReleased)
|
|
329
343
|
throw new error_1.QueryRunnerProviderAlreadyReleasedError();
|
|
330
|
-
const usedQueryRunner = queryRunner
|
|
344
|
+
const usedQueryRunner = queryRunner ?? this.createQueryRunner();
|
|
331
345
|
try {
|
|
332
346
|
return await usedQueryRunner.query(query, parameters); // await is needed here because we are using finally
|
|
333
347
|
}
|
|
@@ -341,7 +355,10 @@ class DataSource {
|
|
|
341
355
|
* Template expressions are automatically transformed into database parameters.
|
|
342
356
|
* Raw query execution is supported only by relational databases (MongoDB is not supported).
|
|
343
357
|
* Note: Don't call this as a regular function, it is meant to be used with backticks to tag a template literal.
|
|
344
|
-
*
|
|
358
|
+
*
|
|
359
|
+
* @example
|
|
360
|
+
* dataSource.sql`SELECT * FROM table_name WHERE id = ${id}`
|
|
361
|
+
*
|
|
345
362
|
* @param strings
|
|
346
363
|
* @param values
|
|
347
364
|
* @returns a raw response from the database client
|
|
@@ -356,6 +373,7 @@ class DataSource {
|
|
|
356
373
|
}
|
|
357
374
|
/**
|
|
358
375
|
* Creates a new query builder that can be used to build a SQL query.
|
|
376
|
+
*
|
|
359
377
|
* @param entityOrRunner
|
|
360
378
|
* @param alias
|
|
361
379
|
* @param queryRunner
|
|
@@ -383,6 +401,7 @@ class DataSource {
|
|
|
383
401
|
* to master database or any of slave databases.
|
|
384
402
|
* If you perform writes you must use master database,
|
|
385
403
|
* if you perform reads you can use slave databases.
|
|
404
|
+
*
|
|
386
405
|
* @param mode
|
|
387
406
|
*/
|
|
388
407
|
createQueryRunner(mode = "master") {
|
|
@@ -393,6 +412,7 @@ class DataSource {
|
|
|
393
412
|
}
|
|
394
413
|
/**
|
|
395
414
|
* Gets entity metadata of the junction table (many-to-many table).
|
|
415
|
+
*
|
|
396
416
|
* @param entityTarget
|
|
397
417
|
* @param relationPropertyPath
|
|
398
418
|
*/
|
|
@@ -407,6 +427,7 @@ class DataSource {
|
|
|
407
427
|
}
|
|
408
428
|
/**
|
|
409
429
|
* Creates an Entity Manager for the current connection with the help of the EntityManagerFactory.
|
|
430
|
+
*
|
|
410
431
|
* @param queryRunner
|
|
411
432
|
*/
|
|
412
433
|
createEntityManager(queryRunner) {
|
|
@@ -417,6 +438,7 @@ class DataSource {
|
|
|
417
438
|
// -------------------------------------------------------------------------
|
|
418
439
|
/**
|
|
419
440
|
* Finds exist entity metadata by the given entity class, target name or table name.
|
|
441
|
+
*
|
|
420
442
|
* @param target
|
|
421
443
|
*/
|
|
422
444
|
findMetadata(target) {
|
|
@@ -465,18 +487,18 @@ class DataSource {
|
|
|
465
487
|
const connectionMetadataBuilder = new ConnectionMetadataBuilder_1.ConnectionMetadataBuilder(this);
|
|
466
488
|
const entityMetadataValidator = new EntityMetadataValidator_1.EntityMetadataValidator();
|
|
467
489
|
// create subscribers instances if they are not disallowed from high-level (for example they can disallowed from migrations run process)
|
|
468
|
-
const flattenedSubscribers = ObjectUtils_1.ObjectUtils.mixedListToArray(this.options.subscribers
|
|
490
|
+
const flattenedSubscribers = ObjectUtils_1.ObjectUtils.mixedListToArray(this.options.subscribers ?? []);
|
|
469
491
|
const subscribers = await connectionMetadataBuilder.buildSubscribers(flattenedSubscribers);
|
|
470
492
|
ObjectUtils_1.ObjectUtils.assign(this, { subscribers: subscribers });
|
|
471
493
|
// build entity metadatas
|
|
472
|
-
const flattenedEntities = ObjectUtils_1.ObjectUtils.mixedListToArray(this.options.entities
|
|
494
|
+
const flattenedEntities = ObjectUtils_1.ObjectUtils.mixedListToArray(this.options.entities ?? []);
|
|
473
495
|
const entityMetadatas = await connectionMetadataBuilder.buildEntityMetadatas(flattenedEntities);
|
|
474
496
|
ObjectUtils_1.ObjectUtils.assign(this, {
|
|
475
497
|
entityMetadatas: entityMetadatas,
|
|
476
498
|
entityMetadatasMap: new Map(entityMetadatas.map((metadata) => [metadata.target, metadata])),
|
|
477
499
|
});
|
|
478
500
|
// create migration instances
|
|
479
|
-
const flattenedMigrations = ObjectUtils_1.ObjectUtils.mixedListToArray(this.options.migrations
|
|
501
|
+
const flattenedMigrations = ObjectUtils_1.ObjectUtils.mixedListToArray(this.options.migrations ?? []);
|
|
480
502
|
const migrations = await connectionMetadataBuilder.buildMigrations(flattenedMigrations);
|
|
481
503
|
ObjectUtils_1.ObjectUtils.assign(this, { migrations: migrations });
|
|
482
504
|
// validate all created entity metadatas to make sure user created entities are valid and correct
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../../../src/data-source/DataSource.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Driver } from \"../driver/Driver\"\nimport { registerQueryBuilders } from \"../query-builder\"\nimport type { Repository } from \"../repository/Repository\"\nimport type { EntitySubscriberInterface } from \"../subscriber/EntitySubscriberInterface\"\nimport type { EntityTarget } from \"../common/EntityTarget\"\nimport type { EntityManager } from \"../entity-manager/EntityManager\"\nimport { DefaultNamingStrategy } from \"../naming-strategy/DefaultNamingStrategy\"\nimport {\n CannotConnectAlreadyConnectedError,\n CannotExecuteNotConnectedError,\n EntityMetadataNotFoundError,\n QueryRunnerProviderAlreadyReleasedError,\n TypeORMError,\n} from \"../error\"\nimport type { TreeRepository } from \"../repository/TreeRepository\"\nimport type { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport type { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport type { Logger } from \"../logger/Logger\"\nimport type { MigrationInterface } from \"../migration/MigrationInterface\"\nimport { MigrationExecutor } from \"../migration/MigrationExecutor\"\nimport type { Migration } from \"../migration/Migration\"\nimport type { MongoRepository } from \"../repository/MongoRepository\"\nimport type { MongoEntityManager } from \"../entity-manager/MongoEntityManager\"\nimport { EntityMetadataValidator } from \"../metadata-builder/EntityMetadataValidator\"\nimport type { DataSourceOptions } from \"./DataSourceOptions\"\nimport { EntityManagerFactory } from \"../entity-manager/EntityManagerFactory\"\nimport { DriverFactory } from \"../driver/DriverFactory\"\nimport { ConnectionMetadataBuilder } from \"../connection/ConnectionMetadataBuilder\"\nimport type { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { SelectQueryBuilder } from \"../query-builder/SelectQueryBuilder\"\nimport { LoggerFactory } from \"../logger/LoggerFactory\"\nimport { QueryResultCacheFactory } from \"../cache/QueryResultCacheFactory\"\nimport type { QueryResultCache } from \"../cache/QueryResultCache\"\nimport type { SqljsEntityManager } from \"../entity-manager/SqljsEntityManager\"\nimport { RelationLoader } from \"../query-builder/RelationLoader\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport type { IsolationLevel } from \"../driver/types/IsolationLevel\"\nimport type { ReplicationMode } from \"../driver/types/ReplicationMode\"\nimport { RelationIdLoader } from \"../query-builder/RelationIdLoader\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { buildSqlTag } from \"../util/SqlTagUtils\"\n\nregisterQueryBuilders()\n\n/**\n * DataSource is a pre-defined connection configuration to a specific database.\n * You can have multiple data sources connected (with multiple connections in it),\n * connected to multiple databases in your application.\n *\n * Before, it was called `Connection`, but now `Connection` is deprecated\n * because `Connection` isn't the best name for what it's actually is.\n */\nexport class DataSource {\n readonly \"@instanceof\" = Symbol.for(\"DataSource\")\n\n // -------------------------------------------------------------------------\n // Public Readonly Properties\n // -------------------------------------------------------------------------\n\n /**\n * DataSource options.\n */\n readonly options: DataSourceOptions\n\n /**\n * Indicates if the DataSource is initialized or not.\n */\n readonly isInitialized: boolean\n\n /**\n * Database driver used by this connection.\n */\n driver: Driver\n\n /**\n * EntityManager of this connection.\n */\n readonly manager: EntityManager\n\n /**\n * Naming strategy used in the connection.\n */\n namingStrategy: NamingStrategyInterface\n\n /**\n * Name for the metadata table\n */\n readonly metadataTableName: string\n\n /**\n * Logger used to log orm events.\n */\n logger: Logger\n\n /**\n * Migration instances that are registered for this connection.\n */\n readonly migrations: MigrationInterface[] = []\n\n /**\n * Entity subscriber instances that are registered for this connection.\n */\n readonly subscribers: EntitySubscriberInterface<any>[] = []\n\n /**\n * All entity metadatas that are registered for this connection.\n */\n readonly entityMetadatas: EntityMetadata[] = []\n\n /**\n * All entity metadatas that are registered for this connection.\n * This is a copy of #.entityMetadatas property -> used for more performant searches.\n */\n readonly entityMetadatasMap = new Map<EntityTarget<any>, EntityMetadata>()\n\n /**\n * Used to work with query result cache.\n */\n queryResultCache?: QueryResultCache\n\n /**\n * Used to load relations and work with lazy relations.\n */\n readonly relationLoader: RelationLoader\n\n readonly relationIdLoader: RelationIdLoader\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: DataSourceOptions) {\n registerQueryBuilders()\n this.options = options\n this.logger = new LoggerFactory().create(\n this.options.logger,\n this.options.logging,\n )\n this.driver = new DriverFactory().create(this)\n this.manager = this.createEntityManager()\n this.namingStrategy =\n options.namingStrategy || new DefaultNamingStrategy()\n this.metadataTableName = options.metadataTableName || \"typeorm_metadata\"\n this.queryResultCache = options.cache\n ? new QueryResultCacheFactory(this).create()\n : undefined\n this.relationLoader = new RelationLoader(this)\n this.relationIdLoader = new RelationIdLoader(this)\n this.isInitialized = false\n }\n\n // -------------------------------------------------------------------------\n // Public Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the mongodb entity manager that allows to perform mongodb-specific repository operations\n * with any entity in this connection.\n *\n * Available only in mongodb connections.\n * @returns the mongodb entity manager\n */\n get mongoManager(): MongoEntityManager {\n if (!InstanceChecker.isMongoEntityManager(this.manager))\n throw new TypeORMError(\n `MongoEntityManager is only available for MongoDB databases.`,\n )\n\n return this.manager as MongoEntityManager\n }\n\n /**\n * Gets a sql.js specific Entity Manager that allows to perform special load and save operations\n *\n * Available only in connection with the sqljs driver.\n * @returns an sqljs specific Entity Manager\n */\n get sqljsManager(): SqljsEntityManager {\n if (!InstanceChecker.isSqljsEntityManager(this.manager))\n throw new TypeORMError(\n `SqljsEntityManager is only available for Sqljs databases.`,\n )\n\n return this.manager\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n /**\n * Updates current connection options with provided options.\n * @param options\n */\n setOptions(options: Partial<DataSourceOptions>): this {\n Object.assign(this.options, options)\n\n if (options.logger || options.logging) {\n this.logger = new LoggerFactory().create(\n options.logger || this.options.logger,\n options.logging || this.options.logging,\n )\n }\n\n if (options.namingStrategy) {\n this.namingStrategy = options.namingStrategy\n }\n\n if (options.cache) {\n this.queryResultCache = new QueryResultCacheFactory(this).create()\n }\n\n // todo: we must update the database in the driver as well, if it was set by setOptions method\n // in the future we need to refactor the code and remove \"database\" from the driver, and instead\n // use database (and options) from a single place - data source.\n if (options.database) {\n this.driver.database = DriverUtils.buildDriverOptions(\n this.options,\n ).database\n }\n\n // todo: need to take a look if we need to update schema and other \"poor\" properties\n\n return this\n }\n\n /**\n * Performs connection to the database.\n * This method should be called once on application bootstrap.\n * This method not necessarily creates database connection (depend on database type),\n * but it also can setup a connection pool with database to use.\n */\n async initialize(): Promise<this> {\n if (this.isInitialized) throw new CannotConnectAlreadyConnectedError()\n\n // connect to the database via its driver\n await this.driver.connect()\n\n // connect to the cache-specific database if cache is enabled\n if (this.queryResultCache) await this.queryResultCache.connect()\n\n // set connected status for the current connection\n ObjectUtils.assign(this, { isInitialized: true })\n\n try {\n // build all metadatas registered in the current connection\n await this.buildMetadatas()\n\n await this.driver.afterConnect()\n\n // if option is set - drop schema once connection is done\n if (this.options.dropSchema) await this.dropDatabase()\n\n // if option is set - automatically synchronize a schema\n if (this.options.migrationsRun)\n await this.runMigrations({\n transaction: this.options.migrationsTransactionMode,\n })\n\n // if option is set - automatically synchronize a schema\n if (this.options.synchronize) await this.synchronize()\n } catch (error) {\n // if for some reason build metadata fail (for example validation error during entity metadata check)\n // connection needs to be closed\n await this.destroy()\n throw error\n }\n\n return this\n }\n\n /**\n * Closes connection with the database.\n * Once connection is closed, you cannot use repositories or perform any operations except opening connection again.\n */\n async destroy(): Promise<void> {\n if (!this.isInitialized) throw new CannotExecuteNotConnectedError()\n\n await this.driver.disconnect()\n\n // disconnect from the cache-specific database if cache was enabled\n if (this.queryResultCache) await this.queryResultCache.disconnect()\n\n ObjectUtils.assign(this, { isInitialized: false })\n }\n\n /**\n * Creates database schema for all entities registered in this connection.\n * Can be used only after connection to the database is established.\n * @param dropBeforeSync If set to true then it drops the database with all its tables and data\n */\n async synchronize(dropBeforeSync: boolean = false): Promise<void> {\n if (!this.isInitialized) throw new CannotExecuteNotConnectedError()\n\n if (dropBeforeSync) await this.dropDatabase()\n\n const schemaBuilder = this.driver.createSchemaBuilder()\n await schemaBuilder.build()\n }\n\n /**\n * Drops the database and all its data.\n * Be careful with this method on production since this method will erase all your database tables and their data.\n * Can be used only after connection to the database is established.\n */\n // TODO rename\n async dropDatabase(): Promise<void> {\n const queryRunner = this.createQueryRunner()\n try {\n if (\n this.driver.options.type === \"mssql\" ||\n DriverUtils.isMySQLFamily(this.driver) ||\n this.driver.options.type === \"aurora-mysql\" ||\n DriverUtils.isSQLiteFamily(this.driver)\n ) {\n const databases: string[] = []\n this.entityMetadatas.forEach((metadata) => {\n if (\n metadata.database &&\n databases.indexOf(metadata.database) === -1\n )\n databases.push(metadata.database)\n })\n if (databases.length === 0 && this.driver.database) {\n databases.push(this.driver.database)\n }\n\n if (databases.length === 0) {\n await queryRunner.clearDatabase()\n } else {\n for (const database of databases) {\n await queryRunner.clearDatabase(database)\n }\n }\n } else {\n await queryRunner.clearDatabase()\n }\n } finally {\n await queryRunner.release()\n }\n }\n\n /**\n * Runs all pending migrations.\n * Can be used only after connection to the database is established.\n * @param options\n * @param options.transaction\n * @param options.fake\n */\n async runMigrations(options?: {\n transaction?: \"all\" | \"none\" | \"each\"\n fake?: boolean\n }): Promise<Migration[]> {\n if (!this.isInitialized) throw new CannotExecuteNotConnectedError()\n\n const migrationExecutor = new MigrationExecutor(this)\n migrationExecutor.transaction =\n options?.transaction ||\n this.options?.migrationsTransactionMode ||\n \"all\"\n migrationExecutor.fake = (options && options.fake) || false\n\n const successMigrations =\n await migrationExecutor.executePendingMigrations()\n return successMigrations\n }\n\n /**\n * Reverts last executed migration.\n * Can be used only after connection to the database is established.\n * @param options\n * @param options.transaction\n * @param options.fake\n */\n async undoLastMigration(options?: {\n transaction?: \"all\" | \"none\" | \"each\"\n fake?: boolean\n }): Promise<void> {\n if (!this.isInitialized) throw new CannotExecuteNotConnectedError()\n\n const migrationExecutor = new MigrationExecutor(this)\n migrationExecutor.transaction =\n (options && options.transaction) || \"all\"\n migrationExecutor.fake = (options && options.fake) || false\n\n await migrationExecutor.undoLastMigration()\n }\n\n /**\n * Lists all migrations and whether they have been run.\n * Returns true if there are pending migrations\n */\n async showMigrations(): Promise<boolean> {\n if (!this.isInitialized) {\n throw new CannotExecuteNotConnectedError()\n }\n const migrationExecutor = new MigrationExecutor(this)\n return await migrationExecutor.showMigrations()\n }\n\n /**\n * Checks if entity metadata exist for the given entity class, target name or table name.\n * @param target\n */\n hasMetadata(target: EntityTarget<any>): boolean {\n return !!this.findMetadata(target)\n }\n\n /**\n * Gets entity metadata for the given entity class or schema name.\n * @param target\n */\n getMetadata(target: EntityTarget<any>): EntityMetadata {\n const metadata = this.findMetadata(target)\n if (!metadata) throw new EntityMetadataNotFoundError(target)\n\n return metadata\n }\n\n /**\n * Gets repository for the given entity.\n * @param target\n */\n getRepository<Entity extends ObjectLiteral>(\n target: EntityTarget<Entity>,\n ): Repository<Entity> {\n return this.manager.getRepository(target)\n }\n\n /**\n * Gets tree repository for the given entity class or name.\n * Only tree-type entities can have a TreeRepository, like ones decorated with `@Tree` decorator.\n * @param target\n */\n getTreeRepository<Entity extends ObjectLiteral>(\n target: EntityTarget<Entity>,\n ): TreeRepository<Entity> {\n return this.manager.getTreeRepository(target)\n }\n\n /**\n * Gets mongodb-specific repository for the given entity class or name.\n * Works only if connection is mongodb-specific.\n * @param target\n */\n getMongoRepository<Entity extends ObjectLiteral>(\n target: EntityTarget<Entity>,\n ): MongoRepository<Entity> {\n if (!(this.driver.options.type === \"mongodb\"))\n throw new TypeORMError(\n `You can use getMongoRepository only for MongoDB connections.`,\n )\n\n return this.manager.getRepository(target) as any\n }\n\n /**\n * Wraps given function execution (and all operations made there) into a transaction.\n * All database operations must be executed using provided entity manager.\n */\n async transaction<T>(\n runInTransaction: (entityManager: EntityManager) => Promise<T>,\n ): Promise<T>\n async transaction<T>(\n isolationLevel: IsolationLevel,\n runInTransaction: (entityManager: EntityManager) => Promise<T>,\n ): Promise<T>\n async transaction<T>(\n isolationOrRunInTransaction:\n | IsolationLevel\n | ((entityManager: EntityManager) => Promise<T>),\n runInTransactionParam?: (entityManager: EntityManager) => Promise<T>,\n ): Promise<any> {\n return this.manager.transaction(\n isolationOrRunInTransaction as any,\n runInTransactionParam as any,\n )\n }\n\n /**\n * Executes raw SQL query and returns raw database results.\n * @param query\n * @param parameters\n * @param queryRunner\n * @returns a raw response from the database client\n * @see {@link https://typeorm.io/data-source-api | Official docs} for examples.\n */\n async query<T = any>(\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ): Promise<T> {\n if (InstanceChecker.isMongoEntityManager(this.manager))\n throw new TypeORMError(`Queries aren't supported by MongoDB.`)\n\n if (queryRunner && queryRunner.isReleased)\n throw new QueryRunnerProviderAlreadyReleasedError()\n\n const usedQueryRunner = queryRunner || this.createQueryRunner()\n\n try {\n return await usedQueryRunner.query(query, parameters) // await is needed here because we are using finally\n } finally {\n if (!queryRunner) await usedQueryRunner.release()\n }\n }\n\n /**\n * Tagged template function that executes raw SQL query and returns raw database results.\n * Template expressions are automatically transformed into database parameters.\n * Raw query execution is supported only by relational databases (MongoDB is not supported).\n * Note: Don't call this as a regular function, it is meant to be used with backticks to tag a template literal.\n * Example: dataSource.sql`SELECT * FROM table_name WHERE id = ${id}`\n * @param strings\n * @param values\n * @returns a raw response from the database client\n */\n async sql<T = any>(\n strings: TemplateStringsArray,\n ...values: unknown[]\n ): Promise<T> {\n const { query, parameters } = buildSqlTag({\n driver: this.driver,\n strings: strings,\n expressions: values,\n })\n\n return await this.query(query, parameters)\n }\n\n /**\n * Creates a new query builder that can be used to build a SQL query.\n */\n createQueryBuilder<Entity extends ObjectLiteral>(\n entityClass: EntityTarget<Entity>,\n alias: string,\n queryRunner?: QueryRunner,\n ): SelectQueryBuilder<Entity>\n\n /**\n * Creates a new query builder that can be used to build a SQL query.\n */\n createQueryBuilder(queryRunner?: QueryRunner): SelectQueryBuilder<any>\n\n /**\n * Creates a new query builder that can be used to build a SQL query.\n * @param entityOrRunner\n * @param alias\n * @param queryRunner\n */\n createQueryBuilder<Entity extends ObjectLiteral>(\n entityOrRunner?: EntityTarget<Entity> | QueryRunner,\n alias?: string,\n queryRunner?: QueryRunner,\n ): SelectQueryBuilder<Entity> {\n if (InstanceChecker.isMongoEntityManager(this.manager))\n throw new TypeORMError(`Query Builder is not supported by MongoDB.`)\n\n if (alias) {\n alias = DriverUtils.buildAlias(this.driver, undefined, alias)\n const metadata = this.getMetadata(\n entityOrRunner as EntityTarget<Entity>,\n )\n return new SelectQueryBuilder(this, queryRunner)\n .select(alias)\n .from(metadata.target, alias)\n } else {\n return new SelectQueryBuilder(\n this,\n entityOrRunner as QueryRunner | undefined,\n )\n }\n }\n\n /**\n * Creates a query runner used for perform queries on a single database connection.\n * Using query runners you can control your queries to execute using single database connection and\n * manually control your database transaction.\n *\n * Mode is used in replication mode and indicates whatever you want to connect\n * to master database or any of slave databases.\n * If you perform writes you must use master database,\n * if you perform reads you can use slave databases.\n * @param mode\n */\n createQueryRunner(mode: ReplicationMode = \"master\"): QueryRunner {\n const queryRunner = this.driver.createQueryRunner(mode)\n const manager = this.createEntityManager(queryRunner)\n Object.assign(queryRunner, { manager: manager })\n return queryRunner\n }\n\n /**\n * Gets entity metadata of the junction table (many-to-many table).\n * @param entityTarget\n * @param relationPropertyPath\n */\n getManyToManyMetadata(\n entityTarget: EntityTarget<any>,\n relationPropertyPath: string,\n ) {\n const relationMetadata =\n this.getMetadata(entityTarget).findRelationWithPropertyPath(\n relationPropertyPath,\n )\n if (!relationMetadata)\n throw new TypeORMError(\n `Relation \"${relationPropertyPath}\" was not found in ${entityTarget} entity.`,\n )\n if (!relationMetadata.isManyToMany)\n throw new TypeORMError(\n `Relation \"${entityTarget}#${relationPropertyPath}\" does not have a many-to-many relationship.` +\n `You can use this method only on many-to-many relations.`,\n )\n\n return relationMetadata.junctionEntityMetadata\n }\n\n /**\n * Creates an Entity Manager for the current connection with the help of the EntityManagerFactory.\n * @param queryRunner\n */\n createEntityManager(queryRunner?: QueryRunner): EntityManager {\n return new EntityManagerFactory().create(this, queryRunner)\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Finds exist entity metadata by the given entity class, target name or table name.\n * @param target\n */\n protected findMetadata(\n target: EntityTarget<any>,\n ): EntityMetadata | undefined {\n const metadataFromMap = this.entityMetadatasMap.get(target)\n if (metadataFromMap) return metadataFromMap\n\n for (const [_, metadata] of this.entityMetadatasMap) {\n if (\n InstanceChecker.isEntitySchema(target) &&\n metadata.name === target.options.name\n ) {\n return metadata\n }\n if (typeof target === \"string\") {\n if (target.indexOf(\".\") !== -1) {\n if (metadata.tablePath === target) {\n return metadata\n }\n } else {\n if (\n metadata.name === target ||\n metadata.tableName === target\n ) {\n return metadata\n }\n }\n }\n if (\n ObjectUtils.isObjectWithName(target) &&\n typeof target.name === \"string\"\n ) {\n if (target.name.indexOf(\".\") !== -1) {\n if (metadata.tablePath === target.name) {\n return metadata\n }\n } else {\n if (\n metadata.name === target.name ||\n metadata.tableName === target.name\n ) {\n return metadata\n }\n }\n }\n }\n\n return undefined\n }\n\n /**\n * Builds metadatas for all registered classes inside this connection.\n */\n protected async buildMetadatas(): Promise<void> {\n const connectionMetadataBuilder = new ConnectionMetadataBuilder(this)\n const entityMetadataValidator = new EntityMetadataValidator()\n\n // create subscribers instances if they are not disallowed from high-level (for example they can disallowed from migrations run process)\n const flattenedSubscribers = ObjectUtils.mixedListToArray(\n this.options.subscribers || [],\n )\n const subscribers =\n await connectionMetadataBuilder.buildSubscribers(\n flattenedSubscribers,\n )\n ObjectUtils.assign(this, { subscribers: subscribers })\n\n // build entity metadatas\n const flattenedEntities = ObjectUtils.mixedListToArray(\n this.options.entities || [],\n )\n const entityMetadatas =\n await connectionMetadataBuilder.buildEntityMetadatas(\n flattenedEntities,\n )\n ObjectUtils.assign(this, {\n entityMetadatas: entityMetadatas,\n entityMetadatasMap: new Map(\n entityMetadatas.map((metadata) => [metadata.target, metadata]),\n ),\n })\n\n // create migration instances\n const flattenedMigrations = ObjectUtils.mixedListToArray(\n this.options.migrations || [],\n )\n const migrations =\n await connectionMetadataBuilder.buildMigrations(flattenedMigrations)\n ObjectUtils.assign(this, { migrations: migrations })\n\n // validate all created entity metadatas to make sure user created entities are valid and correct\n entityMetadataValidator.validateMany(\n this.entityMetadatas.filter(\n (metadata) => metadata.tableType !== \"view\",\n ),\n this.driver,\n )\n\n // set current data source to the entities\n for (const entityMetadata of entityMetadatas) {\n if (\n InstanceChecker.isBaseEntityConstructor(entityMetadata.target)\n ) {\n entityMetadata.target.useDataSource(this)\n }\n }\n }\n\n /**\n * Get the replication mode SELECT queries should use for this datasource by default\n */\n defaultReplicationModeForReads(): ReplicationMode {\n if (\n \"replication\" in this.driver.options &&\n this.driver.options.replication\n ) {\n const value = (\n this.driver.options.replication as {\n defaultMode?: ReplicationMode\n }\n ).defaultMode\n if (value) {\n return value\n }\n }\n return \"slave\"\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../../../src/data-source/DataSource.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Driver } from \"../driver/Driver\"\nimport { registerQueryBuilders } from \"../query-builder\"\nimport type { Repository } from \"../repository/Repository\"\nimport type { EntitySubscriberInterface } from \"../subscriber/EntitySubscriberInterface\"\nimport type { EntityTarget } from \"../common/EntityTarget\"\nimport type { EntityManager } from \"../entity-manager/EntityManager\"\nimport { DefaultNamingStrategy } from \"../naming-strategy/DefaultNamingStrategy\"\nimport {\n CannotConnectAlreadyConnectedError,\n CannotExecuteNotConnectedError,\n EntityMetadataNotFoundError,\n QueryRunnerProviderAlreadyReleasedError,\n TypeORMError,\n} from \"../error\"\nimport type { TreeRepository } from \"../repository/TreeRepository\"\nimport type { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport type { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport type { Logger } from \"../logger/Logger\"\nimport type { MigrationInterface } from \"../migration/MigrationInterface\"\nimport { MigrationExecutor } from \"../migration/MigrationExecutor\"\nimport type { Migration } from \"../migration/Migration\"\nimport type { MongoRepository } from \"../repository/MongoRepository\"\nimport type { MongoEntityManager } from \"../entity-manager/MongoEntityManager\"\nimport { EntityMetadataValidator } from \"../metadata-builder/EntityMetadataValidator\"\nimport type { DataSourceOptions } from \"./DataSourceOptions\"\nimport { EntityManagerFactory } from \"../entity-manager/EntityManagerFactory\"\nimport { DriverFactory } from \"../driver/DriverFactory\"\nimport { ConnectionMetadataBuilder } from \"../connection/ConnectionMetadataBuilder\"\nimport type { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { SelectQueryBuilder } from \"../query-builder/SelectQueryBuilder\"\nimport { LoggerFactory } from \"../logger/LoggerFactory\"\nimport { QueryResultCacheFactory } from \"../cache/QueryResultCacheFactory\"\nimport type { QueryResultCache } from \"../cache/QueryResultCache\"\nimport type { SqljsEntityManager } from \"../entity-manager/SqljsEntityManager\"\nimport { RelationLoader } from \"../query-builder/RelationLoader\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport type { IsolationLevel } from \"../driver/types/IsolationLevel\"\nimport { validateIsolationLevel } from \"../driver/validate-isolation-level\"\nimport type { ReplicationMode } from \"../driver/types/ReplicationMode\"\nimport { RelationIdLoader } from \"../query-builder/RelationIdLoader\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { buildSqlTag } from \"../util/SqlTagUtils\"\n\nregisterQueryBuilders()\n\n/**\n * DataSource is a pre-defined connection configuration to a specific database.\n * You can have multiple data sources connected (with multiple connections in it),\n * connected to multiple databases in your application.\n *\n * Before, it was called `Connection`, but now `Connection` is deprecated\n * because `Connection` isn't the best name for what it's actually is.\n */\nexport class DataSource {\n readonly \"@instanceof\" = Symbol.for(\"DataSource\")\n\n // -------------------------------------------------------------------------\n // Public Readonly Properties\n // -------------------------------------------------------------------------\n\n /**\n * DataSource options.\n */\n readonly options: DataSourceOptions\n\n /**\n * Indicates if the DataSource is initialized or not.\n */\n readonly isInitialized: boolean\n\n /**\n * Database driver used by this connection.\n */\n driver: Driver\n\n /**\n * EntityManager of this connection.\n */\n readonly manager: EntityManager\n\n /**\n * Naming strategy used in the connection.\n */\n namingStrategy: NamingStrategyInterface\n\n /**\n * Name for the metadata table\n */\n readonly metadataTableName: string\n\n /**\n * Logger used to log orm events.\n */\n logger: Logger\n\n /**\n * Migration instances that are registered for this connection.\n */\n readonly migrations: MigrationInterface[] = []\n\n /**\n * Entity subscriber instances that are registered for this connection.\n */\n readonly subscribers: EntitySubscriberInterface<any>[] = []\n\n /**\n * All entity metadatas that are registered for this connection.\n */\n readonly entityMetadatas: EntityMetadata[] = []\n\n /**\n * All entity metadatas that are registered for this connection.\n * This is a copy of #.entityMetadatas property -> used for more performant searches.\n */\n readonly entityMetadatasMap = new Map<EntityTarget<any>, EntityMetadata>()\n\n /**\n * Used to work with query result cache.\n */\n queryResultCache?: QueryResultCache\n\n /**\n * Used to load relations and work with lazy relations.\n */\n readonly relationLoader: RelationLoader\n\n readonly relationIdLoader: RelationIdLoader\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(options: DataSourceOptions) {\n registerQueryBuilders()\n this.options = options\n this.logger = new LoggerFactory().create(\n this.options.logger,\n this.options.logging,\n )\n this.driver = new DriverFactory().create(this)\n this.manager = this.createEntityManager()\n this.namingStrategy =\n options.namingStrategy ?? new DefaultNamingStrategy()\n this.metadataTableName = options.metadataTableName ?? \"typeorm_metadata\"\n this.queryResultCache = options.cache\n ? new QueryResultCacheFactory(this).create()\n : undefined\n this.relationLoader = new RelationLoader(this)\n this.relationIdLoader = new RelationIdLoader(this)\n this.isInitialized = false\n }\n\n // -------------------------------------------------------------------------\n // Public Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the mongodb entity manager that allows to perform mongodb-specific repository operations\n * with any entity in this connection.\n *\n * Available only in mongodb connections.\n *\n * @returns the mongodb entity manager\n */\n get mongoManager(): MongoEntityManager {\n if (!InstanceChecker.isMongoEntityManager(this.manager))\n throw new TypeORMError(\n `MongoEntityManager is only available for MongoDB databases.`,\n )\n\n return this.manager as MongoEntityManager\n }\n\n /**\n * Gets a sql.js specific Entity Manager that allows to perform special load and save operations\n *\n * Available only in connection with the sqljs driver.\n *\n * @returns an sqljs specific Entity Manager\n */\n get sqljsManager(): SqljsEntityManager {\n if (!InstanceChecker.isSqljsEntityManager(this.manager))\n throw new TypeORMError(\n `SqljsEntityManager is only available for Sqljs databases.`,\n )\n\n return this.manager\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n /**\n * Updates current connection options with provided options.\n *\n * @param options\n */\n setOptions(options: Partial<DataSourceOptions>): this {\n Object.assign(this.options, options)\n\n if (options.logger || options.logging) {\n this.logger = new LoggerFactory().create(\n options.logger ?? this.options.logger,\n options.logging ?? this.options.logging,\n )\n }\n\n if (options.namingStrategy) {\n this.namingStrategy = options.namingStrategy\n }\n\n if (options.cache) {\n this.queryResultCache = new QueryResultCacheFactory(this).create()\n }\n\n // todo: we must update the database in the driver as well, if it was set by setOptions method\n // in the future we need to refactor the code and remove \"database\" from the driver, and instead\n // use database (and options) from a single place - data source.\n if (options.database) {\n this.driver.database = DriverUtils.buildDriverOptions(\n this.options,\n ).database\n }\n\n // todo: need to take a look if we need to update schema and other \"poor\" properties\n\n return this\n }\n\n /**\n * Performs connection to the database.\n * This method should be called once on application bootstrap.\n * This method not necessarily creates database connection (depend on database type),\n * but it also can setup a connection pool with database to use.\n */\n async initialize(): Promise<this> {\n if (this.isInitialized) throw new CannotConnectAlreadyConnectedError()\n\n // validate isolationLevel before connecting\n validateIsolationLevel(\n this.driver.supportedIsolationLevels,\n this.options.isolationLevel,\n )\n\n // connect to the database via its driver\n await this.driver.connect()\n\n // connect to the cache-specific database if cache is enabled\n if (this.queryResultCache) await this.queryResultCache.connect()\n\n // set connected status for the current connection\n ObjectUtils.assign(this, { isInitialized: true })\n\n try {\n // build all metadatas registered in the current connection\n await this.buildMetadatas()\n\n await this.driver.afterConnect()\n\n // if option is set - drop schema once connection is done\n if (this.options.dropSchema) await this.dropDatabase()\n\n // if option is set - automatically synchronize a schema\n if (this.options.migrationsRun)\n await this.runMigrations({\n transaction: this.options.migrationsTransactionMode,\n })\n\n // if option is set - automatically synchronize a schema\n if (this.options.synchronize) await this.synchronize()\n } catch (error) {\n // if for some reason build metadata fail (for example validation error during entity metadata check)\n // connection needs to be closed\n await this.destroy()\n throw error\n }\n\n return this\n }\n\n /**\n * Closes connection with the database.\n * Once connection is closed, you cannot use repositories or perform any operations except opening connection again.\n */\n async destroy(): Promise<void> {\n if (!this.isInitialized) throw new CannotExecuteNotConnectedError()\n\n await this.driver.disconnect()\n\n // disconnect from the cache-specific database if cache was enabled\n if (this.queryResultCache) await this.queryResultCache.disconnect()\n\n ObjectUtils.assign(this, { isInitialized: false })\n }\n\n /**\n * Creates database schema for all entities registered in this connection.\n * Can be used only after connection to the database is established.\n *\n * @param dropBeforeSync If set to true then it drops the database with all its tables and data\n */\n async synchronize(dropBeforeSync: boolean = false): Promise<void> {\n if (!this.isInitialized) throw new CannotExecuteNotConnectedError()\n\n if (dropBeforeSync) await this.dropDatabase()\n\n const schemaBuilder = this.driver.createSchemaBuilder()\n await schemaBuilder.build()\n }\n\n /**\n * Drops the database and all its data.\n * Be careful with this method on production since this method will erase all your database tables and their data.\n * Can be used only after connection to the database is established.\n */\n // TODO rename\n async dropDatabase(): Promise<void> {\n const queryRunner = this.createQueryRunner()\n try {\n if (\n this.driver.options.type === \"mssql\" ||\n DriverUtils.isMySQLFamily(this.driver) ||\n this.driver.options.type === \"aurora-mysql\" ||\n DriverUtils.isSQLiteFamily(this.driver)\n ) {\n const databases: string[] = []\n this.entityMetadatas.forEach((metadata) => {\n if (\n metadata.database &&\n databases.indexOf(metadata.database) === -1\n )\n databases.push(metadata.database)\n })\n if (databases.length === 0 && this.driver.database) {\n databases.push(this.driver.database)\n }\n\n if (databases.length === 0) {\n await queryRunner.clearDatabase()\n } else {\n for (const database of databases) {\n await queryRunner.clearDatabase(database)\n }\n }\n } else {\n await queryRunner.clearDatabase()\n }\n } finally {\n await queryRunner.release()\n }\n }\n\n /**\n * Runs all pending migrations.\n * Can be used only after connection to the database is established.\n *\n * @param options\n * @param options.transaction\n * @param options.fake\n */\n async runMigrations(options?: {\n transaction?: \"all\" | \"none\" | \"each\"\n fake?: boolean\n }): Promise<Migration[]> {\n if (!this.isInitialized) throw new CannotExecuteNotConnectedError()\n\n const migrationExecutor = new MigrationExecutor(this)\n migrationExecutor.transaction =\n options?.transaction ??\n this.options?.migrationsTransactionMode ??\n \"all\"\n migrationExecutor.fake = options?.fake ?? false\n\n const successMigrations =\n await migrationExecutor.executePendingMigrations()\n return successMigrations\n }\n\n /**\n * Reverts last executed migration.\n * Can be used only after connection to the database is established.\n *\n * @param options\n * @param options.transaction\n * @param options.fake\n */\n async undoLastMigration(options?: {\n transaction?: \"all\" | \"none\" | \"each\"\n fake?: boolean\n }): Promise<void> {\n if (!this.isInitialized) throw new CannotExecuteNotConnectedError()\n\n const migrationExecutor = new MigrationExecutor(this)\n migrationExecutor.transaction = options?.transaction ?? \"all\"\n migrationExecutor.fake = options?.fake ?? false\n\n await migrationExecutor.undoLastMigration()\n }\n\n /**\n * Lists all migrations and whether they have been run.\n * Returns true if there are pending migrations\n */\n async showMigrations(): Promise<boolean> {\n if (!this.isInitialized) {\n throw new CannotExecuteNotConnectedError()\n }\n const migrationExecutor = new MigrationExecutor(this)\n return await migrationExecutor.showMigrations()\n }\n\n /**\n * Checks if entity metadata exist for the given entity class, target name or table name.\n *\n * @param target\n */\n hasMetadata(target: EntityTarget<any>): boolean {\n return !!this.findMetadata(target)\n }\n\n /**\n * Gets entity metadata for the given entity class or schema name.\n *\n * @param target\n */\n getMetadata(target: EntityTarget<any>): EntityMetadata {\n const metadata = this.findMetadata(target)\n if (!metadata) throw new EntityMetadataNotFoundError(target)\n\n return metadata\n }\n\n /**\n * Gets repository for the given entity.\n *\n * @param target\n */\n getRepository<Entity extends ObjectLiteral>(\n target: EntityTarget<Entity>,\n ): Repository<Entity> {\n return this.manager.getRepository(target)\n }\n\n /**\n * Gets tree repository for the given entity class or name.\n * Only tree-type entities can have a TreeRepository, like ones decorated with `@Tree` decorator.\n *\n * @param target\n */\n getTreeRepository<Entity extends ObjectLiteral>(\n target: EntityTarget<Entity>,\n ): TreeRepository<Entity> {\n return this.manager.getTreeRepository(target)\n }\n\n /**\n * Gets mongodb-specific repository for the given entity class or name.\n * Works only if connection is mongodb-specific.\n *\n * @param target\n */\n getMongoRepository<Entity extends ObjectLiteral>(\n target: EntityTarget<Entity>,\n ): MongoRepository<Entity> {\n if (!(this.driver.options.type === \"mongodb\"))\n throw new TypeORMError(\n `You can use getMongoRepository only for MongoDB connections.`,\n )\n\n return this.manager.getRepository(target) as any\n }\n\n /**\n * Wraps given function execution (and all operations made there) into a transaction.\n * All database operations must be executed using provided entity manager.\n */\n async transaction<T>(\n runInTransaction: (entityManager: EntityManager) => Promise<T>,\n ): Promise<T>\n async transaction<T>(\n isolationLevel: IsolationLevel,\n runInTransaction: (entityManager: EntityManager) => Promise<T>,\n ): Promise<T>\n async transaction<T>(\n isolationOrRunInTransaction:\n | IsolationLevel\n | ((entityManager: EntityManager) => Promise<T>),\n runInTransactionParam?: (entityManager: EntityManager) => Promise<T>,\n ): Promise<any> {\n return this.manager.transaction(\n isolationOrRunInTransaction as any,\n runInTransactionParam as any,\n )\n }\n\n /**\n * Executes raw SQL query and returns raw database results.\n *\n * @param query\n * @param parameters\n * @param queryRunner\n * @returns a raw response from the database client\n * @see {@link https://typeorm.io/data-source-api | Official docs} for examples.\n */\n async query<T = any>(\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ): Promise<T> {\n if (InstanceChecker.isMongoEntityManager(this.manager))\n throw new TypeORMError(`Queries aren't supported by MongoDB.`)\n\n if (queryRunner?.isReleased)\n throw new QueryRunnerProviderAlreadyReleasedError()\n\n const usedQueryRunner = queryRunner ?? this.createQueryRunner()\n\n try {\n return await usedQueryRunner.query(query, parameters) // await is needed here because we are using finally\n } finally {\n if (!queryRunner) await usedQueryRunner.release()\n }\n }\n\n /**\n * Tagged template function that executes raw SQL query and returns raw database results.\n * Template expressions are automatically transformed into database parameters.\n * Raw query execution is supported only by relational databases (MongoDB is not supported).\n * Note: Don't call this as a regular function, it is meant to be used with backticks to tag a template literal.\n *\n * @example\n * dataSource.sql`SELECT * FROM table_name WHERE id = ${id}`\n *\n * @param strings\n * @param values\n * @returns a raw response from the database client\n */\n async sql<T = any>(\n strings: TemplateStringsArray,\n ...values: unknown[]\n ): Promise<T> {\n const { query, parameters } = buildSqlTag({\n driver: this.driver,\n strings: strings,\n expressions: values,\n })\n\n return await this.query(query, parameters)\n }\n\n /**\n * Creates a new query builder that can be used to build a SQL query.\n */\n createQueryBuilder<Entity extends ObjectLiteral>(\n entityClass: EntityTarget<Entity>,\n alias: string,\n queryRunner?: QueryRunner,\n ): SelectQueryBuilder<Entity>\n\n /**\n * Creates a new query builder that can be used to build a SQL query.\n */\n createQueryBuilder(queryRunner?: QueryRunner): SelectQueryBuilder<any>\n\n /**\n * Creates a new query builder that can be used to build a SQL query.\n *\n * @param entityOrRunner\n * @param alias\n * @param queryRunner\n */\n createQueryBuilder<Entity extends ObjectLiteral>(\n entityOrRunner?: EntityTarget<Entity> | QueryRunner,\n alias?: string,\n queryRunner?: QueryRunner,\n ): SelectQueryBuilder<Entity> {\n if (InstanceChecker.isMongoEntityManager(this.manager))\n throw new TypeORMError(`Query Builder is not supported by MongoDB.`)\n\n if (alias) {\n alias = DriverUtils.buildAlias(this.driver, undefined, alias)\n const metadata = this.getMetadata(\n entityOrRunner as EntityTarget<Entity>,\n )\n return new SelectQueryBuilder(this, queryRunner)\n .select(alias)\n .from(metadata.target, alias)\n } else {\n return new SelectQueryBuilder(\n this,\n entityOrRunner as QueryRunner | undefined,\n )\n }\n }\n\n /**\n * Creates a query runner used for perform queries on a single database connection.\n * Using query runners you can control your queries to execute using single database connection and\n * manually control your database transaction.\n *\n * Mode is used in replication mode and indicates whatever you want to connect\n * to master database or any of slave databases.\n * If you perform writes you must use master database,\n * if you perform reads you can use slave databases.\n *\n * @param mode\n */\n createQueryRunner(mode: ReplicationMode = \"master\"): QueryRunner {\n const queryRunner = this.driver.createQueryRunner(mode)\n const manager = this.createEntityManager(queryRunner)\n Object.assign(queryRunner, { manager: manager })\n return queryRunner\n }\n\n /**\n * Gets entity metadata of the junction table (many-to-many table).\n *\n * @param entityTarget\n * @param relationPropertyPath\n */\n getManyToManyMetadata(\n entityTarget: EntityTarget<any>,\n relationPropertyPath: string,\n ) {\n const relationMetadata =\n this.getMetadata(entityTarget).findRelationWithPropertyPath(\n relationPropertyPath,\n )\n if (!relationMetadata)\n throw new TypeORMError(\n `Relation \"${relationPropertyPath}\" was not found in ${entityTarget} entity.`,\n )\n if (!relationMetadata.isManyToMany)\n throw new TypeORMError(\n `Relation \"${entityTarget}#${relationPropertyPath}\" does not have a many-to-many relationship.` +\n `You can use this method only on many-to-many relations.`,\n )\n\n return relationMetadata.junctionEntityMetadata\n }\n\n /**\n * Creates an Entity Manager for the current connection with the help of the EntityManagerFactory.\n *\n * @param queryRunner\n */\n createEntityManager(queryRunner?: QueryRunner): EntityManager {\n return new EntityManagerFactory().create(this, queryRunner)\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Finds exist entity metadata by the given entity class, target name or table name.\n *\n * @param target\n */\n protected findMetadata(\n target: EntityTarget<any>,\n ): EntityMetadata | undefined {\n const metadataFromMap = this.entityMetadatasMap.get(target)\n if (metadataFromMap) return metadataFromMap\n\n for (const [_, metadata] of this.entityMetadatasMap) {\n if (\n InstanceChecker.isEntitySchema(target) &&\n metadata.name === target.options.name\n ) {\n return metadata\n }\n if (typeof target === \"string\") {\n if (target.indexOf(\".\") !== -1) {\n if (metadata.tablePath === target) {\n return metadata\n }\n } else {\n if (\n metadata.name === target ||\n metadata.tableName === target\n ) {\n return metadata\n }\n }\n }\n if (\n ObjectUtils.isObjectWithName(target) &&\n typeof target.name === \"string\"\n ) {\n if (target.name.indexOf(\".\") !== -1) {\n if (metadata.tablePath === target.name) {\n return metadata\n }\n } else {\n if (\n metadata.name === target.name ||\n metadata.tableName === target.name\n ) {\n return metadata\n }\n }\n }\n }\n\n return undefined\n }\n\n /**\n * Builds metadatas for all registered classes inside this connection.\n */\n protected async buildMetadatas(): Promise<void> {\n const connectionMetadataBuilder = new ConnectionMetadataBuilder(this)\n const entityMetadataValidator = new EntityMetadataValidator()\n\n // create subscribers instances if they are not disallowed from high-level (for example they can disallowed from migrations run process)\n const flattenedSubscribers = ObjectUtils.mixedListToArray(\n this.options.subscribers ?? [],\n )\n const subscribers =\n await connectionMetadataBuilder.buildSubscribers(\n flattenedSubscribers,\n )\n ObjectUtils.assign(this, { subscribers: subscribers })\n\n // build entity metadatas\n const flattenedEntities = ObjectUtils.mixedListToArray(\n this.options.entities ?? [],\n )\n const entityMetadatas =\n await connectionMetadataBuilder.buildEntityMetadatas(\n flattenedEntities,\n )\n ObjectUtils.assign(this, {\n entityMetadatas: entityMetadatas,\n entityMetadatasMap: new Map(\n entityMetadatas.map((metadata) => [metadata.target, metadata]),\n ),\n })\n\n // create migration instances\n const flattenedMigrations = ObjectUtils.mixedListToArray(\n this.options.migrations ?? [],\n )\n const migrations =\n await connectionMetadataBuilder.buildMigrations(flattenedMigrations)\n ObjectUtils.assign(this, { migrations: migrations })\n\n // validate all created entity metadatas to make sure user created entities are valid and correct\n entityMetadataValidator.validateMany(\n this.entityMetadatas.filter(\n (metadata) => metadata.tableType !== \"view\",\n ),\n this.driver,\n )\n\n // set current data source to the entities\n for (const entityMetadata of entityMetadatas) {\n if (\n InstanceChecker.isBaseEntityConstructor(entityMetadata.target)\n ) {\n entityMetadata.target.useDataSource(this)\n }\n }\n }\n\n /**\n * Get the replication mode SELECT queries should use for this datasource by default\n */\n defaultReplicationModeForReads(): ReplicationMode {\n if (\n \"replication\" in this.driver.options &&\n this.driver.options.replication\n ) {\n const value = (\n this.driver.options.replication as {\n defaultMode?: ReplicationMode\n }\n ).defaultMode\n if (value) {\n return value\n }\n }\n return \"slave\"\n }\n}\n"]}
|
package/decorator/Check.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Creates a database check.
|
|
3
3
|
* Can be used on entity property or on entity.
|
|
4
4
|
* Can create checks with composite columns when used on entity.
|
|
5
|
+
*
|
|
5
6
|
* @param expression
|
|
6
7
|
*/
|
|
7
8
|
export declare function Check(expression: string): ClassDecorator & PropertyDecorator;
|
|
@@ -9,6 +10,7 @@ export declare function Check(expression: string): ClassDecorator & PropertyDeco
|
|
|
9
10
|
* Creates a database check.
|
|
10
11
|
* Can be used on entity property or on entity.
|
|
11
12
|
* Can create checks with composite columns when used on entity.
|
|
13
|
+
*
|
|
12
14
|
* @param name
|
|
13
15
|
* @param expression
|
|
14
16
|
*/
|
package/decorator/Check.js
CHANGED
|
@@ -7,12 +7,13 @@ const error_1 = require("../error");
|
|
|
7
7
|
* Creates a database check.
|
|
8
8
|
* Can be used on entity property or on entity.
|
|
9
9
|
* Can create checks with composite columns when used on entity.
|
|
10
|
+
*
|
|
10
11
|
* @param nameOrExpression
|
|
11
12
|
* @param maybeExpression
|
|
12
13
|
*/
|
|
13
14
|
function Check(nameOrExpression, maybeExpression) {
|
|
14
15
|
const name = maybeExpression ? nameOrExpression : undefined;
|
|
15
|
-
const expression = maybeExpression
|
|
16
|
+
const expression = maybeExpression ?? nameOrExpression;
|
|
16
17
|
if (!expression)
|
|
17
18
|
throw new error_1.TypeORMError(`Check expression is required`);
|
|
18
19
|
return function (clsOrObject, propertyName) {
|