decord/source/1413_isGeneratorFunction.js

47 lines
1.3 KiB
JavaScript
Raw Normal View History

2026-08-11 06:20:06 +00:00
// Module ID: 1413
// Function ID: 1414
2026-07-29 08:29:29 +00:00
// Name: isGeneratorFunction
2026-08-11 06:20:06 +00:00
// Dependencies: [1414, 1412, 574, 546]
2026-07-29 08:29:29 +00:00
2026-08-11 06:20:06 +00:00
// Module 1413 (isGeneratorFunction)
2026-08-24 06:08:38 +00:00
import getProto from "getProto" /* 546 */;
import callBoundIntrinsic from "callBoundIntrinsic" /* 574 */;
import hasToStringTagShams from "hasToStringTagShams" /* 1412 */;
import regexTester from "regexTester" /* 1414 */;
let closure_3 = regexTester(/^\s*(?:function)?\*/);
let closure_4 = hasToStringTagShams();
let closure_5 = callBoundIntrinsic("Object.prototype.toString");
let closure_6 = callBoundIntrinsic("Function.prototype.toString");
2026-07-29 08:29:29 +00:00
2026-08-04 21:03:28 +00:00
export default function isGeneratorFunction(fn) {
if (typeof fn !== "function") {
2026-07-29 08:29:29 +00:00
return false;
2026-08-04 21:03:28 +00:00
} else if (callback(callback3(fn))) {
2026-07-29 08:29:29 +00:00
return true;
} else if (closure_4) {
2026-08-24 06:08:38 +00:00
if (getProto) {
2026-07-29 08:29:29 +00:00
if (undefined === closure_2) {
const tmp6 = (() => {
if (closure_4) {
try {
const _Function = Function;
return Function("return function*() {}")();
} catch (err) {
}
} else {
return false;
}
})();
closure_2 = tmp6 && tmp3(546)(tmp6);
const tmp7 = tmp6 && tmp3(546)(tmp6);
}
2026-08-04 21:03:28 +00:00
return tmp3(546)(fn) === closure_2;
2026-07-29 08:29:29 +00:00
} else {
return false;
}
} else {
2026-08-04 21:03:28 +00:00
return "[object GeneratorFunction]" === callback2(fn);
2026-07-29 08:29:29 +00:00
}
};