UNPKG

unix-permissions

Version:
24 lines (17 loc) 592 B
export const mapValues=(object,mapper)=>{ const pairs=Object.entries(object).map(([key,value])=>({ [key]:mapper(value,key,object) })); return Object.assign({},...pairs) }; export const groupBy=(array,key)=> array.reduce(groupByReducer.bind(undefined,key),{}); const groupByReducer=(key,groups,obj)=>{ const groupName=obj[key]; const{[groupName]:currentGroup=[]}=groups; const newGroup=[...currentGroup,obj]; return{...groups,[groupName]:newGroup} }; export const hasDuplicate=(array)=>array.some(isDuplicate); const isDuplicate=(elem,index,elems)=> elems.slice(index+1).includes(elem);