typeorm 0.3.21 → 0.3.22-dev.00d5639
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/README.md +1315 -1315
- package/browser/cache/DbQueryResultCache.js +1 -1
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/cache/QueryResultCache.js.map +1 -1
- package/browser/cache/QueryResultCacheFactory.js.map +1 -1
- package/browser/cache/QueryResultCacheOptions.js.map +1 -1
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/cli-ts-node-commonjs.js.map +1 -1
- package/browser/cli-ts-node-esm.js.map +1 -1
- package/browser/common/DeepPartial.js.map +1 -1
- package/browser/common/EntityTarget.js.map +1 -1
- package/browser/common/MixedList.js.map +1 -1
- package/browser/common/NonNever.js.map +1 -1
- package/browser/common/ObjectLiteral.js.map +1 -1
- package/browser/common/ObjectType.js.map +1 -1
- package/browser/common/PickKeysByType.js.map +1 -1
- package/browser/common/RelationType.js.map +1 -1
- package/browser/connection/BaseConnectionOptions.js.map +1 -1
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionManager.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptions.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/container.js.map +1 -1
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/data-source/DataSource.js +2 -2
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/data-source/DataSourceOptions.js.map +1 -1
- package/browser/data-source/index.js.map +1 -1
- package/browser/decorator/Check.js.map +1 -1
- package/browser/decorator/EntityRepository.js.map +1 -1
- package/browser/decorator/Exclusion.js.map +1 -1
- package/browser/decorator/Generated.js.map +1 -1
- package/browser/decorator/Index.js.map +1 -1
- package/browser/decorator/Unique.js.map +1 -1
- package/browser/decorator/columns/Column.js.map +1 -1
- package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
- package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/browser/decorator/columns/VersionColumn.js.map +1 -1
- package/browser/decorator/columns/ViewColumn.js.map +1 -1
- package/browser/decorator/columns/VirtualColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.js.map +1 -1
- package/browser/decorator/entity/Entity.js.map +1 -1
- package/browser/decorator/entity/TableInheritance.js.map +1 -1
- package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
- package/browser/decorator/listeners/AfterInsert.js.map +1 -1
- package/browser/decorator/listeners/AfterLoad.js.map +1 -1
- package/browser/decorator/listeners/AfterRecover.js.map +1 -1
- package/browser/decorator/listeners/AfterRemove.js.map +1 -1
- package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -1
- package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
- package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
- package/browser/decorator/listeners/BeforeRecover.js.map +1 -1
- package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
- package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -1
- package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
- package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/browser/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/browser/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/browser/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/browser/decorator/options/ColumnOptions.js.map +1 -1
- package/browser/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/browser/decorator/options/ColumnWithWidthOptions.js.map +1 -1
- package/browser/decorator/options/EntityOptions.js.map +1 -1
- package/browser/decorator/options/IndexOptions.js.map +1 -1
- package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
- package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/browser/decorator/options/JoinTableOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/browser/decorator/options/TransactionOptions.js.map +1 -1
- package/browser/decorator/options/UniqueOptions.js.map +1 -1
- package/browser/decorator/options/ValueTransformer.js.map +1 -1
- package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
- package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
- package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/browser/decorator/relations/JoinColumn.js.map +1 -1
- package/browser/decorator/relations/JoinTable.js.map +1 -1
- package/browser/decorator/relations/ManyToMany.js.map +1 -1
- package/browser/decorator/relations/ManyToOne.js.map +1 -1
- package/browser/decorator/relations/OneToMany.js.map +1 -1
- package/browser/decorator/relations/OneToOne.js.map +1 -1
- package/browser/decorator/relations/RelationCount.d.ts +2 -1
- package/browser/decorator/relations/RelationCount.js +2 -1
- package/browser/decorator/relations/RelationCount.js.map +1 -1
- package/browser/decorator/relations/RelationId.js.map +1 -1
- package/browser/decorator/tree/Tree.js.map +1 -1
- package/browser/decorator/tree/TreeChildren.js.map +1 -1
- package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/browser/decorator/tree/TreeParent.js.map +1 -1
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.js +3 -3
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/Query.js.map +1 -1
- package/browser/driver/SqlInMemory.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +2 -2
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +7 -10
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +6 -9
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
- package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +2 -2
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +7 -11
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoConnectionOptions.js.map +1 -1
- package/browser/driver/expo/ExpoDriver.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/bson.typings.js.map +1 -1
- package/browser/driver/mongodb/typings.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.js +2 -2
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +78 -81
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
- package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.js +2 -2
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +6 -8
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.js +3 -2
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +7 -10
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
- package/browser/driver/sap/SapDriver.d.ts +2 -1
- package/browser/driver/sap/SapDriver.js +19 -13
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +1 -1
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/browser/driver/spanner/SpannerDriver.js +3 -3
- package/browser/driver/spanner/SpannerDriver.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.js +7 -7
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +13 -16
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/browser/driver/sqljs/SqljsDriver.js +1 -1
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.js +2 -2
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +35 -36
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
- package/browser/driver/types/ColumnTypes.d.ts +1 -1
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/driver/types/CteCapabilities.js.map +1 -1
- package/browser/driver/types/DataTypeDefaults.js.map +1 -1
- package/browser/driver/types/DatabaseType.js.map +1 -1
- package/browser/driver/types/GeoJsonTypes.js.map +1 -1
- package/browser/driver/types/IsolationLevel.js.map +1 -1
- package/browser/driver/types/MappedColumnTypes.js.map +1 -1
- package/browser/driver/types/MetadataTableType.js.map +1 -1
- package/browser/driver/types/ReplicationMode.js.map +1 -1
- package/browser/driver/types/UpsertType.js.map +1 -1
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.js +1 -1
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchema.js.map +1 -1
- package/browser/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/browser/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/browser/error/CannotDetermineEntityError.js.map +1 -1
- package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/browser/error/CircularRelationsError.js.map +1 -1
- package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
- package/browser/error/ConnectionIsNotSetError.js.map +1 -1
- package/browser/error/ConnectionNotFoundError.js.map +1 -1
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/browser/error/DataTypeNotSupportedError.js.map +1 -1
- package/browser/error/DriverOptionNotSetError.js.map +1 -1
- package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
- package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/error/EntityPropertyNotFoundError.js.map +1 -1
- package/browser/error/FindRelationsNotFoundError.js.map +1 -1
- package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
- package/browser/error/InitializedRelationError.js.map +1 -1
- package/browser/error/InsertValuesMissingError.js.map +1 -1
- package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
- package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
- package/browser/error/MissingDriverError.js.map +1 -1
- package/browser/error/MissingJoinColumnError.js.map +1 -1
- package/browser/error/MissingJoinTableError.js.map +1 -1
- package/browser/error/MissingPrimaryColumnError.js.map +1 -1
- package/browser/error/MustBeEntityError.js.map +1 -1
- package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
- package/browser/error/NestedSetMultipleRootError.js.map +1 -1
- package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
- package/browser/error/NoConnectionOptionError.js.map +1 -1
- package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
- package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/browser/error/QueryFailedError.js.map +1 -1
- package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/browser/error/RepositoryNotTreeError.js.map +1 -1
- package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
- package/browser/error/TransactionNotStartedError.js.map +1 -1
- package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/browser/error/TypeORMError.js.map +1 -1
- package/browser/error/UpdateValuesMissingError.js.map +1 -1
- package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/error/index.js.map +1 -1
- package/browser/find-options/EqualOperator.js.map +1 -1
- package/browser/find-options/FindManyOptions.js.map +1 -1
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOperator.js.map +1 -1
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/FindOptionsOrder.js.map +1 -1
- package/browser/find-options/FindOptionsRelations.js.map +1 -1
- package/browser/find-options/FindOptionsSelect.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +1 -1
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/FindOptionsWhere.js.map +1 -1
- package/browser/find-options/FindTreeOptions.js.map +1 -1
- package/browser/find-options/JoinOptions.js.map +1 -1
- package/browser/find-options/OrderByCondition.js.map +1 -1
- package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
- package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
- package/browser/find-options/operator/And.js.map +1 -1
- package/browser/find-options/operator/Any.js.map +1 -1
- package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/browser/find-options/operator/ArrayContains.js.map +1 -1
- package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
- package/browser/find-options/operator/Between.js.map +1 -1
- package/browser/find-options/operator/Equal.js.map +1 -1
- package/browser/find-options/operator/ILike.js.map +1 -1
- package/browser/find-options/operator/In.js.map +1 -1
- package/browser/find-options/operator/IsNull.js.map +1 -1
- package/browser/find-options/operator/JsonContains.js.map +1 -1
- package/browser/find-options/operator/LessThan.js.map +1 -1
- package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/browser/find-options/operator/Like.js.map +1 -1
- package/browser/find-options/operator/MoreThan.js.map +1 -1
- package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/browser/find-options/operator/Not.js.map +1 -1
- package/browser/find-options/operator/Or.js.map +1 -1
- package/browser/find-options/operator/Raw.js.map +1 -1
- package/browser/globals.js.map +1 -1
- package/browser/index.js.map +1 -1
- package/browser/logger/AbstractLogger.js.map +1 -1
- package/browser/logger/AdvancedConsoleLogger.js +1 -1
- package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
- package/browser/logger/DebugLogger.js +1 -1
- package/browser/logger/DebugLogger.js.map +1 -1
- package/browser/logger/FileLogger.js +1 -1
- package/browser/logger/FileLogger.js.map +1 -1
- package/browser/logger/Logger.js.map +1 -1
- package/browser/logger/LoggerFactory.js.map +1 -1
- package/browser/logger/LoggerOptions.js.map +1 -1
- package/browser/logger/SimpleConsoleLogger.js +1 -1
- package/browser/logger/SimpleConsoleLogger.js.map +1 -1
- package/browser/metadata/CheckMetadata.js.map +1 -1
- package/browser/metadata/ColumnMetadata.js +1 -1
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.js +1 -1
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/EntityListenerMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/ExclusionMetadata.js.map +1 -1
- package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
- package/browser/metadata/IndexMetadata.js.map +1 -1
- package/browser/metadata/RelationCountMetadata.js.map +1 -1
- package/browser/metadata/RelationIdMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/UniqueMetadata.js.map +1 -1
- package/browser/metadata/types/ClosureTreeOptions.js.map +1 -1
- package/browser/metadata/types/DeferrableType.js.map +1 -1
- package/browser/metadata/types/EventListenerTypes.js.map +1 -1
- package/browser/metadata/types/OnDeleteType.js.map +1 -1
- package/browser/metadata/types/OnUpdateType.js.map +1 -1
- package/browser/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/browser/metadata/types/RelationTypes.js.map +1 -1
- package/browser/metadata/types/TableTypes.js.map +1 -1
- package/browser/metadata/types/TreeTypes.js.map +1 -1
- package/browser/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/browser/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/browser/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/browser/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/browser/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/browser/metadata-args/types/ColumnMode.js.map +1 -1
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/MetadataUtils.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/migration/Migration.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +2 -2
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/migration/MigrationInterface.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.js +2 -2
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectChangeMap.js.map +1 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +1 -1
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopologicalSorter.js +5 -5
- package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/NestedSetSubjectExecutor.js +2 -2
- package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -1
- package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -1
- package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
- package/browser/platform/BrowserFileLoggerDummy.js.map +1 -1
- package/browser/platform/BrowserPlatformTools.js.map +1 -1
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/Alias.js.map +1 -1
- package/browser/query-builder/Brackets.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.js +2 -2
- package/browser/query-builder/JoinAttribute.js.map +1 -1
- package/browser/query-builder/JoinOptions.js.map +1 -1
- package/browser/query-builder/NotBrackets.js.map +1 -1
- package/browser/query-builder/QueryBuilder.js +2 -2
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilderCte.js.map +1 -1
- package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/QueryPartialEntity.js.map +1 -1
- package/browser/query-builder/RelationIdLoader.js +5 -4
- package/browser/query-builder/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/RelationUpdater.js.map +1 -1
- package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/browser/query-builder/SelectQuery.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +27 -14
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +3 -3
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereClause.js.map +1 -1
- package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/browser/query-builder/index.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/browser/query-builder/result/DeleteResult.js.map +1 -1
- package/browser/query-builder/result/InsertResult.js.map +1 -1
- package/browser/query-builder/result/UpdateResult.js.map +1 -1
- package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +2 -2
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryLock.js.map +1 -1
- package/browser/query-runner/QueryResult.js.map +1 -1
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/repository/AbstractRepository.js.map +1 -1
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/EntityId.js.map +1 -1
- package/browser/repository/FindTreesOptions.js.map +1 -1
- package/browser/repository/MongoRepository.js.map +1 -1
- package/browser/repository/RemoveOptions.js.map +1 -1
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/SaveOptions.js.map +1 -1
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/repository/UpsertOptions.js.map +1 -1
- package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/SchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/browser/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/browser/schema-builder/options/TableOptions.js.map +1 -1
- package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/browser/schema-builder/options/ViewOptions.js.map +1 -1
- package/browser/schema-builder/table/Table.js.map +1 -1
- package/browser/schema-builder/table/TableCheck.js.map +1 -1
- package/browser/schema-builder/table/TableColumn.js.map +1 -1
- package/browser/schema-builder/table/TableExclusion.js.map +1 -1
- package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/schema-builder/util/TableUtils.js.map +1 -1
- package/browser/schema-builder/util/ViewUtils.js.map +1 -1
- package/browser/schema-builder/view/View.js.map +1 -1
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/BroadcasterResult.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/InsertEvent.js.map +1 -1
- package/browser/subscriber/event/LoadEvent.js.map +1 -1
- package/browser/subscriber/event/QueryEvent.js.map +1 -1
- package/browser/subscriber/event/RecoverEvent.js.map +1 -1
- package/browser/subscriber/event/RemoveEvent.js.map +1 -1
- package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -1
- package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -1
- package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -1
- package/browser/subscriber/event/TransactionStartEvent.js.map +1 -1
- package/browser/subscriber/event/UpdateEvent.js.map +1 -1
- package/browser/util/ApplyValueTransformers.js.map +1 -1
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/DepGraph.js +13 -13
- package/browser/util/DepGraph.js.map +1 -1
- package/browser/util/DirectoryExportedClassesLoader.js +2 -2
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ImportUtils.js.map +1 -1
- package/browser/util/InstanceChecker.js.map +1 -1
- package/browser/util/ObjectUtils.d.ts +2 -2
- package/browser/util/ObjectUtils.js.map +1 -1
- package/browser/util/OrmUtils.js +4 -4
- package/browser/util/OrmUtils.js.map +1 -1
- package/browser/util/PathUtils.js.map +1 -1
- package/browser/util/RandomGenerator.js +6 -6
- package/browser/util/RandomGenerator.js.map +1 -1
- package/browser/util/StringUtils.js.map +1 -1
- package/browser/util/TreeRepositoryUtils.js.map +1 -1
- package/browser/util/VersionUtils.js.map +1 -1
- package/browser/util/escapeRegExp.d.ts +1 -1
- package/browser/util/escapeRegExp.js.map +1 -1
- package/cache/DbQueryResultCache.js +1 -1
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/QueryResultCache.js.map +1 -1
- package/cache/QueryResultCacheFactory.js.map +1 -1
- package/cache/QueryResultCacheOptions.js.map +1 -1
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli-ts-node-commonjs.js.map +1 -1
- package/cli-ts-node-esm.js.map +1 -1
- package/cli.js.map +1 -1
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.js +1 -0
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +6 -6
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.js +316 -322
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.js +20 -22
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.js +29 -31
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +6 -6
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js.map +1 -1
- package/common/DeepPartial.js.map +1 -1
- package/common/EntityTarget.js.map +1 -1
- package/common/MixedList.js.map +1 -1
- package/common/NonNever.js.map +1 -1
- package/common/ObjectLiteral.js.map +1 -1
- package/common/ObjectType.js.map +1 -1
- package/common/PickKeysByType.js.map +1 -1
- package/common/RelationType.js.map +1 -1
- package/connection/BaseConnectionOptions.js.map +1 -1
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionManager.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptions.js.map +1 -1
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/container.js.map +1 -1
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/data-source/DataSource.js +2 -2
- package/data-source/DataSource.js.map +1 -1
- package/data-source/DataSourceOptions.js.map +1 -1
- package/data-source/index.js.map +1 -1
- package/decorator/Check.js.map +1 -1
- package/decorator/EntityRepository.js.map +1 -1
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/columns/VirtualColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/listeners/AfterInsert.js.map +1 -1
- package/decorator/listeners/AfterLoad.js.map +1 -1
- package/decorator/listeners/AfterRecover.js.map +1 -1
- package/decorator/listeners/AfterRemove.js.map +1 -1
- package/decorator/listeners/AfterSoftRemove.js.map +1 -1
- package/decorator/listeners/AfterUpdate.js.map +1 -1
- package/decorator/listeners/BeforeInsert.js.map +1 -1
- package/decorator/listeners/BeforeRecover.js.map +1 -1
- package/decorator/listeners/BeforeRemove.js.map +1 -1
- package/decorator/listeners/BeforeSoftRemove.js.map +1 -1
- package/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/decorator/listeners/EventSubscriber.js.map +1 -1
- package/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/decorator/options/ColumnOptions.js.map +1 -1
- package/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/decorator/options/ColumnWithWidthOptions.js.map +1 -1
- package/decorator/options/EntityOptions.js.map +1 -1
- package/decorator/options/IndexOptions.js.map +1 -1
- package/decorator/options/JoinColumnOptions.js.map +1 -1
- package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/decorator/options/JoinTableOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/decorator/options/TransactionOptions.js.map +1 -1
- package/decorator/options/UniqueOptions.js.map +1 -1
- package/decorator/options/ValueTransformer.js.map +1 -1
- package/decorator/options/ViewColumnOptions.js.map +1 -1
- package/decorator/options/ViewEntityOptions.js.map +1 -1
- package/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationCount.d.ts +2 -1
- package/decorator/relations/RelationCount.js +2 -1
- package/decorator/relations/RelationCount.js.map +1 -1
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/Driver.js.map +1 -1
- package/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.js +3 -3
- package/driver/DriverUtils.js.map +1 -1
- package/driver/Query.js.map +1 -1
- package/driver/SqlInMemory.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlDriver.js +2 -2
- package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +7 -10
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +6 -9
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
- package/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js +2 -2
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +7 -11
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +1 -1
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoConnectionOptions.js.map +1 -1
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +1 -1
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mongodb/bson.typings.js.map +1 -1
- package/driver/mongodb/typings.js.map +1 -1
- package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/driver/mysql/MysqlDriver.js +2 -2
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +78 -81
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.js +2 -2
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +6 -8
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.js +3 -2
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +7 -10
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.js +1 -1
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/driver/sap/SapConnectionOptions.js.map +1 -1
- package/driver/sap/SapDriver.d.ts +2 -1
- package/driver/sap/SapDriver.js +19 -13
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +1 -1
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
- package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/driver/spanner/SpannerDriver.js +3 -3
- package/driver/spanner/SpannerDriver.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.js +7 -7
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +13 -16
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/driver/sqljs/SqljsDriver.js +1 -1
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.js +2 -2
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +35 -36
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
- package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
- package/driver/types/ColumnTypes.d.ts +1 -1
- package/driver/types/ColumnTypes.js.map +1 -1
- package/driver/types/CteCapabilities.js.map +1 -1
- package/driver/types/DataTypeDefaults.js.map +1 -1
- package/driver/types/DatabaseType.js.map +1 -1
- package/driver/types/GeoJsonTypes.js.map +1 -1
- package/driver/types/IsolationLevel.js.map +1 -1
- package/driver/types/MappedColumnTypes.js.map +1 -1
- package/driver/types/MetadataTableType.js.map +1 -1
- package/driver/types/ReplicationMode.js.map +1 -1
- package/driver/types/UpsertType.js.map +1 -1
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/EntityManagerFactory.js.map +1 -1
- package/entity-manager/MongoEntityManager.js +1 -1
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-manager/SqljsEntityManager.js.map +1 -1
- package/entity-schema/EntitySchema.js.map +1 -1
- package/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
- package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/error/CannotDetermineEntityError.js.map +1 -1
- package/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/error/CircularRelationsError.js.map +1 -1
- package/error/ColumnTypeUndefinedError.js.map +1 -1
- package/error/ConnectionIsNotSetError.js.map +1 -1
- package/error/ConnectionNotFoundError.js.map +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/error/DataTypeNotSupportedError.js.map +1 -1
- package/error/DriverOptionNotSetError.js.map +1 -1
- package/error/DriverPackageNotInstalledError.js.map +1 -1
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/EntityPropertyNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
- package/error/InitializedRelationError.js.map +1 -1
- package/error/InsertValuesMissingError.js.map +1 -1
- package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/error/MetadataAlreadyExistsError.js.map +1 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/error/MissingDeleteDateColumnError.js.map +1 -1
- package/error/MissingDriverError.js.map +1 -1
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/MissingPrimaryColumnError.js.map +1 -1
- package/error/MustBeEntityError.js.map +1 -1
- package/error/NamingStrategyNotFoundError.js.map +1 -1
- package/error/NestedSetMultipleRootError.js.map +1 -1
- package/error/NoConnectionForRepositoryError.js.map +1 -1
- package/error/NoConnectionOptionError.js.map +1 -1
- package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/error/PersistedEntityNotFoundError.js.map +1 -1
- package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/error/QueryFailedError.js.map +1 -1
- package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/error/TransactionAlreadyStartedError.js.map +1 -1
- package/error/TransactionNotStartedError.js.map +1 -1
- package/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/error/TypeORMError.js.map +1 -1
- package/error/UpdateValuesMissingError.js.map +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/index.js.map +1 -1
- package/find-options/EqualOperator.js.map +1 -1
- package/find-options/FindManyOptions.js.map +1 -1
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/FindOptionsOrder.js.map +1 -1
- package/find-options/FindOptionsRelations.js.map +1 -1
- package/find-options/FindOptionsSelect.js.map +1 -1
- package/find-options/FindOptionsUtils.js +1 -1
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/FindOptionsWhere.js.map +1 -1
- package/find-options/FindTreeOptions.js.map +1 -1
- package/find-options/JoinOptions.js.map +1 -1
- package/find-options/OrderByCondition.js.map +1 -1
- package/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
- package/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
- package/find-options/operator/And.js.map +1 -1
- package/find-options/operator/Any.js.map +1 -1
- package/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/find-options/operator/ArrayContains.js.map +1 -1
- package/find-options/operator/ArrayOverlap.js.map +1 -1
- package/find-options/operator/Between.js.map +1 -1
- package/find-options/operator/Equal.js.map +1 -1
- package/find-options/operator/ILike.js.map +1 -1
- package/find-options/operator/In.js.map +1 -1
- package/find-options/operator/IsNull.js.map +1 -1
- package/find-options/operator/JsonContains.js.map +1 -1
- package/find-options/operator/LessThan.js.map +1 -1
- package/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/MoreThan.js.map +1 -1
- package/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/find-options/operator/Not.js.map +1 -1
- package/find-options/operator/Or.js.map +1 -1
- package/find-options/operator/Raw.js.map +1 -1
- package/globals.js.map +1 -1
- package/index.js.map +1 -1
- package/logger/AbstractLogger.js.map +1 -1
- package/logger/AdvancedConsoleLogger.js +1 -1
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/logger/DebugLogger.js +1 -1
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.js +1 -1
- package/logger/FileLogger.js.map +1 -1
- package/logger/Logger.js.map +1 -1
- package/logger/LoggerFactory.js.map +1 -1
- package/logger/LoggerOptions.js.map +1 -1
- package/logger/SimpleConsoleLogger.js +1 -1
- package/logger/SimpleConsoleLogger.js.map +1 -1
- package/metadata/CheckMetadata.js.map +1 -1
- package/metadata/ColumnMetadata.js +1 -1
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EmbeddedMetadata.js +1 -1
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/EntityListenerMetadata.js.map +1 -1
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/ExclusionMetadata.js.map +1 -1
- package/metadata/ForeignKeyMetadata.js.map +1 -1
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata/RelationCountMetadata.js.map +1 -1
- package/metadata/RelationIdMetadata.js.map +1 -1
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata/types/ClosureTreeOptions.js.map +1 -1
- package/metadata/types/DeferrableType.js.map +1 -1
- package/metadata/types/EventListenerTypes.js.map +1 -1
- package/metadata/types/OnDeleteType.js.map +1 -1
- package/metadata/types/OnUpdateType.js.map +1 -1
- package/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/metadata/types/RelationTypes.js.map +1 -1
- package/metadata/types/TableTypes.js.map +1 -1
- package/metadata/types/TreeTypes.js.map +1 -1
- package/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/metadata-args/TableMetadataArgs.js.map +1 -1
- package/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/metadata-args/types/ColumnMode.js.map +1 -1
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/MetadataUtils.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/Migration.js.map +1 -1
- package/migration/MigrationExecutor.js +2 -2
- package/migration/MigrationExecutor.js.map +1 -1
- package/migration/MigrationInterface.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
- package/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/package.json +1 -260
- package/persistence/EntityPersistExecutor.js +2 -2
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectChangeMap.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.js +1 -1
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopologicalSorter.js +5 -5
- package/persistence/SubjectTopologicalSorter.js.map +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.js +2 -2
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/Brackets.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertOrUpdateOptions.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.js +2 -2
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/JoinOptions.js.map +1 -1
- package/query-builder/NotBrackets.js.map +1 -1
- package/query-builder/QueryBuilder.js +2 -2
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilderCte.js.map +1 -1
- package/query-builder/QueryBuilderUtils.js.map +1 -1
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/QueryPartialEntity.js.map +1 -1
- package/query-builder/RelationIdLoader.js +5 -4
- package/query-builder/RelationIdLoader.js.map +1 -1
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.js.map +1 -1
- package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/query-builder/SelectQuery.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +27 -14
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +3 -3
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/WhereClause.js.map +1 -1
- package/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/query-builder/index.js.map +1 -1
- package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/result/DeleteResult.js.map +1 -1
- package/query-builder/result/InsertResult.js.map +1 -1
- package/query-builder/result/UpdateResult.js.map +1 -1
- package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +2 -2
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryLock.js.map +1 -1
- package/query-runner/QueryResult.js.map +1 -1
- package/query-runner/QueryRunner.js.map +1 -1
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.js.map +1 -1
- package/repository/EntityId.js.map +1 -1
- package/repository/FindTreesOptions.js.map +1 -1
- package/repository/MongoRepository.js.map +1 -1
- package/repository/RemoveOptions.js.map +1 -1
- package/repository/Repository.js.map +1 -1
- package/repository/SaveOptions.js.map +1 -1
- package/repository/TreeRepository.js.map +1 -1
- package/repository/UpsertOptions.js.map +1 -1
- package/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/SchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/schema-builder/options/TableOptions.js.map +1 -1
- package/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/schema-builder/options/ViewOptions.js.map +1 -1
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableCheck.js.map +1 -1
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableExclusion.js.map +1 -1
- package/schema-builder/table/TableForeignKey.js.map +1 -1
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/TableUtils.js.map +1 -1
- package/schema-builder/util/ViewUtils.js.map +1 -1
- package/schema-builder/view/View.js.map +1 -1
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/InsertEvent.js.map +1 -1
- package/subscriber/event/LoadEvent.js.map +1 -1
- package/subscriber/event/QueryEvent.js.map +1 -1
- package/subscriber/event/RecoverEvent.js.map +1 -1
- package/subscriber/event/RemoveEvent.js.map +1 -1
- package/subscriber/event/SoftRemoveEvent.js.map +1 -1
- package/subscriber/event/TransactionCommitEvent.js.map +1 -1
- package/subscriber/event/TransactionRollbackEvent.js.map +1 -1
- package/subscriber/event/TransactionStartEvent.js.map +1 -1
- package/subscriber/event/UpdateEvent.js.map +1 -1
- package/typeorm-class-transformer-shim.js +271 -271
- package/typeorm-model-shim.js +298 -295
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.js +13 -13
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.js +2 -2
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ImportUtils.js.map +1 -1
- package/util/InstanceChecker.js.map +1 -1
- package/util/ObjectUtils.d.ts +2 -2
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.js +4 -4
- package/util/OrmUtils.js.map +1 -1
- package/util/PathUtils.js.map +1 -1
- package/util/RandomGenerator.js +6 -6
- package/util/RandomGenerator.js.map +1 -1
- package/util/StringUtils.js.map +1 -1
- package/util/TreeRepositoryUtils.js.map +1 -1
- package/util/VersionUtils.js.map +1 -1
- package/util/escapeRegExp.d.ts +1 -1
- package/util/escapeRegExp.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/persistence/tree/NestedSetSubjectExecutor.ts"],"names":[],"mappings":"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","file":"NestedSetSubjectExecutor.js","sourcesContent":["import { Subject } from \"../Subject\"\r\nimport { QueryRunner } from \"../../query-runner/QueryRunner\"\r\nimport { OrmUtils } from \"../../util/OrmUtils\"\r\nimport { NestedSetMultipleRootError } from \"../../error/NestedSetMultipleRootError\"\r\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\r\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\r\n\r\nclass NestedSetIds {\r\n left: number\r\n right: number\r\n}\r\n\r\n/**\r\n * Executes subject operations for nested set tree entities.\r\n */\r\nexport class NestedSetSubjectExecutor {\r\n // -------------------------------------------------------------------------\r\n // Constructor\r\n // -------------------------------------------------------------------------\r\n\r\n constructor(protected queryRunner: QueryRunner) {}\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Executes operations when subject is being inserted.\r\n */\r\n async insert(subject: Subject): Promise<void> {\r\n const escape = (alias: string) =>\r\n this.queryRunner.connection.driver.escape(alias)\r\n const tableName = this.getTableName(subject.metadata.tablePath)\r\n const leftColumnName = escape(\r\n subject.metadata.nestedSetLeftColumn!.databaseName,\r\n )\r\n const rightColumnName = escape(\r\n subject.metadata.nestedSetRightColumn!.databaseName,\r\n )\r\n\r\n let parent = subject.metadata.treeParentRelation!.getEntityValue(\r\n subject.entity!,\r\n ) // if entity was attached via parent\r\n if (!parent && subject.parentSubject && subject.parentSubject.entity)\r\n // if entity was attached via children\r\n parent = subject.parentSubject.insertedValueSet\r\n ? subject.parentSubject.insertedValueSet\r\n : subject.parentSubject.entity\r\n const parentId = subject.metadata.getEntityIdMap(parent)\r\n\r\n let parentNsRight: number | undefined = undefined\r\n if (parentId) {\r\n parentNsRight = await this.queryRunner.manager\r\n .createQueryBuilder()\r\n .select(\r\n subject.metadata.targetName +\r\n \".\" +\r\n subject.metadata.nestedSetRightColumn!.propertyPath,\r\n \"right\",\r\n )\r\n .from(subject.metadata.target, subject.metadata.targetName)\r\n .whereInIds(parentId)\r\n .getRawOne()\r\n .then((result) => {\r\n const value: any = result ? result[\"right\"] : undefined\r\n // CockroachDB returns numeric types as string\r\n return typeof value === \"string\" ? parseInt(value) : value\r\n })\r\n }\r\n\r\n if (parentNsRight !== undefined) {\r\n await this.queryRunner.query(\r\n `UPDATE ${tableName} SET ` +\r\n `${leftColumnName} = CASE WHEN ${leftColumnName} > ${parentNsRight} THEN ${leftColumnName} + 2 ELSE ${leftColumnName} END,` +\r\n `${rightColumnName} = ${rightColumnName} + 2 ` +\r\n `WHERE ${rightColumnName} >= ${parentNsRight}`,\r\n )\r\n\r\n OrmUtils.mergeDeep(\r\n subject.insertedValueSet,\r\n subject.metadata.nestedSetLeftColumn!.createValueMap(\r\n parentNsRight,\r\n ),\r\n subject.metadata.nestedSetRightColumn!.createValueMap(\r\n parentNsRight + 1,\r\n ),\r\n )\r\n } else {\r\n const isUniqueRoot = await this.isUniqueRootEntity(subject, parent)\r\n\r\n // Validate if a root entity already exits and throw an exception\r\n if (!isUniqueRoot) throw new NestedSetMultipleRootError()\r\n\r\n OrmUtils.mergeDeep(\r\n subject.insertedValueSet,\r\n subject.metadata.nestedSetLeftColumn!.createValueMap(1),\r\n subject.metadata.nestedSetRightColumn!.createValueMap(2),\r\n )\r\n }\r\n }\r\n\r\n /**\r\n * Executes operations when subject is being updated.\r\n */\r\n async update(subject: Subject): Promise<void> {\r\n let parent = subject.metadata.treeParentRelation!.getEntityValue(\r\n subject.entity!,\r\n ) // if entity was attached via parent\r\n if (!parent && subject.parentSubject && subject.parentSubject.entity)\r\n // if entity was attached via children\r\n parent = subject.parentSubject.entity\r\n\r\n let entity = subject.databaseEntity // if entity was attached via parent\r\n if (!entity && parent)\r\n // if entity was attached via children\r\n entity = subject.metadata\r\n .treeChildrenRelation!.getEntityValue(parent)\r\n .find((child: any) => {\r\n return Object.entries(subject.identifier!).every(\r\n ([key, value]) => child[key] === value,\r\n )\r\n })\r\n\r\n // Exit if the parent or the entity where never set\r\n if (entity === undefined || parent === undefined) {\r\n return\r\n }\r\n\r\n const oldParent = subject.metadata.treeParentRelation!.getEntityValue(\r\n entity!,\r\n )\r\n const oldParentId = subject.metadata.getEntityIdMap(oldParent)\r\n const parentId = subject.metadata.getEntityIdMap(parent)\r\n\r\n // Exit if the new and old parents are the same\r\n if (OrmUtils.compareIds(oldParentId, parentId)) {\r\n return\r\n }\r\n\r\n if (parent) {\r\n const escape = (alias: string) =>\r\n this.queryRunner.connection.driver.escape(alias)\r\n const tableName = this.getTableName(subject.metadata.tablePath)\r\n const leftColumnName = escape(\r\n subject.metadata.nestedSetLeftColumn!.databaseName,\r\n )\r\n const rightColumnName = escape(\r\n subject.metadata.nestedSetRightColumn!.databaseName,\r\n )\r\n\r\n const entityId = subject.metadata.getEntityIdMap(entity)\r\n\r\n let entityNs: NestedSetIds | undefined = undefined\r\n if (entityId) {\r\n entityNs = (\r\n await this.getNestedSetIds(subject.metadata, entityId)\r\n )[0]\r\n }\r\n\r\n let parentNs: NestedSetIds | undefined = undefined\r\n if (parentId) {\r\n parentNs = (\r\n await this.getNestedSetIds(subject.metadata, parentId)\r\n )[0]\r\n }\r\n\r\n if (entityNs !== undefined && parentNs !== undefined) {\r\n const isMovingUp = parentNs.left > entityNs.left\r\n const treeSize = entityNs.right - entityNs.left + 1\r\n\r\n let entitySize: number\r\n if (isMovingUp) {\r\n entitySize = parentNs.left - entityNs.right\r\n } else {\r\n entitySize = parentNs.right - entityNs.left\r\n }\r\n\r\n // Moved entity logic\r\n const updateLeftSide =\r\n `WHEN ${leftColumnName} >= ${entityNs.left} AND ` +\r\n `${leftColumnName} < ${entityNs.right} ` +\r\n `THEN ${leftColumnName} + ${entitySize} `\r\n\r\n const updateRightSide =\r\n `WHEN ${rightColumnName} > ${entityNs.left} AND ` +\r\n `${rightColumnName} <= ${entityNs.right} ` +\r\n `THEN ${rightColumnName} + ${entitySize} `\r\n\r\n // Update the surrounding entities\r\n if (isMovingUp) {\r\n await this.queryRunner.query(\r\n `UPDATE ${tableName} ` +\r\n `SET ${leftColumnName} = CASE ` +\r\n `WHEN ${leftColumnName} > ${entityNs.right} AND ` +\r\n `${leftColumnName} <= ${parentNs.left} ` +\r\n `THEN ${leftColumnName} - ${treeSize} ` +\r\n updateLeftSide +\r\n `ELSE ${leftColumnName} ` +\r\n `END, ` +\r\n `${rightColumnName} = CASE ` +\r\n `WHEN ${rightColumnName} > ${entityNs.right} AND ` +\r\n `${rightColumnName} < ${parentNs.left} ` +\r\n `THEN ${rightColumnName} - ${treeSize} ` +\r\n updateRightSide +\r\n `ELSE ${rightColumnName} ` +\r\n `END`,\r\n )\r\n } else {\r\n await this.queryRunner.query(\r\n `UPDATE ${tableName} ` +\r\n `SET ${leftColumnName} = CASE ` +\r\n `WHEN ${leftColumnName} < ${entityNs.left} AND ` +\r\n `${leftColumnName} > ${parentNs.right} ` +\r\n `THEN ${leftColumnName} + ${treeSize} ` +\r\n updateLeftSide +\r\n `ELSE ${leftColumnName} ` +\r\n `END, ` +\r\n `${rightColumnName} = CASE ` +\r\n `WHEN ${rightColumnName} < ${entityNs.left} AND ` +\r\n `${rightColumnName} >= ${parentNs.right} ` +\r\n `THEN ${rightColumnName} + ${treeSize} ` +\r\n updateRightSide +\r\n `ELSE ${rightColumnName} ` +\r\n `END`,\r\n )\r\n }\r\n }\r\n } else {\r\n const isUniqueRoot = await this.isUniqueRootEntity(subject, parent)\r\n\r\n // Validate if a root entity already exits and throw an exception\r\n if (!isUniqueRoot) throw new NestedSetMultipleRootError()\r\n }\r\n }\r\n\r\n /**\r\n * Executes operations when subject is being removed.\r\n */\r\n async remove(subjects: Subject | Subject[]): Promise<void> {\r\n if (!Array.isArray(subjects)) subjects = [subjects]\r\n\r\n const metadata = subjects[0].metadata\r\n\r\n const escape = (alias: string) =>\r\n this.queryRunner.connection.driver.escape(alias)\r\n const tableName = this.getTableName(metadata.tablePath)\r\n const leftColumnName = escape(\r\n metadata.nestedSetLeftColumn!.databaseName,\r\n )\r\n const rightColumnName = escape(\r\n metadata.nestedSetRightColumn!.databaseName,\r\n )\r\n\r\n let entitiesIds: ObjectLiteral[] = []\r\n for (const subject of subjects) {\r\n const entityId = metadata.getEntityIdMap(subject.entity)\r\n\r\n if (entityId) {\r\n entitiesIds.push(entityId)\r\n }\r\n }\r\n\r\n let entitiesNs = await this.getNestedSetIds(metadata, entitiesIds)\r\n\r\n for (const entity of entitiesNs) {\r\n const treeSize = entity.right - entity.left + 1\r\n\r\n await this.queryRunner.query(\r\n `UPDATE ${tableName} ` +\r\n `SET ${leftColumnName} = CASE ` +\r\n `WHEN ${leftColumnName} > ${entity.left} THEN ${leftColumnName} - ${treeSize} ` +\r\n `ELSE ${leftColumnName} ` +\r\n `END, ` +\r\n `${rightColumnName} = CASE ` +\r\n `WHEN ${rightColumnName} > ${entity.right} THEN ${rightColumnName} - ${treeSize} ` +\r\n `ELSE ${rightColumnName} ` +\r\n `END`,\r\n )\r\n }\r\n }\r\n\r\n /**\r\n * Get the nested set ids for a given entity\r\n */\r\n protected getNestedSetIds(\r\n metadata: EntityMetadata,\r\n ids: ObjectLiteral | ObjectLiteral[],\r\n ): Promise<NestedSetIds[]> {\r\n const select = {\r\n left: `${metadata.targetName}.${\r\n metadata.nestedSetLeftColumn!.propertyPath\r\n }`,\r\n right: `${metadata.targetName}.${\r\n metadata.nestedSetRightColumn!.propertyPath\r\n }`,\r\n }\r\n\r\n const queryBuilder = this.queryRunner.manager.createQueryBuilder()\r\n\r\n Object.entries(select).forEach(([key, value]) => {\r\n queryBuilder.addSelect(value, key)\r\n })\r\n\r\n return queryBuilder\r\n .from(metadata.target, metadata.targetName)\r\n .whereInIds(ids)\r\n .orderBy(select.right, \"DESC\")\r\n .getRawMany()\r\n .then((results) => {\r\n const data: NestedSetIds[] = []\r\n\r\n for (const result of results) {\r\n const entry: any = {}\r\n for (const key of Object.keys(select)) {\r\n const value = result ? result[key] : undefined\r\n\r\n // CockroachDB returns numeric types as string\r\n entry[key] =\r\n typeof value === \"string\" ? parseInt(value) : value\r\n }\r\n data.push(entry)\r\n }\r\n\r\n return data\r\n })\r\n }\r\n\r\n private async isUniqueRootEntity(\r\n subject: Subject,\r\n parent: any,\r\n ): Promise<boolean> {\r\n const escape = (alias: string) =>\r\n this.queryRunner.connection.driver.escape(alias)\r\n const tableName = this.getTableName(subject.metadata.tablePath)\r\n const parameters: any[] = []\r\n const whereCondition = subject.metadata\r\n .treeParentRelation!.joinColumns.map((column) => {\r\n const columnName = escape(column.databaseName)\r\n const parameter = column.getEntityValue(parent)\r\n\r\n if (parameter == null) {\r\n return `${columnName} IS NULL`\r\n }\r\n\r\n parameters.push(parameter)\r\n const parameterName =\r\n this.queryRunner.connection.driver.createParameter(\r\n \"entity_\" + column.databaseName,\r\n parameters.length - 1,\r\n )\r\n return `${columnName} = ${parameterName}`\r\n })\r\n .join(\" AND \")\r\n\r\n const countAlias = \"count\"\r\n const result = await this.queryRunner.query(\r\n `SELECT COUNT(1) AS ${escape(\r\n countAlias,\r\n )} FROM ${tableName} WHERE ${whereCondition}`,\r\n parameters,\r\n true,\r\n )\r\n\r\n return parseInt(result.records[0][countAlias]) === 0\r\n }\r\n\r\n /**\r\n * Gets escaped table name with schema name if SqlServer or Postgres driver used with custom\r\n * schema name, otherwise returns escaped table name.\r\n */\r\n protected getTableName(tablePath: string): string {\r\n return tablePath\r\n .split(\".\")\r\n .map((i) => {\r\n // this condition need because in SQL Server driver when custom database name was specified and schema name was not, we got `dbName..tableName` string, and doesn't need to escape middle empty string\r\n return i === \"\"\r\n ? i\r\n : this.queryRunner.connection.driver.escape(i)\r\n })\r\n .join(\".\")\r\n }\r\n}\r\n"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../../src/persistence/tree/NestedSetSubjectExecutor.ts"],"names":[],"mappings":"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","file":"NestedSetSubjectExecutor.js","sourcesContent":["import { Subject } from \"../Subject\"\nimport { QueryRunner } from \"../../query-runner/QueryRunner\"\nimport { OrmUtils } from \"../../util/OrmUtils\"\nimport { NestedSetMultipleRootError } from \"../../error/NestedSetMultipleRootError\"\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\n\nclass NestedSetIds {\n left: number\n right: number\n}\n\n/**\n * Executes subject operations for nested set tree entities.\n */\nexport class NestedSetSubjectExecutor {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected queryRunner: QueryRunner) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Executes operations when subject is being inserted.\n */\n async insert(subject: Subject): Promise<void> {\n const escape = (alias: string) =>\n this.queryRunner.connection.driver.escape(alias)\n const tableName = this.getTableName(subject.metadata.tablePath)\n const leftColumnName = escape(\n subject.metadata.nestedSetLeftColumn!.databaseName,\n )\n const rightColumnName = escape(\n subject.metadata.nestedSetRightColumn!.databaseName,\n )\n\n let parent = subject.metadata.treeParentRelation!.getEntityValue(\n subject.entity!,\n ) // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity)\n // if entity was attached via children\n parent = subject.parentSubject.insertedValueSet\n ? subject.parentSubject.insertedValueSet\n : subject.parentSubject.entity\n const parentId = subject.metadata.getEntityIdMap(parent)\n\n let parentNsRight: number | undefined = undefined\n if (parentId) {\n parentNsRight = await this.queryRunner.manager\n .createQueryBuilder()\n .select(\n subject.metadata.targetName +\n \".\" +\n subject.metadata.nestedSetRightColumn!.propertyPath,\n \"right\",\n )\n .from(subject.metadata.target, subject.metadata.targetName)\n .whereInIds(parentId)\n .getRawOne()\n .then((result) => {\n const value: any = result ? result[\"right\"] : undefined\n // CockroachDB returns numeric types as string\n return typeof value === \"string\" ? parseInt(value) : value\n })\n }\n\n if (parentNsRight !== undefined) {\n await this.queryRunner.query(\n `UPDATE ${tableName} SET ` +\n `${leftColumnName} = CASE WHEN ${leftColumnName} > ${parentNsRight} THEN ${leftColumnName} + 2 ELSE ${leftColumnName} END,` +\n `${rightColumnName} = ${rightColumnName} + 2 ` +\n `WHERE ${rightColumnName} >= ${parentNsRight}`,\n )\n\n OrmUtils.mergeDeep(\n subject.insertedValueSet,\n subject.metadata.nestedSetLeftColumn!.createValueMap(\n parentNsRight,\n ),\n subject.metadata.nestedSetRightColumn!.createValueMap(\n parentNsRight + 1,\n ),\n )\n } else {\n const isUniqueRoot = await this.isUniqueRootEntity(subject, parent)\n\n // Validate if a root entity already exits and throw an exception\n if (!isUniqueRoot) throw new NestedSetMultipleRootError()\n\n OrmUtils.mergeDeep(\n subject.insertedValueSet,\n subject.metadata.nestedSetLeftColumn!.createValueMap(1),\n subject.metadata.nestedSetRightColumn!.createValueMap(2),\n )\n }\n }\n\n /**\n * Executes operations when subject is being updated.\n */\n async update(subject: Subject): Promise<void> {\n let parent = subject.metadata.treeParentRelation!.getEntityValue(\n subject.entity!,\n ) // if entity was attached via parent\n if (!parent && subject.parentSubject && subject.parentSubject.entity)\n // if entity was attached via children\n parent = subject.parentSubject.entity\n\n let entity = subject.databaseEntity // if entity was attached via parent\n if (!entity && parent)\n // if entity was attached via children\n entity = subject.metadata\n .treeChildrenRelation!.getEntityValue(parent)\n .find((child: any) => {\n return Object.entries(subject.identifier!).every(\n ([key, value]) => child[key] === value,\n )\n })\n\n // Exit if the parent or the entity where never set\n if (entity === undefined || parent === undefined) {\n return\n }\n\n const oldParent = subject.metadata.treeParentRelation!.getEntityValue(\n entity!,\n )\n const oldParentId = subject.metadata.getEntityIdMap(oldParent)\n const parentId = subject.metadata.getEntityIdMap(parent)\n\n // Exit if the new and old parents are the same\n if (OrmUtils.compareIds(oldParentId, parentId)) {\n return\n }\n\n if (parent) {\n const escape = (alias: string) =>\n this.queryRunner.connection.driver.escape(alias)\n const tableName = this.getTableName(subject.metadata.tablePath)\n const leftColumnName = escape(\n subject.metadata.nestedSetLeftColumn!.databaseName,\n )\n const rightColumnName = escape(\n subject.metadata.nestedSetRightColumn!.databaseName,\n )\n\n const entityId = subject.metadata.getEntityIdMap(entity)\n\n let entityNs: NestedSetIds | undefined = undefined\n if (entityId) {\n entityNs = (\n await this.getNestedSetIds(subject.metadata, entityId)\n )[0]\n }\n\n let parentNs: NestedSetIds | undefined = undefined\n if (parentId) {\n parentNs = (\n await this.getNestedSetIds(subject.metadata, parentId)\n )[0]\n }\n\n if (entityNs !== undefined && parentNs !== undefined) {\n const isMovingUp = parentNs.left > entityNs.left\n const treeSize = entityNs.right - entityNs.left + 1\n\n let entitySize: number\n if (isMovingUp) {\n entitySize = parentNs.left - entityNs.right\n } else {\n entitySize = parentNs.right - entityNs.left\n }\n\n // Moved entity logic\n const updateLeftSide =\n `WHEN ${leftColumnName} >= ${entityNs.left} AND ` +\n `${leftColumnName} < ${entityNs.right} ` +\n `THEN ${leftColumnName} + ${entitySize} `\n\n const updateRightSide =\n `WHEN ${rightColumnName} > ${entityNs.left} AND ` +\n `${rightColumnName} <= ${entityNs.right} ` +\n `THEN ${rightColumnName} + ${entitySize} `\n\n // Update the surrounding entities\n if (isMovingUp) {\n await this.queryRunner.query(\n `UPDATE ${tableName} ` +\n `SET ${leftColumnName} = CASE ` +\n `WHEN ${leftColumnName} > ${entityNs.right} AND ` +\n `${leftColumnName} <= ${parentNs.left} ` +\n `THEN ${leftColumnName} - ${treeSize} ` +\n updateLeftSide +\n `ELSE ${leftColumnName} ` +\n `END, ` +\n `${rightColumnName} = CASE ` +\n `WHEN ${rightColumnName} > ${entityNs.right} AND ` +\n `${rightColumnName} < ${parentNs.left} ` +\n `THEN ${rightColumnName} - ${treeSize} ` +\n updateRightSide +\n `ELSE ${rightColumnName} ` +\n `END`,\n )\n } else {\n await this.queryRunner.query(\n `UPDATE ${tableName} ` +\n `SET ${leftColumnName} = CASE ` +\n `WHEN ${leftColumnName} < ${entityNs.left} AND ` +\n `${leftColumnName} > ${parentNs.right} ` +\n `THEN ${leftColumnName} + ${treeSize} ` +\n updateLeftSide +\n `ELSE ${leftColumnName} ` +\n `END, ` +\n `${rightColumnName} = CASE ` +\n `WHEN ${rightColumnName} < ${entityNs.left} AND ` +\n `${rightColumnName} >= ${parentNs.right} ` +\n `THEN ${rightColumnName} + ${treeSize} ` +\n updateRightSide +\n `ELSE ${rightColumnName} ` +\n `END`,\n )\n }\n }\n } else {\n const isUniqueRoot = await this.isUniqueRootEntity(subject, parent)\n\n // Validate if a root entity already exits and throw an exception\n if (!isUniqueRoot) throw new NestedSetMultipleRootError()\n }\n }\n\n /**\n * Executes operations when subject is being removed.\n */\n async remove(subjects: Subject | Subject[]): Promise<void> {\n if (!Array.isArray(subjects)) subjects = [subjects]\n\n const metadata = subjects[0].metadata\n\n const escape = (alias: string) =>\n this.queryRunner.connection.driver.escape(alias)\n const tableName = this.getTableName(metadata.tablePath)\n const leftColumnName = escape(\n metadata.nestedSetLeftColumn!.databaseName,\n )\n const rightColumnName = escape(\n metadata.nestedSetRightColumn!.databaseName,\n )\n\n const entitiesIds: ObjectLiteral[] = []\n for (const subject of subjects) {\n const entityId = metadata.getEntityIdMap(subject.entity)\n\n if (entityId) {\n entitiesIds.push(entityId)\n }\n }\n\n const entitiesNs = await this.getNestedSetIds(metadata, entitiesIds)\n\n for (const entity of entitiesNs) {\n const treeSize = entity.right - entity.left + 1\n\n await this.queryRunner.query(\n `UPDATE ${tableName} ` +\n `SET ${leftColumnName} = CASE ` +\n `WHEN ${leftColumnName} > ${entity.left} THEN ${leftColumnName} - ${treeSize} ` +\n `ELSE ${leftColumnName} ` +\n `END, ` +\n `${rightColumnName} = CASE ` +\n `WHEN ${rightColumnName} > ${entity.right} THEN ${rightColumnName} - ${treeSize} ` +\n `ELSE ${rightColumnName} ` +\n `END`,\n )\n }\n }\n\n /**\n * Get the nested set ids for a given entity\n */\n protected getNestedSetIds(\n metadata: EntityMetadata,\n ids: ObjectLiteral | ObjectLiteral[],\n ): Promise<NestedSetIds[]> {\n const select = {\n left: `${metadata.targetName}.${\n metadata.nestedSetLeftColumn!.propertyPath\n }`,\n right: `${metadata.targetName}.${\n metadata.nestedSetRightColumn!.propertyPath\n }`,\n }\n\n const queryBuilder = this.queryRunner.manager.createQueryBuilder()\n\n Object.entries(select).forEach(([key, value]) => {\n queryBuilder.addSelect(value, key)\n })\n\n return queryBuilder\n .from(metadata.target, metadata.targetName)\n .whereInIds(ids)\n .orderBy(select.right, \"DESC\")\n .getRawMany()\n .then((results) => {\n const data: NestedSetIds[] = []\n\n for (const result of results) {\n const entry: any = {}\n for (const key of Object.keys(select)) {\n const value = result ? result[key] : undefined\n\n // CockroachDB returns numeric types as string\n entry[key] =\n typeof value === \"string\" ? parseInt(value) : value\n }\n data.push(entry)\n }\n\n return data\n })\n }\n\n private async isUniqueRootEntity(\n subject: Subject,\n parent: any,\n ): Promise<boolean> {\n const escape = (alias: string) =>\n this.queryRunner.connection.driver.escape(alias)\n const tableName = this.getTableName(subject.metadata.tablePath)\n const parameters: any[] = []\n const whereCondition = subject.metadata\n .treeParentRelation!.joinColumns.map((column) => {\n const columnName = escape(column.databaseName)\n const parameter = column.getEntityValue(parent)\n\n if (parameter == null) {\n return `${columnName} IS NULL`\n }\n\n parameters.push(parameter)\n const parameterName =\n this.queryRunner.connection.driver.createParameter(\n \"entity_\" + column.databaseName,\n parameters.length - 1,\n )\n return `${columnName} = ${parameterName}`\n })\n .join(\" AND \")\n\n const countAlias = \"count\"\n const result = await this.queryRunner.query(\n `SELECT COUNT(1) AS ${escape(\n countAlias,\n )} FROM ${tableName} WHERE ${whereCondition}`,\n parameters,\n true,\n )\n\n return parseInt(result.records[0][countAlias]) === 0\n }\n\n /**\n * Gets escaped table name with schema name if SqlServer or Postgres driver used with custom\n * schema name, otherwise returns escaped table name.\n */\n protected getTableName(tablePath: string): string {\n return tablePath\n .split(\".\")\n .map((i) => {\n // this condition need because in SQL Server driver when custom database name was specified and schema name was not, we got `dbName..tableName` string, and doesn't need to escape middle empty string\n return i === \"\"\n ? i\n : this.queryRunner.connection.driver.escape(i)\n })\n .join(\".\")\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/platform/PlatformTools.ts"],"names":[],"mappings":"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","file":"PlatformTools.js","sourcesContent":["import ansi from \"ansis\"\r\nimport dotenv from \"dotenv\"\r\nimport fs from \"fs\"\r\nimport path from \"path\"\r\nimport { highlight } from \"sql-highlight\"\r\n\r\nexport { EventEmitter } from \"events\"\r\nexport { ReadStream } from \"fs\"\r\nexport { Readable, Writable } from \"stream\"\r\n\r\n/**\r\n * Platform-specific tools.\r\n */\r\nexport class PlatformTools {\r\n /**\r\n * Type of the currently running platform.\r\n */\r\n static type: \"browser\" | \"node\" = \"node\"\r\n\r\n /**\r\n * Gets global variable where global stuff can be stored.\r\n */\r\n static getGlobalVariable(): any {\r\n return global\r\n }\r\n\r\n /**\r\n * Loads (\"require\"-s) given file or package.\r\n * This operation only supports on node platform\r\n */\r\n static load(name: string): any {\r\n // if name is not absolute or relative, then try to load package from the node_modules of the directory we are currently in\r\n // this is useful when we are using typeorm package globally installed and it accesses drivers\r\n // that are not installed globally\r\n\r\n try {\r\n // switch case to explicit require statements for webpack compatibility.\r\n switch (name) {\r\n /**\r\n * spanner\r\n */\r\n case \"spanner\":\r\n return require(\"@google-cloud/spanner\")\r\n\r\n /**\r\n * mongodb\r\n */\r\n case \"mongodb\":\r\n return require(\"mongodb\")\r\n\r\n /**\r\n * hana\r\n */\r\n case \"@sap/hana-client\":\r\n return require(\"@sap/hana-client\")\r\n\r\n case \"@sap/hana-client/extension/Stream\":\r\n return require(\"@sap/hana-client/extension/Stream\")\r\n\r\n case \"hdb-pool\":\r\n return require(\"hdb-pool\")\r\n\r\n /**\r\n * mysql\r\n */\r\n case \"mysql\":\r\n return require(\"mysql\")\r\n\r\n case \"mysql2\":\r\n return require(\"mysql2\")\r\n\r\n /**\r\n * oracle\r\n */\r\n case \"oracledb\":\r\n return require(\"oracledb\")\r\n\r\n /**\r\n * postgres\r\n */\r\n case \"pg\":\r\n return require(\"pg\")\r\n\r\n case \"pg-native\":\r\n return require(\"pg-native\")\r\n\r\n case \"pg-query-stream\":\r\n return require(\"pg-query-stream\")\r\n\r\n case \"typeorm-aurora-data-api-driver\":\r\n return require(\"typeorm-aurora-data-api-driver\")\r\n\r\n /**\r\n * redis\r\n */\r\n case \"redis\":\r\n return require(\"redis\")\r\n\r\n case \"ioredis\":\r\n return require(\"ioredis\")\r\n\r\n /**\r\n * better-sqlite3\r\n */\r\n case \"better-sqlite3\":\r\n return require(\"better-sqlite3\")\r\n\r\n /**\r\n * sqlite\r\n */\r\n case \"sqlite3\":\r\n return require(\"sqlite3\")\r\n\r\n /**\r\n * sql.js\r\n */\r\n case \"sql.js\":\r\n return require(\"sql.js\")\r\n\r\n /**\r\n * sqlserver\r\n */\r\n case \"mssql\":\r\n return require(\"mssql\")\r\n\r\n /**\r\n * react-native-sqlite\r\n */\r\n case \"react-native-sqlite-storage\":\r\n return require(\"react-native-sqlite-storage\")\r\n }\r\n } catch (err) {\r\n return require(path.resolve(\r\n process.cwd() + \"/node_modules/\" + name,\r\n ))\r\n }\r\n\r\n // If nothing above matched and we get here, the package was not listed within PlatformTools\r\n // and is an Invalid Package. To make it explicit that this is NOT the intended use case for\r\n // PlatformTools.load - it's not just a way to replace `require` all willy-nilly - let's throw\r\n // an error.\r\n throw new TypeError(`Invalid Package for PlatformTools.load: ${name}`)\r\n }\r\n\r\n /**\r\n * Normalizes given path. Does \"path.normalize\" and replaces backslashes with forward slashes on Windows.\r\n */\r\n static pathNormalize(pathStr: string): string {\r\n let normalizedPath = path.normalize(pathStr)\r\n if (process.platform === \"win32\")\r\n normalizedPath = normalizedPath.replace(/\\\\/g, \"/\")\r\n return normalizedPath\r\n }\r\n\r\n /**\r\n * Gets file extension. Does \"path.extname\".\r\n */\r\n static pathExtname(pathStr: string): string {\r\n return path.extname(pathStr)\r\n }\r\n\r\n /**\r\n * Resolved given path. Does \"path.resolve\".\r\n */\r\n static pathResolve(pathStr: string): string {\r\n return path.resolve(pathStr)\r\n }\r\n\r\n /**\r\n * Synchronously checks if file exist. Does \"fs.existsSync\".\r\n */\r\n static fileExist(pathStr: string): boolean {\r\n return fs.existsSync(pathStr)\r\n }\r\n\r\n static readFileSync(filename: string): Buffer {\r\n return fs.readFileSync(filename)\r\n }\r\n\r\n static appendFileSync(filename: string, data: any): void {\r\n fs.appendFileSync(filename, data)\r\n }\r\n\r\n static async writeFile(path: string, data: any): Promise<void> {\r\n return fs.promises.writeFile(path, data)\r\n }\r\n\r\n /**\r\n * Loads a dotenv file into the environment variables.\r\n *\r\n * @param path The file to load as a dotenv configuration\r\n */\r\n static dotenv(pathStr: string): void {\r\n dotenv.config({ path: pathStr })\r\n }\r\n\r\n /**\r\n * Gets environment variable.\r\n */\r\n static getEnvVariable(name: string): any {\r\n return process.env[name]\r\n }\r\n\r\n /**\r\n * Highlights sql string to be printed in the console.\r\n */\r\n static highlightSql(sql: string) {\r\n return highlight(sql, {\r\n colors: {\r\n keyword: ansi.blueBright.open,\r\n function: ansi.magentaBright.open,\r\n number: ansi.green.open,\r\n string: ansi.white.open,\r\n identifier: ansi.white.open,\r\n special: ansi.white.open,\r\n bracket: ansi.white.open,\r\n comment: ansi.gray.open,\r\n clear: ansi.reset.open,\r\n },\r\n })\r\n }\r\n\r\n /**\r\n * Logging functions needed by AdvancedConsoleLogger\r\n */\r\n static logInfo(prefix: string, info: any) {\r\n console.log(ansi.gray.underline(prefix), info)\r\n }\r\n\r\n static logError(prefix: string, error: any) {\r\n console.log(ansi.underline.red(prefix), error)\r\n }\r\n\r\n static logWarn(prefix: string, warning: any) {\r\n console.log(ansi.underline.yellow(prefix), warning)\r\n }\r\n\r\n static log(message: string) {\r\n console.log(ansi.underline(message))\r\n }\r\n\r\n static info(info: any) {\r\n return ansi.gray(info)\r\n }\r\n\r\n static error(error: any) {\r\n return ansi.red(error)\r\n }\r\n\r\n static warn(message: string) {\r\n return ansi.yellow(message)\r\n }\r\n\r\n static logCmdErr(prefix: string, err?: any) {\r\n console.log(ansi.black.bgRed(prefix))\r\n if (err) console.error(err)\r\n }\r\n}\r\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/platform/PlatformTools.ts"],"names":[],"mappings":";;;;AAAA,0DAAwB;AACxB,4DAA2B;AAC3B,oDAAmB;AACnB,wDAAuB;AACvB,iDAAyC;AAEzC,iCAAqC;AAA5B,sGAAA,YAAY,OAAA;AACrB,yBAA+B;AAAtB,gGAAA,UAAU,OAAA;AACnB,iCAA2C;AAAlC,kGAAA,QAAQ,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAE3B;;GAEG;AACH,MAAa,aAAa;IAMtB;;OAEG;IACH,MAAM,CAAC,iBAAiB;QACpB,OAAO,MAAM,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,IAAY;QACpB,2HAA2H;QAC3H,8FAA8F;QAC9F,kCAAkC;QAElC,IAAI,CAAC;YACD,wEAAwE;YACxE,QAAQ,IAAI,EAAE,CAAC;gBACX;;mBAEG;gBACH,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,uBAAuB,CAAC,CAAA;gBAE3C;;mBAEG;gBACH,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;gBAE7B;;mBAEG;gBACH,KAAK,kBAAkB;oBACnB,OAAO,OAAO,CAAC,kBAAkB,CAAC,CAAA;gBAEtC,KAAK,mCAAmC;oBACpC,OAAO,OAAO,CAAC,mCAAmC,CAAC,CAAA;gBAEvD,KAAK,UAAU;oBACX,OAAO,OAAO,CAAC,UAAU,CAAC,CAAA;gBAE9B;;mBAEG;gBACH,KAAK,OAAO;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;gBAE3B,KAAK,QAAQ;oBACT,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAE5B;;mBAEG;gBACH,KAAK,UAAU;oBACX,OAAO,OAAO,CAAC,UAAU,CAAC,CAAA;gBAE9B;;mBAEG;gBACH,KAAK,IAAI;oBACL,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;gBAExB,KAAK,WAAW;oBACZ,OAAO,OAAO,CAAC,WAAW,CAAC,CAAA;gBAE/B,KAAK,iBAAiB;oBAClB,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAA;gBAErC,KAAK,gCAAgC;oBACjC,OAAO,OAAO,CAAC,gCAAgC,CAAC,CAAA;gBAEpD;;mBAEG;gBACH,KAAK,OAAO;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;gBAE3B,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;gBAE7B;;mBAEG;gBACH,KAAK,gBAAgB;oBACjB,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBAEpC;;mBAEG;gBACH,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;gBAE7B;;mBAEG;gBACH,KAAK,QAAQ;oBACT,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAE5B;;mBAEG;gBACH,KAAK,OAAO;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;gBAE3B;;mBAEG;gBACH,KAAK,6BAA6B;oBAC9B,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAA;YACrD,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,cAAI,CAAC,OAAO,CACvB,OAAO,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAC1C,CAAC,CAAA;QACN,CAAC;QAED,4FAA4F;QAC5F,6FAA6F;QAC7F,8FAA8F;QAC9F,YAAY;QACZ,MAAM,IAAI,SAAS,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAe;QAChC,IAAI,cAAc,GAAG,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvD,OAAO,cAAc,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe;QAC9B,OAAO,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe;QAC9B,OAAO,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAe;QAC5B,OAAO,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAgB;QAChC,OAAO,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,IAAS;QAC7C,YAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAS;QAC1C,OAAO,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,OAAe;QACzB,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAY;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,GAAW;QAC3B,OAAO,IAAA,yBAAS,EAAC,GAAG,EAAE;YAClB,MAAM,EAAE;gBACJ,OAAO,EAAE,eAAI,CAAC,UAAU,CAAC,IAAI;gBAC7B,QAAQ,EAAE,eAAI,CAAC,aAAa,CAAC,IAAI;gBACjC,MAAM,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBACvB,MAAM,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBACvB,UAAU,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBAC3B,OAAO,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBACxB,OAAO,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;gBACxB,OAAO,EAAE,eAAI,CAAC,IAAI,CAAC,IAAI;gBACvB,KAAK,EAAE,eAAI,CAAC,KAAK,CAAC,IAAI;aACzB;SACJ,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,IAAS;QACpC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,MAAc,EAAE,KAAU;QACtC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,OAAY;QACvC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAe;QACtB,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAS;QACjB,OAAO,eAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAU;QACnB,OAAO,eAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe;QACvB,OAAO,eAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAc,EAAE,GAAS;QACtC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACrC,IAAI,GAAG;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;;AAnPL,sCAoPC;AAnPG;;GAEG;AACI,kBAAI,GAAuB,MAAM,CAAA","file":"PlatformTools.js","sourcesContent":["import ansi from \"ansis\"\nimport dotenv from \"dotenv\"\nimport fs from \"fs\"\nimport path from \"path\"\nimport { highlight } from \"sql-highlight\"\n\nexport { EventEmitter } from \"events\"\nexport { ReadStream } from \"fs\"\nexport { Readable, Writable } from \"stream\"\n\n/**\n * Platform-specific tools.\n */\nexport class PlatformTools {\n /**\n * Type of the currently running platform.\n */\n static type: \"browser\" | \"node\" = \"node\"\n\n /**\n * Gets global variable where global stuff can be stored.\n */\n static getGlobalVariable(): any {\n return global\n }\n\n /**\n * Loads (\"require\"-s) given file or package.\n * This operation only supports on node platform\n */\n static load(name: string): any {\n // if name is not absolute or relative, then try to load package from the node_modules of the directory we are currently in\n // this is useful when we are using typeorm package globally installed and it accesses drivers\n // that are not installed globally\n\n try {\n // switch case to explicit require statements for webpack compatibility.\n switch (name) {\n /**\n * spanner\n */\n case \"spanner\":\n return require(\"@google-cloud/spanner\")\n\n /**\n * mongodb\n */\n case \"mongodb\":\n return require(\"mongodb\")\n\n /**\n * hana\n */\n case \"@sap/hana-client\":\n return require(\"@sap/hana-client\")\n\n case \"@sap/hana-client/extension/Stream\":\n return require(\"@sap/hana-client/extension/Stream\")\n\n case \"hdb-pool\":\n return require(\"hdb-pool\")\n\n /**\n * mysql\n */\n case \"mysql\":\n return require(\"mysql\")\n\n case \"mysql2\":\n return require(\"mysql2\")\n\n /**\n * oracle\n */\n case \"oracledb\":\n return require(\"oracledb\")\n\n /**\n * postgres\n */\n case \"pg\":\n return require(\"pg\")\n\n case \"pg-native\":\n return require(\"pg-native\")\n\n case \"pg-query-stream\":\n return require(\"pg-query-stream\")\n\n case \"typeorm-aurora-data-api-driver\":\n return require(\"typeorm-aurora-data-api-driver\")\n\n /**\n * redis\n */\n case \"redis\":\n return require(\"redis\")\n\n case \"ioredis\":\n return require(\"ioredis\")\n\n /**\n * better-sqlite3\n */\n case \"better-sqlite3\":\n return require(\"better-sqlite3\")\n\n /**\n * sqlite\n */\n case \"sqlite3\":\n return require(\"sqlite3\")\n\n /**\n * sql.js\n */\n case \"sql.js\":\n return require(\"sql.js\")\n\n /**\n * sqlserver\n */\n case \"mssql\":\n return require(\"mssql\")\n\n /**\n * react-native-sqlite\n */\n case \"react-native-sqlite-storage\":\n return require(\"react-native-sqlite-storage\")\n }\n } catch (err) {\n return require(path.resolve(\n process.cwd() + \"/node_modules/\" + name,\n ))\n }\n\n // If nothing above matched and we get here, the package was not listed within PlatformTools\n // and is an Invalid Package. To make it explicit that this is NOT the intended use case for\n // PlatformTools.load - it's not just a way to replace `require` all willy-nilly - let's throw\n // an error.\n throw new TypeError(`Invalid Package for PlatformTools.load: ${name}`)\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\" and replaces backslashes with forward slashes on Windows.\n */\n static pathNormalize(pathStr: string): string {\n let normalizedPath = path.normalize(pathStr)\n if (process.platform === \"win32\")\n normalizedPath = normalizedPath.replace(/\\\\/g, \"/\")\n return normalizedPath\n }\n\n /**\n * Gets file extension. Does \"path.extname\".\n */\n static pathExtname(pathStr: string): string {\n return path.extname(pathStr)\n }\n\n /**\n * Resolved given path. Does \"path.resolve\".\n */\n static pathResolve(pathStr: string): string {\n return path.resolve(pathStr)\n }\n\n /**\n * Synchronously checks if file exist. Does \"fs.existsSync\".\n */\n static fileExist(pathStr: string): boolean {\n return fs.existsSync(pathStr)\n }\n\n static readFileSync(filename: string): Buffer {\n return fs.readFileSync(filename)\n }\n\n static appendFileSync(filename: string, data: any): void {\n fs.appendFileSync(filename, data)\n }\n\n static async writeFile(path: string, data: any): Promise<void> {\n return fs.promises.writeFile(path, data)\n }\n\n /**\n * Loads a dotenv file into the environment variables.\n *\n * @param path The file to load as a dotenv configuration\n */\n static dotenv(pathStr: string): void {\n dotenv.config({ path: pathStr })\n }\n\n /**\n * Gets environment variable.\n */\n static getEnvVariable(name: string): any {\n return process.env[name]\n }\n\n /**\n * Highlights sql string to be printed in the console.\n */\n static highlightSql(sql: string) {\n return highlight(sql, {\n colors: {\n keyword: ansi.blueBright.open,\n function: ansi.magentaBright.open,\n number: ansi.green.open,\n string: ansi.white.open,\n identifier: ansi.white.open,\n special: ansi.white.open,\n bracket: ansi.white.open,\n comment: ansi.gray.open,\n clear: ansi.reset.open,\n },\n })\n }\n\n /**\n * Logging functions needed by AdvancedConsoleLogger\n */\n static logInfo(prefix: string, info: any) {\n console.log(ansi.gray.underline(prefix), info)\n }\n\n static logError(prefix: string, error: any) {\n console.log(ansi.underline.red(prefix), error)\n }\n\n static logWarn(prefix: string, warning: any) {\n console.log(ansi.underline.yellow(prefix), warning)\n }\n\n static log(message: string) {\n console.log(ansi.underline(message))\n }\n\n static info(info: any) {\n return ansi.gray(info)\n }\n\n static error(error: any) {\n return ansi.red(error)\n }\n\n static warn(message: string) {\n return ansi.yellow(message)\n }\n\n static logCmdErr(prefix: string, err?: any) {\n console.log(ansi.black.bgRed(prefix))\n if (err) console.error(err)\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-builder/Alias.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,oCAAuC;AAEvC;GACG;AACH,MAAa,KAAK;IAgBd,YAAY,KAAa;QACrB,yBAAW,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;IAID,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC/B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAwB;QACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC7B,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,SAAS;YACf,MAAM,IAAI,oBAAY,CAClB,mDAAmD,IAAI,CAAC,IAAI,GAAG,CAClE,CAAA;QAEL,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;CACJ;AA1CD,sBA0CC","file":"Alias.js","sourcesContent":["import { EntityMetadata } from \"../metadata/EntityMetadata\"\
|
|
1
|
+
{"version":3,"sources":["../../src/query-builder/Alias.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,oCAAuC;AAEvC;GACG;AACH,MAAa,KAAK;IAgBd,YAAY,KAAa;QACrB,yBAAW,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;IAID,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC/B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAwB;QACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC7B,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,SAAS;YACf,MAAM,IAAI,oBAAY,CAClB,mDAAmD,IAAI,CAAC,IAAI,GAAG,CAClE,CAAA;QAEL,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;CACJ;AA1CD,sBA0CC","file":"Alias.js","sourcesContent":["import { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { TypeORMError } from \"../error\"\n\n/**\n */\nexport class Alias {\n type: \"from\" | \"select\" | \"join\" | \"other\" // todo: make something with \"other\"\n\n name: string\n\n /**\n * Table on which this alias is applied.\n * Used only for aliases which select custom tables.\n */\n tablePath?: string\n\n /**\n * If this alias is for sub query.\n */\n subQuery?: string\n\n constructor(alias?: Alias) {\n ObjectUtils.assign(this, alias || {})\n }\n\n private _metadata?: EntityMetadata\n\n get target(): Function | string {\n return this.metadata.target\n }\n\n get hasMetadata(): boolean {\n return !!this._metadata\n }\n\n set metadata(metadata: EntityMetadata) {\n this._metadata = metadata\n }\n\n get metadata(): EntityMetadata {\n if (!this._metadata)\n throw new TypeORMError(\n `Cannot get entity metadata for the given alias \"${this.name}\"`,\n )\n\n return this._metadata\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-builder/Brackets.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,QAAQ;IAQjB;;OAEG;IACH,YAAY,YAAiD;QAVpD,mBAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAW3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;CACJ;AAdD,4BAcC","file":"Brackets.js","sourcesContent":["import { WhereExpressionBuilder } from \"./WhereExpressionBuilder\"\
|
|
1
|
+
{"version":3,"sources":["../../src/query-builder/Brackets.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,QAAQ;IAQjB;;OAEG;IACH,YAAY,YAAiD;QAVpD,mBAAa,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAW3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;CACJ;AAdD,4BAcC","file":"Brackets.js","sourcesContent":["import { WhereExpressionBuilder } from \"./WhereExpressionBuilder\"\n\n/**\n * Syntax sugar.\n * Allows to use brackets in WHERE expressions for better syntax.\n */\nexport class Brackets {\n readonly \"@instanceof\" = Symbol.for(\"Brackets\")\n\n /**\n * WHERE expression that will be taken into brackets.\n */\n whereFactory: (qb: WhereExpressionBuilder) => any\n\n /**\n * Given WHERE query builder that will build a WHERE expression that will be taken into brackets.\n */\n constructor(whereFactory: (qb: WhereExpressionBuilder) => any) {\n this.whereFactory = whereFactory\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-builder/DeleteQueryBuilder.ts"],"names":[],"mappings":"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","file":"DeleteQueryBuilder.js","sourcesContent":["import { QueryBuilder } from \"./QueryBuilder\"\r\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\r\nimport { EntityTarget } from \"../common/EntityTarget\"\r\nimport { DataSource } from \"../data-source/DataSource\"\r\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\r\nimport { WhereExpressionBuilder } from \"./WhereExpressionBuilder\"\r\nimport { Brackets } from \"./Brackets\"\r\nimport { DeleteResult } from \"./result/DeleteResult\"\r\nimport { ReturningStatementNotSupportedError } from \"../error/ReturningStatementNotSupportedError\"\r\nimport { InstanceChecker } from \"../util/InstanceChecker\"\r\n\r\n/**\r\n * Allows to build complex sql queries in a fashion way and execute those queries.\r\n */\r\nexport class DeleteQueryBuilder<Entity extends ObjectLiteral>\r\n extends QueryBuilder<Entity>\r\n implements WhereExpressionBuilder\r\n{\r\n readonly \"@instanceof\" = Symbol.for(\"DeleteQueryBuilder\")\r\n\r\n // -------------------------------------------------------------------------\r\n // Constructor\r\n // -------------------------------------------------------------------------\r\n\r\n constructor(\r\n connectionOrQueryBuilder: DataSource | QueryBuilder<any>,\r\n queryRunner?: QueryRunner,\r\n ) {\r\n super(connectionOrQueryBuilder as any, queryRunner)\r\n this.expressionMap.aliasNamePrefixingEnabled = false\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Implemented Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Gets generated SQL query without parameters being replaced.\r\n */\r\n getQuery(): string {\r\n let sql = this.createComment()\r\n sql += this.createCteExpression()\r\n sql += this.createDeleteExpression()\r\n return this.replacePropertyNamesForTheWholeQuery(sql.trim())\r\n }\r\n\r\n /**\r\n * Executes sql generated by query builder and returns raw database results.\r\n */\r\n async execute(): Promise<DeleteResult> {\r\n const [sql, parameters] = this.getQueryAndParameters()\r\n const queryRunner = this.obtainQueryRunner()\r\n let transactionStartedByUs: boolean = false\r\n\r\n try {\r\n // start transaction if it was enabled\r\n if (\r\n this.expressionMap.useTransaction === true &&\r\n queryRunner.isTransactionActive === false\r\n ) {\r\n await queryRunner.startTransaction()\r\n transactionStartedByUs = true\r\n }\r\n\r\n // call before deletion methods in listeners and subscribers\r\n if (\r\n this.expressionMap.callListeners === true &&\r\n this.expressionMap.mainAlias!.hasMetadata\r\n ) {\r\n await queryRunner.broadcaster.broadcast(\r\n \"BeforeRemove\",\r\n this.expressionMap.mainAlias!.metadata,\r\n )\r\n }\r\n\r\n // execute query\r\n const queryResult = await queryRunner.query(sql, parameters, true)\r\n const deleteResult = DeleteResult.from(queryResult)\r\n\r\n // call after deletion methods in listeners and subscribers\r\n if (\r\n this.expressionMap.callListeners === true &&\r\n this.expressionMap.mainAlias!.hasMetadata\r\n ) {\r\n await queryRunner.broadcaster.broadcast(\r\n \"AfterRemove\",\r\n this.expressionMap.mainAlias!.metadata,\r\n )\r\n }\r\n\r\n // close transaction if we started it\r\n if (transactionStartedByUs) await queryRunner.commitTransaction()\r\n\r\n return deleteResult\r\n } catch (error) {\r\n // rollback transaction if we started it\r\n if (transactionStartedByUs) {\r\n try {\r\n await queryRunner.rollbackTransaction()\r\n } catch (rollbackError) {}\r\n }\r\n throw error\r\n } finally {\r\n if (queryRunner !== this.queryRunner) {\r\n // means we created our own query runner\r\n await queryRunner.release()\r\n }\r\n }\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Specifies FROM which entity's table select/update/delete will be executed.\r\n * Also sets a main string alias of the selection data.\r\n */\r\n from<T extends ObjectLiteral>(\r\n entityTarget: EntityTarget<T>,\r\n aliasName?: string,\r\n ): DeleteQueryBuilder<T> {\r\n entityTarget = InstanceChecker.isEntitySchema(entityTarget)\r\n ? entityTarget.options.name\r\n : entityTarget\r\n const mainAlias = this.createFromAlias(entityTarget, aliasName)\r\n this.expressionMap.setMainAlias(mainAlias)\r\n return this as any as DeleteQueryBuilder<T>\r\n }\r\n\r\n /**\r\n * Sets WHERE condition in the query builder.\r\n * If you had previously WHERE expression defined,\r\n * calling this function will override previously set WHERE conditions.\r\n * Additionally you can add parameters used in where expression.\r\n */\r\n where(\r\n where:\r\n | Brackets\r\n | string\r\n | ((qb: this) => string)\r\n | ObjectLiteral\r\n | ObjectLiteral[],\r\n parameters?: ObjectLiteral,\r\n ): this {\r\n this.expressionMap.wheres = [] // don't move this block below since computeWhereParameter can add where expressions\r\n const condition = this.getWhereCondition(where)\r\n if (condition)\r\n this.expressionMap.wheres = [\r\n { type: \"simple\", condition: condition },\r\n ]\r\n if (parameters) this.setParameters(parameters)\r\n return this\r\n }\r\n\r\n /**\r\n * Adds new AND WHERE condition in the query builder.\r\n * Additionally you can add parameters used in where expression.\r\n */\r\n andWhere(\r\n where:\r\n | Brackets\r\n | string\r\n | ((qb: this) => string)\r\n | ObjectLiteral\r\n | ObjectLiteral[],\r\n parameters?: ObjectLiteral,\r\n ): this {\r\n this.expressionMap.wheres.push({\r\n type: \"and\",\r\n condition: this.getWhereCondition(where),\r\n })\r\n if (parameters) this.setParameters(parameters)\r\n return this\r\n }\r\n\r\n /**\r\n * Adds new OR WHERE condition in the query builder.\r\n * Additionally you can add parameters used in where expression.\r\n */\r\n orWhere(\r\n where:\r\n | Brackets\r\n | string\r\n | ((qb: this) => string)\r\n | ObjectLiteral\r\n | ObjectLiteral[],\r\n parameters?: ObjectLiteral,\r\n ): this {\r\n this.expressionMap.wheres.push({\r\n type: \"or\",\r\n condition: this.getWhereCondition(where),\r\n })\r\n if (parameters) this.setParameters(parameters)\r\n return this\r\n }\r\n\r\n /**\r\n * Sets WHERE condition in the query builder with a condition for the given ids.\r\n * If you had previously WHERE expression defined,\r\n * calling this function will override previously set WHERE conditions.\r\n */\r\n whereInIds(ids: any | any[]): this {\r\n return this.where(this.getWhereInIdsCondition(ids))\r\n }\r\n\r\n /**\r\n * Adds new AND WHERE with conditions for the given ids.\r\n */\r\n andWhereInIds(ids: any | any[]): this {\r\n return this.andWhere(this.getWhereInIdsCondition(ids))\r\n }\r\n\r\n /**\r\n * Adds new OR WHERE with conditions for the given ids.\r\n */\r\n orWhereInIds(ids: any | any[]): this {\r\n return this.orWhere(this.getWhereInIdsCondition(ids))\r\n }\r\n /**\r\n * Optional returning/output clause.\r\n * This will return given column values.\r\n */\r\n output(columns: string[]): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n * Returning is a SQL string containing returning statement.\r\n */\r\n output(output: string): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n */\r\n output(output: string | string[]): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n */\r\n output(output: string | string[]): this {\r\n return this.returning(output)\r\n }\r\n\r\n /**\r\n * Optional returning/output clause.\r\n * This will return given column values.\r\n */\r\n returning(columns: string[]): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n * Returning is a SQL string containing returning statement.\r\n */\r\n returning(returning: string): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n */\r\n returning(returning: string | string[]): this\r\n\r\n /**\r\n * Optional returning/output clause.\r\n */\r\n returning(returning: string | string[]): this {\r\n // not all databases support returning/output cause\r\n if (!this.connection.driver.isReturningSqlSupported(\"delete\")) {\r\n throw new ReturningStatementNotSupportedError()\r\n }\r\n\r\n this.expressionMap.returning = returning\r\n return this\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Protected Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Creates DELETE express used to perform query.\r\n */\r\n protected createDeleteExpression() {\r\n const tableName = this.getTableName(this.getMainTableName())\r\n const whereExpression = this.createWhereExpression()\r\n const returningExpression = this.createReturningExpression(\"delete\")\r\n\r\n if (returningExpression === \"\") {\r\n return `DELETE FROM ${tableName}${whereExpression}`\r\n }\r\n if (this.connection.driver.options.type === \"mssql\") {\r\n return `DELETE FROM ${tableName} OUTPUT ${returningExpression}${whereExpression}`\r\n }\r\n return `DELETE FROM ${tableName}${whereExpression} RETURNING ${returningExpression}`\r\n }\r\n}\r\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/query-builder/DeleteQueryBuilder.ts"],"names":[],"mappings":"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","file":"DeleteQueryBuilder.js","sourcesContent":["import { QueryBuilder } from \"./QueryBuilder\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { EntityTarget } from \"../common/EntityTarget\"\nimport { DataSource } from \"../data-source/DataSource\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { WhereExpressionBuilder } from \"./WhereExpressionBuilder\"\nimport { Brackets } from \"./Brackets\"\nimport { DeleteResult } from \"./result/DeleteResult\"\nimport { ReturningStatementNotSupportedError } from \"../error/ReturningStatementNotSupportedError\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport class DeleteQueryBuilder<Entity extends ObjectLiteral>\n extends QueryBuilder<Entity>\n implements WhereExpressionBuilder\n{\n readonly \"@instanceof\" = Symbol.for(\"DeleteQueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n connectionOrQueryBuilder: DataSource | QueryBuilder<any>,\n queryRunner?: QueryRunner,\n ) {\n super(connectionOrQueryBuilder as any, queryRunner)\n this.expressionMap.aliasNamePrefixingEnabled = false\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n getQuery(): string {\n let sql = this.createComment()\n sql += this.createCteExpression()\n sql += this.createDeleteExpression()\n return this.replacePropertyNamesForTheWholeQuery(sql.trim())\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<DeleteResult> {\n const [sql, parameters] = this.getQueryAndParameters()\n const queryRunner = this.obtainQueryRunner()\n let transactionStartedByUs: boolean = false\n\n try {\n // start transaction if it was enabled\n if (\n this.expressionMap.useTransaction === true &&\n queryRunner.isTransactionActive === false\n ) {\n await queryRunner.startTransaction()\n transactionStartedByUs = true\n }\n\n // call before deletion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n await queryRunner.broadcaster.broadcast(\n \"BeforeRemove\",\n this.expressionMap.mainAlias!.metadata,\n )\n }\n\n // execute query\n const queryResult = await queryRunner.query(sql, parameters, true)\n const deleteResult = DeleteResult.from(queryResult)\n\n // call after deletion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n await queryRunner.broadcaster.broadcast(\n \"AfterRemove\",\n this.expressionMap.mainAlias!.metadata,\n )\n }\n\n // close transaction if we started it\n if (transactionStartedByUs) await queryRunner.commitTransaction()\n\n return deleteResult\n } catch (error) {\n // rollback transaction if we started it\n if (transactionStartedByUs) {\n try {\n await queryRunner.rollbackTransaction()\n } catch (rollbackError) {}\n }\n throw error\n } finally {\n if (queryRunner !== this.queryRunner) {\n // means we created our own query runner\n await queryRunner.release()\n }\n }\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Specifies FROM which entity's table select/update/delete will be executed.\n * Also sets a main string alias of the selection data.\n */\n from<T extends ObjectLiteral>(\n entityTarget: EntityTarget<T>,\n aliasName?: string,\n ): DeleteQueryBuilder<T> {\n entityTarget = InstanceChecker.isEntitySchema(entityTarget)\n ? entityTarget.options.name\n : entityTarget\n const mainAlias = this.createFromAlias(entityTarget, aliasName)\n this.expressionMap.setMainAlias(mainAlias)\n return this as any as DeleteQueryBuilder<T>\n }\n\n /**\n * Sets WHERE condition in the query builder.\n * If you had previously WHERE expression defined,\n * calling this function will override previously set WHERE conditions.\n * Additionally you can add parameters used in where expression.\n */\n where(\n where:\n | Brackets\n | string\n | ((qb: this) => string)\n | ObjectLiteral\n | ObjectLiteral[],\n parameters?: ObjectLiteral,\n ): this {\n this.expressionMap.wheres = [] // don't move this block below since computeWhereParameter can add where expressions\n const condition = this.getWhereCondition(where)\n if (condition)\n this.expressionMap.wheres = [\n { type: \"simple\", condition: condition },\n ]\n if (parameters) this.setParameters(parameters)\n return this\n }\n\n /**\n * Adds new AND WHERE condition in the query builder.\n * Additionally you can add parameters used in where expression.\n */\n andWhere(\n where:\n | Brackets\n | string\n | ((qb: this) => string)\n | ObjectLiteral\n | ObjectLiteral[],\n parameters?: ObjectLiteral,\n ): this {\n this.expressionMap.wheres.push({\n type: \"and\",\n condition: this.getWhereCondition(where),\n })\n if (parameters) this.setParameters(parameters)\n return this\n }\n\n /**\n * Adds new OR WHERE condition in the query builder.\n * Additionally you can add parameters used in where expression.\n */\n orWhere(\n where:\n | Brackets\n | string\n | ((qb: this) => string)\n | ObjectLiteral\n | ObjectLiteral[],\n parameters?: ObjectLiteral,\n ): this {\n this.expressionMap.wheres.push({\n type: \"or\",\n condition: this.getWhereCondition(where),\n })\n if (parameters) this.setParameters(parameters)\n return this\n }\n\n /**\n * Sets WHERE condition in the query builder with a condition for the given ids.\n * If you had previously WHERE expression defined,\n * calling this function will override previously set WHERE conditions.\n */\n whereInIds(ids: any | any[]): this {\n return this.where(this.getWhereInIdsCondition(ids))\n }\n\n /**\n * Adds new AND WHERE with conditions for the given ids.\n */\n andWhereInIds(ids: any | any[]): this {\n return this.andWhere(this.getWhereInIdsCondition(ids))\n }\n\n /**\n * Adds new OR WHERE with conditions for the given ids.\n */\n orWhereInIds(ids: any | any[]): this {\n return this.orWhere(this.getWhereInIdsCondition(ids))\n }\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n output(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n output(output: string): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this {\n return this.returning(output)\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n returning(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n returning(returning: string): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this {\n // not all databases support returning/output cause\n if (!this.connection.driver.isReturningSqlSupported(\"delete\")) {\n throw new ReturningStatementNotSupportedError()\n }\n\n this.expressionMap.returning = returning\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates DELETE express used to perform query.\n */\n protected createDeleteExpression() {\n const tableName = this.getTableName(this.getMainTableName())\n const whereExpression = this.createWhereExpression()\n const returningExpression = this.createReturningExpression(\"delete\")\n\n if (returningExpression === \"\") {\n return `DELETE FROM ${tableName}${whereExpression}`\n }\n if (this.connection.driver.options.type === \"mssql\") {\n return `DELETE FROM ${tableName} OUTPUT ${returningExpression}${whereExpression}`\n }\n return `DELETE FROM ${tableName}${whereExpression} RETURNING ${returningExpression}`\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-builder/InsertOrUpdateOptions.ts"],"names":[],"mappings":"","file":"InsertOrUpdateOptions.js","sourcesContent":["import { UpsertType } from \"../driver/types/UpsertType\"\
|
|
1
|
+
{"version":3,"sources":["../../src/query-builder/InsertOrUpdateOptions.ts"],"names":[],"mappings":"","file":"InsertOrUpdateOptions.js","sourcesContent":["import { UpsertType } from \"../driver/types/UpsertType\"\n\nexport type InsertOrUpdateOptions = {\n /**\n * If true, postgres will skip the update if no values would be changed (reduces writes)\n */\n skipUpdateIfNoValuesChanged?: boolean\n /**\n * If included, postgres will apply the index predicate to a conflict target (partial index)\n */\n indexPredicate?: string\n upsertType?: UpsertType\n}\n"],"sourceRoot":".."}
|