unix-permissions
Version:
Swiss Army knife for Unix permissions
34 lines (22 loc) • 583 B
JavaScript
import{NODES_MAP}from"../../nodes.js";
import{VALUES}from"./constants.js";
export const parse=(number)=>{
if(!isValidNumber({number})){
return
}
return Object.entries(NODES_MAP).map(([nodeKey,node])=>
getNode({number,nodeKey,node})
)
};
const isValidNumber=({number})=>
Number.isInteger(number)&&number>=MIN_NUMBER&&number<=MAX_NUMBER;
const MIN_NUMBER=0;
const MAX_NUMBER=65535;
const getNode=({number,nodeKey,node})=>{
const add=getAdd({number,nodeKey});
return{...node,add}
};
const getAdd=({number,nodeKey})=>{
const value=VALUES[nodeKey];
return(number&value)!==0
};