@nodescript/stdlib
Version:
Standard Node Definitions
54 lines (53 loc) • 1.54 kB
JavaScript
var CompareOp;
(function (CompareOp) {
CompareOp["Equal"] = "Equal";
CompareOp["NotEqual"] = "Not Equal";
CompareOp["GreaterThan"] = "Greater Than";
CompareOp["GreaterThanOrEqual"] = "Greater Than or Equal";
CompareOp["LessThan"] = "Less Than";
CompareOp["LessThanOrEqual"] = "Less Than or Equal";
})(CompareOp || (CompareOp = {}));
export const module = {
version: '1.2.3',
moduleName: 'Logic / Compare',
labelParam: 'op',
description: 'Compares two values using the specified operator.',
keywords: ['compare', 'greater', 'less', 'than', 'equals'],
params: {
op: {
schema: {
type: 'string',
enum: Object.values(CompareOp),
default: CompareOp.Equal,
},
},
a: {
schema: { type: 'any' },
},
b: {
schema: { type: 'any' },
},
},
result: {
schema: { type: 'boolean' },
}
};
export const compute = (params, ctx) => {
const { a, b, op } = params;
switch (op) {
case CompareOp.Equal:
return ctx.lib.anyEquals(a, b);
case CompareOp.NotEqual:
return !ctx.lib.anyEquals(a, b);
case CompareOp.LessThan:
return a < b;
case CompareOp.LessThanOrEqual:
return a <= b;
case CompareOp.GreaterThan:
return a > b;
case CompareOp.GreaterThanOrEqual:
return a >= b;
default:
return false;
}
};