1234567891011121314151617181920212223242526272829303132 |
- import React from 'react';
- /**
- * Iterates through children that are typically specified as `props.children`,
- * but only maps over children that are "valid elements".
- *
- * The mapFunction provided index will be normalised to the components mapped,
- * so an invalid component would not increase the index.
- *
- */
-
- function map(children, func) {
- var index = 0;
- return React.Children.map(children, function (child) {
- return React.isValidElement(child) ? func(child, index++) : child;
- });
- }
- /**
- * Iterates through children that are "valid elements".
- *
- * The provided forEachFunc(child, index) will be called for each
- * leaf child with the index reflecting the position relative to "valid components".
- */
-
-
- function forEach(children, func) {
- var index = 0;
- React.Children.forEach(children, function (child) {
- if (React.isValidElement(child)) func(child, index++);
- });
- }
-
- export { map, forEach };
|