UNPKG

unix-permissions

Version:
29 lines (17 loc) 542 B
import{CATEGORIES}from"../../constants.js"; export const joinCategories=(node,index,nodes)=>{ const sameNodes=nodes.filter((nodeA)=>canJoinNodes(node,nodeA)); if(sameNodes.length===1){ return node } const categories=sameNodes.map((nodeA)=>nodeA.category); if(categories[0]!==node.category){ return[] } if(categories.length===CATEGORIES.length){ return{...node,category:"a"} } return{...node,category:categories.join("")} }; const canJoinNodes=(nodeA,nodeB)=> nodeA.operator===nodeB.operator&&nodeA.permissions===nodeB.permissions;