MCPcopy Index your code
hub / github.com/angular-ui/ui-router / getControllers

Function getControllers

test/angular/1.2/angular.js:6593–6623  ·  view source on GitHub ↗
(directiveName, require, $element, elementControllers)

Source from the content-addressed store, hash-verified

6591
6592
6593 function getControllers(directiveName, require, $element, elementControllers) {
6594 var value, retrievalMethod = 'data', optional = false;
6595 if (isString(require)) {
6596 while((value = require.charAt(0)) == '^' || value == '?') {
6597 require = require.substr(1);
6598 if (value == '^') {
6599 retrievalMethod = 'inheritedData';
6600 }
6601 optional = optional || value == '?';
6602 }
6603 value = null;
6604
6605 if (elementControllers && retrievalMethod === 'data') {
6606 value = elementControllers[require];
6607 }
6608 value = value || $element[retrievalMethod]('$' + require + 'Controller');
6609
6610 if (!value && !optional) {
6611 throw $compileMinErr('ctreq',
6612 "Controller '{0}', required by directive '{1}', can't be found!",
6613 require, directiveName);
6614 }
6615 return value;
6616 } else if (isArray(require)) {
6617 value = [];
6618 forEach(require, function(require) {
6619 value.push(getControllers(directiveName, require, $element, elementControllers));
6620 });
6621 }
6622 return value;
6623 }
6624
6625
6626 function nodeLinkFn(childLinkFn, scope, linkNode, $rootElement, boundTranscludeFn) {

Callers 1

nodeLinkFnFunction · 0.70

Calls 3

isArrayFunction · 0.85
isStringFunction · 0.70
forEachFunction · 0.70

Tested by

no test coverage detected