UNPKG

stryker

Version:
38 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var plugin_1 = require("stryker-api/plugin"); var PluginCreator = /** @class */ (function () { function PluginCreator(kind, pluginResolver, injector) { this.kind = kind; this.pluginResolver = pluginResolver; this.injector = injector; } PluginCreator.prototype.create = function (name) { var plugin = this.pluginResolver.resolve(this.kind, name); if (this.isFactoryPlugin(plugin)) { return this.injector.injectFunction(plugin.factory); } else if (this.isClassPlugin(plugin)) { return this.injector.injectClass(plugin.injectableClass); } else { throw new Error("Plugin \"" + this.kind + ":" + name + "\" could not be created, missing \"factory\" or \"injectableClass\" property."); } }; PluginCreator.prototype.isFactoryPlugin = function (plugin) { return !!plugin.factory; }; PluginCreator.prototype.isClassPlugin = function (plugin) { return !!plugin.injectableClass; }; PluginCreator.createFactory = function (kind) { function factory(pluginResolver, injector) { return new PluginCreator(kind, pluginResolver, injector); } factory.inject = plugin_1.tokens(plugin_1.commonTokens.pluginResolver, plugin_1.commonTokens.injector); return factory; }; return PluginCreator; }()); exports.PluginCreator = PluginCreator; //# sourceMappingURL=PluginCreator.js.map