"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _baseIteratee = require("./_baseIteratee2.cjs");
const isArrayLike = require("./isArrayLike2.cjs");
const keys = require("./keys2.cjs");
function createFind(findIndexFunc) {
  return function(collection, predicate, fromIndex) {
    var iterable = Object(collection);
    if (!isArrayLike.default(collection)) {
      var iteratee = _baseIteratee.default(predicate);
      collection = keys.default(collection);
      predicate = function(key) {
        return iteratee(iterable[key], key, iterable);
      };
    }
    var index = findIndexFunc(collection, predicate, fromIndex);
    return index > -1 ? iterable[iteratee ? collection[index] : index] : void 0;
  };
}
exports.default = createFind;
//# sourceMappingURL=_createFind2.cjs.map
