import a from "./_baseTimes.js";
import g from "./isArguments.js";
import h from "./isArray.js";
import b from "./isBuffer.js";
import A from "./_isIndex.js";
import c from "./isTypedArray.js";
var d = Object.prototype, O = d.hasOwnProperty;
function l(t, p) {
  var o = h(t), i = !o && g(t), s = !o && !i && b(t), e = !o && !i && !s && c(t), n = o || i || s || e, f = n ? a(t.length, String) : [], m = f.length;
  for (var r in t)
    (p || O.call(t, r)) && !(n && // Safari 9 has enumerable `arguments.length` in strict mode.
    (r == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
    s && (r == "offset" || r == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
    e && (r == "buffer" || r == "byteLength" || r == "byteOffset") || // Skip index properties.
    A(r, m))) && f.push(r);
  return f;
}
export {
  l as default
};
//# sourceMappingURL=_arrayLikeKeys.js.map
