decord/source/1423_setFunctionLength.js

76 lines
2.2 KiB
JavaScript
Raw Normal View History

2026-08-11 06:20:06 +00:00
// Module ID: 1423
// Function ID: 1424
2026-07-29 08:29:29 +00:00
// Name: setFunctionLength
2026-08-11 06:20:06 +00:00
// Dependencies: [1424, 540, 541, 542, 1425]
2026-07-29 08:29:29 +00:00
2026-08-11 06:20:06 +00:00
// Module 1423 (setFunctionLength)
2026-08-24 06:08:38 +00:00
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%");
2026-07-29 08:29:29 +00:00
2026-08-04 21:03:28 +00:00
export default function setFunctionLength(fn, num) {
if (typeof fn !== "function") {
2026-08-24 06:08:38 +00:00
const tmp25 = new _mod541("`fn` is not a function");
2026-07-29 08:29:29 +00:00
throw tmp25;
} else {
2026-08-04 21:03:28 +00:00
if (typeof num === "number") {
if (num >= 0) {
if (num <= 4294967295) {
if (callback(num) === num) {
2026-07-29 08:29:29 +00:00
let flag = true;
let flag2 = true;
2026-08-04 21:03:28 +00:00
if ("length" in fn) {
2026-07-29 08:29:29 +00:00
flag = true;
flag2 = true;
2026-08-24 06:08:38 +00:00
if (_mod542) {
2026-08-04 21:03:28 +00:00
const tmp4 = tmp2(542)(fn, "length");
2026-07-29 08:29:29 +00:00
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) {
2026-08-24 06:08:38 +00:00
const tmp10 = defineDataProperty;
2026-07-29 08:29:29 +00:00
if (closure_2) {
2026-08-04 21:03:28 +00:00
tmp10(fn, "length", num, true, true);
2026-07-29 08:29:29 +00:00
} else {
2026-08-04 21:03:28 +00:00
tmp10(fn, "length", num);
2026-07-29 08:29:29 +00:00
}
}
2026-08-04 21:03:28 +00:00
return fn;
2026-07-29 08:29:29 +00:00
}
}
}
}
2026-08-24 06:08:38 +00:00
const tmp19 = new _mod541("`length` must be a positive 32-bit integer");
2026-07-29 08:29:29 +00:00
throw tmp19;
}
};