/
buuded
/
app-web-project
Обзор
Документация
Войти
/
buuded
/
app-web-project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/is-async-function/index.js
32 строки
830 B
buuded
first-commit
27 янв 2025, 10:32
27 янв 2025, 10:32
9efc400
Код
Авторство
О чём код?
'use strict'; var callBound = require('call-bound'); var safeRegexTest = require('safe-regex-test'); var toStr = callBound('Object.prototype.toString'); var fnToStr = callBound('Function.prototype.toString'); var isFnRegex = safeRegexTest(/^\s*async(?:\s+function(?:\s+|\()|\s*\()/); var hasToStringTag = require('has-tostringtag/shams')(); var getProto = require('get-proto'); var getAsyncFunc = require('async-function'); /** @type {import('.')} */ module.exports = function isAsyncFunction(fn) { if (typeof fn !== 'function') { return false; } if (isFnRegex(fnToStr(fn))) { return true; } if (!hasToStringTag) { var str = toStr(fn); return str === '[object AsyncFunction]'; } if (!getProto) { return false; } var asyncFunc = getAsyncFunc(); return asyncFunc && asyncFunc.prototype === getProto(fn); };