UNPKG

769 BJavaScriptView Raw
1var _isArrayLike =
2/*#__PURE__*/
3require("./_isArrayLike");
4/**
5 * `_makeFlat` is a helper function that returns a one-level or fully recursive
6 * function based on the flag passed in.
7 *
8 * @private
9 */
10
11
12function _makeFlat(recursive) {
13 return function flatt(list) {
14 var value, jlen, j;
15 var result = [];
16 var idx = 0;
17 var ilen = list.length;
18
19 while (idx < ilen) {
20 if (_isArrayLike(list[idx])) {
21 value = recursive ? flatt(list[idx]) : list[idx];
22 j = 0;
23 jlen = value.length;
24
25 while (j < jlen) {
26 result[result.length] = value[j];
27 j += 1;
28 }
29 } else {
30 result[result.length] = list[idx];
31 }
32
33 idx += 1;
34 }
35
36 return result;
37 };
38}
39
40module.exports = _makeFlat;
\No newline at end of file