decord/source/1423_setFunctionLength.js
2026-08-24 06:08:38 +00:00

75 lines
2.2 KiB
JavaScript

// Module ID: 1423
// Function ID: 1424
// Name: setFunctionLength
// Dependencies: [1424, 540, 541, 542, 1425]
// Module 1423 (setFunctionLength)
import getEvalledConstructor from "getEvalledConstructor" /* 540 */;
import _mod541 from "module_541" /* 541 */;
import _mod542 from "module_542" /* 542 */;
import hasPropertyDescriptors from "hasPropertyDescriptors" /* 1424 */;
import defineDataProperty from "defineDataProperty" /* 1425 */;
let closure_2 = hasPropertyDescriptors();
let closure_3 = getEvalledConstructor("%Math.floor%");
export default function setFunctionLength(fn, num) {
if (typeof fn !== "function") {
const tmp25 = new _mod541("`fn` is not a function");
throw tmp25;
} else {
if (typeof num === "number") {
if (num >= 0) {
if (num <= 4294967295) {
if (callback(num) === num) {
let flag = true;
let flag2 = true;
if ("length" in fn) {
flag = true;
flag2 = true;
if (_mod542) {
const tmp4 = tmp2(542)(fn, "length");
let tmp5 = tmp4;
if (tmp4) {
tmp5 = !tmp4.configurable;
}
let flag3 = true;
if (tmp5) {
flag3 = false;
}
let tmp6 = tmp4;
if (tmp4) {
tmp6 = !tmp4.writable;
}
flag = true;
flag2 = flag3;
if (tmp6) {
flag = false;
flag2 = flag3;
}
}
tmp2 = require;
}
if (!flag2) {
flag2 = flag;
}
if (!flag2) {
flag2 = !tmp;
}
if (flag2) {
const tmp10 = defineDataProperty;
if (closure_2) {
tmp10(fn, "length", num, true, true);
} else {
tmp10(fn, "length", num);
}
}
return fn;
}
}
}
}
const tmp19 = new _mod541("`length` must be a positive 32-bit integer");
throw tmp19;
}
};