decord/source/4443_getEvalledConstructor.js

47 lines
1.1 KiB
JavaScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 4443
// Function ID: 4444
2026-07-29 08:29:29 +00:00
// Name: getEvalledConstructor
2026-08-24 06:08:38 +00:00
// Dependencies: [4444, 4445]
2026-07-29 08:29:29 +00:00
2026-08-24 06:08:38 +00:00
// Module 4443 (getEvalledConstructor)
import getEvalledConstructor from "getEvalledConstructor" /* 4444 */;
import DefinePropertyOrThrow from "DefinePropertyOrThrow" /* 4445 */;
2026-07-29 08:29:29 +00:00
2026-08-24 06:08:38 +00:00
const tmp = getEvalledConstructor("%Reflect.construct%", true);
let closure_0 = tmp;
2026-08-13 07:00:46 +00:00
try {
let obj = { "[[Get]]": null };
obj[0] = () => {
};
DefinePropertyOrThrow({}, "", obj);
let tmp4 = DefinePropertyOrThrow;
if (tmp4) {
if (tmp) {
let closure_1 = {};
obj = {};
obj = { "[[Get]]": null, "[[Enumerable]]": true };
obj[0] = () => {
throw closure_1;
};
tmp4(obj, "length", obj);
module.exports = function IsConstructor(arg0) {
try {
2026-08-24 06:08:38 +00:00
callback(arg0, obj);
2026-08-13 07:00:46 +00:00
} catch (tmp5) {
return tmp5 === closure_1;
}
};
}
}
module.exports = function IsConstructor(fn) {
let prototype = typeof fn === "function";
if (typeof fn === "function") {
prototype = fn.prototype;
}
return prototype;
};
} catch (err) {
tmp4 = null;
}