UNPKG

@naverpay/hidash

Version:
40 lines (39 loc) 843 B
import i from "core-js-pure/features/instance/push.js"; const a = function(e) { let t = []; const u = (r) => r, s = e.length ? e : [u]; for (const r of s) Array.isArray(r) ? t = t.concat(r) : i(t).call(t, r); return t.map((r) => typeof r == "function" ? r : (n) => n[r]); }; function f(e, t) { if (e != null && t != null) { if (e > t) return 1; if (e < t) return -1; } return e == null ? 1 : t == null ? -1 : 0; } function p(e, ...t) { if (!e) return []; const u = a(t), s = u.length; return e.map((r) => ({ origin: r, values: u.map((n) => n(r)) })).sort((r, n) => { for (let o = 0; o < s; o++) { const l = f(r.values[o], n.values[o]); if (l !== 0) return l; } return 0; }).map(({ origin: r }) => r); } export { p as default, p as sortBy };