UNPKG

deependency

Version:

Deependency is modular and extensible Inversion of Control container to easily introduce dependency injection in your NodeJS modules.

41 lines (21 loc) 833 B
'use strict'; module.exports = function DefinitionProviderCatalog(definitionProviders) { var _definitionProviders = definitionProviders ? definitionProviders.slice(0) : []; this.add = function (definitionProvider) { _definitionProviders.push(definitionProvider); }; this.all = function () { return _definitionProviders; }; this.clear = function () { _definitionProviders = []; }; this.first = function (definitionProviderAction) { for (let index = 0; index < _definitionProviders.length; index++) { let definitionProvider = _definitionProviders[index]; let definitionProviderResult = definitionProviderAction(definitionProvider); if (definitionProviderResult) return definitionProviderResult; } return null; }; };