diff --git a/test.ts b/test.ts deleted file mode 100644 index 1b180c8..0000000 --- a/test.ts +++ /dev/null @@ -1,69 +0,0 @@ -import "reflect-metadata"; -import { - AlveoFactory, - Inject, - Injectable, - Module, - ModuleRef, - type OnModuleInit, -} from "./index"; - -const LOGGER_TOKEN = Symbol("LOGGER"); - -@Injectable() -class LoggerService { - log(message: string) { - console.log(`[Logger]: ${message}`); - } -} - -@Injectable() -class DatabaseService implements OnModuleInit { - constructor( - @Inject(LOGGER_TOKEN) private readonly logger: LoggerService, - @Inject(ModuleRef) private readonly moduleRef: ModuleRef, - ) {} - - async onModuleInit() { - this.logger.log("DatabaseService initialized."); - const self = await this.moduleRef.get(DatabaseService); - this.logger.log(`ModuleRef self-check: ${self === this}`); - } - - query() { - return "data"; - } -} - -@Injectable() -export class TestService { - constructor(private readonly logger: LoggerService) { - this.logger.log("TestService initialized."); - } -} - -@Module({ - providers: [ - DatabaseService, - LoggerService, - { provide: LOGGER_TOKEN, useExisting: LoggerService }, - ], - exports: [DatabaseService, LoggerService], -}) -class DatabaseModule {} - -@Module({ - imports: [DatabaseModule], - providers: [TestService], -}) -class AppModule {} - -async function bootstrap() { - console.log("Starting AlveoJS test..."); - const app = await AlveoFactory.create(AppModule); - const db = await app.get(DatabaseService); - console.log(`Query result: ${db.query()}`); - await app.close(); -} - -bootstrap().catch(console.error);