35 lines
781 B
JavaScript
35 lines
781 B
JavaScript
// Metro module 4340 (f4341).
|
|
import * as _isFlattenable from "./isFlattenable";
|
|
import * as _arrayPush from "./arrayPush";
|
|
const baseFlatten = function baseFlatten(a0, a1, a2, a3, a4) {
|
|
let r3;
|
|
let r10 = a2;
|
|
const length = a0.length;
|
|
if (!a2) {
|
|
r10 = _isFlattenable;
|
|
}
|
|
const r24 = a4 ? a4 : [];
|
|
const r6 = 0 < length;
|
|
let r0 = 0;
|
|
if (r6) {
|
|
do {
|
|
L12: {
|
|
const r15 = a0[r0];
|
|
r3 = r0;
|
|
if (a1 > 0 && r10(r15)) {
|
|
if (a1 > 1) {
|
|
baseFlatten(r15, a1 - 1, r10, a3, r24);
|
|
break L12;
|
|
}
|
|
_arrayPush(r24, r15);
|
|
} else if (!a3) {
|
|
r24[r24.length] = r15;
|
|
}
|
|
}
|
|
r0 = r3 + 1;
|
|
} while (r0 < length);
|
|
}
|
|
return r24;
|
|
};
|
|
module.exports = baseFlatten;
|