Update with wiring, bundling, unittests, code coverage
This commit is contained in:
@@ -1,19 +1,13 @@
|
||||
import { Injector } from "../domain/ports/Injector";
|
||||
import { Container } from "./Container";
|
||||
import { IPortResolver, setCurrentPortResolver } from "../domain/ports/IPortResolver";
|
||||
import { PortResolver } from "../adapters/PortResolver";
|
||||
import { VinylCatalog } from "../adapters/music/VinylCatalog";
|
||||
import { MusicRepository } from "../domain/ports/MusicRepository";
|
||||
import { IMusicRepository } from "../domain/ports/IMusicRepository";
|
||||
|
||||
export class Wiring {
|
||||
private static injector : Injector;
|
||||
public static apply() : void {
|
||||
const container = new Container();
|
||||
container.register(MusicRepository, () => new VinylCatalog());
|
||||
Wiring.injector = container;
|
||||
}
|
||||
public static getInjector() : Injector {
|
||||
if (!Wiring.injector) {
|
||||
Wiring.apply();
|
||||
}
|
||||
return Wiring.injector;
|
||||
public apply() : void {
|
||||
const portResolver = new PortResolver();
|
||||
portResolver.register<IMusicRepository>('IMusicRepository', () => new VinylCatalog());
|
||||
|
||||
setCurrentPortResolver(portResolver);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user