taon-typeorm 18.0.24 → 19.0.0
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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/client/README.md +24 -24
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/typeorm/cache/DbQueryResultCache.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCache.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCacheFactory.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCacheOptions.js.map +1 -1
- package/lib/typeorm/cache/RedisQueryResultCache.js.map +1 -1
- package/lib/typeorm/cli-ts-node-commonjs.js.map +1 -1
- package/lib/typeorm/cli-ts-node-esm.js.map +1 -1
- package/lib/typeorm/cli.js.map +1 -1
- package/lib/typeorm/commands/CacheClearCommand.js.map +1 -1
- package/lib/typeorm/commands/CommandUtils.js.map +1 -1
- package/lib/typeorm/commands/EntityCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/InitCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationGenerateCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationRevertCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationRunCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationShowCommand.js.map +1 -1
- package/lib/typeorm/commands/QueryCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaDropCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaLogCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaSyncCommand.js.map +1 -1
- package/lib/typeorm/commands/SubscriberCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/VersionCommand.js.map +1 -1
- package/lib/typeorm/common/DeepPartial.js.map +1 -1
- package/lib/typeorm/common/EntityTarget.js.map +1 -1
- package/lib/typeorm/common/MixedList.js.map +1 -1
- package/lib/typeorm/common/NonNever.js.map +1 -1
- package/lib/typeorm/common/ObjectLiteral.js.map +1 -1
- package/lib/typeorm/common/ObjectType.js.map +1 -1
- package/lib/typeorm/common/RelationType.js.map +1 -1
- package/lib/typeorm/connection/BaseConnectionOptions.js.map +1 -1
- package/lib/typeorm/connection/Connection.js.map +1 -1
- package/lib/typeorm/connection/ConnectionManager.js.map +1 -1
- package/lib/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/lib/typeorm/connection/ConnectionOptions.js.map +1 -1
- package/lib/typeorm/connection/ConnectionOptionsReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/lib/typeorm/constants.js.map +1 -1
- package/lib/typeorm/container.js.map +1 -1
- package/lib/typeorm/data-source/BaseDataSourceOptions.js.map +1 -1
- package/lib/typeorm/data-source/DataSource.js.map +1 -1
- package/lib/typeorm/data-source/DataSourceOptions.js.map +1 -1
- package/lib/typeorm/data-source/index.js.map +1 -1
- package/lib/typeorm/decorator/Check.js.map +1 -1
- package/lib/typeorm/decorator/EntityRepository.js.map +1 -1
- package/lib/typeorm/decorator/Exclusion.js.map +1 -1
- package/lib/typeorm/decorator/Generated.js.map +1 -1
- package/lib/typeorm/decorator/Index.js.map +1 -1
- package/lib/typeorm/decorator/Unique.js.map +1 -1
- package/lib/typeorm/decorator/columns/Column.js.map +1 -1
- package/lib/typeorm/decorator/columns/CreateDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/PrimaryColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/VersionColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/ViewColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/VirtualColumn.js.map +1 -1
- package/lib/typeorm/decorator/entity/ChildEntity.js.map +1 -1
- package/lib/typeorm/decorator/entity/Entity.js.map +1 -1
- package/lib/typeorm/decorator/entity/TableInheritance.js.map +1 -1
- package/lib/typeorm/decorator/entity-view/ViewEntity.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterInsert.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterLoad.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterRecover.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterUpdate.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeInsert.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeRecover.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/lib/typeorm/decorator/listeners/EventSubscriber.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnWithWidthOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/EntityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/IndexOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinTableOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/RelationOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/TransactionOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/UniqueOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ValueTransformer.js.map +1 -1
- package/lib/typeorm/decorator/options/ViewColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ViewEntityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/relations/JoinColumn.js.map +1 -1
- package/lib/typeorm/decorator/relations/JoinTable.js.map +1 -1
- package/lib/typeorm/decorator/relations/ManyToMany.js.map +1 -1
- package/lib/typeorm/decorator/relations/ManyToOne.js.map +1 -1
- package/lib/typeorm/decorator/relations/OneToMany.js.map +1 -1
- package/lib/typeorm/decorator/relations/OneToOne.js.map +1 -1
- package/lib/typeorm/decorator/relations/RelationCount.js.map +1 -1
- package/lib/typeorm/decorator/relations/RelationId.js.map +1 -1
- package/lib/typeorm/decorator/tree/Tree.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeChildren.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeParent.js.map +1 -1
- package/lib/typeorm/driver/Driver.js.map +1 -1
- package/lib/typeorm/driver/DriverFactory.js.map +1 -1
- package/lib/typeorm/driver/DriverUtils.js.map +1 -1
- package/lib/typeorm/driver/Query.js.map +1 -1
- package/lib/typeorm/driver/SqlInMemory.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaDriver.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoDriver.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoDriver.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/mongodb/typings.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlDriver.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleDriver.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresDriver.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/sap/SapConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sap/SapDriver.js.map +1 -1
- package/lib/typeorm/driver/sap/SapQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerDriver.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsDriver.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
- package/lib/typeorm/driver/types/ColumnTypes.js.map +1 -1
- package/lib/typeorm/driver/types/CteCapabilities.js.map +1 -1
- package/lib/typeorm/driver/types/DataTypeDefaults.js.map +1 -1
- package/lib/typeorm/driver/types/DatabaseType.js.map +1 -1
- package/lib/typeorm/driver/types/IsolationLevel.js.map +1 -1
- package/lib/typeorm/driver/types/MappedColumnTypes.js.map +1 -1
- package/lib/typeorm/driver/types/MetadataTableType.js.map +1 -1
- package/lib/typeorm/driver/types/ReplicationMode.js.map +1 -1
- package/lib/typeorm/driver/types/UpsertType.js.map +1 -1
- package/lib/typeorm/entity-manager/EntityManager.js.map +1 -1
- package/lib/typeorm/entity-manager/EntityManagerFactory.js.map +1 -1
- package/lib/typeorm/entity-manager/MongoEntityManager.js.map +1 -1
- package/lib/typeorm/entity-manager/SqljsEntityManager.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchema.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/lib/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/lib/typeorm/error/CannotDetermineEntityError.js.map +1 -1
- package/lib/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/lib/typeorm/error/CircularRelationsError.js.map +1 -1
- package/lib/typeorm/error/ColumnTypeUndefinedError.js.map +1 -1
- package/lib/typeorm/error/ConnectionIsNotSetError.js.map +1 -1
- package/lib/typeorm/error/ConnectionNotFoundError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/lib/typeorm/error/DataTypeNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/DriverOptionNotSetError.js.map +1 -1
- package/lib/typeorm/error/DriverPackageNotInstalledError.js.map +1 -1
- package/lib/typeorm/error/EntityMetadataNotFoundError.js.map +1 -1
- package/lib/typeorm/error/EntityNotFoundError.js.map +1 -1
- package/lib/typeorm/error/EntityPropertyNotFoundError.js.map +1 -1
- package/lib/typeorm/error/FindRelationsNotFoundError.js.map +1 -1
- package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
- package/lib/typeorm/error/InitializedRelationError.js.map +1 -1
- package/lib/typeorm/error/InsertValuesMissingError.js.map +1 -1
- package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/lib/typeorm/error/MetadataAlreadyExistsError.js.map +1 -1
- package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/lib/typeorm/error/MissingDeleteDateColumnError.js.map +1 -1
- package/lib/typeorm/error/MissingDriverError.js.map +1 -1
- package/lib/typeorm/error/MissingJoinColumnError.js.map +1 -1
- package/lib/typeorm/error/MissingJoinTableError.js.map +1 -1
- package/lib/typeorm/error/MissingPrimaryColumnError.js.map +1 -1
- package/lib/typeorm/error/MustBeEntityError.js.map +1 -1
- package/lib/typeorm/error/NamingStrategyNotFoundError.js.map +1 -1
- package/lib/typeorm/error/NestedSetMultipleRootError.js.map +1 -1
- package/lib/typeorm/error/NoConnectionForRepositoryError.js.map +1 -1
- package/lib/typeorm/error/NoConnectionOptionError.js.map +1 -1
- package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/lib/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/lib/typeorm/error/PersistedEntityNotFoundError.js.map +1 -1
- package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/lib/typeorm/error/QueryFailedError.js.map +1 -1
- package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/lib/typeorm/error/RepositoryNotTreeError.js.map +1 -1
- package/lib/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/lib/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/lib/typeorm/error/TransactionAlreadyStartedError.js.map +1 -1
- package/lib/typeorm/error/TransactionNotStartedError.js.map +1 -1
- package/lib/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/TypeORMError.js.map +1 -1
- package/lib/typeorm/error/UpdateValuesMissingError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/lib/typeorm/error/index.js.map +1 -1
- package/lib/typeorm/find-options/EqualOperator.js.map +1 -1
- package/lib/typeorm/find-options/FindManyOptions.js.map +1 -1
- package/lib/typeorm/find-options/FindOneOptions.js.map +1 -1
- package/lib/typeorm/find-options/FindOperator.js.map +1 -1
- package/lib/typeorm/find-options/FindOperatorType.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsOrder.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsRelations.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsSelect.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsUtils.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsWhere.js.map +1 -1
- package/lib/typeorm/find-options/FindTreeOptions.js.map +1 -1
- package/lib/typeorm/find-options/JoinOptions.js.map +1 -1
- package/lib/typeorm/find-options/OrderByCondition.js.map +1 -1
- package/lib/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
- package/lib/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
- package/lib/typeorm/find-options/operator/And.js.map +1 -1
- package/lib/typeorm/find-options/operator/Any.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayContains.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayOverlap.js.map +1 -1
- package/lib/typeorm/find-options/operator/Between.js.map +1 -1
- package/lib/typeorm/find-options/operator/Equal.js.map +1 -1
- package/lib/typeorm/find-options/operator/ILike.js.map +1 -1
- package/lib/typeorm/find-options/operator/In.js.map +1 -1
- package/lib/typeorm/find-options/operator/IsNull.js.map +1 -1
- package/lib/typeorm/find-options/operator/LessThan.js.map +1 -1
- package/lib/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/lib/typeorm/find-options/operator/Like.js.map +1 -1
- package/lib/typeorm/find-options/operator/MoreThan.js.map +1 -1
- package/lib/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/lib/typeorm/find-options/operator/Not.js.map +1 -1
- package/lib/typeorm/find-options/operator/Raw.js.map +1 -1
- package/lib/typeorm/globals.js.map +1 -1
- package/lib/typeorm/index.js.map +1 -1
- package/lib/typeorm/logger/AdvancedConsoleLogger.js.map +1 -1
- package/lib/typeorm/logger/DebugLogger.js.map +1 -1
- package/lib/typeorm/logger/FileLogger.js.map +1 -1
- package/lib/typeorm/logger/Logger.js.map +1 -1
- package/lib/typeorm/logger/LoggerFactory.js.map +1 -1
- package/lib/typeorm/logger/LoggerOptions.js.map +1 -1
- package/lib/typeorm/logger/SimpleConsoleLogger.js.map +1 -1
- package/lib/typeorm/metadata/CheckMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ColumnMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EmbeddedMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EntityListenerMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EntityMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ExclusionMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ForeignKeyMetadata.js.map +1 -1
- package/lib/typeorm/metadata/IndexMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationCountMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationIdMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationMetadata.js.map +1 -1
- package/lib/typeorm/metadata/UniqueMetadata.js.map +1 -1
- package/lib/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -1
- package/lib/typeorm/metadata/types/DeferrableType.js.map +1 -1
- package/lib/typeorm/metadata/types/EventListenerTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/OnDeleteType.js.map +1 -1
- package/lib/typeorm/metadata/types/OnUpdateType.js.map +1 -1
- package/lib/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/lib/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/lib/typeorm/metadata/types/RelationTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/TableTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/TreeTypes.js.map +1 -1
- package/lib/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TableMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/types/ColumnMode.js.map +1 -1
- package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/MetadataUtils.js.map +1 -1
- package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/lib/typeorm/migration/Migration.js.map +1 -1
- package/lib/typeorm/migration/MigrationExecutor.js.map +1 -1
- package/lib/typeorm/migration/MigrationInterface.js.map +1 -1
- package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/lib/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/lib/typeorm/persistence/EntityPersistExecutor.js.map +1 -1
- package/lib/typeorm/persistence/Subject.js.map +1 -1
- package/lib/typeorm/persistence/SubjectChangeMap.js.map +1 -1
- package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/lib/typeorm/persistence/SubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/lib/typeorm/platform/PlatformTools.js.map +1 -1
- package/lib/typeorm/query-builder/Alias.js.map +1 -1
- package/lib/typeorm/query-builder/Brackets.js.map +1 -1
- package/lib/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -1
- package/lib/typeorm/query-builder/InsertQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/JoinAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/JoinOptions.js.map +1 -1
- package/lib/typeorm/query-builder/NotBrackets.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilderCte.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilderUtils.js.map +1 -1
- package/lib/typeorm/query-builder/QueryExpressionMap.js.map +1 -1
- package/lib/typeorm/query-builder/QueryPartialEntity.js.map +1 -1
- package/lib/typeorm/query-builder/RelationIdLoader.js.map +1 -1
- package/lib/typeorm/query-builder/RelationLoader.js.map +1 -1
- package/lib/typeorm/query-builder/RelationQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/RelationRemover.js.map +1 -1
- package/lib/typeorm/query-builder/RelationUpdater.js.map +1 -1
- package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQuery.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/WhereClause.js.map +1 -1
- package/lib/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/result/DeleteResult.js.map +1 -1
- package/lib/typeorm/query-builder/result/InsertResult.js.map +1 -1
- package/lib/typeorm/query-builder/result/UpdateResult.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-runner/BaseQueryRunner.js.map +1 -1
- package/lib/typeorm/query-runner/QueryLock.js.map +1 -1
- package/lib/typeorm/query-runner/QueryResult.js.map +1 -1
- package/lib/typeorm/query-runner/QueryRunner.js.map +1 -1
- package/lib/typeorm/repository/AbstractRepository.js.map +1 -1
- package/lib/typeorm/repository/BaseEntity.js.map +1 -1
- package/lib/typeorm/repository/EntityId.js.map +1 -1
- package/lib/typeorm/repository/FindTreesOptions.js.map +1 -1
- package/lib/typeorm/repository/MongoRepository.js.map +1 -1
- package/lib/typeorm/repository/RemoveOptions.js.map +1 -1
- package/lib/typeorm/repository/Repository.js.map +1 -1
- package/lib/typeorm/repository/SaveOptions.js.map +1 -1
- package/lib/typeorm/repository/TreeRepository.js.map +1 -1
- package/lib/typeorm/repository/UpsertOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/SchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/ViewOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/table/Table.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableCheck.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableColumn.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableExclusion.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableForeignKey.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableIndex.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableUnique.js.map +1 -1
- package/lib/typeorm/schema-builder/util/TableUtils.js.map +1 -1
- package/lib/typeorm/schema-builder/util/ViewUtils.js.map +1 -1
- package/lib/typeorm/schema-builder/view/View.js.map +1 -1
- package/lib/typeorm/subscriber/Broadcaster.js.map +1 -1
- package/lib/typeorm/subscriber/BroadcasterResult.js.map +1 -1
- package/lib/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/lib/typeorm/subscriber/event/InsertEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/LoadEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/RecoverEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/RemoveEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/UpdateEvent.js.map +1 -1
- package/lib/typeorm/util/ApplyValueTransformers.js.map +1 -1
- package/lib/typeorm/util/DateUtils.js.map +1 -1
- package/lib/typeorm/util/DepGraph.js.map +1 -1
- package/lib/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/lib/typeorm/util/ImportUtils.js.map +1 -1
- package/lib/typeorm/util/InstanceChecker.js.map +1 -1
- package/lib/typeorm/util/ObjectUtils.js.map +1 -1
- package/lib/typeorm/util/OrmUtils.js.map +1 -1
- package/lib/typeorm/util/PathUtils.js.map +1 -1
- package/lib/typeorm/util/RandomGenerator.js.map +1 -1
- package/lib/typeorm/util/StringUtils.js.map +1 -1
- package/lib/typeorm/util/TreeRepositoryUtils.js.map +1 -1
- package/lib/typeorm/util/VersionUtils.js.map +1 -1
- package/lib/typeorm/util/escapeRegExp.js.map +1 -1
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +1 -1
- package/tmp-environment.json +3 -3
- package/websql/README.md +24 -24
- package/browser/esm2022/lib/index.mjs +0 -4
- package/browser/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
- package/browser/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
- package/browser/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
- package/browser/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
- package/browser/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
- package/browser/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
- package/browser/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
- package/browser/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
- package/browser/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
- package/browser/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
- package/browser/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
- package/browser/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
- package/browser/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
- package/browser/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
- package/browser/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
- package/browser/esm2022/lib/typeorm/constants.mjs +0 -4
- package/browser/esm2022/lib/typeorm/container.mjs +0 -57
- package/browser/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
- package/browser/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
- package/browser/esm2022/lib/typeorm/data-source/index.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
- package/browser/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
- package/browser/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
- package/browser/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
- package/browser/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
- package/browser/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
- package/browser/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
- package/browser/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
- package/browser/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
- package/browser/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
- package/browser/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
- package/browser/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
- package/browser/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
- package/browser/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
- package/browser/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
- package/browser/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
- package/browser/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
- package/browser/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
- package/browser/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
- package/browser/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
- package/browser/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
- package/browser/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
- package/browser/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
- package/browser/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
- package/browser/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
- package/browser/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
- package/browser/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
- package/browser/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
- package/browser/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
- package/browser/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
- package/browser/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
- package/browser/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
- package/browser/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
- package/browser/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
- package/browser/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
- package/browser/esm2022/lib/typeorm/driver/Query.mjs +0 -13
- package/browser/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
- package/browser/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
- package/browser/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
- package/browser/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
- package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
- package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
- package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
- package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
- package/browser/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
- package/browser/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
- package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
- package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
- package/browser/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
- package/browser/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
- package/browser/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
- package/browser/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
- package/browser/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
- package/browser/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
- package/browser/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
- package/browser/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
- package/browser/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
- package/browser/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
- package/browser/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
- package/browser/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
- package/browser/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
- package/browser/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
- package/browser/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
- package/browser/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
- package/browser/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
- package/browser/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
- package/browser/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
- package/browser/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
- package/browser/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
- package/browser/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
- package/browser/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
- package/browser/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
- package/browser/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
- package/browser/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
- package/browser/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
- package/browser/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
- package/browser/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
- package/browser/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
- package/browser/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
- package/browser/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
- package/browser/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
- package/browser/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
- package/browser/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
- package/browser/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
- package/browser/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
- package/browser/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
- package/browser/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
- package/browser/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
- package/browser/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
- package/browser/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
- package/browser/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
- package/browser/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
- package/browser/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
- package/browser/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
- package/browser/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
- package/browser/esm2022/lib/typeorm/error/index.mjs +0 -63
- package/browser/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
- package/browser/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
- package/browser/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
- package/browser/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
- package/browser/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
- package/browser/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
- package/browser/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
- package/browser/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
- package/browser/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
- package/browser/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
- package/browser/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
- package/browser/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
- package/browser/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
- package/browser/esm2022/lib/typeorm/globals.mjs +0 -165
- package/browser/esm2022/lib/typeorm/index.mjs +0 -157
- package/browser/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
- package/browser/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
- package/browser/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
- package/browser/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
- package/browser/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
- package/browser/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
- package/browser/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
- package/browser/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
- package/browser/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
- package/browser/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
- package/browser/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
- package/browser/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
- package/browser/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
- package/browser/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
- package/browser/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
- package/browser/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
- package/browser/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
- package/browser/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
- package/browser/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
- package/browser/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
- package/browser/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
- package/browser/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
- package/browser/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
- package/browser/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
- package/browser/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
- package/browser/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
- package/browser/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
- package/browser/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
- package/browser/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
- package/browser/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
- package/browser/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
- package/browser/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
- package/browser/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
- package/browser/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
- package/browser/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
- package/browser/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
- package/browser/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
- package/browser/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
- package/browser/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
- package/browser/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
- package/browser/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
- package/browser/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
- package/browser/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
- package/browser/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
- package/browser/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
- package/browser/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
- package/browser/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
- package/browser/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -346
- package/browser/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
- package/browser/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
- package/browser/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
- package/browser/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
- package/browser/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
- package/browser/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
- package/browser/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
- package/browser/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
- package/browser/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
- package/browser/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
- package/browser/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
- package/browser/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
- package/browser/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
- package/browser/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
- package/browser/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
- package/browser/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
- package/browser/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
- package/browser/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
- package/browser/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
- package/browser/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
- package/browser/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
- package/browser/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
- package/browser/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
- package/browser/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
- package/browser/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
- package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
- package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
- package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
- package/browser/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
- package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
- package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
- package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
- package/browser/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
- package/browser/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
- package/browser/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
- package/browser/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
- package/browser/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
- package/browser/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
- package/browser/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
- package/browser/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
- package/browser/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
- package/browser/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
- package/browser/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
- package/browser/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
- package/browser/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
- package/browser/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
- package/browser/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
- package/browser/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
- package/browser/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
- package/browser/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
- package/browser/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
- package/browser/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
- package/browser/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
- package/browser/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
- package/browser/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
- package/browser/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
- package/browser/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
- package/browser/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
- package/browser/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
- package/browser/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
- package/browser/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
- package/browser/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
- package/browser/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
- package/browser/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
- package/browser/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
- package/browser/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
- package/browser/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
- package/browser/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
- package/browser/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
- package/browser/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
- package/browser/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
- package/browser/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
- package/browser/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
- package/browser/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
- package/browser/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
- package/browser/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
- package/browser/esm2022/public-api.mjs +0 -2
- package/browser/esm2022/taon-typeorm.mjs +0 -5
- package/client/esm2022/lib/index.mjs +0 -4
- package/client/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
- package/client/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
- package/client/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
- package/client/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
- package/client/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
- package/client/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
- package/client/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
- package/client/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
- package/client/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
- package/client/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
- package/client/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
- package/client/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
- package/client/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
- package/client/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
- package/client/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
- package/client/esm2022/lib/typeorm/constants.mjs +0 -4
- package/client/esm2022/lib/typeorm/container.mjs +0 -57
- package/client/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
- package/client/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
- package/client/esm2022/lib/typeorm/data-source/index.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
- package/client/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
- package/client/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
- package/client/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
- package/client/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
- package/client/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
- package/client/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
- package/client/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
- package/client/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
- package/client/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
- package/client/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
- package/client/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
- package/client/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
- package/client/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
- package/client/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
- package/client/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
- package/client/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
- package/client/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
- package/client/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
- package/client/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
- package/client/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
- package/client/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
- package/client/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
- package/client/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
- package/client/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
- package/client/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
- package/client/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
- package/client/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
- package/client/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
- package/client/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
- package/client/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
- package/client/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
- package/client/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
- package/client/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
- package/client/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
- package/client/esm2022/lib/typeorm/driver/Query.mjs +0 -13
- package/client/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
- package/client/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
- package/client/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
- package/client/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
- package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
- package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
- package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
- package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
- package/client/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
- package/client/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
- package/client/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
- package/client/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
- package/client/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
- package/client/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
- package/client/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
- package/client/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
- package/client/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
- package/client/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
- package/client/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
- package/client/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
- package/client/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
- package/client/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
- package/client/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
- package/client/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
- package/client/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
- package/client/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
- package/client/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
- package/client/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
- package/client/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
- package/client/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
- package/client/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
- package/client/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
- package/client/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
- package/client/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
- package/client/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
- package/client/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
- package/client/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
- package/client/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
- package/client/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
- package/client/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
- package/client/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
- package/client/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
- package/client/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
- package/client/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
- package/client/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
- package/client/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
- package/client/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
- package/client/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
- package/client/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
- package/client/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
- package/client/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
- package/client/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
- package/client/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
- package/client/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
- package/client/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
- package/client/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
- package/client/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
- package/client/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
- package/client/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
- package/client/esm2022/lib/typeorm/error/index.mjs +0 -63
- package/client/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
- package/client/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
- package/client/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
- package/client/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
- package/client/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
- package/client/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
- package/client/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
- package/client/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
- package/client/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
- package/client/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
- package/client/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
- package/client/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
- package/client/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
- package/client/esm2022/lib/typeorm/globals.mjs +0 -165
- package/client/esm2022/lib/typeorm/index.mjs +0 -157
- package/client/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
- package/client/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
- package/client/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
- package/client/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
- package/client/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
- package/client/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
- package/client/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
- package/client/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
- package/client/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
- package/client/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
- package/client/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
- package/client/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
- package/client/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
- package/client/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
- package/client/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
- package/client/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
- package/client/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
- package/client/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
- package/client/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
- package/client/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
- package/client/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
- package/client/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
- package/client/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
- package/client/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
- package/client/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
- package/client/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
- package/client/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
- package/client/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
- package/client/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
- package/client/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
- package/client/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
- package/client/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
- package/client/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
- package/client/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
- package/client/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
- package/client/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
- package/client/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
- package/client/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
- package/client/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
- package/client/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
- package/client/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
- package/client/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
- package/client/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
- package/client/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
- package/client/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
- package/client/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
- package/client/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
- package/client/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -346
- package/client/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
- package/client/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
- package/client/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
- package/client/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
- package/client/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
- package/client/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
- package/client/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
- package/client/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
- package/client/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
- package/client/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
- package/client/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
- package/client/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
- package/client/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
- package/client/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
- package/client/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
- package/client/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
- package/client/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
- package/client/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
- package/client/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
- package/client/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
- package/client/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
- package/client/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
- package/client/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
- package/client/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
- package/client/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
- package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
- package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
- package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
- package/client/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
- package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
- package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
- package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
- package/client/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
- package/client/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
- package/client/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
- package/client/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
- package/client/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
- package/client/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
- package/client/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
- package/client/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
- package/client/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
- package/client/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
- package/client/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
- package/client/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
- package/client/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
- package/client/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
- package/client/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
- package/client/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
- package/client/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
- package/client/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
- package/client/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
- package/client/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
- package/client/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
- package/client/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
- package/client/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
- package/client/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
- package/client/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
- package/client/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
- package/client/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
- package/client/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
- package/client/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
- package/client/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
- package/client/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
- package/client/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
- package/client/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
- package/client/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
- package/client/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
- package/client/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
- package/client/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
- package/client/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
- package/client/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
- package/client/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
- package/client/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
- package/client/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
- package/client/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
- package/client/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
- package/client/esm2022/public-api.mjs +0 -2
- package/client/esm2022/taon-typeorm.mjs +0 -5
- package/taon.jsonc +0 -10
- package/websql/esm2022/lib/index.mjs +0 -4
- package/websql/esm2022/lib/typeorm/cache/DbQueryResultCache.mjs +0 -251
- package/websql/esm2022/lib/typeorm/cache/QueryResultCache.mjs +0 -4
- package/websql/esm2022/lib/typeorm/cache/QueryResultCacheFactory.mjs +0 -33
- package/websql/esm2022/lib/typeorm/cache/QueryResultCacheOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/cache/RedisQueryResultCache.mjs +0 -185
- package/websql/esm2022/lib/typeorm/common/DeepPartial.mjs +0 -3
- package/websql/esm2022/lib/typeorm/common/EntityTarget.mjs +0 -3
- package/websql/esm2022/lib/typeorm/common/MixedList.mjs +0 -3
- package/websql/esm2022/lib/typeorm/common/ObjectLiteral.mjs +0 -4
- package/websql/esm2022/lib/typeorm/common/ObjectType.mjs +0 -3
- package/websql/esm2022/lib/typeorm/common/RelationType.mjs +0 -3
- package/websql/esm2022/lib/typeorm/connection/Connection.mjs +0 -13
- package/websql/esm2022/lib/typeorm/connection/ConnectionManager.mjs +0 -57
- package/websql/esm2022/lib/typeorm/connection/ConnectionMetadataBuilder.mjs +0 -63
- package/websql/esm2022/lib/typeorm/connection/ConnectionOptions.mjs +0 -3
- package/websql/esm2022/lib/typeorm/connection/ConnectionOptionsReader.mjs +0 -237
- package/websql/esm2022/lib/typeorm/constants.mjs +0 -4
- package/websql/esm2022/lib/typeorm/container.mjs +0 -57
- package/websql/esm2022/lib/typeorm/data-source/BaseDataSourceOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/data-source/DataSource.mjs +0 -458
- package/websql/esm2022/lib/typeorm/data-source/DataSourceOptions.mjs +0 -11
- package/websql/esm2022/lib/typeorm/data-source/index.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/Check.mjs +0 -25
- package/websql/esm2022/lib/typeorm/decorator/EntityRepository.mjs +0 -19
- package/websql/esm2022/lib/typeorm/decorator/Exclusion.mjs +0 -25
- package/websql/esm2022/lib/typeorm/decorator/Generated.mjs +0 -22
- package/websql/esm2022/lib/typeorm/decorator/Index.mjs +0 -52
- package/websql/esm2022/lib/typeorm/decorator/Unique.mjs +0 -48
- package/websql/esm2022/lib/typeorm/decorator/columns/Column.mjs +0 -67
- package/websql/esm2022/lib/typeorm/decorator/columns/CreateDateColumn.mjs +0 -19
- package/websql/esm2022/lib/typeorm/decorator/columns/DeleteDateColumn.mjs +0 -18
- package/websql/esm2022/lib/typeorm/decorator/columns/ObjectIdColumn.mjs +0 -23
- package/websql/esm2022/lib/typeorm/decorator/columns/PrimaryColumn.mjs +0 -54
- package/websql/esm2022/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.mjs +0 -52
- package/websql/esm2022/lib/typeorm/decorator/columns/UpdateDateColumn.mjs +0 -18
- package/websql/esm2022/lib/typeorm/decorator/columns/VersionColumn.mjs +0 -19
- package/websql/esm2022/lib/typeorm/decorator/columns/ViewColumn.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/columns/VirtualColumn.mjs +0 -41
- package/websql/esm2022/lib/typeorm/decorator/entity/ChildEntity.mjs +0 -21
- package/websql/esm2022/lib/typeorm/decorator/entity/Entity.mjs +0 -28
- package/websql/esm2022/lib/typeorm/decorator/entity/TableInheritance.mjs +0 -20
- package/websql/esm2022/lib/typeorm/decorator/entity-view/ViewEntity.mjs +0 -30
- package/websql/esm2022/lib/typeorm/decorator/listeners/AfterInsert.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/AfterLoad.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/AfterRecover.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/AfterRemove.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/AfterSoftRemove.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/AfterUpdate.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeInsert.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeRecover.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeRemove.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeSoftRemove.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/BeforeUpdate.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/listeners/EventSubscriber.mjs +0 -15
- package/websql/esm2022/lib/typeorm/decorator/options/ColumnCommonOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ColumnEmbeddedOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ColumnEnumOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ColumnHstoreOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ColumnNumericOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ColumnOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ColumnWithLengthOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ColumnWithWidthOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/EntityOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/IndexOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/JoinColumnOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/JoinTableOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/RelationOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/SpatialColumnOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/UniqueOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ValueTransformer.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ViewColumnOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/ViewEntityOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/options/VirtualColumnOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/decorator/relations/JoinColumn.mjs +0 -25
- package/websql/esm2022/lib/typeorm/decorator/relations/JoinTable.mjs +0 -31
- package/websql/esm2022/lib/typeorm/decorator/relations/ManyToMany.mjs +0 -40
- package/websql/esm2022/lib/typeorm/decorator/relations/ManyToOne.mjs +0 -40
- package/websql/esm2022/lib/typeorm/decorator/relations/OneToMany.mjs +0 -32
- package/websql/esm2022/lib/typeorm/decorator/relations/OneToOne.mjs +0 -39
- package/websql/esm2022/lib/typeorm/decorator/relations/RelationCount.mjs +0 -20
- package/websql/esm2022/lib/typeorm/decorator/relations/RelationId.mjs +0 -20
- package/websql/esm2022/lib/typeorm/decorator/tree/Tree.mjs +0 -19
- package/websql/esm2022/lib/typeorm/decorator/tree/TreeChildren.mjs +0 -34
- package/websql/esm2022/lib/typeorm/decorator/tree/TreeLevelColumn.mjs +0 -17
- package/websql/esm2022/lib/typeorm/decorator/tree/TreeParent.mjs +0 -34
- package/websql/esm2022/lib/typeorm/driver/Driver.mjs +0 -4
- package/websql/esm2022/lib/typeorm/driver/DriverFactory.mjs +0 -99
- package/websql/esm2022/lib/typeorm/driver/DriverUtils.mjs +0 -213
- package/websql/esm2022/lib/typeorm/driver/Query.mjs +0 -13
- package/websql/esm2022/lib/typeorm/driver/SqlInMemory.mjs +0 -12
- package/websql/esm2022/lib/typeorm/driver/cordova/CordovaConnectionOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +0 -63
- package/websql/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +0 -152
- package/websql/esm2022/lib/typeorm/driver/mongodb/typings.mjs +0 -6516
- package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +0 -82
- package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +0 -82
- package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +0 -69
- package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +0 -81
- package/websql/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.mjs +0 -582
- package/websql/esm2022/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.mjs +0 -1421
- package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsConnectionOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +0 -249
- package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +0 -107
- package/websql/esm2022/lib/typeorm/driver/types/ColumnTypes.mjs +0 -3
- package/websql/esm2022/lib/typeorm/driver/types/CteCapabilities.mjs +0 -4
- package/websql/esm2022/lib/typeorm/driver/types/DataTypeDefaults.mjs +0 -4
- package/websql/esm2022/lib/typeorm/driver/types/DatabaseType.mjs +0 -3
- package/websql/esm2022/lib/typeorm/driver/types/IsolationLevel.mjs +0 -3
- package/websql/esm2022/lib/typeorm/driver/types/MappedColumnTypes.mjs +0 -4
- package/websql/esm2022/lib/typeorm/driver/types/MetadataTableType.mjs +0 -9
- package/websql/esm2022/lib/typeorm/driver/types/ReplicationMode.mjs +0 -3
- package/websql/esm2022/lib/typeorm/driver/types/UpsertType.mjs +0 -3
- package/websql/esm2022/lib/typeorm/entity-manager/EntityManager.mjs +0 -743
- package/websql/esm2022/lib/typeorm/entity-manager/EntityManagerFactory.mjs +0 -23
- package/websql/esm2022/lib/typeorm/entity-manager/SqljsEntityManager.mjs +0 -35
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchema.mjs +0 -12
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaCheckOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaColumnOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.mjs +0 -5
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.mjs +0 -15
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaIndexOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaOptions.mjs +0 -8
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaRelationOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaTransformer.mjs +0 -268
- package/websql/esm2022/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/error/AlreadyHasActiveConnectionError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/CannotAttachTreeChildrenEntityError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/CannotConnectAlreadyConnectedError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/CannotCreateEntityIdMapError.mjs +0 -18
- package/websql/esm2022/lib/typeorm/error/CannotDetermineEntityError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/CannotExecuteNotConnectedError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/CannotReflectMethodParameterTypeError.mjs +0 -15
- package/websql/esm2022/lib/typeorm/error/CircularRelationsError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/ColumnTypeUndefinedError.mjs +0 -16
- package/websql/esm2022/lib/typeorm/error/ConnectionIsNotSetError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/ConnectionNotFoundError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.mjs +0 -15
- package/websql/esm2022/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.mjs +0 -15
- package/websql/esm2022/lib/typeorm/error/CustomRepositoryNotFoundError.mjs +0 -15
- package/websql/esm2022/lib/typeorm/error/DataTypeNotSupportedError.mjs +0 -11
- package/websql/esm2022/lib/typeorm/error/DriverOptionNotSetError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/DriverPackageNotInstalledError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/EntityMetadataNotFoundError.mjs +0 -26
- package/websql/esm2022/lib/typeorm/error/EntityNotFoundError.mjs +0 -37
- package/websql/esm2022/lib/typeorm/error/EntityPropertyNotFoundError.mjs +0 -14
- package/websql/esm2022/lib/typeorm/error/FindRelationsNotFoundError.mjs +0 -20
- package/websql/esm2022/lib/typeorm/error/InitializedRelationError.mjs +0 -17
- package/websql/esm2022/lib/typeorm/error/InsertValuesMissingError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/LimitOnUpdateNotSupportedError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/LockNotSupportedOnGivenDriverError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/MetadataAlreadyExistsError.mjs +0 -15
- package/websql/esm2022/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/MissingDeleteDateColumnError.mjs +0 -9
- package/websql/esm2022/lib/typeorm/error/MissingDriverError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/MissingJoinColumnError.mjs +0 -20
- package/websql/esm2022/lib/typeorm/error/MissingJoinTableError.mjs +0 -20
- package/websql/esm2022/lib/typeorm/error/MissingPrimaryColumnError.mjs +0 -10
- package/websql/esm2022/lib/typeorm/error/MustBeEntityError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/NamingStrategyNotFoundError.mjs +0 -18
- package/websql/esm2022/lib/typeorm/error/NestedSetMultipleRootError.mjs +0 -9
- package/websql/esm2022/lib/typeorm/error/NoConnectionForRepositoryError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/NoConnectionOptionError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/NoNeedToReleaseEntityManagerError.mjs +0 -14
- package/websql/esm2022/lib/typeorm/error/NoVersionOrUpdateDateColumnError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.mjs +0 -14
- package/websql/esm2022/lib/typeorm/error/OptimisticLockCanNotBeUsedError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/OptimisticLockVersionMismatchError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/PersistedEntityNotFoundError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/PessimisticLockTransactionRequiredError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/PrimaryColumnCannotBeNullableError.mjs +0 -10
- package/websql/esm2022/lib/typeorm/error/QueryFailedError.mjs +0 -27
- package/websql/esm2022/lib/typeorm/error/QueryRunnerAlreadyReleasedError.mjs +0 -9
- package/websql/esm2022/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/RepositoryNotTreeError.mjs +0 -29
- package/websql/esm2022/lib/typeorm/error/ReturningStatementNotSupportedError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/SubjectRemovedAndUpdatedError.mjs +0 -13
- package/websql/esm2022/lib/typeorm/error/SubjectWithoutIdentifierError.mjs +0 -14
- package/websql/esm2022/lib/typeorm/error/TransactionAlreadyStartedError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/TransactionNotStartedError.mjs +0 -12
- package/websql/esm2022/lib/typeorm/error/TreeRepositoryNotSupportedError.mjs +0 -9
- package/websql/esm2022/lib/typeorm/error/TypeORMError.mjs +0 -18
- package/websql/esm2022/lib/typeorm/error/UpdateValuesMissingError.mjs +0 -9
- package/websql/esm2022/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.mjs +0 -10
- package/websql/esm2022/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.mjs +0 -11
- package/websql/esm2022/lib/typeorm/error/UsingJoinTableIsNotAllowedError.mjs +0 -11
- package/websql/esm2022/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.mjs +0 -11
- package/websql/esm2022/lib/typeorm/error/index.mjs +0 -63
- package/websql/esm2022/lib/typeorm/find-options/EqualOperator.mjs +0 -10
- package/websql/esm2022/lib/typeorm/find-options/FindManyOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/find-options/FindOneOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/find-options/FindOperator.mjs +0 -74
- package/websql/esm2022/lib/typeorm/find-options/FindOperatorType.mjs +0 -3
- package/websql/esm2022/lib/typeorm/find-options/FindOptionsOrder.mjs +0 -3
- package/websql/esm2022/lib/typeorm/find-options/FindOptionsRelations.mjs +0 -3
- package/websql/esm2022/lib/typeorm/find-options/FindOptionsSelect.mjs +0 -5
- package/websql/esm2022/lib/typeorm/find-options/FindOptionsUtils.mjs +0 -293
- package/websql/esm2022/lib/typeorm/find-options/FindOptionsWhere.mjs +0 -3
- package/websql/esm2022/lib/typeorm/find-options/FindTreeOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/find-options/JoinOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/find-options/OrderByCondition.mjs +0 -3
- package/websql/esm2022/lib/typeorm/find-options/operator/Any.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/ArrayContainedBy.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/ArrayContains.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/ArrayOverlap.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/Between.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/Equal.mjs +0 -15
- package/websql/esm2022/lib/typeorm/find-options/operator/ILike.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/In.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/IsNull.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/LessThan.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/LessThanOrEqual.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/Like.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/MoreThan.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/MoreThanOrEqual.mjs +0 -11
- package/websql/esm2022/lib/typeorm/find-options/operator/Not.mjs +0 -12
- package/websql/esm2022/lib/typeorm/find-options/operator/Raw.mjs +0 -10
- package/websql/esm2022/lib/typeorm/globals.mjs +0 -165
- package/websql/esm2022/lib/typeorm/index.mjs +0 -157
- package/websql/esm2022/lib/typeorm/logger/AdvancedConsoleLogger.mjs +0 -109
- package/websql/esm2022/lib/typeorm/logger/DebugLogger.mjs +0 -94
- package/websql/esm2022/lib/typeorm/logger/Logger.mjs +0 -4
- package/websql/esm2022/lib/typeorm/logger/LoggerFactory.mjs +0 -36
- package/websql/esm2022/lib/typeorm/logger/LoggerOptions.mjs +0 -3
- package/websql/esm2022/lib/typeorm/logger/SimpleConsoleLogger.mjs +0 -108
- package/websql/esm2022/lib/typeorm/metadata/CheckMetadata.mjs +0 -26
- package/websql/esm2022/lib/typeorm/metadata/ColumnMetadata.mjs +0 -553
- package/websql/esm2022/lib/typeorm/metadata/EmbeddedMetadata.mjs +0 -206
- package/websql/esm2022/lib/typeorm/metadata/EntityListenerMetadata.mjs +0 -52
- package/websql/esm2022/lib/typeorm/metadata/EntityMetadata.mjs +0 -636
- package/websql/esm2022/lib/typeorm/metadata/ExclusionMetadata.mjs +0 -26
- package/websql/esm2022/lib/typeorm/metadata/ForeignKeyMetadata.mjs +0 -48
- package/websql/esm2022/lib/typeorm/metadata/IndexMetadata.mjs +0 -131
- package/websql/esm2022/lib/typeorm/metadata/RelationCountMetadata.mjs +0 -30
- package/websql/esm2022/lib/typeorm/metadata/RelationIdMetadata.mjs +0 -50
- package/websql/esm2022/lib/typeorm/metadata/RelationMetadata.mjs +0 -398
- package/websql/esm2022/lib/typeorm/metadata/UniqueMetadata.mjs +0 -90
- package/websql/esm2022/lib/typeorm/metadata/types/ClosureTreeOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata/types/DeferrableType.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata/types/EventListenerTypes.mjs +0 -19
- package/websql/esm2022/lib/typeorm/metadata/types/OnDeleteType.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata/types/OnUpdateType.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata/types/PropertyTypeInFunction.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata/types/RelationTypeInFunction.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata/types/RelationTypes.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata/types/TableTypes.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata/types/TreeTypes.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata-args/CheckMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/ColumnMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/EmbeddedMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/EntityListenerMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/ExclusionMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/GeneratedMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/IndexMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/InheritanceMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/JoinColumnMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/JoinTableMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/MetadataArgsStorage.mjs +0 -217
- package/websql/esm2022/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/RelationCountMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/RelationIdMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/RelationMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/TableMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/TreeMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/UniqueMetadataArgs.mjs +0 -4
- package/websql/esm2022/lib/typeorm/metadata-args/types/ColumnMode.mjs +0 -3
- package/websql/esm2022/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.mjs +0 -131
- package/websql/esm2022/lib/typeorm/metadata-builder/EntityMetadataBuilder.mjs +0 -678
- package/websql/esm2022/lib/typeorm/metadata-builder/EntityMetadataValidator.mjs +0 -183
- package/websql/esm2022/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.mjs +0 -262
- package/websql/esm2022/lib/typeorm/metadata-builder/MetadataUtils.mjs +0 -41
- package/websql/esm2022/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.mjs +0 -167
- package/websql/esm2022/lib/typeorm/migration/Migration.mjs +0 -14
- package/websql/esm2022/lib/typeorm/migration/MigrationExecutor.mjs +0 -454
- package/websql/esm2022/lib/typeorm/migration/MigrationInterface.mjs +0 -4
- package/websql/esm2022/lib/typeorm/naming-strategy/DefaultNamingStrategy.mjs +0 -140
- package/websql/esm2022/lib/typeorm/naming-strategy/NamingStrategyInterface.mjs +0 -4
- package/websql/esm2022/lib/typeorm/persistence/EntityPersistExecutor.mjs +0 -125
- package/websql/esm2022/lib/typeorm/persistence/Subject.mjs +0 -212
- package/websql/esm2022/lib/typeorm/persistence/SubjectChangeMap.mjs +0 -4
- package/websql/esm2022/lib/typeorm/persistence/SubjectChangedColumnsComputer.mjs +0 -164
- package/websql/esm2022/lib/typeorm/persistence/SubjectDatabaseEntityLoader.mjs +0 -125
- package/websql/esm2022/lib/typeorm/persistence/SubjectExecutor.mjs +0 -721
- package/websql/esm2022/lib/typeorm/persistence/SubjectTopoligicalSorter.mjs +0 -151
- package/websql/esm2022/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.mjs +0 -84
- package/websql/esm2022/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.mjs +0 -153
- package/websql/esm2022/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.mjs +0 -117
- package/websql/esm2022/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.mjs +0 -95
- package/websql/esm2022/lib/typeorm/persistence/tree/ClosureSubjectExecutor.mjs +0 -220
- package/websql/esm2022/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.mjs +0 -97
- package/websql/esm2022/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.mjs +0 -250
- package/websql/esm2022/lib/typeorm/platform/PlatformTools.mjs +0 -331
- package/websql/esm2022/lib/typeorm/query-builder/Alias.mjs +0 -26
- package/websql/esm2022/lib/typeorm/query-builder/Brackets.mjs +0 -16
- package/websql/esm2022/lib/typeorm/query-builder/DeleteQueryBuilder.mjs +0 -181
- package/websql/esm2022/lib/typeorm/query-builder/InsertOrUpdateOptions.mjs +0 -3
- package/websql/esm2022/lib/typeorm/query-builder/InsertQueryBuilder.mjs +0 -651
- package/websql/esm2022/lib/typeorm/query-builder/JoinAttribute.mjs +0 -153
- package/websql/esm2022/lib/typeorm/query-builder/NotBrackets.mjs +0 -14
- package/websql/esm2022/lib/typeorm/query-builder/QueryBuilder.mjs +0 -967
- package/websql/esm2022/lib/typeorm/query-builder/QueryBuilderCte.mjs +0 -4
- package/websql/esm2022/lib/typeorm/query-builder/QueryBuilderUtils.mjs +0 -22
- package/websql/esm2022/lib/typeorm/query-builder/QueryExpressionMap.mjs +0 -309
- package/websql/esm2022/lib/typeorm/query-builder/QueryPartialEntity.mjs +0 -3
- package/websql/esm2022/lib/typeorm/query-builder/RelationIdLoader.mjs +0 -452
- package/websql/esm2022/lib/typeorm/query-builder/RelationLoader.mjs +0 -262
- package/websql/esm2022/lib/typeorm/query-builder/RelationQueryBuilder.mjs +0 -147
- package/websql/esm2022/lib/typeorm/query-builder/RelationRemover.mjs +0 -130
- package/websql/esm2022/lib/typeorm/query-builder/RelationUpdater.mjs +0 -141
- package/websql/esm2022/lib/typeorm/query-builder/ReturningResultsEntityUpdator.mjs +0 -141
- package/websql/esm2022/lib/typeorm/query-builder/SelectQuery.mjs +0 -4
- package/websql/esm2022/lib/typeorm/query-builder/SelectQueryBuilder.mjs +0 -2278
- package/websql/esm2022/lib/typeorm/query-builder/SelectQueryBuilderOption.mjs +0 -3
- package/websql/esm2022/lib/typeorm/query-builder/SoftDeleteQueryBuilder.mjs +0 -348
- package/websql/esm2022/lib/typeorm/query-builder/UpdateQueryBuilder.mjs +0 -510
- package/websql/esm2022/lib/typeorm/query-builder/WhereClause.mjs +0 -3
- package/websql/esm2022/lib/typeorm/query-builder/WhereExpressionBuilder.mjs +0 -4
- package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountAttribute.mjs +0 -71
- package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.mjs +0 -4
- package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountLoader.mjs +0 -142
- package/websql/esm2022/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.mjs +0 -33
- package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdAttribute.mjs +0 -79
- package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.mjs +0 -4
- package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdLoader.mjs +0 -247
- package/websql/esm2022/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.mjs +0 -33
- package/websql/esm2022/lib/typeorm/query-builder/result/DeleteResult.mjs +0 -14
- package/websql/esm2022/lib/typeorm/query-builder/result/InsertResult.mjs +0 -25
- package/websql/esm2022/lib/typeorm/query-builder/result/UpdateResult.mjs +0 -25
- package/websql/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.mjs +0 -101
- package/websql/esm2022/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.mjs +0 -67
- package/websql/esm2022/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.mjs +0 -366
- package/websql/esm2022/lib/typeorm/query-runner/BaseQueryRunner.mjs +0 -392
- package/websql/esm2022/lib/typeorm/query-runner/QueryResult.mjs +0 -14
- package/websql/esm2022/lib/typeorm/query-runner/QueryRunner.mjs +0 -4
- package/websql/esm2022/lib/typeorm/repository/AbstractRepository.mjs +0 -80
- package/websql/esm2022/lib/typeorm/repository/BaseEntity.mjs +0 -283
- package/websql/esm2022/lib/typeorm/repository/FindTreesOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/repository/RemoveOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/repository/Repository.mjs +0 -275
- package/websql/esm2022/lib/typeorm/repository/SaveOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/repository/TreeRepository.mjs +0 -254
- package/websql/esm2022/lib/typeorm/repository/UpsertOptions.mjs +0 -7
- package/websql/esm2022/lib/typeorm/schema-builder/RdbmsSchemaBuilder.mjs +0 -770
- package/websql/esm2022/lib/typeorm/schema-builder/SchemaBuilder.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/options/TableCheckOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/options/TableColumnOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/options/TableExclusionOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/options/TableForeignKeyOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/options/TableIndexOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/options/TableOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/options/TableUniqueOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/options/ViewOptions.mjs +0 -4
- package/websql/esm2022/lib/typeorm/schema-builder/table/Table.mjs +0 -274
- package/websql/esm2022/lib/typeorm/schema-builder/table/TableCheck.mjs +0 -37
- package/websql/esm2022/lib/typeorm/schema-builder/table/TableColumn.mjs +0 -108
- package/websql/esm2022/lib/typeorm/schema-builder/table/TableExclusion.mjs +0 -31
- package/websql/esm2022/lib/typeorm/schema-builder/table/TableForeignKey.mjs +0 -60
- package/websql/esm2022/lib/typeorm/schema-builder/table/TableIndex.mjs +0 -53
- package/websql/esm2022/lib/typeorm/schema-builder/table/TableUnique.mjs +0 -38
- package/websql/esm2022/lib/typeorm/schema-builder/util/TableUtils.mjs +0 -38
- package/websql/esm2022/lib/typeorm/schema-builder/util/ViewUtils.mjs +0 -24
- package/websql/esm2022/lib/typeorm/schema-builder/view/View.mjs +0 -43
- package/websql/esm2022/lib/typeorm/subscriber/Broadcaster.mjs +0 -596
- package/websql/esm2022/lib/typeorm/subscriber/BroadcasterResult.mjs +0 -27
- package/websql/esm2022/lib/typeorm/subscriber/EntitySubscriberInterface.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/InsertEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/LoadEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/RecoverEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/RemoveEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/SoftRemoveEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/TransactionCommitEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/TransactionRollbackEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/TransactionStartEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/subscriber/event/UpdateEvent.mjs +0 -4
- package/websql/esm2022/lib/typeorm/util/ApplyValueTransformers.mjs +0 -22
- package/websql/esm2022/lib/typeorm/util/DateUtils.mjs +0 -216
- package/websql/esm2022/lib/typeorm/util/DepGraph.mjs +0 -222
- package/websql/esm2022/lib/typeorm/util/DirectoryExportedClassesLoader.mjs +0 -76
- package/websql/esm2022/lib/typeorm/util/ImportUtils.mjs +0 -86
- package/websql/esm2022/lib/typeorm/util/InstanceChecker.mjs +0 -114
- package/websql/esm2022/lib/typeorm/util/ObjectUtils.mjs +0 -38
- package/websql/esm2022/lib/typeorm/util/OrmUtils.mjs +0 -310
- package/websql/esm2022/lib/typeorm/util/PathUtils.mjs +0 -38
- package/websql/esm2022/lib/typeorm/util/RandomGenerator.mjs +0 -150
- package/websql/esm2022/lib/typeorm/util/StringUtils.mjs +0 -108
- package/websql/esm2022/lib/typeorm/util/TreeRepositoryUtils.mjs +0 -53
- package/websql/esm2022/lib/typeorm/util/VersionUtils.mjs +0 -17
- package/websql/esm2022/lib/typeorm/util/escapeRegExp.mjs +0 -4
- package/websql/esm2022/public-api.mjs +0 -2
- package/websql/esm2022/taon-typeorm.mjs +0 -5
|
@@ -1,596 +0,0 @@
|
|
|
1
|
-
import { BroadcasterResult } from "./BroadcasterResult";
|
|
2
|
-
import { ObjectUtils } from "../util/ObjectUtils";
|
|
3
|
-
/**
|
|
4
|
-
* Broadcaster provides a helper methods to broadcast events to the subscribers.
|
|
5
|
-
*/
|
|
6
|
-
export class Broadcaster {
|
|
7
|
-
constructor(queryRunner) {
|
|
8
|
-
this.queryRunner = queryRunner;
|
|
9
|
-
}
|
|
10
|
-
async broadcast(event, ...args) {
|
|
11
|
-
const result = new BroadcasterResult();
|
|
12
|
-
const broadcastFunction = this[`broadcast${event}Event`];
|
|
13
|
-
if (typeof broadcastFunction === "function") {
|
|
14
|
-
;
|
|
15
|
-
broadcastFunction.call(this, result, ...args);
|
|
16
|
-
}
|
|
17
|
-
await result.wait();
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Broadcasts "BEFORE_INSERT" event.
|
|
21
|
-
* Before insert event is executed before entity is being inserted to the database for the first time.
|
|
22
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
23
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
24
|
-
*
|
|
25
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
26
|
-
*/
|
|
27
|
-
broadcastBeforeInsertEvent(result, metadata, entity) {
|
|
28
|
-
if (entity && metadata.beforeInsertListeners.length) {
|
|
29
|
-
metadata.beforeInsertListeners.forEach((listener) => {
|
|
30
|
-
if (listener.isAllowed(entity)) {
|
|
31
|
-
const executionResult = listener.execute(entity);
|
|
32
|
-
if (executionResult instanceof Promise)
|
|
33
|
-
result.promises.push(executionResult);
|
|
34
|
-
result.count++;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
39
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
40
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
41
|
-
subscriber.beforeInsert) {
|
|
42
|
-
const executionResult = subscriber.beforeInsert({
|
|
43
|
-
connection: this.queryRunner.connection,
|
|
44
|
-
queryRunner: this.queryRunner,
|
|
45
|
-
manager: this.queryRunner.manager,
|
|
46
|
-
entity: entity,
|
|
47
|
-
metadata: metadata,
|
|
48
|
-
});
|
|
49
|
-
if (executionResult instanceof Promise)
|
|
50
|
-
result.promises.push(executionResult);
|
|
51
|
-
result.count++;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Broadcasts "BEFORE_UPDATE" event.
|
|
58
|
-
* Before update event is executed before entity is being updated in the database.
|
|
59
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
60
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
61
|
-
*
|
|
62
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
63
|
-
*/
|
|
64
|
-
broadcastBeforeUpdateEvent(result, metadata, entity, databaseEntity, updatedColumns, updatedRelations) {
|
|
65
|
-
if (entity && metadata.beforeUpdateListeners.length) {
|
|
66
|
-
metadata.beforeUpdateListeners.forEach((listener) => {
|
|
67
|
-
if (listener.isAllowed(entity)) {
|
|
68
|
-
const executionResult = listener.execute(entity);
|
|
69
|
-
if (executionResult instanceof Promise)
|
|
70
|
-
result.promises.push(executionResult);
|
|
71
|
-
result.count++;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
76
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
77
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
78
|
-
subscriber.beforeUpdate) {
|
|
79
|
-
const executionResult = subscriber.beforeUpdate({
|
|
80
|
-
connection: this.queryRunner.connection,
|
|
81
|
-
queryRunner: this.queryRunner,
|
|
82
|
-
manager: this.queryRunner.manager,
|
|
83
|
-
entity: entity,
|
|
84
|
-
metadata: metadata,
|
|
85
|
-
databaseEntity: databaseEntity,
|
|
86
|
-
updatedColumns: updatedColumns || [],
|
|
87
|
-
updatedRelations: updatedRelations || [],
|
|
88
|
-
});
|
|
89
|
-
if (executionResult instanceof Promise)
|
|
90
|
-
result.promises.push(executionResult);
|
|
91
|
-
result.count++;
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Broadcasts "BEFORE_REMOVE" event.
|
|
98
|
-
* Before remove event is executed before entity is being removed from the database.
|
|
99
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
100
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
101
|
-
*
|
|
102
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
103
|
-
*/
|
|
104
|
-
broadcastBeforeRemoveEvent(result, metadata, entity, databaseEntity) {
|
|
105
|
-
if (entity && metadata.beforeRemoveListeners.length) {
|
|
106
|
-
metadata.beforeRemoveListeners.forEach((listener) => {
|
|
107
|
-
if (listener.isAllowed(entity)) {
|
|
108
|
-
const executionResult = listener.execute(entity);
|
|
109
|
-
if (executionResult instanceof Promise)
|
|
110
|
-
result.promises.push(executionResult);
|
|
111
|
-
result.count++;
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
116
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
117
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
118
|
-
subscriber.beforeRemove) {
|
|
119
|
-
const executionResult = subscriber.beforeRemove({
|
|
120
|
-
connection: this.queryRunner.connection,
|
|
121
|
-
queryRunner: this.queryRunner,
|
|
122
|
-
manager: this.queryRunner.manager,
|
|
123
|
-
entity: entity,
|
|
124
|
-
metadata: metadata,
|
|
125
|
-
databaseEntity: databaseEntity,
|
|
126
|
-
entityId: metadata.getEntityIdMixedMap(databaseEntity),
|
|
127
|
-
});
|
|
128
|
-
if (executionResult instanceof Promise)
|
|
129
|
-
result.promises.push(executionResult);
|
|
130
|
-
result.count++;
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Broadcasts "BEFORE_SOFT_REMOVE" event.
|
|
137
|
-
* Before soft remove event is executed before entity is being soft removed from the database.
|
|
138
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
139
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
140
|
-
*
|
|
141
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
142
|
-
*/
|
|
143
|
-
broadcastBeforeSoftRemoveEvent(result, metadata, entity, databaseEntity) {
|
|
144
|
-
if (entity && metadata.beforeSoftRemoveListeners.length) {
|
|
145
|
-
metadata.beforeSoftRemoveListeners.forEach((listener) => {
|
|
146
|
-
if (listener.isAllowed(entity)) {
|
|
147
|
-
const executionResult = listener.execute(entity);
|
|
148
|
-
if (executionResult instanceof Promise)
|
|
149
|
-
result.promises.push(executionResult);
|
|
150
|
-
result.count++;
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
155
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
156
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
157
|
-
subscriber.beforeSoftRemove) {
|
|
158
|
-
const executionResult = subscriber.beforeSoftRemove({
|
|
159
|
-
connection: this.queryRunner.connection,
|
|
160
|
-
queryRunner: this.queryRunner,
|
|
161
|
-
manager: this.queryRunner.manager,
|
|
162
|
-
entity: entity,
|
|
163
|
-
metadata: metadata,
|
|
164
|
-
databaseEntity: databaseEntity,
|
|
165
|
-
entityId: metadata.getEntityIdMixedMap(databaseEntity),
|
|
166
|
-
});
|
|
167
|
-
if (executionResult instanceof Promise)
|
|
168
|
-
result.promises.push(executionResult);
|
|
169
|
-
result.count++;
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Broadcasts "BEFORE_RECOVER" event.
|
|
176
|
-
* Before recover event is executed before entity is being recovered in the database.
|
|
177
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
178
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
179
|
-
*
|
|
180
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
181
|
-
*/
|
|
182
|
-
broadcastBeforeRecoverEvent(result, metadata, entity, databaseEntity) {
|
|
183
|
-
if (entity && metadata.beforeRecoverListeners.length) {
|
|
184
|
-
metadata.beforeRecoverListeners.forEach((listener) => {
|
|
185
|
-
if (listener.isAllowed(entity)) {
|
|
186
|
-
const executionResult = listener.execute(entity);
|
|
187
|
-
if (executionResult instanceof Promise)
|
|
188
|
-
result.promises.push(executionResult);
|
|
189
|
-
result.count++;
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
194
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
195
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
196
|
-
subscriber.beforeRecover) {
|
|
197
|
-
const executionResult = subscriber.beforeRecover({
|
|
198
|
-
connection: this.queryRunner.connection,
|
|
199
|
-
queryRunner: this.queryRunner,
|
|
200
|
-
manager: this.queryRunner.manager,
|
|
201
|
-
entity: entity,
|
|
202
|
-
metadata: metadata,
|
|
203
|
-
databaseEntity: databaseEntity,
|
|
204
|
-
entityId: metadata.getEntityIdMixedMap(databaseEntity),
|
|
205
|
-
});
|
|
206
|
-
if (executionResult instanceof Promise)
|
|
207
|
-
result.promises.push(executionResult);
|
|
208
|
-
result.count++;
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Broadcasts "AFTER_INSERT" event.
|
|
215
|
-
* After insert event is executed after entity is being persisted to the database for the first time.
|
|
216
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
217
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
218
|
-
*
|
|
219
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
220
|
-
*/
|
|
221
|
-
broadcastAfterInsertEvent(result, metadata, entity) {
|
|
222
|
-
if (entity && metadata.afterInsertListeners.length) {
|
|
223
|
-
metadata.afterInsertListeners.forEach((listener) => {
|
|
224
|
-
if (listener.isAllowed(entity)) {
|
|
225
|
-
const executionResult = listener.execute(entity);
|
|
226
|
-
if (executionResult instanceof Promise)
|
|
227
|
-
result.promises.push(executionResult);
|
|
228
|
-
result.count++;
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
233
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
234
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
235
|
-
subscriber.afterInsert) {
|
|
236
|
-
const executionResult = subscriber.afterInsert({
|
|
237
|
-
connection: this.queryRunner.connection,
|
|
238
|
-
queryRunner: this.queryRunner,
|
|
239
|
-
manager: this.queryRunner.manager,
|
|
240
|
-
entity: entity,
|
|
241
|
-
metadata: metadata,
|
|
242
|
-
});
|
|
243
|
-
if (executionResult instanceof Promise)
|
|
244
|
-
result.promises.push(executionResult);
|
|
245
|
-
result.count++;
|
|
246
|
-
}
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Broadcasts "BEFORE_TRANSACTION_START" event.
|
|
252
|
-
*/
|
|
253
|
-
broadcastBeforeTransactionStartEvent(result) {
|
|
254
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
255
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
256
|
-
if (subscriber.beforeTransactionStart) {
|
|
257
|
-
const executionResult = subscriber.beforeTransactionStart({
|
|
258
|
-
connection: this.queryRunner.connection,
|
|
259
|
-
queryRunner: this.queryRunner,
|
|
260
|
-
manager: this.queryRunner.manager,
|
|
261
|
-
});
|
|
262
|
-
if (executionResult instanceof Promise)
|
|
263
|
-
result.promises.push(executionResult);
|
|
264
|
-
result.count++;
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Broadcasts "AFTER_TRANSACTION_START" event.
|
|
271
|
-
*/
|
|
272
|
-
broadcastAfterTransactionStartEvent(result) {
|
|
273
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
274
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
275
|
-
if (subscriber.afterTransactionStart) {
|
|
276
|
-
const executionResult = subscriber.afterTransactionStart({
|
|
277
|
-
connection: this.queryRunner.connection,
|
|
278
|
-
queryRunner: this.queryRunner,
|
|
279
|
-
manager: this.queryRunner.manager,
|
|
280
|
-
});
|
|
281
|
-
if (executionResult instanceof Promise)
|
|
282
|
-
result.promises.push(executionResult);
|
|
283
|
-
result.count++;
|
|
284
|
-
}
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Broadcasts "BEFORE_TRANSACTION_COMMIT" event.
|
|
290
|
-
*/
|
|
291
|
-
broadcastBeforeTransactionCommitEvent(result) {
|
|
292
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
293
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
294
|
-
if (subscriber.beforeTransactionCommit) {
|
|
295
|
-
const executionResult = subscriber.beforeTransactionCommit({
|
|
296
|
-
connection: this.queryRunner.connection,
|
|
297
|
-
queryRunner: this.queryRunner,
|
|
298
|
-
manager: this.queryRunner.manager,
|
|
299
|
-
});
|
|
300
|
-
if (executionResult instanceof Promise)
|
|
301
|
-
result.promises.push(executionResult);
|
|
302
|
-
result.count++;
|
|
303
|
-
}
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* Broadcasts "AFTER_TRANSACTION_COMMIT" event.
|
|
309
|
-
*/
|
|
310
|
-
broadcastAfterTransactionCommitEvent(result) {
|
|
311
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
312
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
313
|
-
if (subscriber.afterTransactionCommit) {
|
|
314
|
-
const executionResult = subscriber.afterTransactionCommit({
|
|
315
|
-
connection: this.queryRunner.connection,
|
|
316
|
-
queryRunner: this.queryRunner,
|
|
317
|
-
manager: this.queryRunner.manager,
|
|
318
|
-
});
|
|
319
|
-
if (executionResult instanceof Promise)
|
|
320
|
-
result.promises.push(executionResult);
|
|
321
|
-
result.count++;
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Broadcasts "BEFORE_TRANSACTION_ROLLBACK" event.
|
|
328
|
-
*/
|
|
329
|
-
broadcastBeforeTransactionRollbackEvent(result) {
|
|
330
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
331
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
332
|
-
if (subscriber.beforeTransactionRollback) {
|
|
333
|
-
const executionResult = subscriber.beforeTransactionRollback({
|
|
334
|
-
connection: this.queryRunner.connection,
|
|
335
|
-
queryRunner: this.queryRunner,
|
|
336
|
-
manager: this.queryRunner.manager,
|
|
337
|
-
});
|
|
338
|
-
if (executionResult instanceof Promise)
|
|
339
|
-
result.promises.push(executionResult);
|
|
340
|
-
result.count++;
|
|
341
|
-
}
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* Broadcasts "AFTER_TRANSACTION_ROLLBACK" event.
|
|
347
|
-
*/
|
|
348
|
-
broadcastAfterTransactionRollbackEvent(result) {
|
|
349
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
350
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
351
|
-
if (subscriber.afterTransactionRollback) {
|
|
352
|
-
const executionResult = subscriber.afterTransactionRollback({
|
|
353
|
-
connection: this.queryRunner.connection,
|
|
354
|
-
queryRunner: this.queryRunner,
|
|
355
|
-
manager: this.queryRunner.manager,
|
|
356
|
-
});
|
|
357
|
-
if (executionResult instanceof Promise)
|
|
358
|
-
result.promises.push(executionResult);
|
|
359
|
-
result.count++;
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
/**
|
|
365
|
-
* Broadcasts "AFTER_UPDATE" event.
|
|
366
|
-
* After update event is executed after entity is being updated in the database.
|
|
367
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
368
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
369
|
-
*
|
|
370
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
371
|
-
*/
|
|
372
|
-
broadcastAfterUpdateEvent(result, metadata, entity, databaseEntity, updatedColumns, updatedRelations) {
|
|
373
|
-
if (entity && metadata.afterUpdateListeners.length) {
|
|
374
|
-
metadata.afterUpdateListeners.forEach((listener) => {
|
|
375
|
-
if (listener.isAllowed(entity)) {
|
|
376
|
-
const executionResult = listener.execute(entity);
|
|
377
|
-
if (executionResult instanceof Promise)
|
|
378
|
-
result.promises.push(executionResult);
|
|
379
|
-
result.count++;
|
|
380
|
-
}
|
|
381
|
-
});
|
|
382
|
-
}
|
|
383
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
384
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
385
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
386
|
-
subscriber.afterUpdate) {
|
|
387
|
-
const executionResult = subscriber.afterUpdate({
|
|
388
|
-
connection: this.queryRunner.connection,
|
|
389
|
-
queryRunner: this.queryRunner,
|
|
390
|
-
manager: this.queryRunner.manager,
|
|
391
|
-
entity: entity,
|
|
392
|
-
metadata: metadata,
|
|
393
|
-
databaseEntity: databaseEntity,
|
|
394
|
-
updatedColumns: updatedColumns || [],
|
|
395
|
-
updatedRelations: updatedRelations || [],
|
|
396
|
-
});
|
|
397
|
-
if (executionResult instanceof Promise)
|
|
398
|
-
result.promises.push(executionResult);
|
|
399
|
-
result.count++;
|
|
400
|
-
}
|
|
401
|
-
});
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Broadcasts "AFTER_REMOVE" event.
|
|
406
|
-
* After remove event is executed after entity is being removed from the database.
|
|
407
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
408
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
409
|
-
*
|
|
410
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
411
|
-
*/
|
|
412
|
-
broadcastAfterRemoveEvent(result, metadata, entity, databaseEntity) {
|
|
413
|
-
if (entity && metadata.afterRemoveListeners.length) {
|
|
414
|
-
metadata.afterRemoveListeners.forEach((listener) => {
|
|
415
|
-
if (listener.isAllowed(entity)) {
|
|
416
|
-
const executionResult = listener.execute(entity);
|
|
417
|
-
if (executionResult instanceof Promise)
|
|
418
|
-
result.promises.push(executionResult);
|
|
419
|
-
result.count++;
|
|
420
|
-
}
|
|
421
|
-
});
|
|
422
|
-
}
|
|
423
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
424
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
425
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
426
|
-
subscriber.afterRemove) {
|
|
427
|
-
const executionResult = subscriber.afterRemove({
|
|
428
|
-
connection: this.queryRunner.connection,
|
|
429
|
-
queryRunner: this.queryRunner,
|
|
430
|
-
manager: this.queryRunner.manager,
|
|
431
|
-
entity: entity,
|
|
432
|
-
metadata: metadata,
|
|
433
|
-
databaseEntity: databaseEntity,
|
|
434
|
-
entityId: metadata.getEntityIdMixedMap(databaseEntity),
|
|
435
|
-
});
|
|
436
|
-
if (executionResult instanceof Promise)
|
|
437
|
-
result.promises.push(executionResult);
|
|
438
|
-
result.count++;
|
|
439
|
-
}
|
|
440
|
-
});
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
/**
|
|
444
|
-
* Broadcasts "AFTER_SOFT_REMOVE" event.
|
|
445
|
-
* After soft remove event is executed after entity is being soft removed from the database.
|
|
446
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
447
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
448
|
-
*
|
|
449
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
450
|
-
*/
|
|
451
|
-
broadcastAfterSoftRemoveEvent(result, metadata, entity, databaseEntity) {
|
|
452
|
-
if (entity && metadata.afterSoftRemoveListeners.length) {
|
|
453
|
-
metadata.afterSoftRemoveListeners.forEach((listener) => {
|
|
454
|
-
if (listener.isAllowed(entity)) {
|
|
455
|
-
const executionResult = listener.execute(entity);
|
|
456
|
-
if (executionResult instanceof Promise)
|
|
457
|
-
result.promises.push(executionResult);
|
|
458
|
-
result.count++;
|
|
459
|
-
}
|
|
460
|
-
});
|
|
461
|
-
}
|
|
462
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
463
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
464
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
465
|
-
subscriber.afterSoftRemove) {
|
|
466
|
-
const executionResult = subscriber.afterSoftRemove({
|
|
467
|
-
connection: this.queryRunner.connection,
|
|
468
|
-
queryRunner: this.queryRunner,
|
|
469
|
-
manager: this.queryRunner.manager,
|
|
470
|
-
entity: entity,
|
|
471
|
-
metadata: metadata,
|
|
472
|
-
databaseEntity: databaseEntity,
|
|
473
|
-
entityId: metadata.getEntityIdMixedMap(databaseEntity),
|
|
474
|
-
});
|
|
475
|
-
if (executionResult instanceof Promise)
|
|
476
|
-
result.promises.push(executionResult);
|
|
477
|
-
result.count++;
|
|
478
|
-
}
|
|
479
|
-
});
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
/**
|
|
483
|
-
* Broadcasts "AFTER_RECOVER" event.
|
|
484
|
-
* After recover event is executed after entity is being recovered in the database.
|
|
485
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
486
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
487
|
-
*
|
|
488
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
489
|
-
*/
|
|
490
|
-
broadcastAfterRecoverEvent(result, metadata, entity, databaseEntity) {
|
|
491
|
-
if (entity && metadata.afterRecoverListeners.length) {
|
|
492
|
-
metadata.afterRecoverListeners.forEach((listener) => {
|
|
493
|
-
if (listener.isAllowed(entity)) {
|
|
494
|
-
const executionResult = listener.execute(entity);
|
|
495
|
-
if (executionResult instanceof Promise)
|
|
496
|
-
result.promises.push(executionResult);
|
|
497
|
-
result.count++;
|
|
498
|
-
}
|
|
499
|
-
});
|
|
500
|
-
}
|
|
501
|
-
if (this.queryRunner.connection.subscribers.length) {
|
|
502
|
-
this.queryRunner.connection.subscribers.forEach((subscriber) => {
|
|
503
|
-
if (this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
504
|
-
subscriber.afterRecover) {
|
|
505
|
-
const executionResult = subscriber.afterRecover({
|
|
506
|
-
connection: this.queryRunner.connection,
|
|
507
|
-
queryRunner: this.queryRunner,
|
|
508
|
-
manager: this.queryRunner.manager,
|
|
509
|
-
entity: entity,
|
|
510
|
-
metadata: metadata,
|
|
511
|
-
databaseEntity: databaseEntity,
|
|
512
|
-
entityId: metadata.getEntityIdMixedMap(databaseEntity),
|
|
513
|
-
});
|
|
514
|
-
if (executionResult instanceof Promise)
|
|
515
|
-
result.promises.push(executionResult);
|
|
516
|
-
result.count++;
|
|
517
|
-
}
|
|
518
|
-
});
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
/**
|
|
522
|
-
* @deprecated Use `broadcastLoadForAllEvent`
|
|
523
|
-
*/
|
|
524
|
-
broadcastLoadEventsForAll(result, metadata, entities) {
|
|
525
|
-
return this.broadcastLoadEvent(result, metadata, entities);
|
|
526
|
-
}
|
|
527
|
-
/**
|
|
528
|
-
* Broadcasts "AFTER_LOAD" event for all given entities, and their sub-entities.
|
|
529
|
-
* After load event is executed after entity has been loaded from the database.
|
|
530
|
-
* All subscribers and entity listeners who listened to this event will be executed at this point.
|
|
531
|
-
* Subscribers and entity listeners can return promises, it will wait until they are resolved.
|
|
532
|
-
*
|
|
533
|
-
* Note: this method has a performance-optimized code organization, do not change code structure.
|
|
534
|
-
*/
|
|
535
|
-
broadcastLoadEvent(result, metadata, entities) {
|
|
536
|
-
const fittingSubscribers = this.queryRunner.connection.subscribers.filter((subscriber) => this.isAllowedSubscriber(subscriber, metadata.target) &&
|
|
537
|
-
subscriber.afterLoad);
|
|
538
|
-
if (metadata.relations.length ||
|
|
539
|
-
metadata.afterLoadListeners.length ||
|
|
540
|
-
fittingSubscribers.length) {
|
|
541
|
-
const nonPromiseEntities = entities.filter((entity) => !(entity instanceof Promise));
|
|
542
|
-
if (metadata.relations.length) {
|
|
543
|
-
metadata.relations.forEach((relation) => {
|
|
544
|
-
nonPromiseEntities.forEach((entity) => {
|
|
545
|
-
if (relation.isLazy &&
|
|
546
|
-
!entity.hasOwnProperty(relation.propertyName))
|
|
547
|
-
return;
|
|
548
|
-
const value = relation.getEntityValue(entity);
|
|
549
|
-
if (ObjectUtils.isObject(value))
|
|
550
|
-
this.broadcastLoadEvent(result, relation.inverseEntityMetadata, Array.isArray(value) ? value : [value]);
|
|
551
|
-
});
|
|
552
|
-
});
|
|
553
|
-
}
|
|
554
|
-
if (metadata.afterLoadListeners.length) {
|
|
555
|
-
metadata.afterLoadListeners.forEach((listener) => {
|
|
556
|
-
nonPromiseEntities.forEach((entity) => {
|
|
557
|
-
if (listener.isAllowed(entity)) {
|
|
558
|
-
const executionResult = listener.execute(entity);
|
|
559
|
-
if (executionResult instanceof Promise)
|
|
560
|
-
result.promises.push(executionResult);
|
|
561
|
-
result.count++;
|
|
562
|
-
}
|
|
563
|
-
});
|
|
564
|
-
});
|
|
565
|
-
}
|
|
566
|
-
fittingSubscribers.forEach((subscriber) => {
|
|
567
|
-
nonPromiseEntities.forEach((entity) => {
|
|
568
|
-
const executionResult = subscriber.afterLoad(entity, {
|
|
569
|
-
entity,
|
|
570
|
-
metadata,
|
|
571
|
-
connection: this.queryRunner.connection,
|
|
572
|
-
queryRunner: this.queryRunner,
|
|
573
|
-
manager: this.queryRunner.manager,
|
|
574
|
-
});
|
|
575
|
-
if (executionResult instanceof Promise)
|
|
576
|
-
result.promises.push(executionResult);
|
|
577
|
-
result.count++;
|
|
578
|
-
});
|
|
579
|
-
});
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
/**
|
|
583
|
-
* Checks if subscriber's methods can be executed by checking if its don't listen to the particular entity,
|
|
584
|
-
* or listens our entity.
|
|
585
|
-
*/
|
|
586
|
-
isAllowedSubscriber(subscriber, target) {
|
|
587
|
-
return (!subscriber.listenTo ||
|
|
588
|
-
!subscriber.listenTo() ||
|
|
589
|
-
subscriber.listenTo() === Object ||
|
|
590
|
-
subscriber.listenTo() === target ||
|
|
591
|
-
subscriber.listenTo().isPrototypeOf(target));
|
|
592
|
-
}
|
|
593
|
-
}
|
|
594
|
-
;
|
|
595
|
-
({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/subscriber/Broadcaster.ts
|
|
596
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJvYWRjYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vc3Vic2NyaWJlci9Ccm9hZGNhc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUd2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFzRWpEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFLcEIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBTWhELEtBQUssQ0FBQyxTQUFTLENBQ1gsS0FBUSxFQUNSLEdBQUcsSUFBc0M7UUFFekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFBO1FBRXRDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFxQixDQUFDLENBQUE7UUFFdEUsSUFBSSxPQUFPLGlCQUFpQixLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzFDLENBQUM7WUFBQyxpQkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQzNELENBQUM7UUFFRCxNQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILDBCQUEwQixDQUN0QixNQUF5QixFQUN6QixRQUF3QixFQUN4QixNQUFpQztRQUVqQyxJQUFJLE1BQU0sSUFBSSxRQUFRLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEQsUUFBUSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNoRCxJ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LE1BQU0sRUFBRTt3QkFDbEQsTUFBTTt3QkFDTixRQUFRO3dCQUNSLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVU7d0JBQ3ZDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzt3QkFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztxQkFDcEMsQ0FBQyxDQUFBO29CQUNGLElBQUksZUFBZSxZQUFZLE9BQU87d0JBQ2xDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO29CQUN6QyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ2xCLENBQUMsQ0FBQyxDQUFBO1lBQ04sQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQU1EOzs7T0FHRztJQUNPLG1CQUFtQixDQUN6QixVQUEwQyxFQUMxQyxNQUF5QjtRQUV6QixPQUFPLENBQ0gsQ0FBQyxVQUFVLENBQUMsUUFBUTtZQUNwQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDdEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU07WUFDaEMsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU07WUFDaEMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FDOUMsQ0FBQTtJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0VBQStFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEVudGl0eVN1YnNjcmliZXJJbnRlcmZhY2UgfSBmcm9tIFwiLi9FbnRpdHlTdWJzY3JpYmVySW50ZXJmYWNlXCJcbmltcG9ydCB7IE9iamVjdExpdGVyYWwgfSBmcm9tIFwiLi4vY29tbW9uL09iamVjdExpdGVyYWxcIlxuaW1wb3J0IHsgUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vcXVlcnktcnVubmVyL1F1ZXJ5UnVubmVyXCJcbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhIH0gZnJvbSBcIi4uL21ldGFkYXRhL0VudGl0eU1ldGFkYXRhXCJcbmltcG9ydCB7IEJyb2FkY2FzdGVyUmVzdWx0IH0gZnJvbSBcIi4vQnJvYWRjYXN0ZXJSZXN1bHRcIlxuaW1wb3J0IHsgQ29sdW1uTWV0YWRhdGEgfSBmcm9tIFwiLi4vbWV0YWRhdGEvQ29sdW1uTWV0YWRhdGFcIlxuaW1wb3J0IHsgUmVsYXRpb25NZXRhZGF0YSB9IGZyb20gXCIuLi9tZXRhZGF0YS9SZWxhdGlvbk1ldGFkYXRhXCJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSBcIi4uL3V0aWwvT2JqZWN0VXRpbHNcIlxuXG5pbnRlcmZhY2UgQnJvYWRjYXN0ZXJFdmVudHMge1xuICAgIEJlZm9yZVRyYW5zYWN0aW9uQ29tbWl0OiAoKSA9PiB2b2lkXG4gICAgQWZ0ZXJUcmFuc2FjdGlvbkNvbW1pdDogKCkgPT4gdm9pZFxuICAgIEJlZm9yZVRyYW5zYWN0aW9uU3RhcnQ6ICgpID0+IHZvaWRcbiAgICBBZnRlclRyYW5zYWN0aW9uU3RhcnQ6ICgpID0+IHZvaWRcbiAgICBCZWZvcmVUcmFuc2FjdGlvblJvbGxiYWNrOiAoKSA9PiB2b2lkXG4gICAgQWZ0ZXJUcmFuc2FjdGlvblJvbGxiYWNrOiAoKSA9PiB2b2lkXG5cbiAgICBCZWZvcmVVcGRhdGU6IChcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIHVwZGF0ZWRDb2x1bW5zPzogQ29sdW1uTWV0YWRhdGFbXSxcbiAgICAgICAgdXBkYXRlZFJlbGF0aW9ucz86IFJlbGF0aW9uTWV0YWRhdGFbXSxcbiAgICApID0+IHZvaWRcbiAgICBBZnRlclVwZGF0ZTogKFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgdXBkYXRlZENvbHVtbnM/OiBDb2x1bW5NZXRhZGF0YVtdLFxuICAgICAgICB1cGRhdGVkUmVsYXRpb25zPzogUmVsYXRpb25NZXRhZGF0YVtdLFxuICAgICkgPT4gdm9pZFxuXG4gICAgQmVmb3JlSW5zZXJ0OiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5OiBPYmplY3RMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICkgPT4gdm9pZFxuICAgIEFmdGVySW5zZXJ0OiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5OiBPYmplY3RMaXRlcmFsIHwgdW5kZWZpbmVkLFxuICAgICkgPT4gdm9pZFxuXG4gICAgQmVmb3JlUmVtb3ZlOiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICkgPT4gdm9pZFxuICAgIEFmdGVyUmVtb3ZlOiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICkgPT4gdm9pZFxuXG4gICAgQmVmb3JlU29mdFJlbW92ZTogKFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICApID0+IHZvaWRcbiAgICBBZnRlclNvZnRSZW1vdmU6IChcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgKSA9PiB2b2lkXG5cbiAgICBCZWZvcmVSZWNvdmVyOiAoXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICkgPT4gdm9pZFxuICAgIEFmdGVyUmVjb3ZlcjogKFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICApID0+IHZvaWRcblxuICAgIExvYWQ6IChtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsIGVudGl0aWVzOiBPYmplY3RMaXRlcmFsW10pID0+IHZvaWRcbn1cblxuLyoqXG4gKiBCcm9hZGNhc3RlciBwcm92aWRlcyBhIGhlbHBlciBtZXRob2RzIHRvIGJyb2FkY2FzdCBldmVudHMgdG8gdGhlIHN1YnNjcmliZXJzLlxuICovXG5leHBvcnQgY2xhc3MgQnJvYWRjYXN0ZXIge1xuXG5cblxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpIHt9XG5cblxuXG5cblxuICAgIGFzeW5jIGJyb2FkY2FzdDxVIGV4dGVuZHMga2V5b2YgQnJvYWRjYXN0ZXJFdmVudHM+KFxuICAgICAgICBldmVudDogVSxcbiAgICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxCcm9hZGNhc3RlckV2ZW50c1tVXT5cbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IEJyb2FkY2FzdGVyUmVzdWx0KClcblxuICAgICAgICBjb25zdCBicm9hZGNhc3RGdW5jdGlvbiA9IHRoaXNbYGJyb2FkY2FzdCR7ZXZlbnR9RXZlbnRgIGFzIGtleW9mIHRoaXNdXG5cbiAgICAgICAgaWYgKHR5cGVvZiBicm9hZGNhc3RGdW5jdGlvbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICA7KGJyb2FkY2FzdEZ1bmN0aW9uIGFzIGFueSkuY2FsbCh0aGlzLCByZXN1bHQsIC4uLmFyZ3MpXG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCByZXN1bHQud2FpdCgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9JTlNFUlRcIiBldmVudC5cbiAgICAgKiBCZWZvcmUgaW5zZXJ0IGV2ZW50IGlzIGV4ZWN1dGVkIGJlZm9yZSBlbnRpdHkgaXMgYmVpbmcgaW5zZXJ0ZWQgdG8gdGhlIGRhdGFiYXNlIGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICAgKiBBbGwgc3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgd2hvIGxpc3RlbmVkIHRvIHRoaXMgZXZlbnQgd2lsbCBiZSBleGVjdXRlZCBhdCB0aGlzIHBvaW50LlxuICAgICAqIFN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIGNhbiByZXR1cm4gcHJvbWlzZXMsIGl0IHdpbGwgd2FpdCB1bnRpbCB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIGhhcyBhIHBlcmZvcm1hbmNlLW9wdGltaXplZCBjb2RlIG9yZ2FuaXphdGlvbiwgZG8gbm90IGNoYW5nZSBjb2RlIHN0cnVjdHVyZS5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RCZWZvcmVJbnNlcnRFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk6IHVuZGVmaW5lZCB8IE9iamVjdExpdGVyYWwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmIChlbnRpdHkgJiYgbWV0YWRhdGEuYmVmb3JlSW5zZXJ0TGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYmVmb3JlSW5zZXJ0TGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmJlZm9yZUluc2VydFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmJlZm9yZUluc2VydCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9VUERBVEVcIiBldmVudC5cbiAgICAgKiBCZWZvcmUgdXBkYXRlIGV2ZW50IGlzIGV4ZWN1dGVkIGJlZm9yZSBlbnRpdHkgaXMgYmVpbmcgdXBkYXRlZCBpbiB0aGUgZGF0YWJhc2UuXG4gICAgICogQWxsIHN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIHdobyBsaXN0ZW5lZCB0byB0aGlzIGV2ZW50IHdpbGwgYmUgZXhlY3V0ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgKiBTdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyBjYW4gcmV0dXJuIHByb21pc2VzLCBpdCB3aWxsIHdhaXQgdW50aWwgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICpcbiAgICAgKiBOb3RlOiB0aGlzIG1ldGhvZCBoYXMgYSBwZXJmb3JtYW5jZS1vcHRpbWl6ZWQgY29kZSBvcmdhbml6YXRpb24sIGRvIG5vdCBjaGFuZ2UgY29kZSBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QmVmb3JlVXBkYXRlRXZlbnQoXG4gICAgICAgIHJlc3VsdDogQnJvYWRjYXN0ZXJSZXN1bHQsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICB1cGRhdGVkQ29sdW1ucz86IENvbHVtbk1ldGFkYXRhW10sXG4gICAgICAgIHVwZGF0ZWRSZWxhdGlvbnM/OiBSZWxhdGlvbk1ldGFkYXRhW10sXG4gICAgKTogdm9pZCB7XG5cbiAgICAgICAgaWYgKGVudGl0eSAmJiBtZXRhZGF0YS5iZWZvcmVVcGRhdGVMaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBtZXRhZGF0YS5iZWZvcmVVcGRhdGVMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaXNBbGxvd2VkKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gbGlzdGVuZXIuZXhlY3V0ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBbGxvd2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBtZXRhZGF0YS50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYmVmb3JlVXBkYXRlXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IHN1YnNjcmliZXIuYmVmb3JlVXBkYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBlbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YTogbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZUVudGl0eTogZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQ29sdW1uczogdXBkYXRlZENvbHVtbnMgfHwgW10sXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkUmVsYXRpb25zOiB1cGRhdGVkUmVsYXRpb25zIHx8IFtdLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9SRU1PVkVcIiBldmVudC5cbiAgICAgKiBCZWZvcmUgcmVtb3ZlIGV2ZW50IGlzIGV4ZWN1dGVkIGJlZm9yZSBlbnRpdHkgaXMgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBBbGwgc3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgd2hvIGxpc3RlbmVkIHRvIHRoaXMgZXZlbnQgd2lsbCBiZSBleGVjdXRlZCBhdCB0aGlzIHBvaW50LlxuICAgICAqIFN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIGNhbiByZXR1cm4gcHJvbWlzZXMsIGl0IHdpbGwgd2FpdCB1bnRpbCB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIGhhcyBhIHBlcmZvcm1hbmNlLW9wdGltaXplZCBjb2RlIG9yZ2FuaXphdGlvbiwgZG8gbm90IGNoYW5nZSBjb2RlIHN0cnVjdHVyZS5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RCZWZvcmVSZW1vdmVFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmIChlbnRpdHkgJiYgbWV0YWRhdGEuYmVmb3JlUmVtb3ZlTGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYmVmb3JlUmVtb3ZlTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmJlZm9yZVJlbW92ZVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmJlZm9yZVJlbW92ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnRpdHk6IGRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5SWQ6IG1ldGFkYXRhLmdldEVudGl0eUlkTWl4ZWRNYXAoZGF0YWJhc2VFbnRpdHkpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9TT0ZUX1JFTU9WRVwiIGV2ZW50LlxuICAgICAqIEJlZm9yZSBzb2Z0IHJlbW92ZSBldmVudCBpcyBleGVjdXRlZCBiZWZvcmUgZW50aXR5IGlzIGJlaW5nIHNvZnQgcmVtb3ZlZCBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBBbGwgc3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgd2hvIGxpc3RlbmVkIHRvIHRoaXMgZXZlbnQgd2lsbCBiZSBleGVjdXRlZCBhdCB0aGlzIHBvaW50LlxuICAgICAqIFN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIGNhbiByZXR1cm4gcHJvbWlzZXMsIGl0IHdpbGwgd2FpdCB1bnRpbCB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIGhhcyBhIHBlcmZvcm1hbmNlLW9wdGltaXplZCBjb2RlIG9yZ2FuaXphdGlvbiwgZG8gbm90IGNoYW5nZSBjb2RlIHN0cnVjdHVyZS5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RCZWZvcmVTb2Z0UmVtb3ZlRXZlbnQoXG4gICAgICAgIHJlc3VsdDogQnJvYWRjYXN0ZXJSZXN1bHQsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAoZW50aXR5ICYmIG1ldGFkYXRhLmJlZm9yZVNvZnRSZW1vdmVMaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBtZXRhZGF0YS5iZWZvcmVTb2Z0UmVtb3ZlTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmJlZm9yZVNvZnRSZW1vdmVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5iZWZvcmVTb2Z0UmVtb3ZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBlbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YTogbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZUVudGl0eTogZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlJZDogbWV0YWRhdGEuZ2V0RW50aXR5SWRNaXhlZE1hcChkYXRhYmFzZUVudGl0eSksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQkVGT1JFX1JFQ09WRVJcIiBldmVudC5cbiAgICAgKiBCZWZvcmUgcmVjb3ZlciBldmVudCBpcyBleGVjdXRlZCBiZWZvcmUgZW50aXR5IGlzIGJlaW5nIHJlY292ZXJlZCBpbiB0aGUgZGF0YWJhc2UuXG4gICAgICogQWxsIHN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIHdobyBsaXN0ZW5lZCB0byB0aGlzIGV2ZW50IHdpbGwgYmUgZXhlY3V0ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgKiBTdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyBjYW4gcmV0dXJuIHByb21pc2VzLCBpdCB3aWxsIHdhaXQgdW50aWwgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICpcbiAgICAgKiBOb3RlOiB0aGlzIG1ldGhvZCBoYXMgYSBwZXJmb3JtYW5jZS1vcHRpbWl6ZWQgY29kZSBvcmdhbml6YXRpb24sIGRvIG5vdCBjaGFuZ2UgY29kZSBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QmVmb3JlUmVjb3ZlckV2ZW50KFxuICAgICAgICByZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0LFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKGVudGl0eSAmJiBtZXRhZGF0YS5iZWZvcmVSZWNvdmVyTGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYmVmb3JlUmVjb3Zlckxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChsaXN0ZW5lci5pc0FsbG93ZWQoZW50aXR5KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBsaXN0ZW5lci5leGVjdXRlKGVudGl0eSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWN1dGlvblJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHJvbWlzZXMucHVzaChleGVjdXRpb25SZXN1bHQpXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5jb3VudCsrXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0FsbG93ZWRTdWJzY3JpYmVyKHN1YnNjcmliZXIsIG1ldGFkYXRhLnRhcmdldCkgJiZcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5iZWZvcmVSZWNvdmVyXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IHN1YnNjcmliZXIuYmVmb3JlUmVjb3Zlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnRpdHk6IGRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5SWQ6IG1ldGFkYXRhLmdldEVudGl0eUlkTWl4ZWRNYXAoZGF0YWJhc2VFbnRpdHkpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX0lOU0VSVFwiIGV2ZW50LlxuICAgICAqIEFmdGVyIGluc2VydCBldmVudCBpcyBleGVjdXRlZCBhZnRlciBlbnRpdHkgaXMgYmVpbmcgcGVyc2lzdGVkIHRvIHRoZSBkYXRhYmFzZSBmb3IgdGhlIGZpcnN0IHRpbWUuXG4gICAgICogQWxsIHN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIHdobyBsaXN0ZW5lZCB0byB0aGlzIGV2ZW50IHdpbGwgYmUgZXhlY3V0ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgKiBTdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyBjYW4gcmV0dXJuIHByb21pc2VzLCBpdCB3aWxsIHdhaXQgdW50aWwgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICpcbiAgICAgKiBOb3RlOiB0aGlzIG1ldGhvZCBoYXMgYSBwZXJmb3JtYW5jZS1vcHRpbWl6ZWQgY29kZSBvcmdhbml6YXRpb24sIGRvIG5vdCBjaGFuZ2UgY29kZSBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QWZ0ZXJJbnNlcnRFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAoZW50aXR5ICYmIG1ldGFkYXRhLmFmdGVySW5zZXJ0TGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYWZ0ZXJJbnNlcnRMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaXNBbGxvd2VkKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gbGlzdGVuZXIuZXhlY3V0ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBbGxvd2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBtZXRhZGF0YS50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYWZ0ZXJJbnNlcnRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlckluc2VydCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9UUkFOU0FDVElPTl9TVEFSVFwiIGV2ZW50LlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEJlZm9yZVRyYW5zYWN0aW9uU3RhcnRFdmVudChyZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmJlZm9yZVRyYW5zYWN0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5iZWZvcmVUcmFuc2FjdGlvblN0YXJ0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1RSQU5TQUNUSU9OX1NUQVJUXCIgZXZlbnQuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QWZ0ZXJUcmFuc2FjdGlvblN0YXJ0RXZlbnQocmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaWJlci5hZnRlclRyYW5zYWN0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlclRyYW5zYWN0aW9uU3RhcnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjogdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlSdW5uZXI6IHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyOiB0aGlzLnF1ZXJ5UnVubmVyLm1hbmFnZXIsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQkVGT1JFX1RSQU5TQUNUSU9OX0NPTU1JVFwiIGV2ZW50LlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEJlZm9yZVRyYW5zYWN0aW9uQ29tbWl0RXZlbnQocmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaWJlci5iZWZvcmVUcmFuc2FjdGlvbkNvbW1pdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmJlZm9yZVRyYW5zYWN0aW9uQ29tbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1RSQU5TQUNUSU9OX0NPTU1JVFwiIGV2ZW50LlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEFmdGVyVHJhbnNhY3Rpb25Db21taXRFdmVudChyZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmFmdGVyVHJhbnNhY3Rpb25Db21taXQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlclRyYW5zYWN0aW9uQ29tbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkJFRk9SRV9UUkFOU0FDVElPTl9ST0xMQkFDS1wiIGV2ZW50LlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEJlZm9yZVRyYW5zYWN0aW9uUm9sbGJhY2tFdmVudChyZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmJlZm9yZVRyYW5zYWN0aW9uUm9sbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYmVmb3JlVHJhbnNhY3Rpb25Sb2xsYmFjayh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjogdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQUZURVJfVFJBTlNBQ1RJT05fUk9MTEJBQ0tcIiBldmVudC5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RBZnRlclRyYW5zYWN0aW9uUm9sbGJhY2tFdmVudChyZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpYmVyLmFmdGVyVHJhbnNhY3Rpb25Sb2xsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmFmdGVyVHJhbnNhY3Rpb25Sb2xsYmFjayhcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlSdW5uZXI6IHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1VQREFURVwiIGV2ZW50LlxuICAgICAqIEFmdGVyIHVwZGF0ZSBldmVudCBpcyBleGVjdXRlZCBhZnRlciBlbnRpdHkgaXMgYmVpbmcgdXBkYXRlZCBpbiB0aGUgZGF0YWJhc2UuXG4gICAgICogQWxsIHN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIHdobyBsaXN0ZW5lZCB0byB0aGlzIGV2ZW50IHdpbGwgYmUgZXhlY3V0ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgKiBTdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyBjYW4gcmV0dXJuIHByb21pc2VzLCBpdCB3aWxsIHdhaXQgdW50aWwgdGhleSBhcmUgcmVzb2x2ZWQuXG4gICAgICpcbiAgICAgKiBOb3RlOiB0aGlzIG1ldGhvZCBoYXMgYSBwZXJmb3JtYW5jZS1vcHRpbWl6ZWQgY29kZSBvcmdhbml6YXRpb24sIGRvIG5vdCBjaGFuZ2UgY29kZSBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgYnJvYWRjYXN0QWZ0ZXJVcGRhdGVFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIHVwZGF0ZWRDb2x1bW5zPzogQ29sdW1uTWV0YWRhdGFbXSxcbiAgICAgICAgdXBkYXRlZFJlbGF0aW9ucz86IFJlbGF0aW9uTWV0YWRhdGFbXSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKGVudGl0eSAmJiBtZXRhZGF0YS5hZnRlclVwZGF0ZUxpc3RlbmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIG1ldGFkYXRhLmFmdGVyVXBkYXRlTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmFmdGVyVXBkYXRlXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IHN1YnNjcmliZXIuYWZ0ZXJVcGRhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjogdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlSdW5uZXI6IHRoaXMucXVlcnlSdW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyOiB0aGlzLnF1ZXJ5UnVubmVyLm1hbmFnZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHk6IGVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFiYXNlRW50aXR5OiBkYXRhYmFzZUVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRDb2x1bW5zOiB1cGRhdGVkQ29sdW1ucyB8fCBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRSZWxhdGlvbnM6IHVwZGF0ZWRSZWxhdGlvbnMgfHwgW10sXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQUZURVJfUkVNT1ZFXCIgZXZlbnQuXG4gICAgICogQWZ0ZXIgcmVtb3ZlIGV2ZW50IGlzIGV4ZWN1dGVkIGFmdGVyIGVudGl0eSBpcyBiZWluZyByZW1vdmVkIGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqIEFsbCBzdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyB3aG8gbGlzdGVuZWQgdG8gdGhpcyBldmVudCB3aWxsIGJlIGV4ZWN1dGVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICogU3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgY2FuIHJldHVybiBwcm9taXNlcywgaXQgd2lsbCB3YWl0IHVudGlsIHRoZXkgYXJlIHJlc29sdmVkLlxuICAgICAqXG4gICAgICogTm90ZTogdGhpcyBtZXRob2QgaGFzIGEgcGVyZm9ybWFuY2Utb3B0aW1pemVkIGNvZGUgb3JnYW5pemF0aW9uLCBkbyBub3QgY2hhbmdlIGNvZGUgc3RydWN0dXJlLlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEFmdGVyUmVtb3ZlRXZlbnQoXG4gICAgICAgIHJlc3VsdDogQnJvYWRjYXN0ZXJSZXN1bHQsXG4gICAgICAgIG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgZW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgZGF0YWJhc2VFbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAoZW50aXR5ICYmIG1ldGFkYXRhLmFmdGVyUmVtb3ZlTGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYWZ0ZXJSZW1vdmVMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaXNBbGxvd2VkKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gbGlzdGVuZXIuZXhlY3V0ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBbGxvd2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBtZXRhZGF0YS50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYWZ0ZXJSZW1vdmVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlclJlbW92ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnRpdHk6IGRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5SWQ6IG1ldGFkYXRhLmdldEVudGl0eUlkTWl4ZWRNYXAoZGF0YWJhc2VFbnRpdHkpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1NPRlRfUkVNT1ZFXCIgZXZlbnQuXG4gICAgICogQWZ0ZXIgc29mdCByZW1vdmUgZXZlbnQgaXMgZXhlY3V0ZWQgYWZ0ZXIgZW50aXR5IGlzIGJlaW5nIHNvZnQgcmVtb3ZlZCBmcm9tIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBBbGwgc3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgd2hvIGxpc3RlbmVkIHRvIHRoaXMgZXZlbnQgd2lsbCBiZSBleGVjdXRlZCBhdCB0aGlzIHBvaW50LlxuICAgICAqIFN1YnNjcmliZXJzIGFuZCBlbnRpdHkgbGlzdGVuZXJzIGNhbiByZXR1cm4gcHJvbWlzZXMsIGl0IHdpbGwgd2FpdCB1bnRpbCB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgKlxuICAgICAqIE5vdGU6IHRoaXMgbWV0aG9kIGhhcyBhIHBlcmZvcm1hbmNlLW9wdGltaXplZCBjb2RlIG9yZ2FuaXphdGlvbiwgZG8gbm90IGNoYW5nZSBjb2RlIHN0cnVjdHVyZS5cbiAgICAgKi9cbiAgICBicm9hZGNhc3RBZnRlclNvZnRSZW1vdmVFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdHk/OiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBkYXRhYmFzZUVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmIChlbnRpdHkgJiYgbWV0YWRhdGEuYWZ0ZXJTb2Z0UmVtb3ZlTGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgbWV0YWRhdGEuYWZ0ZXJTb2Z0UmVtb3ZlTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RlbmVyLmlzQWxsb3dlZChlbnRpdHkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbi5zdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmFmdGVyU29mdFJlbW92ZVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25SZXN1bHQgPSBzdWJzY3JpYmVyLmFmdGVyU29mdFJlbW92ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnRpdHk6IGRhdGFiYXNlRW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5SWQ6IG1ldGFkYXRhLmdldEVudGl0eUlkTWl4ZWRNYXAoZGF0YWJhc2VFbnRpdHkpLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY3V0aW9uUmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wcm9taXNlcy5wdXNoKGV4ZWN1dGlvblJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQnJvYWRjYXN0cyBcIkFGVEVSX1JFQ09WRVJcIiBldmVudC5cbiAgICAgKiBBZnRlciByZWNvdmVyIGV2ZW50IGlzIGV4ZWN1dGVkIGFmdGVyIGVudGl0eSBpcyBiZWluZyByZWNvdmVyZWQgaW4gdGhlIGRhdGFiYXNlLlxuICAgICAqIEFsbCBzdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyB3aG8gbGlzdGVuZWQgdG8gdGhpcyBldmVudCB3aWxsIGJlIGV4ZWN1dGVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICogU3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgY2FuIHJldHVybiBwcm9taXNlcywgaXQgd2lsbCB3YWl0IHVudGlsIHRoZXkgYXJlIHJlc29sdmVkLlxuICAgICAqXG4gICAgICogTm90ZTogdGhpcyBtZXRob2QgaGFzIGEgcGVyZm9ybWFuY2Utb3B0aW1pemVkIGNvZGUgb3JnYW5pemF0aW9uLCBkbyBub3QgY2hhbmdlIGNvZGUgc3RydWN0dXJlLlxuICAgICAqL1xuICAgIGJyb2FkY2FzdEFmdGVyUmVjb3ZlckV2ZW50KFxuICAgICAgICByZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0LFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0eT86IE9iamVjdExpdGVyYWwsXG4gICAgICAgIGRhdGFiYXNlRW50aXR5PzogT2JqZWN0TGl0ZXJhbCxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKGVudGl0eSAmJiBtZXRhZGF0YS5hZnRlclJlY292ZXJMaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBtZXRhZGF0YS5hZnRlclJlY292ZXJMaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaXNBbGxvd2VkKGVudGl0eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gbGlzdGVuZXIuZXhlY3V0ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lci5jb25uZWN0aW9uLnN1YnNjcmliZXJzLmZvckVhY2goKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNBbGxvd2VkU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBtZXRhZGF0YS50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuYWZ0ZXJSZWNvdmVyXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IHN1YnNjcmliZXIuYWZ0ZXJSZWNvdmVyKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHRoaXMucXVlcnlSdW5uZXIuY29ubmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyOiB0aGlzLnF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcjogdGhpcy5xdWVyeVJ1bm5lci5tYW5hZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBlbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YTogbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZUVudGl0eTogZGF0YWJhc2VFbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHlJZDogbWV0YWRhdGEuZ2V0RW50aXR5SWRNaXhlZE1hcChkYXRhYmFzZUVudGl0eSksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnByb21pc2VzLnB1c2goZXhlY3V0aW9uUmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQuY291bnQrK1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYGJyb2FkY2FzdExvYWRGb3JBbGxFdmVudGBcbiAgICAgKi9cbiAgICBicm9hZGNhc3RMb2FkRXZlbnRzRm9yQWxsKFxuICAgICAgICByZXN1bHQ6IEJyb2FkY2FzdGVyUmVzdWx0LFxuICAgICAgICBtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsXG4gICAgICAgIGVudGl0aWVzOiBPYmplY3RMaXRlcmFsW10sXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmJyb2FkY2FzdExvYWRFdmVudChyZXN1bHQsIG1ldGFkYXRhLCBlbnRpdGllcylcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCcm9hZGNhc3RzIFwiQUZURVJfTE9BRFwiIGV2ZW50IGZvciBhbGwgZ2l2ZW4gZW50aXRpZXMsIGFuZCB0aGVpciBzdWItZW50aXRpZXMuXG4gICAgICogQWZ0ZXIgbG9hZCBldmVudCBpcyBleGVjdXRlZCBhZnRlciBlbnRpdHkgaGFzIGJlZW4gbG9hZGVkIGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqIEFsbCBzdWJzY3JpYmVycyBhbmQgZW50aXR5IGxpc3RlbmVycyB3aG8gbGlzdGVuZWQgdG8gdGhpcyBldmVudCB3aWxsIGJlIGV4ZWN1dGVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICogU3Vic2NyaWJlcnMgYW5kIGVudGl0eSBsaXN0ZW5lcnMgY2FuIHJldHVybiBwcm9taXNlcywgaXQgd2lsbCB3YWl0IHVudGlsIHRoZXkgYXJlIHJlc29sdmVkLlxuICAgICAqXG4gICAgICogTm90ZTogdGhpcyBtZXRob2QgaGFzIGEgcGVyZm9ybWFuY2Utb3B0aW1pemVkIGNvZGUgb3JnYW5pemF0aW9uLCBkbyBub3QgY2hhbmdlIGNvZGUgc3RydWN0dXJlLlxuICAgICAqL1xuICAgIGJyb2FkY2FzdExvYWRFdmVudChcbiAgICAgICAgcmVzdWx0OiBCcm9hZGNhc3RlclJlc3VsdCxcbiAgICAgICAgbWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhLFxuICAgICAgICBlbnRpdGllczogT2JqZWN0TGl0ZXJhbFtdLFxuICAgICk6IHZvaWQge1xuXG4gICAgICAgIGNvbnN0IGZpdHRpbmdTdWJzY3JpYmVycyA9XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24uc3Vic2NyaWJlcnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChzdWJzY3JpYmVyKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWxsb3dlZFN1YnNjcmliZXIoc3Vic2NyaWJlciwgbWV0YWRhdGEudGFyZ2V0KSAmJlxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmFmdGVyTG9hZCxcbiAgICAgICAgICAgIClcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBtZXRhZGF0YS5yZWxhdGlvbnMubGVuZ3RoIHx8XG4gICAgICAgICAgICBtZXRhZGF0YS5hZnRlckxvYWRMaXN0ZW5lcnMubGVuZ3RoIHx8XG4gICAgICAgICAgICBmaXR0aW5nU3Vic2NyaWJlcnMubGVuZ3RoXG4gICAgICAgICkge1xuXG4gICAgICAgICAgICBjb25zdCBub25Qcm9taXNlRW50aXRpZXMgPSBlbnRpdGllcy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgKGVudGl0eSkgPT4gIShlbnRpdHkgaW5zdGFuY2VvZiBQcm9taXNlKSxcbiAgICAgICAgICAgIClcblxuXG4gICAgICAgICAgICBpZiAobWV0YWRhdGEucmVsYXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIG1ldGFkYXRhLnJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBub25Qcm9taXNlRW50aXRpZXMuZm9yRWFjaCgoZW50aXR5KSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvbi5pc0xhenkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhZW50aXR5Lmhhc093blByb3BlcnR5KHJlbGF0aW9uLnByb3BlcnR5TmFtZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSByZWxhdGlvbi5nZXRFbnRpdHlWYWx1ZShlbnRpdHkpXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNPYmplY3QodmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0TG9hZEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uLmludmVyc2VFbnRpdHlNZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChtZXRhZGF0YS5hZnRlckxvYWRMaXN0ZW5lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbWV0YWRhdGEuYWZ0ZXJMb2FkTGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG5vblByb21pc2VFbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0ZW5lci5pc0FsbG93ZWQoZW50aXR5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWN1dGlvblJlc3VsdCA9IGxpc3RlbmVyLmV4ZWN1dGUoZW50aXR5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRpb25SZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHJvbWlzZXMucHVzaChleGVjdXRpb25SZXN1bHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvdW50KytcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaXR0aW5nU3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIG5vblByb21pc2VFbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY3V0aW9uUmVzdWx0ID0gc3Vic2NyaWJlci5hZnRlckxvYWQhKGVudGl0eSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uOiB0aGlzLnF1ZXJ5UnVubmVyLmNvbm5lY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lcjogdGhpcy5xdWVyeVJ1bm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXI6IHRoaXMucXVlcnlSdW5uZXIubWFuYWdlcixcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWN1dGlvblJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHJvbWlzZXMucHVzaChleGVjdXRpb25SZXN1bHQpXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5jb3VudCsrXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBzdWJzY3JpYmVyJ3MgbWV0aG9kcyBjYW4gYmUgZXhlY3V0ZWQgYnkgY2hlY2tpbmcgaWYgaXRzIGRvbid0IGxpc3RlbiB0byB0aGUgcGFydGljdWxhciBlbnRpdHksXG4gICAgICogb3IgbGlzdGVucyBvdXIgZW50aXR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc0FsbG93ZWRTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyOiBFbnRpdHlTdWJzY3JpYmVySW50ZXJmYWNlPGFueT4sXG4gICAgICAgIHRhcmdldDogRnVuY3Rpb24gfCBzdHJpbmcsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhc3Vic2NyaWJlci5saXN0ZW5UbyB8fFxuICAgICAgICAgICAgIXN1YnNjcmliZXIubGlzdGVuVG8oKSB8fFxuICAgICAgICAgICAgc3Vic2NyaWJlci5saXN0ZW5UbygpID09PSBPYmplY3QgfHxcbiAgICAgICAgICAgIHN1YnNjcmliZXIubGlzdGVuVG8oKSA9PT0gdGFyZ2V0IHx8XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmxpc3RlblRvKCkuaXNQcm90b3R5cGVPZih0YXJnZXQpXG4gICAgICAgIClcbiAgICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXR5cGVvcm0gbGliL3R5cGVvcm0vc3Vic2NyaWJlci9Ccm9hZGNhc3Rlci50cyJdfQ==
|