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,651 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { QueryBuilder } from "./QueryBuilder";
|
|
3
|
-
/* */
|
|
4
|
-
/* */
|
|
5
|
-
import { InsertResult } from "./result/InsertResult";
|
|
6
|
-
import { ReturningStatementNotSupportedError } from "../error/ReturningStatementNotSupportedError";
|
|
7
|
-
import { InsertValuesMissingError } from "../error/InsertValuesMissingError";
|
|
8
|
-
import { ReturningResultsEntityUpdator } from "./ReturningResultsEntityUpdator";
|
|
9
|
-
import { BroadcasterResult } from "../subscriber/BroadcasterResult";
|
|
10
|
-
import { TypeORMError } from "../error";
|
|
11
|
-
import { v4 as uuidv4 } from "uuid";
|
|
12
|
-
/* */
|
|
13
|
-
/* */
|
|
14
|
-
/* */
|
|
15
|
-
import { DriverUtils } from "../driver/DriverUtils";
|
|
16
|
-
import { ObjectUtils } from "../util/ObjectUtils";
|
|
17
|
-
import { InstanceChecker } from "../util/InstanceChecker";
|
|
18
|
-
import { CLASS } from 'typescript-class-helpers/browser';
|
|
19
|
-
/**
|
|
20
|
-
* Allows to build complex sql queries in a fashion way and execute those queries.
|
|
21
|
-
*/
|
|
22
|
-
let InsertQueryBuilder = class InsertQueryBuilder extends QueryBuilder {
|
|
23
|
-
constructor() {
|
|
24
|
-
super(...arguments);
|
|
25
|
-
this["@instanceof"] = Symbol.for("InsertQueryBuilder");
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Gets generated SQL query without parameters being replaced.
|
|
29
|
-
*/
|
|
30
|
-
getQuery() {
|
|
31
|
-
let sql = this.createComment();
|
|
32
|
-
sql += this.createCteExpression();
|
|
33
|
-
sql += this.createInsertExpression();
|
|
34
|
-
return sql.trim();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Executes sql generated by query builder and returns raw database results.
|
|
38
|
-
*/
|
|
39
|
-
async execute() {
|
|
40
|
-
const valueSets = this.getValueSets();
|
|
41
|
-
//
|
|
42
|
-
if (valueSets.length === 0)
|
|
43
|
-
return new InsertResult();
|
|
44
|
-
const queryRunner = this.obtainQueryRunner();
|
|
45
|
-
let transactionStartedByUs = false;
|
|
46
|
-
try {
|
|
47
|
-
if (this.expressionMap.useTransaction === true &&
|
|
48
|
-
queryRunner.isTransactionActive === false) {
|
|
49
|
-
await queryRunner.startTransaction();
|
|
50
|
-
transactionStartedByUs = true;
|
|
51
|
-
}
|
|
52
|
-
if (this.expressionMap.callListeners === true &&
|
|
53
|
-
this.expressionMap.mainAlias.hasMetadata) {
|
|
54
|
-
const broadcastResult = new BroadcasterResult();
|
|
55
|
-
valueSets.forEach((valueSet) => {
|
|
56
|
-
queryRunner.broadcaster.broadcastBeforeInsertEvent(broadcastResult, this.expressionMap.mainAlias.metadata, valueSet);
|
|
57
|
-
});
|
|
58
|
-
await broadcastResult.wait();
|
|
59
|
-
}
|
|
60
|
-
let declareSql = null;
|
|
61
|
-
let selectOutputSql = null;
|
|
62
|
-
const returningResultsEntityUpdator = new ReturningResultsEntityUpdator(queryRunner, this.expressionMap);
|
|
63
|
-
const returningColumns = [];
|
|
64
|
-
if (Array.isArray(this.expressionMap.returning) &&
|
|
65
|
-
this.expressionMap.mainAlias.hasMetadata) {
|
|
66
|
-
for (const columnPath of this.expressionMap.returning) {
|
|
67
|
-
returningColumns.push(...this.expressionMap.mainAlias.metadata.findColumnsWithPropertyPath(columnPath));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (this.expressionMap.updateEntity === true &&
|
|
71
|
-
this.expressionMap.mainAlias.hasMetadata) {
|
|
72
|
-
if (!(valueSets.length > 1 &&
|
|
73
|
-
this.connection.driver.options.type === "oracle")) {
|
|
74
|
-
this.expressionMap.extraReturningColumns =
|
|
75
|
-
this.expressionMap.mainAlias.metadata.getInsertionReturningColumns();
|
|
76
|
-
}
|
|
77
|
-
returningColumns.push(...this.expressionMap.extraReturningColumns.filter((c) => !returningColumns.includes(c)));
|
|
78
|
-
}
|
|
79
|
-
if (returningColumns.length > 0 &&
|
|
80
|
-
this.connection.driver.options.type === "mssql") {
|
|
81
|
-
declareSql =
|
|
82
|
-
/* */
|
|
83
|
-
/* */
|
|
84
|
-
/* */
|
|
85
|
-
/* */
|
|
86
|
-
{} // TODO
|
|
87
|
-
.buildTableVariableDeclaration("@OutputTable", returningColumns);
|
|
88
|
-
selectOutputSql = `SELECT * FROM @OutputTable`;
|
|
89
|
-
}
|
|
90
|
-
const [insertSql, parameters] = this.getQueryAndParameters();
|
|
91
|
-
const statements = [declareSql, insertSql, selectOutputSql];
|
|
92
|
-
const sql = statements.filter((s) => s != null).join(";\n\n");
|
|
93
|
-
const queryResult = await queryRunner.query(sql, parameters, true);
|
|
94
|
-
const insertResult = InsertResult.from(queryResult);
|
|
95
|
-
if (this.expressionMap.updateEntity === true &&
|
|
96
|
-
this.expressionMap.mainAlias.hasMetadata) {
|
|
97
|
-
await returningResultsEntityUpdator.insert(insertResult, valueSets);
|
|
98
|
-
}
|
|
99
|
-
if (this.expressionMap.callListeners === true &&
|
|
100
|
-
this.expressionMap.mainAlias.hasMetadata) {
|
|
101
|
-
const broadcastResult = new BroadcasterResult();
|
|
102
|
-
valueSets.forEach((valueSet) => {
|
|
103
|
-
queryRunner.broadcaster.broadcastAfterInsertEvent(broadcastResult, this.expressionMap.mainAlias.metadata, valueSet);
|
|
104
|
-
});
|
|
105
|
-
await broadcastResult.wait();
|
|
106
|
-
}
|
|
107
|
-
if (transactionStartedByUs) {
|
|
108
|
-
await queryRunner.commitTransaction();
|
|
109
|
-
}
|
|
110
|
-
return insertResult;
|
|
111
|
-
}
|
|
112
|
-
catch (error) {
|
|
113
|
-
if (transactionStartedByUs) {
|
|
114
|
-
try {
|
|
115
|
-
await queryRunner.rollbackTransaction();
|
|
116
|
-
}
|
|
117
|
-
catch (rollbackError) { }
|
|
118
|
-
}
|
|
119
|
-
throw error;
|
|
120
|
-
}
|
|
121
|
-
finally {
|
|
122
|
-
if (queryRunner !== this.queryRunner) {
|
|
123
|
-
await queryRunner.release();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Specifies INTO which entity's table insertion will be executed.
|
|
129
|
-
*/
|
|
130
|
-
into(entityTarget, columns) {
|
|
131
|
-
entityTarget = InstanceChecker.isEntitySchema(entityTarget)
|
|
132
|
-
? entityTarget.options.name
|
|
133
|
-
: entityTarget;
|
|
134
|
-
const mainAlias = this.createFromAlias(entityTarget);
|
|
135
|
-
this.expressionMap.setMainAlias(mainAlias);
|
|
136
|
-
this.expressionMap.insertColumns = columns || [];
|
|
137
|
-
return this;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Values needs to be inserted into table.
|
|
141
|
-
*/
|
|
142
|
-
values(values) {
|
|
143
|
-
this.expressionMap.valuesSet = values;
|
|
144
|
-
return this;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Optional returning/output clause.
|
|
148
|
-
*/
|
|
149
|
-
output(output) {
|
|
150
|
-
return this.returning(output);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Optional returning/output clause.
|
|
154
|
-
*/
|
|
155
|
-
returning(returning) {
|
|
156
|
-
if (!this.connection.driver.isReturningSqlSupported("insert")) {
|
|
157
|
-
throw new ReturningStatementNotSupportedError();
|
|
158
|
-
}
|
|
159
|
-
this.expressionMap.returning = returning;
|
|
160
|
-
return this;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Indicates if entity must be updated after insertion operations.
|
|
164
|
-
* This may produce extra query or use RETURNING / OUTPUT statement (depend on database).
|
|
165
|
-
* Enabled by default.
|
|
166
|
-
*/
|
|
167
|
-
updateEntity(enabled) {
|
|
168
|
-
this.expressionMap.updateEntity = enabled;
|
|
169
|
-
return this;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Adds additional ON CONFLICT statement supported in postgres and cockroach.
|
|
173
|
-
*
|
|
174
|
-
* @deprecated Use `orIgnore` or `orUpdate`
|
|
175
|
-
*/
|
|
176
|
-
onConflict(statement) {
|
|
177
|
-
this.expressionMap.onConflict = statement;
|
|
178
|
-
return this;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Adds additional ignore statement supported in databases.
|
|
182
|
-
*/
|
|
183
|
-
orIgnore(statement = true) {
|
|
184
|
-
this.expressionMap.onIgnore = !!statement;
|
|
185
|
-
return this;
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Adds additional update statement supported in databases.
|
|
189
|
-
*/
|
|
190
|
-
orUpdate(statementOrOverwrite, conflictTarget, orUpdateOptions) {
|
|
191
|
-
if (!Array.isArray(statementOrOverwrite)) {
|
|
192
|
-
this.expressionMap.onUpdate = {
|
|
193
|
-
conflict: statementOrOverwrite?.conflict_target,
|
|
194
|
-
columns: statementOrOverwrite?.columns,
|
|
195
|
-
overwrite: statementOrOverwrite?.overwrite,
|
|
196
|
-
skipUpdateIfNoValuesChanged: orUpdateOptions?.skipUpdateIfNoValuesChanged,
|
|
197
|
-
};
|
|
198
|
-
return this;
|
|
199
|
-
}
|
|
200
|
-
this.expressionMap.onUpdate = {
|
|
201
|
-
overwrite: statementOrOverwrite,
|
|
202
|
-
conflict: conflictTarget,
|
|
203
|
-
skipUpdateIfNoValuesChanged: orUpdateOptions?.skipUpdateIfNoValuesChanged,
|
|
204
|
-
};
|
|
205
|
-
return this;
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Creates INSERT express used to perform insert query.
|
|
209
|
-
*/
|
|
210
|
-
createInsertExpression() {
|
|
211
|
-
const tableName = this.getTableName(this.getMainTableName());
|
|
212
|
-
const valuesExpression = this.createValuesExpression(); // its important to get values before returning expression because oracle rely on native parameters and ordering of them is important
|
|
213
|
-
const returningExpression = this.connection.driver.options.type === "oracle" &&
|
|
214
|
-
this.getValueSets().length > 1
|
|
215
|
-
? null
|
|
216
|
-
: this.createReturningExpression("insert"); // oracle doesnt support returning with multi-row insert
|
|
217
|
-
const columnsExpression = this.createColumnNamesExpression();
|
|
218
|
-
let query = "INSERT ";
|
|
219
|
-
if (DriverUtils.isMySQLFamily(this.connection.driver) ||
|
|
220
|
-
this.connection.driver.options.type === "aurora-mysql") {
|
|
221
|
-
query += `${this.expressionMap.onIgnore ? " IGNORE " : ""}`;
|
|
222
|
-
}
|
|
223
|
-
query += `INTO ${tableName}`;
|
|
224
|
-
if (this.alias !== this.getMainTableName() &&
|
|
225
|
-
DriverUtils.isPostgresFamily(this.connection.driver)) {
|
|
226
|
-
query += ` AS "${this.alias}"`;
|
|
227
|
-
}
|
|
228
|
-
if (columnsExpression) {
|
|
229
|
-
query += `(${columnsExpression})`;
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
if (!valuesExpression &&
|
|
233
|
-
(DriverUtils.isMySQLFamily(this.connection.driver) ||
|
|
234
|
-
this.connection.driver.options.type === "aurora-mysql"))
|
|
235
|
-
query += "()";
|
|
236
|
-
}
|
|
237
|
-
if (returningExpression &&
|
|
238
|
-
this.connection.driver.options.type === "mssql") {
|
|
239
|
-
query += ` OUTPUT ${returningExpression}`;
|
|
240
|
-
}
|
|
241
|
-
if (valuesExpression) {
|
|
242
|
-
if (this.connection.driver.options.type === "oracle" &&
|
|
243
|
-
this.getValueSets().length > 1) {
|
|
244
|
-
query += ` ${valuesExpression}`;
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
query += ` VALUES ${valuesExpression}`;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
if (DriverUtils.isMySQLFamily(this.connection.driver) ||
|
|
252
|
-
this.connection.driver.options.type === "aurora-mysql") {
|
|
253
|
-
query += " VALUES ()";
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
query += ` DEFAULT VALUES`;
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
if (this.connection.driver.supportedUpsertType ===
|
|
260
|
-
"on-conflict-do-update") {
|
|
261
|
-
if (this.expressionMap.onIgnore) {
|
|
262
|
-
query += " ON CONFLICT DO NOTHING ";
|
|
263
|
-
}
|
|
264
|
-
else if (this.expressionMap.onConflict) {
|
|
265
|
-
query += ` ON CONFLICT ${this.expressionMap.onConflict} `;
|
|
266
|
-
}
|
|
267
|
-
else if (this.expressionMap.onUpdate) {
|
|
268
|
-
const { overwrite, columns, conflict, skipUpdateIfNoValuesChanged, } = this.expressionMap.onUpdate;
|
|
269
|
-
let conflictTarget = "ON CONFLICT";
|
|
270
|
-
if (Array.isArray(conflict)) {
|
|
271
|
-
conflictTarget += ` ( ${conflict
|
|
272
|
-
.map((column) => this.escape(column))
|
|
273
|
-
.join(", ")} )`;
|
|
274
|
-
}
|
|
275
|
-
else if (conflict) {
|
|
276
|
-
conflictTarget += ` ON CONSTRAINT ${this.escape(conflict)}`;
|
|
277
|
-
}
|
|
278
|
-
if (Array.isArray(overwrite)) {
|
|
279
|
-
query += ` ${conflictTarget} DO UPDATE SET `;
|
|
280
|
-
query += overwrite
|
|
281
|
-
?.map((column) => `${this.escape(column)} = EXCLUDED.${this.escape(column)}`)
|
|
282
|
-
.join(", ");
|
|
283
|
-
query += " ";
|
|
284
|
-
}
|
|
285
|
-
else if (columns) {
|
|
286
|
-
query += ` ${conflictTarget} DO UPDATE SET `;
|
|
287
|
-
query += columns
|
|
288
|
-
.map((column) => `${this.escape(column)} = :${column}`)
|
|
289
|
-
.join(", ");
|
|
290
|
-
query += " ";
|
|
291
|
-
}
|
|
292
|
-
if (Array.isArray(overwrite) &&
|
|
293
|
-
skipUpdateIfNoValuesChanged &&
|
|
294
|
-
DriverUtils.isPostgresFamily(this.connection.driver)) {
|
|
295
|
-
query += ` WHERE (`;
|
|
296
|
-
query += overwrite
|
|
297
|
-
.map((column) => `${tableName}.${this.escape(column)} IS DISTINCT FROM EXCLUDED.${this.escape(column)}`)
|
|
298
|
-
.join(" OR ");
|
|
299
|
-
query += ") ";
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
else if (this.connection.driver.supportedUpsertType ===
|
|
304
|
-
"on-duplicate-key-update") {
|
|
305
|
-
if (this.expressionMap.onUpdate) {
|
|
306
|
-
const { overwrite, columns } = this.expressionMap.onUpdate;
|
|
307
|
-
if (Array.isArray(overwrite)) {
|
|
308
|
-
query += " ON DUPLICATE KEY UPDATE ";
|
|
309
|
-
query += overwrite
|
|
310
|
-
.map((column) => `${this.escape(column)} = VALUES(${this.escape(column)})`)
|
|
311
|
-
.join(", ");
|
|
312
|
-
query += " ";
|
|
313
|
-
}
|
|
314
|
-
else if (Array.isArray(columns)) {
|
|
315
|
-
query += " ON DUPLICATE KEY UPDATE ";
|
|
316
|
-
query += columns
|
|
317
|
-
.map((column) => `${this.escape(column)} = :${column}`)
|
|
318
|
-
.join(", ");
|
|
319
|
-
query += " ";
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
else {
|
|
324
|
-
if (this.expressionMap.onUpdate) {
|
|
325
|
-
throw new TypeORMError(`onUpdate is not supported by the current database driver`);
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
if (returningExpression &&
|
|
329
|
-
(DriverUtils.isPostgresFamily(this.connection.driver) ||
|
|
330
|
-
this.connection.driver.options.type === "oracle" ||
|
|
331
|
-
this.connection.driver.options.type === "cockroachdb" ||
|
|
332
|
-
DriverUtils.isMySQLFamily(this.connection.driver))) {
|
|
333
|
-
query += ` RETURNING ${returningExpression}`;
|
|
334
|
-
}
|
|
335
|
-
if (this.connection.driver.options.type === "mssql" &&
|
|
336
|
-
this.expressionMap.mainAlias.hasMetadata &&
|
|
337
|
-
this.expressionMap
|
|
338
|
-
.mainAlias.metadata.columns.filter((column) => this.expressionMap.insertColumns.length > 0
|
|
339
|
-
? this.expressionMap.insertColumns.indexOf(column.propertyPath) !== -1
|
|
340
|
-
: column.isInsert)
|
|
341
|
-
.some((column) => this.isOverridingAutoIncrementBehavior(column))) {
|
|
342
|
-
query = `SET IDENTITY_INSERT ${tableName} ON; ${query}; SET IDENTITY_INSERT ${tableName} OFF`;
|
|
343
|
-
}
|
|
344
|
-
return query;
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Gets list of columns where values must be inserted to.
|
|
348
|
-
*/
|
|
349
|
-
getInsertedColumns() {
|
|
350
|
-
if (!this.expressionMap.mainAlias.hasMetadata)
|
|
351
|
-
return [];
|
|
352
|
-
return this.expressionMap.mainAlias.metadata.columns.filter((column) => {
|
|
353
|
-
if (this.expressionMap.insertColumns.length)
|
|
354
|
-
return (this.expressionMap.insertColumns.indexOf(column.propertyPath) !== -1);
|
|
355
|
-
if (!column.isInsert) {
|
|
356
|
-
return false;
|
|
357
|
-
}
|
|
358
|
-
if (column.isGenerated &&
|
|
359
|
-
column.generationStrategy === "increment" &&
|
|
360
|
-
!(this.connection.driver.options.type === "spanner") &&
|
|
361
|
-
!(this.connection.driver.options.type === "oracle") &&
|
|
362
|
-
!DriverUtils.isSQLiteFamily(this.connection.driver) &&
|
|
363
|
-
!DriverUtils.isMySQLFamily(this.connection.driver) &&
|
|
364
|
-
!(this.connection.driver.options.type === "aurora-mysql") &&
|
|
365
|
-
!(this.connection.driver.options.type === "mssql" &&
|
|
366
|
-
this.isOverridingAutoIncrementBehavior(column)))
|
|
367
|
-
return false;
|
|
368
|
-
return true;
|
|
369
|
-
});
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Creates a columns string where values must be inserted to for INSERT INTO expression.
|
|
373
|
-
*/
|
|
374
|
-
createColumnNamesExpression() {
|
|
375
|
-
const columns = this.getInsertedColumns();
|
|
376
|
-
if (columns.length > 0)
|
|
377
|
-
return columns
|
|
378
|
-
.map((column) => this.escape(column.databaseName))
|
|
379
|
-
.join(", ");
|
|
380
|
-
if (!this.expressionMap.mainAlias.hasMetadata &&
|
|
381
|
-
!this.expressionMap.insertColumns.length) {
|
|
382
|
-
const valueSets = this.getValueSets();
|
|
383
|
-
if (valueSets.length === 1)
|
|
384
|
-
return Object.keys(valueSets[0])
|
|
385
|
-
.map((columnName) => this.escape(columnName))
|
|
386
|
-
.join(", ");
|
|
387
|
-
}
|
|
388
|
-
return this.expressionMap.insertColumns
|
|
389
|
-
.map((columnName) => this.escape(columnName))
|
|
390
|
-
.join(", ");
|
|
391
|
-
}
|
|
392
|
-
/**
|
|
393
|
-
* Creates list of values needs to be inserted in the VALUES expression.
|
|
394
|
-
*/
|
|
395
|
-
createValuesExpression() {
|
|
396
|
-
const valueSets = this.getValueSets();
|
|
397
|
-
const columns = this.getInsertedColumns();
|
|
398
|
-
if (columns.length > 0) {
|
|
399
|
-
let expression = "";
|
|
400
|
-
valueSets.forEach((valueSet, valueSetIndex) => {
|
|
401
|
-
columns.forEach((column, columnIndex) => {
|
|
402
|
-
if (columnIndex === 0) {
|
|
403
|
-
if (this.connection.driver.options.type === "oracle" &&
|
|
404
|
-
valueSets.length > 1) {
|
|
405
|
-
expression += " SELECT ";
|
|
406
|
-
}
|
|
407
|
-
else if (this.connection.driver.options.type === "sap" &&
|
|
408
|
-
valueSets.length > 1) {
|
|
409
|
-
expression += " SELECT ";
|
|
410
|
-
}
|
|
411
|
-
else {
|
|
412
|
-
expression += "(";
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
let value = column.getEntityValue(valueSet);
|
|
416
|
-
/*if (column.referencedColumn && value instanceof Object && !(typeof value === "function")) { // todo: check if we still need it since getEntityValue already has similar code
|
|
417
|
-
value = column.referencedColumn.getEntityValue(value);
|
|
418
|
-
}*/
|
|
419
|
-
if (!(typeof value === "function")) {
|
|
420
|
-
value = this.connection.driver.preparePersistentValue(value, column);
|
|
421
|
-
}
|
|
422
|
-
if (column.isVersion && value === undefined) {
|
|
423
|
-
expression += "1";
|
|
424
|
-
//
|
|
425
|
-
}
|
|
426
|
-
else if (column.isDiscriminator) {
|
|
427
|
-
expression += this.createParameter(this.expressionMap.mainAlias.metadata
|
|
428
|
-
.discriminatorValue);
|
|
429
|
-
}
|
|
430
|
-
else if (column.isGenerated &&
|
|
431
|
-
column.generationStrategy === "uuid" &&
|
|
432
|
-
!this.connection.driver.isUUIDGenerationSupported() &&
|
|
433
|
-
value === undefined) {
|
|
434
|
-
value = uuidv4();
|
|
435
|
-
expression += this.createParameter(value);
|
|
436
|
-
if (!(valueSetIndex in
|
|
437
|
-
this.expressionMap.locallyGenerated)) {
|
|
438
|
-
this.expressionMap.locallyGenerated[valueSetIndex] =
|
|
439
|
-
{};
|
|
440
|
-
}
|
|
441
|
-
column.setEntityValue(this.expressionMap.locallyGenerated[valueSetIndex], value);
|
|
442
|
-
}
|
|
443
|
-
else if (value === undefined) {
|
|
444
|
-
if ((this.connection.driver.options.type === "oracle" &&
|
|
445
|
-
valueSets.length > 1) ||
|
|
446
|
-
DriverUtils.isSQLiteFamily(this.connection.driver) ||
|
|
447
|
-
this.connection.driver.options.type === "sap" ||
|
|
448
|
-
this.connection.driver.options.type === "spanner") {
|
|
449
|
-
if (column.default !== undefined &&
|
|
450
|
-
column.default !== null) {
|
|
451
|
-
expression +=
|
|
452
|
-
this.connection.driver.normalizeDefault(column);
|
|
453
|
-
}
|
|
454
|
-
else {
|
|
455
|
-
expression += "NULL"; // otherwise simply use NULL and pray if column is nullable
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
else {
|
|
459
|
-
expression += "DEFAULT";
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
else if (value === null &&
|
|
463
|
-
this.connection.driver.options.type === "spanner") {
|
|
464
|
-
expression += "NULL";
|
|
465
|
-
}
|
|
466
|
-
else if (typeof value === "function") {
|
|
467
|
-
expression += value();
|
|
468
|
-
}
|
|
469
|
-
else {
|
|
470
|
-
/* */
|
|
471
|
-
/* */
|
|
472
|
-
/* */
|
|
473
|
-
/* */
|
|
474
|
-
/* */
|
|
475
|
-
/* */
|
|
476
|
-
/* */
|
|
477
|
-
/* */
|
|
478
|
-
/* */
|
|
479
|
-
const paramName = this.createParameter(value);
|
|
480
|
-
if (
|
|
481
|
-
/* */
|
|
482
|
-
/* */
|
|
483
|
-
/* */
|
|
484
|
-
/* */
|
|
485
|
-
/* */
|
|
486
|
-
/* */
|
|
487
|
-
/* */
|
|
488
|
-
/* */
|
|
489
|
-
/* */
|
|
490
|
-
/* */
|
|
491
|
-
/* */
|
|
492
|
-
false) {
|
|
493
|
-
const useLegacy =
|
|
494
|
-
/* */
|
|
495
|
-
/* */
|
|
496
|
-
/* */
|
|
497
|
-
/* */
|
|
498
|
-
/* */
|
|
499
|
-
/* */
|
|
500
|
-
{} // TODO
|
|
501
|
-
.options.legacySpatialSupport;
|
|
502
|
-
const geomFromText = useLegacy
|
|
503
|
-
? "GeomFromText"
|
|
504
|
-
: "ST_GeomFromText";
|
|
505
|
-
if (column.srid != null) {
|
|
506
|
-
expression += `${geomFromText}(${paramName}, ${column.srid})`;
|
|
507
|
-
}
|
|
508
|
-
else {
|
|
509
|
-
expression += `${geomFromText}(${paramName})`;
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
else if (DriverUtils.isPostgresFamily(this.connection.driver) &&
|
|
513
|
-
this.connection.driver.spatialTypes.indexOf(column.type) !== -1) {
|
|
514
|
-
if (column.srid != null) {
|
|
515
|
-
expression += `ST_SetSRID(ST_GeomFromGeoJSON(${paramName}), ${column.srid})::${column.type}`;
|
|
516
|
-
}
|
|
517
|
-
else {
|
|
518
|
-
expression += `ST_GeomFromGeoJSON(${paramName})::${column.type}`;
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
else if (this.connection.driver.options.type === "mssql" &&
|
|
522
|
-
this.connection.driver.spatialTypes.indexOf(column.type) !== -1) {
|
|
523
|
-
expression +=
|
|
524
|
-
column.type +
|
|
525
|
-
"::STGeomFromText(" +
|
|
526
|
-
paramName +
|
|
527
|
-
", " +
|
|
528
|
-
(column.srid || "0") +
|
|
529
|
-
")";
|
|
530
|
-
}
|
|
531
|
-
else {
|
|
532
|
-
expression += paramName;
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
if (columnIndex === columns.length - 1) {
|
|
536
|
-
if (valueSetIndex === valueSets.length - 1) {
|
|
537
|
-
if (this.connection.driver.options.type ===
|
|
538
|
-
"oracle" &&
|
|
539
|
-
valueSets.length > 1) {
|
|
540
|
-
expression += " FROM DUAL ";
|
|
541
|
-
}
|
|
542
|
-
else if (this.connection.driver.options.type === "sap" &&
|
|
543
|
-
valueSets.length > 1) {
|
|
544
|
-
expression += " FROM dummy ";
|
|
545
|
-
}
|
|
546
|
-
else {
|
|
547
|
-
expression += ")";
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
else {
|
|
551
|
-
if (this.connection.driver.options.type ===
|
|
552
|
-
"oracle" &&
|
|
553
|
-
valueSets.length > 1) {
|
|
554
|
-
expression += " FROM DUAL UNION ALL ";
|
|
555
|
-
}
|
|
556
|
-
else if (this.connection.driver.options.type === "sap" &&
|
|
557
|
-
valueSets.length > 1) {
|
|
558
|
-
expression += " FROM dummy UNION ALL ";
|
|
559
|
-
}
|
|
560
|
-
else {
|
|
561
|
-
expression += "), ";
|
|
562
|
-
}
|
|
563
|
-
}
|
|
564
|
-
}
|
|
565
|
-
else {
|
|
566
|
-
expression += ", ";
|
|
567
|
-
}
|
|
568
|
-
});
|
|
569
|
-
});
|
|
570
|
-
if (expression === "()")
|
|
571
|
-
return "";
|
|
572
|
-
return expression;
|
|
573
|
-
}
|
|
574
|
-
else {
|
|
575
|
-
let expression = "";
|
|
576
|
-
valueSets.forEach((valueSet, insertionIndex) => {
|
|
577
|
-
const columns = Object.keys(valueSet);
|
|
578
|
-
columns.forEach((columnName, columnIndex) => {
|
|
579
|
-
if (columnIndex === 0) {
|
|
580
|
-
expression += "(";
|
|
581
|
-
}
|
|
582
|
-
const value = valueSet[columnName];
|
|
583
|
-
if (typeof value === "function") {
|
|
584
|
-
expression += value();
|
|
585
|
-
}
|
|
586
|
-
else if (value === undefined) {
|
|
587
|
-
if ((this.connection.driver.options.type === "oracle" &&
|
|
588
|
-
valueSets.length > 1) ||
|
|
589
|
-
DriverUtils.isSQLiteFamily(this.connection.driver) ||
|
|
590
|
-
this.connection.driver.options.type === "sap" ||
|
|
591
|
-
this.connection.driver.options.type === "spanner") {
|
|
592
|
-
expression += "NULL";
|
|
593
|
-
}
|
|
594
|
-
else {
|
|
595
|
-
expression += "DEFAULT";
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
else if (value === null &&
|
|
599
|
-
this.connection.driver.options.type === "spanner") {
|
|
600
|
-
}
|
|
601
|
-
else {
|
|
602
|
-
expression += this.createParameter(value);
|
|
603
|
-
}
|
|
604
|
-
if (columnIndex === Object.keys(valueSet).length - 1) {
|
|
605
|
-
if (insertionIndex === valueSets.length - 1) {
|
|
606
|
-
expression += ")";
|
|
607
|
-
}
|
|
608
|
-
else {
|
|
609
|
-
expression += "), ";
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
else {
|
|
613
|
-
expression += ", ";
|
|
614
|
-
}
|
|
615
|
-
});
|
|
616
|
-
});
|
|
617
|
-
if (expression === "()")
|
|
618
|
-
return "";
|
|
619
|
-
return expression;
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
/**
|
|
623
|
-
* Gets array of values need to be inserted into the target table.
|
|
624
|
-
*/
|
|
625
|
-
getValueSets() {
|
|
626
|
-
if (Array.isArray(this.expressionMap.valuesSet))
|
|
627
|
-
return this.expressionMap.valuesSet;
|
|
628
|
-
if (ObjectUtils.isObject(this.expressionMap.valuesSet))
|
|
629
|
-
return [this.expressionMap.valuesSet];
|
|
630
|
-
throw new InsertValuesMissingError();
|
|
631
|
-
}
|
|
632
|
-
/**
|
|
633
|
-
* Checks if column is an auto-generated primary key, but the current insertion specifies a value for it.
|
|
634
|
-
*
|
|
635
|
-
* @param column
|
|
636
|
-
*/
|
|
637
|
-
isOverridingAutoIncrementBehavior(column) {
|
|
638
|
-
return (column.isPrimary &&
|
|
639
|
-
column.isGenerated &&
|
|
640
|
-
column.generationStrategy === "increment" &&
|
|
641
|
-
this.getValueSets().some((valueSet) => column.getEntityValue(valueSet) !== undefined &&
|
|
642
|
-
column.getEntityValue(valueSet) !== null));
|
|
643
|
-
}
|
|
644
|
-
};
|
|
645
|
-
InsertQueryBuilder = __decorate([
|
|
646
|
-
CLASS.NAME('InsertQueryBuilder')
|
|
647
|
-
], InsertQueryBuilder);
|
|
648
|
-
export { InsertQueryBuilder };
|
|
649
|
-
;
|
|
650
|
-
({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/query-builder/InsertQueryBuilder.ts
|
|
651
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zZXJ0UXVlcnlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vcXVlcnktYnVpbGRlci9JbnNlcnRRdWVyeUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUk3QyxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQTtBQUNsRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUU1RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRW5DLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV6RDs7R0FFRztBQUVJLElBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBRVgsU0FBUSxZQUFvQjtJQUZ2Qjs7UUFHTSxtQkFBYSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMs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QyxhQUFhLENBQUMsU0FBUyxDQUFBO1FBRXZDLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUV6QyxNQUFNLElBQUksd0JBQXdCLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGlDQUFpQyxDQUN2QyxNQUFzQjtRQUV0QixPQUFPLENBQ0gsTUFBTSxDQUFDLFNBQVM7WUFDaEIsTUFBTSxDQUFDLFdBQVc7WUFDbEIsTUFBTSxDQUFDLGtCQUFrQixLQUFLLFdBQVc7WUFDekMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDcEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssU0FBUztnQkFDN0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQy9DLENBQ0osQ0FBQTtJQUNMLENBQUM7Q0FDSixDQUFBO0FBcC9CWSxrQkFBa0I7SUFEOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztHQUNwQixrQkFBa0IsQ0FvL0I5Qjs7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlGQUF5RiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBRdWVyeUJ1aWxkZXIgfSBmcm9tIFwiLi9RdWVyeUJ1aWxkZXJcIlxuaW1wb3J0IHsgT2JqZWN0TGl0ZXJhbCB9IGZyb20gXCIuLi9jb21tb24vT2JqZWN0TGl0ZXJhbFwiXG5pbXBvcnQgeyBFbnRpdHlUYXJnZXQgfSBmcm9tIFwiLi4vY29tbW9uL0VudGl0eVRhcmdldFwiXG5pbXBvcnQgeyBRdWVyeURlZXBQYXJ0aWFsRW50aXR5IH0gZnJvbSBcIi4vUXVlcnlQYXJ0aWFsRW50aXR5XCJcbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IEluc2VydFJlc3VsdCB9IGZyb20gXCIuL3Jlc3VsdC9JbnNlcnRSZXN1bHRcIlxuaW1wb3J0IHsgUmV0dXJuaW5nU3RhdGVtZW50Tm90U3VwcG9ydGVkRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3IvUmV0dXJuaW5nU3RhdGVtZW50Tm90U3VwcG9ydGVkRXJyb3JcIlxuaW1wb3J0IHsgSW5zZXJ0VmFsdWVzTWlzc2luZ0Vycm9yIH0gZnJvbSBcIi4uL2Vycm9yL0luc2VydFZhbHVlc01pc3NpbmdFcnJvclwiXG5pbXBvcnQgeyBDb2x1bW5NZXRhZGF0YSB9IGZyb20gXCIuLi9tZXRhZGF0YS9Db2x1bW5NZXRhZGF0YVwiXG5pbXBvcnQgeyBSZXR1cm5pbmdSZXN1bHRzRW50aXR5VXBkYXRvciB9IGZyb20gXCIuL1JldHVybmluZ1Jlc3VsdHNFbnRpdHlVcGRhdG9yXCJcbmltcG9ydCB7IEJyb2FkY2FzdGVyUmVzdWx0IH0gZnJvbSBcIi4uL3N1YnNjcmliZXIvQnJvYWRjYXN0ZXJSZXN1bHRcIlxuaW1wb3J0IHsgVHlwZU9STUVycm9yIH0gZnJvbSBcIi4uL2Vycm9yXCJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gXCJ1dWlkXCJcbmltcG9ydCB7IEluc2VydE9yVXBkYXRlT3B0aW9ucyB9IGZyb20gXCIuL0luc2VydE9yVXBkYXRlT3B0aW9uc1wiXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgRHJpdmVyVXRpbHMgfSBmcm9tIFwiLi4vZHJpdmVyL0RyaXZlclV0aWxzXCJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSBcIi4uL3V0aWwvT2JqZWN0VXRpbHNcIlxuaW1wb3J0IHsgSW5zdGFuY2VDaGVja2VyIH0gZnJvbSBcIi4uL3V0aWwvSW5zdGFuY2VDaGVja2VyXCJcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAndHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL2Jyb3dzZXInO1xuXG4vKipcbiAqIEFsbG93cyB0byBidWlsZCBjb21wbGV4IHNxbCBxdWVyaWVzIGluIGEgZmFzaGlvbiB3YXkgYW5kIGV4ZWN1dGUgdGhvc2UgcXVlcmllcy5cbiAqL1xuQENMQVNTLk5BTUUoJ0luc2VydFF1ZXJ5QnVpbGRlcicpXG5leHBvcnQgY2xhc3MgSW5zZXJ0UXVlcnlCdWlsZGVyPFxuICAgIEVudGl0eSBleHRlbmRzIE9iamVjdExpdGVyYWwsXG4+IGV4dGVuZHMgUXVlcnlCdWlsZGVyPEVudGl0eT4ge1xuICAgIHJlYWRvbmx5IFwiQGluc3RhbmNlb2ZcIiA9IFN5bWJvbC5mb3IoXCJJbnNlcnRRdWVyeUJ1aWxkZXJcIilcblxuXG5cblxuXG4gICAgLyoqXG4gICAgICogR2V0cyBnZW5lcmF0ZWQgU1FMIHF1ZXJ5IHdpdGhvdXQgcGFyYW1ldGVycyBiZWluZyByZXBsYWNlZC5cbiAgICAgKi9cbiAgICBnZXRRdWVyeSgpOiBzdHJpbmcge1xuICAgICAgICBsZXQgc3FsID0gdGhpcy5jcmVhdGVDb21tZW50KClcbiAgICAgICAgc3FsICs9IHRoaXMuY3JlYXRlQ3RlRXhwcmVzc2lvbigpXG4gICAgICAgIHNxbCArPSB0aGlzLmNyZWF0ZUluc2VydEV4cHJlc3Npb24oKVxuICAgICAgICByZXR1cm4gc3FsLnRyaW0oKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHNxbCBnZW5lcmF0ZWQgYnkgcXVlcnkgYnVpbGRlciBhbmQgcmV0dXJucyByYXcgZGF0YWJhc2UgcmVzdWx0cy5cbiAgICAgKi9cbiAgICBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8SW5zZXJ0UmVzdWx0PiB7XG5cbiAgICAgICAgY29uc3QgdmFsdWVTZXRzOiBPYmplY3RMaXRlcmFsW10gPSB0aGlzLmdldFZhbHVlU2V0cygpXG5cblxuXG5cbiAgICAgICAgLy9cblxuXG5cblxuICAgICAgICBpZiAodmFsdWVTZXRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG5ldyBJbnNlcnRSZXN1bHQoKVxuXG5cblxuICAgICAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMub2J0YWluUXVlcnlSdW5uZXIoKVxuICAgICAgICBsZXQgdHJhbnNhY3Rpb25TdGFydGVkQnlVczogYm9vbGVhbiA9IGZhbHNlXG5cbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC51c2VUcmFuc2FjdGlvbiA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyLmlzVHJhbnNhY3Rpb25BY3RpdmUgPT09IGZhbHNlXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKClcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblN0YXJ0ZWRCeVVzID0gdHJ1ZVxuICAgICAgICAgICAgfVxuXG5cblxuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5leHByZXNzaW9uTWFwLmNhbGxMaXN0ZW5lcnMgPT09IHRydWUgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAubWFpbkFsaWFzIS5oYXNNZXRhZGF0YVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnJvYWRjYXN0UmVzdWx0ID0gbmV3IEJyb2FkY2FzdGVyUmVzdWx0KClcbiAgICAgICAgICAgICAgICB2YWx1ZVNldHMuZm9yRWFjaCgodmFsdWVTZXQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlSdW5uZXIuYnJvYWRjYXN0ZXIuYnJvYWRjYXN0QmVmb3JlSW5zZXJ0RXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBicm9hZGNhc3RSZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAubWFpbkFsaWFzIS5tZXRhZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlU2V0LFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBhd2FpdCBicm9hZGNhc3RSZXN1bHQud2FpdCgpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBkZWNsYXJlU3FsOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICAgICAgICAgICAgbGV0IHNlbGVjdE91dHB1dFNxbDogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuXG5cbiAgICAgICAgICAgIGNvbnN0IHJldHVybmluZ1Jlc3VsdHNFbnRpdHlVcGRhdG9yID1cbiAgICAgICAgICAgICAgICBuZXcgUmV0dXJuaW5nUmVzdWx0c0VudGl0eVVwZGF0b3IoXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UnVubmVyLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAsXG4gICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBjb25zdCByZXR1cm5pbmdDb2x1bW5zOiBDb2x1bW5NZXRhZGF0YVtdID0gW11cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5leHByZXNzaW9uTWFwLnJldHVybmluZykgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAubWFpbkFsaWFzIS5oYXNNZXRhZGF0YVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjb2x1bW5QYXRoIG9mIHRoaXMuZXhwcmVzc2lvbk1hcC5yZXR1cm5pbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuaW5nQ29sdW1ucy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5leHByZXNzaW9uTWFwLm1haW5BbGlhcyEubWV0YWRhdGEuZmluZENvbHVtbnNXaXRoUHJvcGVydHlQYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtblBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5leHByZXNzaW9uTWFwLnVwZGF0ZUVudGl0eSA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC5tYWluQWxpYXMhLmhhc01ldGFkYXRhXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVNldHMubGVuZ3RoID4gMSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwib3JhY2xlXCJcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAuZXh0cmFSZXR1cm5pbmdDb2x1bW5zID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC5tYWluQWxpYXMhLm1ldGFkYXRhLmdldEluc2VydGlvblJldHVybmluZ0NvbHVtbnMoKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybmluZ0NvbHVtbnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5leHByZXNzaW9uTWFwLmV4dHJhUmV0dXJuaW5nQ29sdW1ucy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAoYykgPT4gIXJldHVybmluZ0NvbHVtbnMuaW5jbHVkZXMoYyksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgcmV0dXJuaW5nQ29sdW1ucy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwibXNzcWxcIlxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZGVjbGFyZVNxbCA9IChcbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4gIFxuICAgICAgICAgICAgICAgICAgICB7fSBhcyBhbnkgLy8gVE9ET1xuXG5cbiAgICAgICAgICAgICAgICApLmJ1aWxkVGFibGVWYXJpYWJsZURlY2xhcmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBcIkBPdXRwdXRUYWJsZVwiLFxuICAgICAgICAgICAgICAgICAgICByZXR1cm5pbmdDb2x1bW5zLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBzZWxlY3RPdXRwdXRTcWwgPSBgU0VMRUNUICogRlJPTSBAT3V0cHV0VGFibGVgXG4gICAgICAgICAgICB9XG5cblxuXG5cbiAgICAgICAgICAgIGNvbnN0IFtpbnNlcnRTcWwsIHBhcmFtZXRlcnNdID0gdGhpcy5nZXRRdWVyeUFuZFBhcmFtZXRlcnMoKVxuXG5cblxuICAgICAgICAgICAgY29uc3Qgc3RhdGVtZW50cyA9IFtkZWNsYXJlU3FsLCBpbnNlcnRTcWwsIHNlbGVjdE91dHB1dFNxbF1cbiAgICAgICAgICAgIGNvbnN0IHNxbCA9IHN0YXRlbWVudHMuZmlsdGVyKChzKSA9PiBzICE9IG51bGwpLmpvaW4oXCI7XFxuXFxuXCIpXG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UmVzdWx0ID0gYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoc3FsLCBwYXJhbWV0ZXJzLCB0cnVlKVxuXG4gICAgICAgICAgICBjb25zdCBpbnNlcnRSZXN1bHQgPSBJbnNlcnRSZXN1bHQuZnJvbShxdWVyeVJlc3VsdClcblxuXG5cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC51cGRhdGVFbnRpdHkgPT09IHRydWUgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAubWFpbkFsaWFzIS5oYXNNZXRhZGF0YVxuICAgICAgICAgICAgKSB7XG5cbiAgICAgICAgICAgICAgICBhd2FpdCByZXR1cm5pbmdSZXN1bHRzRW50aXR5VXBkYXRvci5pbnNlcnQoXG4gICAgICAgICAgICAgICAgICAgIGluc2VydFJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVTZXRzLFxuICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAuY2FsbExpc3RlbmVycyA9PT0gdHJ1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC5tYWluQWxpYXMhLmhhc01ldGFkYXRhXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBicm9hZGNhc3RSZXN1bHQgPSBuZXcgQnJvYWRjYXN0ZXJSZXN1bHQoKVxuICAgICAgICAgICAgICAgIHZhbHVlU2V0cy5mb3JFYWNoKCh2YWx1ZVNldCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBxdWVyeVJ1bm5lci5icm9hZGNhc3Rlci5icm9hZGNhc3RBZnRlckluc2VydEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgYnJvYWRjYXN0UmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leHByZXNzaW9uTWFwLm1haW5BbGlhcyEubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVNldCxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgYXdhaXQgYnJvYWRjYXN0UmVzdWx0LndhaXQoKVxuICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uU3RhcnRlZEJ5VXMpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpXG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgcmV0dXJuIGluc2VydFJlc3VsdFxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuXG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb25TdGFydGVkQnlVcykge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJvbGxiYWNrVHJhbnNhY3Rpb24oKVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKHJvbGxiYWNrRXJyb3IpIHt9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBlcnJvclxuICAgICAgICB9IGZpbmFsbHkge1xuXG4gICAgICAgICAgICBpZiAocXVlcnlSdW5uZXIgIT09IHRoaXMucXVlcnlSdW5uZXIpIHtcblxuICAgICAgICAgICAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJlbGVhc2UoKVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIElOVE8gd2hpY2ggZW50aXR5J3MgdGFibGUgaW5zZXJ0aW9uIHdpbGwgYmUgZXhlY3V0ZWQuXG4gICAgICovXG4gICAgaW50bzxUIGV4dGVuZHMgT2JqZWN0TGl0ZXJhbD4oXG4gICAgICAgIGVudGl0eVRhcmdldDogRW50aXR5VGFyZ2V0PFQ+LFxuICAgICAgICBjb2x1bW5zPzogc3RyaW5nW10sXG4gICAgKTogSW5zZXJ0UXVlcnlCdWlsZGVyPFQ+IHtcbiAgICAgICAgZW50aXR5VGFyZ2V0ID0gSW5zdGFuY2VDaGVja2VyLmlzRW50aXR5U2NoZW1hKGVudGl0eVRhcmdldClcbiAgICAgICAgICAgID8gZW50aXR5VGFyZ2V0Lm9wdGlvbnMubmFtZVxuICAgICAgICAgICAgOiBlbnRpdHlUYXJnZXRcbiAgICAgICAgY29uc3QgbWFpbkFsaWFzID0gdGhpcy5jcmVhdGVGcm9tQWxpYXMoZW50aXR5VGFyZ2V0KVxuICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAuc2V0TWFpbkFsaWFzKG1haW5BbGlhcylcbiAgICAgICAgdGhpcy5leHByZXNzaW9uTWFwLmluc2VydENvbHVtbnMgPSBjb2x1bW5zIHx8IFtdXG4gICAgICAgIHJldHVybiB0aGlzIGFzIGFueSBhcyBJbnNlcnRRdWVyeUJ1aWxkZXI8VD5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWx1ZXMgbmVlZHMgdG8gYmUgaW5zZXJ0ZWQgaW50byB0YWJsZS5cbiAgICAgKi9cbiAgICB2YWx1ZXMoXG4gICAgICAgIHZhbHVlczpcbiAgICAgICAgICAgIHwgUXVlcnlEZWVwUGFydGlhbEVudGl0eTxFbnRpdHk+XG4gICAgICAgICAgICB8IFF1ZXJ5RGVlcFBhcnRpYWxFbnRpdHk8RW50aXR5PltdLFxuICAgICk6IHRoaXMge1xuICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAudmFsdWVzU2V0ID0gdmFsdWVzXG4gICAgICAgIHJldHVybiB0aGlzXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgcmV0dXJuaW5nL291dHB1dCBjbGF1c2UuXG4gICAgICogVGhpcyB3aWxsIHJldHVybiBnaXZlbiBjb2x1bW4gdmFsdWVzLlxuICAgICAqL1xuICAgIG91dHB1dChjb2x1bW5zOiBzdHJpbmdbXSk6IHRoaXNcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIHJldHVybmluZy9vdXRwdXQgY2xhdXNlLlxuICAgICAqIFJldHVybmluZyBpcyBhIFNRTCBzdHJpbmcgY29udGFpbmluZyByZXR1cm5pbmcgc3RhdGVtZW50LlxuICAgICAqL1xuICAgIG91dHB1dChvdXRwdXQ6IHN0cmluZyk6IHRoaXNcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIHJldHVybmluZy9vdXRwdXQgY2xhdXNlLlxuICAgICAqL1xuICAgIG91dHB1dChvdXRwdXQ6IHN0cmluZyB8IHN0cmluZ1tdKTogdGhpc1xuXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgcmV0dXJuaW5nL291dHB1dCBjbGF1c2UuXG4gICAgICovXG4gICAgb3V0cHV0KG91dHB1dDogc3RyaW5nIHwgc3RyaW5nW10pOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV0dXJuaW5nKG91dHB1dClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCByZXR1cm5pbmcvb3V0cHV0IGNsYXVzZS5cbiAgICAgKiBUaGlzIHdpbGwgcmV0dXJuIGdpdmVuIGNvbHVtbiB2YWx1ZXMuXG4gICAgICovXG4gICAgcmV0dXJuaW5nKGNvbHVtbnM6IHN0cmluZ1tdKTogdGhpc1xuXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgcmV0dXJuaW5nL291dHB1dCBjbGF1c2UuXG4gICAgICogUmV0dXJuaW5nIGlzIGEgU1FMIHN0cmluZyBjb250YWluaW5nIHJldHVybmluZyBzdGF0ZW1lbnQuXG4gICAgICovXG4gICAgcmV0dXJuaW5nKHJldHVybmluZzogc3RyaW5nKTogdGhpc1xuXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgcmV0dXJuaW5nL291dHB1dCBjbGF1c2UuXG4gICAgICovXG4gICAgcmV0dXJuaW5nKHJldHVybmluZzogc3RyaW5nIHwgc3RyaW5nW10pOiB0aGlzXG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCByZXR1cm5pbmcvb3V0cHV0IGNsYXVzZS5cbiAgICAgKi9cbiAgICByZXR1cm5pbmcocmV0dXJuaW5nOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHRoaXMge1xuXG4gICAgICAgIGlmICghdGhpcy5jb25uZWN0aW9uLmRyaXZlci5pc1JldHVybmluZ1NxbFN1cHBvcnRlZChcImluc2VydFwiKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFJldHVybmluZ1N0YXRlbWVudE5vdFN1cHBvcnRlZEVycm9yKClcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC5yZXR1cm5pbmcgPSByZXR1cm5pbmdcbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbmRpY2F0ZXMgaWYgZW50aXR5IG11c3QgYmUgdXBkYXRlZCBhZnRlciBpbnNlcnRpb24gb3BlcmF0aW9ucy5cbiAgICAgKiBUaGlzIG1heSBwcm9kdWNlIGV4dHJhIHF1ZXJ5IG9yIHVzZSBSRVRVUk5JTkcgLyBPVVRQVVQgc3RhdGVtZW50IChkZXBlbmQgb24gZGF0YWJhc2UpLlxuICAgICAqIEVuYWJsZWQgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICB1cGRhdGVFbnRpdHkoZW5hYmxlZDogYm9vbGVhbik6IHRoaXMge1xuICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAudXBkYXRlRW50aXR5ID0gZW5hYmxlZFxuICAgICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYWRkaXRpb25hbCBPTiBDT05GTElDVCBzdGF0ZW1lbnQgc3VwcG9ydGVkIGluIHBvc3RncmVzIGFuZCBjb2Nrcm9hY2guXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYG9ySWdub3JlYCBvciBgb3JVcGRhdGVgXG4gICAgICovXG4gICAgb25Db25mbGljdChzdGF0ZW1lbnQ6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAub25Db25mbGljdCA9IHN0YXRlbWVudFxuICAgICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYWRkaXRpb25hbCBpZ25vcmUgc3RhdGVtZW50IHN1cHBvcnRlZCBpbiBkYXRhYmFzZXMuXG4gICAgICovXG4gICAgb3JJZ25vcmUoc3RhdGVtZW50OiBzdHJpbmcgfCBib29sZWFuID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAub25JZ25vcmUgPSAhIXN0YXRlbWVudFxuICAgICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICpcbiAgICAgKiBgLm9yVXBkYXRlKHsgY29sdW1uczogWyBcImlzX3VwZGF0ZWRcIiBdIH0pLnNldFBhcmFtZXRlcihcImlzX3VwZGF0ZWRcIiwgdmFsdWUpYFxuICAgICAqXG4gICAgICogaXMgbm93IGAub3JVcGRhdGUoW1wiaXNfdXBkYXRlZFwiXSlgXG4gICAgICpcbiAgICAgKiBgLm9yVXBkYXRlKHsgY29uZmxpY3RfdGFyZ2V0OiBbJ2RhdGUnXSwgb3ZlcndyaXRlOiBbJ3RpdGxlJ10gfSlgXG4gICAgICpcbiAgICAgKiBpcyBub3cgYC5vclVwZGF0ZShbJ3RpdGxlJ10sIFsnZGF0ZSddKWBcbiAgICAgKlxuICAgICAqL1xuICAgIG9yVXBkYXRlKHN0YXRlbWVudD86IHtcbiAgICAgICAgY29sdW1ucz86IHN0cmluZ1tdXG4gICAgICAgIG92ZXJ3cml0ZT86IHN0cmluZ1tdXG4gICAgICAgIGNvbmZsaWN0X3RhcmdldD86IHN0cmluZyB8IHN0cmluZ1tdXG4gICAgfSk6IHRoaXNcblxuICAgIG9yVXBkYXRlKFxuICAgICAgICBvdmVyd3JpdGU6IHN0cmluZ1tdLFxuICAgICAgICBjb25mbGljdFRhcmdldD86IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgICAgICBvclVwZGF0ZU9wdGlvbnM/OiBJbnNlcnRPclVwZGF0ZU9wdGlvbnMsXG4gICAgKTogdGhpc1xuXG4gICAgLyoqXG4gICAgICogQWRkcyBhZGRpdGlvbmFsIHVwZGF0ZSBzdGF0ZW1lbnQgc3VwcG9ydGVkIGluIGRhdGFiYXNlcy5cbiAgICAgKi9cbiAgICBvclVwZGF0ZShcbiAgICAgICAgc3RhdGVtZW50T3JPdmVyd3JpdGU/OlxuICAgICAgICAgICAgfCB7XG4gICAgICAgICAgICAgICAgICBjb2x1bW5zPzogc3RyaW5nW11cbiAgICAgICAgICAgICAgICAgIG92ZXJ3cml0ZT86IHN0cmluZ1tdXG4gICAgICAgICAgICAgICAgICBjb25mbGljdF90YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB8IHN0cmluZ1tdLFxuICAgICAgICBjb25mbGljdFRhcmdldD86IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgICAgICBvclVwZGF0ZU9wdGlvbnM/OiBJbnNlcnRPclVwZGF0ZU9wdGlvbnMsXG4gICAgKTogdGhpcyB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShzdGF0ZW1lbnRPck92ZXJ3cml0ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC5vblVwZGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBjb25mbGljdDogc3RhdGVtZW50T3JPdmVyd3JpdGU/LmNvbmZsaWN0X3RhcmdldCxcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiBzdGF0ZW1lbnRPck92ZXJ3cml0ZT8uY29sdW1ucyxcbiAgICAgICAgICAgICAgICBvdmVyd3JpdGU6IHN0YXRlbWVudE9yT3ZlcndyaXRlPy5vdmVyd3JpdGUsXG4gICAgICAgICAgICAgICAgc2tpcFVwZGF0ZUlmTm9WYWx1ZXNDaGFuZ2VkOlxuICAgICAgICAgICAgICAgICAgICBvclVwZGF0ZU9wdGlvbnM/LnNraXBVcGRhdGVJZk5vVmFsdWVzQ2hhbmdlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAub25VcGRhdGUgPSB7XG4gICAgICAgICAgICBvdmVyd3JpdGU6IHN0YXRlbWVudE9yT3ZlcndyaXRlLFxuICAgICAgICAgICAgY29uZmxpY3Q6IGNvbmZsaWN0VGFyZ2V0LFxuICAgICAgICAgICAgc2tpcFVwZGF0ZUlmTm9WYWx1ZXNDaGFuZ2VkOlxuICAgICAgICAgICAgICAgIG9yVXBkYXRlT3B0aW9ucz8uc2tpcFVwZGF0ZUlmTm9WYWx1ZXNDaGFuZ2VkLFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIElOU0VSVCBleHByZXNzIHVzZWQgdG8gcGVyZm9ybSBpbnNlcnQgcXVlcnkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUluc2VydEV4cHJlc3Npb24oKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRoaXMuZ2V0VGFibGVOYW1lKHRoaXMuZ2V0TWFpblRhYmxlTmFtZSgpKVxuICAgICAgICBjb25zdCB2YWx1ZXNFeHByZXNzaW9uID0gdGhpcy5jcmVhdGVWYWx1ZXNFeHByZXNzaW9uKCkgLy8gaXRzIGltcG9ydGFudCB0byBnZXQgdmFsdWVzIGJlZm9yZSByZXR1cm5pbmcgZXhwcmVzc2lvbiBiZWNhdXNlIG9yYWNsZSByZWx5IG9uIG5hdGl2ZSBwYXJhbWV0ZXJzIGFuZCBvcmRlcmluZyBvZiB0aGVtIGlzIGltcG9ydGFudFxuICAgICAgICBjb25zdCByZXR1cm5pbmdFeHByZXNzaW9uID1cbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcIm9yYWNsZVwiICYmXG4gICAgICAgICAgICB0aGlzLmdldFZhbHVlU2V0cygpLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IHRoaXMuY3JlYXRlUmV0dXJuaW5nRXhwcmVzc2lvbihcImluc2VydFwiKSAvLyBvcmFjbGUgZG9lc250IHN1cHBvcnQgcmV0dXJuaW5nIHdpdGggbXVsdGktcm93IGluc2VydFxuICAgICAgICBjb25zdCBjb2x1bW5zRXhwcmVzc2lvbiA9IHRoaXMuY3JlYXRlQ29sdW1uTmFtZXNFeHByZXNzaW9uKClcbiAgICAgICAgbGV0IHF1ZXJ5ID0gXCJJTlNFUlQgXCJcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBEcml2ZXJVdGlscy5pc015U1FMRmFtaWx5KHRoaXMuY29ubmVjdGlvbi5kcml2ZXIpIHx8XG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT0gXCJhdXJvcmEtbXlzcWxcIlxuICAgICAgICApIHtcbiAgICAgICAgICAgIHF1ZXJ5ICs9IGAke3RoaXMuZXhwcmVzc2lvbk1hcC5vbklnbm9yZSA/IFwiIElHTk9SRSBcIiA6IFwiXCJ9YFxuICAgICAgICB9XG5cbiAgICAgICAgcXVlcnkgKz0gYElOVE8gJHt0YWJsZU5hbWV9YFxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuYWxpYXMgIT09IHRoaXMuZ2V0TWFpblRhYmxlTmFtZSgpICYmXG4gICAgICAgICAgICBEcml2ZXJVdGlscy5pc1Bvc3RncmVzRmFtaWx5KHRoaXMuY29ubmVjdGlvbi5kcml2ZXIpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcXVlcnkgKz0gYCBBUyBcIiR7dGhpcy5hbGlhc31cImBcbiAgICAgICAgfVxuXG5cbiAgICAgICAgaWYgKGNvbHVtbnNFeHByZXNzaW9uKSB7XG4gICAgICAgICAgICBxdWVyeSArPSBgKCR7Y29sdW1uc0V4cHJlc3Npb259KWBcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdmFsdWVzRXhwcmVzc2lvbiAmJlxuICAgICAgICAgICAgICAgIChEcml2ZXJVdGlscy5pc015U1FMRmFtaWx5KHRoaXMuY29ubmVjdGlvbi5kcml2ZXIpIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcImF1cm9yYS1teXNxbFwiKVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgcXVlcnkgKz0gXCIoKVwiXG4gICAgICAgIH1cblxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHJldHVybmluZ0V4cHJlc3Npb24gJiZcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcIm1zc3FsXCJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBxdWVyeSArPSBgIE9VVFBVVCAke3JldHVybmluZ0V4cHJlc3Npb259YFxuICAgICAgICB9XG5cblxuICAgICAgICBpZiAodmFsdWVzRXhwcmVzc2lvbikge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcIm9yYWNsZVwiICYmXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRWYWx1ZVNldHMoKS5sZW5ndGggPiAxXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBxdWVyeSArPSBgICR7dmFsdWVzRXhwcmVzc2lvbn1gXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IGAgVkFMVUVTICR7dmFsdWVzRXhwcmVzc2lvbn1gXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuaXNNeVNRTEZhbWlseSh0aGlzLmNvbm5lY3Rpb24uZHJpdmVyKSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcImF1cm9yYS1teXNxbFwiXG4gICAgICAgICAgICApIHtcblxuICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IFwiIFZBTFVFUyAoKVwiXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IGAgREVGQVVMVCBWQUxVRVNgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5zdXBwb3J0ZWRVcHNlcnRUeXBlID09PVxuICAgICAgICAgICAgXCJvbi1jb25mbGljdC1kby11cGRhdGVcIlxuICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4cHJlc3Npb25NYXAub25JZ25vcmUpIHtcbiAgICAgICAgICAgICAgICBxdWVyeSArPSBcIiBPTiBDT05GTElDVCBETyBOT1RISU5HIFwiXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZXhwcmVzc2lvbk1hcC5vbkNvbmZsaWN0KSB7XG4gICAgICAgICAgICAgICAgcXVlcnkgKz0gYCBPTiBDT05GTElDVCAke3RoaXMuZXhwcmVzc2lvbk1hcC5vbkNvbmZsaWN0fSBgXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZXhwcmVzc2lvbk1hcC5vblVwZGF0ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcndyaXRlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICBjb25mbGljdCxcbiAgICAgICAgICAgICAgICAgICAgc2tpcFVwZGF0ZUlmTm9WYWx1ZXNDaGFuZ2VkLFxuICAgICAgICAgICAgICAgIH0gPSB0aGlzLmV4cHJlc3Npb25NYXAub25VcGRhdGVcblxuICAgICAgICAgICAgICAgIGxldCBjb25mbGljdFRhcmdldCA9IFwiT04gQ09ORkxJQ1RcIlxuXG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmxpY3QpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmZsaWN0VGFyZ2V0ICs9IGAgKCAke2NvbmZsaWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKChjb2x1bW4pID0+IHRoaXMuZXNjYXBlKGNvbHVtbikpXG4gICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpfSApYFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29uZmxpY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uZmxpY3RUYXJnZXQgKz0gYCBPTiBDT05TVFJBSU5UICR7dGhpcy5lc2NhcGUoY29uZmxpY3QpfWBcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvdmVyd3JpdGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IGAgJHtjb25mbGljdFRhcmdldH0gRE8gVVBEQVRFIFNFVCBgXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IG92ZXJ3cml0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5tYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbHVtbikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5lc2NhcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9ID0gRVhDTFVERUQuJHt0aGlzLmVzY2FwZShjb2x1bW4pfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IFwiIFwiXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW5zKSB7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IGAgJHtjb25mbGljdFRhcmdldH0gRE8gVVBEQVRFIFNFVCBgXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IGNvbHVtbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGNvbHVtbikgPT4gYCR7dGhpcy5lc2NhcGUoY29sdW1uKX0gPSA6JHtjb2x1bW59YClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiLCBcIilcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkgKz0gXCIgXCJcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkob3ZlcndyaXRlKSAmJlxuICAgICAgICAgICAgICAgICAgICBza2lwVXBkYXRlSWZOb1ZhbHVlc0NoYW5nZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuaXNQb3N0Z3Jlc0ZhbWlseSh0aGlzLmNvbm5lY3Rpb24uZHJpdmVyKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBxdWVyeSArPSBgIFdIRVJFIChgXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IG92ZXJ3cml0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sdW1uKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHt0YWJsZU5hbWV9LiR7dGhpcy5lc2NhcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9IElTIERJU1RJTkNUIEZST00gRVhDTFVERUQuJHt0aGlzLmVzY2FwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCIgT1IgXCIpXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IFwiKSBcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIuc3VwcG9ydGVkVXBzZXJ0VHlwZSA9PT1cbiAgICAgICAgICAgIFwib24tZHVwbGljYXRlLWtleS11cGRhdGVcIlxuICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmV4cHJlc3Npb25NYXAub25VcGRhdGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG92ZXJ3cml0ZSwgY29sdW1ucyB9ID0gdGhpcy5leHByZXNzaW9uTWFwLm9uVXBkYXRlXG5cbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvdmVyd3JpdGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IFwiIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIFwiXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IG92ZXJ3cml0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sdW1uKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmVzY2FwZShjb2x1bW4pfSA9IFZBTFVFUygke3RoaXMuZXNjYXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfSlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCIsIFwiKVxuICAgICAgICAgICAgICAgICAgICBxdWVyeSArPSBcIiBcIlxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjb2x1bW5zKSkge1xuICAgICAgICAgICAgICAgICAgICBxdWVyeSArPSBcIiBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBcIlxuICAgICAgICAgICAgICAgICAgICBxdWVyeSArPSBjb2x1bW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKChjb2x1bW4pID0+IGAke3RoaXMuZXNjYXBlKGNvbHVtbil9ID0gOiR7Y29sdW1ufWApXG4gICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5ICs9IFwiIFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuZXhwcmVzc2lvbk1hcC5vblVwZGF0ZSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlT1JNRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIGBvblVwZGF0ZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGRhdGFiYXNlIGRyaXZlcmAsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICByZXR1cm5pbmdFeHByZXNzaW9uICYmXG4gICAgICAgICAgICAoRHJpdmVyVXRpbHMuaXNQb3N0Z3Jlc0ZhbWlseSh0aGlzLmNvbm5lY3Rpb24uZHJpdmVyKSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcIm9yYWNsZVwiIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwiY29ja3JvYWNoZGJcIiB8fFxuICAgICAgICAgICAgICAgIERyaXZlclV0aWxzLmlzTXlTUUxGYW1pbHkodGhpcy5jb25uZWN0aW9uLmRyaXZlcikpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcXVlcnkgKz0gYCBSRVRVUk5JTkcgJHtyZXR1cm5pbmdFeHByZXNzaW9ufWBcbiAgICAgICAgfVxuXG5cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT0gXCJtc3NxbFwiICYmXG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAubWFpbkFsaWFzIS5oYXNNZXRhZGF0YSAmJlxuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9uTWFwXG4gICAgICAgICAgICAgICAgLm1haW5BbGlhcyEubWV0YWRhdGEuY29sdW1ucy5maWx0ZXIoKGNvbHVtbikgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leHByZXNzaW9uTWFwLmluc2VydENvbHVtbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmV4cHJlc3Npb25NYXAuaW5zZXJ0Q29sdW1ucy5pbmRleE9mKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLnByb3BlcnR5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSAhPT0gLTFcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29sdW1uLmlzSW5zZXJ0LFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc29tZSgoY29sdW1uKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzT3ZlcnJpZGluZ0F1dG9JbmNyZW1lbnRCZWhhdmlvcihjb2x1bW4pLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBxdWVyeSA9IGBTRVQgSURFTlRJVFlfSU5TRVJUICR7dGFibGVOYW1lfSBPTjsgJHtxdWVyeX07IFNFVCBJREVOVElUWV9JTlNFUlQgJHt0YWJsZU5hbWV9IE9GRmBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBxdWVyeVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgbGlzdCBvZiBjb2x1bW5zIHdoZXJlIHZhbHVlcyBtdXN0IGJlIGluc2VydGVkIHRvLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRJbnNlcnRlZENvbHVtbnMoKTogQ29sdW1uTWV0YWRhdGFbXSB7XG4gICAgICAgIGlmICghdGhpcy5leHByZXNzaW9uTWFwLm1haW5BbGlhcyEuaGFzTWV0YWRhdGEpIHJldHVybiBbXVxuXG4gICAgICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb25NYXAubWFpbkFsaWFzIS5tZXRhZGF0YS5jb2x1bW5zLmZpbHRlcihcbiAgICAgICAgICAgIChjb2x1bW4pID0+IHtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV4cHJlc3Npb25NYXAuaW5zZXJ0Q29sdW1ucy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAuaW5zZXJ0Q29sdW1ucy5pbmRleE9mKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5wcm9wZXJ0eVBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICApICE9PSAtMVxuICAgICAgICAgICAgICAgICAgICApXG5cblxuICAgICAgICAgICAgICAgIGlmICghY29sdW1uLmlzSW5zZXJ0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICAgIH1cblxuXG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi5pc0dlbmVyYXRlZCAmJlxuICAgICAgICAgICAgICAgICAgICBjb2x1bW4uZ2VuZXJhdGlvblN0cmF0ZWd5ID09PSBcImluY3JlbWVudFwiICYmXG4gICAgICAgICAgICAgICAgICAgICEodGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwic3Bhbm5lclwiKSAmJlxuICAgICAgICAgICAgICAgICAgICAhKHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcIm9yYWNsZVwiKSAmJlxuICAgICAgICAgICAgICAgICAgICAhRHJpdmVyVXRpbHMuaXNTUUxpdGVGYW1pbHkodGhpcy5jb25uZWN0aW9uLmRyaXZlcikgJiZcbiAgICAgICAgICAgICAgICAgICAgIURyaXZlclV0aWxzLmlzTXlTUUxGYW1pbHkodGhpcy5jb25uZWN0aW9uLmRyaXZlcikgJiZcbiAgICAgICAgICAgICAgICAgICAgISh0aGlzLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT0gXCJhdXJvcmEtbXlzcWxcIikgJiZcbiAgICAgICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcIm1zc3FsXCIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPdmVycmlkaW5nQXV0b0luY3JlbWVudEJlaGF2aW9yKGNvbHVtbilcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjb2x1bW5zIHN0cmluZyB3aGVyZSB2YWx1ZXMgbXVzdCBiZSBpbnNlcnRlZCB0byBmb3IgSU5TRVJUIElOVE8gZXhwcmVzc2lvbi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ29sdW1uTmFtZXNFeHByZXNzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdldEluc2VydGVkQ29sdW1ucygpXG4gICAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA+IDApXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uc1xuICAgICAgICAgICAgICAgIC5tYXAoKGNvbHVtbikgPT4gdGhpcy5lc2NhcGUoY29sdW1uLmRhdGFiYXNlTmFtZSkpXG4gICAgICAgICAgICAgICAgLmpvaW4oXCIsIFwiKVxuXG5cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5leHByZXNzaW9uTWFwLm1haW5BbGlhcyEuaGFzTWV0YWRhdGEgJiZcbiAgICAgICAgICAgICF0aGlzLmV4cHJlc3Npb25NYXAuaW5zZXJ0Q29sdW1ucy5sZW5ndGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZVNldHMgPSB0aGlzLmdldFZhbHVlU2V0cygpXG4gICAgICAgICAgICBpZiAodmFsdWVTZXRzLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModmFsdWVTZXRzWzBdKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChjb2x1bW5OYW1lKSA9PiB0aGlzLmVzY2FwZShjb2x1bW5OYW1lKSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCIsIFwiKVxuICAgICAgICB9XG5cblxuICAgICAgICByZXR1cm4gdGhpcy5leHByZXNzaW9uTWFwLmluc2VydENvbHVtbnNcbiAgICAgICAgICAgIC5tYXAoKGNvbHVtbk5hbWUpID0+IHRoaXMuZXNjYXBlKGNvbHVtbk5hbWUpKVxuICAgICAgICAgICAgLmpvaW4oXCIsIFwiKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgbGlzdCBvZiB2YWx1ZXMgbmVlZHMgdG8gYmUgaW5zZXJ0ZWQgaW4gdGhlIFZBTFVFUyBleHByZXNzaW9uLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjcmVhdGVWYWx1ZXNFeHByZXNzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHZhbHVlU2V0cyA9IHRoaXMuZ2V0VmFsdWVTZXRzKClcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZ2V0SW5zZXJ0ZWRDb2x1bW5zKClcblxuXG4gICAgICAgIGlmIChjb2x1bW5zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBleHByZXNzaW9uID0gXCJcIlxuICAgICAgICAgICAgdmFsdWVTZXRzLmZvckVhY2goKHZhbHVlU2V0LCB2YWx1ZVNldEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW4sIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW5JbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcIm9yYWNsZVwiICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVTZXRzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCIgU0VMRUNUIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcInNhcFwiICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVTZXRzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCIgU0VMRUNUIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCIoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY29sdW1uLmdldEVudGl0eVZhbHVlKHZhbHVlU2V0KVxuXG5cblxuXG4gICAgICAgICAgICAgICAgICAgIC8qaWYgKGNvbHVtbi5yZWZlcmVuY2VkQ29sdW1uICYmIHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmICEodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpKSB7IC8vIHRvZG86IGNoZWNrIGlmIHdlIHN0aWxsIG5lZWQgaXQgc2luY2UgZ2V0RW50aXR5VmFsdWUgYWxyZWFkeSBoYXMgc2ltaWxhciBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGNvbHVtbi5yZWZlcmVuY2VkQ29sdW1uLmdldEVudGl0eVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSovXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5jb25uZWN0aW9uLmRyaXZlci5wcmVwYXJlUGVyc2lzdGVudFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uLmlzVmVyc2lvbiAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IFwiMVwiXG5cblxuXG5cblxuXG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xuXG5cblxuXG5cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW4uaXNEaXNjcmltaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IHRoaXMuY3JlYXRlUGFyYW1ldGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC5tYWluQWxpYXMhLm1ldGFkYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kaXNjcmltaW5hdG9yVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG5cblxuXG5cblxuXG5cblxuXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uaXNHZW5lcmF0ZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5nZW5lcmF0aW9uU3RyYXRlZ3kgPT09IFwidXVpZFwiICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5jb25uZWN0aW9uLmRyaXZlci5pc1VVSURHZW5lcmF0aW9uU3VwcG9ydGVkKCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHV1aWR2NCgpXG4gICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IHRoaXMuY3JlYXRlUGFyYW1ldGVyKHZhbHVlKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVTZXRJbmRleCBpblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAubG9jYWxseUdlbmVyYXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbk1hcC5sb2NhbGx5R2VuZXJhdGVkW3ZhbHVlU2V0SW5kZXhdID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5zZXRFbnRpdHlWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25NYXAubG9jYWxseUdlbmVyYXRlZFt2YWx1ZVNldEluZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcblxuXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT0gXCJvcmFjbGVcIiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVNldHMubGVuZ3RoID4gMSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJVdGlscy5pc1NRTGl0ZUZhbWlseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwic2FwXCIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT0gXCJzcGFubmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4uZGVmYXVsdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5kZWZhdWx0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5ub3JtYWxpemVEZWZhdWx0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IFwiTlVMTFwiIC8vIG90aGVyd2lzZSBzaW1wbHkgdXNlIE5VTEwgYW5kIHByYXkgaWYgY29sdW1uIGlzIG51bGxhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IFwiREVGQVVMVFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwic3Bhbm5lclwiXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPSBcIk5VTExcIlxuXG5cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPSB2YWx1ZSgpXG5cblxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IHRoaXMuY3JlYXRlUGFyYW1ldGVyKHZhbHVlKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2VcblxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlTGVnYWN5ID0gKFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9IGFzIGFueSAvLyBUT0RPXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLm9wdGlvbnMubGVnYWN5U3BhdGlhbFN1cHBvcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnZW9tRnJvbVRleHQgPSB1c2VMZWdhY3lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcIkdlb21Gcm9tVGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJTVF9HZW9tRnJvbVRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uc3JpZCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gYCR7Z2VvbUZyb21UZXh0fSgke3BhcmFtTmFtZX0sICR7Y29sdW1uLnNyaWR9KWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IGAke2dlb21Gcm9tVGV4dH0oJHtwYXJhbU5hbWV9KWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlclV0aWxzLmlzUG9zdGdyZXNGYW1pbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIuc3BhdGlhbFR5cGVzLmluZGV4T2YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgIT09IC0xXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uLnNyaWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IGBTVF9TZXRTUklEKFNUX0dlb21Gcm9tR2VvSlNPTigke3BhcmFtTmFtZX0pLCAke2NvbHVtbi5zcmlkfSk6OiR7Y29sdW1uLnR5cGV9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gYFNUX0dlb21Gcm9tR2VvSlNPTigke3BhcmFtTmFtZX0pOjoke2NvbHVtbi50eXBlfWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcIm1zc3FsXCIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZHJpdmVyLnNwYXRpYWxUeXBlcy5pbmRleE9mKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApICE9PSAtMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiOjpTVEdlb21Gcm9tVGV4dChcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiLCBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2x1bW4uc3JpZCB8fCBcIjBcIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IHBhcmFtTmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbkluZGV4ID09PSBjb2x1bW5zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZVNldEluZGV4ID09PSB2YWx1ZVNldHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9yYWNsZVwiICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlU2V0cy5sZW5ndGggPiAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCIgRlJPTSBEVUFMIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwic2FwXCIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVTZXRzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPSBcIiBGUk9NIGR1bW15IFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPSBcIilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwib3JhY2xlXCIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVTZXRzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPSBcIiBGUk9NIERVQUwgVU5JT04gQUxMIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwic2FwXCIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVTZXRzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPSBcIiBGUk9NIGR1bW15IFVOSU9OIEFMTCBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCIpLCBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCIsIFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGlmIChleHByZXNzaW9uID09PSBcIigpXCIpIHJldHVybiBcIlwiXG5cbiAgICAgICAgICAgIHJldHVybiBleHByZXNzaW9uXG4gICAgICAgIH0gZWxzZSB7XG5cblxuICAgICAgICAgICAgbGV0IGV4cHJlc3Npb24gPSBcIlwiXG5cbiAgICAgICAgICAgIHZhbHVlU2V0cy5mb3JFYWNoKCh2YWx1ZVNldCwgaW5zZXJ0aW9uSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gT2JqZWN0LmtleXModmFsdWVTZXQpXG4gICAgICAgICAgICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW5OYW1lLCBjb2x1bW5JbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCIoXCJcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVTZXRbY29sdW1uTmFtZV1cblxuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPSB2YWx1ZSgpXG5cblxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwib3JhY2xlXCIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVTZXRzLmxlbmd0aCA+IDEpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVyVXRpbHMuaXNTUUxpdGVGYW1pbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5kcml2ZXIub3B0aW9ucy50eXBlID09PSBcInNhcFwiIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmRyaXZlci5vcHRpb25zLnR5cGUgPT09IFwic3Bhbm5lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IFwiTlVMTFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCJERUZBVUxUXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID09PSBudWxsICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZHJpdmVyLm9wdGlvbnMudHlwZSA9PT0gXCJzcGFubmVyXCJcbiAgICAgICAgICAgICAgICAgICAgKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gdGhpcy5jcmVhdGVQYXJhbWV0ZXIodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uSW5kZXggPT09IE9iamVjdC5rZXlzKHZhbHVlU2V0KS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5zZXJ0aW9uSW5kZXggPT09IHZhbHVlU2V0cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbiArPSBcIilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uICs9IFwiKSwgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb24gKz0gXCIsIFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGlmIChleHByZXNzaW9uID09PSBcIigpXCIpIHJldHVybiBcIlwiXG4gICAgICAgICAgICByZXR1cm4gZXhwcmVzc2lvblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhcnJheSBvZiB2YWx1ZXMgbmVlZCB0byBiZSBpbnNlcnRlZCBpbnRvIHRoZSB0YXJnZXQgdGFibGUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFZhbHVlU2V0cygpOiBPYmplY3RMaXRlcmFsW10ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV4cHJlc3Npb25NYXAudmFsdWVzU2V0KSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb25NYXAudmFsdWVzU2V0XG5cbiAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzT2JqZWN0KHRoaXMuZXhwcmVzc2lvbk1hcC52YWx1ZXNTZXQpKVxuICAgICAgICAgICAgcmV0dXJuIFt0aGlzLmV4cHJlc3Npb25NYXAudmFsdWVzU2V0XVxuXG4gICAgICAgIHRocm93IG5ldyBJbnNlcnRWYWx1ZXNNaXNzaW5nRXJyb3IoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBjb2x1bW4gaXMgYW4gYXV0by1nZW5lcmF0ZWQgcHJpbWFyeSBrZXksIGJ1dCB0aGUgY3VycmVudCBpbnNlcnRpb24gc3BlY2lmaWVzIGEgdmFsdWUgZm9yIGl0LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbHVtblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc092ZXJyaWRpbmdBdXRvSW5jcmVtZW50QmVoYXZpb3IoXG4gICAgICAgIGNvbHVtbjogQ29sdW1uTWV0YWRhdGEsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBjb2x1bW4uaXNQcmltYXJ5ICYmXG4gICAgICAgICAgICBjb2x1bW4uaXNHZW5lcmF0ZWQgJiZcbiAgICAgICAgICAgIGNvbHVtbi5nZW5lcmF0aW9uU3RyYXRlZ3kgPT09IFwiaW5jcmVtZW50XCIgJiZcbiAgICAgICAgICAgIHRoaXMuZ2V0VmFsdWVTZXRzKCkuc29tZShcbiAgICAgICAgICAgICAgICAodmFsdWVTZXQpID0+XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi5nZXRFbnRpdHlWYWx1ZSh2YWx1ZVNldCkgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICBjb2x1bW4uZ2V0RW50aXR5VmFsdWUodmFsdWVTZXQpICE9PSBudWxsLFxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL3F1ZXJ5LWJ1aWxkZXIvSW5zZXJ0UXVlcnlCdWlsZGVyLnRzIl19
|