UNPKG

@nodescript/stdlib

Version:
54 lines (53 loc) 1.54 kB
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; } };