change in domain strategy
This commit is contained in:
@@ -1,18 +1,24 @@
|
||||
import { IPortResolver, setCurrentPortResolver } from "../domain/ports/IPortResolver";
|
||||
import domain from "../domain/domain"
|
||||
import dependencies from "../domain/dependencies"
|
||||
import { PortResolver } from "../adapters/PortResolver";
|
||||
import { VinylCatalog } from "../adapters/music/VinylCatalog";
|
||||
import { IMusicRepository } from "../domain/ports/IMusicRepository";
|
||||
import { IMusicRepository } from "../domain/imports/IMusicRepository";
|
||||
import { IMusicCatalog } from "../domain/exports/IMusicCatalog";
|
||||
import { MusicCatalogService } from "../domain/services/MusicCatalogService";
|
||||
|
||||
export class Wiring {
|
||||
public apply() : void {
|
||||
constructor() {
|
||||
const portResolver = new PortResolver();
|
||||
portResolver.register<IMusicRepository>('IMusicRepository', () => new VinylCatalog());
|
||||
domain.setResolver(portResolver);
|
||||
dependencies.setResolver(portResolver);
|
||||
|
||||
setCurrentPortResolver(portResolver);
|
||||
// register imports
|
||||
portResolver.registerInstance<IMusicRepository>('IMusicRepository', () => new VinylCatalog());
|
||||
|
||||
// register exports
|
||||
portResolver.registerInstance<IMusicCatalog>('IMusicCatalog', () => new MusicCatalogService());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const wiring = new Wiring();
|
||||
wiring.apply();
|
||||
export default wiring;
|
||||
Reference in New Issue
Block a user