Update with wiring, bundling, unittests, code coverage

This commit is contained in:
2018-05-22 15:20:32 +02:00
parent 2c7496578b
commit dcb055a1e0
23 changed files with 1897 additions and 638 deletions

View File

@@ -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);
}
}