typeorm 0.3.0-rc.9 → 0.3.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/README.md +175 -119
- package/browser/cache/DbQueryResultCache.d.ts +6 -4
- package/browser/cache/DbQueryResultCache.js +180 -187
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/cache/QueryResultCache.js +1 -1
- package/browser/cache/QueryResultCache.js.map +1 -1
- package/browser/cache/QueryResultCacheFactory.d.ts +3 -3
- package/browser/cache/QueryResultCacheFactory.js +19 -15
- package/browser/cache/QueryResultCacheFactory.js.map +1 -1
- package/browser/cache/QueryResultCacheOptions.js +1 -1
- package/browser/cache/QueryResultCacheOptions.js.map +1 -1
- package/browser/cache/RedisQueryResultCache.d.ts +3 -3
- package/browser/cache/RedisQueryResultCache.js +104 -127
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/common/DeepPartial.d.ts +3 -3
- package/browser/common/DeepPartial.js +1 -1
- package/browser/common/DeepPartial.js.map +1 -1
- package/browser/common/EntityTarget.d.ts +9 -0
- package/browser/common/EntityTarget.js +3 -0
- package/browser/common/EntityTarget.js.map +1 -0
- package/browser/common/MixedList.d.ts +8 -0
- package/browser/common/MixedList.js +3 -0
- package/browser/common/MixedList.js.map +1 -0
- package/browser/common/NonNever.d.ts +6 -0
- package/browser/common/NonNever.js +3 -0
- package/browser/common/NonNever.js.map +1 -0
- package/browser/common/ObjectLiteral.js +1 -1
- package/browser/common/ObjectLiteral.js.map +1 -1
- package/browser/common/ObjectType.js +1 -1
- package/browser/common/ObjectType.js.map +1 -1
- package/browser/common/RelationType.d.ts +14 -0
- package/browser/common/RelationType.js +3 -0
- package/browser/common/RelationType.js.map +1 -0
- package/browser/connection/BaseConnectionOptions.d.ts +4 -144
- package/browser/connection/BaseConnectionOptions.js +1 -1
- package/browser/connection/BaseConnectionOptions.js.map +1 -1
- package/browser/connection/Connection.d.ts +4 -219
- package/browser/connection/Connection.js +5 -531
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionManager.d.ts +11 -5
- package/browser/connection/ConnectionManager.js +26 -26
- package/browser/connection/ConnectionManager.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.d.ts +6 -6
- package/browser/connection/ConnectionMetadataBuilder.js +37 -31
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptions.d.ts +4 -14
- package/browser/connection/ConnectionOptions.js +1 -1
- package/browser/connection/ConnectionOptions.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.d.ts +8 -8
- package/browser/connection/ConnectionOptionsReader.js +145 -169
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +8 -2
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +68 -49
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsXmlReader.d.ts +4 -2
- package/browser/connection/options-reader/ConnectionOptionsXmlReader.js +46 -42
- package/browser/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.d.ts +4 -2
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +14 -11
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/browser/container.d.ts +12 -0
- package/browser/container.js +19 -11
- package/browser/container.js.map +1 -1
- package/browser/data-source/BaseDataSourceOptions.d.ts +179 -0
- package/browser/data-source/BaseDataSourceOptions.js +3 -0
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -0
- package/browser/data-source/DataSource.d.ts +246 -0
- package/browser/data-source/DataSource.js +448 -0
- package/browser/data-source/DataSource.js.map +1 -0
- package/browser/data-source/DataSourceOptions.d.ts +21 -0
- package/browser/data-source/DataSourceOptions.js +3 -0
- package/browser/data-source/DataSourceOptions.js.map +1 -0
- package/browser/data-source/index.d.ts +2 -0
- package/browser/data-source/index.js +4 -0
- package/browser/data-source/index.js.map +1 -0
- package/browser/decorator/Check.d.ts +2 -2
- package/browser/decorator/Check.js +9 -6
- package/browser/decorator/Check.js.map +1 -1
- package/browser/decorator/EntityRepository.d.ts +3 -1
- package/browser/decorator/EntityRepository.js +3 -1
- package/browser/decorator/EntityRepository.js.map +1 -1
- package/browser/decorator/Exclusion.d.ts +2 -2
- package/browser/decorator/Exclusion.js +9 -6
- package/browser/decorator/Exclusion.js.map +1 -1
- package/browser/decorator/Generated.d.ts +1 -1
- package/browser/decorator/Generated.js +3 -4
- package/browser/decorator/Generated.js.map +1 -1
- package/browser/decorator/Index.d.ts +10 -10
- package/browser/decorator/Index.js +28 -8
- package/browser/decorator/Index.js.map +1 -1
- package/browser/decorator/Unique.d.ts +7 -6
- package/browser/decorator/Unique.js +36 -7
- package/browser/decorator/Unique.js.map +1 -1
- package/browser/decorator/columns/Column.d.ts +13 -13
- package/browser/decorator/columns/Column.js +24 -12
- package/browser/decorator/columns/Column.js.map +1 -1
- package/browser/decorator/columns/CreateDateColumn.d.ts +2 -2
- package/browser/decorator/columns/CreateDateColumn.js +2 -2
- package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
- package/browser/decorator/columns/DeleteDateColumn.d.ts +6 -0
- package/browser/decorator/columns/DeleteDateColumn.js +17 -0
- package/browser/decorator/columns/DeleteDateColumn.js.map +1 -0
- package/browser/decorator/columns/ObjectIdColumn.d.ts +2 -2
- package/browser/decorator/columns/ObjectIdColumn.js +2 -2
- package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.d.ts +11 -3
- package/browser/decorator/columns/PrimaryColumn.js +9 -5
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +7 -5
- package/browser/decorator/columns/PrimaryGeneratedColumn.js +9 -8
- package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/browser/decorator/columns/UpdateDateColumn.d.ts +2 -2
- package/browser/decorator/columns/UpdateDateColumn.js +2 -2
- package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/browser/decorator/columns/VersionColumn.d.ts +2 -2
- package/browser/decorator/columns/VersionColumn.js +2 -2
- package/browser/decorator/columns/VersionColumn.js.map +1 -1
- package/browser/decorator/columns/ViewColumn.d.ts +2 -1
- package/browser/decorator/columns/ViewColumn.js +3 -3
- package/browser/decorator/columns/ViewColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.d.ts +1 -1
- package/browser/decorator/entity/ChildEntity.js +3 -3
- package/browser/decorator/entity/ChildEntity.js.map +1 -1
- package/browser/decorator/entity/Entity.d.ts +3 -3
- package/browser/decorator/entity/Entity.js +7 -4
- package/browser/decorator/entity/Entity.js.map +1 -1
- package/browser/decorator/entity/TableInheritance.d.ts +2 -2
- package/browser/decorator/entity/TableInheritance.js +6 -2
- package/browser/decorator/entity/TableInheritance.js.map +1 -1
- package/browser/decorator/entity-view/ViewEntity.d.ts +2 -2
- package/browser/decorator/entity-view/ViewEntity.js +10 -4
- package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
- package/browser/decorator/listeners/AfterInsert.d.ts +1 -1
- package/browser/decorator/listeners/AfterInsert.js +2 -2
- package/browser/decorator/listeners/AfterInsert.js.map +1 -1
- package/browser/decorator/listeners/AfterLoad.d.ts +1 -1
- package/browser/decorator/listeners/AfterLoad.js +2 -2
- package/browser/decorator/listeners/AfterLoad.js.map +1 -1
- package/browser/decorator/listeners/AfterRecover.d.ts +4 -0
- package/browser/decorator/listeners/AfterRecover.js +16 -0
- package/browser/decorator/listeners/AfterRecover.js.map +1 -0
- package/browser/decorator/listeners/AfterRemove.d.ts +1 -1
- package/browser/decorator/listeners/AfterRemove.js +2 -2
- package/browser/decorator/listeners/AfterRemove.js.map +1 -1
- package/browser/decorator/listeners/AfterSoftRemove.d.ts +4 -0
- package/browser/decorator/listeners/AfterSoftRemove.js +16 -0
- package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -0
- package/browser/decorator/listeners/AfterUpdate.d.ts +1 -1
- package/browser/decorator/listeners/AfterUpdate.js +2 -2
- package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
- package/browser/decorator/listeners/BeforeInsert.d.ts +1 -1
- package/browser/decorator/listeners/BeforeInsert.js +2 -2
- package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
- package/browser/decorator/listeners/BeforeRecover.d.ts +4 -0
- package/browser/decorator/listeners/BeforeRecover.js +16 -0
- package/browser/decorator/listeners/BeforeRecover.js.map +1 -0
- package/browser/decorator/listeners/BeforeRemove.d.ts +1 -1
- package/browser/decorator/listeners/BeforeRemove.js +2 -2
- package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
- package/browser/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
- package/browser/decorator/listeners/BeforeSoftRemove.js +16 -0
- package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -0
- package/browser/decorator/listeners/BeforeUpdate.d.ts +1 -1
- package/browser/decorator/listeners/BeforeUpdate.js +2 -2
- package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/browser/decorator/listeners/EventSubscriber.d.ts +1 -1
- package/browser/decorator/listeners/EventSubscriber.js +2 -2
- package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
- package/browser/decorator/options/ColumnCommonOptions.d.ts +1 -1
- package/browser/decorator/options/ColumnCommonOptions.js +1 -1
- package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/browser/decorator/options/ColumnEmbeddedOptions.d.ts +6 -0
- package/browser/decorator/options/ColumnEmbeddedOptions.js +1 -1
- package/browser/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/browser/decorator/options/ColumnEnumOptions.js +1 -1
- package/browser/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/browser/decorator/options/ColumnHstoreOptions.js +1 -1
- package/browser/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/browser/decorator/options/ColumnNumericOptions.js +1 -1
- package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/browser/decorator/options/ColumnOptions.d.ts +5 -1
- package/browser/decorator/options/ColumnOptions.js +1 -1
- package/browser/decorator/options/ColumnOptions.js.map +1 -1
- package/browser/decorator/options/ColumnWithLengthOptions.js +1 -1
- package/browser/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/browser/decorator/options/ColumnWithWidthOptions.js +1 -1
- package/browser/decorator/options/ColumnWithWidthOptions.js.map +1 -1
- package/browser/decorator/options/EntityOptions.js +1 -1
- package/browser/decorator/options/EntityOptions.js.map +1 -1
- package/browser/decorator/options/IndexOptions.d.ts +5 -0
- package/browser/decorator/options/IndexOptions.js +1 -1
- package/browser/decorator/options/IndexOptions.js.map +1 -1
- package/browser/decorator/options/JoinColumnOptions.js +1 -1
- package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
- package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +1 -1
- package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/browser/decorator/options/JoinTableOptions.js +1 -1
- package/browser/decorator/options/JoinTableOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/browser/decorator/options/RelationOptions.d.ts +12 -2
- package/browser/decorator/options/RelationOptions.js +1 -1
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/options/SpatialColumnOptions.js +1 -1
- package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/browser/decorator/options/TransactionOptions.js +1 -1
- package/browser/decorator/options/TransactionOptions.js.map +1 -1
- package/browser/decorator/options/UniqueOptions.d.ts +10 -0
- package/browser/decorator/options/UniqueOptions.js +3 -0
- package/browser/decorator/options/UniqueOptions.js.map +1 -0
- package/browser/decorator/options/ValueTransformer.js +1 -1
- package/browser/decorator/options/ValueTransformer.js.map +1 -1
- package/browser/decorator/options/ViewColumnOptions.d.ts +15 -0
- package/browser/decorator/options/ViewColumnOptions.js +3 -0
- package/browser/decorator/options/ViewColumnOptions.js.map +1 -0
- package/browser/decorator/options/ViewEntityOptions.d.ts +7 -2
- package/browser/decorator/options/ViewEntityOptions.js +1 -1
- package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
- package/browser/decorator/relations/JoinColumn.d.ts +4 -4
- package/browser/decorator/relations/JoinColumn.js +6 -4
- package/browser/decorator/relations/JoinColumn.js.map +1 -1
- package/browser/decorator/relations/JoinTable.d.ts +4 -4
- package/browser/decorator/relations/JoinTable.js +13 -4
- package/browser/decorator/relations/JoinTable.js.map +1 -1
- package/browser/decorator/relations/ManyToMany.d.ts +4 -3
- package/browser/decorator/relations/ManyToMany.js +12 -8
- package/browser/decorator/relations/ManyToMany.js.map +1 -1
- package/browser/decorator/relations/ManyToOne.d.ts +10 -9
- package/browser/decorator/relations/ManyToOne.js +17 -13
- package/browser/decorator/relations/ManyToOne.js.map +1 -1
- package/browser/decorator/relations/OneToMany.d.ts +6 -4
- package/browser/decorator/relations/OneToMany.js +13 -9
- package/browser/decorator/relations/OneToMany.js.map +1 -1
- package/browser/decorator/relations/OneToOne.d.ts +4 -3
- package/browser/decorator/relations/OneToOne.js +12 -8
- package/browser/decorator/relations/OneToOne.js.map +1 -1
- package/browser/decorator/relations/RelationCount.d.ts +2 -2
- package/browser/decorator/relations/RelationCount.js +2 -2
- package/browser/decorator/relations/RelationCount.js.map +1 -1
- package/browser/decorator/relations/RelationId.d.ts +2 -2
- package/browser/decorator/relations/RelationId.js +2 -2
- package/browser/decorator/relations/RelationId.js.map +1 -1
- package/browser/decorator/tree/Tree.d.ts +2 -1
- package/browser/decorator/tree/Tree.js +4 -3
- package/browser/decorator/tree/Tree.js.map +1 -1
- package/browser/decorator/tree/TreeChildren.d.ts +2 -2
- package/browser/decorator/tree/TreeChildren.js +11 -6
- package/browser/decorator/tree/TreeChildren.js.map +1 -1
- package/browser/decorator/tree/TreeLevelColumn.d.ts +1 -1
- package/browser/decorator/tree/TreeLevelColumn.js +2 -2
- package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/browser/decorator/tree/TreeParent.d.ts +4 -1
- package/browser/decorator/tree/TreeParent.js +13 -6
- package/browser/decorator/tree/TreeParent.js.map +1 -1
- package/browser/driver/Driver.d.ts +39 -9
- package/browser/driver/Driver.js +1 -1
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverFactory.d.ts +2 -2
- package/browser/driver/DriverFactory.js +40 -13
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.d.ts +39 -10
- package/browser/driver/DriverUtils.js +179 -55
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/Query.d.ts +1 -0
- package/browser/driver/Query.js +4 -5
- package/browser/driver/Query.js.map +1 -1
- package/browser/driver/SqlInMemory.js +3 -5
- package/browser/driver/SqlInMemory.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnection.d.ts +13 -0
- package/browser/driver/aurora-mysql/AuroraMysqlConnection.js +15 -0
- package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -0
- package/browser/driver/{aurora-data-api/AuroraDataApiConnectionCredentialsOptions.d.ts → aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts} +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +3 -0
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -0
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +34 -0
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js +3 -0
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -0
- package/browser/driver/{aurora-data-api/AuroraDataApiDriver.d.ts → aurora-mysql/AuroraMysqlDriver.d.ts} +49 -18
- package/browser/driver/{aurora-data-api/AuroraDataApiDriver.js → aurora-mysql/AuroraMysqlDriver.js} +322 -211
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -0
- package/{driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts → browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts} +27 -18
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1677 -0
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -0
- package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +34 -0
- package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +3 -0
- package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -0
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +70 -0
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.js +99 -0
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -0
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +48 -0
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +135 -0
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +55 -0
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +3 -0
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +59 -0
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +149 -0
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +32 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +124 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
- package/browser/driver/capacitor/CapacitorConnectionOptions.d.ts +30 -0
- package/browser/driver/capacitor/CapacitorConnectionOptions.js +3 -0
- package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +1 -0
- package/browser/driver/capacitor/CapacitorDriver.d.ts +27 -0
- package/browser/driver/capacitor/CapacitorDriver.js +79 -0
- package/browser/driver/capacitor/CapacitorDriver.js.map +1 -0
- package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +33 -0
- package/browser/driver/capacitor/CapacitorQueryRunner.js +94 -0
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -0
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +12 -2
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +49 -8
- package/browser/driver/cockroachdb/CockroachDriver.js +321 -263
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +22 -18
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +1576 -2026
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaConnectionOptions.d.ts +7 -2
- package/browser/driver/cordova/CordovaConnectionOptions.js +1 -1
- package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.d.ts +5 -4
- package/browser/driver/cordova/CordovaDriver.js +33 -49
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.d.ts +27 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +100 -53
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoConnectionOptions.d.ts +6 -2
- package/browser/driver/expo/ExpoConnectionOptions.js +1 -1
- package/browser/driver/expo/ExpoConnectionOptions.js.map +1 -1
- package/browser/driver/expo/ExpoDriver.d.ts +4 -7
- package/browser/driver/expo/ExpoDriver.js +32 -53
- package/browser/driver/expo/ExpoDriver.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.d.ts +9 -1
- package/browser/driver/expo/ExpoQueryRunner.js +123 -94
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +20 -3
- package/browser/driver/mongodb/MongoConnectionOptions.js +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.d.ts +36 -12
- package/browser/driver/mongodb/MongoDriver.js +145 -99
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +27 -8
- package/browser/driver/mongodb/MongoQueryRunner.js +330 -748
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/typings.d.ts +12 -11
- package/browser/driver/mongodb/typings.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionOptions.d.ts +8 -2
- package/browser/driver/mysql/MysqlConnectionOptions.js +1 -1
- package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +48 -11
- package/browser/driver/mysql/MysqlDriver.js +440 -271
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +25 -15
- package/browser/driver/mysql/MysqlQueryRunner.js +1552 -1751
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptConnectionOptions.d.ts +27 -2
- package/browser/driver/nativescript/NativescriptConnectionOptions.js +1 -1
- package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
- package/browser/driver/nativescript/NativescriptDriver.d.ts +5 -4
- package/browser/driver/nativescript/NativescriptDriver.js +36 -43
- package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +9 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.js +54 -39
- package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionCredentialsOptions.d.ts +4 -0
- package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +1 -1
- package/browser/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +11 -2
- package/browser/driver/oracle/OracleConnectionOptions.js +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.d.ts +31 -7
- package/browser/driver/oracle/OracleDriver.js +328 -234
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.d.ts +23 -9
- package/browser/driver/oracle/OracleQueryRunner.js +1346 -1670
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +34 -2
- package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +81 -19
- package/browser/driver/postgres/PostgresDriver.js +618 -439
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +48 -26
- package/browser/driver/postgres/PostgresQueryRunner.js +2128 -2286
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeConnectionOptions.d.ts +7 -2
- package/browser/driver/react-native/ReactNativeConnectionOptions.js +1 -1
- package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/browser/driver/react-native/ReactNativeDriver.d.ts +4 -3
- package/browser/driver/react-native/ReactNativeDriver.js +31 -42
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +9 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js +62 -53
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapConnectionCredentialsOptions.d.ts +45 -0
- package/browser/driver/sap/SapConnectionCredentialsOptions.js +3 -0
- package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -0
- package/browser/driver/sap/SapConnectionOptions.d.ts +59 -0
- package/browser/driver/sap/SapConnectionOptions.js +3 -0
- package/browser/driver/sap/SapConnectionOptions.js.map +1 -0
- package/browser/driver/sap/SapDriver.d.ts +214 -0
- package/browser/driver/sap/SapDriver.js +641 -0
- package/browser/driver/sap/SapDriver.js.map +1 -0
- package/browser/driver/sap/SapQueryRunner.d.ts +342 -0
- package/browser/driver/sap/SapQueryRunner.js +1987 -0
- package/browser/driver/sap/SapQueryRunner.js.map +1 -0
- package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +7 -2
- package/browser/driver/sqlite/SqliteConnectionOptions.js +1 -1
- package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.d.ts +18 -4
- package/browser/driver/sqlite/SqliteDriver.js +104 -83
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.d.ts +9 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +83 -68
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +47 -10
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +254 -139
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +25 -5
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1022 -1441
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsConnectionOptions.d.ts +7 -2
- package/browser/driver/sqljs/SqljsConnectionOptions.js +1 -1
- package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/browser/driver/sqljs/SqljsDriver.d.ts +4 -3
- package/browser/driver/sqljs/SqljsDriver.js +153 -227
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.d.ts +15 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js +84 -61
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/MssqlParameter.d.ts +1 -0
- package/browser/driver/sqlserver/MssqlParameter.js +4 -9
- package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -6
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +43 -9
- package/browser/driver/sqlserver/SqlServerDriver.js +355 -253
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +19 -28
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +1810 -2309
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
- package/browser/driver/types/ColumnTypes.d.ts +5 -5
- package/browser/driver/types/ColumnTypes.js +1 -1
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/driver/types/DataTypeDefaults.js +1 -1
- package/browser/driver/types/DataTypeDefaults.js.map +1 -1
- package/browser/driver/types/DatabaseType.d.ts +1 -1
- package/browser/driver/types/DatabaseType.js +1 -1
- package/browser/driver/types/DatabaseType.js.map +1 -1
- package/browser/driver/types/IsolationLevel.js +1 -1
- package/browser/driver/types/IsolationLevel.js.map +1 -1
- package/browser/driver/types/MappedColumnTypes.d.ts +12 -0
- package/browser/driver/types/MappedColumnTypes.js +1 -1
- package/browser/driver/types/MappedColumnTypes.js.map +1 -1
- package/browser/driver/types/MetadataTableType.d.ts +5 -0
- package/browser/driver/types/MetadataTableType.js +8 -0
- package/browser/driver/types/MetadataTableType.js.map +1 -0
- package/browser/driver/types/ReplicationMode.d.ts +1 -0
- package/browser/driver/types/ReplicationMode.js +3 -0
- package/browser/driver/types/ReplicationMode.js.map +1 -0
- package/browser/driver/types/UpsertType.d.ts +1 -0
- package/browser/driver/types/UpsertType.js +3 -0
- package/browser/driver/types/UpsertType.js.map +1 -0
- package/browser/entity-manager/EntityManager.d.ts +143 -286
- package/browser/entity-manager/EntityManager.js +531 -439
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/EntityManagerFactory.d.ts +2 -2
- package/browser/entity-manager/EntityManagerFactory.js +6 -12
- package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +101 -64
- package/browser/entity-manager/MongoEntityManager.js +499 -467
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-manager/SqljsEntityManager.d.ts +3 -2
- package/browser/entity-manager/SqljsEntityManager.js +14 -36
- package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchema.d.ts +1 -0
- package/browser/entity-schema/EntitySchema.js +4 -5
- package/browser/entity-schema/EntitySchema.js.map +1 -1
- package/browser/entity-schema/EntitySchemaCheckOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +4 -0
- package/browser/entity-schema/EntitySchemaColumnOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +18 -0
- package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js +4 -0
- package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -0
- package/browser/entity-schema/EntitySchemaEmbeddedError.d.ts +6 -0
- package/browser/entity-schema/EntitySchemaEmbeddedError.js +14 -0
- package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -0
- package/browser/entity-schema/EntitySchemaExclusionOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaIndexOptions.d.ts +7 -2
- package/browser/entity-schema/EntitySchemaIndexOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.d.ts +22 -10
- package/browser/entity-schema/EntitySchemaOptions.js +2 -6
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +15 -4
- package/browser/entity-schema/EntitySchemaRelationOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.d.ts +1 -0
- package/browser/entity-schema/EntitySchemaTransformer.js +228 -183
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +7 -2
- package/browser/entity-schema/EntitySchemaUniqueOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/browser/error/AlreadyHasActiveConnectionError.d.ts +2 -2
- package/browser/error/AlreadyHasActiveConnectionError.js +6 -13
- package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/browser/error/CannotAttachTreeChildrenEntityError.d.ts +3 -3
- package/browser/error/CannotAttachTreeChildrenEntityError.js +7 -13
- package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/browser/error/CannotConnectAlreadyConnectedError.d.ts +2 -2
- package/browser/error/CannotConnectAlreadyConnectedError.js +5 -12
- package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/browser/error/CannotCreateEntityIdMapError.d.ts +2 -2
- package/browser/error/CannotCreateEntityIdMapError.js +7 -13
- package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/browser/error/CannotDetermineEntityError.d.ts +2 -2
- package/browser/error/CannotDetermineEntityError.js +6 -12
- package/browser/error/CannotDetermineEntityError.js.map +1 -1
- package/browser/error/CannotExecuteNotConnectedError.d.ts +2 -2
- package/browser/error/CannotExecuteNotConnectedError.js +5 -12
- package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/browser/error/CannotGetEntityManagerNotConnectedError.d.ts +2 -2
- package/browser/error/CannotGetEntityManagerNotConnectedError.js +5 -12
- package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/browser/error/CannotReflectMethodParameterTypeError.d.ts +2 -2
- package/browser/error/CannotReflectMethodParameterTypeError.js +7 -14
- package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/browser/error/CircularRelationsError.d.ts +2 -2
- package/browser/error/CircularRelationsError.js +6 -12
- package/browser/error/CircularRelationsError.js.map +1 -1
- package/browser/error/ColumnTypeUndefinedError.d.ts +2 -2
- package/browser/error/ColumnTypeUndefinedError.js +8 -15
- package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
- package/browser/error/ConnectionIsNotSetError.d.ts +2 -2
- package/browser/error/ConnectionIsNotSetError.js +5 -12
- package/browser/error/ConnectionIsNotSetError.js.map +1 -1
- package/browser/error/ConnectionNotFoundError.d.ts +2 -2
- package/browser/error/ConnectionNotFoundError.js +5 -12
- package/browser/error/ConnectionNotFoundError.js.map +1 -1
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.d.ts +2 -2
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js +8 -13
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.d.ts +2 -2
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js +8 -13
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/browser/error/CustomRepositoryNotFoundError.d.ts +2 -2
- package/browser/error/CustomRepositoryNotFoundError.js +8 -13
- package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/browser/error/DataTypeNotSupportedError.d.ts +2 -2
- package/browser/error/DataTypeNotSupportedError.js +7 -13
- package/browser/error/DataTypeNotSupportedError.js.map +1 -1
- package/browser/error/DriverOptionNotSetError.d.ts +2 -2
- package/browser/error/DriverOptionNotSetError.js +6 -12
- package/browser/error/DriverOptionNotSetError.js.map +1 -1
- package/browser/error/DriverPackageNotInstalledError.d.ts +2 -2
- package/browser/error/DriverPackageNotInstalledError.js +6 -12
- package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
- package/browser/error/EntityMetadataNotFoundError.d.ts +5 -6
- package/browser/error/EntityMetadataNotFoundError.js +17 -20
- package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
- package/browser/error/EntityNotFoundError.d.ts +5 -5
- package/browser/error/EntityNotFoundError.js +21 -22
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/error/EntityPropertyNotFoundError.d.ts +8 -0
- package/browser/error/EntityPropertyNotFoundError.js +13 -0
- package/browser/error/EntityPropertyNotFoundError.js.map +1 -0
- package/browser/error/FindRelationsNotFoundError.d.ts +7 -0
- package/browser/error/FindRelationsNotFoundError.js +19 -0
- package/browser/error/FindRelationsNotFoundError.js.map +1 -0
- package/browser/error/InitializedRelationError.d.ts +2 -1
- package/browser/error/InitializedRelationError.js +7 -13
- package/browser/error/InitializedRelationError.js.map +1 -1
- package/browser/error/InsertValuesMissingError.d.ts +2 -2
- package/browser/error/InsertValuesMissingError.js +6 -12
- package/browser/error/InsertValuesMissingError.js.map +1 -1
- package/browser/error/LimitOnUpdateNotSupportedError.d.ts +3 -3
- package/browser/error/LimitOnUpdateNotSupportedError.js +6 -13
- package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/browser/error/LockNotSupportedOnGivenDriverError.d.ts +2 -2
- package/browser/error/LockNotSupportedOnGivenDriverError.js +5 -12
- package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/browser/error/MetadataAlreadyExistsError.d.ts +2 -4
- package/browser/error/MetadataAlreadyExistsError.js +11 -16
- package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
- package/browser/error/MetadataWithSuchNameAlreadyExistsError.d.ts +2 -4
- package/browser/error/MetadataWithSuchNameAlreadyExistsError.js +9 -15
- package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/browser/error/MissingDeleteDateColumnError.d.ts +5 -0
- package/browser/error/MissingDeleteDateColumnError.js +8 -0
- package/browser/error/MissingDeleteDateColumnError.js.map +1 -0
- package/browser/error/MissingDriverError.d.ts +3 -3
- package/browser/error/MissingDriverError.js +6 -12
- package/browser/error/MissingDriverError.js.map +1 -1
- package/browser/error/MissingJoinColumnError.d.ts +2 -4
- package/browser/error/MissingJoinColumnError.js +12 -18
- package/browser/error/MissingJoinColumnError.js.map +1 -1
- package/browser/error/MissingJoinTableError.d.ts +2 -4
- package/browser/error/MissingJoinTableError.js +12 -18
- package/browser/error/MissingJoinTableError.js.map +1 -1
- package/browser/error/MissingPrimaryColumnError.d.ts +2 -4
- package/browser/error/MissingPrimaryColumnError.js +6 -15
- package/browser/error/MissingPrimaryColumnError.js.map +1 -1
- package/browser/error/MustBeEntityError.d.ts +2 -2
- package/browser/error/MustBeEntityError.js +5 -12
- package/browser/error/MustBeEntityError.js.map +1 -1
- package/browser/error/NamingStrategyNotFoundError.d.ts +2 -2
- package/browser/error/NamingStrategyNotFoundError.js +11 -14
- package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
- package/browser/error/NestedSetMultipleRootError.d.ts +4 -0
- package/browser/error/NestedSetMultipleRootError.js +8 -0
- package/browser/error/NestedSetMultipleRootError.js.map +1 -0
- package/browser/error/NoConnectionForRepositoryError.d.ts +2 -2
- package/browser/error/NoConnectionForRepositoryError.js +6 -13
- package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
- package/browser/error/NoConnectionOptionError.d.ts +2 -1
- package/browser/error/NoConnectionOptionError.js +6 -11
- package/browser/error/NoConnectionOptionError.js.map +1 -1
- package/browser/error/NoNeedToReleaseEntityManagerError.d.ts +2 -2
- package/browser/error/NoNeedToReleaseEntityManagerError.js +7 -14
- package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/browser/error/NoVersionOrUpdateDateColumnError.d.ts +2 -2
- package/browser/error/NoVersionOrUpdateDateColumnError.js +5 -12
- package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/browser/error/OffsetWithoutLimitNotSupportedError.d.ts +4 -4
- package/browser/error/OffsetWithoutLimitNotSupportedError.js +8 -13
- package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/browser/error/OptimisticLockCanNotBeUsedError.d.ts +2 -2
- package/browser/error/OptimisticLockCanNotBeUsedError.js +5 -12
- package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/browser/error/OptimisticLockVersionMismatchError.d.ts +2 -2
- package/browser/error/OptimisticLockVersionMismatchError.js +5 -12
- package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/browser/error/PersistedEntityNotFoundError.d.ts +2 -2
- package/browser/error/PersistedEntityNotFoundError.js +5 -12
- package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
- package/browser/error/PessimisticLockTransactionRequiredError.d.ts +2 -2
- package/browser/error/PessimisticLockTransactionRequiredError.js +5 -12
- package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/browser/error/PrimaryColumnCannotBeNullableError.d.ts +2 -2
- package/browser/error/PrimaryColumnCannotBeNullableError.js +6 -13
- package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/browser/error/QueryFailedError.d.ts +6 -2
- package/browser/error/QueryFailedError.js +18 -14
- package/browser/error/QueryFailedError.js.map +1 -1
- package/browser/error/QueryRunnerAlreadyReleasedError.d.ts +2 -4
- package/browser/error/QueryRunnerAlreadyReleasedError.js +5 -14
- package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/browser/error/QueryRunnerProviderAlreadyReleasedError.d.ts +2 -2
- package/browser/error/QueryRunnerProviderAlreadyReleasedError.js +6 -12
- package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/browser/error/RepositoryNotFoundError.d.ts +4 -4
- package/browser/error/RepositoryNotFoundError.js +16 -16
- package/browser/error/RepositoryNotFoundError.js.map +1 -1
- package/browser/error/RepositoryNotTreeError.d.ts +4 -4
- package/browser/error/RepositoryNotTreeError.js +18 -19
- package/browser/error/RepositoryNotTreeError.js.map +1 -1
- package/browser/error/ReturningStatementNotSupportedError.d.ts +2 -2
- package/browser/error/ReturningStatementNotSupportedError.js +5 -12
- package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/browser/error/SubjectRemovedAndUpdatedError.d.ts +2 -2
- package/browser/error/SubjectRemovedAndUpdatedError.js +6 -13
- package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/browser/error/SubjectWithoutIdentifierError.d.ts +2 -2
- package/browser/error/SubjectWithoutIdentifierError.js +5 -13
- package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/browser/error/TransactionAlreadyStartedError.d.ts +2 -2
- package/browser/error/TransactionAlreadyStartedError.js +5 -12
- package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
- package/browser/error/TransactionNotStartedError.d.ts +2 -2
- package/browser/error/TransactionNotStartedError.js +5 -12
- package/browser/error/TransactionNotStartedError.js.map +1 -1
- package/browser/error/TreeRepositoryNotSupportedError.d.ts +2 -2
- package/browser/error/TreeRepositoryNotSupportedError.js +5 -12
- package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/browser/error/TypeORMError.d.ts +4 -0
- package/browser/error/TypeORMError.js +19 -0
- package/browser/error/TypeORMError.js.map +1 -0
- package/browser/error/UpdateValuesMissingError.d.ts +2 -5
- package/browser/error/UpdateValuesMissingError.js +5 -15
- package/browser/error/UpdateValuesMissingError.js.map +1 -1
- package/browser/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -4
- package/browser/error/UsingJoinColumnIsNotAllowedError.js +6 -15
- package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -4
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +7 -16
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableIsNotAllowedError.d.ts +2 -4
- package/browser/error/UsingJoinTableIsNotAllowedError.js +7 -16
- package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -4
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js +7 -16
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/error/index.d.ts +62 -0
- package/browser/error/index.js +64 -0
- package/browser/error/index.js.map +1 -0
- package/browser/find-options/EqualOperator.d.ts +5 -0
- package/browser/find-options/EqualOperator.js +9 -0
- package/browser/find-options/EqualOperator.js.map +1 -0
- package/browser/find-options/FindManyOptions.d.ts +14 -0
- package/browser/find-options/FindManyOptions.js +3 -0
- package/browser/find-options/FindManyOptions.js.map +1 -0
- package/browser/find-options/FindOneOptions.d.ts +86 -0
- package/browser/find-options/FindOneOptions.js +3 -0
- package/browser/find-options/FindOneOptions.js.map +1 -0
- package/browser/find-options/FindOperator.d.ts +31 -8
- package/browser/find-options/FindOperator.js +64 -97
- package/browser/find-options/FindOperator.js.map +1 -1
- package/browser/find-options/FindOperatorType.d.ts +1 -1
- package/browser/find-options/FindOperatorType.js +1 -1
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/FindOptionsOrder.d.ts +19 -0
- package/browser/find-options/FindOptionsOrder.js +3 -0
- package/browser/find-options/FindOptionsOrder.js.map +1 -0
- package/browser/find-options/FindOptionsRelations.d.ts +19 -0
- package/browser/find-options/FindOptionsRelations.js +3 -0
- package/browser/find-options/FindOptionsRelations.js.map +1 -0
- package/browser/find-options/FindOptionsSelect.d.ts +19 -0
- package/browser/find-options/FindOptionsSelect.js +3 -0
- package/browser/find-options/FindOptionsSelect.js.map +1 -0
- package/browser/find-options/FindOptionsUtils.d.ts +180 -6
- package/browser/find-options/FindOptionsUtils.js +299 -94
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/FindOptionsWhere.d.ts +14 -0
- package/browser/find-options/FindOptionsWhere.js +3 -0
- package/browser/find-options/FindOptionsWhere.js.map +1 -0
- package/browser/find-options/FindTreeOptions.d.ts +13 -0
- package/browser/find-options/FindTreeOptions.js +3 -0
- package/browser/find-options/FindTreeOptions.js.map +1 -0
- package/browser/find-options/JoinOptions.d.ts +76 -0
- package/browser/find-options/JoinOptions.js +3 -0
- package/browser/find-options/JoinOptions.js.map +1 -0
- package/browser/find-options/OrderByCondition.js +1 -1
- package/browser/find-options/OrderByCondition.js.map +1 -1
- package/browser/find-options/mongodb/MongoFindManyOptions.d.ts +14 -0
- package/browser/find-options/mongodb/MongoFindManyOptions.js +3 -0
- package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -0
- package/browser/find-options/mongodb/MongoFindOneOptions.d.ts +11 -0
- package/browser/find-options/mongodb/MongoFindOneOptions.js +3 -0
- package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -0
- package/browser/find-options/operator/Any.d.ts +1 -1
- package/browser/find-options/operator/Any.js.map +1 -1
- package/browser/find-options/operator/Between.d.ts +1 -1
- package/browser/find-options/operator/Between.js.map +1 -1
- package/browser/find-options/operator/Equal.d.ts +7 -2
- package/browser/find-options/operator/Equal.js +7 -3
- package/browser/find-options/operator/Equal.js.map +1 -1
- package/browser/find-options/operator/ILike.d.ts +1 -1
- package/browser/find-options/operator/ILike.js +1 -1
- package/browser/find-options/operator/ILike.js.map +1 -1
- package/browser/find-options/operator/In.d.ts +1 -1
- package/browser/find-options/operator/In.js.map +1 -1
- package/browser/find-options/operator/IsNull.js.map +1 -1
- package/browser/find-options/operator/LessThan.js.map +1 -1
- package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/browser/find-options/operator/Like.d.ts +1 -1
- package/browser/find-options/operator/Like.js +1 -1
- package/browser/find-options/operator/Like.js.map +1 -1
- package/browser/find-options/operator/MoreThan.js.map +1 -1
- package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/browser/find-options/operator/Not.d.ts +1 -1
- package/browser/find-options/operator/Not.js +1 -1
- package/browser/find-options/operator/Not.js.map +1 -1
- package/browser/find-options/operator/Raw.d.ts +14 -2
- package/browser/find-options/operator/Raw.js +5 -6
- package/browser/find-options/operator/Raw.js.map +1 -1
- package/browser/globals.d.ts +117 -0
- package/browser/globals.js +166 -0
- package/browser/globals.js.map +1 -0
- package/browser/index.d.ts +45 -113
- package/browser/index.js +57 -190
- package/browser/index.js.map +1 -1
- package/browser/logger/AdvancedConsoleLogger.d.ts +2 -1
- package/browser/logger/AdvancedConsoleLogger.js +55 -33
- package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
- package/browser/logger/DebugLogger.d.ts +1 -2
- package/browser/logger/DebugLogger.js +24 -26
- package/browser/logger/DebugLogger.js.map +1 -1
- package/browser/logger/FileLogger.d.ts +3 -1
- package/browser/logger/FileLogger.js +65 -40
- package/browser/logger/FileLogger.js.map +1 -1
- package/browser/logger/Logger.d.ts +1 -1
- package/browser/logger/Logger.js +1 -1
- package/browser/logger/Logger.js.map +1 -1
- package/browser/logger/LoggerFactory.js +6 -9
- package/browser/logger/LoggerFactory.js.map +1 -1
- package/browser/logger/LoggerOptions.d.ts +9 -0
- package/browser/logger/LoggerOptions.js +1 -1
- package/browser/logger/LoggerOptions.js.map +1 -1
- package/browser/logger/SimpleConsoleLogger.d.ts +2 -1
- package/browser/logger/SimpleConsoleLogger.js +55 -33
- package/browser/logger/SimpleConsoleLogger.js.map +1 -1
- package/browser/metadata/CheckMetadata.js +8 -8
- package/browser/metadata/CheckMetadata.js.map +1 -1
- package/browser/metadata/ColumnMetadata.d.ts +16 -7
- package/browser/metadata/ColumnMetadata.js +240 -126
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.d.ts +12 -5
- package/browser/metadata/EmbeddedMetadata.js +77 -51
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/EntityListenerMetadata.js +21 -15
- package/browser/metadata/EntityListenerMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +65 -22
- package/browser/metadata/EntityMetadata.js +250 -160
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/ExclusionMetadata.js +8 -8
- package/browser/metadata/ExclusionMetadata.js.map +1 -1
- package/browser/metadata/ForeignKeyMetadata.js +8 -10
- package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
- package/browser/metadata/IndexMetadata.d.ts +7 -2
- package/browser/metadata/IndexMetadata.js +44 -34
- package/browser/metadata/IndexMetadata.js.map +1 -1
- package/browser/metadata/RelationCountMetadata.js +11 -10
- package/browser/metadata/RelationCountMetadata.js.map +1 -1
- package/browser/metadata/RelationIdMetadata.js +21 -19
- package/browser/metadata/RelationIdMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.d.ts +28 -5
- package/browser/metadata/RelationMetadata.js +160 -79
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/UniqueMetadata.d.ts +7 -2
- package/browser/metadata/UniqueMetadata.js +40 -32
- package/browser/metadata/UniqueMetadata.js.map +1 -1
- package/browser/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/browser/metadata/types/ClosureTreeOptions.js +3 -0
- package/browser/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/browser/metadata/types/DeferrableType.js +1 -1
- package/browser/metadata/types/DeferrableType.js.map +1 -1
- package/browser/metadata/types/EventListenerTypes.d.ts +12 -8
- package/browser/metadata/types/EventListenerTypes.js +13 -13
- package/browser/metadata/types/EventListenerTypes.js.map +1 -1
- package/browser/metadata/types/OnDeleteType.js +1 -1
- package/browser/metadata/types/OnDeleteType.js.map +1 -1
- package/browser/metadata/types/OnUpdateType.js +1 -1
- package/browser/metadata/types/OnUpdateType.js.map +1 -1
- package/browser/metadata/types/PropertyTypeInFunction.js +1 -1
- package/browser/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/browser/metadata/types/RelationTypeInFunction.d.ts +2 -1
- package/browser/metadata/types/RelationTypeInFunction.js +1 -1
- package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/browser/metadata/types/RelationTypes.js +1 -1
- package/browser/metadata/types/RelationTypes.js.map +1 -1
- package/browser/metadata/types/TableTypes.d.ts +1 -1
- package/browser/metadata/types/TableTypes.js +1 -1
- package/browser/metadata/types/TableTypes.js.map +1 -1
- package/browser/metadata/types/TreeTypes.js +1 -1
- package/browser/metadata/types/TreeTypes.js.map +1 -1
- package/browser/metadata-args/CheckMetadataArgs.js +1 -1
- package/browser/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/browser/metadata-args/ColumnMetadataArgs.js +1 -1
- package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +1 -1
- package/browser/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EmbeddedMetadataArgs.d.ts +2 -2
- package/browser/metadata-args/EmbeddedMetadataArgs.js +1 -1
- package/browser/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EntityListenerMetadataArgs.js +1 -1
- package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EntityRepositoryMetadataArgs.d.ts +2 -2
- package/browser/metadata-args/EntityRepositoryMetadataArgs.js +1 -1
- package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EntitySubscriberMetadataArgs.js +1 -1
- package/browser/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/browser/metadata-args/ExclusionMetadataArgs.js +1 -1
- package/browser/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/browser/metadata-args/GeneratedMetadataArgs.js +1 -1
- package/browser/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/browser/metadata-args/IndexMetadataArgs.d.ts +7 -2
- package/browser/metadata-args/IndexMetadataArgs.js +1 -1
- package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/browser/metadata-args/InheritanceMetadataArgs.js +1 -1
- package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/browser/metadata-args/JoinColumnMetadataArgs.js +1 -1
- package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/browser/metadata-args/JoinTableMetadataArgs.js +1 -1
- package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/browser/metadata-args/MetadataArgsStorage.d.ts +4 -0
- package/browser/metadata-args/MetadataArgsStorage.js +145 -95
- package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/browser/metadata-args/NamingStrategyMetadataArgs.js +1 -1
- package/browser/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationCountMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationIdMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TableMetadataArgs.d.ts +9 -5
- package/browser/metadata-args/TableMetadataArgs.js +1 -1
- package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TransactionEntityMetadataArgs.js +1 -1
- package/browser/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.d.ts +1 -1
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +1 -1
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TreeMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/TreeMetadataArgs.js +1 -1
- package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.d.ts +7 -2
- package/browser/metadata-args/UniqueMetadataArgs.js +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/browser/metadata-args/types/ColumnMode.d.ts +1 -1
- package/browser/metadata-args/types/ColumnMode.js +1 -1
- package/browser/metadata-args/types/ColumnMode.js.map +1 -1
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +2 -2
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +47 -30
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.d.ts +2 -2
- package/browser/metadata-builder/EntityMetadataBuilder.js +396 -267
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +78 -68
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +2 -2
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +144 -92
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/MetadataUtils.js +12 -16
- package/browser/metadata-builder/MetadataUtils.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -2
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +69 -50
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/migration/Migration.js +3 -5
- package/browser/migration/Migration.js.map +1 -1
- package/browser/migration/MigrationExecutor.d.ts +6 -4
- package/browser/migration/MigrationExecutor.js +379 -535
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/migration/MigrationInterface.js +1 -1
- package/browser/migration/MigrationInterface.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.d.ts +7 -1
- package/browser/naming-strategy/DefaultNamingStrategy.js +90 -80
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.d.ts +17 -1
- package/browser/naming-strategy/NamingStrategyInterface.js +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.d.ts +4 -4
- package/browser/persistence/EntityPersistExecutor.js +126 -151
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.d.ts +27 -3
- package/browser/persistence/Subject.js +103 -67
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectChangeMap.js +1 -1
- package/browser/persistence/SubjectChangeMap.js.map +1 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js +74 -52
- package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js +97 -114
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.d.ts +19 -2
- package/browser/persistence/SubjectExecutor.js +584 -419
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.js +63 -59
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +53 -28
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +64 -59
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +60 -43
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +32 -29
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +8 -11
- package/browser/persistence/tree/ClosureSubjectExecutor.js +213 -89
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +5 -0
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +89 -48
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +20 -0
- package/browser/persistence/tree/NestedSetSubjectExecutor.js +243 -62
- package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/browser/platform/BrowserConnectionOptionsReaderDummy.d.ts +38 -0
- package/browser/platform/BrowserConnectionOptionsReaderDummy.js +52 -0
- package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -0
- package/browser/platform/BrowserDirectoryExportedClassesLoader.d.ts +15 -0
- package/browser/platform/BrowserDirectoryExportedClassesLoader.js +20 -0
- package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -0
- package/browser/platform/BrowserDisabledDriversDummy.d.ts +38 -2
- package/browser/platform/BrowserDisabledDriversDummy.js +54 -50
- package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
- package/browser/platform/BrowserFileLoggerDummy.d.ts +33 -0
- package/browser/platform/BrowserFileLoggerDummy.js +47 -0
- package/browser/platform/BrowserFileLoggerDummy.js.map +1 -0
- package/browser/platform/BrowserPlatformTools.d.ts +74 -0
- package/browser/platform/BrowserPlatformTools.js +141 -0
- package/browser/platform/BrowserPlatformTools.js.map +1 -0
- package/browser/platform/PlatformTools.d.ts +16 -21
- package/browser/platform/PlatformTools.js +174 -117
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/Alias.d.ts +4 -3
- package/browser/query-builder/Alias.js +18 -31
- package/browser/query-builder/Alias.js.map +1 -1
- package/browser/query-builder/Brackets.d.ts +4 -3
- package/browser/query-builder/Brackets.js +4 -5
- package/browser/query-builder/Brackets.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.d.ts +13 -11
- package/browser/query-builder/DeleteQueryBuilder.js +109 -166
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertOrUpdateOptions.d.ts +3 -0
- package/browser/query-builder/InsertOrUpdateOptions.js +3 -0
- package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -0
- package/browser/query-builder/InsertQueryBuilder.d.ts +15 -5
- package/browser/query-builder/InsertQueryBuilder.js +453 -293
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.d.ts +12 -12
- package/browser/query-builder/JoinAttribute.js +140 -189
- package/browser/query-builder/JoinAttribute.js.map +1 -1
- package/browser/query-builder/JoinOptions.js +1 -1
- package/browser/query-builder/JoinOptions.js.map +1 -1
- package/browser/query-builder/NotBrackets.d.ts +8 -0
- package/browser/query-builder/NotBrackets.js +13 -0
- package/browser/query-builder/NotBrackets.js.map +1 -0
- package/browser/query-builder/QueryBuilder.d.ts +55 -32
- package/browser/query-builder/QueryBuilder.js +698 -375
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilderUtils.d.ts +0 -1
- package/browser/query-builder/QueryBuilderUtils.js +5 -16
- package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +51 -29
- package/browser/query-builder/QueryExpressionMap.js +92 -85
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/QueryPartialEntity.d.ts +1 -1
- package/browser/query-builder/QueryPartialEntity.js +1 -1
- package/browser/query-builder/QueryPartialEntity.js.map +1 -1
- package/browser/query-builder/RelationIdLoader.d.ts +10 -12
- package/browser/query-builder/RelationIdLoader.js +306 -185
- package/browser/query-builder/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/RelationLoader.d.ts +6 -3
- package/browser/query-builder/RelationLoader.js +181 -146
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.d.ts +2 -1
- package/browser/query-builder/RelationQueryBuilder.js +81 -112
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationRemover.js +119 -84
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/RelationUpdater.js +128 -128
- package/browser/query-builder/RelationUpdater.js.map +1 -1
- package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +4 -4
- package/browser/query-builder/ReturningResultsEntityUpdator.js +135 -155
- package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/browser/query-builder/SelectQuery.js +1 -1
- package/browser/query-builder/SelectQuery.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +65 -50
- package/browser/query-builder/SelectQueryBuilder.js +1642 -1291
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
- package/browser/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +138 -0
- package/browser/query-builder/SoftDeleteQueryBuilder.js +363 -0
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -0
- package/browser/query-builder/UpdateQueryBuilder.d.ts +11 -8
- package/browser/query-builder/UpdateQueryBuilder.js +276 -299
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereClause.d.ts +16 -0
- package/browser/query-builder/WhereClause.js +3 -0
- package/browser/query-builder/WhereClause.js.map +1 -0
- package/browser/query-builder/{WhereExpression.d.ts → WhereExpressionBuilder.d.ts} +51 -3
- package/browser/query-builder/WhereExpressionBuilder.js +3 -0
- package/browser/query-builder/WhereExpressionBuilder.js.map +1 -0
- package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
- package/browser/query-builder/relation-count/RelationCountAttribute.js +66 -96
- package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountLoadResult.js +1 -1
- package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountLoader.d.ts +3 -3
- package/browser/query-builder/relation-count/RelationCountLoader.js +150 -101
- package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +15 -18
- package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
- package/browser/query-builder/relation-id/RelationIdAttribute.js +67 -101
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoadResult.js +1 -1
- package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.d.ts +3 -3
- package/browser/query-builder/relation-id/RelationIdLoader.js +255 -148
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +15 -18
- package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/browser/query-builder/result/DeleteResult.d.ts +3 -1
- package/browser/query-builder/result/DeleteResult.js +7 -5
- package/browser/query-builder/result/DeleteResult.js.map +1 -1
- package/browser/query-builder/result/InsertResult.d.ts +2 -0
- package/browser/query-builder/result/InsertResult.js +8 -5
- package/browser/query-builder/result/InsertResult.js.map +1 -1
- package/browser/query-builder/result/UpdateResult.d.ts +2 -0
- package/browser/query-builder/result/UpdateResult.js +9 -5
- package/browser/query-builder/result/UpdateResult.js.map +1 -1
- package/browser/query-builder/transformer/DocumentToEntityTransformer.d.ts +1 -2
- package/browser/query-builder/transformer/DocumentToEntityTransformer.js +48 -35
- package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +74 -101
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js +25 -27
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +13 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +228 -159
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +49 -12
- package/browser/query-runner/BaseQueryRunner.js +240 -247
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryLock.d.ts +4 -0
- package/browser/query-runner/QueryLock.js +24 -0
- package/browser/query-runner/QueryLock.js.map +1 -0
- package/browser/query-runner/QueryResult.d.ts +17 -0
- package/browser/query-runner/QueryResult.js +13 -0
- package/browser/query-runner/QueryResult.js.map +1 -0
- package/browser/query-runner/QueryRunner.d.ts +37 -8
- package/browser/query-runner/QueryRunner.js +1 -1
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/repository/AbstractRepository.d.ts +5 -5
- package/browser/repository/AbstractRepository.js +47 -54
- package/browser/repository/AbstractRepository.js.map +1 -1
- package/browser/repository/BaseEntity.d.ts +69 -81
- package/browser/repository/BaseEntity.js +169 -131
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/EntityId.js +1 -1
- package/browser/repository/EntityId.js.map +1 -1
- package/browser/repository/FindTreesOptions.d.ts +9 -0
- package/browser/repository/FindTreesOptions.js +3 -0
- package/browser/repository/FindTreesOptions.js.map +1 -0
- package/browser/repository/MongoRepository.d.ts +55 -9
- package/browser/repository/MongoRepository.js +330 -1
- package/browser/repository/MongoRepository.js.map +1 -1
- package/browser/repository/RemoveOptions.js +1 -1
- package/browser/repository/RemoveOptions.js.map +1 -1
- package/browser/repository/Repository.d.ts +130 -97
- package/browser/repository/Repository.js +288 -1
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/SaveOptions.d.ts +1 -1
- package/browser/repository/SaveOptions.js +1 -1
- package/browser/repository/SaveOptions.js.map +1 -1
- package/browser/repository/TreeRepository.d.ts +14 -9
- package/browser/repository/TreeRepository.js +263 -1
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/repository/UpsertOptions.d.ts +10 -0
- package/browser/repository/UpsertOptions.js +3 -0
- package/browser/repository/UpsertOptions.js.map +1 -0
- package/browser/schema-builder/MongoSchemaBuilder.d.ts +3 -3
- package/browser/schema-builder/MongoSchemaBuilder.js +28 -42
- package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +14 -6
- package/browser/schema-builder/RdbmsSchemaBuilder.js +693 -1057
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/SchemaBuilder.js +1 -1
- package/browser/schema-builder/SchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableCheckOptions.js +1 -1
- package/browser/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/browser/schema-builder/options/TableColumnOptions.d.ts +6 -2
- package/browser/schema-builder/options/TableColumnOptions.js +1 -1
- package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/browser/schema-builder/options/TableExclusionOptions.js +1 -1
- package/browser/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.d.ts +8 -0
- package/browser/schema-builder/options/TableForeignKeyOptions.js +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.d.ts +6 -1
- package/browser/schema-builder/options/TableIndexOptions.js +1 -1
- package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/browser/schema-builder/options/TableOptions.d.ts +8 -0
- package/browser/schema-builder/options/TableOptions.js +1 -1
- package/browser/schema-builder/options/TableOptions.js.map +1 -1
- package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
- package/browser/schema-builder/options/TableUniqueOptions.js +1 -1
- package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/browser/schema-builder/options/ViewOptions.d.ts +10 -2
- package/browser/schema-builder/options/ViewOptions.js +1 -1
- package/browser/schema-builder/options/ViewOptions.js.map +1 -1
- package/browser/schema-builder/table/Table.d.ts +13 -3
- package/browser/schema-builder/table/Table.js +109 -97
- package/browser/schema-builder/table/Table.js.map +1 -1
- package/browser/schema-builder/table/TableCheck.d.ts +1 -0
- package/browser/schema-builder/table/TableCheck.js +10 -12
- package/browser/schema-builder/table/TableCheck.js.map +1 -1
- package/browser/schema-builder/table/TableColumn.d.ts +7 -2
- package/browser/schema-builder/table/TableColumn.js +10 -9
- package/browser/schema-builder/table/TableColumn.js.map +1 -1
- package/browser/schema-builder/table/TableExclusion.d.ts +1 -0
- package/browser/schema-builder/table/TableExclusion.js +9 -10
- package/browser/schema-builder/table/TableExclusion.js.map +1 -1
- package/browser/schema-builder/table/TableForeignKey.d.ts +11 -1
- package/browser/schema-builder/table/TableForeignKey.js +16 -12
- package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.d.ts +6 -0
- package/browser/schema-builder/table/TableIndex.js +15 -14
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.d.ts +6 -0
- package/browser/schema-builder/table/TableUnique.js +13 -12
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/schema-builder/util/TableUtils.js +10 -11
- package/browser/schema-builder/util/TableUtils.js.map +1 -1
- package/browser/schema-builder/util/ViewUtils.d.ts +7 -0
- package/browser/schema-builder/util/ViewUtils.js +23 -0
- package/browser/schema-builder/util/ViewUtils.js.map +1 -0
- package/browser/schema-builder/view/View.d.ts +12 -5
- package/browser/schema-builder/view/View.js +16 -11
- package/browser/schema-builder/view/View.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +87 -2
- package/browser/subscriber/Broadcaster.js +412 -119
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/BroadcasterResult.d.ts +4 -0
- package/browser/subscriber/BroadcasterResult.js +12 -5
- package/browser/subscriber/BroadcasterResult.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +45 -0
- package/browser/subscriber/EntitySubscriberInterface.js +1 -1
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/InsertEvent.d.ts +7 -7
- package/browser/subscriber/event/InsertEvent.js +1 -1
- package/browser/subscriber/event/InsertEvent.js.map +1 -1
- package/browser/subscriber/event/LoadEvent.d.ts +2 -2
- package/browser/subscriber/event/LoadEvent.js +1 -1
- package/browser/subscriber/event/LoadEvent.js.map +1 -1
- package/browser/subscriber/event/RecoverEvent.d.ts +6 -0
- package/browser/subscriber/event/RecoverEvent.js +3 -0
- package/browser/subscriber/event/RecoverEvent.js.map +1 -0
- package/browser/subscriber/event/RemoveEvent.d.ts +7 -7
- package/browser/subscriber/event/RemoveEvent.js +1 -1
- package/browser/subscriber/event/RemoveEvent.js.map +1 -1
- package/browser/subscriber/event/SoftRemoveEvent.d.ts +6 -0
- package/browser/subscriber/event/SoftRemoveEvent.js +3 -0
- package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionCommitEvent.js +3 -0
- package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionRollbackEvent.js +3 -0
- package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionStartEvent.js +3 -0
- package/browser/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/browser/subscriber/event/UpdateEvent.d.ts +5 -4
- package/browser/subscriber/event/UpdateEvent.js +1 -1
- package/browser/subscriber/event/UpdateEvent.js.map +1 -1
- package/browser/util/ApplyValueTransformers.js +13 -29
- package/browser/util/ApplyValueTransformers.js.map +1 -1
- package/browser/util/DateUtils.d.ts +2 -2
- package/browser/util/DateUtils.js +110 -83
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/DepGraph.js +50 -50
- package/browser/util/DepGraph.js.map +1 -1
- package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
- package/browser/util/DirectoryExportedClassesLoader.js +32 -25
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ImportUtils.d.ts +1 -0
- package/browser/util/ImportUtils.js +74 -0
- package/browser/util/ImportUtils.js.map +1 -0
- package/browser/util/InstanceChecker.d.ts +61 -0
- package/browser/util/InstanceChecker.js +103 -0
- package/browser/util/InstanceChecker.js.map +1 -0
- package/browser/util/ObjectUtils.d.ts +17 -6
- package/browser/util/ObjectUtils.js +26 -36
- package/browser/util/ObjectUtils.js.map +1 -1
- package/browser/util/OrmUtils.d.ts +16 -8
- package/browser/util/OrmUtils.js +198 -98
- package/browser/util/OrmUtils.js.map +1 -1
- package/browser/util/PathUtils.d.ts +10 -0
- package/browser/util/PathUtils.js +28 -0
- package/browser/util/PathUtils.js.map +1 -0
- package/browser/util/RandomGenerator.d.ts +0 -4
- package/browser/util/RandomGenerator.js +61 -52
- package/browser/util/RandomGenerator.js.map +1 -1
- package/browser/util/StringUtils.d.ts +13 -3
- package/browser/util/StringUtils.js +42 -19
- package/browser/util/StringUtils.js.map +1 -1
- package/browser/util/TreeRepositoryUtils.d.ts +23 -0
- package/browser/util/TreeRepositoryUtils.js +56 -0
- package/browser/util/TreeRepositoryUtils.js.map +1 -0
- package/browser/util/VersionUtils.js +11 -16
- package/browser/util/VersionUtils.js.map +1 -1
- package/cache/DbQueryResultCache.d.ts +6 -4
- package/cache/DbQueryResultCache.js +182 -187
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/QueryResultCache.js.map +1 -1
- package/cache/QueryResultCacheFactory.d.ts +3 -3
- package/cache/QueryResultCacheFactory.js +22 -16
- package/cache/QueryResultCacheFactory.js.map +1 -1
- package/cache/QueryResultCacheOptions.js.map +1 -1
- package/cache/RedisQueryResultCache.d.ts +3 -3
- package/cache/RedisQueryResultCache.js +106 -127
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli.js +18 -23
- package/cli.js.map +1 -1
- package/commands/CacheClearCommand.d.ts +1 -3
- package/commands/CacheClearCommand.js +42 -77
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.d.ts +7 -1
- package/commands/CommandUtils.js +63 -42
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.d.ts +0 -9
- package/commands/EntityCreateCommand.js +38 -84
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +12 -9
- package/commands/InitCommand.js +463 -233
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +6 -7
- package/commands/MigrationCreateCommand.js +72 -83
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +20 -5
- package/commands/MigrationGenerateCommand.js +187 -142
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.d.ts +1 -4
- package/commands/MigrationRevertCommand.js +55 -91
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.d.ts +1 -4
- package/commands/MigrationRunCommand.js +57 -94
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.d.ts +2 -4
- package/commands/MigrationShowCommand.js +38 -74
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.d.ts +3 -3
- package/commands/QueryCommand.js +58 -86
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.d.ts +2 -4
- package/commands/SchemaDropCommand.js +39 -72
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.d.ts +1 -3
- package/commands/SchemaLogCommand.js +62 -81
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.d.ts +1 -3
- package/commands/SchemaSyncCommand.js +37 -70
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.d.ts +0 -9
- package/commands/SubscriberCreateCommand.js +38 -78
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js +39 -46
- package/commands/VersionCommand.js.map +1 -1
- package/common/DeepPartial.d.ts +3 -3
- package/common/DeepPartial.js.map +1 -1
- package/common/EntityTarget.d.ts +9 -0
- package/{query-builder/WhereExpression.js → common/EntityTarget.js} +1 -1
- package/common/EntityTarget.js.map +1 -0
- package/common/MixedList.d.ts +8 -0
- package/{find-options/FindOptions.js → common/MixedList.js} +1 -1
- package/common/MixedList.js.map +1 -0
- package/common/NonNever.d.ts +6 -0
- package/{entity-factory/EntityFactoryInterface.js → common/NonNever.js} +1 -1
- package/common/NonNever.js.map +1 -0
- package/common/ObjectLiteral.js.map +1 -1
- package/common/ObjectType.js.map +1 -1
- package/common/RelationType.d.ts +14 -0
- package/{driver/aurora-data-api/AuroraDataApiConnectionOptions.js → common/RelationType.js} +1 -1
- package/common/RelationType.js.map +1 -0
- package/connection/BaseConnectionOptions.d.ts +4 -144
- package/connection/BaseConnectionOptions.js.map +1 -1
- package/connection/Connection.d.ts +4 -219
- package/connection/Connection.js +6 -530
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionManager.d.ts +11 -5
- package/connection/ConnectionManager.js +29 -27
- package/connection/ConnectionManager.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.d.ts +6 -6
- package/connection/ConnectionMetadataBuilder.js +44 -36
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptions.d.ts +4 -14
- package/connection/ConnectionOptions.js.map +1 -1
- package/connection/ConnectionOptionsReader.d.ts +8 -8
- package/connection/ConnectionOptionsReader.js +151 -172
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +8 -2
- package/connection/options-reader/ConnectionOptionsEnvReader.js +71 -50
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsXmlReader.d.ts +4 -2
- package/connection/options-reader/ConnectionOptionsXmlReader.js +48 -42
- package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.d.ts +4 -2
- package/connection/options-reader/ConnectionOptionsYmlReader.js +17 -11
- package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/container.d.ts +12 -0
- package/container.js +20 -11
- package/container.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +179 -0
- package/data-source/BaseDataSourceOptions.js +4 -0
- package/data-source/BaseDataSourceOptions.js.map +1 -0
- package/data-source/DataSource.d.ts +246 -0
- package/data-source/DataSource.js +452 -0
- package/data-source/DataSource.js.map +1 -0
- package/data-source/DataSourceOptions.d.ts +21 -0
- package/data-source/DataSourceOptions.js +4 -0
- package/data-source/DataSourceOptions.js.map +1 -0
- package/data-source/index.d.ts +2 -0
- package/data-source/index.js +7 -0
- package/data-source/index.js.map +1 -0
- package/decorator/Check.d.ts +2 -2
- package/decorator/Check.js +11 -7
- package/decorator/Check.js.map +1 -1
- package/decorator/EntityRepository.d.ts +3 -1
- package/decorator/EntityRepository.js +5 -2
- package/decorator/EntityRepository.js.map +1 -1
- package/decorator/Exclusion.d.ts +2 -2
- package/decorator/Exclusion.js +11 -7
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/Generated.d.ts +1 -1
- package/decorator/Generated.js +5 -5
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.d.ts +10 -10
- package/decorator/Index.js +30 -9
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.d.ts +7 -6
- package/decorator/Unique.js +38 -8
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.d.ts +13 -13
- package/decorator/columns/Column.js +29 -16
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.d.ts +2 -2
- package/decorator/columns/CreateDateColumn.js +4 -3
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.d.ts +6 -0
- package/decorator/columns/DeleteDateColumn.js +21 -0
- package/decorator/columns/DeleteDateColumn.js.map +1 -0
- package/decorator/columns/ObjectIdColumn.d.ts +2 -2
- package/decorator/columns/ObjectIdColumn.js +4 -3
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.d.ts +11 -3
- package/decorator/columns/PrimaryColumn.js +14 -9
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.d.ts +7 -5
- package/decorator/columns/PrimaryGeneratedColumn.js +12 -10
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.d.ts +2 -2
- package/decorator/columns/UpdateDateColumn.js +4 -3
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.d.ts +2 -2
- package/decorator/columns/VersionColumn.js +4 -3
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.d.ts +2 -1
- package/decorator/columns/ViewColumn.js +5 -4
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.d.ts +1 -1
- package/decorator/entity/ChildEntity.js +6 -5
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.d.ts +3 -3
- package/decorator/entity/Entity.js +9 -5
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.d.ts +2 -2
- package/decorator/entity/TableInheritance.js +8 -3
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.d.ts +2 -2
- package/decorator/entity-view/ViewEntity.js +12 -5
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/listeners/AfterInsert.d.ts +1 -1
- package/decorator/listeners/AfterInsert.js +5 -4
- package/decorator/listeners/AfterInsert.js.map +1 -1
- package/decorator/listeners/AfterLoad.d.ts +1 -1
- package/decorator/listeners/AfterLoad.js +5 -4
- package/decorator/listeners/AfterLoad.js.map +1 -1
- package/decorator/listeners/AfterRecover.d.ts +4 -0
- package/decorator/listeners/AfterRecover.js +20 -0
- package/decorator/listeners/AfterRecover.js.map +1 -0
- package/decorator/listeners/AfterRemove.d.ts +1 -1
- package/decorator/listeners/AfterRemove.js +5 -4
- package/decorator/listeners/AfterRemove.js.map +1 -1
- package/decorator/listeners/AfterSoftRemove.d.ts +4 -0
- package/decorator/listeners/AfterSoftRemove.js +20 -0
- package/decorator/listeners/AfterSoftRemove.js.map +1 -0
- package/decorator/listeners/AfterUpdate.d.ts +1 -1
- package/decorator/listeners/AfterUpdate.js +5 -4
- package/decorator/listeners/AfterUpdate.js.map +1 -1
- package/decorator/listeners/BeforeInsert.d.ts +1 -1
- package/decorator/listeners/BeforeInsert.js +5 -4
- package/decorator/listeners/BeforeInsert.js.map +1 -1
- package/decorator/listeners/BeforeRecover.d.ts +4 -0
- package/decorator/listeners/BeforeRecover.js +20 -0
- package/decorator/listeners/BeforeRecover.js.map +1 -0
- package/decorator/listeners/BeforeRemove.d.ts +1 -1
- package/decorator/listeners/BeforeRemove.js +5 -4
- package/decorator/listeners/BeforeRemove.js.map +1 -1
- package/decorator/listeners/BeforeSoftRemove.d.ts +4 -0
- package/decorator/listeners/BeforeSoftRemove.js +20 -0
- package/decorator/listeners/BeforeSoftRemove.js.map +1 -0
- package/decorator/listeners/BeforeUpdate.d.ts +1 -1
- package/decorator/listeners/BeforeUpdate.js +5 -4
- package/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/decorator/listeners/EventSubscriber.d.ts +1 -1
- package/decorator/listeners/EventSubscriber.js +4 -3
- package/decorator/listeners/EventSubscriber.js.map +1 -1
- package/decorator/options/ColumnCommonOptions.d.ts +1 -1
- package/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/decorator/options/ColumnEmbeddedOptions.d.ts +6 -0
- package/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/decorator/options/ColumnOptions.d.ts +5 -1
- package/decorator/options/ColumnOptions.js.map +1 -1
- package/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/decorator/options/ColumnWithWidthOptions.js.map +1 -1
- package/decorator/options/EntityOptions.js.map +1 -1
- package/decorator/options/IndexOptions.d.ts +5 -0
- package/decorator/options/IndexOptions.js.map +1 -1
- package/decorator/options/JoinColumnOptions.js.map +1 -1
- package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/decorator/options/JoinTableOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +4 -0
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
- package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/decorator/options/RelationOptions.d.ts +12 -2
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/decorator/options/TransactionOptions.js.map +1 -1
- package/decorator/options/UniqueOptions.d.ts +10 -0
- package/decorator/options/UniqueOptions.js +4 -0
- package/decorator/options/UniqueOptions.js.map +1 -0
- package/decorator/options/ValueTransformer.js.map +1 -1
- package/decorator/options/ViewColumnOptions.d.ts +15 -0
- package/decorator/options/ViewColumnOptions.js +4 -0
- package/decorator/options/ViewColumnOptions.js.map +1 -0
- package/decorator/options/ViewEntityOptions.d.ts +7 -2
- package/decorator/options/ViewEntityOptions.js.map +1 -1
- package/decorator/relations/JoinColumn.d.ts +4 -4
- package/decorator/relations/JoinColumn.js +8 -5
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.d.ts +4 -4
- package/decorator/relations/JoinTable.js +15 -5
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.d.ts +4 -3
- package/decorator/relations/ManyToMany.js +14 -9
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.d.ts +10 -9
- package/decorator/relations/ManyToOne.js +19 -14
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.d.ts +6 -4
- package/decorator/relations/OneToMany.js +15 -10
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.d.ts +4 -3
- package/decorator/relations/OneToOne.js +14 -9
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationCount.d.ts +2 -2
- package/decorator/relations/RelationCount.js +4 -3
- package/decorator/relations/RelationCount.js.map +1 -1
- package/decorator/relations/RelationId.d.ts +2 -2
- package/decorator/relations/RelationId.js +4 -3
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/tree/Tree.d.ts +2 -1
- package/decorator/tree/Tree.js +6 -4
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.d.ts +2 -2
- package/decorator/tree/TreeChildren.js +13 -7
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeLevelColumn.d.ts +1 -1
- package/decorator/tree/TreeLevelColumn.js +4 -3
- package/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/decorator/tree/TreeParent.d.ts +4 -1
- package/decorator/tree/TreeParent.js +15 -7
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/Driver.d.ts +39 -9
- package/driver/Driver.js.map +1 -1
- package/driver/DriverFactory.d.ts +2 -2
- package/driver/DriverFactory.js +54 -25
- package/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.d.ts +39 -10
- package/driver/DriverUtils.js +180 -54
- package/driver/DriverUtils.js.map +1 -1
- package/driver/Query.d.ts +1 -0
- package/driver/Query.js +5 -4
- package/driver/Query.js.map +1 -1
- package/driver/SqlInMemory.js +4 -4
- package/driver/SqlInMemory.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlConnection.d.ts +13 -0
- package/driver/aurora-mysql/AuroraMysqlConnection.js +19 -0
- package/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -0
- package/driver/{aurora-data-api/AuroraDataApiConnectionCredentialsOptions.d.ts → aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts} +1 -1
- package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +4 -0
- package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -0
- package/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts +34 -0
- package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js +4 -0
- package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -0
- package/driver/{aurora-data-api/AuroraDataApiDriver.d.ts → aurora-mysql/AuroraMysqlDriver.d.ts} +49 -18
- package/driver/{aurora-data-api/AuroraDataApiDriver.js → aurora-mysql/AuroraMysqlDriver.js} +330 -217
- package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -0
- package/{browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts → driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts} +28 -18
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1681 -0
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -0
- package/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts +34 -0
- package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +4 -0
- package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -0
- package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +70 -0
- package/driver/aurora-postgres/AuroraPostgresDriver.js +103 -0
- package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -0
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +48 -0
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +139 -0
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -0
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +55 -0
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +4 -0
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +59 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.js +154 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +32 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +128 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
- package/driver/capacitor/CapacitorConnectionOptions.d.ts +30 -0
- package/driver/capacitor/CapacitorConnectionOptions.js +4 -0
- package/driver/capacitor/CapacitorConnectionOptions.js.map +1 -0
- package/driver/capacitor/CapacitorDriver.d.ts +27 -0
- package/driver/capacitor/CapacitorDriver.js +83 -0
- package/driver/capacitor/CapacitorDriver.js.map +1 -0
- package/driver/capacitor/CapacitorQueryRunner.d.ts +33 -0
- package/driver/capacitor/CapacitorQueryRunner.js +98 -0
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -0
- package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachConnectionOptions.d.ts +12 -2
- package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.d.ts +49 -8
- package/driver/cockroachdb/CockroachDriver.js +331 -271
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +21 -18
- package/driver/cockroachdb/CockroachQueryRunner.js +1592 -2040
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaConnectionOptions.d.ts +7 -2
- package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/driver/cordova/CordovaDriver.d.ts +5 -4
- package/driver/cordova/CordovaDriver.js +38 -52
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.d.ts +27 -1
- package/driver/cordova/CordovaQueryRunner.js +105 -56
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoConnectionOptions.d.ts +6 -2
- package/driver/expo/ExpoConnectionOptions.js.map +1 -1
- package/driver/expo/ExpoDriver.d.ts +4 -7
- package/driver/expo/ExpoDriver.js +36 -55
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.d.ts +9 -1
- package/driver/expo/ExpoQueryRunner.js +129 -98
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +20 -3
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.d.ts +36 -12
- package/driver/mongodb/MongoDriver.js +153 -105
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +26 -8
- package/driver/mongodb/MongoQueryRunner.js +332 -748
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mongodb/typings.d.ts +12 -11
- package/driver/mongodb/typings.js +1 -1
- package/driver/mongodb/typings.js.map +1 -1
- package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
- package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/driver/mysql/MysqlConnectionOptions.d.ts +8 -2
- package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +48 -11
- package/driver/mysql/MysqlDriver.js +450 -279
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +24 -15
- package/driver/mysql/MysqlQueryRunner.js +1567 -1764
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptConnectionOptions.d.ts +27 -2
- package/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.d.ts +5 -4
- package/driver/nativescript/NativescriptDriver.js +41 -46
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.d.ts +9 -1
- package/driver/nativescript/NativescriptQueryRunner.js +59 -42
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionCredentialsOptions.d.ts +4 -0
- package/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +11 -2
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.d.ts +31 -7
- package/driver/oracle/OracleDriver.js +338 -242
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.d.ts +22 -9
- package/driver/oracle/OracleQueryRunner.js +1361 -1683
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +34 -2
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +81 -19
- package/driver/postgres/PostgresDriver.js +624 -443
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +47 -26
- package/driver/postgres/PostgresQueryRunner.js +2144 -2300
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeConnectionOptions.d.ts +7 -2
- package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.d.ts +4 -3
- package/driver/react-native/ReactNativeDriver.js +36 -45
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.d.ts +9 -1
- package/driver/react-native/ReactNativeQueryRunner.js +67 -56
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapConnectionCredentialsOptions.d.ts +45 -0
- package/driver/sap/SapConnectionCredentialsOptions.js +4 -0
- package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -0
- package/driver/sap/SapConnectionOptions.d.ts +59 -0
- package/driver/sap/SapConnectionOptions.js +4 -0
- package/driver/sap/SapConnectionOptions.js.map +1 -0
- package/driver/sap/SapDriver.d.ts +214 -0
- package/driver/sap/SapDriver.js +645 -0
- package/driver/sap/SapDriver.js.map +1 -0
- package/driver/sap/SapQueryRunner.d.ts +342 -0
- package/driver/sap/SapQueryRunner.js +1991 -0
- package/driver/sap/SapQueryRunner.js.map +1 -0
- package/driver/sqlite/SqliteConnectionOptions.d.ts +7 -2
- package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/driver/sqlite/SqliteDriver.d.ts +18 -4
- package/driver/sqlite/SqliteDriver.js +111 -87
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.d.ts +9 -1
- package/driver/sqlite/SqliteQueryRunner.js +88 -71
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +47 -10
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +259 -142
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +24 -5
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1034 -1451
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsConnectionOptions.d.ts +7 -2
- package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/driver/sqljs/SqljsDriver.d.ts +4 -3
- package/driver/sqljs/SqljsDriver.js +160 -232
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.d.ts +15 -1
- package/driver/sqljs/SqljsQueryRunner.js +89 -64
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/MssqlParameter.d.ts +1 -0
- package/driver/sqlserver/MssqlParameter.js +5 -8
- package/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -6
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.d.ts +43 -9
- package/driver/sqlserver/SqlServerDriver.js +366 -262
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +18 -28
- package/driver/sqlserver/SqlServerQueryRunner.js +1825 -2322
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
- package/driver/{aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js → sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js} +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.js +4 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.js +4 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
- package/driver/types/ColumnTypes.d.ts +5 -5
- package/driver/types/ColumnTypes.js.map +1 -1
- package/driver/types/DataTypeDefaults.js.map +1 -1
- package/driver/types/DatabaseType.d.ts +1 -1
- package/driver/types/DatabaseType.js.map +1 -1
- package/driver/types/IsolationLevel.js.map +1 -1
- package/driver/types/MappedColumnTypes.d.ts +12 -0
- package/driver/types/MappedColumnTypes.js.map +1 -1
- package/driver/types/MetadataTableType.d.ts +5 -0
- package/driver/types/MetadataTableType.js +11 -0
- package/driver/types/MetadataTableType.js.map +1 -0
- package/driver/types/ReplicationMode.d.ts +1 -0
- package/driver/types/ReplicationMode.js +4 -0
- package/driver/types/ReplicationMode.js.map +1 -0
- package/driver/types/UpsertType.d.ts +1 -0
- package/driver/types/UpsertType.js +4 -0
- package/driver/types/UpsertType.js.map +1 -0
- package/entity-manager/EntityManager.d.ts +143 -286
- package/entity-manager/EntityManager.js +541 -447
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/EntityManagerFactory.d.ts +2 -2
- package/entity-manager/EntityManagerFactory.js +10 -14
- package/entity-manager/EntityManagerFactory.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +101 -64
- package/entity-manager/MongoEntityManager.js +507 -473
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-manager/SqljsEntityManager.d.ts +3 -2
- package/entity-manager/SqljsEntityManager.js +16 -36
- package/entity-manager/SqljsEntityManager.js.map +1 -1
- package/entity-schema/EntitySchema.d.ts +1 -0
- package/entity-schema/EntitySchema.js +5 -4
- package/entity-schema/EntitySchema.js.map +1 -1
- package/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/entity-schema/EntitySchemaColumnOptions.d.ts +4 -0
- package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +18 -0
- package/entity-schema/EntitySchemaEmbeddedColumnOptions.js +8 -0
- package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -0
- package/entity-schema/EntitySchemaEmbeddedError.d.ts +6 -0
- package/entity-schema/EntitySchemaEmbeddedError.js +18 -0
- package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -0
- package/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/entity-schema/EntitySchemaIndexOptions.d.ts +7 -2
- package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.d.ts +22 -10
- package/entity-schema/EntitySchemaOptions.js +3 -5
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaRelationOptions.d.ts +15 -4
- package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.d.ts +1 -0
- package/entity-schema/EntitySchemaTransformer.js +230 -183
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/entity-schema/EntitySchemaUniqueOptions.d.ts +7 -2
- package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/error/AlreadyHasActiveConnectionError.d.ts +2 -2
- package/error/AlreadyHasActiveConnectionError.js +7 -12
- package/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/error/CannotAttachTreeChildrenEntityError.d.ts +3 -3
- package/error/CannotAttachTreeChildrenEntityError.js +8 -12
- package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/error/CannotConnectAlreadyConnectedError.d.ts +2 -2
- package/error/CannotConnectAlreadyConnectedError.js +6 -11
- package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/error/CannotCreateEntityIdMapError.d.ts +2 -2
- package/error/CannotCreateEntityIdMapError.js +8 -12
- package/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/error/CannotDetermineEntityError.d.ts +2 -2
- package/error/CannotDetermineEntityError.js +7 -11
- package/error/CannotDetermineEntityError.js.map +1 -1
- package/error/CannotExecuteNotConnectedError.d.ts +2 -2
- package/error/CannotExecuteNotConnectedError.js +6 -11
- package/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.d.ts +2 -2
- package/error/CannotGetEntityManagerNotConnectedError.js +6 -11
- package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/error/CannotReflectMethodParameterTypeError.d.ts +2 -2
- package/error/CannotReflectMethodParameterTypeError.js +8 -13
- package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/error/CircularRelationsError.d.ts +2 -2
- package/error/CircularRelationsError.js +7 -11
- package/error/CircularRelationsError.js.map +1 -1
- package/error/ColumnTypeUndefinedError.d.ts +2 -2
- package/error/ColumnTypeUndefinedError.js +9 -14
- package/error/ColumnTypeUndefinedError.js.map +1 -1
- package/error/ConnectionIsNotSetError.d.ts +2 -2
- package/error/ConnectionIsNotSetError.js +6 -11
- package/error/ConnectionIsNotSetError.js.map +1 -1
- package/error/ConnectionNotFoundError.d.ts +2 -2
- package/error/ConnectionNotFoundError.js +6 -11
- package/error/ConnectionNotFoundError.js.map +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.d.ts +2 -2
- package/error/CustomRepositoryCannotInheritRepositoryError.js +9 -12
- package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.d.ts +2 -2
- package/error/CustomRepositoryDoesNotHaveEntityError.js +9 -12
- package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/error/CustomRepositoryNotFoundError.d.ts +2 -2
- package/error/CustomRepositoryNotFoundError.js +9 -12
- package/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/error/DataTypeNotSupportedError.d.ts +2 -2
- package/error/DataTypeNotSupportedError.js +8 -12
- package/error/DataTypeNotSupportedError.js.map +1 -1
- package/error/DriverOptionNotSetError.d.ts +2 -2
- package/error/DriverOptionNotSetError.js +7 -11
- package/error/DriverOptionNotSetError.js.map +1 -1
- package/error/DriverPackageNotInstalledError.d.ts +2 -2
- package/error/DriverPackageNotInstalledError.js +7 -11
- package/error/DriverPackageNotInstalledError.js.map +1 -1
- package/error/EntityMetadataNotFoundError.d.ts +5 -6
- package/error/EntityMetadataNotFoundError.js +18 -19
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.d.ts +5 -5
- package/error/EntityNotFoundError.js +22 -21
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/EntityPropertyNotFoundError.d.ts +8 -0
- package/error/EntityPropertyNotFoundError.js +17 -0
- package/error/EntityPropertyNotFoundError.js.map +1 -0
- package/error/FindRelationsNotFoundError.d.ts +7 -0
- package/error/FindRelationsNotFoundError.js +23 -0
- package/error/FindRelationsNotFoundError.js.map +1 -0
- package/error/InitializedRelationError.d.ts +2 -1
- package/error/InitializedRelationError.js +8 -12
- package/error/InitializedRelationError.js.map +1 -1
- package/error/InsertValuesMissingError.d.ts +2 -2
- package/error/InsertValuesMissingError.js +7 -11
- package/error/InsertValuesMissingError.js.map +1 -1
- package/error/LimitOnUpdateNotSupportedError.d.ts +3 -3
- package/error/LimitOnUpdateNotSupportedError.js +7 -12
- package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/error/LockNotSupportedOnGivenDriverError.d.ts +2 -2
- package/error/LockNotSupportedOnGivenDriverError.js +6 -11
- package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/error/MetadataAlreadyExistsError.d.ts +2 -4
- package/error/MetadataAlreadyExistsError.js +12 -15
- package/error/MetadataAlreadyExistsError.js.map +1 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.d.ts +2 -4
- package/error/MetadataWithSuchNameAlreadyExistsError.js +10 -14
- package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/error/MissingDeleteDateColumnError.d.ts +5 -0
- package/error/MissingDeleteDateColumnError.js +12 -0
- package/error/MissingDeleteDateColumnError.js.map +1 -0
- package/error/MissingDriverError.d.ts +3 -3
- package/error/MissingDriverError.js +7 -11
- package/error/MissingDriverError.js.map +1 -1
- package/error/MissingJoinColumnError.d.ts +2 -4
- package/error/MissingJoinColumnError.js +13 -17
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.d.ts +2 -4
- package/error/MissingJoinTableError.js +13 -17
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/MissingPrimaryColumnError.d.ts +2 -4
- package/error/MissingPrimaryColumnError.js +7 -14
- package/error/MissingPrimaryColumnError.js.map +1 -1
- package/error/MustBeEntityError.d.ts +2 -2
- package/error/MustBeEntityError.js +6 -11
- package/error/MustBeEntityError.js.map +1 -1
- package/error/NamingStrategyNotFoundError.d.ts +2 -2
- package/error/NamingStrategyNotFoundError.js +12 -13
- package/error/NamingStrategyNotFoundError.js.map +1 -1
- package/error/NestedSetMultipleRootError.d.ts +4 -0
- package/error/NestedSetMultipleRootError.js +12 -0
- package/error/NestedSetMultipleRootError.js.map +1 -0
- package/error/NoConnectionForRepositoryError.d.ts +2 -2
- package/error/NoConnectionForRepositoryError.js +7 -12
- package/error/NoConnectionForRepositoryError.js.map +1 -1
- package/error/NoConnectionOptionError.d.ts +2 -1
- package/error/NoConnectionOptionError.js +7 -10
- package/error/NoConnectionOptionError.js.map +1 -1
- package/error/NoNeedToReleaseEntityManagerError.d.ts +2 -2
- package/error/NoNeedToReleaseEntityManagerError.js +8 -13
- package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/error/NoVersionOrUpdateDateColumnError.d.ts +2 -2
- package/error/NoVersionOrUpdateDateColumnError.js +6 -11
- package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/error/OffsetWithoutLimitNotSupportedError.d.ts +4 -4
- package/error/OffsetWithoutLimitNotSupportedError.js +9 -12
- package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/error/OptimisticLockCanNotBeUsedError.d.ts +2 -2
- package/error/OptimisticLockCanNotBeUsedError.js +6 -11
- package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/error/OptimisticLockVersionMismatchError.d.ts +2 -2
- package/error/OptimisticLockVersionMismatchError.js +6 -11
- package/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/error/PersistedEntityNotFoundError.d.ts +2 -2
- package/error/PersistedEntityNotFoundError.js +6 -11
- package/error/PersistedEntityNotFoundError.js.map +1 -1
- package/error/PessimisticLockTransactionRequiredError.d.ts +2 -2
- package/error/PessimisticLockTransactionRequiredError.js +6 -11
- package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/error/PrimaryColumnCannotBeNullableError.d.ts +2 -2
- package/error/PrimaryColumnCannotBeNullableError.js +7 -12
- package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/error/QueryFailedError.d.ts +6 -2
- package/error/QueryFailedError.js +20 -14
- package/error/QueryFailedError.js.map +1 -1
- package/error/QueryRunnerAlreadyReleasedError.d.ts +2 -4
- package/error/QueryRunnerAlreadyReleasedError.js +6 -13
- package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.d.ts +2 -2
- package/error/QueryRunnerProviderAlreadyReleasedError.js +7 -11
- package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/error/RepositoryNotFoundError.d.ts +4 -4
- package/error/RepositoryNotFoundError.js +17 -15
- package/error/RepositoryNotFoundError.js.map +1 -1
- package/error/RepositoryNotTreeError.d.ts +4 -4
- package/error/RepositoryNotTreeError.js +19 -18
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/ReturningStatementNotSupportedError.d.ts +2 -2
- package/error/ReturningStatementNotSupportedError.js +6 -11
- package/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/error/SubjectRemovedAndUpdatedError.d.ts +2 -2
- package/error/SubjectRemovedAndUpdatedError.js +7 -12
- package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/error/SubjectWithoutIdentifierError.d.ts +2 -2
- package/error/SubjectWithoutIdentifierError.js +6 -12
- package/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/error/TransactionAlreadyStartedError.d.ts +2 -2
- package/error/TransactionAlreadyStartedError.js +6 -11
- package/error/TransactionAlreadyStartedError.js.map +1 -1
- package/error/TransactionNotStartedError.d.ts +2 -2
- package/error/TransactionNotStartedError.js +6 -11
- package/error/TransactionNotStartedError.js.map +1 -1
- package/error/TreeRepositoryNotSupportedError.d.ts +2 -2
- package/error/TreeRepositoryNotSupportedError.js +6 -11
- package/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/error/TypeORMError.d.ts +4 -0
- package/error/TypeORMError.js +23 -0
- package/error/TypeORMError.js.map +1 -0
- package/error/UpdateValuesMissingError.d.ts +2 -5
- package/error/UpdateValuesMissingError.js +6 -14
- package/error/UpdateValuesMissingError.js.map +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -4
- package/error/UsingJoinColumnIsNotAllowedError.js +7 -14
- package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -4
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +8 -15
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/UsingJoinTableIsNotAllowedError.d.ts +2 -4
- package/error/UsingJoinTableIsNotAllowedError.js +8 -15
- package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -4
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +8 -15
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/index.d.ts +62 -0
- package/error/index.js +67 -0
- package/error/index.js.map +1 -0
- package/find-options/EqualOperator.d.ts +5 -0
- package/find-options/EqualOperator.js +13 -0
- package/find-options/EqualOperator.js.map +1 -0
- package/find-options/FindManyOptions.d.ts +14 -0
- package/find-options/FindManyOptions.js +4 -0
- package/find-options/FindManyOptions.js.map +1 -0
- package/find-options/FindOneOptions.d.ts +86 -0
- package/find-options/FindOneOptions.js +4 -0
- package/find-options/FindOneOptions.js.map +1 -0
- package/find-options/FindOperator.d.ts +31 -8
- package/find-options/FindOperator.js +65 -96
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOperatorType.d.ts +1 -1
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/FindOptionsOrder.d.ts +19 -0
- package/find-options/FindOptionsOrder.js +4 -0
- package/find-options/FindOptionsOrder.js.map +1 -0
- package/find-options/FindOptionsRelations.d.ts +19 -0
- package/find-options/FindOptionsRelations.js +4 -0
- package/find-options/FindOptionsRelations.js.map +1 -0
- package/find-options/FindOptionsSelect.d.ts +19 -0
- package/find-options/FindOptionsSelect.js +4 -0
- package/find-options/FindOptionsSelect.js.map +1 -0
- package/find-options/FindOptionsUtils.d.ts +180 -6
- package/find-options/FindOptionsUtils.js +301 -95
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/FindOptionsWhere.d.ts +14 -0
- package/find-options/FindOptionsWhere.js +4 -0
- package/find-options/FindOptionsWhere.js.map +1 -0
- package/find-options/FindTreeOptions.d.ts +13 -0
- package/find-options/FindTreeOptions.js +4 -0
- package/find-options/FindTreeOptions.js.map +1 -0
- package/find-options/JoinOptions.d.ts +76 -0
- package/find-options/JoinOptions.js +4 -0
- package/find-options/JoinOptions.js.map +1 -0
- package/find-options/OrderByCondition.js.map +1 -1
- package/find-options/mongodb/MongoFindManyOptions.d.ts +14 -0
- package/find-options/mongodb/MongoFindManyOptions.js +4 -0
- package/find-options/mongodb/MongoFindManyOptions.js.map +1 -0
- package/find-options/mongodb/MongoFindOneOptions.d.ts +11 -0
- package/find-options/mongodb/MongoFindOneOptions.js +4 -0
- package/find-options/mongodb/MongoFindOneOptions.js.map +1 -0
- package/find-options/operator/Any.d.ts +1 -1
- package/find-options/operator/Any.js +2 -1
- package/find-options/operator/Any.js.map +1 -1
- package/find-options/operator/Between.d.ts +1 -1
- package/find-options/operator/Between.js +2 -1
- package/find-options/operator/Between.js.map +1 -1
- package/find-options/operator/Equal.d.ts +7 -2
- package/find-options/operator/Equal.js +8 -3
- package/find-options/operator/Equal.js.map +1 -1
- package/find-options/operator/ILike.d.ts +1 -1
- package/find-options/operator/ILike.js +3 -2
- package/find-options/operator/ILike.js.map +1 -1
- package/find-options/operator/In.d.ts +1 -1
- package/find-options/operator/In.js +2 -1
- package/find-options/operator/In.js.map +1 -1
- package/find-options/operator/IsNull.js +2 -1
- package/find-options/operator/IsNull.js.map +1 -1
- package/find-options/operator/LessThan.js +2 -1
- package/find-options/operator/LessThan.js.map +1 -1
- package/find-options/operator/LessThanOrEqual.js +2 -1
- package/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/find-options/operator/Like.d.ts +1 -1
- package/find-options/operator/Like.js +3 -2
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/MoreThan.js +2 -1
- package/find-options/operator/MoreThan.js.map +1 -1
- package/find-options/operator/MoreThanOrEqual.js +2 -1
- package/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/find-options/operator/Not.d.ts +1 -1
- package/find-options/operator/Not.js +3 -2
- package/find-options/operator/Not.js.map +1 -1
- package/find-options/operator/Raw.d.ts +14 -2
- package/find-options/operator/Raw.js +7 -7
- package/find-options/operator/Raw.js.map +1 -1
- package/globals.d.ts +117 -0
- package/globals.js +183 -0
- package/globals.js.map +1 -0
- package/index.d.ts +45 -113
- package/index.js +86 -229
- package/index.js.map +1 -1
- package/index.mjs +366 -0
- package/logger/AdvancedConsoleLogger.d.ts +2 -1
- package/logger/AdvancedConsoleLogger.js +57 -33
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/logger/DebugLogger.d.ts +1 -2
- package/logger/DebugLogger.js +27 -26
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.d.ts +3 -1
- package/logger/FileLogger.js +68 -40
- package/logger/FileLogger.js.map +1 -1
- package/logger/Logger.d.ts +1 -1
- package/logger/Logger.js.map +1 -1
- package/logger/LoggerFactory.js +11 -12
- package/logger/LoggerFactory.js.map +1 -1
- package/logger/LoggerOptions.d.ts +9 -0
- package/logger/LoggerOptions.js.map +1 -1
- package/logger/SimpleConsoleLogger.d.ts +2 -1
- package/logger/SimpleConsoleLogger.js +56 -32
- package/logger/SimpleConsoleLogger.js.map +1 -1
- package/metadata/CheckMetadata.js +9 -7
- package/metadata/CheckMetadata.js.map +1 -1
- package/metadata/ColumnMetadata.d.ts +16 -7
- package/metadata/ColumnMetadata.js +243 -127
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EmbeddedMetadata.d.ts +12 -5
- package/metadata/EmbeddedMetadata.js +78 -50
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/EntityListenerMetadata.js +22 -14
- package/metadata/EntityListenerMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +65 -22
- package/metadata/EntityMetadata.js +255 -163
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/ExclusionMetadata.js +9 -7
- package/metadata/ExclusionMetadata.js.map +1 -1
- package/metadata/ForeignKeyMetadata.js +9 -9
- package/metadata/ForeignKeyMetadata.js.map +1 -1
- package/metadata/IndexMetadata.d.ts +7 -2
- package/metadata/IndexMetadata.js +45 -33
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata/RelationCountMetadata.js +12 -9
- package/metadata/RelationCountMetadata.js.map +1 -1
- package/metadata/RelationIdMetadata.js +22 -18
- package/metadata/RelationIdMetadata.js.map +1 -1
- package/metadata/RelationMetadata.d.ts +28 -5
- package/metadata/RelationMetadata.js +162 -79
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.d.ts +7 -2
- package/metadata/UniqueMetadata.js +41 -31
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/metadata/types/ClosureTreeOptions.js +4 -0
- package/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/metadata/types/DeferrableType.js.map +1 -1
- package/metadata/types/EventListenerTypes.d.ts +12 -8
- package/metadata/types/EventListenerTypes.js +14 -12
- package/metadata/types/EventListenerTypes.js.map +1 -1
- package/metadata/types/OnDeleteType.js.map +1 -1
- package/metadata/types/OnUpdateType.js.map +1 -1
- package/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/metadata/types/RelationTypeInFunction.d.ts +2 -1
- package/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/metadata/types/RelationTypes.js.map +1 -1
- package/metadata/types/TableTypes.d.ts +1 -1
- package/metadata/types/TableTypes.js.map +1 -1
- package/metadata/types/TreeTypes.js.map +1 -1
- package/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/metadata-args/EmbeddedMetadataArgs.d.ts +2 -2
- package/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/metadata-args/EntityRepositoryMetadataArgs.d.ts +2 -2
- package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/metadata-args/IndexMetadataArgs.d.ts +7 -2
- package/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/metadata-args/MetadataArgsStorage.d.ts +4 -0
- package/metadata-args/MetadataArgsStorage.js +147 -95
- package/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/metadata-args/TableMetadataArgs.d.ts +9 -5
- package/metadata-args/TableMetadataArgs.js.map +1 -1
- package/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/metadata-args/TransactionRepositoryMetadataArgs.d.ts +1 -1
- package/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/metadata-args/TreeMetadataArgs.d.ts +5 -0
- package/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/metadata-args/UniqueMetadataArgs.d.ts +7 -2
- package/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/metadata-args/types/ColumnMode.d.ts +1 -1
- package/metadata-args/types/ColumnMode.js.map +1 -1
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +2 -2
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +52 -33
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.d.ts +2 -2
- package/metadata-builder/EntityMetadataBuilder.js +412 -281
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +85 -73
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +2 -2
- package/metadata-builder/JunctionEntityMetadataBuilder.js +149 -95
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/MetadataUtils.js +13 -15
- package/metadata-builder/MetadataUtils.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.d.ts +3 -2
- package/metadata-builder/RelationJoinColumnBuilder.js +73 -52
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/Migration.js +4 -4
- package/migration/Migration.js.map +1 -1
- package/migration/MigrationExecutor.d.ts +6 -4
- package/migration/MigrationExecutor.js +383 -537
- package/migration/MigrationExecutor.js.map +1 -1
- package/migration/MigrationInterface.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.d.ts +7 -1
- package/naming-strategy/DefaultNamingStrategy.js +96 -84
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/NamingStrategyInterface.d.ts +17 -1
- package/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/package.json +173 -71
- package/persistence/EntityPersistExecutor.d.ts +4 -4
- package/persistence/EntityPersistExecutor.js +137 -160
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.d.ts +27 -3
- package/persistence/Subject.js +105 -67
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectChangeMap.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.js +77 -53
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.d.ts +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js +98 -113
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.d.ts +19 -2
- package/persistence/SubjectExecutor.js +594 -427
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopoligicalSorter.js +64 -58
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js +55 -28
- package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +67 -60
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js +64 -45
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +35 -30
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/persistence/tree/ClosureSubjectExecutor.d.ts +8 -11
- package/persistence/tree/ClosureSubjectExecutor.js +215 -89
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +5 -0
- package/persistence/tree/MaterializedPathSubjectExecutor.js +90 -47
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.d.ts +20 -0
- package/persistence/tree/NestedSetSubjectExecutor.js +245 -62
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.d.ts +8 -1
- package/platform/PlatformTools.js +123 -118
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.d.ts +4 -3
- package/query-builder/Alias.js +20 -31
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/Brackets.d.ts +4 -3
- package/query-builder/Brackets.js +5 -4
- package/query-builder/Brackets.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.d.ts +13 -11
- package/query-builder/DeleteQueryBuilder.js +113 -168
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertOrUpdateOptions.d.ts +3 -0
- package/query-builder/InsertOrUpdateOptions.js +4 -0
- package/query-builder/InsertOrUpdateOptions.js.map +1 -0
- package/query-builder/InsertQueryBuilder.d.ts +15 -5
- package/query-builder/InsertQueryBuilder.js +460 -298
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.d.ts +12 -12
- package/query-builder/JoinAttribute.js +143 -190
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/JoinOptions.js.map +1 -1
- package/query-builder/NotBrackets.d.ts +8 -0
- package/query-builder/NotBrackets.js +17 -0
- package/query-builder/NotBrackets.js.map +1 -0
- package/query-builder/QueryBuilder.d.ts +55 -32
- package/query-builder/QueryBuilder.js +703 -378
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilderUtils.d.ts +0 -1
- package/query-builder/QueryBuilderUtils.js +6 -15
- package/query-builder/QueryBuilderUtils.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +51 -29
- package/query-builder/QueryExpressionMap.js +97 -88
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/QueryPartialEntity.d.ts +1 -1
- package/query-builder/QueryPartialEntity.js.map +1 -1
- package/query-builder/RelationIdLoader.d.ts +10 -12
- package/query-builder/RelationIdLoader.js +307 -184
- package/query-builder/RelationIdLoader.js.map +1 -1
- package/query-builder/RelationLoader.d.ts +6 -3
- package/query-builder/RelationLoader.js +182 -145
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.d.ts +2 -1
- package/query-builder/RelationQueryBuilder.js +85 -114
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.js +120 -83
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.js +129 -127
- package/query-builder/RelationUpdater.js.map +1 -1
- package/query-builder/ReturningResultsEntityUpdator.d.ts +4 -4
- package/query-builder/ReturningResultsEntityUpdator.js +136 -154
- package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/query-builder/SelectQuery.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +64 -50
- package/query-builder/SelectQueryBuilder.js +1661 -1308
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.d.ts +138 -0
- package/query-builder/SoftDeleteQueryBuilder.js +367 -0
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -0
- package/query-builder/UpdateQueryBuilder.d.ts +11 -8
- package/query-builder/UpdateQueryBuilder.js +283 -304
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/WhereClause.d.ts +16 -0
- package/query-builder/WhereClause.js +4 -0
- package/query-builder/WhereClause.js.map +1 -0
- package/query-builder/{WhereExpression.d.ts → WhereExpressionBuilder.d.ts} +51 -3
- package/query-builder/WhereExpressionBuilder.js +4 -0
- package/query-builder/WhereExpressionBuilder.js.map +1 -0
- package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
- package/query-builder/relation-count/RelationCountAttribute.js +69 -97
- package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoader.d.ts +3 -3
- package/query-builder/relation-count/RelationCountLoader.js +151 -100
- package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +17 -18
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
- package/query-builder/relation-id/RelationIdAttribute.js +70 -102
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.d.ts +3 -3
- package/query-builder/relation-id/RelationIdLoader.js +257 -148
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +17 -18
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/result/DeleteResult.d.ts +3 -1
- package/query-builder/result/DeleteResult.js +8 -4
- package/query-builder/result/DeleteResult.js.map +1 -1
- package/query-builder/result/InsertResult.d.ts +2 -0
- package/query-builder/result/InsertResult.js +9 -4
- package/query-builder/result/InsertResult.js.map +1 -1
- package/query-builder/result/UpdateResult.d.ts +2 -0
- package/query-builder/result/UpdateResult.js +10 -4
- package/query-builder/result/UpdateResult.js.map +1 -1
- package/query-builder/transformer/DocumentToEntityTransformer.d.ts +1 -2
- package/query-builder/transformer/DocumentToEntityTransformer.js +49 -34
- package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +75 -100
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +26 -26
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +13 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +231 -160
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +49 -12
- package/query-runner/BaseQueryRunner.js +243 -248
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryLock.d.ts +4 -0
- package/query-runner/QueryLock.js +28 -0
- package/query-runner/QueryLock.js.map +1 -0
- package/query-runner/QueryResult.d.ts +17 -0
- package/query-runner/QueryResult.js +17 -0
- package/query-runner/QueryResult.js.map +1 -0
- package/query-runner/QueryRunner.d.ts +36 -8
- package/query-runner/QueryRunner.js.map +1 -1
- package/repository/AbstractRepository.d.ts +5 -5
- package/repository/AbstractRepository.js +50 -55
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.d.ts +69 -81
- package/repository/BaseEntity.js +171 -131
- package/repository/BaseEntity.js.map +1 -1
- package/repository/EntityId.js.map +1 -1
- package/repository/FindTreesOptions.d.ts +9 -0
- package/repository/FindTreesOptions.js +4 -0
- package/repository/FindTreesOptions.js.map +1 -0
- package/repository/MongoRepository.d.ts +55 -9
- package/repository/MongoRepository.js +332 -0
- package/repository/MongoRepository.js.map +1 -1
- package/repository/RemoveOptions.js.map +1 -1
- package/repository/Repository.d.ts +130 -97
- package/repository/Repository.js +290 -0
- package/repository/Repository.js.map +1 -1
- package/repository/SaveOptions.d.ts +1 -1
- package/repository/SaveOptions.js.map +1 -1
- package/repository/TreeRepository.d.ts +14 -9
- package/repository/TreeRepository.js +265 -0
- package/repository/TreeRepository.js.map +1 -1
- package/repository/UpsertOptions.d.ts +10 -0
- package/repository/UpsertOptions.js +4 -0
- package/repository/UpsertOptions.js.map +1 -0
- package/schema-builder/MongoSchemaBuilder.d.ts +3 -3
- package/schema-builder/MongoSchemaBuilder.js +30 -42
- package/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +14 -6
- package/schema-builder/RdbmsSchemaBuilder.js +703 -1065
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/SchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/schema-builder/options/TableColumnOptions.d.ts +6 -2
- package/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/schema-builder/options/TableForeignKeyOptions.d.ts +8 -0
- package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/schema-builder/options/TableIndexOptions.d.ts +6 -1
- package/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/schema-builder/options/TableOptions.d.ts +8 -0
- package/schema-builder/options/TableOptions.js.map +1 -1
- package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
- package/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/schema-builder/options/ViewOptions.d.ts +10 -2
- package/schema-builder/options/ViewOptions.js.map +1 -1
- package/schema-builder/table/Table.d.ts +13 -3
- package/schema-builder/table/Table.js +117 -103
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableCheck.d.ts +1 -0
- package/schema-builder/table/TableCheck.js +11 -11
- package/schema-builder/table/TableCheck.js.map +1 -1
- package/schema-builder/table/TableColumn.d.ts +7 -2
- package/schema-builder/table/TableColumn.js +11 -8
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableExclusion.d.ts +1 -0
- package/schema-builder/table/TableExclusion.js +10 -9
- package/schema-builder/table/TableExclusion.js.map +1 -1
- package/schema-builder/table/TableForeignKey.d.ts +11 -1
- package/schema-builder/table/TableForeignKey.js +17 -11
- package/schema-builder/table/TableForeignKey.js.map +1 -1
- package/schema-builder/table/TableIndex.d.ts +6 -0
- package/schema-builder/table/TableIndex.js +16 -13
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/schema-builder/table/TableUnique.d.ts +6 -0
- package/schema-builder/table/TableUnique.js +14 -11
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/TableUtils.js +11 -10
- package/schema-builder/util/TableUtils.js.map +1 -1
- package/schema-builder/util/ViewUtils.d.ts +7 -0
- package/schema-builder/util/ViewUtils.js +27 -0
- package/schema-builder/util/ViewUtils.js.map +1 -0
- package/schema-builder/view/View.d.ts +12 -5
- package/schema-builder/view/View.js +17 -10
- package/schema-builder/view/View.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +87 -2
- package/subscriber/Broadcaster.js +413 -118
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.d.ts +4 -0
- package/subscriber/BroadcasterResult.js +13 -4
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +45 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/InsertEvent.d.ts +7 -7
- package/subscriber/event/InsertEvent.js.map +1 -1
- package/subscriber/event/LoadEvent.d.ts +2 -2
- package/subscriber/event/LoadEvent.js.map +1 -1
- package/subscriber/event/RecoverEvent.d.ts +6 -0
- package/subscriber/event/RecoverEvent.js +4 -0
- package/subscriber/event/RecoverEvent.js.map +1 -0
- package/subscriber/event/RemoveEvent.d.ts +7 -7
- package/subscriber/event/RemoveEvent.js.map +1 -1
- package/subscriber/event/SoftRemoveEvent.d.ts +6 -0
- package/subscriber/event/SoftRemoveEvent.js +4 -0
- package/subscriber/event/SoftRemoveEvent.js.map +1 -0
- package/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/subscriber/event/TransactionCommitEvent.js +4 -0
- package/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/subscriber/event/TransactionRollbackEvent.js +4 -0
- package/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/subscriber/event/TransactionStartEvent.js +4 -0
- package/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/subscriber/event/UpdateEvent.d.ts +5 -4
- package/subscriber/event/UpdateEvent.js.map +1 -1
- package/typeorm-class-transformer-shim.js +41 -7
- package/typeorm-model-shim.js +166 -111
- package/util/ApplyValueTransformers.js +14 -28
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.d.ts +2 -2
- package/util/DateUtils.js +111 -82
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.js +51 -49
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.d.ts +1 -1
- package/util/DirectoryExportedClassesLoader.js +35 -26
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ImportUtils.d.ts +1 -0
- package/util/ImportUtils.js +79 -0
- package/util/ImportUtils.js.map +1 -0
- package/util/InstanceChecker.d.ts +61 -0
- package/util/InstanceChecker.js +107 -0
- package/util/InstanceChecker.js.map +1 -0
- package/util/ObjectUtils.d.ts +17 -6
- package/util/ObjectUtils.js +27 -35
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.d.ts +16 -8
- package/util/OrmUtils.js +199 -97
- package/util/OrmUtils.js.map +1 -1
- package/util/PathUtils.d.ts +10 -0
- package/util/PathUtils.js +34 -0
- package/util/PathUtils.js.map +1 -0
- package/util/RandomGenerator.d.ts +0 -4
- package/util/RandomGenerator.js +62 -51
- package/util/RandomGenerator.js.map +1 -1
- package/util/StringUtils.d.ts +13 -3
- package/util/StringUtils.js +45 -19
- package/util/StringUtils.js.map +1 -1
- package/util/TreeRepositoryUtils.d.ts +23 -0
- package/util/TreeRepositoryUtils.js +60 -0
- package/util/TreeRepositoryUtils.js.map +1 -0
- package/util/VersionUtils.js +12 -15
- package/util/VersionUtils.js.map +1 -1
- package/browser/decorator/transaction/Transaction.d.ts +0 -16
- package/browser/decorator/transaction/Transaction.js +0 -85
- package/browser/decorator/transaction/Transaction.js.map +0 -1
- package/browser/decorator/transaction/TransactionManager.d.ts +0 -4
- package/browser/decorator/transaction/TransactionManager.js +0 -15
- package/browser/decorator/transaction/TransactionManager.js.map +0 -1
- package/browser/decorator/transaction/TransactionRepository.d.ts +0 -6
- package/browser/decorator/transaction/TransactionRepository.js +0 -28
- package/browser/decorator/transaction/TransactionRepository.js.map +0 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnection.d.ts +0 -11
- package/browser/driver/aurora-data-api/AuroraDataApiConnection.js +0 -21
- package/browser/driver/aurora-data-api/AuroraDataApiConnection.js.map +0 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js +0 -3
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js.map +0 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +0 -22
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js +0 -3
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +0 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +0 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +0 -2015
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +0 -1
- package/browser/entity-factory/DefaultEntityFactory.d.ts +0 -7
- package/browser/entity-factory/DefaultEntityFactory.js +0 -16
- package/browser/entity-factory/DefaultEntityFactory.js.map +0 -1
- package/browser/entity-factory/EntityFactoryInterface.d.ts +0 -11
- package/browser/entity-factory/EntityFactoryInterface.js +0 -3
- package/browser/entity-factory/EntityFactoryInterface.js.map +0 -1
- package/browser/entity-factory/OldEntityFactory.d.ts +0 -7
- package/browser/entity-factory/OldEntityFactory.js +0 -14
- package/browser/entity-factory/OldEntityFactory.js.map +0 -1
- package/browser/error/EntityColumnNotFound.d.ts +0 -7
- package/browser/error/EntityColumnNotFound.js +0 -18
- package/browser/error/EntityColumnNotFound.js.map +0 -1
- package/browser/error/FindCriteriaNotFoundError.d.ts +0 -7
- package/browser/error/FindCriteriaNotFoundError.js +0 -17
- package/browser/error/FindCriteriaNotFoundError.js.map +0 -1
- package/browser/find-options/FindOptions.d.ts +0 -171
- package/browser/find-options/FindOptions.js +0 -3
- package/browser/find-options/FindOptions.js.map +0 -1
- package/browser/find-options/operator/If.d.ts +0 -8
- package/browser/find-options/operator/If.js +0 -21
- package/browser/find-options/operator/If.js.map +0 -1
- package/browser/find-options/operator/Switch.d.ts +0 -16
- package/browser/find-options/operator/Switch.js +0 -17
- package/browser/find-options/operator/Switch.js.map +0 -1
- package/browser/observer/ObserverExecutor.d.ts +0 -18
- package/browser/observer/ObserverExecutor.js +0 -404
- package/browser/observer/ObserverExecutor.js.map +0 -1
- package/browser/observer/QueryObserver.d.ts +0 -28
- package/browser/observer/QueryObserver.js +0 -120
- package/browser/observer/QueryObserver.js.map +0 -1
- package/browser/query-builder/WhereExpression.js +0 -3
- package/browser/query-builder/WhereExpression.js.map +0 -1
- package/browser/repository/LiteralMongoRepository.d.ts +0 -11
- package/browser/repository/LiteralMongoRepository.js +0 -138
- package/browser/repository/LiteralMongoRepository.js.map +0 -1
- package/browser/repository/LiteralRepository.d.ts +0 -11
- package/browser/repository/LiteralRepository.js +0 -211
- package/browser/repository/LiteralRepository.js.map +0 -1
- package/browser/repository/LiteralTreeRepository.d.ts +0 -9
- package/browser/repository/LiteralTreeRepository.js +0 -224
- package/browser/repository/LiteralTreeRepository.js.map +0 -1
- package/browser/repository/RepositoryFactory.d.ts +0 -13
- package/browser/repository/RepositoryFactory.js +0 -50
- package/browser/repository/RepositoryFactory.js.map +0 -1
- package/browser/util/PromiseUtils.d.ts +0 -24
- package/browser/util/PromiseUtils.js +0 -62
- package/browser/util/PromiseUtils.js.map +0 -1
- package/decorator/transaction/Transaction.d.ts +0 -16
- package/decorator/transaction/Transaction.js +0 -88
- package/decorator/transaction/Transaction.js.map +0 -1
- package/decorator/transaction/TransactionManager.d.ts +0 -4
- package/decorator/transaction/TransactionManager.js +0 -18
- package/decorator/transaction/TransactionManager.js.map +0 -1
- package/decorator/transaction/TransactionRepository.d.ts +0 -6
- package/decorator/transaction/TransactionRepository.js +0 -31
- package/decorator/transaction/TransactionRepository.js.map +0 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.d.ts +0 -11
- package/driver/aurora-data-api/AuroraDataApiConnection.js +0 -23
- package/driver/aurora-data-api/AuroraDataApiConnection.js.map +0 -1
- package/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js.map +0 -1
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +0 -22
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +0 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.js.map +0 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +0 -2017
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +0 -1
- package/entity-factory/DefaultEntityFactory.d.ts +0 -7
- package/entity-factory/DefaultEntityFactory.js +0 -18
- package/entity-factory/DefaultEntityFactory.js.map +0 -1
- package/entity-factory/EntityFactoryInterface.d.ts +0 -11
- package/entity-factory/EntityFactoryInterface.js.map +0 -1
- package/entity-factory/OldEntityFactory.d.ts +0 -7
- package/entity-factory/OldEntityFactory.js +0 -16
- package/entity-factory/OldEntityFactory.js.map +0 -1
- package/error/EntityColumnNotFound.d.ts +0 -7
- package/error/EntityColumnNotFound.js +0 -20
- package/error/EntityColumnNotFound.js.map +0 -1
- package/error/FindCriteriaNotFoundError.d.ts +0 -7
- package/error/FindCriteriaNotFoundError.js +0 -19
- package/error/FindCriteriaNotFoundError.js.map +0 -1
- package/find-options/FindOptions.d.ts +0 -171
- package/find-options/FindOptions.js.map +0 -1
- package/find-options/operator/If.d.ts +0 -8
- package/find-options/operator/If.js +0 -24
- package/find-options/operator/If.js.map +0 -1
- package/find-options/operator/Switch.d.ts +0 -16
- package/find-options/operator/Switch.js +0 -20
- package/find-options/operator/Switch.js.map +0 -1
- package/observer/ObserverExecutor.d.ts +0 -18
- package/observer/ObserverExecutor.js +0 -406
- package/observer/ObserverExecutor.js.map +0 -1
- package/observer/QueryObserver.d.ts +0 -28
- package/observer/QueryObserver.js +0 -122
- package/observer/QueryObserver.js.map +0 -1
- package/query-builder/WhereExpression.js.map +0 -1
- package/repository/LiteralMongoRepository.d.ts +0 -11
- package/repository/LiteralMongoRepository.js +0 -141
- package/repository/LiteralMongoRepository.js.map +0 -1
- package/repository/LiteralRepository.d.ts +0 -11
- package/repository/LiteralRepository.js +0 -214
- package/repository/LiteralRepository.js.map +0 -1
- package/repository/LiteralTreeRepository.d.ts +0 -9
- package/repository/LiteralTreeRepository.js +0 -227
- package/repository/LiteralTreeRepository.js.map +0 -1
- package/repository/RepositoryFactory.d.ts +0 -13
- package/repository/RepositoryFactory.js +0 -52
- package/repository/RepositoryFactory.js.map +0 -1
- package/util/PromiseUtils.d.ts +0 -24
- package/util/PromiseUtils.js +0 -64
- package/util/PromiseUtils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-builder/QueryBuilder.ts"],"names":[],"mappings":"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","file":"QueryBuilder.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {Connection} from \"../connection/Connection\";\nimport {QueryExpressionMap} from \"./QueryExpressionMap\";\nimport {SelectQueryBuilder} from \"./SelectQueryBuilder\";\nimport {UpdateQueryBuilder} from \"./UpdateQueryBuilder\";\nimport {DeleteQueryBuilder} from \"./DeleteQueryBuilder\";\nimport {InsertQueryBuilder} from \"./InsertQueryBuilder\";\nimport {RelationQueryBuilder} from \"./RelationQueryBuilder\";\nimport {ObjectType} from \"../common/ObjectType\";\nimport {Alias} from \"./Alias\";\nimport {Brackets} from \"./Brackets\";\nimport {QueryDeepPartialEntity} from \"./QueryPartialEntity\";\nimport {EntityMetadata} from \"../metadata/EntityMetadata\";\nimport {ColumnMetadata} from \"../metadata/ColumnMetadata\";\nimport {SqljsDriver} from \"../driver/sqljs/SqljsDriver\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {OracleDriver} from \"../driver/oracle/OracleDriver\";\nimport {EntitySchema} from \"../\";\nimport {FindOperator} from \"../find-options/FindOperator\";\nimport {In} from \"../find-options/operator/In\";\n\n// todo: completely cover query builder with tests\n// todo: entityOrProperty can be target name. implement proper behaviour if it is.\n// todo: check in persistment if id exist on object and throw exception (can be in partial selection?)\n// todo: fix problem with long aliases eg getMaxIdentifierLength\n// todo: fix replacing in .select(\"COUNT(post.id) AS cnt\") statement\n// todo: implement joinAlways in relations and relationId\n// todo: finish partial selection\n// todo: sugar methods like: .addCount and .selectCount, selectCountAndMap, selectSum, selectSumAndMap, ...\n// todo: implement @Select decorator\n// todo: add select and map functions\n\n// todo: implement relation/entity loading and setting them into properties within a separate query\n// .loadAndMap(\"post.categories\", \"post.categories\", qb => ...)\n// .loadAndMap(\"post.categories\", Category, qb => ...)\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport abstract class QueryBuilder<Entity> {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection on which QueryBuilder was created.\n */\n readonly connection: Connection;\n\n /**\n * Contains all properties of the QueryBuilder that needs to be build a final query.\n */\n readonly expressionMap: QueryExpressionMap;\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Query runner used to execute query builder query.\n */\n protected queryRunner?: QueryRunner;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(queryBuilder: QueryBuilder<any>);\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(connection: Connection, queryRunner?: QueryRunner);\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(connectionOrQueryBuilder: Connection|QueryBuilder<any>, queryRunner?: QueryRunner) {\n if (connectionOrQueryBuilder instanceof QueryBuilder) {\n this.connection = connectionOrQueryBuilder.connection;\n this.queryRunner = connectionOrQueryBuilder.queryRunner;\n this.expressionMap = connectionOrQueryBuilder.expressionMap.clone();\n\n } else {\n this.connection = connectionOrQueryBuilder;\n this.queryRunner = queryRunner;\n this.expressionMap = new QueryExpressionMap(this.connection);\n }\n }\n\n // -------------------------------------------------------------------------\n // Abstract Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated sql query without parameters being replaced.\n */\n abstract getQuery(): string;\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the main alias string used in this query builder.\n */\n get alias(): string {\n if (!this.expressionMap.mainAlias)\n throw new Error(`Main alias is not set`); // todo: better exception\n\n return this.expressionMap.mainAlias.name;\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates SELECT query.\n * Replaces all previous selections if they exist.\n */\n select(): SelectQueryBuilder<Entity>;\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(selection: string, selectionAliasName?: string): SelectQueryBuilder<Entity>;\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(selection: string[]): SelectQueryBuilder<Entity>;\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(selection?: string|string[], selectionAliasName?: string): SelectQueryBuilder<Entity> {\n this.expressionMap.queryType = \"select\";\n if (selection instanceof Array) {\n this.expressionMap.selects = selection.map(selection => ({ selection: selection }));\n } else if (selection) {\n this.expressionMap.selects = [{ selection: selection, aliasName: selectionAliasName }];\n }\n\n // loading it dynamically because of circular issue\n const SelectQueryBuilderCls = require(\"./SelectQueryBuilder\").SelectQueryBuilder;\n if (this instanceof SelectQueryBuilderCls)\n return this as any;\n\n return new SelectQueryBuilderCls(this);\n }\n\n /**\n * Creates INSERT query.\n */\n insert(): InsertQueryBuilder<Entity> {\n this.expressionMap.queryType = \"insert\";\n\n // loading it dynamically because of circular issue\n const InsertQueryBuilderCls = require(\"./InsertQueryBuilder\").InsertQueryBuilder;\n if (this instanceof InsertQueryBuilderCls)\n return this as any;\n\n return new InsertQueryBuilderCls(this);\n }\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(): UpdateQueryBuilder<Entity>;\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(updateSet: QueryDeepPartialEntity<Entity>): UpdateQueryBuilder<Entity>;\n\n /**\n * Creates UPDATE query for the given entity and applies given update values.\n */\n update<T>(entity: ObjectType<T>, updateSet?: QueryDeepPartialEntity<T>): UpdateQueryBuilder<T>;\n\n /**\n * Creates UPDATE query for the given entity and applies given update values.\n */\n update<T>(entity: EntitySchema<T>, updateSet?: QueryDeepPartialEntity<T>): UpdateQueryBuilder<T>;\n\n /**\n * Creates UPDATE query for the given entity and applies given update values.\n */\n update(entity: Function|EntitySchema<Entity>|string, updateSet?: QueryDeepPartialEntity<Entity>): UpdateQueryBuilder<Entity>;\n\n /**\n * Creates UPDATE query for the given table name and applies given update values.\n */\n update(tableName: string, updateSet?: QueryDeepPartialEntity<Entity>): UpdateQueryBuilder<Entity>;\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(entityOrTableNameUpdateSet?: string|Function|EntitySchema<any>|ObjectLiteral, maybeUpdateSet?: ObjectLiteral): UpdateQueryBuilder<any> {\n const updateSet = maybeUpdateSet ? maybeUpdateSet : entityOrTableNameUpdateSet as ObjectLiteral|undefined;\n entityOrTableNameUpdateSet = entityOrTableNameUpdateSet instanceof EntitySchema ? entityOrTableNameUpdateSet.options.name : entityOrTableNameUpdateSet;\n\n if (entityOrTableNameUpdateSet instanceof Function || typeof entityOrTableNameUpdateSet === \"string\") {\n const mainAlias = this.createFromAlias(entityOrTableNameUpdateSet);\n this.expressionMap.setMainAlias(mainAlias);\n }\n\n this.expressionMap.queryType = \"update\";\n this.expressionMap.valuesSet = updateSet;\n\n // loading it dynamically because of circular issue\n const UpdateQueryBuilderCls = require(\"./UpdateQueryBuilder\").UpdateQueryBuilder;\n if (this instanceof UpdateQueryBuilderCls)\n return this as any;\n\n return new UpdateQueryBuilderCls(this);\n }\n\n /**\n * Creates DELETE query.\n */\n delete(): DeleteQueryBuilder<Entity> {\n this.expressionMap.queryType = \"delete\";\n\n // loading it dynamically because of circular issue\n const DeleteQueryBuilderCls = require(\"./DeleteQueryBuilder\").DeleteQueryBuilder;\n if (this instanceof DeleteQueryBuilderCls)\n return this as any;\n\n return new DeleteQueryBuilderCls(this);\n }\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation(propertyPath: string): RelationQueryBuilder<Entity>;\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation<T>(entityTarget: ObjectType<T>|string, propertyPath: string): RelationQueryBuilder<T>;\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation(entityTargetOrPropertyPath: Function|string, maybePropertyPath?: string): RelationQueryBuilder<Entity> {\n const entityTarget = arguments.length === 2 ? entityTargetOrPropertyPath : undefined;\n const propertyPath = arguments.length === 2 ? maybePropertyPath as string : entityTargetOrPropertyPath as string;\n\n this.expressionMap.queryType = \"relation\";\n this.expressionMap.relationPropertyPath = propertyPath;\n\n if (entityTarget) {\n const mainAlias = this.createFromAlias(entityTarget);\n this.expressionMap.setMainAlias(mainAlias);\n }\n\n // loading it dynamically because of circular issue\n const RelationQueryBuilderCls = require(\"./RelationQueryBuilder\").RelationQueryBuilder;\n if (this instanceof RelationQueryBuilderCls)\n return this as any;\n\n return new RelationQueryBuilderCls(this);\n }\n\n\n /**\n * Checks if given relation exists in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: ObjectType<T>|string, relation: string): boolean;\n\n /**\n * Checks if given relations exist in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: ObjectType<T>|string, relation: string[]): boolean;\n\n /**\n * Checks if given relation or relations exist in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: ObjectType<T>|string, relation: string|string[]): boolean {\n const entityMetadata = this.connection.getMetadata(target);\n const relations = relation instanceof Array ? relation : [relation];\n return relations.every(relation => {\n return !!entityMetadata.findRelationWithPropertyPath(relation);\n });\n }\n\n /**\n * Sets parameter name and its value.\n */\n setParameter(key: string, value: any): this {\n this.expressionMap.parameters[key] = value;\n return this;\n }\n\n /**\n * Adds all parameters from the given object.\n */\n setParameters(parameters: ObjectLiteral): this {\n\n // remove function parameters\n Object.keys(parameters).forEach(key => {\n if (parameters[key] instanceof Function) {\n throw new Error(`Function parameter isn't supported in the parameters. Please check \"${key}\" parameter.`);\n }\n });\n\n // set parent query builder parameters as well in sub-query mode\n if (this.expressionMap.parentQueryBuilder)\n this.expressionMap.parentQueryBuilder.setParameters(parameters);\n\n Object.keys(parameters).forEach(key => this.setParameter(key, parameters[key]));\n return this;\n }\n\n /**\n * Adds native parameters from the given object.\n */\n setNativeParameters(parameters: ObjectLiteral): this {\n\n // set parent query builder parameters as well in sub-query mode\n if (this.expressionMap.parentQueryBuilder)\n this.expressionMap.parentQueryBuilder.setNativeParameters(parameters);\n\n Object.keys(parameters).forEach(key => {\n this.expressionMap.nativeParameters[key] = parameters[key];\n });\n return this;\n }\n\n /**\n * Gets all parameters.\n */\n getParameters(): ObjectLiteral {\n const parameters: ObjectLiteral = Object.assign({}, this.expressionMap.parameters);\n\n // add discriminator column parameter if it exist\n if (this.expressionMap.mainAlias && this.expressionMap.mainAlias.hasMetadata) {\n const metadata = this.expressionMap.mainAlias!.metadata;\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const values = metadata.childEntityMetadatas\n .filter(childMetadata => childMetadata.discriminatorColumn)\n .map(childMetadata => childMetadata.discriminatorValue);\n values.push(metadata.discriminatorValue);\n parameters[\"discriminatorColumnValues\"] = values;\n }\n }\n\n return parameters;\n }\n\n /**\n * Prints sql to stdout using console.log.\n */\n printSql(): this { // TODO rename to logSql()\n const [query, parameters] = this.getQueryAndParameters();\n this.connection.logger.logQuery(query, parameters);\n return this;\n }\n\n /**\n * Gets generated sql that will be executed.\n * Parameters in the query are escaped for the currently used driver.\n */\n getSql(): string {\n return this.getQueryAndParameters()[0];\n }\n\n /**\n * Gets query to be executed with all parameters used in it.\n */\n getQueryAndParameters(): [string, any[]] {\n // this execution order is important because getQuery method generates this.expressionMap.nativeParameters values\n const query = this.getQuery();\n const parameters = this.getParameters();\n return this.connection.driver.escapeQueryWithParameters(query, parameters, this.expressionMap.nativeParameters);\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<any> {\n const [sql, parameters] = this.getQueryAndParameters();\n const queryRunner = this.obtainQueryRunner();\n try {\n return await queryRunner.query(sql, parameters); // await is needed here because we are using finally\n\n } finally {\n if (queryRunner !== this.queryRunner) { // means we created our own query runner\n await queryRunner.release();\n }\n if (this.connection.driver instanceof SqljsDriver) {\n await this.connection.driver.autoSave();\n }\n }\n }\n\n /**\n * Creates a completely new query builder.\n * Uses same query runner as current QueryBuilder.\n */\n createQueryBuilder(): this {\n return new (this.constructor as any)(this.connection, this.queryRunner);\n }\n\n /**\n * Clones query builder as it is.\n * Note: it uses new query runner, if you want query builder that uses exactly same query runner,\n * you can create query builder using its constructor, for example new SelectQueryBuilder(queryBuilder)\n * where queryBuilder is cloned QueryBuilder.\n */\n clone(): this {\n return new (this.constructor as any)(this);\n }\n\n /**\n * Disables escaping.\n */\n disableEscaping(): this {\n this.expressionMap.disableEscaping = false;\n return this;\n }\n\n /**\n * Escapes table name, column name or alias name using current database's escaping character.\n */\n escape(name: string): string {\n if (!this.expressionMap.disableEscaping)\n return name;\n return this.connection.driver.escape(name);\n }\n\n /**\n * Sets or overrides query builder's QueryRunner.\n */\n setQueryRunner(queryRunner: QueryRunner): this {\n this.queryRunner = queryRunner;\n return this;\n }\n\n /**\n * Indicates if listeners and subscribers must be called before and after query execution.\n * Enabled by default.\n */\n callListeners(enabled: boolean): this {\n this.expressionMap.callListeners = enabled;\n return this;\n }\n\n /**\n * Indicates if observers must be called before and after query execution.\n * Enabled by default.\n */\n callObservers(enabled: boolean): this {\n this.expressionMap.callObservers = enabled;\n return this;\n }\n\n /**\n * If set to true the query will be wrapped into a transaction.\n */\n useTransaction(enabled: boolean): this {\n this.expressionMap.useTransaction = enabled;\n return this;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets escaped table name with schema name if SqlServer driver used with custom\n * schema name, otherwise returns escaped table name.\n */\n protected getTableName(tablePath: string): string {\n return tablePath.split(\".\")\n .map(i => {\n // this condition need because in SQL Server driver when custom database name was specified and schema name was not, we got `dbName..tableName` string, and doesn't need to escape middle empty string\n if (i === \"\")\n return i;\n return this.escape(i);\n }).join(\".\");\n }\n\n /**\n * Gets name of the table where insert should be performed.\n */\n protected getMainTableName(): string {\n if (!this.expressionMap.mainAlias)\n throw new Error(`Entity where values should be inserted is not specified. Call \"qb.into(entity)\" method to specify it.`);\n\n if (this.expressionMap.mainAlias.hasMetadata)\n return this.expressionMap.mainAlias.metadata.tablePath;\n\n return this.expressionMap.mainAlias.tablePath!;\n }\n\n /**\n * Specifies FROM which entity's table select/update/delete will be executed.\n * Also sets a main string alias of the selection data.\n */\n protected createFromAlias(entityTarget: Function|string|((qb: SelectQueryBuilder<any>) => SelectQueryBuilder<any>), aliasName?: string): Alias {\n\n // if table has a metadata then find it to properly escape its properties\n // const metadata = this.connection.entityMetadatas.find(metadata => metadata.tableName === tableName);\n if (this.connection.hasMetadata(entityTarget)) {\n const metadata = this.connection.getMetadata(entityTarget);\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n metadata: this.connection.getMetadata(entityTarget),\n tablePath: metadata.tablePath\n });\n\n } else {\n let subQuery: string = \"\";\n if (entityTarget instanceof Function) {\n const subQueryBuilder: SelectQueryBuilder<any> = (entityTarget as any)(((this as any) as SelectQueryBuilder<any>).subQuery());\n this.setParameters(subQueryBuilder.getParameters());\n subQuery = subQueryBuilder.getQuery();\n\n } else {\n subQuery = entityTarget;\n }\n const isSubQuery = entityTarget instanceof Function || entityTarget.substr(0, 1) === \"(\" && entityTarget.substr(-1) === \")\";\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n tablePath: isSubQuery === false ? entityTarget as string : undefined,\n subQuery: isSubQuery === true ? subQuery : undefined,\n });\n }\n }\n\n /**\n * Replaces all entity's propertyName to name in the given statement.\n */\n protected replacePropertyNames(statement: string) {\n this.expressionMap.aliases.forEach(alias => {\n if (!alias.hasMetadata) return;\n const replaceAliasNamePrefix = this.expressionMap.aliasNamePrefixingEnabled ? alias.name + \"\\\\.\" : \"\";\n const replacementAliasNamePrefix = this.expressionMap.aliasNamePrefixingEnabled ? this.escape(alias.name) + \".\" : \"\";\n alias.metadata.columns.forEach(column => {\n const expression = \"([ =\\(]|^.{0})\" + replaceAliasNamePrefix + column.propertyPath + \"([ =\\)\\,]|.{0}$)\";\n statement = statement.replace(new RegExp(expression, \"gm\"), \"$1\" + replacementAliasNamePrefix + this.escape(column.databaseName) + \"$2\");\n const expression2 = \"([ =\\(]|^.{0})\" + replaceAliasNamePrefix + column.propertyName + \"([ =\\)\\,]|.{0}$)\";\n statement = statement.replace(new RegExp(expression2, \"gm\"), \"$1\" + replacementAliasNamePrefix + this.escape(column.databaseName) + \"$2\");\n });\n alias.metadata.relations.forEach(relation => {\n [...relation.joinColumns, ...relation.inverseJoinColumns].forEach(joinColumn => {\n const expression = \"([ =\\(]|^.{0})\" + replaceAliasNamePrefix + relation.propertyPath + \"\\\\.\" + joinColumn.referencedColumn!.propertyPath + \"([ =\\)\\,]|.{0}$)\";\n statement = statement.replace(new RegExp(expression, \"gm\"), \"$1\" + replacementAliasNamePrefix + this.escape(joinColumn.databaseName) + \"$2\"); // todo: fix relation.joinColumns[0], what if multiple columns\n });\n if (relation.joinColumns.length > 0) {\n const expression = \"([ =\\(]|^.{0})\" + replaceAliasNamePrefix + relation.propertyPath + \"([ =\\)\\,]|.{0}$)\";\n statement = statement.replace(new RegExp(expression, \"gm\"), \"$1\" + replacementAliasNamePrefix + this.escape(relation.joinColumns[0].databaseName) + \"$2\"); // todo: fix relation.joinColumns[0], what if multiple columns\n }\n });\n });\n return statement;\n }\n\n /**\n * Creates \"WHERE\" expression.\n */\n protected createWhereExpression() {\n const conditions = this.createWhereExpressionString();\n\n if (this.expressionMap.mainAlias!.hasMetadata) {\n const metadata = this.expressionMap.mainAlias!.metadata;\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const column = this.expressionMap.aliasNamePrefixingEnabled\n ? this.expressionMap.mainAlias!.name + \".\" + metadata.discriminatorColumn.databaseName\n : metadata.discriminatorColumn.databaseName;\n\n const condition = `${this.replacePropertyNames(column)} IN (:...discriminatorColumnValues)`;\n return ` WHERE ${ conditions.length ? \"(\" + conditions + \") AND\" : \"\" } ${condition}`;\n }\n }\n\n if (!conditions.length) // TODO copy in to discriminator condition\n return this.expressionMap.extraAppendedAndWhereCondition ? \" WHERE \" + this.replacePropertyNames(this.expressionMap.extraAppendedAndWhereCondition) : \"\";\n\n if (this.expressionMap.extraAppendedAndWhereCondition)\n return \" WHERE (\" + conditions + \") AND \" + this.replacePropertyNames(this.expressionMap.extraAppendedAndWhereCondition);\n\n return \" WHERE \" + conditions;\n }\n\n /**\n * Creates \"RETURNING\" / \"OUTPUT\" expression.\n */\n protected createReturningExpression(): string {\n const columns = this.getReturningColumns();\n const driver = this.connection.driver;\n\n // also add columns we must auto-return to perform entity updation\n // if user gave his own returning\n if (typeof this.expressionMap.returning !== \"string\" &&\n this.expressionMap.extraReturningColumns.length > 0 &&\n driver.isReturningSqlSupported()) {\n columns.push(...this.expressionMap.extraReturningColumns.filter(column => {\n return columns.indexOf(column) === -1;\n }));\n }\n\n if (columns.length) {\n let columnsExpression = columns.map(column => {\n const name = this.escape(column.databaseName);\n if (driver instanceof SqlServerDriver) {\n if (this.expressionMap.queryType === \"insert\" || this.expressionMap.queryType === \"update\") {\n return \"INSERTED.\" + name;\n } else {\n return this.escape(this.getMainTableName()) + \".\" + name;\n }\n } else {\n return name;\n }\n }).join(\", \");\n\n if (driver instanceof OracleDriver) {\n columnsExpression += \" INTO \" + columns.map(column => {\n const parameterName = \"output_\" + column.databaseName;\n this.expressionMap.nativeParameters[parameterName] = { type: driver.columnTypeToNativeParameter(column.type), dir: driver.oracle.BIND_OUT };\n return this.connection.driver.createParameter(parameterName, Object.keys(this.expressionMap.nativeParameters).length);\n }).join(\", \");\n }\n return columnsExpression;\n\n } else if (typeof this.expressionMap.returning === \"string\") {\n return this.expressionMap.returning;\n }\n\n return \"\";\n }\n\n /**\n * If returning / output cause is set to array of column names,\n * then this method will return all column metadatas of those column names.\n */\n protected getReturningColumns(): ColumnMetadata[] {\n const columns: ColumnMetadata[] = [];\n if (this.expressionMap.returning instanceof Array) {\n (this.expressionMap.returning as string[]).forEach(columnName => {\n if (this.expressionMap.mainAlias!.hasMetadata) {\n columns.push(...this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(columnName));\n }\n });\n }\n return columns;\n }\n\n /**\n * Concatenates all added where expressions into one string.\n */\n protected createWhereExpressionString(): string {\n return this.expressionMap.wheres.map((where, index) => {\n switch (where.type) {\n case \"and\":\n return (index > 0 ? \"AND \" : \"\") + this.replacePropertyNames(where.condition);\n case \"or\":\n return (index > 0 ? \"OR \" : \"\") + this.replacePropertyNames(where.condition);\n default:\n return this.replacePropertyNames(where.condition);\n }\n }).join(\" \");\n }\n\n /**\n * Creates \"WHERE\" expression and variables for the given \"ids\".\n */\n protected createWhereIdsExpression(ids: any|any[]): string {\n const metadata = this.expressionMap.mainAlias!.metadata;\n const normalized = (Array.isArray(ids) ? ids : [ids]).map(id => metadata.ensureEntityIdMap(id));\n\n // using in(...ids) for single primary key entities\n if (!metadata.hasMultiplePrimaryKeys\n && metadata.embeddeds.length === 0\n ) {\n const primaryColumn = metadata.primaryColumns[0];\n\n // getEntityValue will try to transform `In`, it is a bug\n // todo: remove this transformer check after #2390 is fixed\n if (!primaryColumn.transformer) {\n return this.computeWhereParameter({\n [primaryColumn.propertyName]: In(\n normalized.map(id => primaryColumn.getEntityValue(id, false))\n )\n });\n }\n }\n\n // create shortcuts for better readability\n const alias = this.expressionMap.aliasNamePrefixingEnabled ? this.escape(this.expressionMap.mainAlias!.name) + \".\" : \"\";\n let parameterIndex = Object.keys(this.expressionMap.nativeParameters).length;\n\n if (metadata.primaryColumns.length > 1) {\n const whereStrings = normalized.map((id, index) => {\n\n const whereSubStrings: string[] = [];\n metadata.primaryColumns.forEach((primaryColumn, secondIndex) => {\n const parameterName = \"id_\" + index + \"_\" + secondIndex;\n // whereSubStrings.push(alias + this.escape(primaryColumn.databaseName) + \"=:id_\" + index + \"_\" + secondIndex);\n whereSubStrings.push(alias + this.escape(primaryColumn.databaseName) + \" = \" + this.connection.driver.createParameter(parameterName, parameterIndex));\n this.expressionMap.nativeParameters[parameterName] = primaryColumn.getEntityValue(id, true);\n parameterIndex++;\n });\n return whereSubStrings.join(\" AND \");\n });\n return whereStrings.length > 1 ? \"(\" + whereStrings.map(whereString => \"(\" + whereString + \")\").join(\" OR \") + \")\" : whereStrings[0];\n\n } else {\n const [primaryColumn] = metadata.primaryColumns;\n const normalizedValues = normalized.map(ent => ent[Object.keys(ent)[0]]);\n const areAllNumbers = normalizedValues.every((id: any) => typeof id === \"number\");\n if (areAllNumbers) {\n return `${alias + this.escape(primaryColumn.databaseName)} IN (${normalizedValues.join(\", \")})`;\n } else {\n this.expressionMap.parameters[\"qb_ids\"] = normalized.map(val => primaryColumn.getEntityValue(val, true));\n return alias + this.escape(primaryColumn.databaseName) + \" IN (:...qb_ids)\";\n }\n }\n }\n\n /**\n * Computes given where argument - transforms to a where string all forms it can take.\n */\n protected computeWhereParameter(where: string|((qb: this) => string)|Brackets|ObjectLiteral|ObjectLiteral[]) {\n if (typeof where === \"string\")\n return where;\n\n if (where instanceof Brackets) {\n const whereQueryBuilder = this.createQueryBuilder();\n where.whereFactory(whereQueryBuilder as any);\n const whereString = whereQueryBuilder.createWhereExpressionString();\n this.setParameters(whereQueryBuilder.getParameters());\n return whereString ? \"(\" + whereString + \")\" : \"\";\n\n } else if (where instanceof Function) {\n return where(this);\n\n } else if (where instanceof Object) {\n const wheres: ObjectLiteral[] = where instanceof Array ? where : [where];\n let andConditions: string[];\n let parameterIndex = Object.keys(this.expressionMap.nativeParameters).length;\n\n if (this.expressionMap.mainAlias!.hasMetadata) {\n andConditions = wheres.map((where, whereIndex) => {\n const propertyPaths = EntityMetadata.createPropertyPath(this.expressionMap.mainAlias!.metadata, where);\n\n return propertyPaths.map((propertyPath, propertyIndex) => {\n const columns = this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(propertyPath);\n return columns.map((column, columnIndex) => {\n\n const aliasPath = this.expressionMap.aliasNamePrefixingEnabled ? `${this.alias}.${propertyPath}` : column.propertyPath;\n let parameterValue = column.getEntityValue(where, true);\n if (parameterValue === undefined)\n return;\n const parameterName = \"where_\" + whereIndex + \"_\" + propertyIndex + \"_\" + columnIndex;\n const parameterBaseCount = Object.keys(this.expressionMap.nativeParameters).filter(x => x.startsWith(parameterName)).length;\n\n if (parameterValue === null) {\n return `${aliasPath} IS NULL`;\n\n } else if (parameterValue instanceof FindOperator) {\n let parameters: any[] = [];\n if (parameterValue.useParameter) {\n const realParameterValues: any[] = parameterValue.multipleParameters ? parameterValue.value : [parameterValue.value];\n realParameterValues.forEach((realParameterValue, realParameterValueIndex) => {\n\n // don't create parameters for number to prevent max number of variables issues as much as possible\n if (typeof realParameterValue === \"number\") {\n parameters.push(realParameterValue);\n\n } else {\n this.expressionMap.nativeParameters[parameterName + (parameterBaseCount + realParameterValueIndex)] = realParameterValue;\n parameterIndex++;\n parameters.push(this.connection.driver.createParameter(parameterName + (parameterBaseCount + realParameterValueIndex), parameterIndex - 1));\n }\n });\n }\n return parameterValue.toSql(this.connection, aliasPath, parameters);\n\n } else {\n this.expressionMap.nativeParameters[parameterName] = parameterValue;\n parameterIndex++;\n const parameter = this.connection.driver.createParameter(parameterName, parameterIndex - 1);\n return `${aliasPath} = ${parameter}`;\n }\n\n }).filter(expression => !!expression).join(\" AND \");\n }).filter(expression => !!expression).join(\" AND \");\n });\n\n } else {\n andConditions = wheres.map((where, whereIndex) => {\n return Object.keys(where).map((key, parameterIndex) => {\n const parameterValue = where[key];\n const aliasPath = this.expressionMap.aliasNamePrefixingEnabled ? `${this.alias}.${key}` : key;\n if (parameterValue === null) {\n return `${aliasPath} IS NULL`;\n\n } else {\n const parameterName = \"where_\" + whereIndex + \"_\" + parameterIndex;\n this.expressionMap.nativeParameters[parameterName] = parameterValue;\n parameterIndex++;\n return `${aliasPath} = ${this.connection.driver.createParameter(parameterName, parameterIndex - 1)}`;\n }\n }).join(\" AND \");\n });\n }\n\n if (andConditions.length > 1)\n return andConditions.map(where => \"(\" + where + \")\").join(\" OR \");\n\n return andConditions.join(\"\");\n }\n\n return \"\";\n }\n\n /**\n * Creates a query builder used to execute sql queries inside this query builder.\n */\n protected obtainQueryRunner() {\n return this.queryRunner || this.connection.createQueryRunner(\"master\");\n }\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/query-builder/QueryBuilder.ts"],"names":[],"mappings":";;;AAGA,6DAAyD;AASzD,yCAAqC;AAIrC,+DAA2D;AAC3D,oDAAgD;AAChD,oCAAuC;AAGvC,sFAAkF;AAGlF,6DAAyD;AAEzD,kDAAkD;AAClD,kFAAkF;AAClF,sGAAsG;AACtG,gEAAgE;AAChE,oEAAoE;AACpE,yDAAyD;AACzD,iCAAiC;AACjC,2GAA2G;AAC3G,oCAAoC;AACpC,qCAAqC;AAErC,mGAAmG;AACnG,+DAA+D;AAC/D,sDAAsD;AAEtD;;GAEG;AACH,MAAsB,YAAY;IAkD9B;;OAEG;IACH,YACI,wBAAwD,EACxD,WAAyB;QAtDpB,mBAAa,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QA8BnD;;WAEG;QACK,mBAAc,GAAG,CAAC,CAAA;QAuBtB,IAAI,iCAAe,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YAC1D,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAA;YACrD,IAAI,CAAC,WAAW,GAAG,wBAAwB,CAAC,WAAW,CAAA;YACvD,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;SACtE;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAA;YAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SAC/D;IACL,CAAC;IAWD,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAE5E;;OAEG;IACH,IAAI,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS;YAC7B,MAAM,IAAI,oBAAY,CAAC,uBAAuB,CAAC,CAAA,CAAC,yBAAyB;QAE7E,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAA;IAC5C,CAAC;IA2BD;;;OAGG;IACH,MAAM,CACF,SAA6B,EAC7B,kBAA2B;QAE3B,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAA;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACvD,SAAS,EAAE,SAAS;aACvB,CAAC,CAAC,CAAA;SACN;aAAM,IAAI,SAAS,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG;gBACzB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE;aAC1D,CAAA;SACJ;QAED,mDAAmD;QACnD,MAAM,qBAAqB,GACvB,OAAO,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAA;QACtD,IAAI,iCAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAW,CAAA;QAElE,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAA;QAEvC,mDAAmD;QACnD,MAAM,qBAAqB,GACvB,OAAO,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAA;QACtD,IAAI,iCAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAW,CAAA;QAElE,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IA8BD;;OAEG;IACH,MAAM,CACF,0BAA8D,EAC9D,cAA8B;QAE9B,MAAM,SAAS,GAAG,cAAc;YAC5B,CAAC,CAAC,cAAc;YAChB,CAAC,CAAE,0BAAwD,CAAA;QAC/D,0BAA0B,GAAG,iCAAe,CAAC,cAAc,CACvD,0BAA0B,CAC7B;YACG,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI;YACzC,CAAC,CAAC,0BAA0B,CAAA;QAEhC,IACI,OAAO,0BAA0B,KAAK,UAAU;YAChD,OAAO,0BAA0B,KAAK,QAAQ,EAChD;YACE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAA;YAClE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;SAC7C;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAA;QACvC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAA;QAExC,mDAAmD;QACnD,MAAM,qBAAqB,GACvB,OAAO,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAA;QACtD,IAAI,iCAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAW,CAAA;QAElE,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACF,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAA;QAEvC,mDAAmD;QACnD,MAAM,qBAAqB,GACvB,OAAO,CAAC,sBAAsB,CAAC,CAAC,kBAAkB,CAAA;QACtD,IAAI,iCAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAW,CAAA;QAElE,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU;QACN,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,aAAa,CAAA;QAE5C,mDAAmD;QACnD,MAAM,yBAAyB,GAC3B,OAAO,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,CAAA;QAC9D,IAAI,iCAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAW,CAAA;QAEtE,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO;QACH,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAA;QAExC,mDAAmD;QACnD,MAAM,yBAAyB,GAC3B,OAAO,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,CAAA;QAC9D,IAAI,iCAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAW,CAAA;QAEtE,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAeD;;OAEG;IACH,QAAQ,CACJ,0BAA6C,EAC7C,iBAA0B;QAE1B,MAAM,YAAY,GACd,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAA;QACnE,MAAM,YAAY,GACd,SAAS,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAE,iBAA4B;YAC/B,CAAC,CAAE,0BAAqC,CAAA;QAEhD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,UAAU,CAAA;QACzC,IAAI,CAAC,aAAa,CAAC,oBAAoB,GAAG,YAAY,CAAA;QAEtD,IAAI,YAAY,EAAE;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;YACpD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;SAC7C;QAED,mDAAmD;QACnD,MAAM,uBAAuB,GACzB,OAAO,CAAC,wBAAwB,CAAC,CAAC,oBAAoB,CAAA;QAC1D,IAAI,iCAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAW,CAAA;QAEpE,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAkBD;;;;;OAKG;IACH,WAAW,CACP,MAAuB,EACvB,QAA2B;QAE3B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QACjE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChC,OAAO,CAAC,CAAC,cAAc,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAW;;QACpB,OAAO,CACH,CAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,YAAY,CAAC,GAAG,CAAC;YAC1C,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CACvC,CAAA;IACL,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,GAAW,EAAE,KAAU;QAChC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC7B,MAAM,IAAI,oBAAY,CAClB,uEAAuE,GAAG,cAAc,CAC3F,CAAA;SACJ;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;YAClC,MAAM,IAAI,oBAAY,CAClB,yFAAyF,CAC5F,CAAA;SACJ;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;SACnD;QAED,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC1C,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,UAAyB;QACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACnD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;SAChC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAES,eAAe,CAAC,KAAU;QAChC,IAAI,aAAa,CAAA;QAEjB,GAAG;YACC,aAAa,GAAG,aAAa,IAAI,CAAC,cAAc,EAAE,EAAE,CAAA;SACvD,QAAQ,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAEvC,OAAO,IAAI,aAAa,EAAE,CAAA;IAC9B,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,UAAyB;QACzC,gEAAgE;QAChE,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAA;SAC1D;QAED,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;OAEG;IACH,aAAa;QACT,MAAM,UAAU,GAAkB,MAAM,CAAC,MAAM,CAC3C,EAAE,EACF,IAAI,CAAC,aAAa,CAAC,UAAU,CAChC,CAAA;QAED,iDAAiD;QACjD,IACI,IAAI,CAAC,aAAa,CAAC,SAAS;YAC5B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,EAC1C;YACE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAA;YACvD,IAAI,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,oBAAoB,EAAE;gBAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB;qBACvC,MAAM,CACH,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,mBAAmB,CACvD;qBACA,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAA;gBAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;gBACxC,UAAU,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAA;aACnD;SACJ;QAED,OAAO,UAAU,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,0BAA0B;QAC1B,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,qBAAqB;QACjB,iHAAiH;QACjH,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,yBAAyB,CACnD,KAAK,EACL,UAAU,EACV,IAAI,CAAC,aAAa,CAAC,gBAAgB,CACtC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC5C,IAAI;YACA,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA,CAAC,oDAAoD;SACvG;gBAAS;YACN,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;gBAClC,wCAAwC;gBACxC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;aAC9B;SACJ;IACL,CAAC;IAED;;;OAGG;IACH,kBAAkB;QACd,OAAO,IAAK,IAAI,CAAC,WAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3E,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACD,OAAO,IAAK,IAAI,CAAC,WAAmB,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAe;QACnB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,OAAO,CAAA;QACpC,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;OAEG;IACH,eAAe;QACX,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,KAAK,CAAA;QAC1C,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe;YAAE,OAAO,IAAI,CAAA;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,WAAwB;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAAgB;QAC1B,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,CAAA;QAC1C,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAgB;QAC3B,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAA;QAC3C,OAAO,IAAI,CAAA;IACf,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;;OAGG;IACO,YAAY,CAAC,SAAiB;QACpC,OAAO,SAAS;aACX,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACP,sMAAsM;YACtM,IAAI,CAAC,KAAK,EAAE;gBAAE,OAAO,CAAC,CAAA;YACtB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAED;;OAEG;IACO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS;YAC7B,MAAM,IAAI,oBAAY,CAClB,uGAAuG,CAC1G,CAAA;QAEL,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW;YACxC,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAA;QAE1D,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAU,CAAA;IAClD,CAAC;IAED;;;OAGG;IACO,eAAe,CACrB,YAEgE,EAChE,SAAkB;QAElB,yEAAyE;QACzE,uGAAuG;QACvG,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YAE1D,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAClC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC;gBACnD,SAAS,EAAE,QAAQ,CAAC,SAAS;aAChC,CAAC,CAAA;SACL;aAAM;YACH,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;gBAClC,MAAM,UAAU,GACZ,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG;oBACjC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;gBAEnC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;oBAClC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,CAAC,UAAU;wBAClB,CAAC,CAAE,YAAuB;wBAC1B,CAAC,CAAC,SAAS;oBACf,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;iBAClD,CAAC,CAAA;aACL;YAED,MAAM,eAAe,GACjB,YACH,CAAE,IAAuC,CAAC,QAAQ,EAAE,CAAC,CAAA;YACtD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAA;YACnD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAA;YAE3C,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBAClC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,QAAQ;aACrB,CAAC,CAAA;SACL;IACL,CAAC;IAED;;OAEG;IACO,oBAAoB,CAAC,SAAiB;QAC5C,mDAAmD;QACnD,iGAAiG;QACjG,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAC/B,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAA;QAE9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC,WAAW;gBAAE,SAAQ;YAChC,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa;iBAC5C,yBAAyB;gBAC1B,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG;gBAClB,CAAC,CAAC,EAAE,CAAA;YACR,MAAM,0BAA0B,GAAG,IAAI,CAAC,aAAa;iBAChD,yBAAyB;gBAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;gBAC/B,CAAC,CAAC,EAAE,CAAA;YAER,MAAM,YAAY,GAA8B,EAAE,CAAA;YAElD,8FAA8F;YAC9F,iEAAiE;YACjE,0BAA0B;YAC1B,oDAAoD;YACpD,yCAAyC;YACzC,yBAAyB;YACzB,wBAAwB;YACxB,yBAAyB;YAEzB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC7C,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;oBAC/B,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC/B,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;aAC/C;YAED,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC7C,KAAK,MAAM,UAAU,IAAI;oBACrB,GAAG,QAAQ,CAAC,WAAW;oBACvB,GAAG,QAAQ,CAAC,kBAAkB;iBACjC,EAAE;oBACC,MAAM,WAAW,GAAG,GAAG,QAAQ,CAAC,YAAY,IACxC,UAAU,CAAC,gBAAiB,CAAC,YACjC,EAAE,CAAA;oBACF,YAAY,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,YAAY,CAAA;iBACtD;aACJ;YAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,YAAY,CAAA;aAC1D;YAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,YAAY,CAAA;aAC1D;YAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,YAAY,CAAA;aAC1D;YAED,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAEjD,IAAI,eAAe,CAAC,MAAM,EAAE;gBACxB,SAAS,GAAG,SAAS,CAAC,OAAO,CACzB,IAAI,MAAM;gBACN,wDAAwD;gBACxD,gBAAgB;oBACZ,GAAG,YAAY,CACX,sBAAsB,CACzB,IAAI,eAAe;yBACf,GAAG,CAAC,YAAY,CAAC;yBACjB,IAAI,CAAC,GAAG,CAAC,GAAG;oBACjB,oBAAoB,EACxB,IAAI,CACP,EACD,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CACV,GAAG,GAAG,GAAG,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAC7C,YAAY,CAAC,CAAC,CAAC,CAClB,EAAE,CACV,CAAA;aACJ;SACJ;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAES,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC7B,OAAO,EAAE,CAAA;SACZ;QAED,2FAA2F;QAC3F,0FAA0F;QAC1F,uFAAuF;QACvF,gCAAgC;QAEhC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAA;IACnE,CAAC;IAED;;OAEG;IACO,qBAAqB;QAC3B,MAAM,eAAe,GAAG,EAAE,CAAA;QAE1B,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,CACrD,IAAI,CAAC,aAAa,CAAC,MAAM,CAC5B,CAAA;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,KAAK,KAAK,EAAE;YACzD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAA;SACnE;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAA;YACvD,sGAAsG;YACtG,IACI,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ;gBACzC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW;gBAC/B,QAAQ,CAAC,gBAAgB,EAC3B;gBACE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB;oBACvD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,IAAI;wBAClC,GAAG;wBACH,QAAQ,CAAC,gBAAgB,CAAC,YAAY;oBACxC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAA;gBAE5C,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAA;gBAChE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aAClC;YAED,IAAI,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,oBAAoB,EAAE;gBAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB;oBACvD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,IAAI;wBAClC,GAAG;wBACH,QAAQ,CAAC,mBAAmB,CAAC,YAAY;oBAC3C,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,YAAY,CAAA;gBAE/C,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAC1C,MAAM,CACT,qCAAqC,CAAA;gBACtC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aAClC;SACJ;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,8BAA8B,EAAE;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CACvC,IAAI,CAAC,aAAa,CAAC,8BAA8B,CACpD,CAAA;YACD,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAClC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YACzB,OAAO,EAAE,CAAA;SACZ;aAAM,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,OAAO,UAAU,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;SACxC;aAAM;YACH,OAAO,YAAY,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;SAC3D;IACL,CAAC;IAED;;OAEG;IACO,yBAAyB,CAAC,aAA4B;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;QAErC,kEAAkE;QAClE,iCAAiC;QACjC,IACI,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ;YAChD,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;YACnD,MAAM,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAC/C;YACE,OAAO,CAAC,IAAI,CACR,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACzC,CAAC,CAAC,CACL,CAAA;SACJ;QAED,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,IAAI,iBAAiB,GAAG,OAAO;iBAC1B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBAC7C,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;oBACjC,IACI,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ;wBACzC,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ;wBACzC,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,aAAa;wBAC9C,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,SAAS,EAC5C;wBACE,OAAO,WAAW,GAAG,IAAI,CAAA;qBAC5B;yBAAM;wBACH,OAAO,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BACpC,GAAG;4BACH,IAAI,CACP,CAAA;qBACJ;iBACJ;qBAAM;oBACH,OAAO,IAAI,CAAA;iBACd;YACL,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAA;YAEf,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClC,iBAAiB;oBACb,QAAQ;wBACR,OAAO;6BACF,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;4BACZ,OAAO,IAAI,CAAC,eAAe,CAAC;gCACxB,IAAI,EACA,MACH,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC;gCAC1C,GAAG,EAAG,MAAuB,CAAC,MAAM,CAAC,QAAQ;6BAChD,CAAC,CAAA;wBACN,CAAC,CAAC;6BACD,IAAI,CAAC,IAAI,CAAC,CAAA;aACtB;YAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;gBACjC,IACI,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ;oBACzC,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ,EAC3C;oBACE,iBAAiB,IAAI,oBAAoB,CAAA;iBAC5C;aACJ;YAED,OAAO,iBAAiB,CAAA;SAC3B;aAAM,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ,EAAE;YACzD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAA;SACtC;QAED,OAAO,EAAE,CAAA;IACb,CAAC;IAED;;;OAGG;IACO,mBAAmB;QACzB,MAAM,OAAO,GAAqB,EAAE,CAAA;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAC7C,CAAC;YAAC,IAAI,CAAC,aAAa,CAAC,SAAsB,CAAC,OAAO,CAC/C,CAAC,UAAU,EAAE,EAAE;gBACX,IAAI,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAAE;oBAC3C,OAAO,CAAC,IAAI,CACR,GAAG,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAC,2BAA2B,CACjE,UAAU,CACb,CACJ,CAAA;iBACJ;YACL,CAAC,CACJ,CAAA;SACJ;QACD,OAAO,OAAO,CAAA;IAClB,CAAC;IAES,4BAA4B,CAAC,OAAsB;QACzD,OAAO,OAAO;aACT,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,8BAA8B,CAClD,MAAM,CAAC,SAAS,CACnB,CAAA;YAED,QAAQ,MAAM,CAAC,IAAI,EAAE;gBACjB,KAAK,KAAK;oBACN,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAA;gBACjD,KAAK,IAAI;oBACL,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAA;aACnD;YAED,OAAO,UAAU,CAAA;QACrB,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE,CAAA;IACf,CAAC;IAED;;OAEG;IACO,8BAA8B,CACpC,SAA+B,EAC/B,aAAsB,KAAK;QAE3B,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAEnD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,OAAO,KAAK,CAAA;aACf;YAED,gEAAgE;YAChE,yDAAyD;YACzD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;gBACvC,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAA;aACtD;YAED,OAAO,GAAG,GAAG,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,GAAG,GAAG,CAAA;SAClE;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAElC,QAAQ,SAAS,CAAC,QAAQ,EAAE;YACxB,KAAK,UAAU;gBACX,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YACpE,KAAK,iBAAiB;gBAClB,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YACrE,KAAK,UAAU;gBACX,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YACpE,KAAK,iBAAiB;gBAClB,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YACrE,KAAK,UAAU;gBACX,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YACrE,KAAK,OAAO;gBACR,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YACpE,KAAK,OAAO;gBACR,IACI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU;oBAClC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,EACvC;oBACE,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;iBACvE;gBAED,OAAO,SAAS,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAA;YACrF,KAAK,MAAM;gBACP,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YACvE,KAAK,SAAS;gBACV,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YACzG,KAAK,IAAI;gBACL,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClC,OAAO,KAAK,CAAA;iBACf;gBACD,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,UAAU;qBACxD,KAAK,CAAC,CAAC,CAAC;qBACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;YACtB,KAAK,KAAK;gBACN,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAA;YACzE,KAAK,QAAQ;gBACT,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;YAE/C,KAAK,KAAK;gBACN,OAAO,OAAO,IAAI,CAAC,8BAA8B,CAC7C,SAAS,CAAC,SAAS,CACtB,GAAG,CAAA;YACR,KAAK,UAAU;gBACX,OAAO,GAAG,IAAI,CAAC,8BAA8B,CACzC,SAAS,CAAC,SAAS,EACnB,IAAI,CACP,EAAE,CAAA;SACV;QAED,MAAM,IAAI,SAAS,CACf,4BAA4B,2BAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAC9D,CAAA;IACL,CAAC;IAED;;OAEG;IACO,sBAAsB,CAC5B,GAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAA;QACvD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC7D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CACjC,CAAA;QAED,mDAAmD;QACnD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;YAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;YAEhD,yDAAyD;YACzD,2DAA2D;YAC3D,2EAA2E;YAC3E,IACI,CAAC,aAAa,CAAC,WAAW;gBAC1B,CAAC,aAAa,CAAC,gBAAgB;gBAC/B,CAAC,aAAa,CAAC,gBAAgB,EACjC;gBACE,OAAO;oBACH,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,IAAA,OAAE,EAC5B,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAClB,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAC1C,CACJ;iBACJ,CAAA;aACJ;SACJ;QAED,OAAO,IAAI,mBAAQ,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;gBAC3B,EAAE,CAAC,OAAO,CAAC,IAAI,mBAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACnD;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,0BAA0B,CAC9B,YAAoB;QAEpB,mDAAmD;QACnD,+DAA+D;QAE/D,oDAAoD;QACpD,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAA;QACxC,MAAM,IAAI,GAAa,EAAE,CAAA;QACzB,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEjD,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAEjC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAA,EAAE;gBACrB,iDAAiD;gBACjD,0CAA0C;gBAC1C,MAAK;aACR;YAED,IAAI,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE;gBAClD,+EAA+E;gBAC/E,yFAAyF;gBACzF,sBAAsB;gBACtB,iBAAiB,CAAC,OAAO,CACrB,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAC9D,CAAA;gBACD,SAAQ;aACX;YAED,IAAI,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE;gBAClD,wDAAwD;gBACxD,uDAAuD;gBACvD,oBAAoB;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CACnD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,KAAK,IAAI,CACvD,CAAA;gBAED,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,EAAE;oBAClB,MAAM,gBAAgB,GAClB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;oBACxD,MAAM,IAAI,KAAK,CACX,qCAAqC,gBAAgB,EAAE,CAC1D,CAAA;iBACJ;gBAED,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;gBACtB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC7B,iBAAiB,CAAC,KAAK,EAAE,CAAA;gBACzB,SAAQ;aACX;YAED,MAAK;SACR;QAED,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAA;SACpE;QAED,8EAA8E;QAC9E,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAErD,MAAM,OAAO,GACT,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,CAAA;QAEjE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,MAAM,IAAI,yDAA2B,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;SACtE;QAED,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACO,kBAAkB,CACxB,QAAwB,EACxB,MAAqB,EACrB,SAAiB,EAAE;QAEnB,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;YAE9C,iEAAiE;YACjE,2FAA2F;YAC3F,IACI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI;gBACpB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ;gBAC/B,iCAAe,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAC7C;gBACE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChB,SAAQ;aACX;YAED,IAAI,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE;gBAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CACpC,QAAQ,EACR,MAAM,CAAC,GAAG,CAAC,EACX,IAAI,CACP,CAAA;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;gBACvB,SAAQ;aACX;YAED,IAAI,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE;gBAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAE,CAAA;gBAE7D,+EAA+E;gBAC/E,qFAAqF;gBACrF,iDAAiD;gBAEjD,qFAAqF;gBACrF,gFAAgF;gBAChF,iEAAiE;gBACjE,IACI,QAAQ,CAAC,YAAY,KAAK,YAAY;oBACtC,QAAQ,CAAC,YAAY,KAAK,aAAa,EACzC;oBACE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW;yBACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;yBAC9B,MAAM,CAAC,CAAC,CAAC,EAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAE5C,MAAM,iBAAiB,GACnB,WAAW,CAAC,MAAM,GAAG,CAAC;wBACtB,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CACzB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAC5C,CAAA;oBAEL,IAAI,iBAAiB,EAAE;wBACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAChB,SAAQ;qBACX;iBACJ;gBAED,IACI,QAAQ,CAAC,YAAY,KAAK,aAAa;oBACvC,QAAQ,CAAC,YAAY,KAAK,cAAc,EAC1C;oBACE,MAAM,IAAI,KAAK,CACX,uBAAuB,QAAQ,CAAC,YAAY,iBAAiB,IAAI,EAAE,CACtE,CAAA;iBACJ;gBAED,wFAAwF;gBACxF,oFAAoF;gBACpF,2BAA2B;gBAC3B,oFAAoF;gBACpF,gBAAgB;gBAChB,MAAM,cAAc,GAChB,QAAQ,CAAC,qBAAqB,CAAC,cAAc,CAAA;gBACjD,MAAM,iBAAiB,GACnB,cAAc,CAAC,MAAM,GAAG,CAAC;oBACzB,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5B,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAC5C,CAAA;gBAEL,IAAI,iBAAiB,EAAE;oBACnB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAC/B,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAC/C,CAAA;oBACD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;oBACvB,SAAQ;iBACX;gBAED,yEAAyE;gBACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CACpC,QAAQ,CAAC,qBAAqB,EAC9B,MAAM,CAAC,GAAG,CAAC,CACd,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;gBACvB,SAAQ;aACX;YAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACnB;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAES,CAAC,aAAa,CAAC,KAAoB;QACzC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAAE;YAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CACzC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,EACtC,KAAK,CACR,CAAA;YAED,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;gBACtC,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,GACrC,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAA;gBAEjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC1B,IAAI,cAAc,GAAG,KAAK,CAAA;oBAE1B,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE;wBAClC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE;4BAC9C,cAAc,GAAG,EAAE,CAAA;4BACnB,MAAK;yBACR;wBAED,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;qBACxC;oBAED,4DAA4D;oBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa;yBAC/B,yBAAyB;wBAC1B,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE;wBACxC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;oBAEzB,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CACxC,cAAc,EACd,IAAI,CACP,CAAA;oBAED,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;iBACpC;aACJ;SACJ;aAAM;YACH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAClC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB;oBAC1D,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;oBACxB,CAAC,CAAC,GAAG,CAAA;gBAET,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;aACpC;SACJ;IACL,CAAC;IAES,0BAA0B,CAChC,SAAiB,EACjB,cAAmB;QAEnB,IAAI,iCAAe,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;YAChD,IAAI,UAAU,GAAU,EAAE,CAAA;YAC1B,IAAI,cAAc,CAAC,YAAY,EAAE;gBAC7B,IAAI,cAAc,CAAC,uBAAuB,EAAE;oBACxC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAA;iBAC7D;qBAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE;oBAC1C,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE;wBAClC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;qBAC3C;iBACJ;qBAAM;oBACH,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;iBAC9D;aACJ;YAED,IAAI,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE;gBAC/B,IAAI,cAAc,CAAC,MAAM,EAAE;oBACvB,OAAO,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;iBAC1C;qBAAM;oBACH,OAAO;wBACH,QAAQ,EAAE,OAAO;wBACjB,UAAU,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC;qBAChD,CAAA;iBACJ;aACJ;iBAAM,IAAI,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE;gBACtC,IAAI,cAAc,CAAC,KAAK,EAAE;oBACtB,OAAO;wBACH,QAAQ,EAAE,cAAc,CAAC,IAAI;wBAC7B,SAAS,EAAE,IAAI,CAAC,0BAA0B,CACtC,SAAS,EACT,cAAc,CAAC,KAAK,CACvB;qBACJ,CAAA;iBACJ;qBAAM;oBACH,OAAO;wBACH,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC;qBACzC,CAAA;iBACJ;aACJ;iBAAM;gBACH,OAAO;oBACH,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,UAAU,EAAE,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC;iBACzC,CAAA;aACJ;YACD,wCAAwC;YACxC,eAAe;YACf,8BAA8B;YAC9B,wBAAwB;YACxB,yBAAyB;YACzB,YAAY;YACZ,SAAS;SACZ;aAAM;YACH,OAAO;gBACH,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;aAChE,CAAA;SACJ;IACL,CAAC;IAES,iBAAiB,CACvB,KAMqB;QAErB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,KAAK,CAAA;SACf;QAED,IAAI,iCAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAEnD,iBAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAA;YAE3C,iBAAiB,CAAC,aAAa,CAAC,SAAS;gBACrC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAA;YAChC,iBAAiB,CAAC,aAAa,CAAC,yBAAyB;gBACrD,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAA;YAChD,iBAAiB,CAAC,aAAa,CAAC,UAAU;gBACtC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA;YACjC,iBAAiB,CAAC,aAAa,CAAC,gBAAgB;gBAC5C,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAA;YAEvC,iBAAiB,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE,CAAA;YAE3C,KAAK,CAAC,YAAY,CAAC,iBAAwB,CAAC,CAAA;YAE5C,OAAO;gBACH,QAAQ,EAAE,iCAAe,CAAC,aAAa,CAAC,KAAK,CAAC;oBAC1C,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,UAAU;gBAChB,SAAS,EAAE,iBAAiB,CAAC,aAAa,CAAC,MAAM;aACpD,CAAA;SACJ;QAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;SACrB;QAED,MAAM,MAAM,GAAoB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACtE,MAAM,OAAO,GAAkB,EAAE,CAAA;QAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,UAAU,GAAyB,EAAE,CAAA;YAE3C,wDAAwD;YACxD,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,IAAI,CAAC,aAAa,CACxD,KAAK,CACR,EAAE;gBACC,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,IAAI,CAAC,0BAA0B,CACtC,SAAS,EACT,cAAc,CACjB;iBACJ,CAAC,CAAA;aACL;YAED,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAA;SACtD;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;SAC9B;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;IAED;;OAEG;IACO,iBAAiB;QACvB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAA;IAClE,CAAC;CACJ;AAn4CD,oCAm4CC","file":"QueryBuilder.js","sourcesContent":["import { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { DataSource } from \"../data-source/DataSource\"\nimport { QueryExpressionMap } from \"./QueryExpressionMap\"\nimport { SelectQueryBuilder } from \"./SelectQueryBuilder\"\nimport { UpdateQueryBuilder } from \"./UpdateQueryBuilder\"\nimport { DeleteQueryBuilder } from \"./DeleteQueryBuilder\"\nimport { SoftDeleteQueryBuilder } from \"./SoftDeleteQueryBuilder\"\nimport { InsertQueryBuilder } from \"./InsertQueryBuilder\"\nimport { RelationQueryBuilder } from \"./RelationQueryBuilder\"\nimport { EntityTarget } from \"../common/EntityTarget\"\nimport { Alias } from \"./Alias\"\nimport { Brackets } from \"./Brackets\"\nimport { QueryDeepPartialEntity } from \"./QueryPartialEntity\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { FindOperator } from \"../find-options/FindOperator\"\nimport { In } from \"../find-options/operator/In\"\nimport { TypeORMError } from \"../error\"\nimport { WhereClause, WhereClauseCondition } from \"./WhereClause\"\nimport { NotBrackets } from \"./NotBrackets\"\nimport { EntityPropertyNotFoundError } from \"../error/EntityPropertyNotFoundError\"\nimport { ReturningType } from \"../driver/Driver\"\nimport { OracleDriver } from \"../driver/oracle/OracleDriver\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\n\n// todo: completely cover query builder with tests\n// todo: entityOrProperty can be target name. implement proper behaviour if it is.\n// todo: check in persistment if id exist on object and throw exception (can be in partial selection?)\n// todo: fix problem with long aliases eg getMaxIdentifierLength\n// todo: fix replacing in .select(\"COUNT(post.id) AS cnt\") statement\n// todo: implement joinAlways in relations and relationId\n// todo: finish partial selection\n// todo: sugar methods like: .addCount and .selectCount, selectCountAndMap, selectSum, selectSumAndMap, ...\n// todo: implement @Select decorator\n// todo: add select and map functions\n\n// todo: implement relation/entity loading and setting them into properties within a separate query\n// .loadAndMap(\"post.categories\", \"post.categories\", qb => ...)\n// .loadAndMap(\"post.categories\", Category, qb => ...)\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport abstract class QueryBuilder<Entity> {\n readonly \"@instanceof\" = Symbol.for(\"QueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection on which QueryBuilder was created.\n */\n readonly connection: DataSource\n\n /**\n * Contains all properties of the QueryBuilder that needs to be build a final query.\n */\n readonly expressionMap: QueryExpressionMap\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Query runner used to execute query builder query.\n */\n protected queryRunner?: QueryRunner\n\n /**\n * If QueryBuilder was created in a subquery mode then its parent QueryBuilder (who created subquery) will be stored here.\n */\n protected parentQueryBuilder: QueryBuilder<any>\n\n /**\n * Memo to help keep place of current parameter index for `createParameter`\n */\n private parameterIndex = 0\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(queryBuilder: QueryBuilder<any>)\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(connection: DataSource, queryRunner?: QueryRunner)\n\n /**\n * QueryBuilder can be initialized from given Connection and QueryRunner objects or from given other QueryBuilder.\n */\n constructor(\n connectionOrQueryBuilder: DataSource | QueryBuilder<any>,\n queryRunner?: QueryRunner,\n ) {\n if (InstanceChecker.isQueryBuilder(connectionOrQueryBuilder)) {\n this.connection = connectionOrQueryBuilder.connection\n this.queryRunner = connectionOrQueryBuilder.queryRunner\n this.expressionMap = connectionOrQueryBuilder.expressionMap.clone()\n } else {\n this.connection = connectionOrQueryBuilder\n this.queryRunner = queryRunner\n this.expressionMap = new QueryExpressionMap(this.connection)\n }\n }\n\n // -------------------------------------------------------------------------\n // Abstract Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n abstract getQuery(): string\n\n // -------------------------------------------------------------------------\n // Accessors\n // -------------------------------------------------------------------------\n\n /**\n * Gets the main alias string used in this query builder.\n */\n get alias(): string {\n if (!this.expressionMap.mainAlias)\n throw new TypeORMError(`Main alias is not set`) // todo: better exception\n\n return this.expressionMap.mainAlias.name\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates SELECT query.\n * Replaces all previous selections if they exist.\n */\n select(): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(\n selection: string,\n selectionAliasName?: string,\n ): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(selection: string[]): SelectQueryBuilder<Entity>\n\n /**\n * Creates SELECT query and selects given data.\n * Replaces all previous selections if they exist.\n */\n select(\n selection?: string | string[],\n selectionAliasName?: string,\n ): SelectQueryBuilder<Entity> {\n this.expressionMap.queryType = \"select\"\n if (Array.isArray(selection)) {\n this.expressionMap.selects = selection.map((selection) => ({\n selection: selection,\n }))\n } else if (selection) {\n this.expressionMap.selects = [\n { selection: selection, aliasName: selectionAliasName },\n ]\n }\n\n // loading it dynamically because of circular issue\n const SelectQueryBuilderCls =\n require(\"./SelectQueryBuilder\").SelectQueryBuilder\n if (InstanceChecker.isSelectQueryBuilder(this)) return this as any\n\n return new SelectQueryBuilderCls(this)\n }\n\n /**\n * Creates INSERT query.\n */\n insert(): InsertQueryBuilder<Entity> {\n this.expressionMap.queryType = \"insert\"\n\n // loading it dynamically because of circular issue\n const InsertQueryBuilderCls =\n require(\"./InsertQueryBuilder\").InsertQueryBuilder\n if (InstanceChecker.isInsertQueryBuilder(this)) return this as any\n\n return new InsertQueryBuilderCls(this)\n }\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(\n updateSet: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query for the given entity and applies given update values.\n */\n update<Entity>(\n entity: EntityTarget<Entity>,\n updateSet?: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query for the given table name and applies given update values.\n */\n update(\n tableName: string,\n updateSet?: QueryDeepPartialEntity<Entity>,\n ): UpdateQueryBuilder<Entity>\n\n /**\n * Creates UPDATE query and applies given update values.\n */\n update(\n entityOrTableNameUpdateSet?: EntityTarget<any> | ObjectLiteral,\n maybeUpdateSet?: ObjectLiteral,\n ): UpdateQueryBuilder<any> {\n const updateSet = maybeUpdateSet\n ? maybeUpdateSet\n : (entityOrTableNameUpdateSet as ObjectLiteral | undefined)\n entityOrTableNameUpdateSet = InstanceChecker.isEntitySchema(\n entityOrTableNameUpdateSet,\n )\n ? entityOrTableNameUpdateSet.options.name\n : entityOrTableNameUpdateSet\n\n if (\n typeof entityOrTableNameUpdateSet === \"function\" ||\n typeof entityOrTableNameUpdateSet === \"string\"\n ) {\n const mainAlias = this.createFromAlias(entityOrTableNameUpdateSet)\n this.expressionMap.setMainAlias(mainAlias)\n }\n\n this.expressionMap.queryType = \"update\"\n this.expressionMap.valuesSet = updateSet\n\n // loading it dynamically because of circular issue\n const UpdateQueryBuilderCls =\n require(\"./UpdateQueryBuilder\").UpdateQueryBuilder\n if (InstanceChecker.isUpdateQueryBuilder(this)) return this as any\n\n return new UpdateQueryBuilderCls(this)\n }\n\n /**\n * Creates DELETE query.\n */\n delete(): DeleteQueryBuilder<Entity> {\n this.expressionMap.queryType = \"delete\"\n\n // loading it dynamically because of circular issue\n const DeleteQueryBuilderCls =\n require(\"./DeleteQueryBuilder\").DeleteQueryBuilder\n if (InstanceChecker.isDeleteQueryBuilder(this)) return this as any\n\n return new DeleteQueryBuilderCls(this)\n }\n\n softDelete(): SoftDeleteQueryBuilder<any> {\n this.expressionMap.queryType = \"soft-delete\"\n\n // loading it dynamically because of circular issue\n const SoftDeleteQueryBuilderCls =\n require(\"./SoftDeleteQueryBuilder\").SoftDeleteQueryBuilder\n if (InstanceChecker.isSoftDeleteQueryBuilder(this)) return this as any\n\n return new SoftDeleteQueryBuilderCls(this)\n }\n\n restore(): SoftDeleteQueryBuilder<any> {\n this.expressionMap.queryType = \"restore\"\n\n // loading it dynamically because of circular issue\n const SoftDeleteQueryBuilderCls =\n require(\"./SoftDeleteQueryBuilder\").SoftDeleteQueryBuilder\n if (InstanceChecker.isSoftDeleteQueryBuilder(this)) return this as any\n\n return new SoftDeleteQueryBuilderCls(this)\n }\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation(propertyPath: string): RelationQueryBuilder<Entity>\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation<T>(\n entityTarget: EntityTarget<T>,\n propertyPath: string,\n ): RelationQueryBuilder<T>\n\n /**\n * Sets entity's relation with which this query builder gonna work.\n */\n relation(\n entityTargetOrPropertyPath: Function | string,\n maybePropertyPath?: string,\n ): RelationQueryBuilder<Entity> {\n const entityTarget =\n arguments.length === 2 ? entityTargetOrPropertyPath : undefined\n const propertyPath =\n arguments.length === 2\n ? (maybePropertyPath as string)\n : (entityTargetOrPropertyPath as string)\n\n this.expressionMap.queryType = \"relation\"\n this.expressionMap.relationPropertyPath = propertyPath\n\n if (entityTarget) {\n const mainAlias = this.createFromAlias(entityTarget)\n this.expressionMap.setMainAlias(mainAlias)\n }\n\n // loading it dynamically because of circular issue\n const RelationQueryBuilderCls =\n require(\"./RelationQueryBuilder\").RelationQueryBuilder\n if (InstanceChecker.isRelationQueryBuilder(this)) return this as any\n\n return new RelationQueryBuilderCls(this)\n }\n\n /**\n * Checks if given relation exists in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: EntityTarget<T>, relation: string): boolean\n\n /**\n * Checks if given relations exist in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(target: EntityTarget<T>, relation: string[]): boolean\n\n /**\n * Checks if given relation or relations exist in the entity.\n * Returns true if relation exists, false otherwise.\n *\n * todo: move this method to manager? or create a shortcut?\n */\n hasRelation<T>(\n target: EntityTarget<T>,\n relation: string | string[],\n ): boolean {\n const entityMetadata = this.connection.getMetadata(target)\n const relations = Array.isArray(relation) ? relation : [relation]\n return relations.every((relation) => {\n return !!entityMetadata.findRelationWithPropertyPath(relation)\n })\n }\n\n /**\n * Check the existence of a parameter for this query builder.\n */\n hasParameter(key: string): boolean {\n return (\n this.parentQueryBuilder?.hasParameter(key) ||\n key in this.expressionMap.parameters\n )\n }\n\n /**\n * Sets parameter name and its value.\n *\n * The key for this parametere may contain numbers, letters, underscores, or periods.\n */\n setParameter(key: string, value: any): this {\n if (typeof value === \"function\") {\n throw new TypeORMError(\n `Function parameter isn't supported in the parameters. Please check \"${key}\" parameter.`,\n )\n }\n\n if (!key.match(/^([A-Za-z0-9_.]+)$/)) {\n throw new TypeORMError(\n \"QueryBuilder parameter keys may only contain numbers, letters, underscores, or periods.\",\n )\n }\n\n if (this.parentQueryBuilder) {\n this.parentQueryBuilder.setParameter(key, value)\n }\n\n this.expressionMap.parameters[key] = value\n return this\n }\n\n /**\n * Adds all parameters from the given object.\n */\n setParameters(parameters: ObjectLiteral): this {\n for (const [key, value] of Object.entries(parameters)) {\n this.setParameter(key, value)\n }\n\n return this\n }\n\n protected createParameter(value: any): string {\n let parameterName\n\n do {\n parameterName = `orm_param_${this.parameterIndex++}`\n } while (this.hasParameter(parameterName))\n\n this.setParameter(parameterName, value)\n\n return `:${parameterName}`\n }\n\n /**\n * Adds native parameters from the given object.\n *\n * @deprecated Use `setParameters` instead\n */\n setNativeParameters(parameters: ObjectLiteral): this {\n // set parent query builder parameters as well in sub-query mode\n if (this.parentQueryBuilder) {\n this.parentQueryBuilder.setNativeParameters(parameters)\n }\n\n Object.keys(parameters).forEach((key) => {\n this.expressionMap.nativeParameters[key] = parameters[key]\n })\n return this\n }\n\n /**\n * Gets all parameters.\n */\n getParameters(): ObjectLiteral {\n const parameters: ObjectLiteral = Object.assign(\n {},\n this.expressionMap.parameters,\n )\n\n // add discriminator column parameter if it exist\n if (\n this.expressionMap.mainAlias &&\n this.expressionMap.mainAlias.hasMetadata\n ) {\n const metadata = this.expressionMap.mainAlias!.metadata\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const values = metadata.childEntityMetadatas\n .filter(\n (childMetadata) => childMetadata.discriminatorColumn,\n )\n .map((childMetadata) => childMetadata.discriminatorValue)\n values.push(metadata.discriminatorValue)\n parameters[\"discriminatorColumnValues\"] = values\n }\n }\n\n return parameters\n }\n\n /**\n * Prints sql to stdout using console.log.\n */\n printSql(): this {\n // TODO rename to logSql()\n const [query, parameters] = this.getQueryAndParameters()\n this.connection.logger.logQuery(query, parameters)\n return this\n }\n\n /**\n * Gets generated sql that will be executed.\n * Parameters in the query are escaped for the currently used driver.\n */\n getSql(): string {\n return this.getQueryAndParameters()[0]\n }\n\n /**\n * Gets query to be executed with all parameters used in it.\n */\n getQueryAndParameters(): [string, any[]] {\n // this execution order is important because getQuery method generates this.expressionMap.nativeParameters values\n const query = this.getQuery()\n const parameters = this.getParameters()\n return this.connection.driver.escapeQueryWithParameters(\n query,\n parameters,\n this.expressionMap.nativeParameters,\n )\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<any> {\n const [sql, parameters] = this.getQueryAndParameters()\n const queryRunner = this.obtainQueryRunner()\n try {\n return await queryRunner.query(sql, parameters) // await is needed here because we are using finally\n } finally {\n if (queryRunner !== this.queryRunner) {\n // means we created our own query runner\n await queryRunner.release()\n }\n }\n }\n\n /**\n * Creates a completely new query builder.\n * Uses same query runner as current QueryBuilder.\n */\n createQueryBuilder(): this {\n return new (this.constructor as any)(this.connection, this.queryRunner)\n }\n\n /**\n * Clones query builder as it is.\n * Note: it uses new query runner, if you want query builder that uses exactly same query runner,\n * you can create query builder using its constructor, for example new SelectQueryBuilder(queryBuilder)\n * where queryBuilder is cloned QueryBuilder.\n */\n clone(): this {\n return new (this.constructor as any)(this)\n }\n\n /**\n * Includes a Query comment in the query builder. This is helpful for debugging purposes,\n * such as finding a specific query in the database server's logs, or for categorization using\n * an APM product.\n */\n comment(comment: string): this {\n this.expressionMap.comment = comment\n return this\n }\n\n /**\n * Disables escaping.\n */\n disableEscaping(): this {\n this.expressionMap.disableEscaping = false\n return this\n }\n\n /**\n * Escapes table name, column name or alias name using current database's escaping character.\n */\n escape(name: string): string {\n if (!this.expressionMap.disableEscaping) return name\n return this.connection.driver.escape(name)\n }\n\n /**\n * Sets or overrides query builder's QueryRunner.\n */\n setQueryRunner(queryRunner: QueryRunner): this {\n this.queryRunner = queryRunner\n return this\n }\n\n /**\n * Indicates if listeners and subscribers must be called before and after query execution.\n * Enabled by default.\n */\n callListeners(enabled: boolean): this {\n this.expressionMap.callListeners = enabled\n return this\n }\n\n /**\n * If set to true the query will be wrapped into a transaction.\n */\n useTransaction(enabled: boolean): this {\n this.expressionMap.useTransaction = enabled\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets escaped table name with schema name if SqlServer driver used with custom\n * schema name, otherwise returns escaped table name.\n */\n protected getTableName(tablePath: string): string {\n return tablePath\n .split(\".\")\n .map((i) => {\n // this condition need because in SQL Server driver when custom database name was specified and schema name was not, we got `dbName..tableName` string, and doesn't need to escape middle empty string\n if (i === \"\") return i\n return this.escape(i)\n })\n .join(\".\")\n }\n\n /**\n * Gets name of the table where insert should be performed.\n */\n protected getMainTableName(): string {\n if (!this.expressionMap.mainAlias)\n throw new TypeORMError(\n `Entity where values should be inserted is not specified. Call \"qb.into(entity)\" method to specify it.`,\n )\n\n if (this.expressionMap.mainAlias.hasMetadata)\n return this.expressionMap.mainAlias.metadata.tablePath\n\n return this.expressionMap.mainAlias.tablePath!\n }\n\n /**\n * Specifies FROM which entity's table select/update/delete will be executed.\n * Also sets a main string alias of the selection data.\n */\n protected createFromAlias(\n entityTarget:\n | EntityTarget<any>\n | ((qb: SelectQueryBuilder<any>) => SelectQueryBuilder<any>),\n aliasName?: string,\n ): Alias {\n // if table has a metadata then find it to properly escape its properties\n // const metadata = this.connection.entityMetadatas.find(metadata => metadata.tableName === tableName);\n if (this.connection.hasMetadata(entityTarget)) {\n const metadata = this.connection.getMetadata(entityTarget)\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n metadata: this.connection.getMetadata(entityTarget),\n tablePath: metadata.tablePath,\n })\n } else {\n if (typeof entityTarget === \"string\") {\n const isSubquery =\n entityTarget.substr(0, 1) === \"(\" &&\n entityTarget.substr(-1) === \")\"\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n tablePath: !isSubquery\n ? (entityTarget as string)\n : undefined,\n subQuery: isSubquery ? entityTarget : undefined,\n })\n }\n\n const subQueryBuilder: SelectQueryBuilder<any> = (\n entityTarget as any\n )((this as any as SelectQueryBuilder<any>).subQuery())\n this.setParameters(subQueryBuilder.getParameters())\n const subquery = subQueryBuilder.getQuery()\n\n return this.expressionMap.createAlias({\n type: \"from\",\n name: aliasName,\n subQuery: subquery,\n })\n }\n }\n\n /**\n * Replaces all entity's propertyName to name in the given statement.\n */\n protected replacePropertyNames(statement: string) {\n // Escape special characters in regular expressions\n // Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping\n const escapeRegExp = (s: String) =>\n s.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n\n for (const alias of this.expressionMap.aliases) {\n if (!alias.hasMetadata) continue\n const replaceAliasNamePrefix = this.expressionMap\n .aliasNamePrefixingEnabled\n ? `${alias.name}.`\n : \"\"\n const replacementAliasNamePrefix = this.expressionMap\n .aliasNamePrefixingEnabled\n ? `${this.escape(alias.name)}.`\n : \"\"\n\n const replacements: { [key: string]: string } = {}\n\n // Insert & overwrite the replacements from least to most relevant in our replacements object.\n // To do this we iterate and overwrite in the order of relevance.\n // Least to Most Relevant:\n // * Relation Property Path to first join column key\n // * Relation Property Path + Column Path\n // * Column Database Name\n // * Column Propety Name\n // * Column Property Path\n\n for (const relation of alias.metadata.relations) {\n if (relation.joinColumns.length > 0)\n replacements[relation.propertyPath] =\n relation.joinColumns[0].databaseName\n }\n\n for (const relation of alias.metadata.relations) {\n for (const joinColumn of [\n ...relation.joinColumns,\n ...relation.inverseJoinColumns,\n ]) {\n const propertyKey = `${relation.propertyPath}.${\n joinColumn.referencedColumn!.propertyPath\n }`\n replacements[propertyKey] = joinColumn.databaseName\n }\n }\n\n for (const column of alias.metadata.columns) {\n replacements[column.databaseName] = column.databaseName\n }\n\n for (const column of alias.metadata.columns) {\n replacements[column.propertyName] = column.databaseName\n }\n\n for (const column of alias.metadata.columns) {\n replacements[column.propertyPath] = column.databaseName\n }\n\n const replacementKeys = Object.keys(replacements)\n\n if (replacementKeys.length) {\n statement = statement.replace(\n new RegExp(\n // Avoid a lookbehind here since it's not well supported\n `([ =\\(]|^.{0})` +\n `${escapeRegExp(\n replaceAliasNamePrefix,\n )}(${replacementKeys\n .map(escapeRegExp)\n .join(\"|\")})` +\n `(?=[ =\\)\\,]|.{0}$)`,\n \"gm\",\n ),\n (_, pre, p) =>\n `${pre}${replacementAliasNamePrefix}${this.escape(\n replacements[p],\n )}`,\n )\n }\n }\n\n return statement\n }\n\n protected createComment(): string {\n if (!this.expressionMap.comment) {\n return \"\"\n }\n\n // ANSI SQL 2003 support C style comments - comments that start with `/*` and end with `*/`\n // In some dialects query nesting is available - but not all. Because of this, we'll need\n // to scrub \"ending\" characters from the SQL but otherwise we can leave everything else\n // as-is and it should be valid.\n\n return `/* ${this.expressionMap.comment.replace(\"*/\", \"\")} */ `\n }\n\n /**\n * Creates \"WHERE\" expression.\n */\n protected createWhereExpression() {\n const conditionsArray = []\n\n const whereExpression = this.createWhereClausesExpression(\n this.expressionMap.wheres,\n )\n\n if (whereExpression.length > 0 && whereExpression !== \"1=1\") {\n conditionsArray.push(this.replacePropertyNames(whereExpression))\n }\n\n if (this.expressionMap.mainAlias!.hasMetadata) {\n const metadata = this.expressionMap.mainAlias!.metadata\n // Adds the global condition of \"non-deleted\" for the entity with delete date columns in select query.\n if (\n this.expressionMap.queryType === \"select\" &&\n !this.expressionMap.withDeleted &&\n metadata.deleteDateColumn\n ) {\n const column = this.expressionMap.aliasNamePrefixingEnabled\n ? this.expressionMap.mainAlias!.name +\n \".\" +\n metadata.deleteDateColumn.propertyName\n : metadata.deleteDateColumn.propertyName\n\n const condition = `${this.replacePropertyNames(column)} IS NULL`\n conditionsArray.push(condition)\n }\n\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const column = this.expressionMap.aliasNamePrefixingEnabled\n ? this.expressionMap.mainAlias!.name +\n \".\" +\n metadata.discriminatorColumn.databaseName\n : metadata.discriminatorColumn.databaseName\n\n const condition = `${this.replacePropertyNames(\n column,\n )} IN (:...discriminatorColumnValues)`\n conditionsArray.push(condition)\n }\n }\n\n if (this.expressionMap.extraAppendedAndWhereCondition) {\n const condition = this.replacePropertyNames(\n this.expressionMap.extraAppendedAndWhereCondition,\n )\n conditionsArray.push(condition)\n }\n\n if (!conditionsArray.length) {\n return \"\"\n } else if (conditionsArray.length === 1) {\n return ` WHERE ${conditionsArray[0]}`\n } else {\n return ` WHERE ( ${conditionsArray.join(\" ) AND ( \")} )`\n }\n }\n\n /**\n * Creates \"RETURNING\" / \"OUTPUT\" expression.\n */\n protected createReturningExpression(returningType: ReturningType): string {\n const columns = this.getReturningColumns()\n const driver = this.connection.driver\n\n // also add columns we must auto-return to perform entity updation\n // if user gave his own returning\n if (\n typeof this.expressionMap.returning !== \"string\" &&\n this.expressionMap.extraReturningColumns.length > 0 &&\n driver.isReturningSqlSupported(returningType)\n ) {\n columns.push(\n ...this.expressionMap.extraReturningColumns.filter((column) => {\n return columns.indexOf(column) === -1\n }),\n )\n }\n\n if (columns.length) {\n let columnsExpression = columns\n .map((column) => {\n const name = this.escape(column.databaseName)\n if (driver.options.type === \"mssql\") {\n if (\n this.expressionMap.queryType === \"insert\" ||\n this.expressionMap.queryType === \"update\" ||\n this.expressionMap.queryType === \"soft-delete\" ||\n this.expressionMap.queryType === \"restore\"\n ) {\n return \"INSERTED.\" + name\n } else {\n return (\n this.escape(this.getMainTableName()) +\n \".\" +\n name\n )\n }\n } else {\n return name\n }\n })\n .join(\", \")\n\n if (driver.options.type === \"oracle\") {\n columnsExpression +=\n \" INTO \" +\n columns\n .map((column) => {\n return this.createParameter({\n type: (\n driver as OracleDriver\n ).columnTypeToNativeParameter(column.type),\n dir: (driver as OracleDriver).oracle.BIND_OUT,\n })\n })\n .join(\", \")\n }\n\n if (driver.options.type === \"mssql\") {\n if (\n this.expressionMap.queryType === \"insert\" ||\n this.expressionMap.queryType === \"update\"\n ) {\n columnsExpression += \" INTO @OutputTable\"\n }\n }\n\n return columnsExpression\n } else if (typeof this.expressionMap.returning === \"string\") {\n return this.expressionMap.returning\n }\n\n return \"\"\n }\n\n /**\n * If returning / output cause is set to array of column names,\n * then this method will return all column metadatas of those column names.\n */\n protected getReturningColumns(): ColumnMetadata[] {\n const columns: ColumnMetadata[] = []\n if (Array.isArray(this.expressionMap.returning)) {\n ;(this.expressionMap.returning as string[]).forEach(\n (columnName) => {\n if (this.expressionMap.mainAlias!.hasMetadata) {\n columns.push(\n ...this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(\n columnName,\n ),\n )\n }\n },\n )\n }\n return columns\n }\n\n protected createWhereClausesExpression(clauses: WhereClause[]): string {\n return clauses\n .map((clause, index) => {\n const expression = this.createWhereConditionExpression(\n clause.condition,\n )\n\n switch (clause.type) {\n case \"and\":\n return (index > 0 ? \"AND \" : \"\") + expression\n case \"or\":\n return (index > 0 ? \"OR \" : \"\") + expression\n }\n\n return expression\n })\n .join(\" \")\n .trim()\n }\n\n /**\n * Computes given where argument - transforms to a where string all forms it can take.\n */\n protected createWhereConditionExpression(\n condition: WhereClauseCondition,\n alwaysWrap: boolean = false,\n ): string {\n if (typeof condition === \"string\") return condition\n\n if (Array.isArray(condition)) {\n if (condition.length === 0) {\n return \"1=1\"\n }\n\n // In the future we should probably remove this entire condition\n // but for now to prevent any breaking changes it exists.\n if (condition.length === 1 && !alwaysWrap) {\n return this.createWhereClausesExpression(condition)\n }\n\n return \"(\" + this.createWhereClausesExpression(condition) + \")\"\n }\n\n const { driver } = this.connection\n\n switch (condition.operator) {\n case \"lessThan\":\n return `${condition.parameters[0]} < ${condition.parameters[1]}`\n case \"lessThanOrEqual\":\n return `${condition.parameters[0]} <= ${condition.parameters[1]}`\n case \"moreThan\":\n return `${condition.parameters[0]} > ${condition.parameters[1]}`\n case \"moreThanOrEqual\":\n return `${condition.parameters[0]} >= ${condition.parameters[1]}`\n case \"notEqual\":\n return `${condition.parameters[0]} != ${condition.parameters[1]}`\n case \"equal\":\n return `${condition.parameters[0]} = ${condition.parameters[1]}`\n case \"ilike\":\n if (\n driver.options.type === \"postgres\" ||\n driver.options.type === \"cockroachdb\"\n ) {\n return `${condition.parameters[0]} ILIKE ${condition.parameters[1]}`\n }\n\n return `UPPER(${condition.parameters[0]}) LIKE UPPER(${condition.parameters[1]})`\n case \"like\":\n return `${condition.parameters[0]} LIKE ${condition.parameters[1]}`\n case \"between\":\n return `${condition.parameters[0]} BETWEEN ${condition.parameters[1]} AND ${condition.parameters[2]}`\n case \"in\":\n if (condition.parameters.length <= 1) {\n return \"0=1\"\n }\n return `${condition.parameters[0]} IN (${condition.parameters\n .slice(1)\n .join(\", \")})`\n case \"any\":\n return `${condition.parameters[0]} = ANY(${condition.parameters[1]})`\n case \"isNull\":\n return `${condition.parameters[0]} IS NULL`\n\n case \"not\":\n return `NOT(${this.createWhereConditionExpression(\n condition.condition,\n )})`\n case \"brackets\":\n return `${this.createWhereConditionExpression(\n condition.condition,\n true,\n )}`\n }\n\n throw new TypeError(\n `Unsupported FindOperator ${FindOperator.constructor.name}`,\n )\n }\n\n /**\n * Creates \"WHERE\" condition for an in-ids condition.\n */\n protected getWhereInIdsCondition(\n ids: any | any[],\n ): ObjectLiteral | Brackets {\n const metadata = this.expressionMap.mainAlias!.metadata\n const normalized = (Array.isArray(ids) ? ids : [ids]).map((id) =>\n metadata.ensureEntityIdMap(id),\n )\n\n // using in(...ids) for single primary key entities\n if (!metadata.hasMultiplePrimaryKeys) {\n const primaryColumn = metadata.primaryColumns[0]\n\n // getEntityValue will try to transform `In`, it is a bug\n // todo: remove this transformer check after #2390 is fixed\n // This also fails for embedded & relation, so until that is fixed skip it.\n if (\n !primaryColumn.transformer &&\n !primaryColumn.relationMetadata &&\n !primaryColumn.embeddedMetadata\n ) {\n return {\n [primaryColumn.propertyName]: In(\n normalized.map((id) =>\n primaryColumn.getEntityValue(id, false),\n ),\n ),\n }\n }\n }\n\n return new Brackets((qb) => {\n for (const data of normalized) {\n qb.orWhere(new Brackets((qb) => qb.where(data)))\n }\n })\n }\n\n private findColumnsForPropertyPath(\n propertyPath: string,\n ): [Alias, string[], ColumnMetadata[]] {\n // Make a helper to iterate the entity & relations?\n // Use that to set the correct alias? Or the other way around?\n\n // Start with the main alias with our property paths\n let alias = this.expressionMap.mainAlias\n const root: string[] = []\n const propertyPathParts = propertyPath.split(\".\")\n\n while (propertyPathParts.length > 1) {\n const part = propertyPathParts[0]\n\n if (!alias?.hasMetadata) {\n // If there's no metadata, we're wasting our time\n // and can't actually look any of this up.\n break\n }\n\n if (alias.metadata.hasEmbeddedWithPropertyPath(part)) {\n // If this is an embedded then we should combine the two as part of our lookup.\n // Instead of just breaking, we keep going with this in case there's an embedded/relation\n // inside an embedded.\n propertyPathParts.unshift(\n `${propertyPathParts.shift()}.${propertyPathParts.shift()}`,\n )\n continue\n }\n\n if (alias.metadata.hasRelationWithPropertyPath(part)) {\n // If this is a relation then we should find the aliases\n // that match the relation & then continue further down\n // the property path\n const joinAttr = this.expressionMap.joinAttributes.find(\n (joinAttr) => joinAttr.relationPropertyPath === part,\n )\n\n if (!joinAttr?.alias) {\n const fullRelationPath =\n root.length > 0 ? `${root.join(\".\")}.${part}` : part\n throw new Error(\n `Cannot find alias for relation at ${fullRelationPath}`,\n )\n }\n\n alias = joinAttr.alias\n root.push(...part.split(\".\"))\n propertyPathParts.shift()\n continue\n }\n\n break\n }\n\n if (!alias) {\n throw new Error(`Cannot find alias for property ${propertyPath}`)\n }\n\n // Remaining parts are combined back and used to find the actual property path\n const aliasPropertyPath = propertyPathParts.join(\".\")\n\n const columns =\n alias.metadata.findColumnsWithPropertyPath(aliasPropertyPath)\n\n if (!columns.length) {\n throw new EntityPropertyNotFoundError(propertyPath, alias.metadata)\n }\n\n return [alias, root, columns]\n }\n\n /**\n * Creates a property paths for a given ObjectLiteral.\n */\n protected createPropertyPath(\n metadata: EntityMetadata,\n entity: ObjectLiteral,\n prefix: string = \"\",\n ) {\n const paths: string[] = []\n\n for (const key of Object.keys(entity)) {\n const path = prefix ? `${prefix}.${key}` : key\n\n // There's times where we don't actually want to traverse deeper.\n // If the value is a `FindOperator`, or null, or not an object, then we don't, for example.\n if (\n entity[key] === null ||\n typeof entity[key] !== \"object\" ||\n InstanceChecker.isFindOperator(entity[key])\n ) {\n paths.push(path)\n continue\n }\n\n if (metadata.hasEmbeddedWithPropertyPath(path)) {\n const subPaths = this.createPropertyPath(\n metadata,\n entity[key],\n path,\n )\n paths.push(...subPaths)\n continue\n }\n\n if (metadata.hasRelationWithPropertyPath(path)) {\n const relation = metadata.findRelationWithPropertyPath(path)!\n\n // There's also cases where we don't want to return back all of the properties.\n // These handles the situation where someone passes the model & we don't need to make\n // a HUGE `where` to uniquely look up the entity.\n\n // In the case of a *-to-one, there's only ever one possible entity on the other side\n // so if the join columns are all defined we can return just the relation itself\n // because it will fetch only the join columns and do the lookup.\n if (\n relation.relationType === \"one-to-one\" ||\n relation.relationType === \"many-to-one\"\n ) {\n const joinColumns = relation.joinColumns\n .map((j) => j.referencedColumn)\n .filter((j): j is ColumnMetadata => !!j)\n\n const hasAllJoinColumns =\n joinColumns.length > 0 &&\n joinColumns.every((column) =>\n column.getEntityValue(entity[key], false),\n )\n\n if (hasAllJoinColumns) {\n paths.push(path)\n continue\n }\n }\n\n if (\n relation.relationType === \"one-to-many\" ||\n relation.relationType === \"many-to-many\"\n ) {\n throw new Error(\n `Cannot query across ${relation.relationType} for property ${path}`,\n )\n }\n\n // For any other case, if the `entity[key]` contains all of the primary keys we can do a\n // lookup via these. We don't need to look up via any other values 'cause these are\n // the unique primary keys.\n // This handles the situation where someone passes the model & we don't need to make\n // a HUGE where.\n const primaryColumns =\n relation.inverseEntityMetadata.primaryColumns\n const hasAllPrimaryKeys =\n primaryColumns.length > 0 &&\n primaryColumns.every((column) =>\n column.getEntityValue(entity[key], false),\n )\n\n if (hasAllPrimaryKeys) {\n const subPaths = primaryColumns.map(\n (column) => `${path}.${column.propertyPath}`,\n )\n paths.push(...subPaths)\n continue\n }\n\n // If nothing else, just return every property that's being passed to us.\n const subPaths = this.createPropertyPath(\n relation.inverseEntityMetadata,\n entity[key],\n ).map((p) => `${path}.${p}`)\n paths.push(...subPaths)\n continue\n }\n\n paths.push(path)\n }\n\n return paths\n }\n\n protected *getPredicates(where: ObjectLiteral) {\n if (this.expressionMap.mainAlias!.hasMetadata) {\n const propertyPaths = this.createPropertyPath(\n this.expressionMap.mainAlias!.metadata,\n where,\n )\n\n for (const propertyPath of propertyPaths) {\n const [alias, aliasPropertyPath, columns] =\n this.findColumnsForPropertyPath(propertyPath)\n\n for (const column of columns) {\n let containedWhere = where\n\n for (const part of aliasPropertyPath) {\n if (!containedWhere || !(part in containedWhere)) {\n containedWhere = {}\n break\n }\n\n containedWhere = containedWhere[part]\n }\n\n // Use the correct alias & the property path from the column\n const aliasPath = this.expressionMap\n .aliasNamePrefixingEnabled\n ? `${alias.name}.${column.propertyPath}`\n : column.propertyPath\n\n const parameterValue = column.getEntityValue(\n containedWhere,\n true,\n )\n\n yield [aliasPath, parameterValue]\n }\n }\n } else {\n for (const key of Object.keys(where)) {\n const parameterValue = where[key]\n const aliasPath = this.expressionMap.aliasNamePrefixingEnabled\n ? `${this.alias}.${key}`\n : key\n\n yield [aliasPath, parameterValue]\n }\n }\n }\n\n protected getWherePredicateCondition(\n aliasPath: string,\n parameterValue: any,\n ): WhereClauseCondition {\n if (InstanceChecker.isFindOperator(parameterValue)) {\n let parameters: any[] = []\n if (parameterValue.useParameter) {\n if (parameterValue.objectLiteralParameters) {\n this.setParameters(parameterValue.objectLiteralParameters)\n } else if (parameterValue.multipleParameters) {\n for (const v of parameterValue.value) {\n parameters.push(this.createParameter(v))\n }\n } else {\n parameters.push(this.createParameter(parameterValue.value))\n }\n }\n\n if (parameterValue.type === \"raw\") {\n if (parameterValue.getSql) {\n return parameterValue.getSql(aliasPath)\n } else {\n return {\n operator: \"equal\",\n parameters: [aliasPath, parameterValue.value],\n }\n }\n } else if (parameterValue.type === \"not\") {\n if (parameterValue.child) {\n return {\n operator: parameterValue.type,\n condition: this.getWherePredicateCondition(\n aliasPath,\n parameterValue.child,\n ),\n }\n } else {\n return {\n operator: \"notEqual\",\n parameters: [aliasPath, ...parameters],\n }\n }\n } else {\n return {\n operator: parameterValue.type,\n parameters: [aliasPath, ...parameters],\n }\n }\n // } else if (parameterValue === null) {\n // return {\n // operator: \"isNull\",\n // parameters: [\n // aliasPath,\n // ]\n // };\n } else {\n return {\n operator: \"equal\",\n parameters: [aliasPath, this.createParameter(parameterValue)],\n }\n }\n }\n\n protected getWhereCondition(\n where:\n | string\n | ((qb: this) => string)\n | Brackets\n | NotBrackets\n | ObjectLiteral\n | ObjectLiteral[],\n ): WhereClauseCondition {\n if (typeof where === \"string\") {\n return where\n }\n\n if (InstanceChecker.isBrackets(where)) {\n const whereQueryBuilder = this.createQueryBuilder()\n\n whereQueryBuilder.parentQueryBuilder = this\n\n whereQueryBuilder.expressionMap.mainAlias =\n this.expressionMap.mainAlias\n whereQueryBuilder.expressionMap.aliasNamePrefixingEnabled =\n this.expressionMap.aliasNamePrefixingEnabled\n whereQueryBuilder.expressionMap.parameters =\n this.expressionMap.parameters\n whereQueryBuilder.expressionMap.nativeParameters =\n this.expressionMap.nativeParameters\n\n whereQueryBuilder.expressionMap.wheres = []\n\n where.whereFactory(whereQueryBuilder as any)\n\n return {\n operator: InstanceChecker.isNotBrackets(where)\n ? \"not\"\n : \"brackets\",\n condition: whereQueryBuilder.expressionMap.wheres,\n }\n }\n\n if (typeof where === \"function\") {\n return where(this)\n }\n\n const wheres: ObjectLiteral[] = Array.isArray(where) ? where : [where]\n const clauses: WhereClause[] = []\n\n for (const where of wheres) {\n const conditions: WhereClauseCondition = []\n\n // Filter the conditions and set up the parameter values\n for (const [aliasPath, parameterValue] of this.getPredicates(\n where,\n )) {\n conditions.push({\n type: \"and\",\n condition: this.getWherePredicateCondition(\n aliasPath,\n parameterValue,\n ),\n })\n }\n\n clauses.push({ type: \"or\", condition: conditions })\n }\n\n if (clauses.length === 1) {\n return clauses[0].condition\n }\n\n return clauses\n }\n\n /**\n * Creates a query builder used to execute sql queries inside this query builder.\n */\n protected obtainQueryRunner() {\n return this.queryRunner || this.connection.createQueryRunner()\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
exports.QueryBuilderUtils = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Helper utility functions for QueryBuilder.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
function QueryBuilderUtils() {
|
|
9
|
-
}
|
|
7
|
+
class QueryBuilderUtils {
|
|
10
8
|
/**
|
|
11
9
|
* Checks if given value is a string representation of alias property,
|
|
12
10
|
* e.g. "post.category" or "post.id".
|
|
13
11
|
*/
|
|
14
|
-
|
|
12
|
+
static isAliasProperty(str) {
|
|
15
13
|
// alias property must be a string and must have a dot separator
|
|
16
14
|
if (typeof str !== "string" || str.indexOf(".") === -1)
|
|
17
15
|
return false;
|
|
18
16
|
// extra alias and its property relation
|
|
19
|
-
|
|
17
|
+
const [aliasName, propertyName] = str.split("."); // todo: what about relations in embedded?
|
|
20
18
|
if (!aliasName || !propertyName)
|
|
21
19
|
return false;
|
|
22
20
|
// alias and property must be represented in a special format
|
|
@@ -27,15 +25,8 @@ var QueryBuilderUtils = /** @class */ (function () {
|
|
|
27
25
|
if (str.indexOf("(") !== -1 || str.indexOf(")") !== -1)
|
|
28
26
|
return false;
|
|
29
27
|
return true;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
var dotPos = str.indexOf(".");
|
|
33
|
-
var alias = str.substr(0, dotPos);
|
|
34
|
-
var propertyPath = str.substr(dotPos + 1);
|
|
35
|
-
return [alias, propertyPath];
|
|
36
|
-
};
|
|
37
|
-
return QueryBuilderUtils;
|
|
38
|
-
}());
|
|
28
|
+
}
|
|
29
|
+
}
|
|
39
30
|
exports.QueryBuilderUtils = QueryBuilderUtils;
|
|
40
31
|
|
|
41
32
|
//# sourceMappingURL=QueryBuilderUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-builder/QueryBuilderUtils.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"sources":["../../src/query-builder/QueryBuilderUtils.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,iBAAiB;IAC1B;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,GAAQ;QAC3B,gEAAgE;QAChE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAEpE,wCAAwC;QACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,0CAA0C;QAC3F,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAA;QAE7C,6DAA6D;QAC7D,8CAA8C;QAC9C,+EAA+E;QAC/E,oBAAoB;QACpB,qCAAqC;QACrC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAEpE,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAtBD,8CAsBC","file":"QueryBuilderUtils.js","sourcesContent":["/**\n * Helper utility functions for QueryBuilder.\n */\nexport class QueryBuilderUtils {\n /**\n * Checks if given value is a string representation of alias property,\n * e.g. \"post.category\" or \"post.id\".\n */\n static isAliasProperty(str: any): str is string {\n // alias property must be a string and must have a dot separator\n if (typeof str !== \"string\" || str.indexOf(\".\") === -1) return false\n\n // extra alias and its property relation\n const [aliasName, propertyName] = str.split(\".\") // todo: what about relations in embedded?\n if (!aliasName || !propertyName) return false\n\n // alias and property must be represented in a special format\n // const aliasNameRegexp = /^[a-zA-Z0-9_-]+$/;\n // if (!aliasNameRegexp.test(aliasName) || !aliasNameRegexp.test(propertyName))\n // return false;\n // make sure string is not a subquery\n if (str.indexOf(\"(\") !== -1 || str.indexOf(\")\") !== -1) return false\n\n return true\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -4,18 +4,22 @@ import { OrderByCondition } from "../find-options/OrderByCondition";
|
|
|
4
4
|
import { JoinAttribute } from "./JoinAttribute";
|
|
5
5
|
import { RelationIdAttribute } from "./relation-id/RelationIdAttribute";
|
|
6
6
|
import { RelationCountAttribute } from "./relation-count/RelationCountAttribute";
|
|
7
|
-
import {
|
|
7
|
+
import { DataSource } from "../data-source/DataSource";
|
|
8
8
|
import { EntityMetadata } from "../metadata/EntityMetadata";
|
|
9
9
|
import { SelectQuery } from "./SelectQuery";
|
|
10
10
|
import { ColumnMetadata } from "../metadata/ColumnMetadata";
|
|
11
11
|
import { RelationMetadata } from "../metadata/RelationMetadata";
|
|
12
|
-
import { QueryBuilder } from "./QueryBuilder";
|
|
13
12
|
import { SelectQueryBuilderOption } from "./SelectQueryBuilderOption";
|
|
13
|
+
import { WhereClause } from "./WhereClause";
|
|
14
14
|
/**
|
|
15
15
|
* Contains all properties of the QueryBuilder that needs to be build a final query.
|
|
16
16
|
*/
|
|
17
17
|
export declare class QueryExpressionMap {
|
|
18
|
-
protected connection:
|
|
18
|
+
protected connection: DataSource;
|
|
19
|
+
/**
|
|
20
|
+
* Strategy to load relations.
|
|
21
|
+
*/
|
|
22
|
+
relationLoadStrategy: "join" | "query";
|
|
19
23
|
/**
|
|
20
24
|
* Indicates if QueryBuilder used to select entities and not a raw results.
|
|
21
25
|
*/
|
|
@@ -31,11 +35,15 @@ export declare class QueryExpressionMap {
|
|
|
31
35
|
/**
|
|
32
36
|
* Represents query type. QueryBuilder is able to build SELECT, UPDATE and DELETE queries.
|
|
33
37
|
*/
|
|
34
|
-
queryType: "select" | "update" | "delete" | "insert" | "relation";
|
|
38
|
+
queryType: "select" | "update" | "delete" | "insert" | "relation" | "soft-delete" | "restore";
|
|
35
39
|
/**
|
|
36
40
|
* Data needs to be SELECT-ed.
|
|
37
41
|
*/
|
|
38
42
|
selects: SelectQuery[];
|
|
43
|
+
/**
|
|
44
|
+
* Max execution time in millisecond.
|
|
45
|
+
*/
|
|
46
|
+
maxExecutionTime: number;
|
|
39
47
|
/**
|
|
40
48
|
* Whether SELECT is DISTINCT.
|
|
41
49
|
*/
|
|
@@ -67,14 +75,15 @@ export declare class QueryExpressionMap {
|
|
|
67
75
|
/**
|
|
68
76
|
* Optional on ignore statement used in insertion query in databases.
|
|
69
77
|
*/
|
|
70
|
-
onIgnore:
|
|
78
|
+
onIgnore: boolean;
|
|
71
79
|
/**
|
|
72
80
|
* Optional on update statement used in insertion query in databases.
|
|
73
81
|
*/
|
|
74
82
|
onUpdate: {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
overwrite?: string;
|
|
83
|
+
conflict?: string | string[];
|
|
84
|
+
columns?: string[];
|
|
85
|
+
overwrite?: string[];
|
|
86
|
+
skipUpdateIfNoValuesChanged?: boolean;
|
|
78
87
|
};
|
|
79
88
|
/**
|
|
80
89
|
* JOIN queries.
|
|
@@ -91,10 +100,7 @@ export declare class QueryExpressionMap {
|
|
|
91
100
|
/**
|
|
92
101
|
* WHERE queries.
|
|
93
102
|
*/
|
|
94
|
-
wheres:
|
|
95
|
-
type: "simple" | "and" | "or";
|
|
96
|
-
condition: string;
|
|
97
|
-
}[];
|
|
103
|
+
wheres: WhereClause[];
|
|
98
104
|
/**
|
|
99
105
|
* HAVING queries.
|
|
100
106
|
*/
|
|
@@ -126,14 +132,29 @@ export declare class QueryExpressionMap {
|
|
|
126
132
|
* Number of rows to take using pagination.
|
|
127
133
|
*/
|
|
128
134
|
take?: number;
|
|
135
|
+
/**
|
|
136
|
+
* Use certain index for the query.
|
|
137
|
+
*
|
|
138
|
+
* SELECT * FROM table_name USE INDEX (col1_index, col2_index) WHERE col1=1 AND col2=2 AND col3=3;
|
|
139
|
+
*/
|
|
140
|
+
useIndex?: string;
|
|
129
141
|
/**
|
|
130
142
|
* Locking mode.
|
|
131
143
|
*/
|
|
132
|
-
lockMode?: "optimistic" | "pessimistic_read" | "pessimistic_write" | "dirty_read";
|
|
144
|
+
lockMode?: "optimistic" | "pessimistic_read" | "pessimistic_write" | "dirty_read" | "pessimistic_partial_write" | "pessimistic_write_or_fail" | "for_no_key_update";
|
|
133
145
|
/**
|
|
134
146
|
* Current version of the entity, used for locking.
|
|
135
147
|
*/
|
|
136
148
|
lockVersion?: number | Date;
|
|
149
|
+
/**
|
|
150
|
+
* Tables to be specified in the "FOR UPDATE OF" clause, referred by their alias
|
|
151
|
+
*/
|
|
152
|
+
lockTables?: string[];
|
|
153
|
+
/**
|
|
154
|
+
* Indicates if soft-deleted rows should be included in entity result.
|
|
155
|
+
* By default the soft-deleted rows are not included.
|
|
156
|
+
*/
|
|
157
|
+
withDeleted: boolean;
|
|
137
158
|
/**
|
|
138
159
|
* Parameters used to be escaped in final query.
|
|
139
160
|
*/
|
|
@@ -159,10 +180,6 @@ export declare class QueryExpressionMap {
|
|
|
159
180
|
* Indicates if query builder creates a subquery.
|
|
160
181
|
*/
|
|
161
182
|
subQuery: boolean;
|
|
162
|
-
/**
|
|
163
|
-
* If QueryBuilder was created in a subquery mode then its parent QueryBuilder (who created subquery) will be stored here.
|
|
164
|
-
*/
|
|
165
|
-
parentQueryBuilder: QueryBuilder<any>;
|
|
166
183
|
/**
|
|
167
184
|
* Indicates if property names are prefixed with alias names during property replacement.
|
|
168
185
|
* By default this is enabled, however we need this because aliases are not supported in UPDATE and DELETE queries,
|
|
@@ -214,29 +231,34 @@ export declare class QueryExpressionMap {
|
|
|
214
231
|
* Indicates if listeners and subscribers must be called before and after query execution.
|
|
215
232
|
*/
|
|
216
233
|
callListeners: boolean;
|
|
217
|
-
/**
|
|
218
|
-
* Indicates if observers must be called before and after query execution.
|
|
219
|
-
*/
|
|
220
|
-
callObservers: boolean;
|
|
221
|
-
/**
|
|
222
|
-
* Indicates if eager relations are loaded (they are by default).
|
|
223
|
-
*/
|
|
224
|
-
eagerRelations: boolean;
|
|
225
234
|
/**
|
|
226
235
|
* Indicates if query must be wrapped into transaction.
|
|
227
236
|
*/
|
|
228
237
|
useTransaction: boolean;
|
|
229
238
|
/**
|
|
230
239
|
* Extra parameters.
|
|
231
|
-
*
|
|
240
|
+
*
|
|
241
|
+
* @deprecated Use standard parameters instead
|
|
232
242
|
*/
|
|
233
243
|
nativeParameters: ObjectLiteral;
|
|
234
|
-
|
|
244
|
+
/**
|
|
245
|
+
* Query Comment to include extra information for debugging or other purposes.
|
|
246
|
+
*/
|
|
247
|
+
comment?: string;
|
|
248
|
+
/**
|
|
249
|
+
* Items from an entity that have been locally generated & are recorded here for later use.
|
|
250
|
+
* Examples include the UUID generation when the database does not natively support it.
|
|
251
|
+
* These are included in the entity index order.
|
|
252
|
+
*/
|
|
253
|
+
locallyGenerated: {
|
|
254
|
+
[key: number]: ObjectLiteral;
|
|
255
|
+
};
|
|
256
|
+
constructor(connection: DataSource);
|
|
235
257
|
/**
|
|
236
258
|
* Get all ORDER BY queries - if order by is specified by user then it uses them,
|
|
237
259
|
* otherwise it uses default entity order by if it was set.
|
|
238
260
|
*/
|
|
239
|
-
|
|
261
|
+
get allOrderBys(): OrderByCondition;
|
|
240
262
|
/**
|
|
241
263
|
* Creates a main alias and adds it to the current expression map.
|
|
242
264
|
*/
|
|
@@ -263,7 +285,7 @@ export declare class QueryExpressionMap {
|
|
|
263
285
|
*
|
|
264
286
|
* todo: add proper exceptions
|
|
265
287
|
*/
|
|
266
|
-
|
|
288
|
+
get relationMetadata(): RelationMetadata;
|
|
267
289
|
/**
|
|
268
290
|
* Copies all properties of the current QueryExpressionMap into a new one.
|
|
269
291
|
* Useful when QueryBuilder needs to create a copy of itself.
|