[Framework] Change cardinality of custom registrars

Change cardinality of custom registrars from one to
many; this will permit treating the service
compositor as a custom registrar. WTD-518.
This commit is contained in:
Victor Woeltjen 2014-11-05 16:25:34 -08:00
parent 2d0d505b51
commit 67dac667cf
2 changed files with 13 additions and 5 deletions
platform/framework/src/register

@ -75,14 +75,22 @@ define(
}]);
}
// Utility; create a function which converts another function
// (which acts on single objects) to one which acts upon arrays.
function mapUpon(func) {
return function(array) {
return array.map(func);
};
}
// More like key-value pairs than methods; key is the
// name of the extension category to be handled, and the value
// is the function which handles it.
return {
routes: registerRoute,
directives: new CustomRegistrar("directive"),
controllers: new CustomRegistrar("controller"),
services: new CustomRegistrar("service")
routes: mapUpon(registerRoute),
directives: mapUpon(new CustomRegistrar("directive")),
controllers: mapUpon(new CustomRegistrar("controller")),
services: mapUpon(new CustomRegistrar("service"))
};
}

@ -91,7 +91,7 @@ define(
// code for services, directives, etc; otherwise,
// just register them under generic names.
if (customRegistrars[category]) {
extensions.forEach(customRegistrars[category]);
customRegistrars[category](extensions);
} else {
extensions.forEach(registerExtension);
registerExtensionArraysForCategory(category, names);