typeorm 0.3.20-dev.73e3b49 → 0.3.20-dev.c22e30f
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 +1 -1
- package/browser/cache/DbQueryResultCache.js +1 -1
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/cache/QueryResultCacheFactory.js.map +1 -1
- package/browser/cache/RedisQueryResultCache.js +1 -1
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/cli-ts-node-esm.js.map +1 -1
- package/browser/connection/ConnectionManager.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.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/DataSource.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/PrimaryColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/browser/decorator/columns/VirtualColumn.js +1 -1
- package/browser/decorator/columns/VirtualColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.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/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +10 -10
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +2 -2
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +2 -2
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.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/CapacitorDriver.js.map +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.js +2 -2
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoDriver.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +2 -2
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.js +12 -14
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.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/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/PostgresDriver.js +2 -3
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +1 -2
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js +4 -6
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js +2 -2
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +3 -3
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerDriver.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +3 -2
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -6
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsDriver.js +1 -2
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +9 -7
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.js +1 -1
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +2 -3
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/error/FindRelationsNotFoundError.js.map +1 -1
- package/browser/error/MissingJoinColumnError.js.map +1 -1
- package/browser/error/MissingJoinTableError.js.map +1 -1
- package/browser/error/QueryFailedError.js.map +1 -1
- package/browser/error/RepositoryNotTreeError.js.map +1 -1
- package/browser/error/TypeORMError.js.map +1 -1
- package/browser/find-options/FindOperator.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/operator/Raw.js.map +1 -1
- package/browser/globals.js.map +1 -1
- package/browser/logger/AbstractLogger.js.map +1 -1
- package/browser/logger/AdvancedConsoleLogger.js +1 -2
- package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
- package/browser/logger/DebugLogger.js +1 -2
- package/browser/logger/DebugLogger.js.map +1 -1
- package/browser/logger/FileLogger.js +2 -3
- package/browser/logger/FileLogger.js.map +1 -1
- package/browser/logger/LoggerFactory.js.map +1 -1
- package/browser/logger/SimpleConsoleLogger.js +1 -2
- package/browser/logger/SimpleConsoleLogger.js.map +1 -1
- package/browser/metadata/CheckMetadata.js.map +1 -1
- package/browser/metadata/ColumnMetadata.js +1 -2
- 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 +2 -3
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/ExclusionMetadata.js.map +1 -1
- package/browser/metadata/IndexMetadata.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-args/MetadataArgsStorage.js.map +1 -1
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +5 -8
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +7 -8
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/MetadataUtils.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +2 -3
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +2 -2
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.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 +1 -2
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +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.map +1 -1
- package/browser/platform/BrowserPlatformTools.js.map +1 -1
- package/browser/platform/PlatformTools.d.ts +3 -0
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +12 -13
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.js.map +1 -1
- package/browser/query-builder/QueryBuilder.js +3 -4
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.js +2 -2
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- 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/SelectQueryBuilder.js +17 -15
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +2 -2
- package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +2 -2
- package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.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.map +1 -1
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryLock.js.map +1 -1
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/table/Table.js +2 -2
- package/browser/schema-builder/table/Table.js.map +1 -1
- package/browser/schema-builder/table/TableColumn.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 +6 -6
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/BroadcasterResult.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 +2 -2
- package/browser/util/DepGraph.js.map +1 -1
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ImportUtils.js +1 -1
- package/browser/util/ImportUtils.js.map +1 -1
- package/browser/util/ObjectUtils.js.map +1 -1
- package/browser/util/OrmUtils.js.map +1 -1
- package/browser/util/RandomGenerator.js.map +1 -1
- package/browser/util/StringUtils.js.map +1 -1
- package/browser/util/TreeRepositoryUtils.js +3 -6
- package/browser/util/TreeRepositoryUtils.js.map +1 -1
- package/cache/DbQueryResultCache.js +1 -1
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/QueryResultCacheFactory.js.map +1 -1
- package/cache/RedisQueryResultCache.js +1 -1
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli-ts-node-esm.js.map +1 -1
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.js +1 -1
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +2 -2
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +2 -2
- 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.map +1 -1
- package/commands/VersionCommand.js.map +1 -1
- package/connection/ConnectionManager.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.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/DataSource.js.map +1 -1
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/VirtualColumn.js +1 -1
- package/decorator/columns/VirtualColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.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/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlDriver.js +10 -10
- package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +2 -2
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +2 -2
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.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/CapacitorDriver.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.js +2 -2
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +2 -2
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mysql/MysqlDriver.js +12 -14
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +1 -1
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- 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/PostgresDriver.js +2 -3
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +1 -2
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.js +4 -6
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +2 -2
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +3 -3
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerDriver.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +3 -2
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -6
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsDriver.js +1 -2
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +9 -7
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/types/MetadataTableType.js +1 -1
- package/driver/types/MetadataTableType.js.map +1 -1
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.js +1 -1
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +2 -3
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/QueryFailedError.js.map +1 -1
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/TypeORMError.js.map +1 -1
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOptionsUtils.js +1 -1
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/operator/Raw.js.map +1 -1
- package/globals.js.map +1 -1
- package/logger/AbstractLogger.js.map +1 -1
- package/logger/AdvancedConsoleLogger.js +1 -2
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/logger/DebugLogger.js +1 -2
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.js +2 -3
- package/logger/FileLogger.js.map +1 -1
- package/logger/LoggerFactory.js.map +1 -1
- package/logger/SimpleConsoleLogger.js +1 -2
- package/logger/SimpleConsoleLogger.js.map +1 -1
- package/metadata/CheckMetadata.js.map +1 -1
- package/metadata/ColumnMetadata.js +1 -2
- 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 +2 -3
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/ExclusionMetadata.js.map +1 -1
- package/metadata/IndexMetadata.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-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +5 -8
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +7 -8
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/MetadataUtils.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.js +2 -3
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/MigrationExecutor.js +2 -2
- package/migration/MigrationExecutor.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
- package/package.json +1 -1
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopoligicalSorter.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 +1 -2
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +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.map +1 -1
- package/platform/PlatformTools.d.ts +3 -0
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +12 -13
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/QueryBuilder.js +3 -4
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryExpressionMap.js +2 -2
- package/query-builder/QueryExpressionMap.js.map +1 -1
- 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/SelectQueryBuilder.js +17 -15
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +2 -2
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +2 -2
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.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.map +1 -1
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryLock.js.map +1 -1
- package/repository/BaseEntity.js.map +1 -1
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/table/Table.js +2 -2
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableColumn.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 +6 -6
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.js +2 -2
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ImportUtils.js +1 -1
- package/util/ImportUtils.js.map +1 -1
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.js.map +1 -1
- package/util/RandomGenerator.js.map +1 -1
- package/util/StringUtils.js.map +1 -1
- package/util/TreeRepositoryUtils.js +3 -6
- package/util/TreeRepositoryUtils.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/metadata/UniqueMetadata.ts"],"names":[],"mappings":"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","file":"UniqueMetadata.js","sourcesContent":["import { EmbeddedMetadata } from \"./EmbeddedMetadata\"\nimport { EntityMetadata } from \"./EntityMetadata\"\nimport { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport { ColumnMetadata } from \"./ColumnMetadata\"\nimport { UniqueMetadataArgs } from \"../metadata-args/UniqueMetadataArgs\"\nimport { TypeORMError } from \"../error\"\nimport { DeferrableType } from \"./types/DeferrableType\"\n\n/**\n * Unique metadata contains all information about table's unique constraints.\n */\nexport class UniqueMetadata {\n // ---------------------------------------------------------------------\n // Public Properties\n // ---------------------------------------------------------------------\n\n /**\n * Entity metadata of the class to which this unique constraint is applied.\n */\n entityMetadata: EntityMetadata\n\n /**\n * Embedded metadata if this unique was applied on embedded.\n */\n embeddedMetadata?: EmbeddedMetadata\n\n /**\n * Target class to which metadata is applied.\n */\n target?: Function | string\n\n /**\n * Unique columns.\n */\n columns: ColumnMetadata[] = []\n\n /**\n * Indicate if unique constraints can be deferred.\n */\n deferrable?: DeferrableType\n\n /**\n * User specified unique constraint name.\n */\n givenName?: string\n\n /**\n * User specified column names.\n */\n givenColumnNames?:\n | ((object?: any) => any[] | { [key: string]: number })\n | string[]\n\n /**\n * Final unique constraint name.\n * If unique constraint name was given by a user then it stores normalized (by naming strategy) givenName.\n * If unique constraint name was not given then its generated.\n */\n name: string\n\n /**\n * Map of column names with order set.\n * Used only by MongoDB driver.\n */\n columnNamesWithOrderingMap: { [key: string]: number } = {}\n\n // ---------------------------------------------------------------------\n // Constructor\n // ---------------------------------------------------------------------\n\n constructor(options: {\n entityMetadata: EntityMetadata\n embeddedMetadata?: EmbeddedMetadata\n columns?: ColumnMetadata[]\n args?: UniqueMetadataArgs\n }) {\n this.entityMetadata = options.entityMetadata\n this.embeddedMetadata = options.embeddedMetadata\n if (options.columns) this.columns = options.columns\n\n if (options.args) {\n this.target = options.args.target\n this.givenName = options.args.name\n this.givenColumnNames = options.args.columns\n this.deferrable = options.args.deferrable\n }\n }\n\n // ---------------------------------------------------------------------\n // Public Build Methods\n // ---------------------------------------------------------------------\n\n /**\n * Builds some depend unique constraint properties.\n * Must be called after all entity metadata's properties map, columns and relations are built.\n */\n build(namingStrategy: NamingStrategyInterface): this {\n const map: { [key: string]: number } = {}\n\n // if columns already an array of string then simply return it\n if (this.givenColumnNames) {\n let columnPropertyPaths: string[] = []\n if (Array.isArray(this.givenColumnNames)) {\n columnPropertyPaths = this.givenColumnNames.map(\n (columnName) => {\n if (this.embeddedMetadata)\n return (\n this.embeddedMetadata.propertyPath +\n \".\" +\n columnName\n )\n\n return columnName.trim()\n },\n )\n columnPropertyPaths.forEach(\n (propertyPath) => (map[propertyPath] = 1),\n )\n } else {\n // if columns is a function that returns array of field names then execute it and get columns names from it\n const columnsFnResult = this.givenColumnNames(\n this.entityMetadata.propertiesMap,\n )\n if (Array.isArray(columnsFnResult)) {\n columnPropertyPaths = columnsFnResult.map((i: any) =>\n String(i),\n )\n columnPropertyPaths.forEach((name) => (map[name] = 1))\n } else {\n columnPropertyPaths = Object.keys(columnsFnResult).map(\n (i: any) => String(i),\n )\n Object.keys(columnsFnResult).forEach(\n (columnName) =>\n (map[columnName] = columnsFnResult[columnName]),\n )\n }\n }\n\n this.columns = columnPropertyPaths\n .map((propertyName) => {\n const columnWithSameName = this.entityMetadata.columns.find(\n (column) => column.propertyPath === propertyName,\n )\n if (columnWithSameName) {\n return [columnWithSameName]\n }\n const relationWithSameName =\n this.entityMetadata.relations.find(\n (relation) =>\n relation.isWithJoinColumn &&\n relation.propertyName === propertyName,\n )\n if (relationWithSameName) {\n return relationWithSameName.joinColumns\n }\n const indexName = this.givenName\n ? '\"' + this.givenName + '\" '\n : \"\"\n const entityName = this.entityMetadata.targetName\n throw new TypeORMError(\n `Unique constraint ${indexName}contains column that is missing in the entity (${entityName}): ` +\n propertyName,\n )\n })\n .reduce((a, b) => a.concat(b))\n }\n\n this.columnNamesWithOrderingMap = Object.keys(map).reduce(\n (updatedMap, key) => {\n const column = this.entityMetadata.columns.find(\n (column) => column.propertyPath === key,\n )\n if (column) updatedMap[column.databasePath] = map[key]\n\n return updatedMap\n },\n {} as { [key: string]: number },\n )\n\n this.name = this.givenName\n ? this.givenName\n : namingStrategy.uniqueConstraintName(\n this.entityMetadata.tableName,\n this.columns.map((column) => column.databaseName),\n )\n return this\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/metadata/UniqueMetadata.ts"],"names":[],"mappings":"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","file":"UniqueMetadata.js","sourcesContent":["import { EmbeddedMetadata } from \"./EmbeddedMetadata\"\nimport { EntityMetadata } from \"./EntityMetadata\"\nimport { NamingStrategyInterface } from \"../naming-strategy/NamingStrategyInterface\"\nimport { ColumnMetadata } from \"./ColumnMetadata\"\nimport { UniqueMetadataArgs } from \"../metadata-args/UniqueMetadataArgs\"\nimport { TypeORMError } from \"../error\"\nimport { DeferrableType } from \"./types/DeferrableType\"\n\n/**\n * Unique metadata contains all information about table's unique constraints.\n */\nexport class UniqueMetadata {\n // ---------------------------------------------------------------------\n // Public Properties\n // ---------------------------------------------------------------------\n\n /**\n * Entity metadata of the class to which this unique constraint is applied.\n */\n entityMetadata: EntityMetadata\n\n /**\n * Embedded metadata if this unique was applied on embedded.\n */\n embeddedMetadata?: EmbeddedMetadata\n\n /**\n * Target class to which metadata is applied.\n */\n target?: Function | string\n\n /**\n * Unique columns.\n */\n columns: ColumnMetadata[] = []\n\n /**\n * Indicate if unique constraints can be deferred.\n */\n deferrable?: DeferrableType\n\n /**\n * User specified unique constraint name.\n */\n givenName?: string\n\n /**\n * User specified column names.\n */\n givenColumnNames?:\n | ((object?: any) => any[] | { [key: string]: number })\n | string[]\n\n /**\n * Final unique constraint name.\n * If unique constraint name was given by a user then it stores normalized (by naming strategy) givenName.\n * If unique constraint name was not given then its generated.\n */\n name: string\n\n /**\n * Map of column names with order set.\n * Used only by MongoDB driver.\n */\n columnNamesWithOrderingMap: { [key: string]: number } = {}\n\n // ---------------------------------------------------------------------\n // Constructor\n // ---------------------------------------------------------------------\n\n constructor(options: {\n entityMetadata: EntityMetadata\n embeddedMetadata?: EmbeddedMetadata\n columns?: ColumnMetadata[]\n args?: UniqueMetadataArgs\n }) {\n this.entityMetadata = options.entityMetadata\n this.embeddedMetadata = options.embeddedMetadata\n if (options.columns) this.columns = options.columns\n\n if (options.args) {\n this.target = options.args.target\n this.givenName = options.args.name\n this.givenColumnNames = options.args.columns\n this.deferrable = options.args.deferrable\n }\n }\n\n // ---------------------------------------------------------------------\n // Public Build Methods\n // ---------------------------------------------------------------------\n\n /**\n * Builds some depend unique constraint properties.\n * Must be called after all entity metadata's properties map, columns and relations are built.\n */\n build(namingStrategy: NamingStrategyInterface): this {\n const map: { [key: string]: number } = {}\n\n // if columns already an array of string then simply return it\n if (this.givenColumnNames) {\n let columnPropertyPaths: string[] = []\n if (Array.isArray(this.givenColumnNames)) {\n columnPropertyPaths = this.givenColumnNames.map(\n (columnName) => {\n if (this.embeddedMetadata)\n return (\n this.embeddedMetadata.propertyPath +\n \".\" +\n columnName\n )\n\n return columnName.trim()\n },\n )\n columnPropertyPaths.forEach(\n (propertyPath) => (map[propertyPath] = 1),\n )\n } else {\n // if columns is a function that returns array of field names then execute it and get columns names from it\n const columnsFnResult = this.givenColumnNames(\n this.entityMetadata.propertiesMap,\n )\n if (Array.isArray(columnsFnResult)) {\n columnPropertyPaths = columnsFnResult.map((i: any) =>\n String(i),\n )\n columnPropertyPaths.forEach((name) => (map[name] = 1))\n } else {\n columnPropertyPaths = Object.keys(columnsFnResult).map(\n (i: any) => String(i),\n )\n Object.keys(columnsFnResult).forEach(\n (columnName) =>\n (map[columnName] = columnsFnResult[columnName]),\n )\n }\n }\n\n this.columns = columnPropertyPaths\n .map((propertyName) => {\n const columnWithSameName = this.entityMetadata.columns.find(\n (column) => column.propertyPath === propertyName,\n )\n if (columnWithSameName) {\n return [columnWithSameName]\n }\n const relationWithSameName =\n this.entityMetadata.relations.find(\n (relation) =>\n relation.isWithJoinColumn &&\n relation.propertyName === propertyName,\n )\n if (relationWithSameName) {\n return relationWithSameName.joinColumns\n }\n const indexName = this.givenName\n ? '\"' + this.givenName + '\" '\n : \"\"\n const entityName = this.entityMetadata.targetName\n throw new TypeORMError(\n `Unique constraint ${indexName}contains column that is missing in the entity (${entityName}): ` +\n propertyName,\n )\n })\n .reduce((a, b) => a.concat(b))\n }\n\n this.columnNamesWithOrderingMap = Object.keys(map).reduce(\n (updatedMap, key) => {\n const column = this.entityMetadata.columns.find(\n (column) => column.propertyPath === key,\n )\n if (column) updatedMap[column.databasePath] = map[key]\n\n return updatedMap\n },\n {} as { [key: string]: number },\n )\n\n this.name = this.givenName\n ? this.givenName\n : namingStrategy.uniqueConstraintName(\n this.entityMetadata.tableName,\n this.columns.map((column) => column.databaseName),\n )\n return this\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/metadata-args/MetadataArgsStorage.ts"],"names":[],"mappings":"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","file":"MetadataArgsStorage.js","sourcesContent":["import { RelationMetadataArgs } from \"./RelationMetadataArgs\"\nimport { ColumnMetadataArgs } from \"./ColumnMetadataArgs\"\nimport { RelationCountMetadataArgs } from \"./RelationCountMetadataArgs\"\nimport { IndexMetadataArgs } from \"./IndexMetadataArgs\"\nimport { EntityListenerMetadataArgs } from \"./EntityListenerMetadataArgs\"\nimport { TableMetadataArgs } from \"./TableMetadataArgs\"\nimport { NamingStrategyMetadataArgs } from \"./NamingStrategyMetadataArgs\"\nimport { JoinTableMetadataArgs } from \"./JoinTableMetadataArgs\"\nimport { JoinColumnMetadataArgs } from \"./JoinColumnMetadataArgs\"\nimport { EmbeddedMetadataArgs } from \"./EmbeddedMetadataArgs\"\nimport { EntitySubscriberMetadataArgs } from \"./EntitySubscriberMetadataArgs\"\nimport { RelationIdMetadataArgs } from \"./RelationIdMetadataArgs\"\nimport { InheritanceMetadataArgs } from \"./InheritanceMetadataArgs\"\nimport { DiscriminatorValueMetadataArgs } from \"./DiscriminatorValueMetadataArgs\"\nimport { EntityRepositoryMetadataArgs } from \"./EntityRepositoryMetadataArgs\"\nimport { TransactionEntityMetadataArgs } from \"./TransactionEntityMetadataArgs\"\nimport { TransactionRepositoryMetadataArgs } from \"./TransactionRepositoryMetadataArgs\"\nimport { MetadataUtils } from \"../metadata-builder/MetadataUtils\"\nimport { GeneratedMetadataArgs } from \"./GeneratedMetadataArgs\"\nimport { TreeMetadataArgs } from \"./TreeMetadataArgs\"\nimport { UniqueMetadataArgs } from \"./UniqueMetadataArgs\"\nimport { CheckMetadataArgs } from \"./CheckMetadataArgs\"\nimport { ExclusionMetadataArgs } from \"./ExclusionMetadataArgs\"\n\n/**\n * Storage all metadatas args of all available types: tables, columns, subscribers, relations, etc.\n * Each metadata args represents some specifications of what it represents.\n * MetadataArgs used to create a real Metadata objects.\n */\nexport class MetadataArgsStorage {\n // -------------------------------------------------------------------------\n // Properties\n // -------------------------------------------------------------------------\n\n readonly tables: TableMetadataArgs[] = []\n readonly trees: TreeMetadataArgs[] = []\n readonly entityRepositories: EntityRepositoryMetadataArgs[] = []\n readonly transactionEntityManagers: TransactionEntityMetadataArgs[] = []\n readonly transactionRepositories: TransactionRepositoryMetadataArgs[] = []\n readonly namingStrategies: NamingStrategyMetadataArgs[] = []\n readonly entitySubscribers: EntitySubscriberMetadataArgs[] = []\n readonly indices: IndexMetadataArgs[] = []\n readonly uniques: UniqueMetadataArgs[] = []\n readonly checks: CheckMetadataArgs[] = []\n readonly exclusions: ExclusionMetadataArgs[] = []\n readonly columns: ColumnMetadataArgs[] = []\n readonly generations: GeneratedMetadataArgs[] = []\n readonly relations: RelationMetadataArgs[] = []\n readonly joinColumns: JoinColumnMetadataArgs[] = []\n readonly joinTables: JoinTableMetadataArgs[] = []\n readonly entityListeners: EntityListenerMetadataArgs[] = []\n readonly relationCounts: RelationCountMetadataArgs[] = []\n readonly relationIds: RelationIdMetadataArgs[] = []\n readonly embeddeds: EmbeddedMetadataArgs[] = []\n readonly inheritances: InheritanceMetadataArgs[] = []\n readonly discriminatorValues: DiscriminatorValueMetadataArgs[] = []\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n filterTables(target: Function | string): TableMetadataArgs[]\n filterTables(target: (Function | string)[]): TableMetadataArgs[]\n filterTables(\n target: (Function | string) | (Function | string)[],\n ): TableMetadataArgs[] {\n return this.filterByTarget(this.tables, target)\n }\n\n filterColumns(target: Function | string): ColumnMetadataArgs[]\n filterColumns(target: (Function | string)[]): ColumnMetadataArgs[]\n filterColumns(\n target: (Function | string) | (Function | string)[],\n ): ColumnMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.columns,\n target,\n )\n }\n\n findGenerated(\n target: Function | string,\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string) | (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined {\n return this.generations.find((generated) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(generated.target) !== -1\n : generated.target === target) &&\n generated.propertyName === propertyName\n )\n })\n }\n\n findTree(\n target: (Function | string) | (Function | string)[],\n ): TreeMetadataArgs | undefined {\n return this.trees.find((tree) => {\n return Array.isArray(target)\n ? target.indexOf(tree.target) !== -1\n : tree.target === target\n })\n }\n\n filterRelations(target: Function | string): RelationMetadataArgs[]\n filterRelations(target: (Function | string)[]): RelationMetadataArgs[]\n filterRelations(\n target: (Function | string) | (Function | string)[],\n ): RelationMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateRelationProperties(\n this.relations,\n target,\n )\n }\n\n filterRelationIds(target: Function | string): RelationIdMetadataArgs[]\n filterRelationIds(target: (Function | string)[]): RelationIdMetadataArgs[]\n filterRelationIds(\n target: (Function | string) | (Function | string)[],\n ): RelationIdMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationIds,\n target,\n )\n }\n\n filterRelationCounts(target: Function | string): RelationCountMetadataArgs[]\n filterRelationCounts(\n target: (Function | string)[],\n ): RelationCountMetadataArgs[]\n filterRelationCounts(\n target: (Function | string) | (Function | string)[],\n ): RelationCountMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationCounts,\n target,\n )\n }\n\n filterIndices(target: Function | string): IndexMetadataArgs[]\n filterIndices(target: (Function | string)[]): IndexMetadataArgs[]\n filterIndices(\n target: (Function | string) | (Function | string)[],\n ): IndexMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.indices.filter((index) => {\n return Array.isArray(target)\n ? target.indexOf(index.target) !== -1\n : index.target === target\n })\n }\n\n filterUniques(target: Function | string): UniqueMetadataArgs[]\n filterUniques(target: (Function | string)[]): UniqueMetadataArgs[]\n filterUniques(\n target: (Function | string) | (Function | string)[],\n ): UniqueMetadataArgs[] {\n return this.uniques.filter((unique) => {\n return Array.isArray(target)\n ? target.indexOf(unique.target) !== -1\n : unique.target === target\n })\n }\n\n filterChecks(target: Function | string): CheckMetadataArgs[]\n filterChecks(target: (Function | string)[]): CheckMetadataArgs[]\n filterChecks(\n target: (Function | string) | (Function | string)[],\n ): CheckMetadataArgs[] {\n return this.checks.filter((check) => {\n return Array.isArray(target)\n ? target.indexOf(check.target) !== -1\n : check.target === target\n })\n }\n\n filterExclusions(target: Function | string): ExclusionMetadataArgs[]\n filterExclusions(target: (Function | string)[]): ExclusionMetadataArgs[]\n filterExclusions(\n target: (Function | string) | (Function | string)[],\n ): ExclusionMetadataArgs[] {\n return this.exclusions.filter((exclusion) => {\n return Array.isArray(target)\n ? target.indexOf(exclusion.target) !== -1\n : exclusion.target === target\n })\n }\n\n filterListeners(target: Function | string): EntityListenerMetadataArgs[]\n filterListeners(target: (Function | string)[]): EntityListenerMetadataArgs[]\n filterListeners(\n target: (Function | string) | (Function | string)[],\n ): EntityListenerMetadataArgs[] {\n return this.filterByTarget(this.entityListeners, target)\n }\n\n filterEmbeddeds(target: Function | string): EmbeddedMetadataArgs[]\n filterEmbeddeds(target: (Function | string)[]): EmbeddedMetadataArgs[]\n filterEmbeddeds(\n target: (Function | string) | (Function | string)[],\n ): EmbeddedMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateEmbeddedProperties(\n this.embeddeds,\n target,\n )\n }\n\n findJoinTable(\n target: Function | string,\n propertyName: string,\n ): JoinTableMetadataArgs | undefined {\n return this.joinTables.find((joinTable) => {\n return (\n joinTable.target === target &&\n joinTable.propertyName === propertyName\n )\n })\n }\n\n filterJoinColumns(\n target: Function | string,\n propertyName: string,\n ): JoinColumnMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.joinColumns.filter((joinColumn) => {\n return (\n joinColumn.target === target &&\n joinColumn.propertyName === propertyName\n )\n })\n }\n\n filterSubscribers(target: Function | string): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string)[],\n ): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string) | (Function | string)[],\n ): EntitySubscriberMetadataArgs[] {\n return this.filterByTarget(this.entitySubscribers, target)\n }\n\n filterNamingStrategies(\n target: Function | string,\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string)[],\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string) | (Function | string)[],\n ): NamingStrategyMetadataArgs[] {\n return this.filterByTarget(this.namingStrategies, target)\n }\n\n filterTransactionEntityManagers(\n target: Function | string,\n propertyName: string,\n ): TransactionEntityMetadataArgs[] {\n return this.transactionEntityManagers.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterTransactionRepository(\n target: Function | string,\n propertyName: string,\n ): TransactionRepositoryMetadataArgs[] {\n return this.transactionRepositories.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterSingleTableChildren(target: Function | string): TableMetadataArgs[] {\n return this.tables.filter((table) => {\n return (\n typeof table.target === \"function\" &&\n typeof target === \"function\" &&\n MetadataUtils.isInherited(table.target, target) &&\n table.type === \"entity-child\"\n )\n })\n }\n\n findInheritanceType(\n target: Function | string,\n ): InheritanceMetadataArgs | undefined {\n return this.inheritances.find(\n (inheritance) => inheritance.target === target,\n )\n }\n\n findDiscriminatorValue(\n target: Function | string,\n ): DiscriminatorValueMetadataArgs | undefined {\n return this.discriminatorValues.find(\n (discriminatorValue) => discriminatorValue.target === target,\n )\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Filters given array by a given target or targets.\n */\n protected filterByTarget<T extends { target: Function | string }>(\n array: T[],\n target: (Function | string) | (Function | string)[],\n ): T[] {\n return array.filter((table) => {\n return Array.isArray(target)\n ? target.indexOf(table.target) !== -1\n : table.target === target\n })\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate property names.\n */\n protected filterByTargetAndWithoutDuplicateProperties<\n T extends { target: Function | string; propertyName: string },\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n if (\n !newArray.find(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n )\n newArray.push(item)\n }\n })\n return newArray\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate relation property names.\n */\n protected filterByTargetAndWithoutDuplicateRelationProperties<\n T extends RelationMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const existingIndex = newArray.findIndex(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n if (\n Array.isArray(target) &&\n existingIndex !== -1 &&\n target.indexOf(item.target) <\n target.indexOf(newArray[existingIndex].target)\n ) {\n const clone = Object.create(newArray[existingIndex])\n clone.type = item.type\n newArray[existingIndex] = clone\n } else if (existingIndex === -1) {\n newArray.push(item)\n }\n }\n })\n return newArray\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate embedded property names.\n */\n protected filterByTargetAndWithoutDuplicateEmbeddedProperties<\n T extends EmbeddedMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const isDuplicateEmbeddedProperty = newArray.find(\n (newItem: EmbeddedMetadataArgs): boolean =>\n newItem.prefix === item.prefix &&\n newItem.propertyName === item.propertyName,\n )\n if (!isDuplicateEmbeddedProperty) newArray.push(item)\n }\n })\n return newArray\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/metadata-args/MetadataArgsStorage.ts"],"names":[],"mappings":"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","file":"MetadataArgsStorage.js","sourcesContent":["import { RelationMetadataArgs } from \"./RelationMetadataArgs\"\nimport { ColumnMetadataArgs } from \"./ColumnMetadataArgs\"\nimport { RelationCountMetadataArgs } from \"./RelationCountMetadataArgs\"\nimport { IndexMetadataArgs } from \"./IndexMetadataArgs\"\nimport { EntityListenerMetadataArgs } from \"./EntityListenerMetadataArgs\"\nimport { TableMetadataArgs } from \"./TableMetadataArgs\"\nimport { NamingStrategyMetadataArgs } from \"./NamingStrategyMetadataArgs\"\nimport { JoinTableMetadataArgs } from \"./JoinTableMetadataArgs\"\nimport { JoinColumnMetadataArgs } from \"./JoinColumnMetadataArgs\"\nimport { EmbeddedMetadataArgs } from \"./EmbeddedMetadataArgs\"\nimport { EntitySubscriberMetadataArgs } from \"./EntitySubscriberMetadataArgs\"\nimport { RelationIdMetadataArgs } from \"./RelationIdMetadataArgs\"\nimport { InheritanceMetadataArgs } from \"./InheritanceMetadataArgs\"\nimport { DiscriminatorValueMetadataArgs } from \"./DiscriminatorValueMetadataArgs\"\nimport { EntityRepositoryMetadataArgs } from \"./EntityRepositoryMetadataArgs\"\nimport { TransactionEntityMetadataArgs } from \"./TransactionEntityMetadataArgs\"\nimport { TransactionRepositoryMetadataArgs } from \"./TransactionRepositoryMetadataArgs\"\nimport { MetadataUtils } from \"../metadata-builder/MetadataUtils\"\nimport { GeneratedMetadataArgs } from \"./GeneratedMetadataArgs\"\nimport { TreeMetadataArgs } from \"./TreeMetadataArgs\"\nimport { UniqueMetadataArgs } from \"./UniqueMetadataArgs\"\nimport { CheckMetadataArgs } from \"./CheckMetadataArgs\"\nimport { ExclusionMetadataArgs } from \"./ExclusionMetadataArgs\"\n\n/**\n * Storage all metadatas args of all available types: tables, columns, subscribers, relations, etc.\n * Each metadata args represents some specifications of what it represents.\n * MetadataArgs used to create a real Metadata objects.\n */\nexport class MetadataArgsStorage {\n // -------------------------------------------------------------------------\n // Properties\n // -------------------------------------------------------------------------\n\n readonly tables: TableMetadataArgs[] = []\n readonly trees: TreeMetadataArgs[] = []\n readonly entityRepositories: EntityRepositoryMetadataArgs[] = []\n readonly transactionEntityManagers: TransactionEntityMetadataArgs[] = []\n readonly transactionRepositories: TransactionRepositoryMetadataArgs[] = []\n readonly namingStrategies: NamingStrategyMetadataArgs[] = []\n readonly entitySubscribers: EntitySubscriberMetadataArgs[] = []\n readonly indices: IndexMetadataArgs[] = []\n readonly uniques: UniqueMetadataArgs[] = []\n readonly checks: CheckMetadataArgs[] = []\n readonly exclusions: ExclusionMetadataArgs[] = []\n readonly columns: ColumnMetadataArgs[] = []\n readonly generations: GeneratedMetadataArgs[] = []\n readonly relations: RelationMetadataArgs[] = []\n readonly joinColumns: JoinColumnMetadataArgs[] = []\n readonly joinTables: JoinTableMetadataArgs[] = []\n readonly entityListeners: EntityListenerMetadataArgs[] = []\n readonly relationCounts: RelationCountMetadataArgs[] = []\n readonly relationIds: RelationIdMetadataArgs[] = []\n readonly embeddeds: EmbeddedMetadataArgs[] = []\n readonly inheritances: InheritanceMetadataArgs[] = []\n readonly discriminatorValues: DiscriminatorValueMetadataArgs[] = []\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n filterTables(target: Function | string): TableMetadataArgs[]\n filterTables(target: (Function | string)[]): TableMetadataArgs[]\n filterTables(\n target: (Function | string) | (Function | string)[],\n ): TableMetadataArgs[] {\n return this.filterByTarget(this.tables, target)\n }\n\n filterColumns(target: Function | string): ColumnMetadataArgs[]\n filterColumns(target: (Function | string)[]): ColumnMetadataArgs[]\n filterColumns(\n target: (Function | string) | (Function | string)[],\n ): ColumnMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.columns,\n target,\n )\n }\n\n findGenerated(\n target: Function | string,\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string) | (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined {\n return this.generations.find((generated) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(generated.target) !== -1\n : generated.target === target) &&\n generated.propertyName === propertyName\n )\n })\n }\n\n findTree(\n target: (Function | string) | (Function | string)[],\n ): TreeMetadataArgs | undefined {\n return this.trees.find((tree) => {\n return Array.isArray(target)\n ? target.indexOf(tree.target) !== -1\n : tree.target === target\n })\n }\n\n filterRelations(target: Function | string): RelationMetadataArgs[]\n filterRelations(target: (Function | string)[]): RelationMetadataArgs[]\n filterRelations(\n target: (Function | string) | (Function | string)[],\n ): RelationMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateRelationProperties(\n this.relations,\n target,\n )\n }\n\n filterRelationIds(target: Function | string): RelationIdMetadataArgs[]\n filterRelationIds(target: (Function | string)[]): RelationIdMetadataArgs[]\n filterRelationIds(\n target: (Function | string) | (Function | string)[],\n ): RelationIdMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationIds,\n target,\n )\n }\n\n filterRelationCounts(target: Function | string): RelationCountMetadataArgs[]\n filterRelationCounts(\n target: (Function | string)[],\n ): RelationCountMetadataArgs[]\n filterRelationCounts(\n target: (Function | string) | (Function | string)[],\n ): RelationCountMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationCounts,\n target,\n )\n }\n\n filterIndices(target: Function | string): IndexMetadataArgs[]\n filterIndices(target: (Function | string)[]): IndexMetadataArgs[]\n filterIndices(\n target: (Function | string) | (Function | string)[],\n ): IndexMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.indices.filter((index) => {\n return Array.isArray(target)\n ? target.indexOf(index.target) !== -1\n : index.target === target\n })\n }\n\n filterUniques(target: Function | string): UniqueMetadataArgs[]\n filterUniques(target: (Function | string)[]): UniqueMetadataArgs[]\n filterUniques(\n target: (Function | string) | (Function | string)[],\n ): UniqueMetadataArgs[] {\n return this.uniques.filter((unique) => {\n return Array.isArray(target)\n ? target.indexOf(unique.target) !== -1\n : unique.target === target\n })\n }\n\n filterChecks(target: Function | string): CheckMetadataArgs[]\n filterChecks(target: (Function | string)[]): CheckMetadataArgs[]\n filterChecks(\n target: (Function | string) | (Function | string)[],\n ): CheckMetadataArgs[] {\n return this.checks.filter((check) => {\n return Array.isArray(target)\n ? target.indexOf(check.target) !== -1\n : check.target === target\n })\n }\n\n filterExclusions(target: Function | string): ExclusionMetadataArgs[]\n filterExclusions(target: (Function | string)[]): ExclusionMetadataArgs[]\n filterExclusions(\n target: (Function | string) | (Function | string)[],\n ): ExclusionMetadataArgs[] {\n return this.exclusions.filter((exclusion) => {\n return Array.isArray(target)\n ? target.indexOf(exclusion.target) !== -1\n : exclusion.target === target\n })\n }\n\n filterListeners(target: Function | string): EntityListenerMetadataArgs[]\n filterListeners(target: (Function | string)[]): EntityListenerMetadataArgs[]\n filterListeners(\n target: (Function | string) | (Function | string)[],\n ): EntityListenerMetadataArgs[] {\n return this.filterByTarget(this.entityListeners, target)\n }\n\n filterEmbeddeds(target: Function | string): EmbeddedMetadataArgs[]\n filterEmbeddeds(target: (Function | string)[]): EmbeddedMetadataArgs[]\n filterEmbeddeds(\n target: (Function | string) | (Function | string)[],\n ): EmbeddedMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateEmbeddedProperties(\n this.embeddeds,\n target,\n )\n }\n\n findJoinTable(\n target: Function | string,\n propertyName: string,\n ): JoinTableMetadataArgs | undefined {\n return this.joinTables.find((joinTable) => {\n return (\n joinTable.target === target &&\n joinTable.propertyName === propertyName\n )\n })\n }\n\n filterJoinColumns(\n target: Function | string,\n propertyName: string,\n ): JoinColumnMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.joinColumns.filter((joinColumn) => {\n return (\n joinColumn.target === target &&\n joinColumn.propertyName === propertyName\n )\n })\n }\n\n filterSubscribers(target: Function | string): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string)[],\n ): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string) | (Function | string)[],\n ): EntitySubscriberMetadataArgs[] {\n return this.filterByTarget(this.entitySubscribers, target)\n }\n\n filterNamingStrategies(\n target: Function | string,\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string)[],\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string) | (Function | string)[],\n ): NamingStrategyMetadataArgs[] {\n return this.filterByTarget(this.namingStrategies, target)\n }\n\n filterTransactionEntityManagers(\n target: Function | string,\n propertyName: string,\n ): TransactionEntityMetadataArgs[] {\n return this.transactionEntityManagers.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterTransactionRepository(\n target: Function | string,\n propertyName: string,\n ): TransactionRepositoryMetadataArgs[] {\n return this.transactionRepositories.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterSingleTableChildren(target: Function | string): TableMetadataArgs[] {\n return this.tables.filter((table) => {\n return (\n typeof table.target === \"function\" &&\n typeof target === \"function\" &&\n MetadataUtils.isInherited(table.target, target) &&\n table.type === \"entity-child\"\n )\n })\n }\n\n findInheritanceType(\n target: Function | string,\n ): InheritanceMetadataArgs | undefined {\n return this.inheritances.find(\n (inheritance) => inheritance.target === target,\n )\n }\n\n findDiscriminatorValue(\n target: Function | string,\n ): DiscriminatorValueMetadataArgs | undefined {\n return this.discriminatorValues.find(\n (discriminatorValue) => discriminatorValue.target === target,\n )\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Filters given array by a given target or targets.\n */\n protected filterByTarget<T extends { target: Function | string }>(\n array: T[],\n target: (Function | string) | (Function | string)[],\n ): T[] {\n return array.filter((table) => {\n return Array.isArray(target)\n ? target.indexOf(table.target) !== -1\n : table.target === target\n })\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate property names.\n */\n protected filterByTargetAndWithoutDuplicateProperties<\n T extends { target: Function | string; propertyName: string },\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n if (\n !newArray.find(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n )\n newArray.push(item)\n }\n })\n return newArray\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate relation property names.\n */\n protected filterByTargetAndWithoutDuplicateRelationProperties<\n T extends RelationMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const existingIndex = newArray.findIndex(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n if (\n Array.isArray(target) &&\n existingIndex !== -1 &&\n target.indexOf(item.target) <\n target.indexOf(newArray[existingIndex].target)\n ) {\n const clone = Object.create(newArray[existingIndex])\n clone.type = item.type\n newArray[existingIndex] = clone\n } else if (existingIndex === -1) {\n newArray.push(item)\n }\n }\n })\n return newArray\n }\n\n /**\n * Filters given array by a given target or targets and prevents duplicate embedded property names.\n */\n protected filterByTargetAndWithoutDuplicateEmbeddedProperties<\n T extends EmbeddedMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const isDuplicateEmbeddedProperty = newArray.find(\n (newItem: EmbeddedMetadataArgs): boolean =>\n newItem.prefix === item.prefix &&\n newItem.propertyName === item.propertyName,\n )\n if (!isDuplicateEmbeddedProperty) newArray.push(item)\n }\n })\n return newArray\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/metadata-builder/ClosureJunctionEntityMetadataBuilder.ts"],"names":[],"mappings":"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","file":"ClosureJunctionEntityMetadataBuilder.js","sourcesContent":["import { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { ForeignKeyMetadata } from \"../metadata/ForeignKeyMetadata\"\nimport { DataSource } from \"../data-source/DataSource\"\nimport { IndexMetadata } from \"../metadata/IndexMetadata\"\n\n/**\n * Creates EntityMetadata for junction tables of the closure entities.\n * Closure junction tables are tables generated by closure entities.\n */\nexport class ClosureJunctionEntityMetadataBuilder {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(private connection: DataSource) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds EntityMetadata for the closure junction of the given closure entity.\n */\n build(parentClosureEntityMetadata: EntityMetadata) {\n // create entity metadata itself\n const entityMetadata = new EntityMetadata({\n parentClosureEntityMetadata: parentClosureEntityMetadata,\n connection: this.connection,\n args: {\n target: \"\",\n name:\n parentClosureEntityMetadata.treeOptions &&\n parentClosureEntityMetadata.treeOptions.closureTableName\n ? parentClosureEntityMetadata.treeOptions\n .closureTableName\n : parentClosureEntityMetadata.tableNameWithoutPrefix,\n type: \"closure-junction\",\n },\n })\n entityMetadata.build()\n\n // create ancestor and descendant columns for new closure junction table\n parentClosureEntityMetadata.primaryColumns.forEach((primaryColumn) => {\n entityMetadata.ownColumns.push(\n new ColumnMetadata({\n connection: this.connection,\n entityMetadata: entityMetadata,\n closureType: \"ancestor\",\n referencedColumn: primaryColumn,\n args: {\n target: \"\",\n mode: \"virtual\",\n propertyName:\n parentClosureEntityMetadata.treeOptions &&\n parentClosureEntityMetadata.treeOptions\n .ancestorColumnName\n ? parentClosureEntityMetadata.treeOptions.ancestorColumnName(\n primaryColumn,\n )\n : primaryColumn.propertyName + \"_ancestor\",\n options: {\n primary: true,\n length: primaryColumn.length,\n type: primaryColumn.type,\n },\n },\n }),\n )\n entityMetadata.ownColumns.push(\n new ColumnMetadata({\n connection: this.connection,\n entityMetadata: entityMetadata,\n closureType: \"descendant\",\n referencedColumn: primaryColumn,\n args: {\n target: \"\",\n mode: \"virtual\",\n propertyName:\n parentClosureEntityMetadata.treeOptions &&\n parentClosureEntityMetadata.treeOptions\n .descendantColumnName\n ? parentClosureEntityMetadata.treeOptions.descendantColumnName(\n primaryColumn,\n )\n : primaryColumn.propertyName + \"_descendant\",\n options: {\n primary: true,\n length: primaryColumn.length,\n type: primaryColumn.type,\n },\n },\n }),\n )\n })\n\n entityMetadata.ownIndices = [\n new IndexMetadata({\n entityMetadata: entityMetadata,\n columns: [entityMetadata.ownColumns[0]],\n args: {\n target: entityMetadata.target,\n synchronize: true,\n },\n }),\n new IndexMetadata({\n entityMetadata: entityMetadata,\n columns: [entityMetadata.ownColumns[1]],\n args: {\n target: entityMetadata.target,\n synchronize: true,\n },\n }),\n ]\n\n // if tree level column was defined by a closure entity then add it to the junction columns as well\n if (parentClosureEntityMetadata.treeLevelColumn) {\n entityMetadata.ownColumns.push(\n new ColumnMetadata({\n connection: this.connection,\n entityMetadata: entityMetadata,\n args: {\n target: \"\",\n mode: \"virtual\",\n propertyName: \"level\",\n options: {\n type: this.connection.driver.mappedDataTypes\n .treeLevel,\n },\n },\n }),\n )\n }\n\n // create junction table foreign keys\n // Note: CASCADE is not applied to mssql because it does not support multi cascade paths\n entityMetadata.foreignKeys = [\n new ForeignKeyMetadata({\n entityMetadata: entityMetadata,\n referencedEntityMetadata: parentClosureEntityMetadata,\n columns: [entityMetadata.ownColumns[0]],\n referencedColumns: parentClosureEntityMetadata.primaryColumns,\n onDelete:\n this.connection.driver.options.type === \"mssql\"\n ? \"NO ACTION\"\n : \"CASCADE\",\n }),\n new ForeignKeyMetadata({\n entityMetadata: entityMetadata,\n referencedEntityMetadata: parentClosureEntityMetadata,\n columns: [entityMetadata.ownColumns[1]],\n referencedColumns: parentClosureEntityMetadata.primaryColumns,\n onDelete:\n this.connection.driver.options.type === \"mssql\"\n ? \"NO ACTION\"\n : \"CASCADE\",\n }),\n ]\n\n return entityMetadata\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/metadata-builder/ClosureJunctionEntityMetadataBuilder.ts"],"names":[],"mappings":"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","file":"ClosureJunctionEntityMetadataBuilder.js","sourcesContent":["import { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { ForeignKeyMetadata } from \"../metadata/ForeignKeyMetadata\"\nimport { DataSource } from \"../data-source/DataSource\"\nimport { IndexMetadata } from \"../metadata/IndexMetadata\"\n\n/**\n * Creates EntityMetadata for junction tables of the closure entities.\n * Closure junction tables are tables generated by closure entities.\n */\nexport class ClosureJunctionEntityMetadataBuilder {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(private connection: DataSource) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Builds EntityMetadata for the closure junction of the given closure entity.\n */\n build(parentClosureEntityMetadata: EntityMetadata) {\n // create entity metadata itself\n const entityMetadata = new EntityMetadata({\n parentClosureEntityMetadata: parentClosureEntityMetadata,\n connection: this.connection,\n args: {\n target: \"\",\n name:\n parentClosureEntityMetadata.treeOptions &&\n parentClosureEntityMetadata.treeOptions.closureTableName\n ? parentClosureEntityMetadata.treeOptions\n .closureTableName\n : parentClosureEntityMetadata.tableNameWithoutPrefix,\n type: \"closure-junction\",\n },\n })\n entityMetadata.build()\n\n // create ancestor and descendant columns for new closure junction table\n parentClosureEntityMetadata.primaryColumns.forEach((primaryColumn) => {\n entityMetadata.ownColumns.push(\n new ColumnMetadata({\n connection: this.connection,\n entityMetadata: entityMetadata,\n closureType: \"ancestor\",\n referencedColumn: primaryColumn,\n args: {\n target: \"\",\n mode: \"virtual\",\n propertyName:\n parentClosureEntityMetadata.treeOptions &&\n parentClosureEntityMetadata.treeOptions\n .ancestorColumnName\n ? parentClosureEntityMetadata.treeOptions.ancestorColumnName(\n primaryColumn,\n )\n : primaryColumn.propertyName + \"_ancestor\",\n options: {\n primary: true,\n length: primaryColumn.length,\n type: primaryColumn.type,\n },\n },\n }),\n )\n entityMetadata.ownColumns.push(\n new ColumnMetadata({\n connection: this.connection,\n entityMetadata: entityMetadata,\n closureType: \"descendant\",\n referencedColumn: primaryColumn,\n args: {\n target: \"\",\n mode: \"virtual\",\n propertyName:\n parentClosureEntityMetadata.treeOptions &&\n parentClosureEntityMetadata.treeOptions\n .descendantColumnName\n ? parentClosureEntityMetadata.treeOptions.descendantColumnName(\n primaryColumn,\n )\n : primaryColumn.propertyName + \"_descendant\",\n options: {\n primary: true,\n length: primaryColumn.length,\n type: primaryColumn.type,\n },\n },\n }),\n )\n })\n\n entityMetadata.ownIndices = [\n new IndexMetadata({\n entityMetadata: entityMetadata,\n columns: [entityMetadata.ownColumns[0]],\n args: {\n target: entityMetadata.target,\n synchronize: true,\n },\n }),\n new IndexMetadata({\n entityMetadata: entityMetadata,\n columns: [entityMetadata.ownColumns[1]],\n args: {\n target: entityMetadata.target,\n synchronize: true,\n },\n }),\n ]\n\n // if tree level column was defined by a closure entity then add it to the junction columns as well\n if (parentClosureEntityMetadata.treeLevelColumn) {\n entityMetadata.ownColumns.push(\n new ColumnMetadata({\n connection: this.connection,\n entityMetadata: entityMetadata,\n args: {\n target: \"\",\n mode: \"virtual\",\n propertyName: \"level\",\n options: {\n type: this.connection.driver.mappedDataTypes\n .treeLevel,\n },\n },\n }),\n )\n }\n\n // create junction table foreign keys\n // Note: CASCADE is not applied to mssql because it does not support multi cascade paths\n entityMetadata.foreignKeys = [\n new ForeignKeyMetadata({\n entityMetadata: entityMetadata,\n referencedEntityMetadata: parentClosureEntityMetadata,\n columns: [entityMetadata.ownColumns[0]],\n referencedColumns: parentClosureEntityMetadata.primaryColumns,\n onDelete:\n this.connection.driver.options.type === \"mssql\"\n ? \"NO ACTION\"\n : \"CASCADE\",\n }),\n new ForeignKeyMetadata({\n entityMetadata: entityMetadata,\n referencedEntityMetadata: parentClosureEntityMetadata,\n columns: [entityMetadata.ownColumns[1]],\n referencedColumns: parentClosureEntityMetadata.primaryColumns,\n onDelete:\n this.connection.driver.options.type === \"mssql\"\n ? \"NO ACTION\"\n : \"CASCADE\",\n }),\n ]\n\n return entityMetadata\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -743,14 +743,11 @@ class EntityMetadataBuilder {
|
|
|
743
743
|
* Creates indices for the table of single table inheritance.
|
|
744
744
|
*/
|
|
745
745
|
createKeysForTableInheritance(entityMetadata) {
|
|
746
|
-
const isDiscriminatorColumnAlreadyIndexed = entityMetadata.indices.some(({ givenColumnNames }) =>
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
givenColumnNames[0] ===
|
|
752
|
-
((_a = entityMetadata.discriminatorColumn) === null || _a === void 0 ? void 0 : _a.databaseName);
|
|
753
|
-
});
|
|
746
|
+
const isDiscriminatorColumnAlreadyIndexed = entityMetadata.indices.some(({ givenColumnNames }) => !!givenColumnNames &&
|
|
747
|
+
Array.isArray(givenColumnNames) &&
|
|
748
|
+
givenColumnNames.length === 1 &&
|
|
749
|
+
givenColumnNames[0] ===
|
|
750
|
+
entityMetadata.discriminatorColumn?.databaseName);
|
|
754
751
|
// If the discriminator column is already indexed, there is no need to
|
|
755
752
|
// add another index on top of it.
|
|
756
753
|
if (isDiscriminatorColumnAlreadyIndexed) {
|