diff --git a/platform/framework/src/register/ServiceCompositor.js b/platform/framework/src/register/ServiceCompositor.js index bf65c529a9..8ab94fbce0 100644 --- a/platform/framework/src/register/ServiceCompositor.js +++ b/platform/framework/src/register/ServiceCompositor.js @@ -42,6 +42,12 @@ define( return arguments[0]; } + function hasType(type) { + return function (extension) { + return extension.type === type; + }; + } + function makeName(category, service, index) { return [ service, @@ -148,12 +154,20 @@ define( registerLatest(); } + function registerCompositeServices(components) { + registerComposites( + components.filter(hasType("provider")), + components.filter(hasType("aggregator")), + components.filter(hasType("decorator")) + ); + } + return { /** * - * @param {Array} components extensions of type component + * @param {Array} components extensions of category component */ - registerCompositeServices: registerComposites + registerCompositeServices: registerCompositeServices }; }