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