25 lines
927 B
TypeScript
25 lines
927 B
TypeScript
import domain from "../domain/domain"
|
|
import dependencies from "../domain/dependencies"
|
|
import { PortResolver } from "@nx/typescript-domain"
|
|
import { VinylCatalog } from "../adapters/music/VinylCatalog";
|
|
import { IMusicRepository } from "../domain/imports/IMusicRepository";
|
|
import { IMusicCatalog } from "../domain/exports/IMusicCatalog";
|
|
import { MusicCatalogService } from "../domain/services/MusicCatalogService";
|
|
|
|
export class Wiring {
|
|
constructor() {
|
|
const portResolver = new PortResolver();
|
|
domain.setResolver(portResolver);
|
|
dependencies.setResolver(portResolver);
|
|
|
|
// register imports
|
|
portResolver.registerInstance<IMusicRepository>("IMusicRepository", () => new VinylCatalog());
|
|
|
|
// register exports
|
|
portResolver.registerInstance<IMusicCatalog>("IMusicCatalog", () => new MusicCatalogService());
|
|
}
|
|
}
|
|
|
|
const wiring = new Wiring();
|
|
export default wiring;
|