1234567891011121314151617181920212223242526272829303132333435363738 |
- var configuration = require('../../configuration');
- function findComponentIn(shorthand, longhand) {
- var comparator = nameComparator(longhand);
- return findInDirectComponents(shorthand, comparator) || findInSubComponents(shorthand, comparator);
- }
- function nameComparator(to) {
- return function(property) {
- return to.name === property.name;
- };
- }
- function findInDirectComponents(shorthand, comparator) {
- return shorthand.components.filter(comparator)[0];
- }
- function findInSubComponents(shorthand, comparator) {
- var shorthandComponent;
- var longhandMatch;
- var i, l;
- if (!configuration[shorthand.name].shorthandComponents) {
- return;
- }
- for (i = 0, l = shorthand.components.length; i < l; i++) {
- shorthandComponent = shorthand.components[i];
- longhandMatch = findInDirectComponents(shorthandComponent, comparator);
- if (longhandMatch) {
- return longhandMatch;
- }
- }
- }
- module.exports = findComponentIn;
|