in rules/di-order.js [28:67]
create: angularRule(function(context) {
var stripUnderscores = context.options[0] !== false;
var caseSensitiveOpt = (context.options[1] || caseSensitive) === caseSensitive;
function checkOrder(callee, fn) {
if (!fn || !fn.params) {
return;
}
var args = fn.params.map(function(arg) {
var formattedArg = arg.name;
if (stripUnderscores) {
formattedArg = formattedArg.replace(/^_(.+)_$/, '$1');
}
return caseSensitiveOpt ? formattedArg : formattedArg.toLowerCase();
});
var sortedArgs = args.slice().sort();
sortedArgs.some(function(value, index) {
if (args.indexOf(value) !== index) {
context.report(fn, 'Injected values should be sorted alphabetically');
return true;
}
});
}
return {
'angular?animation': checkOrder,
'angular?config': checkOrder,
'angular?controller': checkOrder,
'angular?directive': checkOrder,
'angular?factory': checkOrder,
'angular?filter': checkOrder,
'angular?inject': checkOrder,
'angular?run': checkOrder,
'angular?service': checkOrder,
'angular?provider': function(callee, providerFn, $get) {
checkOrder(null, providerFn);
checkOrder(null, $get);
}
};
})