(classes, count)
| 23183 | } |
| 23184 | |
| 23185 | function digestClassCounts(classes, count) { |
| 23186 | // Use createMap() to prevent class assumptions involving property |
| 23187 | // names in Object.prototype |
| 23188 | var classCounts = element.data('$classCounts') || createMap(); |
| 23189 | var classesToUpdate = []; |
| 23190 | forEach(classes, function(className) { |
| 23191 | if (count > 0 || classCounts[className]) { |
| 23192 | classCounts[className] = (classCounts[className] || 0) + count; |
| 23193 | if (classCounts[className] === +(count > 0)) { |
| 23194 | classesToUpdate.push(className); |
| 23195 | } |
| 23196 | } |
| 23197 | }); |
| 23198 | element.data('$classCounts', classCounts); |
| 23199 | return classesToUpdate.join(' '); |
| 23200 | } |
| 23201 | |
| 23202 | function updateClasses(oldClasses, newClasses) { |
| 23203 | var toAdd = arrayDifference(newClasses, oldClasses); |
no test coverage detected