52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
// Metro module 1401 (f1402).
|
|
import * as _isES6ClassFunction from "./isES6ClassFunction";
|
|
const toString = Object.prototype.toString;
|
|
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
module.exports = function forEach(a0, a1, a2) {
|
|
if (_isES6ClassFunction(a1)) {
|
|
const r29 = arguments.length >= 3 ? a2 : void 0;
|
|
const call2 = toString.call;
|
|
if (toString.call(a0) === "[object Array]") {
|
|
const length2 = a0.length;
|
|
let r66 = 0;
|
|
while (r66 < length2) {
|
|
const call3 = hasOwnProperty.call;
|
|
const r72 = r66;
|
|
if (hasOwnProperty.call(a0, r72)) {
|
|
if (r29 == null) {
|
|
a1(a0[r72], r72, a0);
|
|
} else {
|
|
a1.call(r29, a0[r72], r72, a0);
|
|
}
|
|
}
|
|
r66 = r72 + 1;
|
|
}
|
|
} else if (typeof a0 === "string") {
|
|
const length = a0.length;
|
|
let r49 = 0;
|
|
while (r49 < length) {
|
|
const r0 = r49;
|
|
if (r29 == null) {
|
|
a1(a0.charAt(r0), r0, a0);
|
|
} else {
|
|
a1.call(r29, a0.charAt(r0), r0, a0);
|
|
}
|
|
r49 = r0 + 1;
|
|
}
|
|
} else {
|
|
for (const key in a0) {
|
|
const call = hasOwnProperty.call;
|
|
if (hasOwnProperty.call(a0, key)) {
|
|
if (r29 == null) {
|
|
a1(a0[key], key, a0);
|
|
} else {
|
|
a1.call(r29, a0[key], key, a0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return void 0;
|
|
}
|
|
throw new TypeError("iterator must be a function");
|
|
};
|