MCPcopy Create free account
hub / github.com/EricSimons/ionic-course / createIsSelectedFn

Function createIsSelectedFn

code/songhop/www/lib/angular/angular.js:25681–25714  ·  view source on GitHub ↗
(viewValue)

Source from the content-addressed store, hash-verified

25679 }
25680
25681 function createIsSelectedFn(viewValue) {
25682 var selectedSet;
25683 if (multiple) {
25684 if (trackFn && isArray(viewValue)) {
25685
25686 selectedSet = new HashMap([]);
25687 for (var trackIndex = 0; trackIndex < viewValue.length; trackIndex++) {
25688 // tracking by key
25689 selectedSet.put(callExpression(trackFn, null, viewValue[trackIndex]), true);
25690 }
25691 } else {
25692 selectedSet = new HashMap(viewValue);
25693 }
25694 } else if (trackFn) {
25695 viewValue = callExpression(trackFn, null, viewValue);
25696 }
25697
25698 return function isSelected(key, value) {
25699 var compareValueFn;
25700 if (trackFn) {
25701 compareValueFn = trackFn;
25702 } else if (selectAsFn) {
25703 compareValueFn = selectAsFn;
25704 } else {
25705 compareValueFn = valueFn;
25706 }
25707
25708 if (multiple) {
25709 return isDefined(selectedSet.remove(callExpression(compareValueFn, key, value)));
25710 } else {
25711 return viewValue === callExpression(compareValueFn, key, value);
25712 }
25713 };
25714 }
25715
25716 function scheduleRendering() {
25717 if (!renderScheduled) {

Callers 1

renderFunction · 0.70

Calls 2

callExpressionFunction · 0.70
isDefinedFunction · 0.70

Tested by

no test coverage detected