34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
// Metro module 4488 (f4489).
|
|
import * as _hasPropertyDescriptors from "./hasPropertyDescriptors";
|
|
import * as _Module4473 from "./Module4473";
|
|
import * as _callBoundIntrinsic from "./callBoundIntrinsic";
|
|
import * as _Module564 from "./Module564";
|
|
const hasArrayLengthDefineBug = _hasPropertyDescriptors.hasArrayLengthDefineBug();
|
|
let c2700_3 = hasArrayLengthDefineBug ? _Module4473 : hasArrayLengthDefineBug;
|
|
let c2700_4 = _callBoundIntrinsic("Object.prototype.propertyIsEnumerable");
|
|
module.exports = function DefineOwnProperty(a0, a1, a2, a3, a4, a5) {
|
|
let r39;
|
|
if (_Module564) {
|
|
if (hasArrayLengthDefineBug && (a4 === "length" && ("[[Value]]" in a5 && (c2700_3(a3) && a3.length !== a5["[[Value]]"])))) {
|
|
a3.length = a5["[[Value]]"];
|
|
r39 = a3.length === a5["[[Value]]"];
|
|
} else {
|
|
_Module564(a3, a4, a2(a5));
|
|
r39 = true;
|
|
}
|
|
return r39;
|
|
}
|
|
if (a0(a5)) {
|
|
if (a5["[[Configurable]]"] && a5["[[Writable]]"]) {
|
|
if (a4 in a3 && c2700_4(a3, a4) !== !!a5["[[Enumerable]]"]) {
|
|
return false;
|
|
}
|
|
const r22 = a5["[[Value]]"];
|
|
a3[a4] = r22;
|
|
return a1(a3[a4], r22);
|
|
}
|
|
return false;
|
|
}
|
|
return false;
|
|
};
|