"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _baseMatches = require("./_baseMatches.js");
const _baseMatchesProperty = require("./_baseMatchesProperty.js");
const identity = require("./identity.js");
const isArray = require("./isArray.js");
const property = require("./property.js");
function baseIteratee(value) {
  if (typeof value == "function") {
    return value;
  }
  if (value == null) {
    return identity.default;
  }
  if (typeof value == "object") {
    return isArray.default(value) ? _baseMatchesProperty.default(value[0], value[1]) : _baseMatches.default(value);
  }
  return property.default(value);
}
exports.default = baseIteratee;
