typeorm 0.3.29-dev.cc07c90 → 1.0.0-beta.1
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 +67 -74
- package/browser/cache/DbQueryResultCache.d.ts +17 -6
- package/browser/cache/DbQueryResultCache.js +46 -32
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/cache/QueryResultCache.d.ts +2 -2
- package/browser/cache/QueryResultCache.js +3 -3
- package/browser/cache/QueryResultCache.js.map +1 -1
- package/browser/cache/QueryResultCacheFactory.d.ts +4 -4
- package/browser/cache/QueryResultCacheFactory.js +17 -14
- package/browser/cache/QueryResultCacheFactory.js.map +1 -1
- package/browser/cache/QueryResultCacheOptions.js +3 -3
- package/browser/cache/QueryResultCacheOptions.js.map +1 -1
- package/browser/cache/RedisQueryResultCache.d.ts +18 -19
- package/browser/cache/RedisQueryResultCache.js +54 -130
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/cli-ts-node-commonjs.js +4 -3
- package/browser/cli-ts-node-commonjs.js.map +1 -1
- package/browser/cli-ts-node-esm.js +5 -4
- package/browser/cli-ts-node-esm.js.map +1 -1
- package/browser/common/DeepPartial.js +3 -3
- package/browser/common/DeepPartial.js.map +1 -1
- package/browser/common/EntityTarget.d.ts +2 -2
- package/browser/common/EntityTarget.js +3 -3
- package/browser/common/EntityTarget.js.map +1 -1
- package/browser/common/MixedList.js +3 -3
- package/browser/common/MixedList.js.map +1 -1
- package/browser/common/NonNever.d.ts +1 -1
- package/browser/common/NonNever.js +3 -3
- package/browser/common/NonNever.js.map +1 -1
- package/browser/common/ObjectLiteral.js +3 -3
- package/browser/common/ObjectLiteral.js.map +1 -1
- package/browser/common/ObjectType.js +3 -3
- package/browser/common/ObjectType.js.map +1 -1
- package/browser/common/PickKeysByType.js +3 -3
- package/browser/common/PickKeysByType.js.map +1 -1
- package/browser/common/PrimitiveCriteria.js +3 -3
- package/browser/common/PrimitiveCriteria.js.map +1 -1
- package/browser/common/RelationType.d.ts +5 -5
- package/browser/common/RelationType.js +3 -3
- package/browser/common/RelationType.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.d.ts +10 -7
- package/browser/connection/ConnectionMetadataBuilder.js +32 -27
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.d.ts +3 -11
- package/browser/connection/ConnectionOptionsReader.js +43 -71
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/data-source/BaseDataSourceOptions.d.ts +13 -20
- package/browser/data-source/BaseDataSourceOptions.js +3 -3
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/data-source/DataSource.d.ts +50 -61
- package/browser/data-source/DataSource.js +107 -114
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/data-source/DataSourceOptions.d.ts +18 -19
- package/browser/data-source/DataSourceOptions.js +3 -3
- package/browser/data-source/DataSourceOptions.js.map +1 -1
- package/browser/data-source/index.d.ts +1 -1
- package/browser/data-source/index.js +5 -4
- package/browser/data-source/index.js.map +1 -1
- package/browser/decorator/Check.d.ts +3 -0
- package/browser/decorator/Check.js +11 -7
- package/browser/decorator/Check.js.map +1 -1
- package/browser/decorator/Exclusion.d.ts +8 -2
- package/browser/decorator/Exclusion.js +17 -9
- package/browser/decorator/Exclusion.js.map +1 -1
- package/browser/decorator/ForeignKey.d.ts +11 -2
- package/browser/decorator/ForeignKey.js +14 -8
- package/browser/decorator/ForeignKey.js.map +1 -1
- package/browser/decorator/Generated.d.ts +1 -0
- package/browser/decorator/Generated.js +8 -5
- package/browser/decorator/Generated.js.map +1 -1
- package/browser/decorator/Index.d.ts +17 -1
- package/browser/decorator/Index.js +14 -8
- package/browser/decorator/Index.js.map +1 -1
- package/browser/decorator/Unique.d.ts +11 -1
- package/browser/decorator/Unique.js +13 -8
- package/browser/decorator/Unique.js.map +1 -1
- package/browser/decorator/columns/Column.d.ts +31 -10
- package/browser/decorator/columns/Column.js +14 -10
- package/browser/decorator/columns/Column.js.map +1 -1
- package/browser/decorator/columns/CreateDateColumn.d.ts +2 -1
- package/browser/decorator/columns/CreateDateColumn.js +8 -5
- package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
- package/browser/decorator/columns/DeleteDateColumn.d.ts +2 -1
- package/browser/decorator/columns/DeleteDateColumn.js +8 -5
- package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/browser/decorator/columns/ObjectIdColumn.d.ts +2 -1
- package/browser/decorator/columns/ObjectIdColumn.js +8 -5
- package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.d.ts +5 -2
- package/browser/decorator/columns/PrimaryColumn.js +14 -10
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +10 -3
- package/browser/decorator/columns/PrimaryGeneratedColumn.js +13 -9
- package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/browser/decorator/columns/UpdateDateColumn.d.ts +2 -1
- package/browser/decorator/columns/UpdateDateColumn.js +8 -5
- package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/browser/decorator/columns/VersionColumn.d.ts +2 -1
- package/browser/decorator/columns/VersionColumn.js +8 -5
- package/browser/decorator/columns/VersionColumn.js.map +1 -1
- package/browser/decorator/columns/ViewColumn.d.ts +2 -1
- package/browser/decorator/columns/ViewColumn.js +8 -5
- package/browser/decorator/columns/ViewColumn.js.map +1 -1
- package/browser/decorator/columns/VirtualColumn.d.ts +5 -2
- package/browser/decorator/columns/VirtualColumn.js +11 -7
- package/browser/decorator/columns/VirtualColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.d.ts +1 -0
- package/browser/decorator/entity/ChildEntity.js +9 -6
- package/browser/decorator/entity/ChildEntity.js.map +1 -1
- package/browser/decorator/entity/Entity.d.ts +4 -1
- package/browser/decorator/entity/Entity.js +11 -7
- package/browser/decorator/entity/Entity.js.map +1 -1
- package/browser/decorator/entity/TableInheritance.d.ts +4 -1
- package/browser/decorator/entity/TableInheritance.js +10 -5
- package/browser/decorator/entity/TableInheritance.js.map +1 -1
- package/browser/decorator/entity-view/ViewEntity.d.ts +4 -1
- package/browser/decorator/entity-view/ViewEntity.js +11 -7
- package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
- package/browser/decorator/listeners/AfterInsert.js +9 -7
- package/browser/decorator/listeners/AfterInsert.js.map +1 -1
- package/browser/decorator/listeners/AfterLoad.js +9 -7
- package/browser/decorator/listeners/AfterLoad.js.map +1 -1
- package/browser/decorator/listeners/AfterRecover.js +9 -7
- package/browser/decorator/listeners/AfterRecover.js.map +1 -1
- package/browser/decorator/listeners/AfterRemove.js +9 -7
- package/browser/decorator/listeners/AfterRemove.js.map +1 -1
- package/browser/decorator/listeners/AfterSoftRemove.js +9 -7
- package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -1
- package/browser/decorator/listeners/AfterUpdate.js +9 -7
- package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
- package/browser/decorator/listeners/BeforeInsert.js +9 -7
- package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
- package/browser/decorator/listeners/BeforeRecover.js +9 -7
- package/browser/decorator/listeners/BeforeRecover.js.map +1 -1
- package/browser/decorator/listeners/BeforeRemove.js +9 -7
- package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
- package/browser/decorator/listeners/BeforeSoftRemove.js +9 -7
- package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -1
- package/browser/decorator/listeners/BeforeUpdate.js +9 -7
- package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/browser/decorator/listeners/EventSubscriber.js +7 -5
- package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
- package/browser/decorator/options/ColumnCommonOptions.d.ts +2 -2
- package/browser/decorator/options/ColumnCommonOptions.js +3 -3
- package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/browser/decorator/options/ColumnEmbeddedOptions.js +3 -3
- package/browser/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/browser/decorator/options/ColumnEnumOptions.js +3 -3
- package/browser/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/browser/decorator/options/ColumnHstoreOptions.js +3 -3
- package/browser/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/browser/decorator/options/ColumnNumericOptions.d.ts +0 -16
- package/browser/decorator/options/ColumnNumericOptions.js +3 -3
- package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/browser/decorator/options/ColumnOptions.d.ts +8 -33
- package/browser/decorator/options/ColumnOptions.js +3 -3
- package/browser/decorator/options/ColumnOptions.js.map +1 -1
- package/browser/decorator/options/ColumnUnsignedOptions.d.ts +1 -20
- package/browser/decorator/options/ColumnUnsignedOptions.js +3 -3
- package/browser/decorator/options/ColumnUnsignedOptions.js.map +1 -1
- package/browser/decorator/options/ColumnWithLengthOptions.js +3 -3
- package/browser/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/browser/decorator/options/EntityOptions.d.ts +1 -1
- package/browser/decorator/options/EntityOptions.js +3 -3
- package/browser/decorator/options/EntityOptions.js.map +1 -1
- package/browser/decorator/options/ExclusionOptions.d.ts +10 -0
- package/{connection/ConnectionOptions.js → browser/decorator/options/ExclusionOptions.js} +1 -2
- package/browser/decorator/options/ExclusionOptions.js.map +1 -0
- package/browser/decorator/options/ForeignKeyOptions.d.ts +3 -3
- package/browser/decorator/options/ForeignKeyOptions.js +3 -3
- package/browser/decorator/options/ForeignKeyOptions.js.map +1 -1
- package/browser/decorator/options/IndexOptions.d.ts +7 -0
- package/browser/decorator/options/IndexOptions.js +3 -3
- package/browser/decorator/options/IndexOptions.js.map +1 -1
- package/browser/decorator/options/JoinColumnOptions.js +3 -3
- package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
- package/browser/decorator/options/JoinTableMultipleColumnsOptions.d.ts +1 -1
- package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +3 -3
- package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/browser/decorator/options/JoinTableOptions.d.ts +1 -1
- package/browser/decorator/options/JoinTableOptions.js +3 -3
- package/browser/decorator/options/JoinTableOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -3
- package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +1 -9
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +3 -3
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +3 -3
- package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/browser/decorator/options/RelationOptions.d.ts +3 -3
- package/browser/decorator/options/RelationOptions.js +3 -3
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/options/SpatialColumnOptions.d.ts +1 -1
- package/browser/decorator/options/SpatialColumnOptions.js +3 -3
- package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/browser/decorator/options/TransactionOptions.d.ts +1 -1
- package/browser/decorator/options/TransactionOptions.js +3 -3
- package/browser/decorator/options/TransactionOptions.js.map +1 -1
- package/browser/decorator/options/UniqueOptions.d.ts +1 -1
- package/browser/decorator/options/UniqueOptions.js +3 -3
- package/browser/decorator/options/UniqueOptions.js.map +1 -1
- package/browser/decorator/options/ValueTransformer.js +3 -3
- package/browser/decorator/options/ValueTransformer.js.map +1 -1
- package/browser/decorator/options/ViewColumnOptions.d.ts +1 -1
- package/browser/decorator/options/ViewColumnOptions.js +3 -3
- package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
- package/browser/decorator/options/ViewEntityOptions.d.ts +3 -2
- package/browser/decorator/options/ViewEntityOptions.js +3 -3
- package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
- package/browser/decorator/options/VirtualColumnOptions.d.ts +3 -3
- package/browser/decorator/options/VirtualColumnOptions.js +3 -3
- package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/browser/decorator/relations/JoinColumn.d.ts +3 -1
- package/browser/decorator/relations/JoinColumn.js +8 -5
- package/browser/decorator/relations/JoinColumn.js.map +1 -1
- package/browser/decorator/relations/JoinTable.d.ts +4 -2
- package/browser/decorator/relations/JoinTable.js +8 -5
- package/browser/decorator/relations/JoinTable.js.map +1 -1
- package/browser/decorator/relations/ManyToMany.d.ts +7 -2
- package/browser/decorator/relations/ManyToMany.js +12 -7
- package/browser/decorator/relations/ManyToMany.js.map +1 -1
- package/browser/decorator/relations/ManyToOne.d.ts +7 -2
- package/browser/decorator/relations/ManyToOne.js +12 -7
- package/browser/decorator/relations/ManyToOne.js.map +1 -1
- package/browser/decorator/relations/OneToMany.d.ts +5 -2
- package/browser/decorator/relations/OneToMany.js +10 -5
- package/browser/decorator/relations/OneToMany.js.map +1 -1
- package/browser/decorator/relations/OneToOne.d.ts +7 -2
- package/browser/decorator/relations/OneToOne.js +12 -7
- package/browser/decorator/relations/OneToOne.js.map +1 -1
- package/browser/decorator/relations/RelationId.d.ts +4 -2
- package/browser/decorator/relations/RelationId.js +10 -6
- package/browser/decorator/relations/RelationId.js.map +1 -1
- package/browser/decorator/tree/Tree.d.ts +6 -4
- package/browser/decorator/tree/Tree.js +11 -7
- package/browser/decorator/tree/Tree.js.map +1 -1
- package/browser/decorator/tree/TreeChildren.d.ts +2 -0
- package/browser/decorator/tree/TreeChildren.js +9 -5
- package/browser/decorator/tree/TreeChildren.js.map +1 -1
- package/browser/decorator/tree/TreeLevelColumn.js +7 -5
- package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/browser/decorator/tree/TreeParent.d.ts +3 -1
- package/browser/decorator/tree/TreeParent.js +9 -5
- package/browser/decorator/tree/TreeParent.js.map +1 -1
- package/browser/driver/Driver.d.ts +32 -21
- package/browser/driver/Driver.js +3 -3
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverFactory.d.ts +5 -3
- package/browser/driver/DriverFactory.js +61 -60
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.d.ts +13 -11
- package/browser/driver/DriverUtils.js +28 -30
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/Query.js +6 -3
- package/browser/driver/Query.js.map +1 -1
- package/browser/driver/SqlInMemory.d.ts +1 -1
- package/browser/driver/SqlInMemory.js +6 -3
- package/browser/driver/SqlInMemory.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +0 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +3 -3
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/{driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts → browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts} +4 -5
- package/{driver/cockroachdb/CockroachConnectionOptions.js → browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js} +1 -2
- package/browser/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -0
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +66 -28
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +113 -97
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +168 -32
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +404 -290
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/{driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts → browser/driver/aurora-postgres/AuroraPostgresDataSourceOptions.d.ts} +2 -2
- package/browser/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js +3 -0
- package/browser/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js.map +1 -0
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.d.ts +15 -13
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.js +30 -20
- package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +11 -9
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +23 -14
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/{driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts → browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts} +5 -3
- package/{driver/aurora-mysql/AuroraMysqlConnectionOptions.js → browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js} +1 -2
- package/browser/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +13 -12
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +35 -27
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +4 -1
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +35 -24
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/browser/driver/capacitor/{CapacitorConnectionOptions.d.ts → CapacitorDataSourceOptions.d.ts} +2 -2
- package/{driver/cordova/CordovaConnectionOptions.js → browser/driver/capacitor/CapacitorDataSourceOptions.js} +1 -2
- package/browser/driver/capacitor/CapacitorDataSourceOptions.js.map +1 -0
- package/browser/driver/capacitor/CapacitorDriver.d.ts +7 -6
- package/browser/driver/capacitor/CapacitorDriver.js +14 -10
- package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.d.ts +6 -2
- package/browser/driver/capacitor/CapacitorQueryRunner.js +23 -16
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +3 -3
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/{driver/cockroachdb/CockroachConnectionOptions.d.ts → browser/driver/cockroachdb/CockroachDataSourceOptions.d.ts} +4 -4
- package/browser/driver/cockroachdb/CockroachDataSourceOptions.js +3 -0
- package/browser/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -0
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +79 -27
- package/browser/driver/cockroachdb/CockroachDriver.js +168 -88
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +203 -31
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +582 -368
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/{CordovaConnectionOptions.d.ts → CordovaDataSourceOptions.d.ts} +2 -2
- package/{driver/mongodb/MongoConnectionOptions.js → browser/driver/cordova/CordovaDataSourceOptions.js} +1 -2
- package/browser/driver/cordova/CordovaDataSourceOptions.js.map +1 -0
- package/browser/driver/cordova/CordovaDriver.d.ts +7 -6
- package/browser/driver/cordova/CordovaDriver.js +14 -12
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.d.ts +7 -35
- package/browser/driver/cordova/CordovaQueryRunner.js +31 -55
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/{ExpoConnectionOptions.d.ts → ExpoDataSourceOptions.d.ts} +2 -2
- package/{driver/sap/SapConnectionOptions.js → browser/driver/expo/ExpoDataSourceOptions.js} +1 -2
- package/browser/driver/expo/ExpoDataSourceOptions.js.map +1 -0
- package/browser/driver/expo/ExpoDriver.d.ts +6 -5
- package/browser/driver/expo/ExpoDriver.js +18 -8
- package/browser/driver/expo/ExpoDriver.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.d.ts +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +21 -18
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/{driver/mongodb/MongoConnectionOptions.d.ts → browser/driver/mongodb/MongoDataSourceOptions.d.ts} +7 -69
- package/{driver/expo/ExpoConnectionOptions.js → browser/driver/mongodb/MongoDataSourceOptions.js} +1 -2
- package/browser/driver/mongodb/MongoDataSourceOptions.js.map +1 -0
- package/browser/driver/mongodb/MongoDriver.d.ts +51 -23
- package/browser/driver/mongodb/MongoDriver.js +70 -58
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +239 -83
- package/browser/driver/mongodb/MongoQueryRunner.js +303 -133
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/bson.typings.d.ts +604 -97
- package/browser/driver/mongodb/bson.typings.js +4 -3
- package/browser/driver/mongodb/bson.typings.js.map +1 -1
- package/browser/driver/mongodb/typings.d.ts +3577 -1025
- package/browser/driver/mongodb/typings.js +24 -24
- package/browser/driver/mongodb/typings.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +0 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +3 -3
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/{driver/mysql/MysqlConnectionOptions.d.ts → browser/driver/mysql/MysqlDataSourceOptions.d.ts} +6 -13
- package/browser/driver/mysql/MysqlDataSourceOptions.js +3 -0
- package/browser/driver/mysql/MysqlDataSourceOptions.js.map +1 -0
- package/browser/driver/mysql/MysqlDriver.d.ts +69 -37
- package/browser/driver/mysql/MysqlDriver.js +141 -251
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +167 -33
- package/browser/driver/mysql/MysqlQueryRunner.js +448 -325
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/{driver/nativescript/NativescriptConnectionOptions.d.ts → browser/driver/nativescript/NativescriptDataSourceOptions.d.ts} +2 -2
- package/browser/driver/nativescript/NativescriptDataSourceOptions.js +3 -0
- package/browser/driver/nativescript/NativescriptDataSourceOptions.js.map +1 -0
- package/browser/driver/nativescript/NativescriptDriver.d.ts +9 -8
- package/browser/driver/nativescript/NativescriptDriver.js +16 -13
- package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.d.ts +7 -2
- package/browser/driver/nativescript/NativescriptQueryRunner.js +22 -14
- package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +3 -3
- package/browser/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/{driver/oracle/OracleConnectionOptions.d.ts → browser/driver/oracle/OracleDataSourceOptions.d.ts} +3 -3
- package/{connection/BaseConnectionOptions.js → browser/driver/oracle/OracleDataSourceOptions.js} +1 -2
- package/browser/driver/oracle/OracleDataSourceOptions.js.map +1 -0
- package/browser/driver/oracle/OracleDriver.d.ts +65 -28
- package/browser/driver/oracle/OracleDriver.js +96 -55
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.d.ts +176 -29
- package/browser/driver/oracle/OracleQueryRunner.js +442 -267
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +3 -3
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/{driver/postgres/PostgresConnectionOptions.d.ts → browser/driver/postgres/PostgresDataSourceOptions.d.ts} +8 -5
- package/browser/driver/postgres/PostgresDataSourceOptions.js +3 -0
- package/browser/driver/postgres/PostgresDataSourceOptions.js.map +1 -0
- package/browser/driver/postgres/PostgresDriver.d.ts +85 -28
- package/browser/driver/postgres/PostgresDriver.js +244 -80
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +225 -34
- package/browser/driver/postgres/PostgresQueryRunner.js +729 -447
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/{driver/react-native/ReactNativeConnectionOptions.d.ts → browser/driver/react-native/ReactNativeDataSourceOptions.d.ts} +6 -2
- package/{driver/capacitor/CapacitorConnectionOptions.js → browser/driver/react-native/ReactNativeDataSourceOptions.js} +1 -2
- package/browser/driver/react-native/ReactNativeDataSourceOptions.js.map +1 -0
- package/browser/driver/react-native/ReactNativeDriver.d.ts +64 -24
- package/browser/driver/react-native/ReactNativeDriver.js +92 -50
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.d.ts +7 -2
- package/browser/driver/react-native/ReactNativeQueryRunner.js +26 -18
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapConnectionCredentialsOptions.js +3 -3
- package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sap/{SapConnectionOptions.d.ts → SapDataSourceOptions.d.ts} +10 -37
- package/browser/driver/sap/SapDataSourceOptions.js +3 -0
- package/browser/driver/sap/SapDataSourceOptions.js.map +1 -0
- package/browser/driver/sap/SapDriver.d.ts +54 -17
- package/browser/driver/sap/SapDriver.js +97 -70
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +179 -31
- package/browser/driver/sap/SapQueryRunner.js +488 -286
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -3
- package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
- package/{driver/spanner/SpannerConnectionOptions.d.ts → browser/driver/spanner/SpannerDataSourceOptions.d.ts} +4 -4
- package/browser/driver/spanner/SpannerDataSourceOptions.js +3 -0
- package/browser/driver/spanner/SpannerDataSourceOptions.js.map +1 -0
- package/browser/driver/spanner/SpannerDriver.d.ts +61 -23
- package/browser/driver/spanner/SpannerDriver.js +82 -42
- package/browser/driver/spanner/SpannerDriver.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.d.ts +170 -28
- package/browser/driver/spanner/SpannerQueryRunner.js +373 -201
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +74 -23
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +162 -53
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +164 -30
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +357 -193
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/{driver/sqljs/SqljsConnectionOptions.d.ts → browser/driver/sqljs/SqljsDataSourceOptions.d.ts} +2 -2
- package/browser/driver/sqljs/SqljsDataSourceOptions.js +3 -0
- package/browser/driver/sqljs/SqljsDataSourceOptions.js.map +1 -0
- package/browser/driver/sqljs/SqljsDriver.d.ts +15 -8
- package/browser/driver/sqljs/SqljsDriver.js +44 -34
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.d.ts +4 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js +24 -18
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/MssqlParameter.d.ts +0 -1
- package/browser/driver/sqlserver/MssqlParameter.js +6 -4
- package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +8 -15
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +3 -3
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sqlserver/{SqlServerConnectionOptions.d.ts → SqlServerDataSourceOptions.d.ts} +4 -4
- package/browser/driver/sqlserver/SqlServerDataSourceOptions.js +3 -0
- package/browser/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -0
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +70 -28
- package/browser/driver/sqlserver/SqlServerDriver.js +115 -79
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +190 -30
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +576 -350
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -3
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -3
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -3
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -3
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -3
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -3
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -3
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -3
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
- package/browser/driver/types/ColumnTypes.d.ts +1 -1
- package/browser/driver/types/ColumnTypes.js +3 -3
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/driver/types/CteCapabilities.js +3 -3
- package/browser/driver/types/CteCapabilities.js.map +1 -1
- package/browser/driver/types/DataTypeDefaults.d.ts +0 -1
- package/browser/driver/types/DataTypeDefaults.js +3 -3
- package/browser/driver/types/DataTypeDefaults.js.map +1 -1
- package/browser/driver/types/DatabaseType.d.ts +1 -1
- package/browser/driver/types/DatabaseType.js +3 -3
- package/browser/driver/types/DatabaseType.js.map +1 -1
- package/browser/driver/types/GeoJsonTypes.js +3 -3
- package/browser/driver/types/GeoJsonTypes.js.map +1 -1
- package/browser/driver/types/IsolationLevel.js +3 -3
- package/browser/driver/types/IsolationLevel.js.map +1 -1
- package/browser/driver/types/MappedColumnTypes.d.ts +1 -1
- package/browser/driver/types/MappedColumnTypes.js +3 -3
- package/browser/driver/types/MappedColumnTypes.js.map +1 -1
- package/browser/driver/types/MetadataTableType.js +6 -4
- package/browser/driver/types/MetadataTableType.js.map +1 -1
- package/browser/driver/types/ReplicationMode.js +3 -3
- package/browser/driver/types/ReplicationMode.js.map +1 -1
- package/browser/driver/types/ReturningType.d.ts +1 -0
- package/{find-options/JoinOptions.js → browser/driver/types/ReturningType.js} +1 -2
- package/browser/driver/types/ReturningType.js.map +1 -0
- package/browser/driver/types/UpsertType.js +3 -3
- package/browser/driver/types/UpsertType.js.map +1 -1
- package/browser/entity-manager/EntityManager.d.ts +111 -57
- package/browser/entity-manager/EntityManager.js +245 -203
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/EntityManagerFactory.d.ts +6 -3
- package/browser/entity-manager/EntityManagerFactory.js +18 -12
- package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +156 -30
- package/browser/entity-manager/MongoEntityManager.js +289 -112
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-manager/SqljsEntityManager.d.ts +5 -3
- package/browser/entity-manager/SqljsEntityManager.js +12 -7
- package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchema.d.ts +1 -1
- package/browser/entity-schema/EntitySchema.js +6 -3
- package/browser/entity-schema/EntitySchema.js.map +1 -1
- package/browser/entity-schema/EntitySchemaCheckOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +2 -2
- package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +6 -26
- package/browser/entity-schema/EntitySchemaColumnOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +1 -1
- package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js +6 -3
- package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaEmbeddedError.js +7 -4
- package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/browser/entity-schema/EntitySchemaExclusionOptions.d.ts +5 -0
- package/browser/entity-schema/EntitySchemaExclusionOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaForeignKeyOptions.d.ts +2 -2
- package/browser/entity-schema/EntitySchemaForeignKeyOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaIndexOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaInheritanceOptions.d.ts +1 -1
- package/browser/entity-schema/EntitySchemaInheritanceOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.d.ts +16 -14
- package/browser/entity-schema/EntitySchemaOptions.js +6 -3
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationIdOptions.d.ts +1 -1
- package/browser/entity-schema/EntitySchemaRelationIdOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +8 -8
- package/browser/entity-schema/EntitySchemaRelationOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.d.ts +2 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +12 -10
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.js +3 -3
- package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/browser/error/AlreadyHasActiveConnectionError.js +7 -4
- package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/browser/error/CannotAttachTreeChildrenEntityError.js +7 -4
- package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/browser/error/CannotConnectAlreadyConnectedError.d.ts +1 -1
- package/browser/error/CannotConnectAlreadyConnectedError.js +9 -6
- package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/browser/error/CannotCreateEntityIdMapError.d.ts +1 -1
- package/browser/error/CannotCreateEntityIdMapError.js +7 -4
- package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/browser/error/CannotDetermineEntityError.js +7 -4
- package/browser/error/CannotDetermineEntityError.js.map +1 -1
- package/browser/error/CannotExecuteNotConnectedError.d.ts +1 -1
- package/browser/error/CannotExecuteNotConnectedError.js +9 -6
- package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/browser/error/CannotGetEntityManagerNotConnectedError.js +7 -4
- package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/browser/error/CannotReflectMethodParameterTypeError.js +7 -4
- package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/browser/error/CircularRelationsError.js +7 -4
- package/browser/error/CircularRelationsError.js.map +1 -1
- package/browser/error/ColumnTypeUndefinedError.js +7 -4
- package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
- package/browser/error/ConnectionIsNotSetError.js +7 -4
- package/browser/error/ConnectionIsNotSetError.js.map +1 -1
- package/browser/error/ConnectionNotFoundError.js +7 -4
- package/browser/error/ConnectionNotFoundError.js.map +1 -1
- package/browser/error/DataTypeNotSupportedError.d.ts +3 -3
- package/browser/error/DataTypeNotSupportedError.js +7 -4
- package/browser/error/DataTypeNotSupportedError.js.map +1 -1
- package/browser/error/DriverOptionNotSetError.js +7 -4
- package/browser/error/DriverOptionNotSetError.js.map +1 -1
- package/browser/error/DriverPackageNotInstalledError.js +7 -4
- package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
- package/browser/error/EntityMetadataNotFoundError.d.ts +1 -1
- package/browser/error/EntityMetadataNotFoundError.js +11 -8
- package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
- package/browser/error/EntityNotFoundError.d.ts +1 -1
- package/browser/error/EntityNotFoundError.js +11 -8
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/error/EntityPropertyNotFoundError.d.ts +1 -1
- package/browser/error/EntityPropertyNotFoundError.js +7 -4
- package/browser/error/EntityPropertyNotFoundError.js.map +1 -1
- package/browser/error/FindRelationsNotFoundError.js +7 -4
- package/browser/error/FindRelationsNotFoundError.js.map +1 -1
- package/browser/error/ForbiddenTransactionModeOverrideError.d.ts +1 -1
- package/browser/error/ForbiddenTransactionModeOverrideError.js +7 -4
- package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
- package/browser/error/InitializedRelationError.d.ts +1 -2
- package/browser/error/InitializedRelationError.js +7 -5
- package/browser/error/InitializedRelationError.js.map +1 -1
- package/browser/error/InsertValuesMissingError.js +7 -4
- package/browser/error/InsertValuesMissingError.js.map +1 -1
- package/browser/error/LimitOnUpdateNotSupportedError.js +7 -4
- package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/browser/error/LockNotSupportedOnGivenDriverError.js +7 -4
- package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/browser/error/MetadataAlreadyExistsError.js +7 -4
- package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
- package/browser/error/MetadataWithSuchNameAlreadyExistsError.js +7 -4
- package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/browser/error/MissingDeleteDateColumnError.d.ts +1 -1
- package/browser/error/MissingDeleteDateColumnError.js +7 -4
- package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
- package/browser/error/MissingDriverError.js +7 -4
- package/browser/error/MissingDriverError.js.map +1 -1
- package/browser/error/MissingJoinColumnError.d.ts +2 -2
- package/browser/error/MissingJoinColumnError.js +7 -4
- package/browser/error/MissingJoinColumnError.js.map +1 -1
- package/browser/error/MissingJoinTableError.d.ts +2 -2
- package/browser/error/MissingJoinTableError.js +7 -4
- package/browser/error/MissingJoinTableError.js.map +1 -1
- package/browser/error/MissingPrimaryColumnError.d.ts +1 -1
- package/browser/error/MissingPrimaryColumnError.js +7 -4
- package/browser/error/MissingPrimaryColumnError.js.map +1 -1
- package/browser/error/MustBeEntityError.js +7 -4
- package/browser/error/MustBeEntityError.js.map +1 -1
- package/browser/error/NestedSetMultipleRootError.js +7 -4
- package/browser/error/NestedSetMultipleRootError.js.map +1 -1
- package/browser/error/NoConnectionForRepositoryError.d.ts +1 -1
- package/browser/error/NoConnectionForRepositoryError.js +10 -7
- package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
- package/browser/error/NoConnectionOptionError.js +7 -4
- package/browser/error/NoConnectionOptionError.js.map +1 -1
- package/browser/error/NoNeedToReleaseEntityManagerError.js +7 -4
- package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/browser/error/NoVersionOrUpdateDateColumnError.js +7 -4
- package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/browser/error/OffsetWithoutLimitNotSupportedError.js +7 -4
- package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/browser/error/OptimisticLockCanNotBeUsedError.js +7 -4
- package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/browser/error/OptimisticLockVersionMismatchError.js +7 -4
- package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/browser/error/PersistedEntityNotFoundError.js +7 -4
- package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
- package/browser/error/PessimisticLockTransactionRequiredError.js +7 -4
- package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/browser/error/PrimaryColumnCannotBeNullableError.js +7 -4
- package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/browser/error/QueryFailedError.js +9 -6
- package/browser/error/QueryFailedError.js.map +1 -1
- package/browser/error/QueryRunnerAlreadyReleasedError.js +7 -4
- package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/browser/error/QueryRunnerProviderAlreadyReleasedError.js +7 -4
- package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/browser/error/RepositoryNotTreeError.d.ts +1 -1
- package/browser/error/RepositoryNotTreeError.js +11 -8
- package/browser/error/RepositoryNotTreeError.js.map +1 -1
- package/browser/error/ReturningStatementNotSupportedError.js +7 -4
- package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/browser/error/SubjectRemovedAndUpdatedError.d.ts +1 -1
- package/browser/error/SubjectRemovedAndUpdatedError.js +7 -4
- package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/browser/error/SubjectWithoutIdentifierError.d.ts +1 -1
- package/browser/error/SubjectWithoutIdentifierError.js +7 -4
- package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/browser/error/TransactionAlreadyStartedError.js +7 -4
- package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
- package/browser/error/TransactionNotStartedError.js +7 -4
- package/browser/error/TransactionNotStartedError.js.map +1 -1
- package/browser/error/TreeRepositoryNotSupportedError.d.ts +1 -1
- package/browser/error/TreeRepositoryNotSupportedError.js +7 -4
- package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/browser/error/TypeORMError.js +6 -3
- package/browser/error/TypeORMError.js.map +1 -1
- package/browser/error/UpdateValuesMissingError.js +7 -4
- package/browser/error/UpdateValuesMissingError.js.map +1 -1
- package/browser/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -2
- package/browser/error/UsingJoinColumnIsNotAllowedError.js +7 -4
- package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -2
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +7 -4
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableIsNotAllowedError.d.ts +2 -2
- package/browser/error/UsingJoinTableIsNotAllowedError.js +7 -4
- package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -2
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js +7 -4
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/error/index.d.ts +0 -3
- package/browser/error/index.js +62 -63
- package/browser/error/index.js.map +1 -1
- package/browser/find-options/EqualOperator.js +7 -4
- package/browser/find-options/EqualOperator.js.map +1 -1
- package/browser/find-options/FindManyOptions.d.ts +1 -1
- package/browser/find-options/FindManyOptions.js +3 -3
- package/browser/find-options/FindManyOptions.js.map +1 -1
- package/browser/find-options/FindOneOptions.d.ts +7 -14
- package/browser/find-options/FindOneOptions.js +3 -3
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOperator.d.ts +3 -3
- package/browser/find-options/FindOperator.js +16 -13
- package/browser/find-options/FindOperator.js.map +1 -1
- package/browser/find-options/FindOperatorType.js +3 -3
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/FindOptionsOrder.d.ts +2 -2
- package/browser/find-options/FindOptionsOrder.js +3 -3
- package/browser/find-options/FindOptionsOrder.js.map +1 -1
- package/browser/find-options/FindOptionsRelations.d.ts +2 -9
- package/browser/find-options/FindOptionsRelations.js +3 -3
- package/browser/find-options/FindOptionsRelations.js.map +1 -1
- package/browser/find-options/FindOptionsSelect.d.ts +2 -9
- package/browser/find-options/FindOptionsSelect.js +3 -3
- package/browser/find-options/FindOptionsSelect.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.d.ts +46 -11
- package/browser/find-options/FindOptionsUtils.js +114 -28
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/FindOptionsWhere.d.ts +4 -4
- package/browser/find-options/FindOptionsWhere.js +3 -3
- package/browser/find-options/FindOptionsWhere.js.map +1 -1
- package/browser/find-options/FindTreeOptions.js +3 -3
- package/browser/find-options/FindTreeOptions.js.map +1 -1
- package/browser/find-options/OrderByCondition.d.ts +0 -2
- package/browser/find-options/OrderByCondition.js +3 -3
- package/browser/find-options/OrderByCondition.js.map +1 -1
- package/browser/find-options/mongodb/MongoFindManyOptions.d.ts +1 -1
- package/browser/find-options/mongodb/MongoFindManyOptions.js +3 -3
- package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
- package/browser/find-options/mongodb/MongoFindOneOptions.d.ts +2 -2
- package/browser/find-options/mongodb/MongoFindOneOptions.js +3 -3
- package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
- package/browser/find-options/operator/And.d.ts +4 -0
- package/browser/find-options/operator/And.js +11 -5
- package/browser/find-options/operator/And.js.map +1 -1
- package/browser/find-options/operator/Any.d.ts +1 -0
- package/browser/find-options/operator/Any.js +8 -5
- package/browser/find-options/operator/Any.js.map +1 -1
- package/browser/find-options/operator/ArrayContainedBy.d.ts +1 -0
- package/browser/find-options/operator/ArrayContainedBy.js +8 -5
- package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/browser/find-options/operator/ArrayContains.d.ts +1 -0
- package/browser/find-options/operator/ArrayContains.js +8 -5
- package/browser/find-options/operator/ArrayContains.js.map +1 -1
- package/browser/find-options/operator/ArrayOverlap.d.ts +1 -0
- package/browser/find-options/operator/ArrayOverlap.js +8 -5
- package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
- package/browser/find-options/operator/Between.d.ts +2 -0
- package/browser/find-options/operator/Between.js +9 -5
- package/browser/find-options/operator/Between.js.map +1 -1
- package/browser/find-options/operator/Equal.d.ts +2 -1
- package/browser/find-options/operator/Equal.js +8 -5
- package/browser/find-options/operator/Equal.js.map +1 -1
- package/browser/find-options/operator/ILike.d.ts +1 -0
- package/browser/find-options/operator/ILike.js +8 -5
- package/browser/find-options/operator/ILike.js.map +1 -1
- package/browser/find-options/operator/In.d.ts +1 -0
- package/browser/find-options/operator/In.js +8 -5
- package/browser/find-options/operator/In.js.map +1 -1
- package/browser/find-options/operator/IsNull.js +7 -5
- package/browser/find-options/operator/IsNull.js.map +1 -1
- package/browser/find-options/operator/JsonContains.d.ts +1 -0
- package/browser/find-options/operator/JsonContains.js +8 -5
- package/browser/find-options/operator/JsonContains.js.map +1 -1
- package/browser/find-options/operator/LessThan.d.ts +1 -0
- package/browser/find-options/operator/LessThan.js +8 -5
- package/browser/find-options/operator/LessThan.js.map +1 -1
- package/browser/find-options/operator/LessThanOrEqual.d.ts +1 -0
- package/browser/find-options/operator/LessThanOrEqual.js +8 -5
- package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/browser/find-options/operator/Like.d.ts +1 -0
- package/browser/find-options/operator/Like.js +8 -5
- package/browser/find-options/operator/Like.js.map +1 -1
- package/browser/find-options/operator/MoreThan.d.ts +1 -0
- package/browser/find-options/operator/MoreThan.js +8 -5
- package/browser/find-options/operator/MoreThan.js.map +1 -1
- package/browser/find-options/operator/MoreThanOrEqual.d.ts +1 -0
- package/browser/find-options/operator/MoreThanOrEqual.js +8 -5
- package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/browser/find-options/operator/Not.d.ts +1 -0
- package/browser/find-options/operator/Not.js +8 -5
- package/browser/find-options/operator/Not.js.map +1 -1
- package/browser/find-options/operator/Or.d.ts +4 -0
- package/browser/find-options/operator/Or.js +11 -5
- package/browser/find-options/operator/Or.js.map +1 -1
- package/browser/find-options/operator/Raw.d.ts +5 -1
- package/browser/find-options/operator/Raw.js +8 -6
- package/browser/find-options/operator/Raw.js.map +1 -1
- package/browser/globals.d.ts +2 -114
- package/browser/globals.js +17 -163
- package/browser/globals.js.map +1 -1
- package/browser/index.d.ts +62 -69
- package/browser/index.js +141 -161
- package/browser/index.js.map +1 -1
- package/browser/logger/AbstractLogger.d.ts +26 -3
- package/browser/logger/AbstractLogger.js +32 -6
- package/browser/logger/AbstractLogger.js.map +1 -1
- package/browser/logger/AdvancedConsoleLogger.d.ts +5 -2
- package/browser/logger/AdvancedConsoleLogger.js +18 -12
- package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
- package/browser/logger/DebugLogger.d.ts +6 -2
- package/browser/logger/DebugLogger.js +21 -14
- package/browser/logger/DebugLogger.js.map +1 -1
- package/browser/logger/FileLogger.d.ts +7 -3
- package/browser/logger/FileLogger.js +17 -9
- package/browser/logger/FileLogger.js.map +1 -1
- package/browser/logger/FormattedConsoleLogger.d.ts +5 -2
- package/browser/logger/FormattedConsoleLogger.js +18 -12
- package/browser/logger/FormattedConsoleLogger.js.map +1 -1
- package/browser/logger/Logger.d.ts +1 -1
- package/browser/logger/Logger.js +3 -3
- package/browser/logger/Logger.js.map +1 -1
- package/browser/logger/LoggerFactory.d.ts +4 -2
- package/browser/logger/LoggerFactory.js +21 -16
- package/browser/logger/LoggerFactory.js.map +1 -1
- package/browser/logger/LoggerOptions.d.ts +1 -1
- package/browser/logger/LoggerOptions.js +3 -3
- package/browser/logger/LoggerOptions.js.map +1 -1
- package/browser/logger/SimpleConsoleLogger.d.ts +5 -2
- package/browser/logger/SimpleConsoleLogger.js +10 -4
- package/browser/logger/SimpleConsoleLogger.js.map +1 -1
- package/browser/metadata/CheckMetadata.d.ts +4 -3
- package/browser/metadata/CheckMetadata.js +7 -3
- package/browser/metadata/CheckMetadata.js.map +1 -1
- package/browser/metadata/ColumnMetadata.d.ts +24 -23
- package/browser/metadata/ColumnMetadata.js +85 -74
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.d.ts +14 -22
- package/browser/metadata/EmbeddedMetadata.js +11 -18
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/EntityListenerMetadata.d.ts +9 -5
- package/browser/metadata/EntityListenerMetadata.js +10 -3
- package/browser/metadata/EntityListenerMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +60 -35
- package/browser/metadata/EntityMetadata.js +71 -57
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/ExclusionMetadata.d.ts +9 -3
- package/browser/metadata/ExclusionMetadata.js +8 -3
- package/browser/metadata/ExclusionMetadata.js.map +1 -1
- package/browser/metadata/ForeignKeyMetadata.d.ts +7 -6
- package/browser/metadata/ForeignKeyMetadata.js +7 -3
- package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
- package/browser/metadata/IndexMetadata.d.ts +13 -5
- package/browser/metadata/IndexMetadata.js +27 -10
- package/browser/metadata/IndexMetadata.js.map +1 -1
- package/browser/metadata/RelationIdMetadata.d.ts +6 -5
- package/browser/metadata/RelationIdMetadata.js +9 -5
- package/browser/metadata/RelationIdMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.d.ts +27 -16
- package/browser/metadata/RelationMetadata.js +29 -15
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/UniqueMetadata.d.ts +7 -6
- package/browser/metadata/UniqueMetadata.js +19 -9
- package/browser/metadata/UniqueMetadata.js.map +1 -1
- package/browser/metadata/types/ClosureTreeOptions.d.ts +1 -1
- package/browser/metadata/types/ClosureTreeOptions.js +3 -3
- package/browser/metadata/types/ClosureTreeOptions.js.map +1 -1
- package/browser/metadata/types/DeferrableType.js +3 -3
- package/browser/metadata/types/DeferrableType.js.map +1 -1
- package/browser/metadata/types/EventListenerTypes.js +17 -14
- package/browser/metadata/types/EventListenerTypes.js.map +1 -1
- package/browser/metadata/types/OnDeleteType.js +3 -3
- package/browser/metadata/types/OnDeleteType.js.map +1 -1
- package/browser/metadata/types/OnUpdateType.js +3 -3
- package/browser/metadata/types/OnUpdateType.js.map +1 -1
- package/browser/metadata/types/PropertyTypeInFunction.js +3 -3
- package/browser/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/browser/metadata/types/RelationTypeInFunction.d.ts +1 -1
- package/browser/metadata/types/RelationTypeInFunction.js +3 -3
- package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/browser/metadata/types/RelationTypes.js +3 -3
- package/browser/metadata/types/RelationTypes.js.map +1 -1
- package/browser/metadata/types/TableTypes.js +3 -3
- package/browser/metadata/types/TableTypes.js.map +1 -1
- package/browser/metadata/types/TreeTypes.js +3 -3
- package/browser/metadata/types/TreeTypes.js.map +1 -1
- package/browser/metadata-args/CheckMetadataArgs.js +3 -3
- package/browser/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/browser/metadata-args/ColumnMetadataArgs.d.ts +2 -2
- package/browser/metadata-args/ColumnMetadataArgs.js +3 -3
- package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +3 -3
- package/browser/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EmbeddedMetadataArgs.js +3 -3
- package/browser/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EntityListenerMetadataArgs.d.ts +1 -1
- package/browser/metadata-args/EntityListenerMetadataArgs.js +3 -3
- package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/browser/metadata-args/EntitySubscriberMetadataArgs.js +3 -3
- package/browser/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/browser/metadata-args/ExclusionMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/ExclusionMetadataArgs.js +3 -3
- package/browser/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/browser/metadata-args/ForeignKeyMetadataArgs.d.ts +5 -5
- package/browser/metadata-args/ForeignKeyMetadataArgs.js +3 -3
- package/browser/metadata-args/ForeignKeyMetadataArgs.js.map +1 -1
- package/browser/metadata-args/GeneratedMetadataArgs.js +3 -3
- package/browser/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/browser/metadata-args/IndexMetadataArgs.d.ts +7 -0
- package/browser/metadata-args/IndexMetadataArgs.js +3 -3
- package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/browser/metadata-args/InheritanceMetadataArgs.d.ts +1 -1
- package/browser/metadata-args/InheritanceMetadataArgs.js +3 -3
- package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/browser/metadata-args/JoinColumnMetadataArgs.js +3 -3
- package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/browser/metadata-args/JoinTableMetadataArgs.d.ts +1 -1
- package/browser/metadata-args/JoinTableMetadataArgs.js +3 -3
- package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/browser/metadata-args/MetadataArgsStorage.d.ts +29 -27
- package/browser/metadata-args/MetadataArgsStorage.js +16 -10
- package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/browser/metadata-args/NamingStrategyMetadataArgs.js +3 -3
- package/browser/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
- package/browser/metadata-args/RelationIdMetadataArgs.js +3 -3
- package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationMetadataArgs.d.ts +4 -4
- package/browser/metadata-args/RelationMetadataArgs.js +3 -3
- package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TableMetadataArgs.d.ts +5 -4
- package/browser/metadata-args/TableMetadataArgs.js +3 -3
- package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TransactionEntityMetadataArgs.d.ts +1 -1
- package/browser/metadata-args/TransactionEntityMetadataArgs.js +3 -3
- package/browser/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.d.ts +1 -1
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +3 -3
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/browser/metadata-args/TreeMetadataArgs.d.ts +2 -2
- package/browser/metadata-args/TreeMetadataArgs.js +3 -3
- package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.d.ts +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.js +3 -3
- package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/browser/metadata-args/types/ColumnMode.js +3 -3
- package/browser/metadata-args/types/ColumnMode.js.map +1 -1
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +4 -3
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +27 -28
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.d.ts +16 -6
- package/browser/metadata-builder/EntityMetadataBuilder.js +119 -126
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.d.ts +9 -2
- package/browser/metadata-builder/EntityMetadataValidator.js +42 -37
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.d.ts +11 -5
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +53 -52
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/MetadataUtils.d.ts +5 -0
- package/browser/metadata-builder/MetadataUtils.js +11 -3
- package/browser/metadata-builder/MetadataUtils.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +24 -12
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +46 -34
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/migration/Migration.d.ts +1 -1
- package/browser/migration/Migration.js +6 -3
- package/browser/migration/Migration.js.map +1 -1
- package/browser/migration/MigrationExecutor.d.ts +16 -9
- package/browser/migration/MigrationExecutor.js +95 -79
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/migration/MigrationInterface.d.ts +1 -1
- package/browser/migration/MigrationInterface.js +3 -3
- package/browser/migration/MigrationInterface.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.d.ts +5 -5
- package/browser/naming-strategy/DefaultNamingStrategy.js +24 -21
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/LegacyOracleNamingStrategy.d.ts +1 -1
- package/browser/naming-strategy/LegacyOracleNamingStrategy.js +12 -9
- package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.d.ts +3 -5
- package/browser/naming-strategy/NamingStrategyInterface.js +3 -3
- package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.d.ts +7 -7
- package/browser/persistence/EntityPersistExecutor.js +32 -29
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.d.ts +5 -5
- package/browser/persistence/Subject.js +13 -9
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectChangeMap.d.ts +3 -3
- package/browser/persistence/SubjectChangeMap.js +3 -3
- package/browser/persistence/SubjectChangeMap.js.map +1 -1
- package/browser/persistence/SubjectChangedColumnsComputer.d.ts +5 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js +48 -36
- package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +3 -2
- package/browser/persistence/SubjectDatabaseEntityLoader.js +15 -8
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.d.ts +7 -4
- package/browser/persistence/SubjectExecutor.js +63 -49
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopologicalSorter.d.ts +6 -2
- package/browser/persistence/SubjectTopologicalSorter.js +23 -6
- package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +5 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +14 -7
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +16 -6
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +29 -16
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.d.ts +14 -7
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +26 -16
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +14 -7
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +24 -14
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +6 -2
- package/browser/persistence/tree/ClosureSubjectExecutor.js +24 -17
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +4 -2
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +17 -11
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/NestedSetSubjectExecutor.d.ts +10 -4
- package/browser/persistence/tree/NestedSetSubjectExecutor.js +25 -16
- package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/browser/platform/BrowserConnectionOptionsReaderDummy.d.ts +0 -11
- package/browser/platform/BrowserConnectionOptionsReaderDummy.js +10 -22
- package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -1
- package/browser/platform/BrowserDirectoryExportedClassesLoader.d.ts +0 -4
- package/browser/platform/BrowserDirectoryExportedClassesLoader.js +5 -9
- package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -1
- package/browser/platform/BrowserDisabledDriversDummy.d.ts +0 -6
- package/browser/platform/BrowserDisabledDriversDummy.js +30 -21
- package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
- package/browser/platform/BrowserFileLoggerDummy.js +8 -4
- package/browser/platform/BrowserFileLoggerDummy.js.map +1 -1
- package/browser/platform/BrowserPlatformTools.d.ts +7 -5
- package/browser/platform/BrowserPlatformTools.js +16 -33
- package/browser/platform/BrowserPlatformTools.js.map +1 -1
- package/browser/platform/PlatformTools.d.ts +12 -11
- package/browser/platform/PlatformTools.js +62 -65
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/Alias.d.ts +1 -1
- package/browser/query-builder/Alias.js +10 -7
- package/browser/query-builder/Alias.js.map +1 -1
- package/browser/query-builder/Brackets.d.ts +2 -1
- package/browser/query-builder/Brackets.js +7 -3
- package/browser/query-builder/Brackets.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.d.ts +17 -6
- package/browser/query-builder/DeleteQueryBuilder.js +29 -13
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertOrUpdateOptions.d.ts +3 -3
- package/browser/query-builder/InsertOrUpdateOptions.js +3 -3
- package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.d.ts +34 -29
- package/browser/query-builder/InsertQueryBuilder.js +320 -187
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.d.ts +7 -7
- package/browser/query-builder/JoinAttribute.js +25 -33
- package/browser/query-builder/JoinAttribute.js.map +1 -1
- package/browser/query-builder/JoinOptions.js +3 -3
- package/browser/query-builder/JoinOptions.js.map +1 -1
- package/browser/query-builder/NotBrackets.js +7 -4
- package/browser/query-builder/NotBrackets.js.map +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +51 -33
- package/browser/query-builder/QueryBuilder.js +120 -127
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilderCte.js +3 -3
- package/browser/query-builder/QueryBuilderCte.js.map +1 -1
- package/browser/query-builder/QueryBuilderUtils.d.ts +1 -0
- package/browser/query-builder/QueryBuilderUtils.js +7 -3
- package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +29 -30
- package/browser/query-builder/QueryExpressionMap.js +36 -39
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/QueryPartialEntity.d.ts +1 -1
- package/browser/query-builder/QueryPartialEntity.js +3 -3
- package/browser/query-builder/QueryPartialEntity.js.map +1 -1
- package/browser/query-builder/RelationIdLoader.d.ts +39 -11
- package/browser/query-builder/RelationIdLoader.js +106 -65
- package/browser/query-builder/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/RelationLoader.d.ts +49 -14
- package/browser/query-builder/RelationLoader.js +86 -28
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.d.ts +7 -11
- package/browser/query-builder/RelationQueryBuilder.js +33 -34
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationRemover.d.ts +3 -2
- package/browser/query-builder/RelationRemover.js +12 -8
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/RelationUpdater.d.ts +3 -2
- package/browser/query-builder/RelationUpdater.js +17 -13
- package/browser/query-builder/RelationUpdater.js.map +1 -1
- package/browser/query-builder/ReturningOption.d.ts +4 -0
- package/browser/query-builder/ReturningOption.js +3 -0
- package/browser/query-builder/ReturningOption.js.map +1 -0
- package/browser/query-builder/ReturningResultsEntityUpdator.d.ts +10 -6
- package/browser/query-builder/ReturningResultsEntityUpdator.js +21 -14
- package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/browser/query-builder/SelectQuery.js +3 -3
- package/browser/query-builder/SelectQuery.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +71 -33
- package/browser/query-builder/SelectQueryBuilder.js +418 -338
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilderOption.js +3 -3
- package/browser/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +24 -7
- package/browser/query-builder/SoftDeleteQueryBuilder.js +61 -31
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.d.ts +23 -7
- package/browser/query-builder/UpdateQueryBuilder.js +75 -49
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereClause.js +3 -3
- package/browser/query-builder/WhereClause.js.map +1 -1
- package/browser/query-builder/WhereExpressionBuilder.d.ts +2 -7
- package/browser/query-builder/WhereExpressionBuilder.js +3 -3
- package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/browser/query-builder/index.d.ts +3 -0
- package/browser/query-builder/index.js +21 -16
- package/browser/query-builder/index.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +4 -4
- package/browser/query-builder/relation-id/RelationIdAttribute.js +17 -14
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoadResult.d.ts +1 -1
- package/browser/query-builder/relation-id/RelationIdLoadResult.js +3 -3
- package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.d.ts +6 -6
- package/browser/query-builder/relation-id/RelationIdLoader.js +22 -19
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +1 -1
- package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +8 -5
- package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/browser/query-builder/result/DeleteResult.d.ts +1 -1
- package/browser/query-builder/result/DeleteResult.js +6 -3
- package/browser/query-builder/result/DeleteResult.js.map +1 -1
- package/browser/query-builder/result/InsertResult.d.ts +2 -2
- package/browser/query-builder/result/InsertResult.js +6 -3
- package/browser/query-builder/result/InsertResult.js.map +1 -1
- package/browser/query-builder/result/UpdateResult.d.ts +2 -2
- package/browser/query-builder/result/UpdateResult.js +6 -3
- package/browser/query-builder/result/UpdateResult.js.map +1 -1
- package/browser/query-builder/transformer/DocumentToEntityTransformer.d.ts +3 -3
- package/browser/query-builder/transformer/DocumentToEntityTransformer.js +7 -74
- package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +3 -3
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +22 -8
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +6 -2
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js +13 -6
- package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +22 -11
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +57 -59
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +79 -16
- package/browser/query-runner/BaseQueryRunner.js +120 -54
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryLock.js +9 -4
- package/browser/query-runner/QueryLock.js.map +1 -1
- package/browser/query-runner/QueryResult.js +6 -3
- package/browser/query-runner/QueryResult.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +52 -56
- package/browser/query-runner/QueryRunner.js +3 -3
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/repository/BaseEntity.d.ts +64 -44
- package/browser/repository/BaseEntity.js +61 -34
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/EntityId.d.ts +1 -1
- package/browser/repository/EntityId.js +3 -3
- package/browser/repository/EntityId.js.map +1 -1
- package/browser/repository/FindTreesOptions.js +3 -3
- package/browser/repository/FindTreesOptions.js.map +1 -1
- package/browser/repository/MongoRepository.d.ts +79 -29
- package/browser/repository/MongoRepository.js +80 -31
- package/browser/repository/MongoRepository.js.map +1 -1
- package/browser/repository/RemoveOptions.js +3 -3
- package/browser/repository/RemoveOptions.js.map +1 -1
- package/browser/repository/Repository.d.ts +75 -52
- package/browser/repository/Repository.js +76 -50
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/SaveOptions.js +3 -3
- package/browser/repository/SaveOptions.js.map +1 -1
- package/browser/repository/TreeRepository.d.ts +21 -4
- package/browser/repository/TreeRepository.js +48 -28
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/repository/UpdateOptions.d.ts +11 -0
- package/browser/repository/UpdateOptions.js +3 -0
- package/browser/repository/UpdateOptions.js.map +1 -0
- package/browser/repository/UpsertOptions.d.ts +8 -2
- package/browser/repository/UpsertOptions.js +3 -3
- package/browser/repository/UpsertOptions.js.map +1 -1
- package/browser/schema-builder/MongoSchemaBuilder.d.ts +4 -4
- package/browser/schema-builder/MongoSchemaBuilder.js +12 -9
- package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +29 -9
- package/browser/schema-builder/RdbmsSchemaBuilder.js +202 -180
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/SchemaBuilder.d.ts +1 -1
- package/browser/schema-builder/SchemaBuilder.js +3 -3
- package/browser/schema-builder/SchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableCheckOptions.js +3 -3
- package/browser/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/browser/schema-builder/options/TableColumnOptions.d.ts +0 -10
- package/browser/schema-builder/options/TableColumnOptions.js +3 -3
- package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/browser/schema-builder/options/TableExclusionOptions.d.ts +5 -0
- package/browser/schema-builder/options/TableExclusionOptions.js +3 -3
- package/browser/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.js +3 -3
- package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.d.ts +7 -0
- package/browser/schema-builder/options/TableIndexOptions.js +3 -3
- package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/browser/schema-builder/options/TableIndexTypes.d.ts +1 -0
- package/browser/schema-builder/options/TableIndexTypes.js +3 -0
- package/browser/schema-builder/options/TableIndexTypes.js.map +1 -0
- package/browser/schema-builder/options/TableOptions.d.ts +6 -6
- package/browser/schema-builder/options/TableOptions.js +3 -3
- package/browser/schema-builder/options/TableOptions.js.map +1 -1
- package/browser/schema-builder/options/TableUniqueOptions.js +3 -3
- package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/browser/schema-builder/options/ViewOptions.d.ts +3 -2
- package/browser/schema-builder/options/ViewOptions.js +3 -3
- package/browser/schema-builder/options/ViewOptions.js.map +1 -1
- package/browser/schema-builder/table/Table.d.ts +23 -3
- package/browser/schema-builder/table/Table.js +44 -21
- package/browser/schema-builder/table/Table.js.map +1 -1
- package/browser/schema-builder/table/TableCheck.d.ts +3 -2
- package/browser/schema-builder/table/TableCheck.js +7 -3
- package/browser/schema-builder/table/TableCheck.js.map +1 -1
- package/browser/schema-builder/table/TableColumn.d.ts +1 -11
- package/browser/schema-builder/table/TableColumn.js +7 -13
- package/browser/schema-builder/table/TableColumn.js.map +1 -1
- package/browser/schema-builder/table/TableExclusion.d.ts +8 -2
- package/browser/schema-builder/table/TableExclusion.js +10 -3
- package/browser/schema-builder/table/TableExclusion.js.map +1 -1
- package/browser/schema-builder/table/TableForeignKey.d.ts +5 -3
- package/browser/schema-builder/table/TableForeignKey.js +8 -3
- package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.d.ts +10 -2
- package/browser/schema-builder/table/TableIndex.js +10 -3
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.d.ts +3 -2
- package/browser/schema-builder/table/TableUnique.js +7 -3
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/schema-builder/util/TableUtils.d.ts +3 -3
- package/browser/schema-builder/util/TableUtils.js +6 -5
- package/browser/schema-builder/util/TableUtils.js.map +1 -1
- package/browser/schema-builder/util/ViewUtils.d.ts +3 -1
- package/browser/schema-builder/util/ViewUtils.js +8 -3
- package/browser/schema-builder/util/ViewUtils.js.map +1 -1
- package/browser/schema-builder/view/View.d.ts +11 -3
- package/browser/schema-builder/view/View.js +10 -3
- package/browser/schema-builder/view/View.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +76 -10
- package/browser/subscriber/Broadcaster.js +157 -71
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/BroadcasterResult.js +6 -3
- package/browser/subscriber/BroadcasterResult.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +12 -12
- package/browser/subscriber/EntitySubscriberInterface.js +3 -3
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/BaseEvent.d.ts +27 -0
- package/browser/subscriber/event/BaseEvent.js +3 -0
- package/browser/subscriber/event/BaseEvent.js.map +1 -0
- package/browser/subscriber/event/InsertEvent.d.ts +4 -20
- package/browser/subscriber/event/InsertEvent.js +3 -3
- package/browser/subscriber/event/InsertEvent.js.map +1 -1
- package/browser/subscriber/event/LoadEvent.d.ts +3 -19
- package/browser/subscriber/event/LoadEvent.js +3 -3
- package/browser/subscriber/event/LoadEvent.js.map +1 -1
- package/browser/subscriber/event/QueryEvent.d.ts +4 -20
- package/browser/subscriber/event/QueryEvent.js +3 -3
- package/browser/subscriber/event/QueryEvent.js.map +1 -1
- package/browser/subscriber/event/RecoverEvent.d.ts +1 -1
- package/browser/subscriber/event/RecoverEvent.js +3 -3
- package/browser/subscriber/event/RecoverEvent.js.map +1 -1
- package/browser/subscriber/event/RemoveEvent.d.ts +3 -19
- package/browser/subscriber/event/RemoveEvent.js +3 -3
- package/browser/subscriber/event/RemoveEvent.js.map +1 -1
- package/browser/subscriber/event/SoftRemoveEvent.d.ts +1 -1
- package/browser/subscriber/event/SoftRemoveEvent.js +3 -3
- package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -1
- package/browser/subscriber/event/TransactionCommitEvent.d.ts +2 -18
- package/browser/subscriber/event/TransactionCommitEvent.js +3 -3
- package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -1
- package/browser/subscriber/event/TransactionRollbackEvent.d.ts +2 -18
- package/browser/subscriber/event/TransactionRollbackEvent.js +3 -3
- package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -1
- package/browser/subscriber/event/TransactionStartEvent.d.ts +2 -18
- package/browser/subscriber/event/TransactionStartEvent.js +3 -3
- package/browser/subscriber/event/TransactionStartEvent.js.map +1 -1
- package/browser/subscriber/event/UpdateEvent.d.ts +6 -22
- package/browser/subscriber/event/UpdateEvent.js +3 -3
- package/browser/subscriber/event/UpdateEvent.js.map +1 -1
- package/browser/util/ApplyValueTransformers.d.ts +1 -1
- package/browser/util/ApplyValueTransformers.js +11 -3
- package/browser/util/ApplyValueTransformers.js.map +1 -1
- package/browser/util/DateUtils.d.ts +36 -1
- package/browser/util/DateUtils.js +63 -11
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/DepGraph.d.ts +16 -0
- package/browser/util/DepGraph.js +30 -12
- package/browser/util/DepGraph.js.map +1 -1
- package/browser/util/DirectoryExportedClassesLoader.d.ts +4 -5
- package/browser/util/DirectoryExportedClassesLoader.js +23 -24
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ImportUtils.d.ts +4 -0
- package/browser/util/ImportUtils.js +28 -12
- package/browser/util/ImportUtils.js.map +1 -1
- package/browser/util/InstanceChecker.d.ts +2 -2
- package/browser/util/InstanceChecker.js +6 -3
- package/browser/util/InstanceChecker.js.map +1 -1
- package/browser/util/ObjectUtils.d.ts +4 -1
- package/browser/util/ObjectUtils.js +9 -3
- package/browser/util/ObjectUtils.js.map +1 -1
- package/browser/util/OrmUtils.d.ts +43 -4
- package/browser/util/OrmUtils.js +119 -20
- package/browser/util/OrmUtils.js.map +1 -1
- package/browser/util/PathUtils.d.ts +6 -0
- package/browser/util/PathUtils.js +17 -7
- package/browser/util/PathUtils.js.map +1 -1
- package/browser/util/RandomGenerator.d.ts +9 -0
- package/browser/util/RandomGenerator.js +107 -69
- package/browser/util/RandomGenerator.js.map +1 -1
- package/browser/util/SqlTagUtils.d.ts +8 -1
- package/browser/util/SqlTagUtils.js +15 -5
- package/browser/util/SqlTagUtils.js.map +1 -1
- package/browser/util/StringUtils.d.ts +13 -8
- package/browser/util/StringUtils.js +50 -22
- package/browser/util/StringUtils.js.map +1 -1
- package/browser/util/TreeRepositoryUtils.d.ts +3 -3
- package/browser/util/TreeRepositoryUtils.js +8 -5
- package/browser/util/TreeRepositoryUtils.js.map +1 -1
- package/browser/util/Uint8ArrayUtils.d.ts +3 -0
- package/browser/util/Uint8ArrayUtils.js +45 -0
- package/browser/util/Uint8ArrayUtils.js.map +1 -0
- package/browser/util/VersionUtils.js +10 -3
- package/browser/util/VersionUtils.js.map +1 -1
- package/browser/util/escapeRegExp.js +6 -3
- package/browser/util/escapeRegExp.js.map +1 -1
- package/cache/DbQueryResultCache.d.ts +17 -6
- package/cache/DbQueryResultCache.js +31 -21
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/QueryResultCache.d.ts +2 -2
- package/cache/QueryResultCache.js +1 -2
- package/cache/QueryResultCache.js.map +1 -1
- package/cache/QueryResultCacheFactory.d.ts +4 -4
- package/cache/QueryResultCacheFactory.js +8 -9
- package/cache/QueryResultCacheFactory.js.map +1 -1
- package/cache/QueryResultCacheOptions.js +1 -2
- package/cache/QueryResultCacheOptions.js.map +1 -1
- package/cache/RedisQueryResultCache.d.ts +18 -19
- package/cache/RedisQueryResultCache.js +43 -123
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli-ts-node-commonjs.js +1 -2
- package/cli-ts-node-commonjs.js.map +1 -1
- package/cli-ts-node-esm.js +1 -2
- package/cli-ts-node-esm.js.map +1 -1
- package/cli.js +19 -19
- package/cli.js.map +1 -1
- package/commands/CacheClearCommand.d.ts +1 -1
- package/commands/CacheClearCommand.js +1 -2
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.d.ts +7 -1
- package/commands/CommandUtils.js +10 -4
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.d.ts +2 -1
- package/commands/EntityCreateCommand.js +2 -2
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +19 -2
- package/commands/InitCommand.js +115 -85
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +6 -1
- package/commands/MigrationCreateCommand.js +6 -2
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +12 -1
- package/commands/MigrationGenerateCommand.js +13 -3
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.d.ts +1 -1
- package/commands/MigrationRevertCommand.js +1 -2
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.d.ts +1 -1
- package/commands/MigrationRunCommand.js +5 -6
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.d.ts +1 -1
- package/commands/MigrationShowCommand.js +1 -2
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.d.ts +1 -1
- package/commands/QueryCommand.js +1 -2
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.d.ts +1 -1
- package/commands/SchemaDropCommand.js +1 -2
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.d.ts +1 -1
- package/commands/SchemaLogCommand.js +1 -2
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.d.ts +1 -1
- package/commands/SchemaSyncCommand.js +1 -2
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.d.ts +2 -1
- package/commands/SubscriberCreateCommand.js +2 -2
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.d.ts +1 -1
- package/commands/VersionCommand.js +1 -2
- package/commands/VersionCommand.js.map +1 -1
- package/common/DeepPartial.js +1 -2
- package/common/DeepPartial.js.map +1 -1
- package/common/EntityTarget.d.ts +2 -2
- package/common/EntityTarget.js +1 -2
- package/common/EntityTarget.js.map +1 -1
- package/common/MixedList.js +1 -2
- package/common/MixedList.js.map +1 -1
- package/common/NonNever.d.ts +1 -1
- package/common/NonNever.js +1 -2
- package/common/NonNever.js.map +1 -1
- package/common/ObjectLiteral.js +1 -2
- package/common/ObjectLiteral.js.map +1 -1
- package/common/ObjectType.js +1 -2
- package/common/ObjectType.js.map +1 -1
- package/common/PickKeysByType.js +1 -2
- package/common/PickKeysByType.js.map +1 -1
- package/common/PrimitiveCriteria.js +1 -2
- package/common/PrimitiveCriteria.js.map +1 -1
- package/common/RelationType.d.ts +5 -5
- package/common/RelationType.js +1 -2
- package/common/RelationType.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.d.ts +10 -7
- package/connection/ConnectionMetadataBuilder.js +13 -12
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.d.ts +3 -11
- package/connection/ConnectionOptionsReader.js +26 -59
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +13 -20
- package/data-source/BaseDataSourceOptions.js +1 -2
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/data-source/DataSource.d.ts +50 -61
- package/data-source/DataSource.js +38 -49
- package/data-source/DataSource.js.map +1 -1
- package/data-source/DataSourceOptions.d.ts +18 -19
- package/data-source/DataSourceOptions.js +1 -2
- package/data-source/DataSourceOptions.js.map +1 -1
- package/data-source/index.d.ts +1 -1
- package/data-source/index.js +1 -3
- package/data-source/index.js.map +1 -1
- package/decorator/Check.d.ts +3 -0
- package/decorator/Check.js +3 -2
- package/decorator/Check.js.map +1 -1
- package/decorator/Exclusion.d.ts +8 -2
- package/decorator/Exclusion.js +10 -5
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/ForeignKey.d.ts +11 -2
- package/decorator/ForeignKey.js +5 -2
- package/decorator/ForeignKey.js.map +1 -1
- package/decorator/Generated.d.ts +1 -0
- package/decorator/Generated.js +2 -2
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.d.ts +17 -1
- package/decorator/Index.js +5 -2
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.d.ts +11 -1
- package/decorator/Unique.js +4 -2
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.d.ts +31 -10
- package/decorator/columns/Column.js +3 -2
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.d.ts +2 -1
- package/decorator/columns/CreateDateColumn.js +2 -2
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.d.ts +2 -1
- package/decorator/columns/DeleteDateColumn.js +2 -2
- package/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/decorator/columns/ObjectIdColumn.d.ts +2 -1
- package/decorator/columns/ObjectIdColumn.js +2 -2
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.d.ts +5 -2
- package/decorator/columns/PrimaryColumn.js +3 -2
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.d.ts +10 -3
- package/decorator/columns/PrimaryGeneratedColumn.js +3 -2
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.d.ts +2 -1
- package/decorator/columns/UpdateDateColumn.js +2 -2
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.d.ts +2 -1
- package/decorator/columns/VersionColumn.js +2 -2
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.d.ts +2 -1
- package/decorator/columns/ViewColumn.js +2 -2
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/columns/VirtualColumn.d.ts +5 -2
- package/decorator/columns/VirtualColumn.js +3 -2
- package/decorator/columns/VirtualColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.d.ts +1 -0
- package/decorator/entity/ChildEntity.js +2 -2
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.d.ts +4 -1
- package/decorator/entity/Entity.js +3 -2
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.d.ts +4 -1
- package/decorator/entity/TableInheritance.js +4 -2
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.d.ts +4 -1
- package/decorator/entity-view/ViewEntity.js +3 -2
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/listeners/AfterInsert.js +1 -2
- package/decorator/listeners/AfterInsert.js.map +1 -1
- package/decorator/listeners/AfterLoad.js +1 -2
- package/decorator/listeners/AfterLoad.js.map +1 -1
- package/decorator/listeners/AfterRecover.js +1 -2
- package/decorator/listeners/AfterRecover.js.map +1 -1
- package/decorator/listeners/AfterRemove.js +1 -2
- package/decorator/listeners/AfterRemove.js.map +1 -1
- package/decorator/listeners/AfterSoftRemove.js +1 -2
- package/decorator/listeners/AfterSoftRemove.js.map +1 -1
- package/decorator/listeners/AfterUpdate.js +1 -2
- package/decorator/listeners/AfterUpdate.js.map +1 -1
- package/decorator/listeners/BeforeInsert.js +1 -2
- package/decorator/listeners/BeforeInsert.js.map +1 -1
- package/decorator/listeners/BeforeRecover.js +1 -2
- package/decorator/listeners/BeforeRecover.js.map +1 -1
- package/decorator/listeners/BeforeRemove.js +1 -2
- package/decorator/listeners/BeforeRemove.js.map +1 -1
- package/decorator/listeners/BeforeSoftRemove.js +1 -2
- package/decorator/listeners/BeforeSoftRemove.js.map +1 -1
- package/decorator/listeners/BeforeUpdate.js +1 -2
- package/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/decorator/listeners/EventSubscriber.js +1 -2
- package/decorator/listeners/EventSubscriber.js.map +1 -1
- package/decorator/options/ColumnCommonOptions.d.ts +2 -2
- package/decorator/options/ColumnCommonOptions.js +1 -2
- package/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/decorator/options/ColumnEmbeddedOptions.js +1 -2
- package/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/decorator/options/ColumnEnumOptions.js +1 -2
- package/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/decorator/options/ColumnHstoreOptions.js +1 -2
- package/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/decorator/options/ColumnNumericOptions.d.ts +0 -16
- package/decorator/options/ColumnNumericOptions.js +1 -2
- package/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/decorator/options/ColumnOptions.d.ts +8 -33
- package/decorator/options/ColumnOptions.js +1 -2
- package/decorator/options/ColumnOptions.js.map +1 -1
- package/decorator/options/ColumnUnsignedOptions.d.ts +1 -20
- package/decorator/options/ColumnUnsignedOptions.js +1 -2
- package/decorator/options/ColumnUnsignedOptions.js.map +1 -1
- package/decorator/options/ColumnWithLengthOptions.js +1 -2
- package/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/decorator/options/EntityOptions.d.ts +1 -1
- package/decorator/options/EntityOptions.js +1 -2
- package/decorator/options/EntityOptions.js.map +1 -1
- package/decorator/options/ExclusionOptions.d.ts +10 -0
- package/decorator/options/ExclusionOptions.js +3 -0
- package/decorator/options/ExclusionOptions.js.map +1 -0
- package/decorator/options/ForeignKeyOptions.d.ts +3 -3
- package/decorator/options/ForeignKeyOptions.js +1 -2
- package/decorator/options/ForeignKeyOptions.js.map +1 -1
- package/decorator/options/IndexOptions.d.ts +7 -0
- package/decorator/options/IndexOptions.js +1 -2
- package/decorator/options/IndexOptions.js.map +1 -1
- package/decorator/options/JoinColumnOptions.js +1 -2
- package/decorator/options/JoinColumnOptions.js.map +1 -1
- package/decorator/options/JoinTableMultipleColumnsOptions.d.ts +1 -1
- package/decorator/options/JoinTableMultipleColumnsOptions.js +1 -2
- package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/decorator/options/JoinTableOptions.d.ts +1 -1
- package/decorator/options/JoinTableOptions.js +1 -2
- package/decorator/options/JoinTableOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +1 -1
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +1 -2
- package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +1 -9
- package/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -2
- package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -2
- package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/decorator/options/RelationOptions.d.ts +3 -3
- package/decorator/options/RelationOptions.js +1 -2
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/options/SpatialColumnOptions.d.ts +1 -1
- package/decorator/options/SpatialColumnOptions.js +1 -2
- package/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/decorator/options/TransactionOptions.d.ts +1 -1
- package/decorator/options/TransactionOptions.js +1 -2
- package/decorator/options/TransactionOptions.js.map +1 -1
- package/decorator/options/UniqueOptions.d.ts +1 -1
- package/decorator/options/UniqueOptions.js +1 -2
- package/decorator/options/UniqueOptions.js.map +1 -1
- package/decorator/options/ValueTransformer.js +1 -2
- package/decorator/options/ValueTransformer.js.map +1 -1
- package/decorator/options/ViewColumnOptions.d.ts +1 -1
- package/decorator/options/ViewColumnOptions.js +1 -2
- package/decorator/options/ViewColumnOptions.js.map +1 -1
- package/decorator/options/ViewEntityOptions.d.ts +3 -2
- package/decorator/options/ViewEntityOptions.js +1 -2
- package/decorator/options/ViewEntityOptions.js.map +1 -1
- package/decorator/options/VirtualColumnOptions.d.ts +3 -3
- package/decorator/options/VirtualColumnOptions.js +1 -2
- package/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/decorator/relations/JoinColumn.d.ts +3 -1
- package/decorator/relations/JoinColumn.js +2 -2
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.d.ts +4 -2
- package/decorator/relations/JoinTable.js +2 -2
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.d.ts +7 -2
- package/decorator/relations/ManyToMany.js +4 -2
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.d.ts +7 -2
- package/decorator/relations/ManyToOne.js +4 -2
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.d.ts +5 -2
- package/decorator/relations/OneToMany.js +4 -2
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.d.ts +7 -2
- package/decorator/relations/OneToOne.js +4 -2
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationId.d.ts +4 -2
- package/decorator/relations/RelationId.js +4 -3
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/tree/Tree.d.ts +6 -4
- package/decorator/tree/Tree.js +5 -4
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.d.ts +2 -0
- package/decorator/tree/TreeChildren.js +3 -2
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeLevelColumn.js +1 -2
- package/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/decorator/tree/TreeParent.d.ts +3 -1
- package/decorator/tree/TreeParent.js +3 -2
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/Driver.d.ts +32 -21
- package/driver/Driver.js +1 -2
- package/driver/Driver.js.map +1 -1
- package/driver/DriverFactory.d.ts +5 -3
- package/driver/DriverFactory.js +48 -51
- package/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.d.ts +13 -11
- package/driver/DriverUtils.js +18 -24
- package/driver/DriverUtils.js.map +1 -1
- package/driver/Query.js +1 -2
- package/driver/Query.js.map +1 -1
- package/driver/SqlInMemory.d.ts +1 -1
- package/driver/SqlInMemory.js +1 -2
- package/driver/SqlInMemory.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +0 -1
- package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js +1 -2
- package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/{browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.d.ts → driver/aurora-mysql/AuroraMysqlDataSourceOptions.d.ts} +4 -5
- package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js +3 -0
- package/driver/aurora-mysql/AuroraMysqlDataSourceOptions.js.map +1 -0
- package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +66 -28
- package/driver/aurora-mysql/AuroraMysqlDriver.js +76 -64
- package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +168 -32
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +245 -135
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/{browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.d.ts → driver/aurora-postgres/AuroraPostgresDataSourceOptions.d.ts} +2 -2
- package/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js +3 -0
- package/driver/aurora-postgres/AuroraPostgresDataSourceOptions.js.map +1 -0
- package/driver/aurora-postgres/AuroraPostgresDriver.d.ts +15 -13
- package/driver/aurora-postgres/AuroraPostgresDriver.js +17 -11
- package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +11 -9
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +7 -2
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/{browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts → driver/better-sqlite3/BetterSqlite3DataSourceOptions.d.ts} +5 -3
- package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js +3 -0
- package/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js.map +1 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +13 -12
- package/driver/better-sqlite3/BetterSqlite3Driver.js +19 -16
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +4 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +23 -16
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/capacitor/{CapacitorConnectionOptions.d.ts → CapacitorDataSourceOptions.d.ts} +2 -2
- package/driver/capacitor/CapacitorDataSourceOptions.js +3 -0
- package/driver/capacitor/CapacitorDataSourceOptions.js.map +1 -0
- package/driver/capacitor/CapacitorDriver.d.ts +7 -6
- package/driver/capacitor/CapacitorDriver.js +5 -5
- package/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.d.ts +6 -2
- package/driver/capacitor/CapacitorQueryRunner.js +11 -8
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -1
- package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -2
- package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/{browser/driver/cockroachdb/CockroachConnectionOptions.d.ts → driver/cockroachdb/CockroachDataSourceOptions.d.ts} +4 -4
- package/driver/cockroachdb/CockroachDataSourceOptions.js +3 -0
- package/driver/cockroachdb/CockroachDataSourceOptions.js.map +1 -0
- package/driver/cockroachdb/CockroachDriver.d.ts +79 -27
- package/driver/cockroachdb/CockroachDriver.js +121 -45
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +203 -31
- package/driver/cockroachdb/CockroachQueryRunner.js +370 -160
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/{CordovaConnectionOptions.d.ts → CordovaDataSourceOptions.d.ts} +2 -2
- package/driver/cordova/CordovaDataSourceOptions.js +3 -0
- package/driver/cordova/CordovaDataSourceOptions.js.map +1 -0
- package/driver/cordova/CordovaDriver.d.ts +7 -6
- package/driver/cordova/CordovaDriver.js +5 -7
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.d.ts +7 -35
- package/driver/cordova/CordovaQueryRunner.js +11 -39
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/{ExpoConnectionOptions.d.ts → ExpoDataSourceOptions.d.ts} +2 -2
- package/driver/expo/ExpoDataSourceOptions.js +3 -0
- package/driver/expo/ExpoDataSourceOptions.js.map +1 -0
- package/driver/expo/ExpoDriver.d.ts +6 -5
- package/driver/expo/ExpoDriver.js +10 -4
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.d.ts +1 -1
- package/driver/expo/ExpoQueryRunner.js +5 -6
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/{browser/driver/mongodb/MongoConnectionOptions.d.ts → driver/mongodb/MongoDataSourceOptions.d.ts} +7 -69
- package/driver/mongodb/MongoDataSourceOptions.js +3 -0
- package/driver/mongodb/MongoDataSourceOptions.js.map +1 -0
- package/driver/mongodb/MongoDriver.d.ts +51 -23
- package/driver/mongodb/MongoDriver.js +41 -33
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +239 -83
- package/driver/mongodb/MongoQueryRunner.js +234 -68
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mongodb/bson.typings.d.ts +604 -97
- package/driver/mongodb/bson.typings.js +2 -2
- package/driver/mongodb/bson.typings.js.map +1 -1
- package/driver/mongodb/typings.d.ts +3577 -1025
- package/driver/mongodb/typings.js +3 -3
- package/driver/mongodb/typings.js.map +1 -1
- package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +0 -1
- package/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -2
- package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/{browser/driver/mysql/MysqlConnectionOptions.d.ts → driver/mysql/MysqlDataSourceOptions.d.ts} +6 -13
- package/driver/mysql/MysqlDataSourceOptions.js +3 -0
- package/driver/mysql/MysqlDataSourceOptions.js.map +1 -0
- package/driver/mysql/MysqlDriver.d.ts +69 -37
- package/driver/mysql/MysqlDriver.js +91 -205
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +167 -33
- package/driver/mysql/MysqlQueryRunner.js +265 -146
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/{browser/driver/nativescript/NativescriptConnectionOptions.d.ts → driver/nativescript/NativescriptDataSourceOptions.d.ts} +2 -2
- package/driver/nativescript/NativescriptDataSourceOptions.js +3 -0
- package/driver/nativescript/NativescriptDataSourceOptions.js.map +1 -0
- package/driver/nativescript/NativescriptDriver.d.ts +9 -8
- package/driver/nativescript/NativescriptDriver.js +7 -8
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.d.ts +7 -2
- package/driver/nativescript/NativescriptQueryRunner.js +8 -4
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionCredentialsOptions.js +1 -2
- package/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/{browser/driver/oracle/OracleConnectionOptions.d.ts → driver/oracle/OracleDataSourceOptions.d.ts} +3 -3
- package/driver/oracle/OracleDataSourceOptions.js +3 -0
- package/driver/oracle/OracleDataSourceOptions.js.map +1 -0
- package/driver/oracle/OracleDriver.d.ts +65 -28
- package/driver/oracle/OracleDriver.js +60 -23
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.d.ts +176 -29
- package/driver/oracle/OracleQueryRunner.js +271 -100
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -2
- package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/{browser/driver/postgres/PostgresConnectionOptions.d.ts → driver/postgres/PostgresDataSourceOptions.d.ts} +8 -5
- package/driver/postgres/PostgresDataSourceOptions.js +3 -0
- package/driver/postgres/PostgresDataSourceOptions.js.map +1 -0
- package/driver/postgres/PostgresDriver.d.ts +85 -28
- package/driver/postgres/PostgresDriver.js +201 -41
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +225 -34
- package/driver/postgres/PostgresQueryRunner.js +497 -219
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/{browser/driver/react-native/ReactNativeConnectionOptions.d.ts → driver/react-native/ReactNativeDataSourceOptions.d.ts} +6 -2
- package/driver/react-native/ReactNativeDataSourceOptions.js +3 -0
- package/driver/react-native/ReactNativeDataSourceOptions.js.map +1 -0
- package/driver/react-native/ReactNativeDriver.d.ts +64 -24
- package/driver/react-native/ReactNativeDriver.js +60 -22
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.d.ts +7 -2
- package/driver/react-native/ReactNativeQueryRunner.js +10 -6
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapConnectionCredentialsOptions.js +1 -2
- package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/driver/sap/{SapConnectionOptions.d.ts → SapDataSourceOptions.d.ts} +10 -37
- package/driver/sap/SapDataSourceOptions.js +3 -0
- package/driver/sap/SapDataSourceOptions.js.map +1 -0
- package/driver/sap/SapDriver.d.ts +54 -17
- package/driver/sap/SapDriver.js +48 -25
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +179 -31
- package/driver/sap/SapQueryRunner.js +316 -118
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerConnectionCredentialsOptions.js +1 -2
- package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
- package/{browser/driver/spanner/SpannerConnectionOptions.d.ts → driver/spanner/SpannerDataSourceOptions.d.ts} +4 -4
- package/driver/spanner/SpannerDataSourceOptions.js +3 -0
- package/driver/spanner/SpannerDataSourceOptions.js.map +1 -0
- package/driver/spanner/SpannerDriver.d.ts +61 -23
- package/driver/spanner/SpannerDriver.js +57 -21
- package/driver/spanner/SpannerDriver.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.d.ts +170 -28
- package/driver/spanner/SpannerQueryRunner.js +243 -75
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +74 -23
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +131 -26
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +164 -30
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +242 -82
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/{browser/driver/sqljs/SqljsConnectionOptions.d.ts → driver/sqljs/SqljsDataSourceOptions.d.ts} +2 -2
- package/driver/sqljs/SqljsDataSourceOptions.js +3 -0
- package/driver/sqljs/SqljsDataSourceOptions.js.map +1 -0
- package/driver/sqljs/SqljsDriver.d.ts +15 -8
- package/driver/sqljs/SqljsDriver.js +17 -11
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.d.ts +4 -1
- package/driver/sqljs/SqljsQueryRunner.js +8 -6
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/MssqlParameter.d.ts +0 -1
- package/driver/sqlserver/MssqlParameter.js +1 -3
- package/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +8 -15
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -2
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/driver/sqlserver/{SqlServerConnectionOptions.d.ts → SqlServerDataSourceOptions.d.ts} +4 -4
- package/driver/sqlserver/SqlServerDataSourceOptions.js +3 -0
- package/driver/sqlserver/SqlServerDataSourceOptions.js.map +1 -0
- package/driver/sqlserver/SqlServerDriver.d.ts +70 -28
- package/driver/sqlserver/SqlServerDriver.js +66 -34
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +190 -30
- package/driver/sqlserver/SqlServerQueryRunner.js +377 -155
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +1 -2
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +1 -2
- package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +1 -2
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +1 -2
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +1 -2
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +1 -2
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
- package/driver/sqlserver/authentication/DefaultAuthentication.js +1 -2
- package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
- package/driver/sqlserver/authentication/NtlmAuthentication.js +1 -2
- package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
- package/driver/types/ColumnTypes.d.ts +1 -1
- package/driver/types/ColumnTypes.js +1 -2
- package/driver/types/ColumnTypes.js.map +1 -1
- package/driver/types/CteCapabilities.js +1 -2
- package/driver/types/CteCapabilities.js.map +1 -1
- package/driver/types/DataTypeDefaults.d.ts +0 -1
- package/driver/types/DataTypeDefaults.js +1 -2
- package/driver/types/DataTypeDefaults.js.map +1 -1
- package/driver/types/DatabaseType.d.ts +1 -1
- package/driver/types/DatabaseType.js +1 -2
- package/driver/types/DatabaseType.js.map +1 -1
- package/driver/types/GeoJsonTypes.js +1 -2
- package/driver/types/GeoJsonTypes.js.map +1 -1
- package/driver/types/IsolationLevel.js +1 -2
- package/driver/types/IsolationLevel.js.map +1 -1
- package/driver/types/MappedColumnTypes.d.ts +1 -1
- package/driver/types/MappedColumnTypes.js +1 -2
- package/driver/types/MappedColumnTypes.js.map +1 -1
- package/driver/types/MetadataTableType.js +1 -2
- package/driver/types/MetadataTableType.js.map +1 -1
- package/driver/types/ReplicationMode.js +1 -2
- package/driver/types/ReplicationMode.js.map +1 -1
- package/driver/types/ReturningType.d.ts +1 -0
- package/driver/types/ReturningType.js +3 -0
- package/driver/types/ReturningType.js.map +1 -0
- package/driver/types/UpsertType.js +1 -2
- package/driver/types/UpsertType.js.map +1 -1
- package/entity-manager/EntityManager.d.ts +111 -57
- package/entity-manager/EntityManager.js +191 -153
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/EntityManagerFactory.d.ts +6 -3
- package/entity-manager/EntityManagerFactory.js +10 -8
- package/entity-manager/EntityManagerFactory.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +156 -30
- package/entity-manager/MongoEntityManager.js +262 -89
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-manager/SqljsEntityManager.d.ts +5 -3
- package/entity-manager/SqljsEntityManager.js +6 -5
- package/entity-manager/SqljsEntityManager.js.map +1 -1
- package/entity-schema/EntitySchema.d.ts +1 -1
- package/entity-schema/EntitySchema.js +1 -2
- package/entity-schema/EntitySchema.js.map +1 -1
- package/entity-schema/EntitySchemaCheckOptions.js +1 -2
- package/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +2 -2
- package/entity-schema/EntitySchemaColumnForeignKeyOptions.js +1 -2
- package/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -1
- package/entity-schema/EntitySchemaColumnOptions.d.ts +6 -26
- package/entity-schema/EntitySchemaColumnOptions.js +1 -2
- package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaEmbeddedColumnOptions.d.ts +1 -1
- package/entity-schema/EntitySchemaEmbeddedColumnOptions.js +1 -2
- package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaEmbeddedError.js +1 -2
- package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/entity-schema/EntitySchemaExclusionOptions.d.ts +5 -0
- package/entity-schema/EntitySchemaExclusionOptions.js +1 -2
- package/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/entity-schema/EntitySchemaForeignKeyOptions.d.ts +2 -2
- package/entity-schema/EntitySchemaForeignKeyOptions.js +1 -2
- package/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -1
- package/entity-schema/EntitySchemaIndexOptions.js +1 -2
- package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/entity-schema/EntitySchemaInheritanceOptions.d.ts +1 -1
- package/entity-schema/EntitySchemaInheritanceOptions.js +1 -2
- package/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.d.ts +16 -14
- package/entity-schema/EntitySchemaOptions.js +1 -2
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaRelationIdOptions.d.ts +1 -1
- package/entity-schema/EntitySchemaRelationIdOptions.js +1 -2
- package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
- package/entity-schema/EntitySchemaRelationOptions.d.ts +8 -8
- package/entity-schema/EntitySchemaRelationOptions.js +1 -2
- package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.d.ts +2 -1
- package/entity-schema/EntitySchemaTransformer.js +3 -5
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/entity-schema/EntitySchemaUniqueOptions.d.ts +1 -1
- package/entity-schema/EntitySchemaUniqueOptions.js +1 -2
- package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/error/AlreadyHasActiveConnectionError.js +1 -2
- package/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js +1 -2
- package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/error/CannotConnectAlreadyConnectedError.d.ts +1 -1
- package/error/CannotConnectAlreadyConnectedError.js +3 -4
- package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/error/CannotCreateEntityIdMapError.d.ts +1 -1
- package/error/CannotCreateEntityIdMapError.js +1 -2
- package/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/error/CannotDetermineEntityError.js +1 -2
- package/error/CannotDetermineEntityError.js.map +1 -1
- package/error/CannotExecuteNotConnectedError.d.ts +1 -1
- package/error/CannotExecuteNotConnectedError.js +3 -4
- package/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js +1 -2
- package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/error/CannotReflectMethodParameterTypeError.js +1 -2
- package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/error/CircularRelationsError.js +1 -2
- package/error/CircularRelationsError.js.map +1 -1
- package/error/ColumnTypeUndefinedError.js +1 -2
- package/error/ColumnTypeUndefinedError.js.map +1 -1
- package/error/ConnectionIsNotSetError.js +1 -2
- package/error/ConnectionIsNotSetError.js.map +1 -1
- package/error/ConnectionNotFoundError.js +1 -2
- package/error/ConnectionNotFoundError.js.map +1 -1
- package/error/DataTypeNotSupportedError.d.ts +3 -3
- package/error/DataTypeNotSupportedError.js +1 -2
- package/error/DataTypeNotSupportedError.js.map +1 -1
- package/error/DriverOptionNotSetError.js +1 -2
- package/error/DriverOptionNotSetError.js.map +1 -1
- package/error/DriverPackageNotInstalledError.js +1 -2
- package/error/DriverPackageNotInstalledError.js.map +1 -1
- package/error/EntityMetadataNotFoundError.d.ts +1 -1
- package/error/EntityMetadataNotFoundError.js +1 -2
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.d.ts +1 -1
- package/error/EntityNotFoundError.js +1 -2
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/EntityPropertyNotFoundError.d.ts +1 -1
- package/error/EntityPropertyNotFoundError.js +1 -2
- package/error/EntityPropertyNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js +1 -2
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/ForbiddenTransactionModeOverrideError.d.ts +1 -1
- package/error/ForbiddenTransactionModeOverrideError.js +1 -2
- package/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
- package/error/InitializedRelationError.d.ts +1 -2
- package/error/InitializedRelationError.js +1 -3
- package/error/InitializedRelationError.js.map +1 -1
- package/error/InsertValuesMissingError.js +1 -2
- package/error/InsertValuesMissingError.js.map +1 -1
- package/error/LimitOnUpdateNotSupportedError.js +1 -2
- package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/error/LockNotSupportedOnGivenDriverError.js +1 -2
- package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/error/MetadataAlreadyExistsError.js +1 -2
- package/error/MetadataAlreadyExistsError.js.map +1 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -2
- package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/error/MissingDeleteDateColumnError.d.ts +1 -1
- package/error/MissingDeleteDateColumnError.js +1 -2
- package/error/MissingDeleteDateColumnError.js.map +1 -1
- package/error/MissingDriverError.js +1 -2
- package/error/MissingDriverError.js.map +1 -1
- package/error/MissingJoinColumnError.d.ts +2 -2
- package/error/MissingJoinColumnError.js +1 -2
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.d.ts +2 -2
- package/error/MissingJoinTableError.js +1 -2
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/MissingPrimaryColumnError.d.ts +1 -1
- package/error/MissingPrimaryColumnError.js +1 -2
- package/error/MissingPrimaryColumnError.js.map +1 -1
- package/error/MustBeEntityError.js +1 -2
- package/error/MustBeEntityError.js.map +1 -1
- package/error/NestedSetMultipleRootError.js +1 -2
- package/error/NestedSetMultipleRootError.js.map +1 -1
- package/error/NoConnectionForRepositoryError.d.ts +1 -1
- package/error/NoConnectionForRepositoryError.js +4 -5
- package/error/NoConnectionForRepositoryError.js.map +1 -1
- package/error/NoConnectionOptionError.js +1 -2
- package/error/NoConnectionOptionError.js.map +1 -1
- package/error/NoNeedToReleaseEntityManagerError.js +1 -2
- package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js +1 -2
- package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/error/OffsetWithoutLimitNotSupportedError.js +1 -2
- package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/error/OptimisticLockCanNotBeUsedError.js +1 -2
- package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/error/OptimisticLockVersionMismatchError.js +1 -2
- package/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/error/PersistedEntityNotFoundError.js +1 -2
- package/error/PersistedEntityNotFoundError.js.map +1 -1
- package/error/PessimisticLockTransactionRequiredError.js +1 -2
- package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js +1 -2
- package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/error/QueryFailedError.js +1 -2
- package/error/QueryFailedError.js.map +1 -1
- package/error/QueryRunnerAlreadyReleasedError.js +1 -2
- package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -2
- package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/error/RepositoryNotTreeError.d.ts +1 -1
- package/error/RepositoryNotTreeError.js +1 -2
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/ReturningStatementNotSupportedError.js +1 -2
- package/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/error/SubjectRemovedAndUpdatedError.d.ts +1 -1
- package/error/SubjectRemovedAndUpdatedError.js +1 -2
- package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/error/SubjectWithoutIdentifierError.d.ts +1 -1
- package/error/SubjectWithoutIdentifierError.js +1 -2
- package/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/error/TransactionAlreadyStartedError.js +1 -2
- package/error/TransactionAlreadyStartedError.js.map +1 -1
- package/error/TransactionNotStartedError.js +1 -2
- package/error/TransactionNotStartedError.js.map +1 -1
- package/error/TreeRepositoryNotSupportedError.d.ts +1 -1
- package/error/TreeRepositoryNotSupportedError.js +1 -2
- package/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/error/TypeORMError.js +1 -2
- package/error/TypeORMError.js.map +1 -1
- package/error/UpdateValuesMissingError.js +1 -2
- package/error/UpdateValuesMissingError.js.map +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.d.ts +2 -2
- package/error/UsingJoinColumnIsNotAllowedError.js +1 -2
- package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.d.ts +2 -2
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -2
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/UsingJoinTableIsNotAllowedError.d.ts +2 -2
- package/error/UsingJoinTableIsNotAllowedError.js +1 -2
- package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.d.ts +2 -2
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -2
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/index.d.ts +0 -3
- package/error/index.js +1 -5
- package/error/index.js.map +1 -1
- package/find-options/EqualOperator.js +1 -2
- package/find-options/EqualOperator.js.map +1 -1
- package/find-options/FindManyOptions.d.ts +1 -1
- package/find-options/FindManyOptions.js +1 -2
- package/find-options/FindManyOptions.js.map +1 -1
- package/find-options/FindOneOptions.d.ts +7 -14
- package/find-options/FindOneOptions.js +1 -2
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOperator.d.ts +3 -3
- package/find-options/FindOperator.js +1 -2
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOperatorType.js +1 -2
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/FindOptionsOrder.d.ts +2 -2
- package/find-options/FindOptionsOrder.js +1 -2
- package/find-options/FindOptionsOrder.js.map +1 -1
- package/find-options/FindOptionsRelations.d.ts +2 -9
- package/find-options/FindOptionsRelations.js +1 -2
- package/find-options/FindOptionsRelations.js.map +1 -1
- package/find-options/FindOptionsSelect.d.ts +2 -9
- package/find-options/FindOptionsSelect.js +1 -2
- package/find-options/FindOptionsSelect.js.map +1 -1
- package/find-options/FindOptionsUtils.d.ts +46 -11
- package/find-options/FindOptionsUtils.js +104 -22
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/FindOptionsWhere.d.ts +4 -4
- package/find-options/FindOptionsWhere.js +1 -2
- package/find-options/FindOptionsWhere.js.map +1 -1
- package/find-options/FindTreeOptions.js +1 -2
- package/find-options/FindTreeOptions.js.map +1 -1
- package/find-options/OrderByCondition.d.ts +0 -2
- package/find-options/OrderByCondition.js +1 -2
- package/find-options/OrderByCondition.js.map +1 -1
- package/find-options/mongodb/MongoFindManyOptions.d.ts +1 -1
- package/find-options/mongodb/MongoFindManyOptions.js +1 -2
- package/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
- package/find-options/mongodb/MongoFindOneOptions.d.ts +2 -2
- package/find-options/mongodb/MongoFindOneOptions.js +1 -2
- package/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
- package/find-options/operator/And.d.ts +4 -0
- package/find-options/operator/And.js +5 -2
- package/find-options/operator/And.js.map +1 -1
- package/find-options/operator/Any.d.ts +1 -0
- package/find-options/operator/Any.js +2 -2
- package/find-options/operator/Any.js.map +1 -1
- package/find-options/operator/ArrayContainedBy.d.ts +1 -0
- package/find-options/operator/ArrayContainedBy.js +2 -2
- package/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/find-options/operator/ArrayContains.d.ts +1 -0
- package/find-options/operator/ArrayContains.js +2 -2
- package/find-options/operator/ArrayContains.js.map +1 -1
- package/find-options/operator/ArrayOverlap.d.ts +1 -0
- package/find-options/operator/ArrayOverlap.js +2 -2
- package/find-options/operator/ArrayOverlap.js.map +1 -1
- package/find-options/operator/Between.d.ts +2 -0
- package/find-options/operator/Between.js +3 -2
- package/find-options/operator/Between.js.map +1 -1
- package/find-options/operator/Equal.d.ts +2 -1
- package/find-options/operator/Equal.js +2 -2
- package/find-options/operator/Equal.js.map +1 -1
- package/find-options/operator/ILike.d.ts +1 -0
- package/find-options/operator/ILike.js +2 -2
- package/find-options/operator/ILike.js.map +1 -1
- package/find-options/operator/In.d.ts +1 -0
- package/find-options/operator/In.js +2 -2
- package/find-options/operator/In.js.map +1 -1
- package/find-options/operator/IsNull.js +1 -2
- package/find-options/operator/IsNull.js.map +1 -1
- package/find-options/operator/JsonContains.d.ts +1 -0
- package/find-options/operator/JsonContains.js +2 -2
- package/find-options/operator/JsonContains.js.map +1 -1
- package/find-options/operator/LessThan.d.ts +1 -0
- package/find-options/operator/LessThan.js +2 -2
- package/find-options/operator/LessThan.js.map +1 -1
- package/find-options/operator/LessThanOrEqual.d.ts +1 -0
- package/find-options/operator/LessThanOrEqual.js +2 -2
- package/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/find-options/operator/Like.d.ts +1 -0
- package/find-options/operator/Like.js +2 -2
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/MoreThan.d.ts +1 -0
- package/find-options/operator/MoreThan.js +2 -2
- package/find-options/operator/MoreThan.js.map +1 -1
- package/find-options/operator/MoreThanOrEqual.d.ts +1 -0
- package/find-options/operator/MoreThanOrEqual.js +2 -2
- package/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/find-options/operator/Not.d.ts +1 -0
- package/find-options/operator/Not.js +2 -2
- package/find-options/operator/Not.js.map +1 -1
- package/find-options/operator/Or.d.ts +4 -0
- package/find-options/operator/Or.js +5 -2
- package/find-options/operator/Or.js.map +1 -1
- package/find-options/operator/Raw.d.ts +5 -1
- package/find-options/operator/Raw.js +1 -2
- package/find-options/operator/Raw.js.map +1 -1
- package/globals.d.ts +2 -114
- package/globals.js +7 -169
- package/globals.js.map +1 -1
- package/index.d.ts +62 -69
- package/index.js +2 -52
- package/index.js.map +1 -1
- package/index.mjs +0 -80
- package/logger/AbstractLogger.d.ts +26 -3
- package/logger/AbstractLogger.js +25 -3
- package/logger/AbstractLogger.js.map +1 -1
- package/logger/AdvancedConsoleLogger.d.ts +5 -2
- package/logger/AdvancedConsoleLogger.js +4 -2
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/logger/DebugLogger.d.ts +6 -2
- package/logger/DebugLogger.js +5 -2
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.d.ts +7 -3
- package/logger/FileLogger.js +5 -2
- package/logger/FileLogger.js.map +1 -1
- package/logger/FormattedConsoleLogger.d.ts +5 -2
- package/logger/FormattedConsoleLogger.js +4 -2
- package/logger/FormattedConsoleLogger.js.map +1 -1
- package/logger/Logger.d.ts +1 -1
- package/logger/Logger.js +1 -2
- package/logger/Logger.js.map +1 -1
- package/logger/LoggerFactory.d.ts +4 -2
- package/logger/LoggerFactory.js +3 -2
- package/logger/LoggerFactory.js.map +1 -1
- package/logger/LoggerOptions.d.ts +1 -1
- package/logger/LoggerOptions.js +1 -2
- package/logger/LoggerOptions.js.map +1 -1
- package/logger/SimpleConsoleLogger.d.ts +5 -2
- package/logger/SimpleConsoleLogger.js +4 -2
- package/logger/SimpleConsoleLogger.js.map +1 -1
- package/metadata/CheckMetadata.d.ts +4 -3
- package/metadata/CheckMetadata.js +2 -2
- package/metadata/CheckMetadata.js.map +1 -1
- package/metadata/ColumnMetadata.d.ts +24 -23
- package/metadata/ColumnMetadata.js +64 -57
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EmbeddedMetadata.d.ts +14 -22
- package/metadata/EmbeddedMetadata.js +4 -15
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/EntityListenerMetadata.d.ts +9 -5
- package/metadata/EntityListenerMetadata.js +5 -2
- package/metadata/EntityListenerMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +60 -35
- package/metadata/EntityMetadata.js +52 -42
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/ExclusionMetadata.d.ts +9 -3
- package/metadata/ExclusionMetadata.js +3 -2
- package/metadata/ExclusionMetadata.js.map +1 -1
- package/metadata/ForeignKeyMetadata.d.ts +7 -6
- package/metadata/ForeignKeyMetadata.js +2 -2
- package/metadata/ForeignKeyMetadata.js.map +1 -1
- package/metadata/IndexMetadata.d.ts +13 -5
- package/metadata/IndexMetadata.js +20 -7
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata/RelationIdMetadata.d.ts +6 -5
- package/metadata/RelationIdMetadata.js +2 -2
- package/metadata/RelationIdMetadata.js.map +1 -1
- package/metadata/RelationMetadata.d.ts +27 -16
- package/metadata/RelationMetadata.js +12 -2
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.d.ts +7 -6
- package/metadata/UniqueMetadata.js +12 -6
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata/types/ClosureTreeOptions.d.ts +1 -1
- package/metadata/types/ClosureTreeOptions.js +1 -2
- package/metadata/types/ClosureTreeOptions.js.map +1 -1
- package/metadata/types/DeferrableType.js +1 -2
- package/metadata/types/DeferrableType.js.map +1 -1
- package/metadata/types/EventListenerTypes.js +12 -13
- package/metadata/types/EventListenerTypes.js.map +1 -1
- package/metadata/types/OnDeleteType.js +1 -2
- package/metadata/types/OnDeleteType.js.map +1 -1
- package/metadata/types/OnUpdateType.js +1 -2
- package/metadata/types/OnUpdateType.js.map +1 -1
- package/metadata/types/PropertyTypeInFunction.js +1 -2
- package/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/metadata/types/RelationTypeInFunction.d.ts +1 -1
- package/metadata/types/RelationTypeInFunction.js +1 -2
- package/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/metadata/types/RelationTypes.js +1 -2
- package/metadata/types/RelationTypes.js.map +1 -1
- package/metadata/types/TableTypes.js +1 -2
- package/metadata/types/TableTypes.js.map +1 -1
- package/metadata/types/TreeTypes.js +1 -2
- package/metadata/types/TreeTypes.js.map +1 -1
- package/metadata-args/CheckMetadataArgs.js +1 -2
- package/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/metadata-args/ColumnMetadataArgs.d.ts +2 -2
- package/metadata-args/ColumnMetadataArgs.js +1 -2
- package/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/metadata-args/DiscriminatorValueMetadataArgs.js +1 -2
- package/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/metadata-args/EmbeddedMetadataArgs.js +1 -2
- package/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/metadata-args/EntityListenerMetadataArgs.d.ts +1 -1
- package/metadata-args/EntityListenerMetadataArgs.js +1 -2
- package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/metadata-args/EntitySubscriberMetadataArgs.js +1 -2
- package/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/metadata-args/ExclusionMetadataArgs.d.ts +5 -0
- package/metadata-args/ExclusionMetadataArgs.js +1 -2
- package/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/metadata-args/ForeignKeyMetadataArgs.d.ts +5 -5
- package/metadata-args/ForeignKeyMetadataArgs.js +1 -2
- package/metadata-args/ForeignKeyMetadataArgs.js.map +1 -1
- package/metadata-args/GeneratedMetadataArgs.js +1 -2
- package/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/metadata-args/IndexMetadataArgs.d.ts +7 -0
- package/metadata-args/IndexMetadataArgs.js +1 -2
- package/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/metadata-args/InheritanceMetadataArgs.d.ts +1 -1
- package/metadata-args/InheritanceMetadataArgs.js +1 -2
- package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/metadata-args/JoinColumnMetadataArgs.js +1 -2
- package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/metadata-args/JoinTableMetadataArgs.d.ts +1 -1
- package/metadata-args/JoinTableMetadataArgs.js +1 -2
- package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/metadata-args/MetadataArgsStorage.d.ts +29 -27
- package/metadata-args/MetadataArgsStorage.js +9 -7
- package/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-args/NamingStrategyMetadataArgs.js +1 -2
- package/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
- package/metadata-args/RelationIdMetadataArgs.js +1 -2
- package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/metadata-args/RelationMetadataArgs.d.ts +4 -4
- package/metadata-args/RelationMetadataArgs.js +1 -2
- package/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/metadata-args/TableMetadataArgs.d.ts +5 -4
- package/metadata-args/TableMetadataArgs.js +1 -2
- package/metadata-args/TableMetadataArgs.js.map +1 -1
- package/metadata-args/TransactionEntityMetadataArgs.d.ts +1 -1
- package/metadata-args/TransactionEntityMetadataArgs.js +1 -2
- package/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/metadata-args/TransactionRepositoryMetadataArgs.d.ts +1 -1
- package/metadata-args/TransactionRepositoryMetadataArgs.js +1 -2
- package/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/metadata-args/TreeMetadataArgs.d.ts +2 -2
- package/metadata-args/TreeMetadataArgs.js +1 -2
- package/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/metadata-args/UniqueMetadataArgs.d.ts +1 -1
- package/metadata-args/UniqueMetadataArgs.js +1 -2
- package/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/metadata-args/types/ColumnMode.js +1 -2
- package/metadata-args/types/ColumnMode.js.map +1 -1
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.d.ts +4 -3
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +10 -15
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.d.ts +16 -6
- package/metadata-builder/EntityMetadataBuilder.js +50 -61
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.d.ts +9 -2
- package/metadata-builder/EntityMetadataValidator.js +8 -7
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.d.ts +11 -5
- package/metadata-builder/JunctionEntityMetadataBuilder.js +33 -36
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/MetadataUtils.d.ts +5 -0
- package/metadata-builder/MetadataUtils.js +6 -2
- package/metadata-builder/MetadataUtils.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.d.ts +24 -12
- package/metadata-builder/RelationJoinColumnBuilder.js +30 -22
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/Migration.d.ts +1 -1
- package/migration/Migration.js +1 -2
- package/migration/Migration.js.map +1 -1
- package/migration/MigrationExecutor.d.ts +16 -9
- package/migration/MigrationExecutor.js +76 -64
- package/migration/MigrationExecutor.js.map +1 -1
- package/migration/MigrationInterface.d.ts +1 -1
- package/migration/MigrationInterface.js +1 -2
- package/migration/MigrationInterface.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.d.ts +5 -5
- package/naming-strategy/DefaultNamingStrategy.js +4 -5
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/LegacyOracleNamingStrategy.d.ts +1 -1
- package/naming-strategy/LegacyOracleNamingStrategy.js +1 -2
- package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
- package/naming-strategy/NamingStrategyInterface.d.ts +3 -5
- package/naming-strategy/NamingStrategyInterface.js +1 -2
- package/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/package.json +181 -1
- package/persistence/EntityPersistExecutor.d.ts +7 -7
- package/persistence/EntityPersistExecutor.js +6 -7
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.d.ts +5 -5
- package/persistence/Subject.js +3 -3
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectChangeMap.d.ts +3 -3
- package/persistence/SubjectChangeMap.js +1 -2
- package/persistence/SubjectChangeMap.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.d.ts +5 -1
- package/persistence/SubjectChangedColumnsComputer.js +27 -19
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.d.ts +3 -2
- package/persistence/SubjectDatabaseEntityLoader.js +8 -5
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.d.ts +7 -4
- package/persistence/SubjectExecutor.js +21 -11
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopologicalSorter.d.ts +6 -2
- package/persistence/SubjectTopologicalSorter.js +15 -2
- package/persistence/SubjectTopologicalSorter.js.map +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +5 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js +5 -2
- package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.d.ts +16 -6
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +15 -6
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.d.ts +14 -7
- package/persistence/subject-builder/OneToManySubjectBuilder.js +14 -8
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.d.ts +14 -7
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +14 -8
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/persistence/tree/ClosureSubjectExecutor.d.ts +6 -2
- package/persistence/tree/ClosureSubjectExecutor.js +14 -11
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +4 -2
- package/persistence/tree/MaterializedPathSubjectExecutor.js +5 -3
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.d.ts +10 -4
- package/persistence/tree/NestedSetSubjectExecutor.js +13 -8
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.d.ts +12 -11
- package/platform/PlatformTools.js +17 -29
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.d.ts +1 -1
- package/query-builder/Alias.js +1 -2
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/Brackets.d.ts +2 -1
- package/query-builder/Brackets.js +2 -2
- package/query-builder/Brackets.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.d.ts +17 -6
- package/query-builder/DeleteQueryBuilder.js +17 -5
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertOrUpdateOptions.d.ts +3 -3
- package/query-builder/InsertOrUpdateOptions.js +1 -2
- package/query-builder/InsertOrUpdateOptions.js.map +1 -1
- package/query-builder/InsertQueryBuilder.d.ts +34 -29
- package/query-builder/InsertQueryBuilder.js +289 -160
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.d.ts +7 -7
- package/query-builder/JoinAttribute.js +9 -21
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/JoinOptions.js +1 -2
- package/query-builder/JoinOptions.js.map +1 -1
- package/query-builder/NotBrackets.js +1 -2
- package/query-builder/NotBrackets.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +51 -33
- package/query-builder/QueryBuilder.js +81 -92
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilderCte.js +1 -2
- package/query-builder/QueryBuilderCte.js.map +1 -1
- package/query-builder/QueryBuilderUtils.d.ts +1 -0
- package/query-builder/QueryBuilderUtils.js +2 -2
- package/query-builder/QueryBuilderUtils.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +29 -30
- package/query-builder/QueryExpressionMap.js +22 -29
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/QueryPartialEntity.d.ts +1 -1
- package/query-builder/QueryPartialEntity.js +1 -2
- package/query-builder/QueryPartialEntity.js.map +1 -1
- package/query-builder/RelationIdLoader.d.ts +39 -11
- package/query-builder/RelationIdLoader.js +100 -63
- package/query-builder/RelationIdLoader.js.map +1 -1
- package/query-builder/RelationLoader.d.ts +49 -14
- package/query-builder/RelationLoader.js +80 -26
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.d.ts +7 -11
- package/query-builder/RelationQueryBuilder.js +8 -13
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.d.ts +3 -2
- package/query-builder/RelationRemover.js +2 -2
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.d.ts +3 -2
- package/query-builder/RelationUpdater.js +4 -4
- package/query-builder/RelationUpdater.js.map +1 -1
- package/query-builder/ReturningOption.d.ts +4 -0
- package/query-builder/ReturningOption.js +3 -0
- package/query-builder/ReturningOption.js.map +1 -0
- package/query-builder/ReturningResultsEntityUpdator.d.ts +10 -6
- package/query-builder/ReturningResultsEntityUpdator.js +13 -10
- package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/query-builder/SelectQuery.js +1 -2
- package/query-builder/SelectQuery.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +71 -33
- package/query-builder/SelectQueryBuilder.js +337 -261
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilderOption.js +1 -2
- package/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.d.ts +24 -7
- package/query-builder/SoftDeleteQueryBuilder.js +35 -9
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.d.ts +23 -7
- package/query-builder/UpdateQueryBuilder.js +52 -30
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/WhereClause.js +1 -2
- package/query-builder/WhereClause.js.map +1 -1
- package/query-builder/WhereExpressionBuilder.d.ts +2 -7
- package/query-builder/WhereExpressionBuilder.js +1 -2
- package/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/query-builder/index.d.ts +3 -0
- package/query-builder/index.js +4 -2
- package/query-builder/index.js.map +1 -1
- package/query-builder/relation-id/RelationIdAttribute.d.ts +4 -4
- package/query-builder/relation-id/RelationIdAttribute.js +1 -2
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoadResult.d.ts +1 -1
- package/query-builder/relation-id/RelationIdLoadResult.js +1 -2
- package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.d.ts +6 -6
- package/query-builder/relation-id/RelationIdLoader.js +12 -13
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.d.ts +1 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +1 -2
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/result/DeleteResult.d.ts +1 -1
- package/query-builder/result/DeleteResult.js +1 -2
- package/query-builder/result/DeleteResult.js.map +1 -1
- package/query-builder/result/InsertResult.d.ts +2 -2
- package/query-builder/result/InsertResult.js +1 -2
- package/query-builder/result/InsertResult.js.map +1 -1
- package/query-builder/result/UpdateResult.d.ts +2 -2
- package/query-builder/result/UpdateResult.js +1 -2
- package/query-builder/result/UpdateResult.js.map +1 -1
- package/query-builder/transformer/DocumentToEntityTransformer.d.ts +3 -3
- package/query-builder/transformer/DocumentToEntityTransformer.js +2 -73
- package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.d.ts +3 -3
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +17 -7
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.d.ts +6 -2
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +5 -2
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +22 -11
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +47 -53
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +79 -16
- package/query-runner/BaseQueryRunner.js +96 -34
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryLock.js +4 -3
- package/query-runner/QueryLock.js.map +1 -1
- package/query-runner/QueryResult.js +1 -2
- package/query-runner/QueryResult.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +52 -56
- package/query-runner/QueryRunner.js +1 -2
- package/query-runner/QueryRunner.js.map +1 -1
- package/repository/BaseEntity.d.ts +64 -44
- package/repository/BaseEntity.js +54 -31
- package/repository/BaseEntity.js.map +1 -1
- package/repository/EntityId.d.ts +1 -1
- package/repository/EntityId.js +1 -2
- package/repository/EntityId.js.map +1 -1
- package/repository/FindTreesOptions.js +1 -2
- package/repository/FindTreesOptions.js.map +1 -1
- package/repository/MongoRepository.d.ts +79 -29
- package/repository/MongoRepository.js +71 -26
- package/repository/MongoRepository.js.map +1 -1
- package/repository/RemoveOptions.js +1 -2
- package/repository/RemoveOptions.js.map +1 -1
- package/repository/Repository.d.ts +75 -52
- package/repository/Repository.js +69 -47
- package/repository/Repository.js.map +1 -1
- package/repository/SaveOptions.js +1 -2
- package/repository/SaveOptions.js.map +1 -1
- package/repository/TreeRepository.d.ts +21 -4
- package/repository/TreeRepository.js +27 -11
- package/repository/TreeRepository.js.map +1 -1
- package/repository/UpdateOptions.d.ts +11 -0
- package/repository/UpdateOptions.js +3 -0
- package/repository/UpdateOptions.js.map +1 -0
- package/repository/UpsertOptions.d.ts +8 -2
- package/repository/UpsertOptions.js +1 -2
- package/repository/UpsertOptions.js.map +1 -1
- package/schema-builder/MongoSchemaBuilder.d.ts +4 -4
- package/schema-builder/MongoSchemaBuilder.js +5 -6
- package/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +29 -9
- package/schema-builder/RdbmsSchemaBuilder.js +176 -158
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/SchemaBuilder.d.ts +1 -1
- package/schema-builder/SchemaBuilder.js +1 -2
- package/schema-builder/SchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableCheckOptions.js +1 -2
- package/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/schema-builder/options/TableColumnOptions.d.ts +0 -10
- package/schema-builder/options/TableColumnOptions.js +1 -2
- package/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/schema-builder/options/TableExclusionOptions.d.ts +5 -0
- package/schema-builder/options/TableExclusionOptions.js +1 -2
- package/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/schema-builder/options/TableForeignKeyOptions.js +1 -2
- package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/schema-builder/options/TableIndexOptions.d.ts +7 -0
- package/schema-builder/options/TableIndexOptions.js +1 -2
- package/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/schema-builder/options/TableIndexTypes.d.ts +1 -0
- package/schema-builder/options/TableIndexTypes.js +3 -0
- package/schema-builder/options/TableIndexTypes.js.map +1 -0
- package/schema-builder/options/TableOptions.d.ts +6 -6
- package/schema-builder/options/TableOptions.js +1 -2
- package/schema-builder/options/TableOptions.js.map +1 -1
- package/schema-builder/options/TableUniqueOptions.js +1 -2
- package/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/schema-builder/options/ViewOptions.d.ts +3 -2
- package/schema-builder/options/ViewOptions.js +1 -2
- package/schema-builder/options/ViewOptions.js.map +1 -1
- package/schema-builder/table/Table.d.ts +23 -3
- package/schema-builder/table/Table.js +21 -2
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableCheck.d.ts +3 -2
- package/schema-builder/table/TableCheck.js +2 -2
- package/schema-builder/table/TableCheck.js.map +1 -1
- package/schema-builder/table/TableColumn.d.ts +1 -11
- package/schema-builder/table/TableColumn.js +2 -12
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableExclusion.d.ts +8 -2
- package/schema-builder/table/TableExclusion.js +5 -2
- package/schema-builder/table/TableExclusion.js.map +1 -1
- package/schema-builder/table/TableForeignKey.d.ts +5 -3
- package/schema-builder/table/TableForeignKey.js +3 -2
- package/schema-builder/table/TableForeignKey.js.map +1 -1
- package/schema-builder/table/TableIndex.d.ts +10 -2
- package/schema-builder/table/TableIndex.js +5 -2
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/schema-builder/table/TableUnique.d.ts +3 -2
- package/schema-builder/table/TableUnique.js +2 -2
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/TableUtils.d.ts +3 -3
- package/schema-builder/util/TableUtils.js +1 -4
- package/schema-builder/util/TableUtils.js.map +1 -1
- package/schema-builder/util/ViewUtils.d.ts +3 -1
- package/schema-builder/util/ViewUtils.js +3 -2
- package/schema-builder/util/ViewUtils.js.map +1 -1
- package/schema-builder/view/View.d.ts +11 -3
- package/schema-builder/view/View.js +5 -2
- package/schema-builder/view/View.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +76 -10
- package/subscriber/Broadcaster.js +148 -66
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.js +1 -2
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +12 -12
- package/subscriber/EntitySubscriberInterface.js +1 -2
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/BaseEvent.d.ts +27 -0
- package/subscriber/event/BaseEvent.js +3 -0
- package/subscriber/event/BaseEvent.js.map +1 -0
- package/subscriber/event/InsertEvent.d.ts +4 -20
- package/subscriber/event/InsertEvent.js +1 -2
- package/subscriber/event/InsertEvent.js.map +1 -1
- package/subscriber/event/LoadEvent.d.ts +3 -19
- package/subscriber/event/LoadEvent.js +1 -2
- package/subscriber/event/LoadEvent.js.map +1 -1
- package/subscriber/event/QueryEvent.d.ts +4 -20
- package/subscriber/event/QueryEvent.js +1 -2
- package/subscriber/event/QueryEvent.js.map +1 -1
- package/subscriber/event/RecoverEvent.d.ts +1 -1
- package/subscriber/event/RecoverEvent.js +1 -2
- package/subscriber/event/RecoverEvent.js.map +1 -1
- package/subscriber/event/RemoveEvent.d.ts +3 -19
- package/subscriber/event/RemoveEvent.js +1 -2
- package/subscriber/event/RemoveEvent.js.map +1 -1
- package/subscriber/event/SoftRemoveEvent.d.ts +1 -1
- package/subscriber/event/SoftRemoveEvent.js +1 -2
- package/subscriber/event/SoftRemoveEvent.js.map +1 -1
- package/subscriber/event/TransactionCommitEvent.d.ts +2 -18
- package/subscriber/event/TransactionCommitEvent.js +1 -2
- package/subscriber/event/TransactionCommitEvent.js.map +1 -1
- package/subscriber/event/TransactionRollbackEvent.d.ts +2 -18
- package/subscriber/event/TransactionRollbackEvent.js +1 -2
- package/subscriber/event/TransactionRollbackEvent.js.map +1 -1
- package/subscriber/event/TransactionStartEvent.d.ts +2 -18
- package/subscriber/event/TransactionStartEvent.js +1 -2
- package/subscriber/event/TransactionStartEvent.js.map +1 -1
- package/subscriber/event/UpdateEvent.d.ts +6 -22
- package/subscriber/event/UpdateEvent.js +1 -2
- package/subscriber/event/UpdateEvent.js.map +1 -1
- package/typeorm-class-transformer-shim.js +0 -5
- package/typeorm-model-shim.js +0 -10
- package/util/ApplyValueTransformers.d.ts +1 -1
- package/util/ApplyValueTransformers.js +6 -2
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.d.ts +36 -1
- package/util/DateUtils.js +55 -8
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.d.ts +16 -0
- package/util/DepGraph.js +17 -3
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.d.ts +4 -5
- package/util/DirectoryExportedClassesLoader.js +12 -18
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ImportUtils.d.ts +4 -0
- package/util/ImportUtils.js +14 -2
- package/util/ImportUtils.js.map +1 -1
- package/util/InstanceChecker.d.ts +2 -2
- package/util/InstanceChecker.js +1 -2
- package/util/InstanceChecker.js.map +1 -1
- package/util/ObjectUtils.d.ts +4 -1
- package/util/ObjectUtils.js +4 -2
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.d.ts +43 -4
- package/util/OrmUtils.js +114 -19
- package/util/OrmUtils.js.map +1 -1
- package/util/PathUtils.d.ts +6 -0
- package/util/PathUtils.js +7 -2
- package/util/PathUtils.js.map +1 -1
- package/util/RandomGenerator.d.ts +9 -0
- package/util/RandomGenerator.js +102 -68
- package/util/RandomGenerator.js.map +1 -1
- package/util/SqlTagUtils.d.ts +8 -1
- package/util/SqlTagUtils.js +8 -2
- package/util/SqlTagUtils.js.map +1 -1
- package/util/StringUtils.d.ts +13 -8
- package/util/StringUtils.js +36 -17
- package/util/StringUtils.js.map +1 -1
- package/util/TreeRepositoryUtils.d.ts +3 -3
- package/util/TreeRepositoryUtils.js +3 -4
- package/util/TreeRepositoryUtils.js.map +1 -1
- package/util/Uint8ArrayUtils.d.ts +3 -0
- package/util/Uint8ArrayUtils.js +45 -0
- package/util/Uint8ArrayUtils.js.map +1 -0
- package/util/VersionUtils.js +5 -2
- package/util/VersionUtils.js.map +1 -1
- package/util/escapeRegExp.js +1 -2
- package/util/escapeRegExp.js.map +1 -1
- package/browser/connection/BaseConnectionOptions.d.ts +0 -7
- package/browser/connection/BaseConnectionOptions.js +0 -3
- package/browser/connection/BaseConnectionOptions.js.map +0 -1
- package/browser/connection/Connection.d.ts +0 -10
- package/browser/connection/Connection.js +0 -12
- package/browser/connection/Connection.js.map +0 -1
- package/browser/connection/ConnectionManager.d.ts +0 -33
- package/browser/connection/ConnectionManager.js +0 -62
- package/browser/connection/ConnectionManager.js.map +0 -1
- package/browser/connection/ConnectionOptions.d.ts +0 -9
- package/browser/connection/ConnectionOptions.js +0 -3
- package/browser/connection/ConnectionOptions.js.map +0 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +0 -30
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +0 -107
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +0 -1
- package/browser/container.d.ts +0 -39
- package/browser/container.js +0 -56
- package/browser/container.js.map +0 -1
- package/browser/decorator/EntityRepository.d.ts +0 -9
- package/browser/decorator/EntityRepository.js +0 -18
- package/browser/decorator/EntityRepository.js.map +0 -1
- package/browser/decorator/relations/RelationCount.d.ts +0 -8
- package/browser/decorator/relations/RelationCount.js +0 -20
- package/browser/decorator/relations/RelationCount.js.map +0 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnection.d.ts +0 -13
- package/browser/driver/aurora-mysql/AuroraMysqlConnection.js +0 -15
- package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +0 -1
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js +0 -3
- package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +0 -1
- package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +0 -3
- package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +0 -1
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +0 -3
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +0 -1
- package/browser/driver/capacitor/CapacitorConnectionOptions.js +0 -3
- package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +0 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js +0 -3
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +0 -1
- package/browser/driver/cordova/CordovaConnectionOptions.js +0 -3
- package/browser/driver/cordova/CordovaConnectionOptions.js.map +0 -1
- package/browser/driver/expo/ExpoConnectionOptions.js +0 -3
- package/browser/driver/expo/ExpoConnectionOptions.js.map +0 -1
- package/browser/driver/expo/ExpoDriverFactory.d.ts +0 -9
- package/browser/driver/expo/ExpoDriverFactory.js +0 -18
- package/browser/driver/expo/ExpoDriverFactory.js.map +0 -1
- package/browser/driver/expo/legacy/ExpoLegacyDriver.d.ts +0 -21
- package/browser/driver/expo/legacy/ExpoLegacyDriver.js +0 -71
- package/browser/driver/expo/legacy/ExpoLegacyDriver.js.map +0 -1
- package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.d.ts +0 -57
- package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js +0 -165
- package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +0 -1
- package/browser/driver/mongodb/MongoConnectionOptions.js +0 -3
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +0 -1
- package/browser/driver/mysql/MysqlConnectionOptions.js +0 -3
- package/browser/driver/mysql/MysqlConnectionOptions.js.map +0 -1
- package/browser/driver/nativescript/NativescriptConnectionOptions.js +0 -3
- package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +0 -1
- package/browser/driver/oracle/OracleConnectionOptions.js +0 -3
- package/browser/driver/oracle/OracleConnectionOptions.js.map +0 -1
- package/browser/driver/postgres/PostgresConnectionOptions.js +0 -3
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +0 -1
- package/browser/driver/react-native/ReactNativeConnectionOptions.js +0 -3
- package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +0 -1
- package/browser/driver/sap/SapConnectionOptions.js +0 -3
- package/browser/driver/sap/SapConnectionOptions.js.map +0 -1
- package/browser/driver/spanner/SpannerConnectionOptions.js +0 -3
- package/browser/driver/spanner/SpannerConnectionOptions.js.map +0 -1
- package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +0 -55
- package/browser/driver/sqlite/SqliteConnectionOptions.js +0 -3
- package/browser/driver/sqlite/SqliteConnectionOptions.js.map +0 -1
- package/browser/driver/sqlite/SqliteDriver.d.ts +0 -59
- package/browser/driver/sqlite/SqliteDriver.js +0 -169
- package/browser/driver/sqlite/SqliteDriver.js.map +0 -1
- package/browser/driver/sqlite/SqliteQueryRunner.d.ts +0 -27
- package/browser/driver/sqlite/SqliteQueryRunner.js +0 -120
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +0 -1
- package/browser/driver/sqljs/SqljsConnectionOptions.js +0 -3
- package/browser/driver/sqljs/SqljsConnectionOptions.js.map +0 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js +0 -3
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +0 -1
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.d.ts +0 -7
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js +0 -14
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +0 -1
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.d.ts +0 -7
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js +0 -14
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +0 -1
- package/browser/error/CustomRepositoryNotFoundError.d.ts +0 -7
- package/browser/error/CustomRepositoryNotFoundError.js +0 -14
- package/browser/error/CustomRepositoryNotFoundError.js.map +0 -1
- package/browser/find-options/JoinOptions.d.ts +0 -76
- package/browser/find-options/JoinOptions.js +0 -3
- package/browser/find-options/JoinOptions.js.map +0 -1
- package/browser/metadata/RelationCountMetadata.d.ts +0 -46
- package/browser/metadata/RelationCountMetadata.js +0 -35
- package/browser/metadata/RelationCountMetadata.js.map +0 -1
- package/browser/metadata-args/EntityRepositoryMetadataArgs.d.ts +0 -14
- package/browser/metadata-args/EntityRepositoryMetadataArgs.js +0 -3
- package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +0 -1
- package/browser/metadata-args/RelationCountMetadataArgs.d.ts +0 -26
- package/browser/metadata-args/RelationCountMetadataArgs.js +0 -3
- package/browser/metadata-args/RelationCountMetadataArgs.js.map +0 -1
- package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +0 -53
- package/browser/query-builder/relation-count/RelationCountAttribute.js +0 -76
- package/browser/query-builder/relation-count/RelationCountAttribute.js.map +0 -1
- package/browser/query-builder/relation-count/RelationCountLoadResult.d.ts +0 -8
- package/browser/query-builder/relation-count/RelationCountLoadResult.js +0 -3
- package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +0 -1
- package/browser/query-builder/relation-count/RelationCountLoader.d.ts +0 -11
- package/browser/query-builder/relation-count/RelationCountLoader.js +0 -164
- package/browser/query-builder/relation-count/RelationCountLoader.js.map +0 -1
- package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +0 -7
- package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +0 -51
- package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +0 -1
- package/browser/repository/AbstractRepository.d.ts +0 -51
- package/browser/repository/AbstractRepository.js +0 -88
- package/browser/repository/AbstractRepository.js.map +0 -1
- package/connection/BaseConnectionOptions.d.ts +0 -7
- package/connection/BaseConnectionOptions.js.map +0 -1
- package/connection/Connection.d.ts +0 -10
- package/connection/Connection.js +0 -16
- package/connection/Connection.js.map +0 -1
- package/connection/ConnectionManager.d.ts +0 -33
- package/connection/ConnectionManager.js +0 -66
- package/connection/ConnectionManager.js.map +0 -1
- package/connection/ConnectionOptions.d.ts +0 -9
- package/connection/ConnectionOptions.js.map +0 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +0 -30
- package/connection/options-reader/ConnectionOptionsEnvReader.js +0 -111
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +0 -1
- package/container.d.ts +0 -39
- package/container.js +0 -60
- package/container.js.map +0 -1
- package/decorator/EntityRepository.d.ts +0 -9
- package/decorator/EntityRepository.js +0 -21
- package/decorator/EntityRepository.js.map +0 -1
- package/decorator/relations/RelationCount.d.ts +0 -8
- package/decorator/relations/RelationCount.js +0 -23
- package/decorator/relations/RelationCount.js.map +0 -1
- package/driver/aurora-mysql/AuroraMysqlConnection.d.ts +0 -13
- package/driver/aurora-mysql/AuroraMysqlConnection.js +0 -19
- package/driver/aurora-mysql/AuroraMysqlConnection.js.map +0 -1
- package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +0 -1
- package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js +0 -4
- package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +0 -1
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +0 -4
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +0 -1
- package/driver/capacitor/CapacitorConnectionOptions.js.map +0 -1
- package/driver/cockroachdb/CockroachConnectionOptions.js.map +0 -1
- package/driver/cordova/CordovaConnectionOptions.js.map +0 -1
- package/driver/expo/ExpoConnectionOptions.js.map +0 -1
- package/driver/expo/ExpoDriverFactory.d.ts +0 -9
- package/driver/expo/ExpoDriverFactory.js +0 -22
- package/driver/expo/ExpoDriverFactory.js.map +0 -1
- package/driver/expo/legacy/ExpoLegacyDriver.d.ts +0 -21
- package/driver/expo/legacy/ExpoLegacyDriver.js +0 -75
- package/driver/expo/legacy/ExpoLegacyDriver.js.map +0 -1
- package/driver/expo/legacy/ExpoLegacyQueryRunner.d.ts +0 -57
- package/driver/expo/legacy/ExpoLegacyQueryRunner.js +0 -169
- package/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +0 -1
- package/driver/mongodb/MongoConnectionOptions.js.map +0 -1
- package/driver/mysql/MysqlConnectionOptions.js +0 -4
- package/driver/mysql/MysqlConnectionOptions.js.map +0 -1
- package/driver/nativescript/NativescriptConnectionOptions.js +0 -4
- package/driver/nativescript/NativescriptConnectionOptions.js.map +0 -1
- package/driver/oracle/OracleConnectionOptions.js +0 -4
- package/driver/oracle/OracleConnectionOptions.js.map +0 -1
- package/driver/postgres/PostgresConnectionOptions.js +0 -4
- package/driver/postgres/PostgresConnectionOptions.js.map +0 -1
- package/driver/react-native/ReactNativeConnectionOptions.js +0 -4
- package/driver/react-native/ReactNativeConnectionOptions.js.map +0 -1
- package/driver/sap/SapConnectionOptions.js.map +0 -1
- package/driver/spanner/SpannerConnectionOptions.js +0 -4
- package/driver/spanner/SpannerConnectionOptions.js.map +0 -1
- package/driver/sqlite/SqliteConnectionOptions.d.ts +0 -55
- package/driver/sqlite/SqliteConnectionOptions.js +0 -4
- package/driver/sqlite/SqliteConnectionOptions.js.map +0 -1
- package/driver/sqlite/SqliteDriver.d.ts +0 -59
- package/driver/sqlite/SqliteDriver.js +0 -174
- package/driver/sqlite/SqliteDriver.js.map +0 -1
- package/driver/sqlite/SqliteQueryRunner.d.ts +0 -27
- package/driver/sqlite/SqliteQueryRunner.js +0 -124
- package/driver/sqlite/SqliteQueryRunner.js.map +0 -1
- package/driver/sqljs/SqljsConnectionOptions.js +0 -4
- package/driver/sqljs/SqljsConnectionOptions.js.map +0 -1
- package/driver/sqlserver/SqlServerConnectionOptions.js +0 -4
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +0 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.d.ts +0 -7
- package/error/CustomRepositoryCannotInheritRepositoryError.js +0 -18
- package/error/CustomRepositoryCannotInheritRepositoryError.js.map +0 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.d.ts +0 -7
- package/error/CustomRepositoryDoesNotHaveEntityError.js +0 -18
- package/error/CustomRepositoryDoesNotHaveEntityError.js.map +0 -1
- package/error/CustomRepositoryNotFoundError.d.ts +0 -7
- package/error/CustomRepositoryNotFoundError.js +0 -18
- package/error/CustomRepositoryNotFoundError.js.map +0 -1
- package/find-options/JoinOptions.d.ts +0 -76
- package/find-options/JoinOptions.js.map +0 -1
- package/metadata/RelationCountMetadata.d.ts +0 -46
- package/metadata/RelationCountMetadata.js +0 -39
- package/metadata/RelationCountMetadata.js.map +0 -1
- package/metadata-args/EntityRepositoryMetadataArgs.d.ts +0 -14
- package/metadata-args/EntityRepositoryMetadataArgs.js +0 -4
- package/metadata-args/EntityRepositoryMetadataArgs.js.map +0 -1
- package/metadata-args/RelationCountMetadataArgs.d.ts +0 -26
- package/metadata-args/RelationCountMetadataArgs.js +0 -4
- package/metadata-args/RelationCountMetadataArgs.js.map +0 -1
- package/query-builder/relation-count/RelationCountAttribute.d.ts +0 -53
- package/query-builder/relation-count/RelationCountAttribute.js +0 -80
- package/query-builder/relation-count/RelationCountAttribute.js.map +0 -1
- package/query-builder/relation-count/RelationCountLoadResult.d.ts +0 -8
- package/query-builder/relation-count/RelationCountLoadResult.js +0 -4
- package/query-builder/relation-count/RelationCountLoadResult.js.map +0 -1
- package/query-builder/relation-count/RelationCountLoader.d.ts +0 -11
- package/query-builder/relation-count/RelationCountLoader.js +0 -168
- package/query-builder/relation-count/RelationCountLoader.js.map +0 -1
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.d.ts +0 -7
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +0 -55
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +0 -1
- package/repository/AbstractRepository.d.ts +0 -51
- package/repository/AbstractRepository.js +0 -92
- package/repository/AbstractRepository.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query-builder/InsertQueryBuilder.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAInC,uDAAmD;AAGnD,oCAAuC;AACvC,gFAA4E;AAC5E,sGAAkG;AAElG,uEAAmE;AACnE,6DAAyD;AACzD,qDAAiD;AAEjD,iDAA6C;AAE7C,wDAAoD;AACpD,mFAA+E;AAG/E;;GAEG;AACH,MAAa,kBAEX,SAAQ,2BAAoB;IAF9B;;QAGa,mBAAa,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IA68C7D,CAAC;IA38CG,4EAA4E;IAC5E,6BAA6B;IAC7B,4EAA4E;IAE5E;;OAEG;IACH,QAAQ;QACJ,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,GAAG,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACjC,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAA;QACpC,OAAO,IAAI,CAAC,oCAAoC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,+BAA+B;QAC/B,MAAM,SAAS,GAAoB,IAAI,CAAC,YAAY,EAAE,CAAA;QACtD,kCAAkC;QAElC,kEAAkE;QAClE,YAAY;QACZ,EAAE;QACF,sEAAsE;QACtE,kEAAkE;QAClE,oEAAoE;QACpE,uCAAuC;QACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,2BAAY,EAAE,CAAA;QAErD,wCAAwC;QACxC,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC5C,IAAI,sBAAsB,GAAY,KAAK,CAAA;QAE3C,IAAI,CAAC;YACD,sCAAsC;YACtC,IACI,IAAI,CAAC,aAAa,CAAC,cAAc,KAAK,IAAI;gBAC1C,WAAW,CAAC,mBAAmB,KAAK,KAAK,EAC3C,CAAC;gBACC,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAA;gBACpC,sBAAsB,GAAG,IAAI,CAAA;YACjC,CAAC;YAED,sCAAsC;YAEtC,6DAA6D;YAC7D,IACI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI;gBACzC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C,CAAC;gBACC,MAAM,eAAe,GAAG,IAAI,qCAAiB,EAAE,CAAA;gBAC/C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC3B,WAAW,CAAC,WAAW,CAAC,0BAA0B,CAC9C,eAAe,EACf,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,EACtC,QAAQ,CACX,CAAA;gBACL,CAAC,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;YAChC,CAAC;YAED,IAAI,UAAU,GAAkB,IAAI,CAAA;YACpC,IAAI,eAAe,GAAkB,IAAI,CAAA;YAEzC,yFAAyF;YACzF,gDAAgD;YAChD,MAAM,6BAA6B,GAC/B,IAAI,6DAA6B,CAC7B,WAAW,EACX,IAAI,CAAC,aAAa,CACrB,CAAA;YAEL,MAAM,gBAAgB,GAAqB,EAAE,CAAA;YAE7C,IACI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C,CAAC;gBACC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;oBACpD,gBAAgB,CAAC,IAAI,CACjB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAC,2BAA2B,CACjE,UAAU,CACb,CACJ,CAAA;gBACL,CAAC;YACL,CAAC;YAED,IACI,IAAI,CAAC,aAAa,CAAC,YAAY,KAAK,IAAI;gBACxC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C,CAAC;gBACC,IACI,CAAC,CACG,SAAS,CAAC,MAAM,GAAG,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CACnD,EACH,CAAC;oBACC,IAAI,CAAC,aAAa,CAAC,qBAAqB;wBACpC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAA;gBAC7E,CAAC;gBAED,gBAAgB,CAAC,IAAI,CACjB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACvC,CACJ,CAAA;YACL,CAAC;YAED,IACI,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EACjD,CAAC;gBACC,UAAU,GACN,IAAI,CAAC,UAAU,CAAC,MACnB,CAAC,6BAA6B,CAC3B,cAAc,EACd,gBAAgB,CACnB,CAAA;gBACD,eAAe,GAAG,4BAA4B,CAAA;YAClD,CAAC;YACD,mDAAmD;YAEnD,gBAAgB;YAChB,iDAAiD;YACjD,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC5D,oDAAoD;YAEpD,gDAAgD;YAChD,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;YAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAE7D,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;YAElE,MAAM,YAAY,GAAG,2BAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAEnD,mDAAmD;YAEnD,kFAAkF;YAClF,IACI,IAAI,CAAC,aAAa,CAAC,YAAY,KAAK,IAAI;gBACxC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C,CAAC;gBACC,oCAAoC;gBACpC,MAAM,6BAA6B,CAAC,MAAM,CACtC,YAAY,EACZ,SAAS,CACZ,CAAA;gBACD,uCAAuC;YAC3C,CAAC;YAED,4DAA4D;YAC5D,IACI,IAAI,CAAC,aAAa,CAAC,aAAa,KAAK,IAAI;gBACzC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAC3C,CAAC;gBACC,MAAM,eAAe,GAAG,IAAI,qCAAiB,EAAE,CAAA;gBAC/C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC3B,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAC7C,eAAe,EACf,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,EACtC,QAAQ,CACX,CAAA;gBACL,CAAC,CAAC,CAAA;gBACF,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;YAChC,CAAC;YAED,qCAAqC;YACrC,2BAA2B;YAC3B,IAAI,sBAAsB,EAAE,CAAC;gBACzB,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAA;YACzC,CAAC;YACD,8BAA8B;YAE9B,OAAO,YAAY,CAAA;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,wCAAwC;YACxC,IAAI,sBAAsB,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACD,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAA;gBAC3C,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC,CAAA,CAAC;YAC9B,CAAC;YACD,MAAM,KAAK,CAAA;QACf,CAAC;gBAAS,CAAC;YACP,yCAAyC;YACzC,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,wCAAwC;gBACxC,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;YAC/B,CAAC;YACD,4CAA4C;YAC5C,2CAA2C;QAC/C,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,IAAI,CACA,YAA6B,EAC7B,OAAkB;QAElB,YAAY,GAAG,iCAAe,CAAC,cAAc,CAAC,YAAY,CAAC;YACvD,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI;YAC3B,CAAC,CAAC,YAAY,CAAA;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QACpD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,OAAO,IAAI,EAAE,CAAA;QAChD,OAAO,IAAoC,CAAA;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM,CACF,MAEsC;QAEtC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,MAAM,CAAA;QACrC,OAAO,IAAI,CAAA;IACf,CAAC;IAmBD;;OAEG;IACH,MAAM,CAAC,MAAyB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAmBD;;OAEG;IACH,SAAS,CAAC,SAA4B;QAClC,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,yEAAmC,EAAE,CAAA;QACnD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAA;QACxC,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,OAAgB;QACzB,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,OAAO,CAAA;QACzC,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,SAAiB;QACxB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,SAAS,CAAA;QACzC,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,YAA8B,IAAI;QACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAA;QACzC,OAAO,IAAI,CAAA;IACf,CAAC;IA0BD;;OAEG;IACH,QAAQ,CACJ,oBAMc,EACd,cAAkC,EAClC,eAAuC;QAEvC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,kBAAkB,IAAI,EAAE,CAAA;QACvE,IAAI,MAAiC,CAAA;QACrC,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7D,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAE9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG;gBAC1B,QAAQ,EAAE,oBAAoB,EAAE,eAAe;gBAC/C,OAAO,EAAE,oBAAoB,EAAE,OAAO;gBACtC,SAAS,EAAE,oBAAoB,EAAE,SAAS;gBAC1C,2BAA2B,EACvB,eAAe,EAAE,2BAA2B;gBAChD,UAAU,EAAE,eAAe,EAAE,UAAU;gBACvC,kBAAkB,EAAE,MAAM;aAC7B,CAAA;YACD,OAAO,IAAI,CAAA;QACf,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG;YAC1B,SAAS,EAAE,oBAAoB;YAC/B,QAAQ,EAAE,cAAc;YACxB,2BAA2B,EACvB,eAAe,EAAE,2BAA2B;YAChD,cAAc,EAAE,eAAe,EAAE,cAAc;YAC/C,UAAU,EAAE,eAAe,EAAE,UAAU;YACvC,kBAAkB,EAAE,MAAM;SAC7B,CAAA;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,sBAAsB;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7D,IACI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,IAAI,YAAY,CAAC;gBACrD,YAAY;gBAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAChD,YAAY,CACf;gBAED,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC3C,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAC5D,MAAM,gBAAgB,GAClB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,SAAS,CAAA;QACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAA,CAAC,qIAAqI;QAC5L,MAAM,mBAAmB,GACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YAChD,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA,CAAC,wDAAwD;QAC3G,MAAM,iBAAiB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAC5D,IAAI,KAAK,GAAG,SAAS,CAAA;QAErB,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,KAAK,aAAa,EAAE,CAAC;YAC5D,KAAK,GAAG,SAAS,CAAA;QACrB,CAAC;QAED,IACI,yBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EACxD,CAAC;YACC,KAAK,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC/D,CAAC;QAED,KAAK,IAAI,QAAQ,SAAS,EAAE,CAAA;QAE5B,IACI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE;YACtC,yBAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACtD,CAAC;YACC,KAAK,IAAI,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAA;QAClC,CAAC;QAED,yBAAyB;QACzB,IAAI,iBAAiB,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,iBAAiB,GAAG,CAAA;QACrC,CAAC;aAAM,CAAC;YACJ,IACI,CAAC,gBAAgB;gBACjB,CAAC,yBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC;gBAE3D,oDAAoD;gBACpD,KAAK,IAAI,IAAI,CAAA;QACrB,CAAC;QAED,wBAAwB;QACxB,IACI,mBAAmB;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EACjD,CAAC;YACC,KAAK,IAAI,WAAW,mBAAmB,EAAE,CAAA;QAC7C,CAAC;QAED,wBAAwB;QACxB,IAAI,gBAAgB,EAAE,CAAC;YACnB,IACI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;gBAClD,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,EAChC,CAAC;gBACC,KAAK,IAAI,IAAI,gBAAgB,EAAE,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,WAAW,gBAAgB,EAAE,CAAA;YAC1C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IACI,yBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EACxD,CAAC;gBACC,oDAAoD;gBACpD,KAAK,IAAI,YAAY,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,iBAAiB,CAAA;YAC9B,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,KAAK,aAAa,EAAE,CAAC;YAC5D,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAChD,uBAAuB,CAC1B,EACH,CAAC;gBACC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAC9B,KAAK,IAAI,0BAA0B,CAAA;gBACvC,CAAC;qBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;oBACvC,KAAK,IAAI,gBAAgB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,CAAA;gBAC7D,CAAC;qBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBACrC,MAAM,EACF,SAAS,EACT,OAAO,EACP,QAAQ,EACR,2BAA2B,EAC3B,cAAc,GACjB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA;oBAE/B,IAAI,cAAc,GAAG,aAAa,CAAA;oBAElC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,cAAc,IAAI,MAAM,QAAQ;6BAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;wBACnB,IACI,cAAc;4BACd,CAAC,yBAAW,CAAC,gBAAgB,CACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,EACH,CAAC;4BACC,MAAM,IAAI,oBAAY,CAClB,uEAAuE,CAC1E,CAAA;wBACL,CAAC;wBACD,IACI,cAAc;4BACd,yBAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACtD,CAAC;4BACC,cAAc,IAAI,YAAY,cAAc,IAAI,CAAA;wBACpD,CAAC;oBACL,CAAC;yBAAM,IAAI,QAAQ,EAAE,CAAC;wBAClB,cAAc,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAC3C,QAAQ,CACX,EAAE,CAAA;oBACP,CAAC;oBAED,MAAM,UAAU,GAAa,EAAE,CAAA;oBAE/B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3B,UAAU,CAAC,IAAI,CACX,GAAG,SAAS,CAAC,GAAG,CACZ,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CACV,MAAM,CACT,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAC5C,CACJ,CAAA;oBACL,CAAC;yBAAM,IAAI,OAAO,EAAE,CAAC;wBACjB,UAAU,CAAC,IAAI,CACX,GAAG,OAAO,CAAC,GAAG,CACV,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,MAAM,EAAE,CAC5C,CACJ,CAAA;oBACL,CAAC;oBAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,KAAK,IAAI,IAAI,cAAc,iBAAiB,CAAA;wBAE5C,UAAU,CAAC,IAAI,CACX,GAAG,IAAI,CAAC,aAAa;6BAChB,SAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAC/B,CAAC,MAAM,EAAE,EAAE,CACP,MAAM,CAAC,YAAY;4BACnB,CAAC,SAAS,EAAE,QAAQ,CAChB,MAAM,CAAC,YAAY,CACtB;4BACD,CAAC,CACG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;iCAC1B,IAAI,KAAK,QAAQ;gCAClB,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM;oCACtB,CAAC,CAAC;gCACV,yBAAW,CAAC,cAAc,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB;gCACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;qCACzB,IAAI,KAAK,KAAK;gCACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;qCACzB,IAAI,KAAK,SAAS,CAC1B,CACR;6BACA,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CACV,MAAM,CAAC,YAAY,CACtB,YAAY,CACpB,CACR,CAAA;wBAED,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAClC,CAAC;oBAED,IACI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;wBACxB,2BAA2B,EAC7B,CAAC;wBACC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,KAAK,EAAE,CAAA;wBACrD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4BACnD,IAAI,EAAE,IAAI;4BACV,SAAS,EAAE,GAAG,gBAAgB,IAAI,IAAI,CAAC,MAAM,CACzC,MAAM,CACT,8BAA8B,IAAI,CAAC,MAAM,CACtC,MAAM,CACT,EAAE;yBACN,CAAC,CAAC,CAAA;wBACH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;4BAChD,IAAI,EAAE,KAAK;4BACX,SAAS,EAAE,MAAM;yBACpB,CAAC,CAAA;oBACN,CAAC;oBACD,IACI,yBAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;wBACpD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB;wBAC9C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM;4BACjD,CAAC,EACP,CAAC;wBACC,KAAK,IAAI,UAAU,IAAI,CAAC,+BAA+B,EAAE,EAAE,CAAA;oBAC/D,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAChD,yBAAyB,CAC5B,EACH,CAAC;gBACC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA;oBAE1D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3B,KAAK,IAAI,2BAA2B,CAAA;wBACpC,KAAK,IAAI,SAAS;6BACb,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CACV,MAAM,CACT,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAC3C;6BACA,IAAI,CAAC,IAAI,CAAC,CAAA;wBACf,KAAK,IAAI,GAAG,CAAA;oBAChB,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChC,KAAK,IAAI,2BAA2B,CAAA;wBACpC,KAAK,IAAI,OAAO;6BACX,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,MAAM,EAAE,CAC5C;6BACA,IAAI,CAAC,IAAI,CAAC,CAAA;wBACf,KAAK,IAAI,GAAG,CAAA;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAC9B,MAAM,IAAI,oBAAY,CAClB,0DAA0D,CAC7D,CAAA;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,IACI,mBAAmB;YACnB,CAAC,yBAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa;gBACrD,yBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EACxD,CAAC;YACC,KAAK,IAAI,cAAc,mBAAmB,EAAE,CAAA;QAChD,CAAC;QAED,IACI,mBAAmB;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EACnD,CAAC;YACC,KAAK,IAAI,gBAAgB,mBAAmB,EAAE,CAAA;QAClD,CAAC;QAED,0GAA0G;QAC1G,oMAAoM;QACpM,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;YAC/C,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW;YACzC,IAAI,CAAC,aAAa;iBACb,SAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBACvC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CACpC,MAAM,CAAC,YAAY,CACtB,KAAK,CAAC,CAAC;gBACV,CAAC,CAAC,MAAM,CAAC,QAAQ,CACxB;iBACA,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACb,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CACjD,EACP,CAAC;YACC,KAAK,GAAG,uBAAuB,SAAS,QAAQ,KAAK,yBAAyB,SAAS,MAAM,CAAA;QACjG,CAAC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;OAEG;IACO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW;YAAE,OAAO,EAAE,CAAA;QAEzD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CACxD,CAAC,MAAM,EAAE,EAAE;YACP,oFAAoF;YACpF,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM;gBACvC,OAAO,CACH,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CACpC,MAAM,CAAC,YAAY,CACtB,KAAK,CAAC,CAAC,CACX,CAAA;YAEL,yDAAyD;YACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,wFAAwF;YACxF,+GAA+G;YAC/G,IACI,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,kBAAkB,KAAK,WAAW;gBACzC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACnD,CAAC,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACnD,CAAC,yBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAClD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC;gBACzD,CAAC,CACG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;oBAC/C,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CACjD;gBAED,OAAO,KAAK,CAAA;YAEhB,OAAO,IAAI,CAAA;QACf,CAAC,CACJ,CAAA;IACL,CAAC;IAED;;OAEG;IACO,2BAA2B;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,OAAO,OAAO;iBACT,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBACjD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnB,uFAAuF;QACvF,gGAAgG;QAChG,IACI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW;YAC1C,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,EAC1C,CAAC;YACC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;YACrC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBAC3B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;qBAC5C,IAAI,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QAED,iDAAiD;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa;aAClC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aAC5C,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED;;OAEG;IACO,sBAAsB;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzC,gFAAgF;QAChF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,UAAU,GAAG,EAAE,CAAA;YACnB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE;gBAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;oBACpC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;wBACpB,IACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;4BAChD,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;4BACC,UAAU,IAAI,UAAU,CAAA;wBAC5B,CAAC;6BAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;4BAC7C,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;4BACC,UAAU,IAAI,UAAU,CAAA;wBAC5B,CAAC;6BAAM,CAAC;4BACJ,UAAU,IAAI,GAAG,CAAA;wBACrB,CAAC;oBACL,CAAC;oBAED,UAAU,IAAI,IAAI,CAAC,2BAA2B,CAC1C,SAAS,EACT,aAAa,EACb,MAAM,CACT,CAAA;oBAED,IAAI,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,IAAI,aAAa,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzC,IACI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CACtC;gCACD,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;gCACC,UAAU;oCACN,QAAQ;wCACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAA;4BAC7C,CAAC;iCAAM,CAAC;gCACJ,UAAU,IAAI,GAAG,CAAA;4BACrB,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,IACI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CACtC;gCACD,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;gCACC,UAAU;oCACN,QAAQ;wCACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc;wCACrC,aAAa,CAAA;4BACrB,CAAC;iCAAM,CAAC;gCACJ,UAAU,IAAI,KAAK,CAAA;4BACvB,CAAC;wBACL,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,UAAU,IAAI,IAAI,CAAA;oBACtB,CAAC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAA;YAElC,OAAO,UAAU,CAAA;QACrB,CAAC;aAAM,CAAC;YACJ,8BAA8B;YAC9B,kCAAkC;YAClC,IAAI,UAAU,GAAG,EAAE,CAAA;YAEnB,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE;gBAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACrC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE;oBACxC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;wBACpB,UAAU,IAAI,GAAG,CAAA;oBACrB,CAAC;oBAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;oBAElC,yCAAyC;oBACzC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;wBAC9B,UAAU,IAAI,KAAK,EAAE,CAAA;wBAErB,sEAAsE;oBAC1E,CAAC;yBAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC7B,IACI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;4BAC7C,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;4BACzB,yBAAW,CAAC,cAAc,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB;4BACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;4BAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EACnD,CAAC;4BACC,UAAU,IAAI,MAAM,CAAA;wBACxB,CAAC;6BAAM,CAAC;4BACJ,UAAU,IAAI,SAAS,CAAA;wBAC3B,CAAC;oBACL,CAAC;yBAAM,IACH,KAAK,KAAK,IAAI;wBACd,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EACnD,CAAC;wBACC,+BAA+B;oBACnC,CAAC;yBAAM,CAAC;wBACJ,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;oBAC7C,CAAC;oBAED,IAAI,WAAW,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnD,IAAI,cAAc,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC1C,UAAU,IAAI,GAAG,CAAA;wBACrB,CAAC;6BAAM,CAAC;4BACJ,UAAU,IAAI,KAAK,CAAA;wBACvB,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,UAAU,IAAI,IAAI,CAAA;oBACtB,CAAC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAA;YAClC,OAAO,UAAU,CAAA;QACrB,CAAC;IACL,CAAC;IAED;;OAEG;IACO,YAAY;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAA;QAEvC,IAAI,yBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAEzC,MAAM,IAAI,mDAAwB,EAAE,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACO,iCAAiC,CACvC,MAAsB;QAEtB,OAAO,CACH,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,WAAW;YAClB,MAAM,CAAC,kBAAkB,KAAK,WAAW;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CACpB,CAAC,QAAQ,EAAE,EAAE,CACT,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,SAAS;gBAC7C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI,CAC/C,CACJ,CAAA;IACL,CAAC;IAED;;OAEG;IACO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC;YACnE,MAAM,IAAI,oBAAY,CAClB,sEAAsE,CACzE,CAAA;QAEL,IACI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU;YACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,KAAK,YAAY,EACzD,CAAC;YACC,MAAM,IAAI,oBAAY,CAClB,gBAAgB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,+CAA+C,CACxG,CAAA;QACL,CAAC;QACD,kDAAkD;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAE5D,IAAI,KAAK,GAAG,cAAc,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;QAEhE,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAEvD,MAAM,qBAAqB,GACvB,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAA;QAE1D,KAAK,IAAI,IAAI,qBAAqB,EAAE,CAAA;QAEpC,qBAAqB;QACrB,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC7D,IAAI,UAAU,EAAE,CAAC;gBACb,KAAK,IAAI,QAAQ,UAAU,IAAI,IAAI,CAAC,MAAM,CACtC,UAAU,CAAC,YAAY,CAC1B,MAAM,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAClC,UAAU,CAAC,YAAY,CAC1B,GAAG,CAAA;YACR,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,OAAO,IAAI,CAAC,aAAa;qBAC7B,SAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACxC,OAAO,IAAI,MAAM,CAAC,OAAO;yBACpB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBACZ,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CAC/B,MAAM,CAAC,YAAY,CACtB,MAAM,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAClC,MAAM,CAAC,YAAY,CACtB,EAAE,CAAA;oBACP,CAAC,CAAC;yBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;gBACzB,CAAC,CAAC;qBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;YACxB,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA;YAEhE,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,IAAI,oBAAY,CAClB,oEAAoE,CACvE,CAAA;YACL,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,KAAK,IAAI,QAAQ,QAAQ;qBACpB,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CACxB,MAAM,CACT,MAAM,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACvD;qBACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;YACzB,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBAClB,KAAK,IAAI,QAAQ,UAAU,IAAI,IAAI,CAAC,MAAM,CACtC,QAAQ,CACX,MAAM,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAA;YACvD,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,OAAO,IAAI,CAAC,aAAa;qBAC7B,SAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACxC,OAAO,IAAI,MAAM,CAAC,OAAO;yBACpB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBACZ,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CAC/B,MAAM,CAAC,YAAY,CACtB,MAAM,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAClC,MAAM,CAAC,YAAY,CACtB,EAAE,CAAA;oBACP,CAAC,CAAC;yBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;gBACzB,CAAC,CAAC;qBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;YACxB,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,EACF,SAAS,EACT,OAAO,EACP,QAAQ,EACR,2BAA2B,GAC9B,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA;YAC/B,IAAI,gBAAgB,GAAG,EAAE,CAAA;YAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;oBACtC,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;qBAChD,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CACxB,MAAM,CACT,MAAM,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACvD;qBACA,IAAI,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,2BAA2B,EAAE,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,KAAK,EAAE,CAAA;gBACrD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACnD,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE;wBACP,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE;4BACR,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;4BACtC,GAAG,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;yBAC/C;qBACJ;iBACJ,CAAC,CAAC,CAAA;gBACH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;oBAChD,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,MAAM;iBACpB,CAAC,CAAA;YACN,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAA;YAC7D,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1B,IACI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;oBAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC;oBAClD,cAAc,IAAI,EAAE,EACtB,CAAC;oBACC,KAAK,IAAI,qBAAqB,cAAc,oBAAoB,gBAAgB,EAAE,CAAA;gBACtF,CAAC;qBAAM,CAAC;oBACJ,KAAK,IAAI,iCAAiC,gBAAgB,EAAE,CAAA;oBAC5D,IAAI,cAAc,IAAI,EAAE,EAAE,CAAC;wBACvB,KAAK,IAAI,UAAU,cAAc,EAAE,CAAA;oBACvC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAClB,IAAI,CAAC,qCAAqC,CAAC,gBAAgB,CAAC,CAAA;QAChE,MAAM,mBAAmB,GACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;YAC3C,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAA;QAEd,KAAK,IAAI,+BAA+B,CAAA;QAExC,yBAAyB;QACzB,IAAI,iBAAiB,EAAE,CAAC;YACpB,KAAK,IAAI,IAAI,iBAAiB,GAAG,CAAA;QACrC,CAAC;QAED,wBAAwB;QACxB,IAAI,gBAAgB,EAAE,CAAC;YACnB,KAAK,IAAI,WAAW,gBAAgB,EAAE,CAAA;QAC1C,CAAC;QAED,wBAAwB;QACxB,IACI,mBAAmB;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EACjD,CAAC;YACC,KAAK,IAAI,WAAW,mBAAmB,EAAE,CAAA;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClD,KAAK,IAAI,GAAG,CAAA;QAChB,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;OAEG;IACO,+BAA+B,CACrC,gBAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzC,IAAI,UAAU,GAAG,SAAS,CAAA;QAC1B,gFAAgF;QAChF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClD,UAAU,IAAI,SAAS,CAAA;YAC3B,CAAC;YACD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE;gBAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;oBACpC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;wBACpB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAClD,UAAU,IAAI,GAAG,CAAA;wBACrB,CAAC;6BAAM,CAAC;4BACJ,UAAU,IAAI,SAAS,CAAA;wBAC3B,CAAC;oBACL,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;oBAE7C,IACI,KAAK,KAAK,SAAS;wBACnB,CAAC,CACG,MAAM,CAAC,WAAW;4BAClB,MAAM,CAAC,kBAAkB,KAAK,MAAM;4BACpC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,yBAAyB,EAAE,CACtD,EACH,CAAC;wBACC,IACI,MAAM,CAAC,OAAO,KAAK,SAAS;4BAC5B,MAAM,CAAC,OAAO,KAAK,IAAI,EACzB,CAAC;4BACC,2CAA2C;4BAC3C,UAAU;gCACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;wBACvD,CAAC;6BAAM,CAAC;4BACJ,UAAU,IAAI,MAAM,CAAA,CAAC,2DAA2D;wBACpF,CAAC;oBACL,CAAC;yBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACxB,UAAU,IAAI,MAAM,CAAA;oBACxB,CAAC;yBAAM,CAAC;wBACJ,UAAU,IAAI,IAAI,CAAC,2BAA2B,CAC1C,SAAS,EACT,aAAa,EACb,MAAM,CACT,CAAA;oBACL,CAAC;oBAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;wBAC/C,UAAU,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAA;oBAE3D,IAAI,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,IAAI,aAAa,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzC,IACI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CACtC,EACH,CAAC;gCACC,UAAU;oCACN,QAAQ;wCACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAA;4BAC7C,CAAC;iCAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EACjD,CAAC;gCACC,UAAU,IAAI,GAAG,CAAA;4BACrB,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,IACI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CACtC;gCACD,SAAS,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;gCACC,UAAU;oCACN,QAAQ;wCACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc;wCACrC,aAAa,CAAA;4BACrB,CAAC;iCAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EACjD,CAAC;gCACC,UAAU,IAAI,KAAK,CAAA;4BACvB,CAAC;iCAAM,CAAC;gCACJ,UAAU,IAAI,aAAa,CAAA;4BAC/B,CAAC;wBACL,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,UAAU,IAAI,IAAI,CAAA;oBACtB,CAAC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,8BAA8B;YAC9B,MAAM,IAAI,oBAAY,CAClB,mEAAmE,CACtE,CAAA;QACL,CAAC;QACD,UAAU,IAAI,KAAK,gBAAgB,EAAE,CAAA;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;YAC/C,UAAU,IAAI,KAAK,OAAO;iBACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBACjD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACtB,OAAO,UAAU,CAAA;IACrB,CAAC;IAED;;OAEG;IACO,qCAAqC,CAC3C,gBAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzC,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,gFAAgF;QAChF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;gBACpC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;oBACpB,UAAU,IAAI,GAAG,CAAA;gBACrB,CAAC;gBAED,IACI,CAAC,MAAM,CAAC,WAAW;oBACf,MAAM,CAAC,kBAAkB,KAAK,MAAM;oBACpC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;oBACvD,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,kBAAkB,KAAK,MAAM,CAAC,EAC9D,CAAC;oBACC,UAAU,IAAI,SAAS,CAAA;gBAC3B,CAAC;qBAAM,CAAC;oBACJ,UAAU,IAAI,GAAG,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAC5C,MAAM,CAAC,YAAY,CACtB,EAAE,CAAA;gBACP,CAAC;gBAED,IAAI,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,UAAU,IAAI,GAAG,CAAA;gBACrB,CAAC;qBAAM,CAAC;oBACJ,UAAU,IAAI,IAAI,CAAA;gBACtB,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,8BAA8B;YAC9B,MAAM,IAAI,oBAAY,CAClB,mEAAmE,CACtE,CAAA;QACL,CAAC;QACD,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAClC,OAAO,UAAU,CAAA;IACrB,CAAC;IAED;;OAEG;IACO,+BAA+B;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB;YAAE,OAAO,EAAE,CAAA;QAC9D,MAAM,eAAe,GAAG,EAAE,CAAA;QAE1B,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,CACrD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CACjD,CAAA;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;YAC1D,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;YAC5C,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,CAAC;gBACC,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,MAAM,UAAU,CAAA;gBACrC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC;YAED,IAAI,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;gBAChE,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,MAAM,qCAAqC,CAAA;gBAChE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,8BAA8B,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAA;YACnE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,SAAS,GAAG,EAAE,CAAA;QAElB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1B,SAAS,IAAI,EAAE,CAAA;QACnB,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,SAAS,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,CAAC;aAAM,CAAC;YACJ,SAAS,IAAI,KAAK,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QAC3D,CAAC;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAES,2BAA2B,CACjC,SAA0B,EAC1B,aAAqB,EACrB,MAAsB;QAEtB,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;QACzC,IAAI,UAAU,GAAG,EAAE,CAAA;QAEnB,qCAAqC;QACrC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAE3C,wGAAwG;QACxG,wFAAwF;QACxF,sCAAsC;QACtC;;WAEG;QAEH,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,EAAE,CAAC;YACjC,gDAAgD;YAChD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACxE,CAAC;QAED,2EAA2E;QAC3E,6CAA6C;QAC7C,IAAI,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,UAAU,IAAI,GAAG,CAAA;YAEjB,uCAAuC;YACvC,wFAAwF;YACxF,uHAAuH;YACvH,8GAA8G;YAC9G,8BAA8B;YAC9B,EAAE;YACF,wCAAwC;YACxC,wFAAwF;YACxF,uHAAuH;YACvH,8GAA8G;YAC9G,8BAA8B;QAClC,CAAC;aAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,UAAU,IAAI,IAAI,CAAC,eAAe,CAC9B,IAAI,CAAC,aAAa,CAAC,SAAU,CAAC,QAAQ,CAAC,kBAAkB,CAC5D,CAAA;YACD,cAAc;YAEd,qDAAqD;YACrD,uFAAuF;YACvF,+EAA+E;YAC/E,2DAA2D;YAC3D,kCAAkC;YAElC,8KAA8K;QAClL,CAAC;aAAM,IACH,MAAM,CAAC,WAAW;YAClB,MAAM,CAAC,kBAAkB,KAAK,MAAM;YACpC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,yBAAyB,EAAE;YACnD,KAAK,KAAK,SAAS,EACrB,CAAC;YACC,KAAK,GAAG,IAAA,SAAM,GAAE,CAAA;YAChB,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;YAEzC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,CAAA;YAC3D,CAAC;YACD,MAAM,CAAC,cAAc,CACjB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAClD,KAAK,CACR,CAAA;YAED,sEAAsE;QAC1E,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IACI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAC7C,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzB,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;gBAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EACnD,CAAC;gBACC,6EAA6E;gBAC7E,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC1D,2CAA2C;oBAC3C,UAAU;wBACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;gBACvD,CAAC;qBAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;oBACjD,MAAM,CAAC,WAAW;oBAClB,MAAM,CAAC,kBAAkB,KAAK,MAAM,EACtC,CAAC;oBACC,UAAU,IAAI,iBAAiB,CAAA,CAAC,4EAA4E;gBAChH,CAAC;qBAAM,CAAC;oBACJ,UAAU,IAAI,MAAM,CAAA,CAAC,2DAA2D;gBACpF,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,UAAU,IAAI,SAAS,CAAA;YAC3B,CAAC;QACL,CAAC;aAAM,IACH,KAAK,KAAK,IAAI;YACd,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;gBAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,EACvD,CAAC;YACC,UAAU,IAAI,MAAM,CAAA;YAEpB,yCAAyC;QAC7C,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACrC,UAAU,IAAI,KAAK,EAAE,CAAA;YAErB,+BAA+B;QACnC,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;gBAC/C,KAAK,GACD,IAAI,CAAC,UAAU,CAAC,MACnB,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAErC,0GAA0G;YAC1G,8BAA8B;YAC9B,yCAAyC;YAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;YAE7C,IACI,CAAC,yBAAW,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC;gBAC3D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAC3D,CAAC;gBACC,MAAM,SAAS,GACX,IAAI,CAAC,UAAU,CAAC,MACnB,CAAC,OAAO,CAAC,oBAAoB,CAAA;gBAC9B,MAAM,YAAY,GAAG,SAAS;oBAC1B,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,iBAAiB,CAAA;gBACvB,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;oBACtB,UAAU,IAAI,GAAG,YAAY,IAAI,SAAS,KAAK,MAAM,CAAC,IAAI,GAAG,CAAA;gBACjE,CAAC;qBAAM,CAAC;oBACJ,UAAU,IAAI,GAAG,YAAY,IAAI,SAAS,GAAG,CAAA;gBACjD,CAAC;YACL,CAAC;iBAAM,IACH,yBAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACpD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAC3D,CAAC;gBACC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;oBACtB,UAAU,IAAI,iCAAiC,SAAS,MAAM,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBAChG,CAAC;qBAAM,CAAC;oBACJ,UAAU,IAAI,sBAAsB,SAAS,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBACpE,CAAC;YACL,CAAC;iBAAM,IACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;gBAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAC3D,CAAC;gBACC,UAAU;oBACN,MAAM,CAAC,IAAI;wBACX,mBAAmB;wBACnB,SAAS;wBACT,IAAI;wBACJ,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;wBACpB,GAAG,CAAA;YACX,CAAC;iBAAM,CAAC;gBACJ,UAAU,IAAI,SAAS,CAAA;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,UAAU,CAAA;IACrB,CAAC;CACJ;AAh9CD,gDAg9CC","file":"InsertQueryBuilder.js","sourcesContent":["import { v4 as uuidv4 } from \"uuid\"\nimport { EntityTarget } from \"../common/EntityTarget\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { AuroraMysqlDriver } from \"../driver/aurora-mysql/AuroraMysqlDriver\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport { MysqlDriver } from \"../driver/mysql/MysqlDriver\"\nimport { SqlServerDriver } from \"../driver/sqlserver/SqlServerDriver\"\nimport { TypeORMError } from \"../error\"\nimport { InsertValuesMissingError } from \"../error/InsertValuesMissingError\"\nimport { ReturningStatementNotSupportedError } from \"../error/ReturningStatementNotSupportedError\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { BroadcasterResult } from \"../subscriber/BroadcasterResult\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { InsertOrUpdateOptions } from \"./InsertOrUpdateOptions\"\nimport { QueryBuilder } from \"./QueryBuilder\"\nimport { QueryDeepPartialEntity } from \"./QueryPartialEntity\"\nimport { InsertResult } from \"./result/InsertResult\"\nimport { ReturningResultsEntityUpdator } from \"./ReturningResultsEntityUpdator\"\nimport { WhereClause } from \"./WhereClause\"\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport class InsertQueryBuilder<\n Entity extends ObjectLiteral,\n> extends QueryBuilder<Entity> {\n readonly \"@instanceof\" = Symbol.for(\"InsertQueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n getQuery(): string {\n let sql = this.createComment()\n sql += this.createCteExpression()\n sql += this.createInsertExpression()\n return this.replacePropertyNamesForTheWholeQuery(sql.trim())\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<InsertResult> {\n // console.time(\".value sets\");\n const valueSets: ObjectLiteral[] = this.getValueSets()\n // console.timeEnd(\".value sets\");\n\n // If user passed empty array of entities then we don't need to do\n // anything.\n //\n // Fixes GitHub issues #3111 and #5734. If we were to let this through\n // we would run into problems downstream, like subscribers getting\n // invoked with the empty array where they expect an entity, and SQL\n // queries with an empty VALUES clause.\n if (valueSets.length === 0) return new InsertResult()\n\n // console.time(\"QueryBuilder.execute\");\n // console.time(\".database stuff\");\n const queryRunner = this.obtainQueryRunner()\n let transactionStartedByUs: boolean = false\n\n try {\n // start transaction if it was enabled\n if (\n this.expressionMap.useTransaction === true &&\n queryRunner.isTransactionActive === false\n ) {\n await queryRunner.startTransaction()\n transactionStartedByUs = true\n }\n\n // console.timeEnd(\".database stuff\");\n\n // call before insertion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n const broadcastResult = new BroadcasterResult()\n valueSets.forEach((valueSet) => {\n queryRunner.broadcaster.broadcastBeforeInsertEvent(\n broadcastResult,\n this.expressionMap.mainAlias!.metadata,\n valueSet,\n )\n })\n await broadcastResult.wait()\n }\n\n let declareSql: string | null = null\n let selectOutputSql: string | null = null\n\n // if update entity mode is enabled we may need extra columns for the returning statement\n // console.time(\".prepare returning statement\");\n const returningResultsEntityUpdator =\n new ReturningResultsEntityUpdator(\n queryRunner,\n this.expressionMap,\n )\n\n const returningColumns: ColumnMetadata[] = []\n\n if (\n Array.isArray(this.expressionMap.returning) &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n for (const columnPath of this.expressionMap.returning) {\n returningColumns.push(\n ...this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(\n columnPath,\n ),\n )\n }\n }\n\n if (\n this.expressionMap.updateEntity === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n if (\n !(\n valueSets.length > 1 &&\n this.connection.driver.options.type === \"oracle\"\n )\n ) {\n this.expressionMap.extraReturningColumns =\n this.expressionMap.mainAlias!.metadata.getInsertionReturningColumns()\n }\n\n returningColumns.push(\n ...this.expressionMap.extraReturningColumns.filter(\n (c) => !returningColumns.includes(c),\n ),\n )\n }\n\n if (\n returningColumns.length > 0 &&\n this.connection.driver.options.type === \"mssql\"\n ) {\n declareSql = (\n this.connection.driver as SqlServerDriver\n ).buildTableVariableDeclaration(\n \"@OutputTable\",\n returningColumns,\n )\n selectOutputSql = `SELECT * FROM @OutputTable`\n }\n // console.timeEnd(\".prepare returning statement\");\n\n // execute query\n // console.time(\".getting query and parameters\");\n const [insertSql, parameters] = this.getQueryAndParameters()\n // console.timeEnd(\".getting query and parameters\");\n\n // console.time(\".query execution by database\");\n const statements = [declareSql, insertSql, selectOutputSql]\n const sql = statements.filter((s) => s != null).join(\";\\n\\n\")\n\n const queryResult = await queryRunner.query(sql, parameters, true)\n\n const insertResult = InsertResult.from(queryResult)\n\n // console.timeEnd(\".query execution by database\");\n\n // load returning results and set them to the entity if entity updation is enabled\n if (\n this.expressionMap.updateEntity === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n // console.time(\".updating entity\");\n await returningResultsEntityUpdator.insert(\n insertResult,\n valueSets,\n )\n // console.timeEnd(\".updating entity\");\n }\n\n // call after insertion methods in listeners and subscribers\n if (\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n const broadcastResult = new BroadcasterResult()\n valueSets.forEach((valueSet) => {\n queryRunner.broadcaster.broadcastAfterInsertEvent(\n broadcastResult,\n this.expressionMap.mainAlias!.metadata,\n valueSet,\n )\n })\n await broadcastResult.wait()\n }\n\n // close transaction if we started it\n // console.time(\".commit\");\n if (transactionStartedByUs) {\n await queryRunner.commitTransaction()\n }\n // console.timeEnd(\".commit\");\n\n return insertResult\n } catch (error) {\n // rollback transaction if we started it\n if (transactionStartedByUs) {\n try {\n await queryRunner.rollbackTransaction()\n } catch (rollbackError) {}\n }\n throw error\n } finally {\n // console.time(\".releasing connection\");\n if (queryRunner !== this.queryRunner) {\n // means we created our own query runner\n await queryRunner.release()\n }\n // console.timeEnd(\".releasing connection\");\n // console.timeEnd(\"QueryBuilder.execute\");\n }\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Specifies INTO which entity's table insertion will be executed.\n */\n into<T extends ObjectLiteral>(\n entityTarget: EntityTarget<T>,\n columns?: string[],\n ): InsertQueryBuilder<T> {\n entityTarget = InstanceChecker.isEntitySchema(entityTarget)\n ? entityTarget.options.name\n : entityTarget\n const mainAlias = this.createFromAlias(entityTarget)\n this.expressionMap.setMainAlias(mainAlias)\n this.expressionMap.insertColumns = columns || []\n return this as any as InsertQueryBuilder<T>\n }\n\n /**\n * Values needs to be inserted into table.\n */\n values(\n values:\n | QueryDeepPartialEntity<Entity>\n | QueryDeepPartialEntity<Entity>[],\n ): this {\n this.expressionMap.valuesSet = values\n return this\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n output(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n output(output: string): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this {\n return this.returning(output)\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n returning(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n returning(returning: string): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this {\n // not all databases support returning/output cause\n if (!this.connection.driver.isReturningSqlSupported(\"insert\")) {\n throw new ReturningStatementNotSupportedError()\n }\n\n this.expressionMap.returning = returning\n return this\n }\n\n /**\n * Indicates if entity must be updated after insertion operations.\n * This may produce extra query or use RETURNING / OUTPUT statement (depend on database).\n * Enabled by default.\n */\n updateEntity(enabled: boolean): this {\n this.expressionMap.updateEntity = enabled\n return this\n }\n\n /**\n * Adds additional ON CONFLICT statement supported in postgres and cockroach.\n *\n * @deprecated Use `orIgnore` or `orUpdate`\n */\n onConflict(statement: string): this {\n this.expressionMap.onConflict = statement\n return this\n }\n\n /**\n * Adds additional ignore statement supported in databases.\n */\n orIgnore(statement: string | boolean = true): this {\n this.expressionMap.onIgnore = !!statement\n return this\n }\n\n /**\n * @deprecated\n *\n * `.orUpdate({ columns: [ \"is_updated\" ] }).setParameter(\"is_updated\", value)`\n *\n * is now `.orUpdate([\"is_updated\"])`\n *\n * `.orUpdate({ conflict_target: ['date'], overwrite: ['title'] })`\n *\n * is now `.orUpdate(['title'], ['date'])`\n *\n */\n orUpdate(statement?: {\n columns?: string[]\n overwrite?: string[]\n conflict_target?: string | string[]\n }): this\n\n orUpdate(\n overwrite: string[],\n conflictTarget?: string | string[],\n orUpdateOptions?: InsertOrUpdateOptions,\n ): this\n\n /**\n * Adds additional update statement supported in databases.\n */\n orUpdate(\n statementOrOverwrite?:\n | {\n columns?: string[]\n overwrite?: string[]\n conflict_target?: string | string[]\n }\n | string[],\n conflictTarget?: string | string[],\n orUpdateOptions?: InsertOrUpdateOptions,\n ): this {\n const { where, parameters } = orUpdateOptions?.overwriteCondition ?? {}\n let wheres: WhereClause[] | undefined\n if (where) {\n const condition = this.getWhereCondition(where)\n if (Array.isArray(condition) ? condition.length !== 0 : condition)\n wheres = [{ type: \"simple\", condition: condition }]\n }\n if (parameters) this.setParameters(parameters)\n\n if (!Array.isArray(statementOrOverwrite)) {\n this.expressionMap.onUpdate = {\n conflict: statementOrOverwrite?.conflict_target,\n columns: statementOrOverwrite?.columns,\n overwrite: statementOrOverwrite?.overwrite,\n skipUpdateIfNoValuesChanged:\n orUpdateOptions?.skipUpdateIfNoValuesChanged,\n upsertType: orUpdateOptions?.upsertType,\n overwriteCondition: wheres,\n }\n return this\n }\n\n this.expressionMap.onUpdate = {\n overwrite: statementOrOverwrite,\n conflict: conflictTarget,\n skipUpdateIfNoValuesChanged:\n orUpdateOptions?.skipUpdateIfNoValuesChanged,\n indexPredicate: orUpdateOptions?.indexPredicate,\n upsertType: orUpdateOptions?.upsertType,\n overwriteCondition: wheres,\n }\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates INSERT express used to perform insert query.\n */\n protected createInsertExpression() {\n if (this.expressionMap.onUpdate || this.expressionMap.onIgnore) {\n if (\n (this.expressionMap.onUpdate?.upsertType ?? \"merge-into\") ===\n \"merge-into\" &&\n this.connection.driver.supportedUpsertTypes.includes(\n \"merge-into\",\n )\n )\n return this.createMergeExpression()\n }\n const tableName = this.getTableName(this.getMainTableName())\n const tableOrAliasName =\n this.alias !== this.getMainTableName()\n ? this.escape(this.alias)\n : tableName\n const valuesExpression = this.createValuesExpression() // its important to get values before returning expression because oracle rely on native parameters and ordering of them is important\n const returningExpression =\n this.connection.driver.options.type === \"oracle\" &&\n this.getValueSets().length > 1\n ? null\n : this.createReturningExpression(\"insert\") // oracle doesnt support returning with multi-row insert\n const columnsExpression = this.createColumnNamesExpression()\n let query = \"INSERT \"\n\n if (this.expressionMap.onUpdate?.upsertType === \"primary-key\") {\n query = \"UPSERT \"\n }\n\n if (\n DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\"\n ) {\n query += `${this.expressionMap.onIgnore ? \" IGNORE \" : \"\"}`\n }\n\n query += `INTO ${tableName}`\n\n if (\n this.alias !== this.getMainTableName() &&\n DriverUtils.isPostgresFamily(this.connection.driver)\n ) {\n query += ` AS \"${this.alias}\"`\n }\n\n // add columns expression\n if (columnsExpression) {\n query += `(${columnsExpression})`\n } else {\n if (\n !valuesExpression &&\n (DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\")\n )\n // special syntax for mysql DEFAULT VALUES insertion\n query += \"()\"\n }\n\n // add OUTPUT expression\n if (\n returningExpression &&\n this.connection.driver.options.type === \"mssql\"\n ) {\n query += ` OUTPUT ${returningExpression}`\n }\n\n // add VALUES expression\n if (valuesExpression) {\n if (\n (this.connection.driver.options.type === \"oracle\" ||\n this.connection.driver.options.type === \"sap\") &&\n this.getValueSets().length > 1\n ) {\n query += ` ${valuesExpression}`\n } else {\n query += ` VALUES ${valuesExpression}`\n }\n } else {\n if (\n DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\"\n ) {\n // special syntax for mysql DEFAULT VALUES insertion\n query += \" VALUES ()\"\n } else {\n query += ` DEFAULT VALUES`\n }\n }\n if (this.expressionMap.onUpdate?.upsertType !== \"primary-key\") {\n if (\n this.connection.driver.supportedUpsertTypes.includes(\n \"on-conflict-do-update\",\n )\n ) {\n if (this.expressionMap.onIgnore) {\n query += \" ON CONFLICT DO NOTHING \"\n } else if (this.expressionMap.onConflict) {\n query += ` ON CONFLICT ${this.expressionMap.onConflict} `\n } else if (this.expressionMap.onUpdate) {\n const {\n overwrite,\n columns,\n conflict,\n skipUpdateIfNoValuesChanged,\n indexPredicate,\n } = this.expressionMap.onUpdate\n\n let conflictTarget = \"ON CONFLICT\"\n\n if (Array.isArray(conflict)) {\n conflictTarget += ` ( ${conflict\n .map((column) => this.escape(column))\n .join(\", \")} )`\n if (\n indexPredicate &&\n !DriverUtils.isPostgresFamily(\n this.connection.driver,\n )\n ) {\n throw new TypeORMError(\n `indexPredicate option is not supported by the current database driver`,\n )\n }\n if (\n indexPredicate &&\n DriverUtils.isPostgresFamily(this.connection.driver)\n ) {\n conflictTarget += ` WHERE ( ${indexPredicate} )`\n }\n } else if (conflict) {\n conflictTarget += ` ON CONSTRAINT ${this.escape(\n conflict,\n )}`\n }\n\n const updatePart: string[] = []\n\n if (Array.isArray(overwrite)) {\n updatePart.push(\n ...overwrite.map(\n (column) =>\n `${this.escape(\n column,\n )} = EXCLUDED.${this.escape(column)}`,\n ),\n )\n } else if (columns) {\n updatePart.push(\n ...columns.map(\n (column) =>\n `${this.escape(column)} = :${column}`,\n ),\n )\n }\n\n if (updatePart.length > 0) {\n query += ` ${conflictTarget} DO UPDATE SET `\n\n updatePart.push(\n ...this.expressionMap\n .mainAlias!.metadata.columns.filter(\n (column) =>\n column.isUpdateDate &&\n !overwrite?.includes(\n column.databaseName,\n ) &&\n !(\n (this.connection.driver.options\n .type === \"oracle\" &&\n this.getValueSets().length >\n 1) ||\n DriverUtils.isSQLiteFamily(\n this.connection.driver,\n ) ||\n this.connection.driver.options\n .type === \"sap\" ||\n this.connection.driver.options\n .type === \"spanner\"\n ),\n )\n .map(\n (column) =>\n `${this.escape(\n column.databaseName,\n )} = DEFAULT`,\n ),\n )\n\n query += updatePart.join(\", \")\n }\n\n if (\n Array.isArray(overwrite) &&\n skipUpdateIfNoValuesChanged\n ) {\n this.expressionMap.onUpdate.overwriteCondition ??= []\n const wheres = overwrite.map<WhereClause>((column) => ({\n type: \"or\",\n condition: `${tableOrAliasName}.${this.escape(\n column,\n )} IS DISTINCT FROM EXCLUDED.${this.escape(\n column,\n )}`,\n }))\n this.expressionMap.onUpdate.overwriteCondition.push({\n type: \"and\",\n condition: wheres,\n })\n }\n if (\n DriverUtils.isPostgresFamily(this.connection.driver) &&\n this.expressionMap.onUpdate.overwriteCondition &&\n this.expressionMap.onUpdate.overwriteCondition.length >\n 0\n ) {\n query += ` WHERE ${this.createUpsertConditionExpression()}`\n }\n }\n } else if (\n this.connection.driver.supportedUpsertTypes.includes(\n \"on-duplicate-key-update\",\n )\n ) {\n if (this.expressionMap.onUpdate) {\n const { overwrite, columns } = this.expressionMap.onUpdate\n\n if (Array.isArray(overwrite)) {\n query += \" ON DUPLICATE KEY UPDATE \"\n query += overwrite\n .map(\n (column) =>\n `${this.escape(\n column,\n )} = VALUES(${this.escape(column)})`,\n )\n .join(\", \")\n query += \" \"\n } else if (Array.isArray(columns)) {\n query += \" ON DUPLICATE KEY UPDATE \"\n query += columns\n .map(\n (column) =>\n `${this.escape(column)} = :${column}`,\n )\n .join(\", \")\n query += \" \"\n }\n }\n } else {\n if (this.expressionMap.onUpdate) {\n throw new TypeORMError(\n `onUpdate is not supported by the current database driver`,\n )\n }\n }\n }\n\n // add RETURNING expression\n if (\n returningExpression &&\n (DriverUtils.isPostgresFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"oracle\" ||\n this.connection.driver.options.type === \"cockroachdb\" ||\n DriverUtils.isMySQLFamily(this.connection.driver))\n ) {\n query += ` RETURNING ${returningExpression}`\n }\n\n if (\n returningExpression &&\n this.connection.driver.options.type === \"spanner\"\n ) {\n query += ` THEN RETURN ${returningExpression}`\n }\n\n // Inserting a specific value for an auto-increment primary key in mssql requires enabling IDENTITY_INSERT\n // IDENTITY_INSERT can only be enabled for tables where there is an IDENTITY column and only if there is a value to be inserted (i.e. supplying DEFAULT is prohibited if IDENTITY_INSERT is enabled)\n if (\n this.connection.driver.options.type === \"mssql\" &&\n this.expressionMap.mainAlias!.hasMetadata &&\n this.expressionMap\n .mainAlias!.metadata.columns.filter((column) =>\n this.expressionMap.insertColumns.length > 0\n ? this.expressionMap.insertColumns.indexOf(\n column.propertyPath,\n ) !== -1\n : column.isInsert,\n )\n .some((column) =>\n this.isOverridingAutoIncrementBehavior(column),\n )\n ) {\n query = `SET IDENTITY_INSERT ${tableName} ON; ${query}; SET IDENTITY_INSERT ${tableName} OFF`\n }\n\n return query\n }\n\n /**\n * Gets list of columns where values must be inserted to.\n */\n protected getInsertedColumns(): ColumnMetadata[] {\n if (!this.expressionMap.mainAlias!.hasMetadata) return []\n\n return this.expressionMap.mainAlias!.metadata.columns.filter(\n (column) => {\n // if user specified list of columns he wants to insert to, then we filter only them\n if (this.expressionMap.insertColumns.length)\n return (\n this.expressionMap.insertColumns.indexOf(\n column.propertyPath,\n ) !== -1\n )\n\n // skip columns the user doesn't want included by default\n if (!column.isInsert) {\n return false\n }\n\n // if user did not specified such list then return all columns except auto-increment one\n // for Oracle we return auto-increment column as well because Oracle does not support DEFAULT VALUES expression\n if (\n column.isGenerated &&\n column.generationStrategy === \"increment\" &&\n !(this.connection.driver.options.type === \"spanner\") &&\n !(this.connection.driver.options.type === \"oracle\") &&\n !DriverUtils.isSQLiteFamily(this.connection.driver) &&\n !DriverUtils.isMySQLFamily(this.connection.driver) &&\n !(this.connection.driver.options.type === \"aurora-mysql\") &&\n !(\n this.connection.driver.options.type === \"mssql\" &&\n this.isOverridingAutoIncrementBehavior(column)\n )\n )\n return false\n\n return true\n },\n )\n }\n\n /**\n * Creates a columns string where values must be inserted to for INSERT INTO expression.\n */\n protected createColumnNamesExpression(): string {\n const columns = this.getInsertedColumns()\n if (columns.length > 0)\n return columns\n .map((column) => this.escape(column.databaseName))\n .join(\", \")\n\n // in the case if there are no insert columns specified and table without metadata used\n // we get columns from the inserted value map, in the case if only one inserted map is specified\n if (\n !this.expressionMap.mainAlias!.hasMetadata &&\n !this.expressionMap.insertColumns.length\n ) {\n const valueSets = this.getValueSets()\n if (valueSets.length === 1)\n return Object.keys(valueSets[0])\n .map((columnName) => this.escape(columnName))\n .join(\", \")\n }\n\n // get a table name and all column database names\n return this.expressionMap.insertColumns\n .map((columnName) => this.escape(columnName))\n .join(\", \")\n }\n\n /**\n * Creates list of values needs to be inserted in the VALUES expression.\n */\n protected createValuesExpression(): string {\n const valueSets = this.getValueSets()\n const columns = this.getInsertedColumns()\n\n // if column metadatas are given then apply all necessary operations with values\n if (columns.length > 0) {\n let expression = \"\"\n valueSets.forEach((valueSet, valueSetIndex) => {\n columns.forEach((column, columnIndex) => {\n if (columnIndex === 0) {\n if (\n this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1\n ) {\n expression += \" SELECT \"\n } else if (\n this.connection.driver.options.type === \"sap\" &&\n valueSets.length > 1\n ) {\n expression += \" SELECT \"\n } else {\n expression += \"(\"\n }\n }\n\n expression += this.createColumnValueExpression(\n valueSets,\n valueSetIndex,\n column,\n )\n\n if (columnIndex === columns.length - 1) {\n if (valueSetIndex === valueSets.length - 1) {\n if (\n [\"oracle\", \"sap\"].includes(\n this.connection.driver.options.type,\n ) &&\n valueSets.length > 1\n ) {\n expression +=\n \" FROM \" +\n this.connection.driver.dummyTableName\n } else {\n expression += \")\"\n }\n } else {\n if (\n [\"oracle\", \"sap\"].includes(\n this.connection.driver.options.type,\n ) &&\n valueSets.length > 1\n ) {\n expression +=\n \" FROM \" +\n this.connection.driver.dummyTableName +\n \" UNION ALL \"\n } else {\n expression += \"), \"\n }\n }\n } else {\n expression += \", \"\n }\n })\n })\n if (expression === \"()\") return \"\"\n\n return expression\n } else {\n // for tables without metadata\n // get values needs to be inserted\n let expression = \"\"\n\n valueSets.forEach((valueSet, insertionIndex) => {\n const columns = Object.keys(valueSet)\n columns.forEach((columnName, columnIndex) => {\n if (columnIndex === 0) {\n expression += \"(\"\n }\n\n const value = valueSet[columnName]\n\n // support for SQL expressions in queries\n if (typeof value === \"function\") {\n expression += value()\n\n // if value for this column was not provided then insert default value\n } else if (value === undefined) {\n if (\n (this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1) ||\n DriverUtils.isSQLiteFamily(\n this.connection.driver,\n ) ||\n this.connection.driver.options.type === \"sap\" ||\n this.connection.driver.options.type === \"spanner\"\n ) {\n expression += \"NULL\"\n } else {\n expression += \"DEFAULT\"\n }\n } else if (\n value === null &&\n this.connection.driver.options.type === \"spanner\"\n ) {\n // just any other regular value\n } else {\n expression += this.createParameter(value)\n }\n\n if (columnIndex === Object.keys(valueSet).length - 1) {\n if (insertionIndex === valueSets.length - 1) {\n expression += \")\"\n } else {\n expression += \"), \"\n }\n } else {\n expression += \", \"\n }\n })\n })\n if (expression === \"()\") return \"\"\n return expression\n }\n }\n\n /**\n * Gets array of values need to be inserted into the target table.\n */\n protected getValueSets(): ObjectLiteral[] {\n if (Array.isArray(this.expressionMap.valuesSet))\n return this.expressionMap.valuesSet\n\n if (ObjectUtils.isObject(this.expressionMap.valuesSet))\n return [this.expressionMap.valuesSet]\n\n throw new InsertValuesMissingError()\n }\n\n /**\n * Checks if column is an auto-generated primary key, but the current insertion specifies a value for it.\n *\n * @param column\n */\n protected isOverridingAutoIncrementBehavior(\n column: ColumnMetadata,\n ): boolean {\n return (\n column.isPrimary &&\n column.isGenerated &&\n column.generationStrategy === \"increment\" &&\n this.getValueSets().some(\n (valueSet) =>\n column.getEntityValue(valueSet) !== undefined &&\n column.getEntityValue(valueSet) !== null,\n )\n )\n }\n\n /**\n * Creates MERGE express used to perform insert query.\n */\n protected createMergeExpression() {\n if (!this.connection.driver.supportedUpsertTypes.includes(\"merge-into\"))\n throw new TypeORMError(\n `Upsert type \"merge-into\" is not supported by current database driver`,\n )\n\n if (\n this.expressionMap.onUpdate?.upsertType &&\n this.expressionMap.onUpdate.upsertType !== \"merge-into\"\n ) {\n throw new TypeORMError(\n `Upsert type \"${this.expressionMap.onUpdate.upsertType}\" is not supported by current database driver`,\n )\n }\n // const mainAlias = this.expressionMap.mainAlias!\n const tableName = this.getTableName(this.getMainTableName())\n const tableAlias = this.escape(this.alias)\n const columns = this.getInsertedColumns()\n const columnsExpression = this.createColumnNamesExpression()\n\n let query = `MERGE INTO ${tableName} ${this.escape(this.alias)}`\n\n const mergeSourceAlias = this.escape(\"mergeIntoSource\")\n\n const mergeSourceExpression =\n this.createMergeIntoSourceExpression(mergeSourceAlias)\n\n query += ` ${mergeSourceExpression}`\n\n // build on condition\n if (this.expressionMap.onIgnore) {\n const primaryKey = columns.find((column) => column.isPrimary)\n if (primaryKey) {\n query += ` ON (${tableAlias}.${this.escape(\n primaryKey.databaseName,\n )} = ${mergeSourceAlias}.${this.escape(\n primaryKey.databaseName,\n )})`\n } else {\n query += `ON (${this.expressionMap\n .mainAlias!.metadata.uniques.map((unique) => {\n return `(${unique.columns\n .map((column) => {\n return `${tableAlias}.${this.escape(\n column.databaseName,\n )} = ${mergeSourceAlias}.${this.escape(\n column.databaseName,\n )}`\n })\n .join(\" AND \")})`\n })\n .join(\" OR \")})`\n }\n } else if (this.expressionMap.onUpdate) {\n const { conflict, indexPredicate } = this.expressionMap.onUpdate\n\n if (indexPredicate) {\n throw new TypeORMError(\n `indexPredicate option is not supported by upsert type \"merge-into\"`,\n )\n }\n\n if (Array.isArray(conflict)) {\n query += ` ON (${conflict\n .map(\n (column) =>\n `${tableAlias}.${this.escape(\n column,\n )} = ${mergeSourceAlias}.${this.escape(column)}`,\n )\n .join(\" AND \")})`\n } else if (conflict) {\n query += ` ON (${tableAlias}.${this.escape(\n conflict,\n )} = ${mergeSourceAlias}.${this.escape(conflict)})`\n } else {\n query += `ON (${this.expressionMap\n .mainAlias!.metadata.uniques.map((unique) => {\n return `(${unique.columns\n .map((column) => {\n return `${tableAlias}.${this.escape(\n column.databaseName,\n )} = ${mergeSourceAlias}.${this.escape(\n column.databaseName,\n )}`\n })\n .join(\" AND \")})`\n })\n .join(\" OR \")})`\n }\n }\n\n if (this.expressionMap.onUpdate) {\n const {\n overwrite,\n columns,\n conflict,\n skipUpdateIfNoValuesChanged,\n } = this.expressionMap.onUpdate\n let updateExpression = \"\"\n\n if (Array.isArray(overwrite)) {\n updateExpression += (overwrite || columns)\n ?.filter((column) => !conflict?.includes(column))\n .map(\n (column) =>\n `${tableAlias}.${this.escape(\n column,\n )} = ${mergeSourceAlias}.${this.escape(column)}`,\n )\n .join(\", \")\n }\n\n if (Array.isArray(overwrite) && skipUpdateIfNoValuesChanged) {\n this.expressionMap.onUpdate.overwriteCondition ??= []\n const wheres = overwrite.map<WhereClause>((column) => ({\n type: \"or\",\n condition: {\n operator: \"notEqual\",\n parameters: [\n `${tableAlias}.${this.escape(column)}`,\n `${mergeSourceAlias}.${this.escape(column)}`,\n ],\n },\n }))\n this.expressionMap.onUpdate.overwriteCondition.push({\n type: \"and\",\n condition: wheres,\n })\n }\n const mergeCondition = this.createUpsertConditionExpression()\n if (updateExpression.trim()) {\n if (\n (this.connection.driver.options.type === \"mssql\" ||\n this.connection.driver.options.type === \"sap\") &&\n mergeCondition != \"\"\n ) {\n query += ` WHEN MATCHED AND ${mergeCondition} THEN UPDATE SET ${updateExpression}`\n } else {\n query += ` WHEN MATCHED THEN UPDATE SET ${updateExpression}`\n if (mergeCondition != \"\") {\n query += ` WHERE ${mergeCondition}`\n }\n }\n }\n }\n\n const valuesExpression =\n this.createMergeIntoInsertValuesExpression(mergeSourceAlias)\n const returningExpression =\n this.connection.driver.options.type === \"mssql\"\n ? this.createReturningExpression(\"insert\")\n : null\n\n query += \" WHEN NOT MATCHED THEN INSERT\"\n\n // add columns expression\n if (columnsExpression) {\n query += `(${columnsExpression})`\n }\n\n // add VALUES expression\n if (valuesExpression) {\n query += ` VALUES ${valuesExpression}`\n }\n\n // add OUTPUT expression\n if (\n returningExpression &&\n this.connection.driver.options.type === \"mssql\"\n ) {\n query += ` OUTPUT ${returningExpression}`\n }\n if (this.connection.driver.options.type === \"mssql\") {\n query += `;`\n }\n return query\n }\n\n /**\n * Creates list of values needs to be inserted in the VALUES expression.\n */\n protected createMergeIntoSourceExpression(\n mergeSourceAlias: string,\n ): string {\n const valueSets = this.getValueSets()\n const columns = this.getInsertedColumns()\n\n let expression = \"USING (\"\n // if column metadatas are given then apply all necessary operations with values\n if (columns.length > 0) {\n if (this.connection.driver.options.type === \"mssql\") {\n expression += \"VALUES \"\n }\n valueSets.forEach((valueSet, valueSetIndex) => {\n columns.forEach((column, columnIndex) => {\n if (columnIndex === 0) {\n if (this.connection.driver.options.type === \"mssql\") {\n expression += \"(\"\n } else {\n expression += \"SELECT \"\n }\n }\n\n const value = column.getEntityValue(valueSet)\n\n if (\n value === undefined &&\n !(\n column.isGenerated &&\n column.generationStrategy === \"uuid\" &&\n !this.connection.driver.isUUIDGenerationSupported()\n )\n ) {\n if (\n column.default !== undefined &&\n column.default !== null\n ) {\n // try to use default defined in the column\n expression +=\n this.connection.driver.normalizeDefault(column)\n } else {\n expression += \"NULL\" // otherwise simply use NULL and pray if column is nullable\n }\n } else if (value === null) {\n expression += \"NULL\"\n } else {\n expression += this.createColumnValueExpression(\n valueSets,\n valueSetIndex,\n column,\n )\n }\n\n if (this.connection.driver.options.type !== \"mssql\")\n expression += ` AS ${this.escape(column.databaseName)}`\n\n if (columnIndex === columns.length - 1) {\n if (valueSetIndex === valueSets.length - 1) {\n if (\n [\"oracle\", \"sap\"].includes(\n this.connection.driver.options.type,\n )\n ) {\n expression +=\n \" FROM \" +\n this.connection.driver.dummyTableName\n } else if (\n this.connection.driver.options.type === \"mssql\"\n ) {\n expression += \")\"\n }\n } else {\n if (\n [\"oracle\", \"sap\"].includes(\n this.connection.driver.options.type,\n ) &&\n valueSets.length > 1\n ) {\n expression +=\n \" FROM \" +\n this.connection.driver.dummyTableName +\n \" UNION ALL \"\n } else if (\n this.connection.driver.options.type === \"mssql\"\n ) {\n expression += \"), \"\n } else {\n expression += \" UNION ALL \"\n }\n }\n } else {\n expression += \", \"\n }\n })\n })\n } else {\n // for tables without metadata\n throw new TypeORMError(\n 'Upsert type \"merge-into\" is not supported without metadata tables',\n )\n }\n expression += `) ${mergeSourceAlias}`\n if (this.connection.driver.options.type === \"mssql\")\n expression += ` (${columns\n .map((column) => this.escape(column.databaseName))\n .join(\", \")})`\n return expression\n }\n\n /**\n * Creates list of values needs to be inserted in the VALUES expression.\n */\n protected createMergeIntoInsertValuesExpression(\n mergeSourceAlias: string,\n ): string {\n const columns = this.getInsertedColumns()\n\n let expression = \"\"\n // if column metadatas are given then apply all necessary operations with values\n if (columns.length > 0) {\n columns.forEach((column, columnIndex) => {\n if (columnIndex === 0) {\n expression += \"(\"\n }\n\n if (\n (column.isGenerated &&\n column.generationStrategy === \"uuid\" &&\n this.connection.driver.isUUIDGenerationSupported()) ||\n (column.isGenerated && column.generationStrategy !== \"uuid\")\n ) {\n expression += `DEFAULT`\n } else {\n expression += `${mergeSourceAlias}.${this.escape(\n column.databaseName,\n )}`\n }\n\n if (columnIndex === columns.length - 1) {\n expression += \")\"\n } else {\n expression += \", \"\n }\n })\n } else {\n // for tables without metadata\n throw new TypeORMError(\n 'Upsert type \"merge-into\" is not supported without metadata tables',\n )\n }\n if (expression === \"()\") return \"\"\n return expression\n }\n\n /**\n * Create upsert search condition expression.\n */\n protected createUpsertConditionExpression() {\n if (!this.expressionMap.onUpdate.overwriteCondition) return \"\"\n const conditionsArray = []\n\n const whereExpression = this.createWhereClausesExpression(\n this.expressionMap.onUpdate.overwriteCondition,\n )\n\n if (whereExpression.length > 0 && whereExpression !== \"1=1\") {\n conditionsArray.push(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 = `${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 = `${column} IN (:...discriminatorColumnValues)`\n conditionsArray.push(condition)\n }\n }\n\n if (this.expressionMap.extraAppendedAndWhereCondition) {\n const condition = this.expressionMap.extraAppendedAndWhereCondition\n conditionsArray.push(condition)\n }\n\n let condition = \"\"\n\n if (!conditionsArray.length) {\n condition += \"\"\n } else if (conditionsArray.length === 1) {\n condition += `${conditionsArray[0]}`\n } else {\n condition += `( ${conditionsArray.join(\" ) AND ( \")} )`\n }\n\n return condition\n }\n\n protected createColumnValueExpression(\n valueSets: ObjectLiteral[],\n valueSetIndex: number,\n column: ColumnMetadata,\n ): string {\n const valueSet = valueSets[valueSetIndex]\n let expression = \"\"\n\n // extract real value from the entity\n let value = column.getEntityValue(valueSet)\n\n // if column is relational and value is an object then get real referenced column value from this object\n // for example column value is { question: { id: 1 } }, value will be equal to { id: 1 }\n // and we extract \"1\" from this object\n /*if (column.referencedColumn && value instanceof Object && !(typeof value === \"function\")) { // todo: check if we still need it since getEntityValue already has similar code\n value = column.referencedColumn.getEntityValue(value);\n }*/\n\n if (!(typeof value === \"function\")) {\n // make sure our value is normalized by a driver\n value = this.connection.driver.preparePersistentValue(value, column)\n }\n\n // newly inserted entities always have a version equal to 1 (first version)\n // also, user-specified version must be empty\n if (column.isVersion && value === undefined) {\n expression += \"1\"\n\n // } else if (column.isNestedSetLeft) {\n // const tableName = this.connection.driver.escape(column.entityMetadata.tablePath);\n // const rightColumnName = this.connection.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);\n // const subQuery = `(SELECT c.max + 1 FROM (SELECT MAX(${rightColumnName}) as max from ${tableName}) c)`;\n // expression += subQuery;\n //\n // } else if (column.isNestedSetRight) {\n // const tableName = this.connection.driver.escape(column.entityMetadata.tablePath);\n // const rightColumnName = this.connection.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);\n // const subQuery = `(SELECT c.max + 2 FROM (SELECT MAX(${rightColumnName}) as max from ${tableName}) c)`;\n // expression += subQuery;\n } else if (column.isDiscriminator) {\n expression += this.createParameter(\n this.expressionMap.mainAlias!.metadata.discriminatorValue,\n )\n // return \"1\";\n\n // for create and update dates we insert current date\n // no, we don't do it because this constant is already in \"default\" value of the column\n // with extended timestamp functionality, like CURRENT_TIMESTAMP(6) for example\n // } else if (column.isCreateDate || column.isUpdateDate) {\n // return \"CURRENT_TIMESTAMP\";\n\n // if column is generated uuid and database does not support its generation and custom generated value was not provided by a user - we generate a new uuid value for insertion\n } else if (\n column.isGenerated &&\n column.generationStrategy === \"uuid\" &&\n !this.connection.driver.isUUIDGenerationSupported() &&\n value === undefined\n ) {\n value = uuidv4()\n expression += this.createParameter(value)\n\n if (!(valueSetIndex in this.expressionMap.locallyGenerated)) {\n this.expressionMap.locallyGenerated[valueSetIndex] = {}\n }\n column.setEntityValue(\n this.expressionMap.locallyGenerated[valueSetIndex],\n value,\n )\n\n // if value for this column was not provided then insert default value\n } else if (value === undefined) {\n if (\n (this.connection.driver.options.type === \"oracle\" &&\n valueSets.length > 1) ||\n DriverUtils.isSQLiteFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"sap\" ||\n this.connection.driver.options.type === \"spanner\"\n ) {\n // unfortunately sqlite does not support DEFAULT expression in INSERT queries\n if (column.default !== undefined && column.default !== null) {\n // try to use default defined in the column\n expression +=\n this.connection.driver.normalizeDefault(column)\n } else if (\n this.connection.driver.options.type === \"spanner\" &&\n column.isGenerated &&\n column.generationStrategy === \"uuid\"\n ) {\n expression += \"GENERATE_UUID()\" // Produces a random universally unique identifier (UUID) as a STRING value.\n } else {\n expression += \"NULL\" // otherwise simply use NULL and pray if column is nullable\n }\n } else {\n expression += \"DEFAULT\"\n }\n } else if (\n value === null &&\n (this.connection.driver.options.type === \"spanner\" ||\n this.connection.driver.options.type === \"oracle\")\n ) {\n expression += \"NULL\"\n\n // support for SQL expressions in queries\n } else if (typeof value === \"function\") {\n expression += value()\n\n // just any other regular value\n } else {\n if (this.connection.driver.options.type === \"mssql\")\n value = (\n this.connection.driver as SqlServerDriver\n ).parametrizeValue(column, value)\n\n // we need to store array values in a special class to make sure parameter replacement will work correctly\n // if (value instanceof Array)\n // value = new ArrayParameter(value);\n\n const paramName = this.createParameter(value)\n\n if (\n (DriverUtils.isMySQLFamily(this.connection.driver) ||\n this.connection.driver.options.type === \"aurora-mysql\") &&\n this.connection.driver.spatialTypes.includes(column.type)\n ) {\n const useLegacy = (\n this.connection.driver as MysqlDriver | AuroraMysqlDriver\n ).options.legacySpatialSupport\n const geomFromText = useLegacy\n ? \"GeomFromText\"\n : \"ST_GeomFromText\"\n if (column.srid != null) {\n expression += `${geomFromText}(${paramName}, ${column.srid})`\n } else {\n expression += `${geomFromText}(${paramName})`\n }\n } else if (\n DriverUtils.isPostgresFamily(this.connection.driver) &&\n this.connection.driver.spatialTypes.includes(column.type)\n ) {\n if (column.srid != null) {\n expression += `ST_SetSRID(ST_GeomFromGeoJSON(${paramName}), ${column.srid})::${column.type}`\n } else {\n expression += `ST_GeomFromGeoJSON(${paramName})::${column.type}`\n }\n } else if (\n this.connection.driver.options.type === \"mssql\" &&\n this.connection.driver.spatialTypes.includes(column.type)\n ) {\n expression +=\n column.type +\n \"::STGeomFromText(\" +\n paramName +\n \", \" +\n (column.srid || \"0\") +\n \")\"\n } else {\n expression += paramName\n }\n }\n return expression\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"file":"InsertQueryBuilder.js","sourceRoot":"","sources":["../../../src/query-builder/InsertQueryBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import type { EntityTarget } from \"../common/EntityTarget\"\nimport type { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport type { AuroraMysqlDriver } from \"../driver/aurora-mysql/AuroraMysqlDriver\"\nimport { DriverUtils } from \"../driver/DriverUtils\"\nimport type { MysqlDriver } from \"../driver/mysql/MysqlDriver\"\nimport type { ReactNativeDriver } from \"../driver/react-native/ReactNativeDriver\"\nimport type { AbstractSqliteDriver } from \"../driver/sqlite-abstract/AbstractSqliteDriver\"\nimport type { SqlServerDriver } from \"../driver/sqlserver/SqlServerDriver\"\nimport { TypeORMError } from \"../error\"\nimport { InsertValuesMissingError } from \"../error/InsertValuesMissingError\"\nimport { ReturningStatementNotSupportedError } from \"../error/ReturningStatementNotSupportedError\"\nimport type { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { BroadcasterResult } from \"../subscriber/BroadcasterResult\"\nimport { InstanceChecker } from \"../util/InstanceChecker\"\nimport { ObjectUtils } from \"../util/ObjectUtils\"\nimport { RandomGenerator } from \"../util/RandomGenerator\"\nimport type { InsertOrUpdateOptions } from \"./InsertOrUpdateOptions\"\nimport { QueryBuilder } from \"./QueryBuilder\"\nimport type { QueryDeepPartialEntity } from \"./QueryPartialEntity\"\nimport { InsertResult } from \"./result/InsertResult\"\nimport { ReturningResultsEntityUpdator } from \"./ReturningResultsEntityUpdator\"\nimport type { SelectQueryBuilder } from \"./SelectQueryBuilder\"\nimport type { WhereClause } from \"./WhereClause\"\n\n/**\n * Allows to build complex sql queries in a fashion way and execute those queries.\n */\nexport class InsertQueryBuilder<\n Entity extends ObjectLiteral,\n> extends QueryBuilder<Entity> {\n readonly \"@instanceof\" = Symbol.for(\"InsertQueryBuilder\")\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets generated SQL query without parameters being replaced.\n */\n getQuery(): string {\n let sql = this.createComment()\n sql += this.createCteExpression()\n sql += this.createInsertExpression()\n return this.replacePropertyNamesForTheWholeQuery(sql.trim())\n }\n\n /**\n * Executes sql generated by query builder and returns raw database results.\n */\n async execute(): Promise<InsertResult> {\n // console.timeEnd(\".value sets\");\n const valueSets: ObjectLiteral[] = this.getValueSets()\n // If user passed empty array of entities then we don't need to do\n // anything.\n //\n // Fixes GitHub issues #3111 and #5734. If we were to let this through\n // we would run into problems downstream, like subscribers getting\n // invoked with the empty array where they expect an entity, and SQL\n // queries with an empty VALUES clause.\n if (valueSets.length === 0 && !this.expressionMap.insertFromSelect)\n return new InsertResult()\n\n // console.time(\"QueryBuilder.execute\");\n // console.time(\".database stuff\");\n const queryRunner = this.obtainQueryRunner()\n let transactionStartedByUs: boolean = false\n\n try {\n // start transaction if it was enabled\n if (\n this.expressionMap.useTransaction === true &&\n queryRunner.isTransactionActive === false\n ) {\n await queryRunner.startTransaction()\n transactionStartedByUs = true\n }\n\n // console.timeEnd(\".database stuff\");\n\n // call before insertion methods in listeners and subscribers\n // Skip for INSERT FROM SELECT as there are no individual value sets\n if (\n !this.expressionMap.insertFromSelect &&\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n const broadcastResult = new BroadcasterResult()\n valueSets.forEach((valueSet) => {\n queryRunner.broadcaster.broadcastBeforeInsertEvent(\n broadcastResult,\n this.expressionMap.mainAlias!.metadata,\n valueSet,\n )\n })\n await broadcastResult.wait()\n }\n\n let declareSql: string | null = null\n let selectOutputSql: string | null = null\n\n // if update entity mode is enabled we may need extra columns for the returning statement\n // console.time(\".prepare returning statement\");\n const returningResultsEntityUpdator =\n new ReturningResultsEntityUpdator(\n queryRunner,\n this.expressionMap,\n )\n\n const returningColumns: ColumnMetadata[] = []\n\n if (\n Array.isArray(this.expressionMap.returning) &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n for (const columnPath of this.expressionMap.returning) {\n returningColumns.push(\n ...this.expressionMap.mainAlias!.metadata.findColumnsWithPropertyPath(\n columnPath,\n ),\n )\n }\n }\n\n if (\n this.expressionMap.updateEntity === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n if (\n !(\n valueSets.length > 1 &&\n this.dataSource.driver.options.type === \"oracle\"\n )\n ) {\n this.expressionMap.extraReturningColumns =\n this.expressionMap.mainAlias!.metadata.getInsertionReturningColumns()\n }\n\n returningColumns.push(\n ...this.expressionMap.extraReturningColumns.filter(\n (c) => !returningColumns.includes(c),\n ),\n )\n }\n\n if (\n returningColumns.length > 0 &&\n this.dataSource.driver.options.type === \"mssql\"\n ) {\n declareSql = (\n this.dataSource.driver as SqlServerDriver\n ).buildTableVariableDeclaration(\n \"@OutputTable\",\n returningColumns,\n )\n selectOutputSql = `SELECT * FROM @OutputTable`\n }\n // console.timeEnd(\".prepare returning statement\");\n\n // execute query\n // console.time(\".getting query and parameters\");\n const [insertSql, parameters] = this.getQueryAndParameters()\n // console.timeEnd(\".getting query and parameters\");\n\n // console.time(\".query execution by database\");\n const statements = [declareSql, insertSql, selectOutputSql]\n const sql = statements.filter((s) => s != null).join(\";\\n\\n\")\n\n const queryResult = await queryRunner.query(sql, parameters, true)\n\n const insertResult = InsertResult.from(queryResult)\n\n // console.timeEnd(\".query execution by database\");\n\n // load returning results and set them to the entity if entity updation is enabled\n // Skip for INSERT FROM SELECT as there are no entities to update\n if (\n !this.expressionMap.insertFromSelect &&\n this.expressionMap.updateEntity === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n // console.time(\".updating entity\");\n await returningResultsEntityUpdator.insert(\n insertResult,\n valueSets,\n )\n // console.timeEnd(\".updating entity\");\n }\n\n // call after insertion methods in listeners and subscribers\n // Skip for INSERT FROM SELECT as there are no individual value sets\n if (\n !this.expressionMap.insertFromSelect &&\n this.expressionMap.callListeners === true &&\n this.expressionMap.mainAlias!.hasMetadata\n ) {\n const broadcastResult = new BroadcasterResult()\n valueSets.forEach((valueSet) => {\n queryRunner.broadcaster.broadcastAfterInsertEvent(\n broadcastResult,\n this.expressionMap.mainAlias!.metadata,\n valueSet,\n )\n })\n await broadcastResult.wait()\n }\n\n // close transaction if we started it\n // console.time(\".commit\");\n if (transactionStartedByUs) {\n await queryRunner.commitTransaction()\n }\n // console.timeEnd(\".commit\");\n\n return insertResult\n } catch (error) {\n // rollback transaction if we started it\n if (transactionStartedByUs) {\n try {\n await queryRunner.rollbackTransaction()\n } catch (rollbackError) {}\n }\n throw error\n } finally {\n // console.time(\".releasing connection\");\n if (queryRunner !== this.queryRunner) {\n // means we created our own query runner\n await queryRunner.release()\n }\n // console.timeEnd(\".releasing connection\");\n // console.timeEnd(\"QueryBuilder.execute\");\n }\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Specifies INTO which entity's table insertion will be executed.\n * @param entityTarget\n * @param columns\n */\n into<T extends ObjectLiteral>(\n entityTarget: EntityTarget<T>,\n columns?: string[],\n ): InsertQueryBuilder<T> {\n entityTarget = InstanceChecker.isEntitySchema(entityTarget)\n ? entityTarget.options.name\n : entityTarget\n const mainAlias = this.createFromAlias(entityTarget)\n this.expressionMap.setMainAlias(mainAlias)\n this.expressionMap.insertColumns = columns || []\n return this as any as InsertQueryBuilder<T>\n }\n\n /**\n * Values needs to be inserted into table.\n * @param values\n */\n values(\n values:\n | QueryDeepPartialEntity<Entity>\n | QueryDeepPartialEntity<Entity>[],\n ): this {\n this.expressionMap.valuesSet = values\n return this\n }\n\n /**\n * Specifies a SELECT query to use as the source of values for the INSERT.\n * This creates an INSERT INTO ... SELECT FROM statement.\n */\n valuesFromSelect(queryBuilder: SelectQueryBuilder<any>): this\n\n /**\n * Specifies a SELECT query to use as the source of values for the INSERT.\n * This creates an INSERT INTO ... SELECT FROM statement.\n */\n valuesFromSelect(\n subQueryFactory: (\n qb: SelectQueryBuilder<any>,\n ) => SelectQueryBuilder<any>,\n ): this\n\n /**\n * Specifies a SELECT query to use as the source of values for the INSERT.\n * This creates an INSERT INTO ... SELECT FROM statement.\n * @param queryBuilderOrFactory\n */\n valuesFromSelect(\n queryBuilderOrFactory:\n | SelectQueryBuilder<any>\n | ((qb: SelectQueryBuilder<any>) => SelectQueryBuilder<any>),\n ): this {\n let selectQueryBuilder: SelectQueryBuilder<any>\n if (typeof queryBuilderOrFactory === \"function\") {\n const subQuery = this.createQueryBuilder().select()\n selectQueryBuilder = queryBuilderOrFactory(subQuery)\n } else {\n selectQueryBuilder = queryBuilderOrFactory\n }\n this.setParameters(selectQueryBuilder.getParameters())\n this.expressionMap.insertFromSelect = selectQueryBuilder\n\n return this\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n output(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n output(output: string): this\n\n /**\n * Optional returning/output clause.\n */\n output(output: string | string[]): this\n\n /**\n * Optional returning/output clause.\n * @param output\n */\n output(output: string | string[]): this {\n return this.returning(output)\n }\n\n /**\n * Optional returning/output clause.\n * This will return given column values.\n */\n returning(columns: string[]): this\n\n /**\n * Optional returning/output clause.\n * Returning is a SQL string containing returning statement.\n */\n returning(returning: string): this\n\n /**\n * Optional returning/output clause.\n */\n returning(returning: string | string[]): this\n\n /**\n * Optional returning/output clause.\n * @param returning\n */\n returning(returning: string | string[]): this {\n // not all databases support returning/output cause\n if (!this.dataSource.driver.isReturningSqlSupported(\"insert\")) {\n throw new ReturningStatementNotSupportedError()\n }\n\n this.expressionMap.returning = returning\n return this\n }\n\n /**\n * Indicates if entity must be updated after insertion operations.\n * This may produce extra query or use RETURNING / OUTPUT statement (depend on database).\n * Enabled by default.\n * @param enabled\n */\n updateEntity(enabled: boolean): this {\n this.expressionMap.updateEntity = enabled\n return this\n }\n\n /**\n * Adds additional ignore statement supported in databases.\n * @param statement\n */\n orIgnore(statement: string | boolean = true): this {\n this.expressionMap.onIgnore = !!statement\n return this\n }\n\n /**\n * Adds an \"upsert\" clause to the insert query — when a row with the same\n * conflict target already exists the listed columns are updated instead.\n * @param overwrite - Column names to overwrite on conflict.\n * @param conflictTarget - Column name(s) or constraint name used to detect\n * conflicts. When an array is given the columns form a composite key;\n * when a string is given it is treated as a constraint name.\n * @param orUpdateOptions - Additional options such as `skipUpdateIfNoValuesChanged`,\n * `indexPredicate`, `upsertType`, or `overwriteCondition`.\n */\n orUpdate(\n overwrite: string[],\n conflictTarget?: string | string[],\n orUpdateOptions?: InsertOrUpdateOptions,\n ): this {\n const { where, parameters } = orUpdateOptions?.overwriteCondition ?? {}\n let wheres: WhereClause[] | undefined\n if (where) {\n const condition = this.getWhereCondition(where)\n if (Array.isArray(condition) ? condition.length !== 0 : condition)\n wheres = [{ type: \"simple\", condition: condition }]\n }\n if (parameters) this.setParameters(parameters)\n\n this.expressionMap.onUpdate = {\n overwrite: overwrite,\n conflict: conflictTarget,\n skipUpdateIfNoValuesChanged:\n orUpdateOptions?.skipUpdateIfNoValuesChanged,\n indexPredicate: orUpdateOptions?.indexPredicate,\n upsertType: orUpdateOptions?.upsertType,\n overwriteCondition: wheres,\n }\n return this\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates INSERT express used to perform insert query.\n */\n protected createInsertExpression() {\n if (this.expressionMap.onUpdate || this.expressionMap.onIgnore) {\n if (\n (this.expressionMap.onUpdate?.upsertType ?? \"merge-into\") ===\n \"merge-into\" &&\n this.dataSource.driver.supportedUpsertTypes.includes(\n \"merge-into\",\n )\n )\n return this.createMergeExpression()\n }\n const tableName = this.getTableName(this.getMainTableName())\n const tableOrAliasName =\n this.alias !== this.getMainTableName()\n ? this.escape(this.alias)\n : tableName\n const valuesExpression = this.createValuesExpression() // its important to get values before returning expression because oracle rely on native parameters and ordering of them is important\n const returningExpression =\n this.dataSource.driver.options.type === \"oracle\" &&\n this.getValueSets().length > 1\n ? null\n : this.createReturningExpression(\"insert\") // oracle doesnt support returning with multi-row insert\n const columnsExpression = this.createColumnNamesExpression()\n let query = \"INSERT \"\n\n if (this.expressionMap.onUpdate?.upsertType === \"primary-key\") {\n query = \"UPSERT \"\n }\n\n if (\n DriverUtils.isMySQLFamily(this.dataSource.driver) ||\n this.dataSource.driver.options.type === \"aurora-mysql\"\n ) {\n query += `${this.expressionMap.onIgnore ? \" IGNORE \" : \"\"}`\n }\n\n query += `INTO ${tableName}`\n\n if (\n this.alias !== this.getMainTableName() &&\n DriverUtils.isPostgresFamily(this.dataSource.driver)\n ) {\n query += ` AS \"${this.alias}\"`\n }\n\n // add columns expression\n if (columnsExpression) {\n query += `(${columnsExpression})`\n } else {\n if (\n !valuesExpression &&\n (DriverUtils.isMySQLFamily(this.dataSource.driver) ||\n this.dataSource.driver.options.type === \"aurora-mysql\")\n )\n // special syntax for mysql DEFAULT VALUES insertion\n query += \"()\"\n }\n\n if (this.expressionMap.insertFromSelect)\n query += ` ${this.expressionMap.insertFromSelect.getQuery()}`\n else {\n // add OUTPUT expression\n if (\n returningExpression &&\n this.dataSource.driver.options.type === \"mssql\"\n ) {\n query += ` OUTPUT ${returningExpression}`\n }\n\n // add VALUES expression\n if (valuesExpression) {\n if (\n (this.dataSource.driver.options.type === \"oracle\" ||\n this.dataSource.driver.options.type === \"sap\") &&\n this.getValueSets().length > 1\n ) {\n query += ` ${valuesExpression}`\n } else {\n query += ` VALUES ${valuesExpression}`\n }\n } else {\n if (\n DriverUtils.isMySQLFamily(this.dataSource.driver) ||\n this.dataSource.driver.options.type === \"aurora-mysql\"\n ) {\n // special syntax for mysql DEFAULT VALUES insertion\n query += \" VALUES ()\"\n } else {\n query += ` DEFAULT VALUES`\n }\n }\n }\n if (this.expressionMap.onUpdate?.upsertType !== \"primary-key\") {\n if (\n this.dataSource.driver.supportedUpsertTypes.includes(\n \"on-conflict-do-update\",\n )\n ) {\n if (this.expressionMap.onIgnore) {\n query += \" ON CONFLICT DO NOTHING \"\n } else if (this.expressionMap.onUpdate) {\n const {\n overwrite,\n columns,\n conflict,\n skipUpdateIfNoValuesChanged,\n indexPredicate,\n } = this.expressionMap.onUpdate\n\n let conflictTarget = \"ON CONFLICT\"\n\n if (Array.isArray(conflict)) {\n conflictTarget += ` ( ${conflict\n .map((column) => this.escape(column))\n .join(\", \")} )`\n if (\n indexPredicate &&\n !DriverUtils.isPostgresFamily(\n this.dataSource.driver,\n )\n ) {\n throw new TypeORMError(\n `indexPredicate option is not supported by the current database driver`,\n )\n }\n if (\n indexPredicate &&\n DriverUtils.isPostgresFamily(this.dataSource.driver)\n ) {\n conflictTarget += ` WHERE ( ${indexPredicate} )`\n }\n } else if (conflict) {\n conflictTarget += ` ON CONSTRAINT ${this.escape(\n conflict,\n )}`\n }\n\n const updatePart: string[] = []\n\n if (Array.isArray(overwrite)) {\n updatePart.push(\n ...overwrite.map(\n (column) =>\n `${this.escape(\n column,\n )} = EXCLUDED.${this.escape(column)}`,\n ),\n )\n } else if (columns) {\n updatePart.push(\n ...columns.map((column) => {\n let expression = `:${column}`\n if (\n this.expressionMap.mainAlias!.hasMetadata &&\n DriverUtils.isSQLiteFamily(\n this.dataSource.driver,\n )\n ) {\n const col =\n this.expressionMap.mainAlias?.metadata.findColumnWithDatabaseName(\n column,\n )\n if (col) {\n expression = (\n this.dataSource.driver as\n | AbstractSqliteDriver\n | ReactNativeDriver\n ).wrapWithJsonFunction(\n expression,\n col,\n true,\n )\n }\n }\n return `${this.escape(column)} = ${expression}`\n }),\n )\n }\n\n if (updatePart.length === 0) {\n query += ` ${conflictTarget} DO NOTHING `\n } else {\n query += ` ${conflictTarget} DO UPDATE SET `\n\n updatePart.push(\n ...this.expressionMap\n .mainAlias!.metadata.columns.filter(\n (column) =>\n column.isUpdateDate &&\n !overwrite?.includes(\n column.databaseName,\n ) &&\n !(\n (this.dataSource.driver.options\n .type === \"oracle\" &&\n this.getValueSets().length >\n 1) ||\n DriverUtils.isSQLiteFamily(\n this.dataSource.driver,\n ) ||\n this.dataSource.driver.options\n .type === \"sap\" ||\n this.dataSource.driver.options\n .type === \"spanner\"\n ),\n )\n .map(\n (column) =>\n `${this.escape(\n column.databaseName,\n )} = DEFAULT`,\n ),\n )\n\n query += updatePart.join(\", \")\n }\n\n if (\n Array.isArray(overwrite) &&\n overwrite.length > 0 &&\n skipUpdateIfNoValuesChanged\n ) {\n this.expressionMap.onUpdate.overwriteCondition ??= []\n const wheres = overwrite.map<WhereClause>((column) => ({\n type: \"or\",\n condition: `${tableOrAliasName}.${this.escape(\n column,\n )} IS DISTINCT FROM EXCLUDED.${this.escape(\n column,\n )}`,\n }))\n this.expressionMap.onUpdate.overwriteCondition.push({\n type: \"and\",\n condition: wheres,\n })\n }\n if (\n DriverUtils.isPostgresFamily(this.dataSource.driver) &&\n this.expressionMap.onUpdate.overwriteCondition &&\n this.expressionMap.onUpdate.overwriteCondition.length >\n 0\n ) {\n query += ` WHERE ${this.createUpsertConditionExpression(tableOrAliasName)}`\n }\n }\n } else if (\n this.dataSource.driver.supportedUpsertTypes.includes(\n \"on-duplicate-key-update\",\n )\n ) {\n if (this.expressionMap.onUpdate) {\n const { overwrite, columns } = this.expressionMap.onUpdate\n\n if (Array.isArray(overwrite) && overwrite.length === 0) {\n // No columns to update — degrade to INSERT IGNORE\n // The IGNORE keyword was not added above, so we\n // rewrite the query to include it.\n query = query.replace(\n /^INSERT INTO/,\n \"INSERT IGNORE INTO\",\n )\n } else if (Array.isArray(overwrite)) {\n query += \" ON DUPLICATE KEY UPDATE \"\n query += overwrite\n .map(\n (column) =>\n `${this.escape(\n column,\n )} = VALUES(${this.escape(column)})`,\n )\n .join(\", \")\n query += \" \"\n } else if (Array.isArray(columns)) {\n query += \" ON DUPLICATE KEY UPDATE \"\n query += columns\n .map(\n (column) =>\n `${this.escape(column)} = :${column}`,\n )\n .join(\", \")\n query += \" \"\n }\n }\n } else {\n if (this.expressionMap.onUpdate) {\n throw new TypeORMError(\n `onUpdate is not supported by the current database driver`,\n )\n }\n }\n }\n\n // add RETURNING expression\n // Note: Oracle does not support RETURNING with INSERT ... SELECT (insertFromSelect),\n // so we skip RETURNING for Oracle when inserting from a select.\n if (\n returningExpression &&\n (DriverUtils.isPostgresFamily(this.dataSource.driver) ||\n this.dataSource.driver.options.type === \"cockroachdb\" ||\n DriverUtils.isMySQLFamily(this.dataSource.driver) ||\n (this.dataSource.driver.options.type === \"oracle\" &&\n !this.expressionMap.insertFromSelect))\n ) {\n query += ` RETURNING ${returningExpression}`\n }\n\n if (\n returningExpression &&\n this.dataSource.driver.options.type === \"spanner\"\n ) {\n query += ` THEN RETURN ${returningExpression}`\n }\n\n // Inserting a specific value for an auto-increment primary key in mssql requires enabling IDENTITY_INSERT\n // IDENTITY_INSERT can only be enabled for tables where there is an IDENTITY column and only if there is a value to be inserted (i.e. supplying DEFAULT is prohibited if IDENTITY_INSERT is enabled)\n if (\n this.dataSource.driver.options.type === \"mssql\" &&\n this.expressionMap.mainAlias!.hasMetadata &&\n this.expressionMap\n .mainAlias!.metadata.columns.filter((column) =>\n this.expressionMap.insertColumns.length > 0\n ? this.expressionMap.insertColumns.indexOf(\n column.propertyPath,\n ) !== -1\n : column.isInsert,\n )\n .some((column) =>\n this.isOverridingAutoIncrementBehavior(column),\n )\n ) {\n query = `SET IDENTITY_INSERT ${tableName} ON; ${query}; SET IDENTITY_INSERT ${tableName} OFF`\n }\n\n return query\n }\n\n /**\n * Gets list of columns where values must be inserted to.\n */\n protected getInsertedColumns(): ColumnMetadata[] {\n if (!this.expressionMap.mainAlias!.hasMetadata) return []\n\n return this.expressionMap.mainAlias!.metadata.columns.filter(\n (column) => {\n // if user specified list of columns he wants to insert to, then we filter only them\n if (this.expressionMap.insertColumns.length)\n return (\n this.expressionMap.insertColumns.indexOf(\n column.propertyPath,\n ) !== -1\n )\n\n // skip columns the user doesn't want included by default\n if (!column.isInsert) {\n return false\n }\n\n // Skip generated columns if we are inserting from select, if not explicitly specified\n if (\n column.isGenerated &&\n this.expressionMap.insertFromSelect &&\n (DriverUtils.isSQLiteFamily(this.dataSource.driver) ||\n DriverUtils.isMySQLFamily(this.dataSource.driver) ||\n this.dataSource.driver.options.type ===\n \"aurora-mysql\" ||\n this.dataSource.driver.options.type === \"oracle\")\n )\n return false\n\n // if user did not specified such list then return all columns except auto-increment one\n // for Oracle we return auto-increment column as well because Oracle does not support DEFAULT VALUES expression\n if (\n column.isGenerated &&\n column.generationStrategy === \"increment\" &&\n !(this.dataSource.driver.options.type === \"spanner\") &&\n !(this.dataSource.driver.options.type === \"oracle\") &&\n !DriverUtils.isSQLiteFamily(this.dataSource.driver) &&\n !DriverUtils.isMySQLFamily(this.dataSource.driver) &&\n !(this.dataSource.driver.options.type === \"aurora-mysql\") &&\n !(\n this.dataSource.driver.options.type === \"mssql\" &&\n this.isOverridingAutoIncrementBehavior(column)\n )\n )\n return false\n\n return true\n },\n )\n }\n\n /**\n * Creates a columns string where values must be inserted to for INSERT INTO expression.\n */\n protected createColumnNamesExpression(): string {\n const columns = this.getInsertedColumns()\n if (columns.length > 0)\n return columns\n .map((column) => this.escape(column.databaseName))\n .join(\", \")\n\n // in the case if there are no insert columns specified and table without metadata used\n // we get columns from the inserted value map, in the case if only one inserted map is specified\n if (\n !this.expressionMap.mainAlias!.hasMetadata &&\n !this.expressionMap.insertColumns.length\n ) {\n const valueSets = this.getValueSets()\n if (valueSets.length === 1)\n return Object.keys(valueSets[0])\n .map((columnName) => this.escape(columnName))\n .join(\", \")\n }\n\n // get a table name and all column database names\n return this.expressionMap.insertColumns\n .map((columnName) => this.escape(columnName))\n .join(\", \")\n }\n\n /**\n * Creates list of values needs to be inserted in the VALUES expression.\n */\n protected createValuesExpression(): string {\n const valueSets = this.getValueSets()\n const columns = this.getInsertedColumns()\n\n // if column metadatas are given then apply all necessary operations with values\n if (columns.length > 0) {\n let expression = \"\"\n valueSets.forEach((valueSet, valueSetIndex) => {\n columns.forEach((column, columnIndex) => {\n if (columnIndex === 0) {\n if (\n this.dataSource.driver.options.type === \"oracle\" &&\n valueSets.length > 1\n ) {\n expression += \" SELECT \"\n } else if (\n this.dataSource.driver.options.type === \"sap\" &&\n valueSets.length > 1\n ) {\n expression += \" SELECT \"\n } else {\n expression += \"(\"\n }\n }\n\n expression += this.createColumnValueExpression(\n valueSets,\n valueSetIndex,\n column,\n )\n\n if (columnIndex === columns.length - 1) {\n if (valueSetIndex === valueSets.length - 1) {\n if (\n [\"oracle\", \"sap\"].includes(\n this.dataSource.driver.options.type,\n ) &&\n valueSets.length > 1\n ) {\n expression +=\n \" FROM \" +\n this.dataSource.driver.dummyTableName\n } else {\n expression += \")\"\n }\n } else {\n if (\n [\"oracle\", \"sap\"].includes(\n this.dataSource.driver.options.type,\n ) &&\n valueSets.length > 1\n ) {\n expression +=\n \" FROM \" +\n this.dataSource.driver.dummyTableName +\n \" UNION ALL \"\n } else {\n expression += \"), \"\n }\n }\n } else {\n expression += \", \"\n }\n })\n })\n if (expression === \"()\") return \"\"\n\n return expression\n } else {\n // for tables without metadata\n // get values needs to be inserted\n let expression = \"\"\n\n valueSets.forEach((valueSet, insertionIndex) => {\n const columns = Object.keys(valueSet)\n columns.forEach((columnName, columnIndex) => {\n if (columnIndex === 0) {\n expression += \"(\"\n }\n\n const value = valueSet[columnName]\n\n // support for SQL expressions in queries\n if (typeof value === \"function\") {\n expression += value()\n\n // if value for this column was not provided then insert default value\n } else if (value === undefined) {\n if (\n (this.dataSource.driver.options.type === \"oracle\" &&\n valueSets.length > 1) ||\n DriverUtils.isSQLiteFamily(\n this.dataSource.driver,\n ) ||\n this.dataSource.driver.options.type === \"sap\" ||\n this.dataSource.driver.options.type === \"spanner\"\n ) {\n expression += \"NULL\"\n } else {\n expression += \"DEFAULT\"\n }\n } else if (\n value === null &&\n this.dataSource.driver.options.type === \"spanner\"\n ) {\n // just any other regular value\n } else {\n expression += this.createParameter(value)\n }\n\n if (columnIndex === Object.keys(valueSet).length - 1) {\n if (insertionIndex === valueSets.length - 1) {\n expression += \")\"\n } else {\n expression += \"), \"\n }\n } else {\n expression += \", \"\n }\n })\n })\n if (expression === \"()\") return \"\"\n return expression\n }\n }\n\n /**\n * Gets array of values need to be inserted into the target table.\n */\n protected getValueSets(): ObjectLiteral[] {\n if (this.expressionMap.insertFromSelect) {\n return []\n }\n\n if (Array.isArray(this.expressionMap.valuesSet))\n return this.expressionMap.valuesSet\n\n if (ObjectUtils.isObject(this.expressionMap.valuesSet))\n return [this.expressionMap.valuesSet]\n\n throw new InsertValuesMissingError()\n }\n\n /**\n * Checks if column is an auto-generated primary key, but the current insertion specifies a value for it.\n * @param column\n */\n protected isOverridingAutoIncrementBehavior(\n column: ColumnMetadata,\n ): boolean {\n return (\n column.isPrimary &&\n column.isGenerated &&\n column.generationStrategy === \"increment\" &&\n this.getValueSets().some(\n (valueSet) =>\n column.getEntityValue(valueSet) !== undefined &&\n column.getEntityValue(valueSet) !== null,\n )\n )\n }\n\n /**\n * Creates MERGE express used to perform insert query.\n */\n protected createMergeExpression() {\n if (!this.dataSource.driver.supportedUpsertTypes.includes(\"merge-into\"))\n throw new TypeORMError(\n `Upsert type \"merge-into\" is not supported by current database driver`,\n )\n\n if (\n this.expressionMap.onUpdate?.upsertType &&\n this.expressionMap.onUpdate.upsertType !== \"merge-into\"\n ) {\n throw new TypeORMError(\n `Upsert type \"${this.expressionMap.onUpdate.upsertType}\" is not supported by current database driver`,\n )\n }\n // const mainAlias = this.expressionMap.mainAlias!\n const tableName = this.getTableName(this.getMainTableName())\n const tableAlias = this.escape(this.alias)\n const columns = this.getInsertedColumns()\n const columnsExpression = this.createColumnNamesExpression()\n\n let query = `MERGE INTO ${tableName} ${this.escape(this.alias)}`\n\n const mergeSourceAlias = this.escape(\"mergeIntoSource\")\n\n const mergeSourceExpression =\n this.createMergeIntoSourceExpression(mergeSourceAlias)\n\n query += ` ${mergeSourceExpression}`\n\n // build on condition\n if (this.expressionMap.onIgnore) {\n const primaryKey = columns.find((column) => column.isPrimary)\n if (primaryKey) {\n query += ` ON (${tableAlias}.${this.escape(\n primaryKey.databaseName,\n )} = ${mergeSourceAlias}.${this.escape(\n primaryKey.databaseName,\n )})`\n } else {\n // Get unique constraints from metadata.uniques\n const uniqueConstraints =\n this.expressionMap.mainAlias!.metadata.uniques\n // Get unique indices from metadata.indices\n const uniqueIndices =\n this.expressionMap.mainAlias!.metadata.indices.filter(\n (index) => index.isUnique,\n )\n\n const allUniqueConditions: string[] = []\n\n // Add conditions from unique constraints\n uniqueConstraints.forEach((unique) => {\n const condition = unique.columns\n .map((column) => {\n return `${tableAlias}.${this.escape(\n column.databaseName,\n )} = ${mergeSourceAlias}.${this.escape(\n column.databaseName,\n )}`\n })\n .join(\" AND \")\n allUniqueConditions.push(`(${condition})`)\n })\n\n // Add conditions from unique indices\n uniqueIndices.forEach((index) => {\n const condition = index.columns\n .map((column) => {\n return `${tableAlias}.${this.escape(\n column.databaseName,\n )} = ${mergeSourceAlias}.${this.escape(\n column.databaseName,\n )}`\n })\n .join(\" AND \")\n allUniqueConditions.push(`(${condition})`)\n })\n\n if (allUniqueConditions.length > 0) {\n query += ` ON (${allUniqueConditions.join(\" OR \")})`\n } else {\n // Fallback: use all columns being inserted as the match condition\n const columnConditions = columns\n .map((column) => {\n return `${tableAlias}.${this.escape(\n column.databaseName,\n )} = ${mergeSourceAlias}.${this.escape(\n column.databaseName,\n )}`\n })\n .join(\" AND \")\n query += ` ON (${columnConditions})`\n }\n }\n } else if (this.expressionMap.onUpdate) {\n const { conflict, indexPredicate } = this.expressionMap.onUpdate\n\n if (indexPredicate) {\n throw new TypeORMError(\n `indexPredicate option is not supported by upsert type \"merge-into\"`,\n )\n }\n\n if (Array.isArray(conflict)) {\n query += ` ON (${conflict\n .map(\n (column) =>\n `${tableAlias}.${this.escape(\n column,\n )} = ${mergeSourceAlias}.${this.escape(column)}`,\n )\n .join(\" AND \")})`\n } else if (conflict) {\n query += ` ON (${tableAlias}.${this.escape(\n conflict,\n )} = ${mergeSourceAlias}.${this.escape(conflict)})`\n } else {\n query += `ON (${this.expressionMap\n .mainAlias!.metadata.uniques.map((unique) => {\n return `(${unique.columns\n .map((column) => {\n return `${tableAlias}.${this.escape(\n column.databaseName,\n )} = ${mergeSourceAlias}.${this.escape(\n column.databaseName,\n )}`\n })\n .join(\" AND \")})`\n })\n .join(\" OR \")})`\n }\n }\n\n if (this.expressionMap.onUpdate) {\n const {\n overwrite,\n columns,\n conflict,\n skipUpdateIfNoValuesChanged,\n } = this.expressionMap.onUpdate\n let updateExpression = \"\"\n\n if (Array.isArray(overwrite)) {\n updateExpression += (overwrite || columns)\n ?.filter((column) => !conflict?.includes(column))\n .map(\n (column) =>\n `${tableAlias}.${this.escape(\n column,\n )} = ${mergeSourceAlias}.${this.escape(column)}`,\n )\n .join(\", \")\n }\n\n if (Array.isArray(overwrite) && skipUpdateIfNoValuesChanged) {\n this.expressionMap.onUpdate.overwriteCondition ??= []\n const wheres = overwrite.map<WhereClause>((column) => ({\n type: \"or\",\n condition: {\n operator: \"notEqual\",\n parameters: [\n `${tableAlias}.${this.escape(column)}`,\n `${mergeSourceAlias}.${this.escape(column)}`,\n ],\n },\n }))\n this.expressionMap.onUpdate.overwriteCondition.push({\n type: \"and\",\n condition: wheres,\n })\n }\n const mergeCondition =\n this.createUpsertConditionExpression(tableAlias)\n if (updateExpression.trim()) {\n if (\n (this.dataSource.driver.options.type === \"mssql\" ||\n this.dataSource.driver.options.type === \"sap\") &&\n mergeCondition != \"\"\n ) {\n query += ` WHEN MATCHED AND ${mergeCondition} THEN UPDATE SET ${updateExpression}`\n } else {\n query += ` WHEN MATCHED THEN UPDATE SET ${updateExpression}`\n if (mergeCondition != \"\") {\n query += ` WHERE ${mergeCondition}`\n }\n }\n }\n }\n\n const valuesExpression =\n this.createMergeIntoInsertValuesExpression(mergeSourceAlias)\n const returningExpression =\n this.dataSource.driver.options.type === \"mssql\"\n ? this.createReturningExpression(\"insert\")\n : null\n\n query += \" WHEN NOT MATCHED THEN INSERT\"\n\n // add columns expression\n if (columnsExpression) {\n query += `(${columnsExpression})`\n }\n\n // add VALUES expression\n if (valuesExpression) {\n query += ` VALUES ${valuesExpression}`\n }\n\n // add OUTPUT expression\n if (\n returningExpression &&\n this.dataSource.driver.options.type === \"mssql\"\n ) {\n query += ` OUTPUT ${returningExpression}`\n }\n if (this.dataSource.driver.options.type === \"mssql\") {\n query += `;`\n }\n return query\n }\n\n /**\n * Creates list of values needs to be inserted in the VALUES expression.\n * @param mergeSourceAlias\n */\n protected createMergeIntoSourceExpression(\n mergeSourceAlias: string,\n ): string {\n const columns = this.getInsertedColumns()\n\n let expression = \"USING (\"\n\n // Handle INSERT FROM SELECT case\n if (this.expressionMap.insertFromSelect) {\n // For MERGE source we need the SELECT's output columns to match\n // the target column names referenced as `mergeIntoSource.<col>`.\n // MSSQL supports providing a column list after the alias, so\n // in that case we can keep the original SELECT. For other\n // drivers (e.g. Oracle, SAP HANA) we clone the select and set\n // the select aliases to the target column database names so\n // references like `mergeIntoSource.email` resolve correctly.\n if (this.dataSource.driver.options.type === \"mssql\") {\n expression += this.expressionMap.insertFromSelect.getQuery()\n } else {\n // Clone the SelectQueryBuilder and modify its select expressions\n const selectQb = this.expressionMap.insertFromSelect.clone()\n const targetColumns = this.getInsertedColumns()\n\n // Clear existing selects and add new ones with proper aliases\n selectQb.expressionMap.selects = []\n\n // Get the original select expressions\n const originalSelects =\n this.expressionMap.insertFromSelect.expressionMap.selects\n\n originalSelects.forEach((select, index) => {\n const targetColumn = targetColumns[index]\n if (targetColumn) {\n // Add select with target column name as alias\n selectQb.expressionMap.selects.push({\n selection: select.selection,\n aliasName: targetColumn.databaseName,\n virtual: select.virtual,\n })\n } else {\n selectQb.expressionMap.selects.push(select)\n }\n })\n\n expression += selectQb.getQuery()\n }\n\n expression += `) ${mergeSourceAlias}`\n // MSSQL requires column list after the alias\n if (this.dataSource.driver.options.type === \"mssql\") {\n expression += ` (${columns\n .map((column) => this.escape(column.databaseName))\n .join(\", \")})`\n }\n return expression\n }\n\n // Handle VALUES case\n const valueSets = this.getValueSets()\n\n // if column metadatas are given then apply all necessary operations with values\n if (columns.length > 0) {\n if (this.dataSource.driver.options.type === \"mssql\") {\n expression += \"VALUES \"\n }\n valueSets.forEach((valueSet, valueSetIndex) => {\n columns.forEach((column, columnIndex) => {\n if (columnIndex === 0) {\n if (this.dataSource.driver.options.type === \"mssql\") {\n expression += \"(\"\n } else {\n expression += \"SELECT \"\n }\n }\n\n const value = column.getEntityValue(valueSet)\n\n if (\n value === undefined &&\n !(\n column.isGenerated &&\n column.generationStrategy === \"uuid\" &&\n !this.dataSource.driver.isUUIDGenerationSupported()\n )\n ) {\n if (\n column.default !== undefined &&\n column.default !== null\n ) {\n // try to use default defined in the column\n expression +=\n this.dataSource.driver.normalizeDefault(column)\n } else {\n expression += \"NULL\" // otherwise simply use NULL and pray if column is nullable\n }\n } else if (value === null) {\n expression += \"NULL\"\n } else {\n expression += this.createColumnValueExpression(\n valueSets,\n valueSetIndex,\n column,\n )\n }\n\n if (this.dataSource.driver.options.type !== \"mssql\")\n expression += ` AS ${this.escape(column.databaseName)}`\n\n if (columnIndex === columns.length - 1) {\n if (valueSetIndex === valueSets.length - 1) {\n if (\n [\"oracle\", \"sap\"].includes(\n this.dataSource.driver.options.type,\n )\n ) {\n expression +=\n \" FROM \" +\n this.dataSource.driver.dummyTableName\n } else if (\n this.dataSource.driver.options.type === \"mssql\"\n ) {\n expression += \")\"\n }\n } else {\n if (\n [\"oracle\", \"sap\"].includes(\n this.dataSource.driver.options.type,\n ) &&\n valueSets.length > 1\n ) {\n expression +=\n \" FROM \" +\n this.dataSource.driver.dummyTableName +\n \" UNION ALL \"\n } else if (\n this.dataSource.driver.options.type === \"mssql\"\n ) {\n expression += \"), \"\n } else {\n expression += \" UNION ALL \"\n }\n }\n } else {\n expression += \", \"\n }\n })\n })\n } else {\n // for tables without metadata\n throw new TypeORMError(\n 'Upsert type \"merge-into\" is not supported without metadata tables',\n )\n }\n expression += `) ${mergeSourceAlias}`\n if (this.dataSource.driver.options.type === \"mssql\")\n expression += ` (${columns\n .map((column) => this.escape(column.databaseName))\n .join(\", \")})`\n return expression\n }\n\n /**\n * Creates list of values needs to be inserted in the VALUES expression.\n * @param mergeSourceAlias\n */\n protected createMergeIntoInsertValuesExpression(\n mergeSourceAlias: string,\n ): string {\n const columns = this.getInsertedColumns()\n\n let expression = \"\"\n // if column metadatas are given then apply all necessary operations with values\n if (columns.length > 0) {\n columns.forEach((column, columnIndex) => {\n if (columnIndex === 0) {\n expression += \"(\"\n }\n\n if (\n (column.isGenerated &&\n column.generationStrategy === \"uuid\" &&\n this.dataSource.driver.isUUIDGenerationSupported()) ||\n (column.isGenerated && column.generationStrategy !== \"uuid\")\n ) {\n expression += `DEFAULT`\n } else {\n expression += `${mergeSourceAlias}.${this.escape(\n column.databaseName,\n )}`\n }\n\n if (columnIndex === columns.length - 1) {\n expression += \")\"\n } else {\n expression += \", \"\n }\n })\n } else {\n // for tables without metadata\n throw new TypeORMError(\n 'Upsert type \"merge-into\" is not supported without metadata tables',\n )\n }\n if (expression === \"()\") return \"\"\n return expression\n }\n\n /**\n * Create upsert search condition expression.\n * @param mainTableOrAlias\n */\n protected createUpsertConditionExpression(mainTableOrAlias: string) {\n if (!this.expressionMap.onUpdate.overwriteCondition) return \"\"\n const conditionsArray = []\n\n const whereExpression = this.createWhereClausesExpression(\n this.expressionMap.onUpdate.overwriteCondition,\n )\n\n if (whereExpression.length > 0 && whereExpression !== \"1=1\") {\n conditionsArray.push(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 = `${column} IS NULL`\n conditionsArray.push(condition)\n }\n\n if (metadata.discriminatorColumn && metadata.parentEntityMetadata) {\n const column = this.expressionMap.aliasNamePrefixingEnabled\n ? mainTableOrAlias +\n \".\" +\n this.escape(metadata.discriminatorColumn.databaseName)\n : this.escape(metadata.discriminatorColumn.databaseName)\n\n const condition = `${column} IN (:...discriminatorColumnValues)`\n conditionsArray.push(condition)\n }\n }\n\n if (this.expressionMap.extraAppendedAndWhereCondition) {\n const condition = this.expressionMap.extraAppendedAndWhereCondition\n conditionsArray.push(condition)\n }\n\n let condition = \"\"\n\n if (!conditionsArray.length) {\n condition += \"\"\n } else if (conditionsArray.length === 1) {\n condition += `${conditionsArray[0]}`\n } else {\n condition += `( ${conditionsArray.join(\" ) AND ( \")} )`\n }\n\n return condition\n }\n\n protected createColumnValueExpression(\n valueSets: ObjectLiteral[],\n valueSetIndex: number,\n column: ColumnMetadata,\n ): string {\n const valueSet = valueSets[valueSetIndex]\n let expression = \"\"\n\n // extract real value from the entity\n let value = column.getEntityValue(valueSet)\n\n // if column is relational and value is an object then get real referenced column value from this object\n // for example column value is { question: { id: 1 } }, value will be equal to { id: 1 }\n // and we extract \"1\" from this object\n /*if (column.referencedColumn && value instanceof Object && !(typeof value === \"function\")) { // todo: check if we still need it since getEntityValue already has similar code\n value = column.referencedColumn.getEntityValue(value);\n }*/\n\n if (!(typeof value === \"function\")) {\n // make sure our value is normalized by a driver\n value = this.dataSource.driver.preparePersistentValue(value, column)\n }\n\n // newly inserted entities always have a version equal to 1 (first version)\n // also, user-specified version must be empty\n if (column.isVersion && value === undefined) {\n expression += \"1\"\n\n // } else if (column.isNestedSetLeft) {\n // const tableName = this.dataSource.driver.escape(column.entityMetadata.tablePath);\n // const rightColumnName = this.dataSource.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);\n // const subQuery = `(SELECT c.max + 1 FROM (SELECT MAX(${rightColumnName}) as max from ${tableName}) c)`;\n // expression += subQuery;\n //\n // } else if (column.isNestedSetRight) {\n // const tableName = this.dataSource.driver.escape(column.entityMetadata.tablePath);\n // const rightColumnName = this.dataSource.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);\n // const subQuery = `(SELECT c.max + 2 FROM (SELECT MAX(${rightColumnName}) as max from ${tableName}) c)`;\n // expression += subQuery;\n } else if (column.isDiscriminator) {\n expression += this.createParameter(\n this.expressionMap.mainAlias!.metadata.discriminatorValue,\n )\n // return \"1\";\n\n // for create and update dates we insert current date\n // no, we don't do it because this constant is already in \"default\" value of the column\n // with extended timestamp functionality, like CURRENT_TIMESTAMP(6) for example\n // } else if (column.isCreateDate || column.isUpdateDate) {\n // return \"CURRENT_TIMESTAMP\";\n\n // if column is generated uuid and database does not support its generation and custom generated value was not provided by a user - we generate a new uuid value for insertion\n } else if (\n column.isGenerated &&\n column.generationStrategy === \"uuid\" &&\n !this.dataSource.driver.isUUIDGenerationSupported() &&\n value === undefined\n ) {\n value = RandomGenerator.uuidv4()\n expression += this.createParameter(value)\n\n if (!(valueSetIndex in this.expressionMap.locallyGenerated)) {\n this.expressionMap.locallyGenerated[valueSetIndex] = {}\n }\n column.setEntityValue(\n this.expressionMap.locallyGenerated[valueSetIndex],\n value,\n )\n\n // if value for this column was not provided then insert default value\n } else if (value === undefined) {\n if (\n (this.dataSource.driver.options.type === \"oracle\" &&\n valueSets.length > 1) ||\n DriverUtils.isSQLiteFamily(this.dataSource.driver) ||\n this.dataSource.driver.options.type === \"sap\" ||\n this.dataSource.driver.options.type === \"spanner\"\n ) {\n // unfortunately sqlite does not support DEFAULT expression in INSERT queries\n if (column.default !== undefined && column.default !== null) {\n // try to use default defined in the column\n expression +=\n this.dataSource.driver.normalizeDefault(column)\n } else if (\n this.dataSource.driver.options.type === \"spanner\" &&\n column.isGenerated &&\n column.generationStrategy === \"uuid\"\n ) {\n expression += \"GENERATE_UUID()\" // Produces a random universally unique identifier (UUID) as a STRING value.\n } else {\n expression += \"NULL\" // otherwise simply use NULL and pray if column is nullable\n }\n } else {\n expression += \"DEFAULT\"\n }\n } else if (\n value === null &&\n (this.dataSource.driver.options.type === \"spanner\" ||\n this.dataSource.driver.options.type === \"oracle\")\n ) {\n expression += \"NULL\"\n\n // support for SQL expressions in queries\n } else if (typeof value === \"function\") {\n expression += value()\n\n // just any other regular value\n } else {\n if (this.dataSource.driver.options.type === \"mssql\")\n value = (\n this.dataSource.driver as SqlServerDriver\n ).parametrizeValue(column, value)\n\n // we need to store array values in a special class to make sure parameter replacement will work correctly\n // if (value instanceof Array)\n // value = new ArrayParameter(value);\n\n const paramName = this.createParameter(value)\n\n if (\n (DriverUtils.isMySQLFamily(this.dataSource.driver) ||\n this.dataSource.driver.options.type === \"aurora-mysql\") &&\n this.dataSource.driver.spatialTypes.includes(column.type)\n ) {\n const useLegacy = (\n this.dataSource.driver as MysqlDriver | AuroraMysqlDriver\n ).options.legacySpatialSupport\n const geomFromText = useLegacy\n ? \"GeomFromText\"\n : \"ST_GeomFromText\"\n if (column.srid != null) {\n expression += `${geomFromText}(${paramName}, ${column.srid})`\n } else {\n expression += `${geomFromText}(${paramName})`\n }\n } else if (\n DriverUtils.isPostgresFamily(this.dataSource.driver) &&\n this.dataSource.driver.spatialTypes.includes(column.type)\n ) {\n if (column.srid != null) {\n expression += `ST_SetSRID(ST_GeomFromGeoJSON(${paramName}), ${column.srid})::${column.type}`\n } else {\n expression += `ST_GeomFromGeoJSON(${paramName})::${column.type}`\n }\n } else if (\n this.dataSource.driver.options.type === \"mssql\" &&\n this.dataSource.driver.spatialTypes.includes(column.type)\n ) {\n expression +=\n column.type +\n \"::STGeomFromText(\" +\n paramName +\n \", \" +\n (column.srid || \"0\") +\n \")\"\n } else if (DriverUtils.isSQLiteFamily(this.dataSource.driver)) {\n expression = (\n this.dataSource.driver as AbstractSqliteDriver\n ).wrapWithJsonFunction(paramName, column, true)\n } else {\n expression += paramName\n }\n }\n return expression\n }\n}\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { EntityMetadata } from "../metadata/EntityMetadata";
|
|
2
|
-
import { DataSource } from "../data-source/DataSource";
|
|
3
|
-
import { RelationMetadata } from "../metadata/RelationMetadata";
|
|
4
|
-
import { QueryExpressionMap } from "./QueryExpressionMap";
|
|
5
|
-
import { Alias } from "./Alias";
|
|
1
|
+
import type { EntityMetadata } from "../metadata/EntityMetadata";
|
|
2
|
+
import type { DataSource } from "../data-source/DataSource";
|
|
3
|
+
import type { RelationMetadata } from "../metadata/RelationMetadata";
|
|
4
|
+
import type { QueryExpressionMap } from "./QueryExpressionMap";
|
|
5
|
+
import type { Alias } from "./Alias";
|
|
6
6
|
/**
|
|
7
7
|
* Stores all join attributes which will be used to build a JOIN query.
|
|
8
8
|
*/
|
|
9
9
|
export declare class JoinAttribute {
|
|
10
|
-
private
|
|
10
|
+
private dataSource;
|
|
11
11
|
private queryExpressionMap;
|
|
12
12
|
/**
|
|
13
13
|
* Join direction.
|
|
@@ -37,7 +37,7 @@ export declare class JoinAttribute {
|
|
|
37
37
|
* Useful when the joined expression is a custom query to support mapping.
|
|
38
38
|
*/
|
|
39
39
|
mapAsEntity?: Function | string;
|
|
40
|
-
constructor(
|
|
40
|
+
constructor(dataSource: DataSource, queryExpressionMap: QueryExpressionMap, joinAttribute?: JoinAttribute);
|
|
41
41
|
get isMany(): boolean;
|
|
42
42
|
isSelectedCache: boolean;
|
|
43
43
|
isSelectedEvaluated: boolean;
|
|
@@ -12,8 +12,8 @@ class JoinAttribute {
|
|
|
12
12
|
// -------------------------------------------------------------------------
|
|
13
13
|
// Constructor
|
|
14
14
|
// -------------------------------------------------------------------------
|
|
15
|
-
constructor(
|
|
16
|
-
this.
|
|
15
|
+
constructor(dataSource, queryExpressionMap, joinAttribute) {
|
|
16
|
+
this.dataSource = dataSource;
|
|
17
17
|
this.queryExpressionMap = queryExpressionMap;
|
|
18
18
|
this.isSelectedEvaluated = false;
|
|
19
19
|
this.relationEvaluated = false;
|
|
@@ -122,24 +122,13 @@ class JoinAttribute {
|
|
|
122
122
|
if (this.relation)
|
|
123
123
|
return this.relation.inverseEntityMetadata;
|
|
124
124
|
// entityOrProperty is Entity class
|
|
125
|
-
if (this.
|
|
126
|
-
return this.
|
|
125
|
+
if (this.dataSource.hasMetadata(this.entityOrProperty))
|
|
126
|
+
return this.dataSource.getMetadata(this.entityOrProperty);
|
|
127
127
|
// Overriden mapping entity provided for leftJoinAndMapOne with custom query builder
|
|
128
|
-
if (this.mapAsEntity && this.
|
|
129
|
-
return this.
|
|
128
|
+
if (this.mapAsEntity && this.dataSource.hasMetadata(this.mapAsEntity)) {
|
|
129
|
+
return this.dataSource.getMetadata(this.mapAsEntity);
|
|
130
130
|
}
|
|
131
131
|
return undefined;
|
|
132
|
-
/*if (typeof this.entityOrProperty === "string") { // entityOrProperty is a custom table
|
|
133
|
-
|
|
134
|
-
// first try to find entity with such name, this is needed when entity does not have a target class,
|
|
135
|
-
// and its target is a string name (scenario when plain old javascript is used or entity schema is loaded from files)
|
|
136
|
-
const metadata = this.connection.entityMetadatas.find(metadata => metadata.name === this.entityOrProperty);
|
|
137
|
-
if (metadata)
|
|
138
|
-
return metadata;
|
|
139
|
-
|
|
140
|
-
// check if we have entity with such table name, and use its metadata if found
|
|
141
|
-
return this.connection.entityMetadatas.find(metadata => metadata.tableName === this.entityOrProperty);
|
|
142
|
-
}*/
|
|
143
132
|
}
|
|
144
133
|
/**
|
|
145
134
|
* Generates alias of junction table, whose ids we get.
|
|
@@ -153,10 +142,10 @@ class JoinAttribute {
|
|
|
153
142
|
}
|
|
154
143
|
const aliasProperty = this.entityOrProperty.substr(0, this.entityOrProperty.indexOf("."));
|
|
155
144
|
if (this.relation.isOwning) {
|
|
156
|
-
return DriverUtils_1.DriverUtils.buildAlias(this.
|
|
145
|
+
return DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, aliasProperty, this.alias.name);
|
|
157
146
|
}
|
|
158
147
|
else {
|
|
159
|
-
return DriverUtils_1.DriverUtils.buildAlias(this.
|
|
148
|
+
return DriverUtils_1.DriverUtils.buildAlias(this.dataSource.driver, undefined, this.alias.name, aliasProperty);
|
|
160
149
|
}
|
|
161
150
|
}
|
|
162
151
|
get mapToPropertyParentAlias() {
|
|
@@ -171,5 +160,4 @@ class JoinAttribute {
|
|
|
171
160
|
}
|
|
172
161
|
}
|
|
173
162
|
exports.JoinAttribute = JoinAttribute;
|
|
174
|
-
|
|
175
|
-
//# sourceMappingURL=JoinAttribute.js.map
|
|
163
|
+
//# sourceMappingURL=JoinAttribute.js.map
|