All files / lib/chainingOptions AsPrototypeCO.ts

70% Statements 7/10
100% Branches 0/0
33.33% Functions 1/3
66.66% Lines 6/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2812x 12x         12x         2x 2x 2x                            
import { ChainingOptions } from "./ChainingOptions";
import { AsFactoryCO } from "./AsFactoryCO";
import { Container } from "../Container";
import { IInstantiatable } from "../interfaces/IInstantiatable";
 
 
export class AsPrototypeCO {
 
    private instantiatable: IInstantiatable;
    private chainingOptions: ChainingOptions;
 
    constructor(private readonly container: Container, private readonly key: string) {
        this.instantiatable = this.container.definitionsRepository.getDefinition(key);
        this.chainingOptions = new ChainingOptions(container, key);
    }
 
    withContext(context: {}) {
        this.chainingOptions.withContext(context);
    }
 
    asFactory(factoryFn?: string): AsFactoryCO {
        this.chainingOptions.asFactory(factoryFn);
        return new AsFactoryCO(this.container, this.key);
    }
 
 
}