import {Factory} from "./Factory"; import {Instantiable} from "../types"; /** * Container factory that produces an instance of the token, however the token * is identified by a string name rather than a class reference. * @extends Factory */ export default class NamedFactory extends Factory { constructor( /** * The name identifying this factory in the container. * @type {string} */ protected name: string, /** * The token to be instantiated. * @type {Instantiable} */ protected token: Instantiable, ) { super(token) } match(something: any) { return something === this.name } }