@naverpay/hidash
Version:
improved lodash
41 lines (40 loc) • 957 B
JavaScript
function l(r, t) {
try {
if (r == null)
return !1;
if (!t)
return r[t];
const e = Array.isArray(t) ? t : [t];
let n = r;
const f = e.length - 1;
for (let u = 0; u < f; u++) {
const s = e[u];
if (s in n)
n = n[s];
else
return !1;
}
const i = e[f];
return typeof n == "object" ? i in n : n === i;
} catch (e) {
return !1;
}
}
function y(r, t) {
return typeof r != "object" ? r === t : Object.entries(t).every(([e, n]) => Array.isArray(r) || typeof r != "object" ? r === t : e in r ? y(r[e], n) : !1);
}
function a(r) {
return r == null ? (t) => !!t : typeof r == "function" ? r : !Array.isArray(r) && typeof r == "object" ? (t) => y(t, r) : (t) => l(t, r);
}
function c(r, t) {
if (r == null)
return;
const e = a(t), n = Array.isArray(r) ? r : Object.values(r);
for (const f of n)
if (e(f))
return f;
}
export {
c as default,
c as find
};