eslint-config-lemon
Version:
<div align="center"> <br> <img width="400" src="logo.svg"> <br> <br> </div>
71 lines (48 loc) • 1.31 kB
JavaScript
import{constants}from"os";
import{SIGRTMAX}from"./realtime.js";
import{getSignals}from"./signals.js";
const getSignalsByName=function(){
const signals=getSignals();
return signals.reduce(getSignalByName,{});
};
const getSignalByName=function(
signalByNameMemo,
{name,number,description,supported,action,forced,standard})
{
return{
...signalByNameMemo,
[name]:{name,number,description,supported,action,forced,standard}};
};
export const signalsByName=getSignalsByName();
const getSignalsByNumber=function(){
const signals=getSignals();
const length=SIGRTMAX+1;
const signalsA=Array.from({length},(value,number)=>
getSignalByNumber(number,signals));
return Object.assign({},...signalsA);
};
const getSignalByNumber=function(number,signals){
const signal=findSignalByNumber(number,signals);
if(signal===undefined){
return{};
}
const{name,description,supported,action,forced,standard}=signal;
return{
[number]:{
name,
number,
description,
supported,
action,
forced,
standard}};
};
const findSignalByNumber=function(number,signals){
const signal=signals.find(({name})=>constants.signals[name]===number);
if(signal!==undefined){
return signal;
}
return signals.find((signalA)=>signalA.number===number);
};
export const signalsByNumber=getSignalsByNumber();
//# sourceMappingURL=main.js.map