Security News
Opengrep Emerges as Open Source Alternative Amid Semgrep Licensing Controversy
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
KsEval is a versatile and powerful library for Node.js that empowers developers to dynamically evaluate arithmetic, algebraic, and logical expressions expressed in text format. This library excels in flexibility, allowing you to seamlessly interpolate data from objects and variables specified through parameters. MathEvalJS goes beyond simple expression evaluation by providing extensive customization options, enabling developers to define and overload functions for formatting, sanitizing, destructuring, and interpolating.
This library belong to the Ksike ecosystem:
Explore the possibilities of dynamic expression evaluation with KsEval, where flexibility meets efficiency for all your mathematical and logical computation needs.
npm install kseval
const kseval = require ("kseval");
const data = {
age: 25,
status: 'Regular',
address: {
code: 111
}
}
console.log(
kseval.native.run("age < 39 && status === 'Regular'", data) === true,
kseval.native.run("age > 20 || status === 'Premium'", data) === false,
kseval.native.run("!(age <= 18 || status === 'Premium')", data) === true,
);
console.log(
kseval.native.run("25 LESS THAN 30", data) === true,
kseval.native.run("25 LESS THAN 25", data) === false,
kseval.native.run("25 LESS THAN EQUAL 25", data) === true,
kseval.native.run("25 GREATER THAN 20", data) === true,
kseval.native.run("25 GREATER THAN 25", data) === false,
kseval.native.run("25 GREATER THAN EQUAL 25", data) === true,
kseval.native.run("25 DISTINCT 25", data) === false,
kseval.native.run("25 DISTINCT 27", data) === true,
kseval.native.run("25 DIFFERENT 27", data) === true,
kseval.native.run("25 EQUAL 25", data) === true,
kseval.native.run("age LESS THAN 39 AND status DISTINCT 'Premium'", data) === true,
kseval.native.run("age GREATER THAN 39 OR status EQUAL 'Premium'", data) === false,
kseval.native.run("NOT(age LESS THAN EQUAL 18 OR status EQUAL 'Premium')", data) === true,
kseval.native.run("NOT(age GREATER THAN EQUAL 39 OR status EQUAL 'Premium')", data) === true,
);
const opt = {
format(expression, data, opt) {
expression = expression.replace(/VL/ig, data.age);
expression = expression.replace(/MYEQUAL/ig, "==");
return { expression, data, opt };
}
};
console.log(
lib.native.run("age > 18 AND age MYEQUAL VL", data, opt) === true
);
class MyPrs extends kseval.native.Cls {
format(expression, data, opt) {
expression = expression.replace(/VL/ig, data.age);
expression = expression.replace(/MYEQUAL/ig, "==");
return { expression, data, opt };
}
}
const myPrs = new MyPrs();
console.log(
myPrs.run("age > 18 AND age MYEQUAL VL", data) === true
);
FAQs
Ksike Expression Evaluator
We found that kseval 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
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.