@stingerloom/orm 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +53 -0
- package/dist/DatabaseClient.d.ts +23 -0
- package/dist/DatabaseClient.d.ts.map +1 -0
- package/dist/DatabaseClient.js +125 -0
- package/dist/DatabaseClient.js.map +1 -0
- package/dist/core/BaseEntityManager.d.ts +29 -0
- package/dist/core/BaseEntityManager.d.ts.map +1 -0
- package/dist/core/BaseEntityManager.js +7 -0
- package/dist/core/BaseEntityManager.js.map +1 -0
- package/dist/core/BaseInsertQueryBuilder.d.ts +8 -0
- package/dist/core/BaseInsertQueryBuilder.d.ts.map +1 -0
- package/dist/core/BaseInsertQueryBuilder.js +3 -0
- package/dist/core/BaseInsertQueryBuilder.js.map +1 -0
- package/dist/core/BaseRawQueryBuilder.d.ts +33 -0
- package/dist/core/BaseRawQueryBuilder.d.ts.map +1 -0
- package/dist/core/BaseRawQueryBuilder.js +3 -0
- package/dist/core/BaseRawQueryBuilder.js.map +1 -0
- package/dist/core/BaseRepository.d.ts +37 -0
- package/dist/core/BaseRepository.d.ts.map +1 -0
- package/dist/core/BaseRepository.js +77 -0
- package/dist/core/BaseRepository.js.map +1 -0
- package/dist/core/BaseResultTransformer.d.ts +11 -0
- package/dist/core/BaseResultTransformer.d.ts.map +1 -0
- package/dist/core/BaseResultTransformer.js +3 -0
- package/dist/core/BaseResultTransformer.js.map +1 -0
- package/dist/core/Conditions.d.ts +33 -0
- package/dist/core/Conditions.d.ts.map +1 -0
- package/dist/core/Conditions.js +154 -0
- package/dist/core/Conditions.js.map +1 -0
- package/dist/core/CursorPagination.d.ts +19 -0
- package/dist/core/CursorPagination.d.ts.map +1 -0
- package/dist/core/CursorPagination.js +27 -0
- package/dist/core/CursorPagination.js.map +1 -0
- package/dist/core/DatabaseClientOptions.d.ts +41 -0
- package/dist/core/DatabaseClientOptions.d.ts.map +1 -0
- package/dist/core/DatabaseClientOptions.js +3 -0
- package/dist/core/DatabaseClientOptions.js.map +1 -0
- package/dist/core/EntityEventEmitter.d.ts +14 -0
- package/dist/core/EntityEventEmitter.d.ts.map +1 -0
- package/dist/core/EntityEventEmitter.js +35 -0
- package/dist/core/EntityEventEmitter.js.map +1 -0
- package/dist/core/EntityManager.d.ts +115 -0
- package/dist/core/EntityManager.d.ts.map +1 -0
- package/dist/core/EntityManager.js +2347 -0
- package/dist/core/EntityManager.js.map +1 -0
- package/dist/core/EntitySubscriber.d.ts +31 -0
- package/dist/core/EntitySubscriber.d.ts.map +1 -0
- package/dist/core/EntitySubscriber.js +3 -0
- package/dist/core/EntitySubscriber.js.map +1 -0
- package/dist/core/EntityValidator.d.ts +6 -0
- package/dist/core/EntityValidator.d.ts.map +1 -0
- package/dist/core/EntityValidator.js +43 -0
- package/dist/core/EntityValidator.js.map +1 -0
- package/dist/core/ExplainResult.d.ts +9 -0
- package/dist/core/ExplainResult.d.ts.map +1 -0
- package/dist/core/ExplainResult.js +3 -0
- package/dist/core/ExplainResult.js.map +1 -0
- package/dist/core/IConnector.d.ts +18 -0
- package/dist/core/IConnector.d.ts.map +1 -0
- package/dist/core/IConnector.js +7 -0
- package/dist/core/IConnector.js.map +1 -0
- package/dist/core/LazyLoader.d.ts +6 -0
- package/dist/core/LazyLoader.d.ts.map +1 -0
- package/dist/core/LazyLoader.js +94 -0
- package/dist/core/LazyLoader.js.map +1 -0
- package/dist/core/MyClassConstructor.d.ts +4 -0
- package/dist/core/MyClassConstructor.d.ts.map +1 -0
- package/dist/core/MyClassConstructor.js +3 -0
- package/dist/core/MyClassConstructor.js.map +1 -0
- package/dist/core/QueryTracker.d.ts +37 -0
- package/dist/core/QueryTracker.d.ts.map +1 -0
- package/dist/core/QueryTracker.js +111 -0
- package/dist/core/QueryTracker.js.map +1 -0
- package/dist/core/RawQueryBuilder.d.ts +40 -0
- package/dist/core/RawQueryBuilder.d.ts.map +1 -0
- package/dist/core/RawQueryBuilder.js +211 -0
- package/dist/core/RawQueryBuilder.js.map +1 -0
- package/dist/core/RawQueryBuilderFactory.d.ts +6 -0
- package/dist/core/RawQueryBuilderFactory.d.ts.map +1 -0
- package/dist/core/RawQueryBuilderFactory.js +14 -0
- package/dist/core/RawQueryBuilderFactory.js.map +1 -0
- package/dist/core/ResultTransformer.d.ts +24 -0
- package/dist/core/ResultTransformer.d.ts.map +1 -0
- package/dist/core/ResultTransformer.js +134 -0
- package/dist/core/ResultTransformer.js.map +1 -0
- package/dist/core/ResultTransformerFactory.d.ts +5 -0
- package/dist/core/ResultTransformerFactory.d.ts.map +1 -0
- package/dist/core/ResultTransformerFactory.js +11 -0
- package/dist/core/ResultTransformerFactory.js.map +1 -0
- package/dist/core/SelectUtils.d.ts +14 -0
- package/dist/core/SelectUtils.d.ts.map +1 -0
- package/dist/core/SelectUtils.js +19 -0
- package/dist/core/SelectUtils.js.map +1 -0
- package/dist/core/deserializer/ClassTransformerDeserializer.d.ts +7 -0
- package/dist/core/deserializer/ClassTransformerDeserializer.d.ts.map +1 -0
- package/dist/core/deserializer/ClassTransformerDeserializer.js +14 -0
- package/dist/core/deserializer/ClassTransformerDeserializer.js.map +1 -0
- package/dist/core/deserializer/DeserializeEntity.d.ts +7 -0
- package/dist/core/deserializer/DeserializeEntity.d.ts.map +1 -0
- package/dist/core/deserializer/DeserializeEntity.js +17 -0
- package/dist/core/deserializer/DeserializeEntity.js.map +1 -0
- package/dist/core/deserializer/DeserializeOptions.d.ts +9 -0
- package/dist/core/deserializer/DeserializeOptions.d.ts.map +1 -0
- package/dist/core/deserializer/DeserializeOptions.js +3 -0
- package/dist/core/deserializer/DeserializeOptions.js.map +1 -0
- package/dist/core/deserializer/Deserializer.d.ts +6 -0
- package/dist/core/deserializer/Deserializer.d.ts.map +1 -0
- package/dist/core/deserializer/Deserializer.js +3 -0
- package/dist/core/deserializer/Deserializer.js.map +1 -0
- package/dist/core/deserializer/DeserializerRegistry.d.ts +13 -0
- package/dist/core/deserializer/DeserializerRegistry.d.ts.map +1 -0
- package/dist/core/deserializer/DeserializerRegistry.js +26 -0
- package/dist/core/deserializer/DeserializerRegistry.js.map +1 -0
- package/dist/core/deserializer/index.d.ts +6 -0
- package/dist/core/deserializer/index.d.ts.map +1 -0
- package/dist/core/deserializer/index.js +22 -0
- package/dist/core/deserializer/index.js.map +1 -0
- package/dist/core/generators/SchemaDiff.d.ts +34 -0
- package/dist/core/generators/SchemaDiff.d.ts.map +1 -0
- package/dist/core/generators/SchemaDiff.js +231 -0
- package/dist/core/generators/SchemaDiff.js.map +1 -0
- package/dist/core/generators/SchemaDiffMigrationGenerator.d.ts +11 -0
- package/dist/core/generators/SchemaDiffMigrationGenerator.d.ts.map +1 -0
- package/dist/core/generators/SchemaDiffMigrationGenerator.js +108 -0
- package/dist/core/generators/SchemaDiffMigrationGenerator.js.map +1 -0
- package/dist/core/generators/SchemaGenerator.d.ts +37 -0
- package/dist/core/generators/SchemaGenerator.d.ts.map +1 -0
- package/dist/core/generators/SchemaGenerator.js +379 -0
- package/dist/core/generators/SchemaGenerator.js.map +1 -0
- package/dist/core/generators/index.d.ts +4 -0
- package/dist/core/generators/index.d.ts.map +1 -0
- package/dist/core/generators/index.js +20 -0
- package/dist/core/generators/index.js.map +1 -0
- package/dist/core/index.d.ts +20 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +36 -0
- package/dist/core/index.js.map +1 -0
- package/dist/decorators/Column.d.ts +19 -0
- package/dist/decorators/Column.d.ts.map +1 -0
- package/dist/decorators/Column.js +53 -0
- package/dist/decorators/Column.js.map +1 -0
- package/dist/decorators/CustomColumn.d.ts +6 -0
- package/dist/decorators/CustomColumn.d.ts.map +1 -0
- package/dist/decorators/CustomColumn.js +13 -0
- package/dist/decorators/CustomColumn.js.map +1 -0
- package/dist/decorators/DeletedAt.d.ts +3 -0
- package/dist/decorators/DeletedAt.d.ts.map +1 -0
- package/dist/decorators/DeletedAt.js +16 -0
- package/dist/decorators/DeletedAt.js.map +1 -0
- package/dist/decorators/Entity.d.ts +16 -0
- package/dist/decorators/Entity.d.ts.map +1 -0
- package/dist/decorators/Entity.js +32 -0
- package/dist/decorators/Entity.js.map +1 -0
- package/dist/decorators/Hooks.d.ts +14 -0
- package/dist/decorators/Hooks.d.ts.map +1 -0
- package/dist/decorators/Hooks.js +36 -0
- package/dist/decorators/Hooks.js.map +1 -0
- package/dist/decorators/Indexer.d.ts +11 -0
- package/dist/decorators/Indexer.d.ts.map +1 -0
- package/dist/decorators/Indexer.js +21 -0
- package/dist/decorators/Indexer.js.map +1 -0
- package/dist/decorators/InjectEntityManager.d.ts +3 -0
- package/dist/decorators/InjectEntityManager.d.ts.map +1 -0
- package/dist/decorators/InjectEntityManager.js +13 -0
- package/dist/decorators/InjectEntityManager.js.map +1 -0
- package/dist/decorators/InjectRepository.d.ts +4 -0
- package/dist/decorators/InjectRepository.d.ts.map +1 -0
- package/dist/decorators/InjectRepository.js +22 -0
- package/dist/decorators/InjectRepository.js.map +1 -0
- package/dist/decorators/ManyToMany.d.ts +21 -0
- package/dist/decorators/ManyToMany.d.ts.map +1 -0
- package/dist/decorators/ManyToMany.js +29 -0
- package/dist/decorators/ManyToMany.js.map +1 -0
- package/dist/decorators/ManyToOne.d.ts +27 -0
- package/dist/decorators/ManyToOne.d.ts.map +1 -0
- package/dist/decorators/ManyToOne.js +35 -0
- package/dist/decorators/ManyToOne.js.map +1 -0
- package/dist/decorators/OneToMany.d.ts +17 -0
- package/dist/decorators/OneToMany.d.ts.map +1 -0
- package/dist/decorators/OneToMany.js +29 -0
- package/dist/decorators/OneToMany.js.map +1 -0
- package/dist/decorators/OneToOne.d.ts +20 -0
- package/dist/decorators/OneToOne.d.ts.map +1 -0
- package/dist/decorators/OneToOne.js +30 -0
- package/dist/decorators/OneToOne.js.map +1 -0
- package/dist/decorators/PrimaryColumn.d.ts +3 -0
- package/dist/decorators/PrimaryColumn.d.ts.map +1 -0
- package/dist/decorators/PrimaryColumn.js +14 -0
- package/dist/decorators/PrimaryColumn.js.map +1 -0
- package/dist/decorators/PrimaryGeneratedColumn.d.ts +3 -0
- package/dist/decorators/PrimaryGeneratedColumn.d.ts.map +1 -0
- package/dist/decorators/PrimaryGeneratedColumn.js +17 -0
- package/dist/decorators/PrimaryGeneratedColumn.js.map +1 -0
- package/dist/decorators/Transactional.d.ts +15 -0
- package/dist/decorators/Transactional.d.ts.map +1 -0
- package/dist/decorators/Transactional.js +76 -0
- package/dist/decorators/Transactional.js.map +1 -0
- package/dist/decorators/UniqueIndex.d.ts +7 -0
- package/dist/decorators/UniqueIndex.d.ts.map +1 -0
- package/dist/decorators/UniqueIndex.js +12 -0
- package/dist/decorators/UniqueIndex.js.map +1 -0
- package/dist/decorators/Validation.d.ts +15 -0
- package/dist/decorators/Validation.d.ts.map +1 -0
- package/dist/decorators/Validation.js +64 -0
- package/dist/decorators/Validation.js.map +1 -0
- package/dist/decorators/Version.d.ts +3 -0
- package/dist/decorators/Version.d.ts.map +1 -0
- package/dist/decorators/Version.js +17 -0
- package/dist/decorators/Version.js.map +1 -0
- package/dist/decorators/index.d.ts +19 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/index.js +35 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/dialects/ConnectionLeakDetector.d.ts +19 -0
- package/dist/dialects/ConnectionLeakDetector.d.ts.map +1 -0
- package/dist/dialects/ConnectionLeakDetector.js +50 -0
- package/dist/dialects/ConnectionLeakDetector.js.map +1 -0
- package/dist/dialects/EntityNotFound.d.ts +4 -0
- package/dist/dialects/EntityNotFound.d.ts.map +1 -0
- package/dist/dialects/EntityNotFound.js +10 -0
- package/dist/dialects/EntityNotFound.js.map +1 -0
- package/dist/dialects/FindOption.d.ts +20 -0
- package/dist/dialects/FindOption.d.ts.map +1 -0
- package/dist/dialects/FindOption.js +3 -0
- package/dist/dialects/FindOption.js.map +1 -0
- package/dist/dialects/IConnection.d.ts +7 -0
- package/dist/dialects/IConnection.d.ts.map +1 -0
- package/dist/dialects/IConnection.js +3 -0
- package/dist/dialects/IConnection.js.map +1 -0
- package/dist/dialects/IDataSource.d.ts +12 -0
- package/dist/dialects/IDataSource.d.ts.map +1 -0
- package/dist/dialects/IDataSource.js +3 -0
- package/dist/dialects/IDataSource.js.map +1 -0
- package/dist/dialects/IOrderBy.d.ts +4 -0
- package/dist/dialects/IOrderBy.d.ts.map +1 -0
- package/dist/dialects/IOrderBy.js +3 -0
- package/dist/dialects/IOrderBy.js.map +1 -0
- package/dist/dialects/IQueryEngine.d.ts +15 -0
- package/dist/dialects/IQueryEngine.d.ts.map +1 -0
- package/dist/dialects/IQueryEngine.js +7 -0
- package/dist/dialects/IQueryEngine.js.map +1 -0
- package/dist/dialects/ISelectOption.d.ts +7 -0
- package/dist/dialects/ISelectOption.d.ts.map +1 -0
- package/dist/dialects/ISelectOption.js +3 -0
- package/dist/dialects/ISelectOption.js.map +1 -0
- package/dist/dialects/ITenantMigrationRunner.d.ts +16 -0
- package/dist/dialects/ITenantMigrationRunner.d.ts.map +1 -0
- package/dist/dialects/ITenantMigrationRunner.js +3 -0
- package/dist/dialects/ITenantMigrationRunner.js.map +1 -0
- package/dist/dialects/ITxEngine.d.ts +9 -0
- package/dist/dialects/ITxEngine.d.ts.map +1 -0
- package/dist/dialects/ITxEngine.js +3 -0
- package/dist/dialects/ITxEngine.js.map +1 -0
- package/dist/dialects/IsolationLevel.d.ts +2 -0
- package/dist/dialects/IsolationLevel.d.ts.map +1 -0
- package/dist/dialects/IsolationLevel.js +3 -0
- package/dist/dialects/IsolationLevel.js.map +1 -0
- package/dist/dialects/ReplicationRouter.d.ts +28 -0
- package/dist/dialects/ReplicationRouter.d.ts.map +1 -0
- package/dist/dialects/ReplicationRouter.js +64 -0
- package/dist/dialects/ReplicationRouter.js.map +1 -0
- package/dist/dialects/SqlDriver.d.ts +43 -0
- package/dist/dialects/SqlDriver.d.ts.map +1 -0
- package/dist/dialects/SqlDriver.js +3 -0
- package/dist/dialects/SqlDriver.js.map +1 -0
- package/dist/dialects/TransactionSessionManager.d.ts +21 -0
- package/dist/dialects/TransactionSessionManager.d.ts.map +1 -0
- package/dist/dialects/TransactionSessionManager.js +112 -0
- package/dist/dialects/TransactionSessionManager.js.map +1 -0
- package/dist/dialects/index.d.ts +32 -0
- package/dist/dialects/index.d.ts.map +1 -0
- package/dist/dialects/index.js +65 -0
- package/dist/dialects/index.js.map +1 -0
- package/dist/dialects/mysql/BaseSchema.d.ts +9 -0
- package/dist/dialects/mysql/BaseSchema.d.ts.map +1 -0
- package/dist/dialects/mysql/BaseSchema.js +3 -0
- package/dist/dialects/mysql/BaseSchema.js.map +1 -0
- package/dist/dialects/mysql/Connection.d.ts +9 -0
- package/dist/dialects/mysql/Connection.d.ts.map +1 -0
- package/dist/dialects/mysql/Connection.js +3 -0
- package/dist/dialects/mysql/Connection.js.map +1 -0
- package/dist/dialects/mysql/ConnectionNotFound.d.ts +4 -0
- package/dist/dialects/mysql/ConnectionNotFound.d.ts.map +1 -0
- package/dist/dialects/mysql/ConnectionNotFound.js +10 -0
- package/dist/dialects/mysql/ConnectionNotFound.js.map +1 -0
- package/dist/dialects/mysql/MySqlConnectionError.d.ts +4 -0
- package/dist/dialects/mysql/MySqlConnectionError.d.ts.map +1 -0
- package/dist/dialects/mysql/MySqlConnectionError.js +10 -0
- package/dist/dialects/mysql/MySqlConnectionError.js.map +1 -0
- package/dist/dialects/mysql/MySqlConnector.d.ts +26 -0
- package/dist/dialects/mysql/MySqlConnector.d.ts.map +1 -0
- package/dist/dialects/mysql/MySqlConnector.js +195 -0
- package/dist/dialects/mysql/MySqlConnector.js.map +1 -0
- package/dist/dialects/mysql/MySqlDataSource.d.ts +17 -0
- package/dist/dialects/mysql/MySqlDataSource.d.ts.map +1 -0
- package/dist/dialects/mysql/MySqlDataSource.js +63 -0
- package/dist/dialects/mysql/MySqlDataSource.js.map +1 -0
- package/dist/dialects/mysql/MySqlDriver.d.ts +49 -0
- package/dist/dialects/mysql/MySqlDriver.d.ts.map +1 -0
- package/dist/dialects/mysql/MySqlDriver.js +260 -0
- package/dist/dialects/mysql/MySqlDriver.js.map +1 -0
- package/dist/dialects/mysql/MySqlTenantMigrationRunner.d.ts +11 -0
- package/dist/dialects/mysql/MySqlTenantMigrationRunner.d.ts.map +1 -0
- package/dist/dialects/mysql/MySqlTenantMigrationRunner.js +31 -0
- package/dist/dialects/mysql/MySqlTenantMigrationRunner.js.map +1 -0
- package/dist/dialects/mysql/MysqlConnection.d.ts +12 -0
- package/dist/dialects/mysql/MysqlConnection.d.ts.map +1 -0
- package/dist/dialects/mysql/MysqlConnection.js +26 -0
- package/dist/dialects/mysql/MysqlConnection.js.map +1 -0
- package/dist/dialects/mysql/PoolNotFound.d.ts +4 -0
- package/dist/dialects/mysql/PoolNotFound.d.ts.map +1 -0
- package/dist/dialects/mysql/PoolNotFound.js +10 -0
- package/dist/dialects/mysql/PoolNotFound.js.map +1 -0
- package/dist/dialects/mysql/index.d.ts +10 -0
- package/dist/dialects/mysql/index.d.ts.map +1 -0
- package/dist/dialects/mysql/index.js +26 -0
- package/dist/dialects/mysql/index.js.map +1 -0
- package/dist/dialects/postgres/ConnectionNotFound.d.ts +4 -0
- package/dist/dialects/postgres/ConnectionNotFound.d.ts.map +1 -0
- package/dist/dialects/postgres/ConnectionNotFound.js +10 -0
- package/dist/dialects/postgres/ConnectionNotFound.js.map +1 -0
- package/dist/dialects/postgres/PoolNotFound.d.ts +4 -0
- package/dist/dialects/postgres/PoolNotFound.d.ts.map +1 -0
- package/dist/dialects/postgres/PoolNotFound.js +10 -0
- package/dist/dialects/postgres/PoolNotFound.js.map +1 -0
- package/dist/dialects/postgres/PostgresConnection.d.ts +12 -0
- package/dist/dialects/postgres/PostgresConnection.d.ts.map +1 -0
- package/dist/dialects/postgres/PostgresConnection.js +26 -0
- package/dist/dialects/postgres/PostgresConnection.js.map +1 -0
- package/dist/dialects/postgres/PostgresConnectionError.d.ts +4 -0
- package/dist/dialects/postgres/PostgresConnectionError.d.ts.map +1 -0
- package/dist/dialects/postgres/PostgresConnectionError.js +10 -0
- package/dist/dialects/postgres/PostgresConnectionError.js.map +1 -0
- package/dist/dialects/postgres/PostgresConnector.d.ts +24 -0
- package/dist/dialects/postgres/PostgresConnector.d.ts.map +1 -0
- package/dist/dialects/postgres/PostgresConnector.js +158 -0
- package/dist/dialects/postgres/PostgresConnector.js.map +1 -0
- package/dist/dialects/postgres/PostgresDataSource.d.ts +18 -0
- package/dist/dialects/postgres/PostgresDataSource.d.ts.map +1 -0
- package/dist/dialects/postgres/PostgresDataSource.js +66 -0
- package/dist/dialects/postgres/PostgresDataSource.js.map +1 -0
- package/dist/dialects/postgres/PostgresDriver.d.ts +71 -0
- package/dist/dialects/postgres/PostgresDriver.d.ts.map +1 -0
- package/dist/dialects/postgres/PostgresDriver.js +440 -0
- package/dist/dialects/postgres/PostgresDriver.js.map +1 -0
- package/dist/dialects/postgres/PostgresTenantMigrationRunner.d.ts +18 -0
- package/dist/dialects/postgres/PostgresTenantMigrationRunner.d.ts.map +1 -0
- package/dist/dialects/postgres/PostgresTenantMigrationRunner.js +78 -0
- package/dist/dialects/postgres/PostgresTenantMigrationRunner.js.map +1 -0
- package/dist/dialects/postgres/index.d.ts +8 -0
- package/dist/dialects/postgres/index.d.ts.map +1 -0
- package/dist/dialects/postgres/index.js +26 -0
- package/dist/dialects/postgres/index.js.map +1 -0
- package/dist/dialects/sqlite/ConnectionNotFound.d.ts +4 -0
- package/dist/dialects/sqlite/ConnectionNotFound.d.ts.map +1 -0
- package/dist/dialects/sqlite/ConnectionNotFound.js +10 -0
- package/dist/dialects/sqlite/ConnectionNotFound.js.map +1 -0
- package/dist/dialects/sqlite/SqliteConnection.d.ts +12 -0
- package/dist/dialects/sqlite/SqliteConnection.d.ts.map +1 -0
- package/dist/dialects/sqlite/SqliteConnection.js +23 -0
- package/dist/dialects/sqlite/SqliteConnection.js.map +1 -0
- package/dist/dialects/sqlite/SqliteConnectionError.d.ts +4 -0
- package/dist/dialects/sqlite/SqliteConnectionError.d.ts.map +1 -0
- package/dist/dialects/sqlite/SqliteConnectionError.js +10 -0
- package/dist/dialects/sqlite/SqliteConnectionError.js.map +1 -0
- package/dist/dialects/sqlite/SqliteConnector.d.ts +24 -0
- package/dist/dialects/sqlite/SqliteConnector.d.ts.map +1 -0
- package/dist/dialects/sqlite/SqliteConnector.js +119 -0
- package/dist/dialects/sqlite/SqliteConnector.js.map +1 -0
- package/dist/dialects/sqlite/SqliteDataSource.d.ts +18 -0
- package/dist/dialects/sqlite/SqliteDataSource.d.ts.map +1 -0
- package/dist/dialects/sqlite/SqliteDataSource.js +56 -0
- package/dist/dialects/sqlite/SqliteDataSource.js.map +1 -0
- package/dist/dialects/sqlite/SqliteDriver.d.ts +49 -0
- package/dist/dialects/sqlite/SqliteDriver.d.ts.map +1 -0
- package/dist/dialects/sqlite/SqliteDriver.js +234 -0
- package/dist/dialects/sqlite/SqliteDriver.js.map +1 -0
- package/dist/dialects/sqlite/SqliteTenantMigrationRunner.d.ts +11 -0
- package/dist/dialects/sqlite/SqliteTenantMigrationRunner.d.ts.map +1 -0
- package/dist/dialects/sqlite/SqliteTenantMigrationRunner.js +31 -0
- package/dist/dialects/sqlite/SqliteTenantMigrationRunner.js.map +1 -0
- package/dist/dialects/sqlite/index.d.ts +7 -0
- package/dist/dialects/sqlite/index.d.ts.map +1 -0
- package/dist/dialects/sqlite/index.js +23 -0
- package/dist/dialects/sqlite/index.js.map +1 -0
- package/dist/errors/AdvisoryLockError.d.ts +5 -0
- package/dist/errors/AdvisoryLockError.d.ts.map +1 -0
- package/dist/errors/AdvisoryLockError.js +13 -0
- package/dist/errors/AdvisoryLockError.js.map +1 -0
- package/dist/errors/DatabaseConnectionFailedError.d.ts +5 -0
- package/dist/errors/DatabaseConnectionFailedError.d.ts.map +1 -0
- package/dist/errors/DatabaseConnectionFailedError.js +11 -0
- package/dist/errors/DatabaseConnectionFailedError.js.map +1 -0
- package/dist/errors/DatabaseNotConnectedError.d.ts +5 -0
- package/dist/errors/DatabaseNotConnectedError.d.ts.map +1 -0
- package/dist/errors/DatabaseNotConnectedError.js +11 -0
- package/dist/errors/DatabaseNotConnectedError.js.map +1 -0
- package/dist/errors/DeleteWithoutConditionsError.d.ts +5 -0
- package/dist/errors/DeleteWithoutConditionsError.d.ts.map +1 -0
- package/dist/errors/DeleteWithoutConditionsError.js +13 -0
- package/dist/errors/DeleteWithoutConditionsError.js.map +1 -0
- package/dist/errors/EntityMetadataNotFoundError.d.ts +5 -0
- package/dist/errors/EntityMetadataNotFoundError.d.ts.map +1 -0
- package/dist/errors/EntityMetadataNotFoundError.js +13 -0
- package/dist/errors/EntityMetadataNotFoundError.js.map +1 -0
- package/dist/errors/EntityNotFoundError.d.ts +5 -0
- package/dist/errors/EntityNotFoundError.d.ts.map +1 -0
- package/dist/errors/EntityNotFoundError.js +13 -0
- package/dist/errors/EntityNotFoundError.js.map +1 -0
- package/dist/errors/Exception.d.ts +5 -0
- package/dist/errors/Exception.d.ts.map +1 -0
- package/dist/errors/Exception.js +11 -0
- package/dist/errors/Exception.js.map +1 -0
- package/dist/errors/InvalidQueryError.d.ts +5 -0
- package/dist/errors/InvalidQueryError.d.ts.map +1 -0
- package/dist/errors/InvalidQueryError.js +13 -0
- package/dist/errors/InvalidQueryError.js.map +1 -0
- package/dist/errors/NotSupportedDatabaseTypeError.d.ts +5 -0
- package/dist/errors/NotSupportedDatabaseTypeError.d.ts.map +1 -0
- package/dist/errors/NotSupportedDatabaseTypeError.js +11 -0
- package/dist/errors/NotSupportedDatabaseTypeError.js.map +1 -0
- package/dist/errors/OrmError.d.ts +6 -0
- package/dist/errors/OrmError.d.ts.map +1 -0
- package/dist/errors/OrmError.js +12 -0
- package/dist/errors/OrmError.js.map +1 -0
- package/dist/errors/OrmErrorCode.d.ts +16 -0
- package/dist/errors/OrmErrorCode.d.ts.map +1 -0
- package/dist/errors/OrmErrorCode.js +20 -0
- package/dist/errors/OrmErrorCode.js.map +1 -0
- package/dist/errors/PrimaryKeyNotFoundError.d.ts +5 -0
- package/dist/errors/PrimaryKeyNotFoundError.d.ts.map +1 -0
- package/dist/errors/PrimaryKeyNotFoundError.js +13 -0
- package/dist/errors/PrimaryKeyNotFoundError.js.map +1 -0
- package/dist/errors/QueryTimeoutError.d.ts +5 -0
- package/dist/errors/QueryTimeoutError.d.ts.map +1 -0
- package/dist/errors/QueryTimeoutError.js +13 -0
- package/dist/errors/QueryTimeoutError.js.map +1 -0
- package/dist/errors/TransactionError.d.ts +5 -0
- package/dist/errors/TransactionError.d.ts.map +1 -0
- package/dist/errors/TransactionError.js +13 -0
- package/dist/errors/TransactionError.js.map +1 -0
- package/dist/errors/ValidationError.d.ts +6 -0
- package/dist/errors/ValidationError.d.ts.map +1 -0
- package/dist/errors/ValidationError.js +13 -0
- package/dist/errors/ValidationError.js.map +1 -0
- package/dist/errors/index.d.ts +16 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +32 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/metadata/LayeredMetadataScanner.d.ts +32 -0
- package/dist/metadata/LayeredMetadataScanner.d.ts.map +1 -0
- package/dist/metadata/LayeredMetadataScanner.js +119 -0
- package/dist/metadata/LayeredMetadataScanner.js.map +1 -0
- package/dist/metadata/LayeredMetadataStore.d.ts +30 -0
- package/dist/metadata/LayeredMetadataStore.d.ts.map +1 -0
- package/dist/metadata/LayeredMetadataStore.js +150 -0
- package/dist/metadata/LayeredMetadataStore.js.map +1 -0
- package/dist/metadata/MetadataContext.d.ts +11 -0
- package/dist/metadata/MetadataContext.d.ts.map +1 -0
- package/dist/metadata/MetadataContext.js +23 -0
- package/dist/metadata/MetadataContext.js.map +1 -0
- package/dist/metadata/MetadataLayer.d.ts +27 -0
- package/dist/metadata/MetadataLayer.d.ts.map +1 -0
- package/dist/metadata/MetadataLayer.js +78 -0
- package/dist/metadata/MetadataLayer.js.map +1 -0
- package/dist/metadata/MetadataPath.d.ts +24 -0
- package/dist/metadata/MetadataPath.d.ts.map +1 -0
- package/dist/metadata/MetadataPath.js +104 -0
- package/dist/metadata/MetadataPath.js.map +1 -0
- package/dist/metadata/MultiTenantMetadataManager.d.ts +27 -0
- package/dist/metadata/MultiTenantMetadataManager.d.ts.map +1 -0
- package/dist/metadata/MultiTenantMetadataManager.js +69 -0
- package/dist/metadata/MultiTenantMetadataManager.js.map +1 -0
- package/dist/metadata/index.d.ts +7 -0
- package/dist/metadata/index.d.ts.map +1 -0
- package/dist/metadata/index.js +23 -0
- package/dist/metadata/index.js.map +1 -0
- package/dist/migration/Migration.d.ts +11 -0
- package/dist/migration/Migration.d.ts.map +1 -0
- package/dist/migration/Migration.js +10 -0
- package/dist/migration/Migration.js.map +1 -0
- package/dist/migration/MigrationCli.d.ts +25 -0
- package/dist/migration/MigrationCli.d.ts.map +1 -0
- package/dist/migration/MigrationCli.js +108 -0
- package/dist/migration/MigrationCli.js.map +1 -0
- package/dist/migration/MigrationRunner.d.ts +47 -0
- package/dist/migration/MigrationRunner.d.ts.map +1 -0
- package/dist/migration/MigrationRunner.js +182 -0
- package/dist/migration/MigrationRunner.js.map +1 -0
- package/dist/migration/index.d.ts +4 -0
- package/dist/migration/index.d.ts.map +1 -0
- package/dist/migration/index.js +20 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/scanner/ColumnScanner.d.ts +16 -0
- package/dist/scanner/ColumnScanner.d.ts.map +1 -0
- package/dist/scanner/ColumnScanner.js +30 -0
- package/dist/scanner/ColumnScanner.js.map +1 -0
- package/dist/scanner/EntityScanner.d.ts +14 -0
- package/dist/scanner/EntityScanner.d.ts.map +1 -0
- package/dist/scanner/EntityScanner.js +38 -0
- package/dist/scanner/EntityScanner.js.map +1 -0
- package/dist/scanner/ManyToManyScanner.d.ts +9 -0
- package/dist/scanner/ManyToManyScanner.d.ts.map +1 -0
- package/dist/scanner/ManyToManyScanner.js +39 -0
- package/dist/scanner/ManyToManyScanner.js.map +1 -0
- package/dist/scanner/ManyToOneScanner.d.ts +9 -0
- package/dist/scanner/ManyToOneScanner.d.ts.map +1 -0
- package/dist/scanner/ManyToOneScanner.js +38 -0
- package/dist/scanner/ManyToOneScanner.js.map +1 -0
- package/dist/scanner/MetadataScanner.d.ts +45 -0
- package/dist/scanner/MetadataScanner.d.ts.map +1 -0
- package/dist/scanner/MetadataScanner.js +200 -0
- package/dist/scanner/MetadataScanner.js.map +1 -0
- package/dist/scanner/OneToManyScanner.d.ts +9 -0
- package/dist/scanner/OneToManyScanner.d.ts.map +1 -0
- package/dist/scanner/OneToManyScanner.js +39 -0
- package/dist/scanner/OneToManyScanner.js.map +1 -0
- package/dist/scanner/OneToOneScanner.d.ts +9 -0
- package/dist/scanner/OneToOneScanner.d.ts.map +1 -0
- package/dist/scanner/OneToOneScanner.js +39 -0
- package/dist/scanner/OneToOneScanner.js.map +1 -0
- package/dist/scanner/index.d.ts +9 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +27 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/types/CascadeType.d.ts +5 -0
- package/dist/types/CascadeType.d.ts.map +1 -0
- package/dist/types/CascadeType.js +19 -0
- package/dist/types/CascadeType.js.map +1 -0
- package/dist/types/ColumnPaths.d.ts +7 -0
- package/dist/types/ColumnPaths.d.ts.map +1 -0
- package/dist/types/ColumnPaths.js +3 -0
- package/dist/types/ColumnPaths.js.map +1 -0
- package/dist/types/DeepPartial.d.ts +4 -0
- package/dist/types/DeepPartial.d.ts.map +1 -0
- package/dist/types/DeepPartial.js +3 -0
- package/dist/types/DeepPartial.js.map +1 -0
- package/dist/types/DeleteResult.d.ts +4 -0
- package/dist/types/DeleteResult.d.ts.map +1 -0
- package/dist/types/DeleteResult.js +3 -0
- package/dist/types/DeleteResult.js.map +1 -0
- package/dist/types/EntityResult.d.ts +3 -0
- package/dist/types/EntityResult.d.ts.map +1 -0
- package/dist/types/EntityResult.js +3 -0
- package/dist/types/EntityResult.js.map +1 -0
- package/dist/types/FindCondition.d.ts +16 -0
- package/dist/types/FindCondition.d.ts.map +1 -0
- package/dist/types/FindCondition.js +3 -0
- package/dist/types/FindCondition.js.map +1 -0
- package/dist/types/OrderByOption.d.ts +5 -0
- package/dist/types/OrderByOption.d.ts.map +1 -0
- package/dist/types/OrderByOption.js +3 -0
- package/dist/types/OrderByOption.js.map +1 -0
- package/dist/types/QueryResult.d.ts +5 -0
- package/dist/types/QueryResult.d.ts.map +1 -0
- package/dist/types/QueryResult.js +3 -0
- package/dist/types/QueryResult.js.map +1 -0
- package/dist/types/SchemaOption.d.ts +3 -0
- package/dist/types/SchemaOption.d.ts.map +1 -0
- package/dist/types/SchemaOption.js +3 -0
- package/dist/types/SchemaOption.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +25 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/Logger.d.ts +15 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +75 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/ReflectManager.d.ts +12 -0
- package/dist/utils/ReflectManager.d.ts.map +1 -0
- package/dist/utils/ReflectManager.js +34 -0
- package/dist/utils/ReflectManager.js.map +1 -0
- package/dist/utils/camelToSnakeCase.d.ts +2 -0
- package/dist/utils/camelToSnakeCase.d.ts.map +1 -0
- package/dist/utils/camelToSnakeCase.js +7 -0
- package/dist/utils/camelToSnakeCase.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/scanner.d.ts +2 -0
- package/dist/utils/scanner.d.ts.map +1 -0
- package/dist/utils/scanner.js +8 -0
- package/dist/utils/scanner.js.map +1 -0
- package/dist/utils/types.d.ts +5 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +3 -0
- package/dist/utils/types.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transactional.d.ts","sourceRoot":"","sources":["../../src/decorators/Transactional.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AASzE,oBAAY,sBAAsB;IAChC,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAOD,eAAO,MAAM,kBAAkB,8CACqB,CAAC;AAiBrD,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,2BAA2B,GAAG,oBAAoB,GAC3D,eAAe,CA4EjB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transactionStorage = exports.TransactionPropagation = void 0;
|
|
4
|
+
exports.Transactional = Transactional;
|
|
5
|
+
const async_hooks_1 = require("async_hooks");
|
|
6
|
+
const TransactionSessionManager_1 = require("../dialects/TransactionSessionManager");
|
|
7
|
+
var TransactionPropagation;
|
|
8
|
+
(function (TransactionPropagation) {
|
|
9
|
+
TransactionPropagation["REQUIRED"] = "REQUIRED";
|
|
10
|
+
TransactionPropagation["REQUIRES_NEW"] = "REQUIRES_NEW";
|
|
11
|
+
TransactionPropagation["NESTED"] = "NESTED";
|
|
12
|
+
})(TransactionPropagation || (exports.TransactionPropagation = TransactionPropagation = {}));
|
|
13
|
+
exports.transactionStorage = new async_hooks_1.AsyncLocalStorage();
|
|
14
|
+
let savepointCounter = 0;
|
|
15
|
+
function Transactional(options) {
|
|
16
|
+
const resolved = typeof options === "string"
|
|
17
|
+
? { isolationLevel: options }
|
|
18
|
+
: options ?? {};
|
|
19
|
+
const isolationLevel = resolved.isolationLevel;
|
|
20
|
+
const propagation = resolved.propagation ?? TransactionPropagation.REQUIRED;
|
|
21
|
+
return (_target, _propertyKey, descriptor) => {
|
|
22
|
+
const originalMethod = descriptor.value;
|
|
23
|
+
descriptor.value = async function (...args) {
|
|
24
|
+
const existingSession = exports.transactionStorage.getStore();
|
|
25
|
+
if (propagation === TransactionPropagation.REQUIRES_NEW) {
|
|
26
|
+
const session = new TransactionSessionManager_1.TransactionSessionManager();
|
|
27
|
+
await session.connect();
|
|
28
|
+
await session.startTransaction(isolationLevel);
|
|
29
|
+
try {
|
|
30
|
+
const result = await exports.transactionStorage.run(session, () => originalMethod.apply(this, args));
|
|
31
|
+
await session.commit();
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
await session.rollback();
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
await session.close();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (propagation === TransactionPropagation.NESTED && existingSession) {
|
|
43
|
+
const savepointName = `sp_${++savepointCounter}`;
|
|
44
|
+
await existingSession.savepoint(savepointName);
|
|
45
|
+
try {
|
|
46
|
+
const result = await originalMethod.apply(this, args);
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
await existingSession.rollbackTo(savepointName);
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (existingSession) {
|
|
55
|
+
return originalMethod.apply(this, args);
|
|
56
|
+
}
|
|
57
|
+
const session = new TransactionSessionManager_1.TransactionSessionManager();
|
|
58
|
+
await session.connect();
|
|
59
|
+
await session.startTransaction(isolationLevel);
|
|
60
|
+
try {
|
|
61
|
+
const result = await exports.transactionStorage.run(session, () => originalMethod.apply(this, args));
|
|
62
|
+
await session.commit();
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
await session.rollback();
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
await session.close();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
return descriptor;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=Transactional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transactional.js","sourceRoot":"","sources":["../../src/decorators/Transactional.ts"],"names":[],"mappings":";;;AA8CA,sCA8EC;AA3HD,6CAAgD;AAChD,qFAAkF;AAUlF,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,+CAAqB,CAAA;IACrB,uDAA6B,CAAA;IAC7B,2CAAiB,CAAA;AACnB,CAAC,EAJW,sBAAsB,sCAAtB,sBAAsB,QAIjC;AAYY,QAAA,kBAAkB,GAC7B,IAAI,+BAAiB,EAA6B,CAAC;AAErD,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAezB,SAAgB,aAAa,CAC3B,OAA4D;IAE5D,MAAM,QAAQ,GACZ,OAAO,OAAO,KAAK,QAAQ;QACzB,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE;QAC7B,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;IAEpB,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,sBAAsB,CAAC,QAAQ,CAAC;IAE5E,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,UAA8B,EAAE,EAAE;QAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAsB,GAAG,IAAW;YAC1D,MAAM,eAAe,GAAG,0BAAkB,CAAC,QAAQ,EAAE,CAAC;YAGtD,IAAI,WAAW,KAAK,sBAAsB,CAAC,YAAY,EAAE,CAAC;gBACxD,MAAM,OAAO,GAAG,IAAI,qDAAyB,EAAE,CAAC;gBAChD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBAE/C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,0BAAkB,CAAC,GAAG,CACzC,OAAO,EACP,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CACvC,CAAC;oBACF,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;oBACvB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACzB,MAAM,KAAK,CAAC;gBACd,CAAC;wBAAS,CAAC;oBACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;YAGD,IAAI,WAAW,KAAK,sBAAsB,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrE,MAAM,aAAa,GAAG,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACjD,MAAM,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAE/C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACtD,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBAChD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAGD,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,qDAAyB,EAAE,CAAC;YAChD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAE/C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,0BAAkB,CAAC,GAAG,CACzC,OAAO,EACP,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CACvC,CAAC;gBACF,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface UniqueIndexMetadata {
|
|
2
|
+
columns: string[];
|
|
3
|
+
name?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const UNIQUE_INDEX_TOKEN: unique symbol;
|
|
6
|
+
export declare function UniqueIndex(columns: string[], name?: string): ClassDecorator;
|
|
7
|
+
//# sourceMappingURL=UniqueIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UniqueIndex.d.ts","sourceRoot":"","sources":["../../src/decorators/UniqueIndex.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,kBAAkB,eAAqC,CAAC;AAwBrE,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,cAAc,CAYhB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UNIQUE_INDEX_TOKEN = void 0;
|
|
4
|
+
exports.UniqueIndex = UniqueIndex;
|
|
5
|
+
exports.UNIQUE_INDEX_TOKEN = Symbol.for("STG_ORM_UNIQUE_INDEX");
|
|
6
|
+
function UniqueIndex(columns, name) {
|
|
7
|
+
return (target) => {
|
|
8
|
+
const existing = Reflect.getMetadata(exports.UNIQUE_INDEX_TOKEN, target) ?? [];
|
|
9
|
+
Reflect.defineMetadata(exports.UNIQUE_INDEX_TOKEN, [...existing, { columns, name }], target);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=UniqueIndex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UniqueIndex.js","sourceRoot":"","sources":["../../src/decorators/UniqueIndex.ts"],"names":[],"mappings":";;;AA6BA,kCAeC;AAvCY,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAwBrE,SAAgB,WAAW,CACzB,OAAiB,EACjB,IAAa;IAGb,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAExD,OAAO,CAAC,cAAc,CACpB,0BAAkB,EAClB,CAAC,GAAG,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAChC,MAAM,CACP,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
export declare const VALIDATION_TOKEN: unique symbol;
|
|
3
|
+
export type ConstraintType = "notNull" | "minLength" | "maxLength" | "min" | "max";
|
|
4
|
+
export type ValidationMetadata = {
|
|
5
|
+
propertyKey: string;
|
|
6
|
+
constraint: ConstraintType;
|
|
7
|
+
value?: number;
|
|
8
|
+
message: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function NotNull(): PropertyDecorator;
|
|
11
|
+
export declare function MinLength(min: number): PropertyDecorator;
|
|
12
|
+
export declare function MaxLength(max: number): PropertyDecorator;
|
|
13
|
+
export declare function Min(min: number): PropertyDecorator;
|
|
14
|
+
export declare function Max(max: number): PropertyDecorator;
|
|
15
|
+
//# sourceMappingURL=Validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/decorators/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,eAAO,MAAM,gBAAgB,eAA+B,CAAC;AAE7D,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,WAAW,GACX,WAAW,GACX,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAmBF,wBAAgB,OAAO,IAAI,iBAAiB,CAQ3C;AAKD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CASxD;AAKD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CASxD;AAKD,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CASlD;AAKD,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CASlD"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VALIDATION_TOKEN = void 0;
|
|
4
|
+
exports.NotNull = NotNull;
|
|
5
|
+
exports.MinLength = MinLength;
|
|
6
|
+
exports.MaxLength = MaxLength;
|
|
7
|
+
exports.Min = Min;
|
|
8
|
+
exports.Max = Max;
|
|
9
|
+
require("reflect-metadata");
|
|
10
|
+
exports.VALIDATION_TOKEN = Symbol.for("STG_VALIDATION");
|
|
11
|
+
function addValidation(target, propertyKey, metadata) {
|
|
12
|
+
const existing = Reflect.getMetadata(exports.VALIDATION_TOKEN, target.constructor) ?? [];
|
|
13
|
+
Reflect.defineMetadata(exports.VALIDATION_TOKEN, [...existing, metadata], target.constructor);
|
|
14
|
+
}
|
|
15
|
+
function NotNull() {
|
|
16
|
+
return (target, propertyKey) => {
|
|
17
|
+
addValidation(target, propertyKey.toString(), {
|
|
18
|
+
propertyKey: propertyKey.toString(),
|
|
19
|
+
constraint: "notNull",
|
|
20
|
+
message: `${propertyKey.toString()} must not be null or undefined`,
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function MinLength(min) {
|
|
25
|
+
return (target, propertyKey) => {
|
|
26
|
+
addValidation(target, propertyKey.toString(), {
|
|
27
|
+
propertyKey: propertyKey.toString(),
|
|
28
|
+
constraint: "minLength",
|
|
29
|
+
value: min,
|
|
30
|
+
message: `${propertyKey.toString()} must be at least ${min} characters long`,
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function MaxLength(max) {
|
|
35
|
+
return (target, propertyKey) => {
|
|
36
|
+
addValidation(target, propertyKey.toString(), {
|
|
37
|
+
propertyKey: propertyKey.toString(),
|
|
38
|
+
constraint: "maxLength",
|
|
39
|
+
value: max,
|
|
40
|
+
message: `${propertyKey.toString()} must be at most ${max} characters long`,
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function Min(min) {
|
|
45
|
+
return (target, propertyKey) => {
|
|
46
|
+
addValidation(target, propertyKey.toString(), {
|
|
47
|
+
propertyKey: propertyKey.toString(),
|
|
48
|
+
constraint: "min",
|
|
49
|
+
value: min,
|
|
50
|
+
message: `${propertyKey.toString()} must be at least ${min}`,
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function Max(max) {
|
|
55
|
+
return (target, propertyKey) => {
|
|
56
|
+
addValidation(target, propertyKey.toString(), {
|
|
57
|
+
propertyKey: propertyKey.toString(),
|
|
58
|
+
constraint: "max",
|
|
59
|
+
value: max,
|
|
60
|
+
message: `${propertyKey.toString()} must be at most ${max}`,
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=Validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../src/decorators/Validation.ts"],"names":[],"mappings":";;;AAoCA,0BAQC;AAKD,8BASC;AAKD,8BASC;AAKD,kBASC;AAKD,kBASC;AApGD,4BAA0B;AAGb,QAAA,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAgB7D,SAAS,aAAa,CACpB,MAAc,EACd,WAAmB,EACnB,QAA4B;IAE5B,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,wBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAClE,OAAO,CAAC,cAAc,CACpB,wBAAgB,EAChB,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,EACvB,MAAM,CAAC,WAAW,CACnB,CAAC;AACJ,CAAC;AAKD,SAAgB,OAAO;IACrB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE;YAC5C,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,gCAAgC;SACnE,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAKD,SAAgB,SAAS,CAAC,GAAW;IACnC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE;YAC5C,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,kBAAkB;SAC7E,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAKD,SAAgB,SAAS,CAAC,GAAW;IACnC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE;YAC5C,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,oBAAoB,GAAG,kBAAkB;SAC5E,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAKD,SAAgB,GAAG,CAAC,GAAW;IAC7B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE;YAC5C,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAKD,SAAgB,GAAG,CAAC,GAAW;IAC7B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE;YAC5C,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,oBAAoB,GAAG,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Version.d.ts","sourceRoot":"","sources":["../../src/decorators/Version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,eAA4B,CAAC;AAKvD,wBAAgB,OAAO,IAAI,iBAAiB,CAa3C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VERSION_TOKEN = void 0;
|
|
4
|
+
exports.Version = Version;
|
|
5
|
+
const Column_1 = require("./Column");
|
|
6
|
+
exports.VERSION_TOKEN = Symbol.for("STG_VERSION");
|
|
7
|
+
function Version() {
|
|
8
|
+
return (target) => {
|
|
9
|
+
Reflect.defineMetadata(exports.VERSION_TOKEN, true, target);
|
|
10
|
+
return (0, Column_1.Column)({
|
|
11
|
+
type: "int",
|
|
12
|
+
nullable: false,
|
|
13
|
+
length: 11,
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=Version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Version.js","sourceRoot":"","sources":["../../src/decorators/Version.ts"],"names":[],"mappings":";;;AAQA,0BAaC;AApBD,qCAAkC;AAErB,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAKvD,SAAgB,OAAO;IACrB,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,OAAO,CAAC,cAAc,CAAC,qBAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAKpD,OAAO,IAAA,eAAM,EAAC;YACZ,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export * from "./Column";
|
|
2
|
+
export * from "./Entity";
|
|
3
|
+
export * from "./CustomColumn";
|
|
4
|
+
export * from "./InjectEntityManager";
|
|
5
|
+
export * from "./PrimaryGeneratedColumn";
|
|
6
|
+
export * from "./PrimaryColumn";
|
|
7
|
+
export * from "./Indexer";
|
|
8
|
+
export * from "./Version";
|
|
9
|
+
export * from "./ManyToOne";
|
|
10
|
+
export * from "./OneToMany";
|
|
11
|
+
export * from "./ManyToMany";
|
|
12
|
+
export * from "./DeletedAt";
|
|
13
|
+
export * from "./Hooks";
|
|
14
|
+
export * from "./Validation";
|
|
15
|
+
export * from "./Transactional";
|
|
16
|
+
export * from "./OneToOne";
|
|
17
|
+
export * from "./UniqueIndex";
|
|
18
|
+
export * from "./InjectRepository";
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Column"), exports);
|
|
18
|
+
__exportStar(require("./Entity"), exports);
|
|
19
|
+
__exportStar(require("./CustomColumn"), exports);
|
|
20
|
+
__exportStar(require("./InjectEntityManager"), exports);
|
|
21
|
+
__exportStar(require("./PrimaryGeneratedColumn"), exports);
|
|
22
|
+
__exportStar(require("./PrimaryColumn"), exports);
|
|
23
|
+
__exportStar(require("./Indexer"), exports);
|
|
24
|
+
__exportStar(require("./Version"), exports);
|
|
25
|
+
__exportStar(require("./ManyToOne"), exports);
|
|
26
|
+
__exportStar(require("./OneToMany"), exports);
|
|
27
|
+
__exportStar(require("./ManyToMany"), exports);
|
|
28
|
+
__exportStar(require("./DeletedAt"), exports);
|
|
29
|
+
__exportStar(require("./Hooks"), exports);
|
|
30
|
+
__exportStar(require("./Validation"), exports);
|
|
31
|
+
__exportStar(require("./Transactional"), exports);
|
|
32
|
+
__exportStar(require("./OneToOne"), exports);
|
|
33
|
+
__exportStar(require("./UniqueIndex"), exports);
|
|
34
|
+
__exportStar(require("./InjectRepository"), exports);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAC/B,wDAAsC;AACtC,2DAAyC;AACzC,kDAAgC;AAChC,4CAA0B;AAC1B,4CAA0B;AAC1B,8CAA4B;AAC5B,8CAA4B;AAC5B,+CAA6B;AAC7B,8CAA4B;AAC5B,0CAAwB;AACxB,+CAA6B;AAC7B,kDAAgC;AAChC,6CAA2B;AAC3B,gDAA8B;AAC9B,qDAAmC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IConnection } from "./IConnection";
|
|
2
|
+
export interface PoolMetrics {
|
|
3
|
+
active: number;
|
|
4
|
+
idle: number;
|
|
5
|
+
pending: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class ConnectionLeakDetector {
|
|
8
|
+
private readonly thresholdMs;
|
|
9
|
+
private readonly tracked;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
private timer;
|
|
12
|
+
constructor(thresholdMs: number, checkIntervalMs?: number);
|
|
13
|
+
track<T>(connection: IConnection<T>): IConnection<T>;
|
|
14
|
+
untrack(connection: IConnection): void;
|
|
15
|
+
checkLeaks(): void;
|
|
16
|
+
get activeCount(): number;
|
|
17
|
+
shutdown(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=ConnectionLeakDetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionLeakDetector.d.ts","sourceRoot":"","sources":["../../src/dialects/ConnectionLeakDetector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,MAAM,WAAW,WAAW;IAE1B,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;CACjB;AAaD,qBAAa,sBAAsB;IAY/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAX9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,KAAK,CAA+C;gBASzC,WAAW,EAAE,MAAM,EACpC,eAAe,CAAC,EAAE,MAAM;IAiB1B,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAQpD,OAAO,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAOtC,UAAU,IAAI,IAAI;IAkBlB,IAAI,WAAW,IAAI,MAAM,CAExB;IAKD,QAAQ,IAAI,IAAI;CAOjB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConnectionLeakDetector = void 0;
|
|
4
|
+
const Logger_1 = require("../utils/Logger");
|
|
5
|
+
class ConnectionLeakDetector {
|
|
6
|
+
constructor(thresholdMs, checkIntervalMs) {
|
|
7
|
+
this.thresholdMs = thresholdMs;
|
|
8
|
+
this.tracked = new Set();
|
|
9
|
+
this.logger = new Logger_1.Logger("ConnectionLeakDetector");
|
|
10
|
+
this.timer = null;
|
|
11
|
+
if (thresholdMs > 0) {
|
|
12
|
+
const interval = checkIntervalMs ?? Math.max(thresholdMs / 2, 5000);
|
|
13
|
+
this.timer = setInterval(() => this.checkLeaks(), interval);
|
|
14
|
+
if (this.timer && typeof this.timer === "object" && "unref" in this.timer) {
|
|
15
|
+
this.timer.unref();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
track(connection) {
|
|
20
|
+
this.tracked.add(connection);
|
|
21
|
+
return connection;
|
|
22
|
+
}
|
|
23
|
+
untrack(connection) {
|
|
24
|
+
this.tracked.delete(connection);
|
|
25
|
+
}
|
|
26
|
+
checkLeaks() {
|
|
27
|
+
if (this.thresholdMs <= 0)
|
|
28
|
+
return;
|
|
29
|
+
const now = Date.now();
|
|
30
|
+
for (const conn of this.tracked) {
|
|
31
|
+
const held = now - conn.acquiredAt;
|
|
32
|
+
if (held > this.thresholdMs) {
|
|
33
|
+
this.logger.warn(`Potential connection leak detected: connection held for ${held}ms ` +
|
|
34
|
+
`(threshold: ${this.thresholdMs}ms). Consider releasing it.`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
get activeCount() {
|
|
39
|
+
return this.tracked.size;
|
|
40
|
+
}
|
|
41
|
+
shutdown() {
|
|
42
|
+
if (this.timer) {
|
|
43
|
+
clearInterval(this.timer);
|
|
44
|
+
this.timer = null;
|
|
45
|
+
}
|
|
46
|
+
this.tracked.clear();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.ConnectionLeakDetector = ConnectionLeakDetector;
|
|
50
|
+
//# sourceMappingURL=ConnectionLeakDetector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionLeakDetector.js","sourceRoot":"","sources":["../../src/dialects/ConnectionLeakDetector.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AA0BzC,MAAa,sBAAsB;IAWjC,YACmB,WAAmB,EACpC,eAAwB;QADP,gBAAW,GAAX,WAAW,CAAQ;QAXrB,YAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACjC,WAAM,GAAG,IAAI,eAAM,CAAC,wBAAwB,CAAC,CAAC;QACvD,UAAK,GAA0C,IAAI,CAAC;QAY1D,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE5D,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1E,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAOD,KAAK,CAAI,UAA0B;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,UAAU,CAAC;IACpB,CAAC;IAKD,OAAO,CAAC,UAAuB;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAKD,UAAU;QACR,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC;YAAE,OAAO;QAElC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2DAA2D,IAAI,KAAK;oBAClE,eAAe,IAAI,CAAC,WAAW,6BAA6B,CAC/D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAKD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAKD,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AA7ED,wDA6EC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityNotFound.d.ts","sourceRoot":"","sources":["../../src/dialects/EntityNotFound.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,UAAU,EAAE,MAAM;CAG/B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntityNotFound = void 0;
|
|
4
|
+
class EntityNotFound extends Error {
|
|
5
|
+
constructor(entityName) {
|
|
6
|
+
super(`Entity "${entityName}" not found.`);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.EntityNotFound = EntityNotFound;
|
|
10
|
+
//# sourceMappingURL=EntityNotFound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityNotFound.js","sourceRoot":"","sources":["../../src/dialects/EntityNotFound.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,UAAkB;QAC5B,KAAK,CAAC,WAAW,UAAU,cAAc,CAAC,CAAC;IAC7C,CAAC;CACF;AAJD,wCAIC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ISelectOption } from "./ISelectOption";
|
|
2
|
+
import { IOrderBy } from "./IOrderBy";
|
|
3
|
+
import { Sql } from "sql-template-tag";
|
|
4
|
+
export type WhereClause<T> = {
|
|
5
|
+
[K in keyof T]?: T[K];
|
|
6
|
+
} & Record<string, any>;
|
|
7
|
+
export type FindOption<T> = {
|
|
8
|
+
select?: ISelectOption<T>;
|
|
9
|
+
where?: WhereClause<T>;
|
|
10
|
+
limit?: [number, number] | number;
|
|
11
|
+
take?: number;
|
|
12
|
+
orderBy?: IOrderBy<Partial<T>>;
|
|
13
|
+
groupBy?: (keyof T)[];
|
|
14
|
+
having?: Sql[];
|
|
15
|
+
relations?: string[];
|
|
16
|
+
withDeleted?: boolean;
|
|
17
|
+
timeout?: number;
|
|
18
|
+
useMaster?: boolean;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=FindOption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FindOption.d.ts","sourceRoot":"","sources":["../../src/dialects/FindOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAMvC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACtB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAOxB,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAI1B,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAM1B,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAMvB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAKlC,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAK/B,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAMtB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IAKf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAMrB,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FindOption.js","sourceRoot":"","sources":["../../src/dialects/FindOption.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IConnection.d.ts","sourceRoot":"","sources":["../../src/dialects/IConnection.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW,CAAC,IAAI,GAAG,OAAO;IAMzC,aAAa,IAAI,IAAI,CAAC;IAMtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAKzB,OAAO,IAAI,OAAO,CAAC;IAMnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IConnection.js","sourceRoot":"","sources":["../../src/dialects/IConnection.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TRANSACTION_ISOLATION_LEVEL } from "./IsolationLevel";
|
|
2
|
+
export interface IDataSource {
|
|
3
|
+
createConnection(): Promise<void>;
|
|
4
|
+
close(): Promise<void>;
|
|
5
|
+
startTransaction(level?: TRANSACTION_ISOLATION_LEVEL): Promise<void>;
|
|
6
|
+
rollback(): Promise<void>;
|
|
7
|
+
commit(): Promise<void>;
|
|
8
|
+
query(sql: string): Promise<any>;
|
|
9
|
+
savepoint(name: string): Promise<void>;
|
|
10
|
+
rollbackTo(name: string): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=IDataSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDataSource.d.ts","sourceRoot":"","sources":["../../src/dialects/IDataSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAK/D,MAAM,WAAW,WAAW;IAK1B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAMlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAOvB,gBAAgB,CAAC,KAAK,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAMrE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAM1B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAOxB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAOjC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOvC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDataSource.js","sourceRoot":"","sources":["../../src/dialects/IDataSource.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOrderBy.d.ts","sourceRoot":"","sources":["../../src/dialects/IOrderBy.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,MAAM;CAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOrderBy.js","sourceRoot":"","sources":["../../src/dialects/IOrderBy.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Sql } from "sql-template-tag";
|
|
2
|
+
import { ITxEngine } from "./ITxEngine";
|
|
3
|
+
import { TRANSACTION_ISOLATION_LEVEL } from "./IsolationLevel";
|
|
4
|
+
export declare abstract class IQueryEngine implements ITxEngine {
|
|
5
|
+
abstract connect(): Promise<void>;
|
|
6
|
+
abstract query(sql: string): Promise<any>;
|
|
7
|
+
abstract query<T = any>(sql: Sql): Promise<T>;
|
|
8
|
+
abstract startTransaction(level?: TRANSACTION_ISOLATION_LEVEL): Promise<void>;
|
|
9
|
+
abstract rollback(): Promise<void>;
|
|
10
|
+
abstract commit(): Promise<void>;
|
|
11
|
+
abstract savepoint(name: string): Promise<void>;
|
|
12
|
+
abstract rollbackTo(name: string): Promise<void>;
|
|
13
|
+
abstract close(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=IQueryEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IQueryEngine.d.ts","sourceRoot":"","sources":["../../src/dialects/IQueryEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAE/D,8BAAsB,YAAa,YAAW,SAAS;IAIrD,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAM7C,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7E,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IQueryEngine.js","sourceRoot":"","sources":["../../src/dialects/IQueryEngine.ts"],"names":[],"mappings":";;;AAKA,MAAsB,YAAY;CA8CjC;AA9CD,oCA8CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISelectOption.d.ts","sourceRoot":"","sources":["../../src/dialects/ISelectOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,aAAa,CAAC,CAAC,IACvB,CAAC,MAAM,CAAC,CAAC,EAAE,GACX;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;CACzB,GACD;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISelectOption.js","sourceRoot":"","sources":["../../src/dialects/ISelectOption.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface TenantMigrationRunnerOptions {
|
|
2
|
+
sourceSchema?: string;
|
|
3
|
+
}
|
|
4
|
+
export interface TenantSyncResult {
|
|
5
|
+
created: string[];
|
|
6
|
+
skipped: string[];
|
|
7
|
+
}
|
|
8
|
+
export interface ITenantMigrationRunner {
|
|
9
|
+
discoverSchemas(): Promise<string[]>;
|
|
10
|
+
ensureSchema(tenantId: string): Promise<void>;
|
|
11
|
+
syncTenantSchemas(tenantIds: string[]): Promise<TenantSyncResult>;
|
|
12
|
+
isProvisioned(tenantId: string): boolean;
|
|
13
|
+
getProvisionedSchemas(): string[];
|
|
14
|
+
reset(): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ITenantMigrationRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITenantMigrationRunner.d.ts","sourceRoot":"","sources":["../../src/dialects/ITenantMigrationRunner.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,4BAA4B;IAK3C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD,MAAM,WAAW,gBAAgB;IAE/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAWD,MAAM,WAAW,sBAAsB;IAIrC,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAMrC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAM9C,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAKlE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAKzC,qBAAqB,IAAI,MAAM,EAAE,CAAC;IAKlC,KAAK,IAAI,IAAI,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITenantMigrationRunner.js","sourceRoot":"","sources":["../../src/dialects/ITenantMigrationRunner.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TRANSACTION_ISOLATION_LEVEL } from "./IsolationLevel";
|
|
2
|
+
export interface ITxEngine {
|
|
3
|
+
startTransaction(level?: TRANSACTION_ISOLATION_LEVEL): Promise<void>;
|
|
4
|
+
rollback(): Promise<void>;
|
|
5
|
+
commit(): Promise<void>;
|
|
6
|
+
savepoint(name: string): Promise<void>;
|
|
7
|
+
rollbackTo(name: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ITxEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITxEngine.d.ts","sourceRoot":"","sources":["../../src/dialects/ITxEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,WAAW,SAAS;IAKxB,gBAAgB,CAAC,KAAK,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAKrE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAK1B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAMxB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAMvC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC"}
|