1234567891011121314151617181920212223242526272829303132333435 |
- import _isArrayLike from "./_isArrayLike.js";
- /**
- * `_makeFlat` is a helper function that returns a one-level or fully recursive
- * function based on the flag passed in.
- *
- * @private
- */
- export default function _makeFlat(recursive) {
- return function flatt(list) {
- var value, jlen, j;
- var result = [];
- var idx = 0;
- var ilen = list.length;
- while (idx < ilen) {
- if (_isArrayLike(list[idx])) {
- value = recursive ? flatt(list[idx]) : list[idx];
- j = 0;
- jlen = value.length;
- while (j < jlen) {
- result[result.length] = value[j];
- j += 1;
- }
- } else {
- result[result.length] = list[idx];
- }
- idx += 1;
- }
- return result;
- };
- }
|