import { MusicCatalogService } from "../domain/services/MusicCatalogService" import { IMusicRepository } from "../domain/ports/IMusicRepository"; import { Track } from "../domain/models/Track"; import { VinylCatalog } from "../adapters/music/VinylCatalog"; import { Wiring } from "../wiring/Wiring"; export class MusicComponent { constructor() { console.log('registering IMusicRepository'); Wiring.register('IMusicRepository', () => new VinylCatalog()); var injector = Wiring.GetInjector(); let musicRepository = injector.inject("IMusicRepository"); console.log('IMusicRepository is', musicRepository); //let musicCatalogService = new MusicCatalogService(injector.inject("IMusicRepository")); let musicCatalogService = MusicCatalogService.new(injector); let track = new Track(8, "Niels 1st", "Niels Kooiman", 45); musicCatalogService.add(track); let tracks = musicCatalogService.get(); console.log(tracks); } }