@acrool/js-utils
Version:
Common javascript utils methods for project development
114 lines (113 loc) • 2.45 kB
JavaScript
function s(n, e) {
return n ? [e].concat(n.slice(0)) : [e];
}
function l(n, e) {
return n ? n.slice(0).concat(e) : [e];
}
function g(n, e, t) {
return n ? [...n.slice(0, e), t, ...n.slice(e)] : [t];
}
function p(n, e, t) {
if (!n || e === t)
return n;
const u = [...n], r = u[e];
return u.splice(e, 1), u.splice(t, 0, r), u;
}
function h(n, e) {
if (!n)
return n;
const t = n.findIndex(e);
return t === -1 ? n : i(n, t);
}
function m(n, e) {
if (!n)
return n;
const t = n.findIndex(e.finder);
return t === -1 ? n : f(n, t, e.updater);
}
function i(n, e) {
return !n || e === -1 || e > n.length - 1 ? n : [...n.slice(0, e), ...n.slice(e + 1)];
}
function f(n, e, t) {
if (e === -1 || !n || e > n.length - 1)
return n;
const u = { ...n[e] };
t(u);
const r = [...n];
return r[e] = u, r;
}
function A(n, e) {
if (!n)
return n;
const t = /* @__PURE__ */ new Set(), u = new Array();
for (const r of n) {
const o = e ? e(r) : r;
t.has(o) || (t.add(o), u.push(r));
}
return u;
}
function d(n, e) {
return n ? n.join(e) : "";
}
function w(n) {
return n == null ? void 0 : n[0];
}
function I(n, e) {
if (!n)
return n;
const t = Math.ceil(n.length / e);
return new Array(t).fill([]).map((r, o) => n.slice(o * e, o * e + e));
}
function S(n, e) {
return n.reduce((t, u) => {
const r = e(u);
return t[r] || (t[r] = []), t[r].push(u), t;
}, {});
}
function B(n, e) {
const t = {};
return n.forEach((u) => {
const { groupKey: r, groupData: o, child: c } = e(u);
t[r] || (t[r] = {
...o,
children: []
}), t[r].children.push(c);
}), Object.keys(t).map((u) => t[u]);
}
function k(n, e) {
const t = [...n];
return t.sort(e), t;
}
function v(n, e = "ASC") {
return function(t, u) {
const r = n(t), o = n(u);
return r < o ? e === "ASC" ? -1 : 1 : r > o ? e === "ASC" ? 1 : -1 : 0;
};
}
const F = (n, e = "skeleton_") => Array.from({ length: n }).map((t, u) => `${e}${u}`);
function b(n) {
return (e) => {
const u = (n.indexOf(e) + 1) % n.length;
return n[u];
};
}
export {
w as arrayFirst,
d as arrayJoin,
I as arraySplit,
v as generateSortByProperty,
F as generatorArray,
b as generatorArrayToggle,
S as groupBy,
B as groupTreeBy,
g as insert,
p as move,
s as pull,
l as push,
i as removeByIndex,
h as removeFind,
k as sort,
A as unique,
f as updateByIndex,
m as updateFind
};