
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Checks data object against decision table.
-> DMN Notation.
const Table = require('cond-table').Table;
var testTable = {
description: 'Applicant Risk rating', // optional
hitPolicy: 'First', // optional (actual only First possible)
input: {
'age': {
description: 'Applicant Age', // optional
type: 'number' // optional
},
'hist': {
description: 'Medical History',
type: 'string'
}
},
output: {
'risk': {
description: 'Risk Rating', //optional
type: 'string' //optional
}
},
rules: {
'older 60 / good': {
'age': '>60',
'hist': 'good',
'risk': 'Medium'
},
'older 60 / bad': {
'age': '>60',
'hist': 'bad',
'risk': 'High'
},
'mid age': {
'age': '[25..60]',
'risk': 'Medium'
},
'kids / good': {
'age': '<25',
'hist': 'good',
'risk': 'Low'
},
'kids / bad)': {
'age': '<25',
'hist': 'bad',
'risk': 'Medium'
}
}
};
// example data sets, to be checked
var testData = [
{ 'age': '65', 'hist':'good'},
{ 'age': '70', 'hist':'bad'},
{ 'age': '26', 'hist':'good'},
{ 'age': '20', 'hist':'bad'},
{ 'age': '10', 'hist':'good'}
];
// create an instance
let table = new Table(testTable);
// use table to process data sets
for (let i=0; i< testData.length; i++) {
let result = table.result(testData[i]); // result.risk is set now
console.log(result.risk);
};
// create an instance direct..
let table = new Table(testTable);
// ...or set and compile separately
let table = new Table();
table.compile(testTable);
let testTable = {
description: 'Simple table',
hitPolicy: 'Unique',
input: {
'x': {
description: 'Input x',
type: 'number'
},
'y': {
description: 'Input y',
type: 'number',
default: 2
},
'a': {
description: 'Formula Input',
type: 'expression', // optional
expression: '2 * x + y' // check expr-eval for syntax
}
},
output: {
'z': {},
't': {}
},
rules: {
'First rule': {
'x': '< 5, [20..30]',
'y': '> 6,[30..40]',
'a': '< 15', // uses the calculated value
'z': '7',
't': 'first'
},
'Second rule': {
'x': '> 5',
'a': '> 15',
'z': '2',
't': 'second'
}
}
};
input: {
'x': {
description: 'Input x',
type: 'number',
default: '0' // 0 must be in quotes
},
'y': {
description: 'Input y',
type: 'number',
default: 2 // with or without quotes
}
}
FAQs
decision table
We found that cond-table demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.