UNPKG

cql-execution

Version:

An execution framework for the Clinical Quality Language (CQL)

61 lines (51 loc) 1.5 kB
// Generated by CoffeeScript 1.9.3 (function() { var ThreeValuedLogic, slice = [].slice, indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; module.exports.ThreeValuedLogic = ThreeValuedLogic = (function() { function ThreeValuedLogic() {} ThreeValuedLogic.and = function() { var val; val = 1 <= arguments.length ? slice.call(arguments, 0) : []; if (indexOf.call(val, false) >= 0) { return false; } else if (indexOf.call(val, null) >= 0) { return null; } else { return true; } }; ThreeValuedLogic.or = function() { var val; val = 1 <= arguments.length ? slice.call(arguments, 0) : []; if (indexOf.call(val, true) >= 0) { return true; } else if (indexOf.call(val, null) >= 0) { return null; } else { return false; } }; ThreeValuedLogic.xor = function() { var val; val = 1 <= arguments.length ? slice.call(arguments, 0) : []; if (indexOf.call(val, null) >= 0) { return null; } else { return val.reduce(function(a, b) { return (!a ^ !b) === 1; }); } }; ThreeValuedLogic.not = function(val) { if (val != null) { return !val; } else { return null; } }; return ThreeValuedLogic; })(); }).call(this); //# sourceMappingURL=logic.js.map