"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const _baseGetTag = require("./_baseGetTag.js");
const isObject$1 = require("./isObject.js");
var baseGetTag = _baseGetTag._baseGetTag, isObject = isObject$1.isObject_1;
var asyncTag = "[object AsyncFunction]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
function isFunction(value) {
  if (!isObject(value)) {
    return false;
  }
  var tag = baseGetTag(value);
  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
}
var isFunction_1 = isFunction;
exports.isFunction_1 = isFunction_1;
