molstar
Version:
A comprehensive macromolecular library.
120 lines • 4.73 kB
JavaScript
/**
* Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Predicates = void 0;
var Predicates;
(function (Predicates) {
function isSetLike(x) { return !!x && !!x.has; }
function eq(p, value) { return function (l) { return p(l) === value; }; }
Predicates.eq = eq;
function lt(p, value) { return function (l) { return p(l) < value; }; }
Predicates.lt = lt;
function lte(p, value) { return function (l) { return p(l) <= value; }; }
Predicates.lte = lte;
function gt(p, value) { return function (l) { return p(l) > value; }; }
Predicates.gt = gt;
function gte(p, value) { return function (l) { return p(l) >= value; }; }
Predicates.gte = gte;
function _true(ctx) { return true; }
function _false(ctx) { return false; }
function inSet(p, values) {
if (isSetLike(values)) {
return function (l) { return values.has(p(l)); };
}
else {
if (values.length === 0)
return _false;
var set_1 = new Set();
for (var i = 0; i < values.length; i++)
set_1.add(values[i]);
return function (l) { return set_1.has(p(l)); };
}
}
Predicates.inSet = inSet;
function and() {
var ps = [];
for (var _i = 0; _i < arguments.length; _i++) {
ps[_i] = arguments[_i];
}
switch (ps.length) {
case 0: return _true;
case 1: return ps[0];
case 2: {
var a_1 = ps[0], b_1 = ps[1];
return function (l) { return a_1(l) && b_1(l); };
}
case 3: {
var a_2 = ps[0], b_2 = ps[1], c_1 = ps[2];
return function (l) { return a_2(l) && b_2(l) && c_1(l); };
}
case 4: {
var a_3 = ps[0], b_3 = ps[1], c_2 = ps[2], d_1 = ps[3];
return function (l) { return a_3(l) && b_3(l) && c_2(l) && d_1(l); };
}
case 5: {
var a_4 = ps[0], b_4 = ps[1], c_3 = ps[2], d_2 = ps[3], e_1 = ps[4];
return function (l) { return a_4(l) && b_4(l) && c_3(l) && d_2(l) && e_1(l); };
}
case 6: {
var a_5 = ps[0], b_5 = ps[1], c_4 = ps[2], d_3 = ps[3], e_2 = ps[4], f_1 = ps[5];
return function (l) { return a_5(l) && b_5(l) && c_4(l) && d_3(l) && e_2(l) && f_1(l); };
}
default: {
var count_1 = ps.length;
return function (l) {
for (var i = 0; i < count_1; i++)
if (!ps[i])
return false;
return true;
};
}
}
}
Predicates.and = and;
function or() {
var ps = [];
for (var _i = 0; _i < arguments.length; _i++) {
ps[_i] = arguments[_i];
}
switch (ps.length) {
case 0: return _false;
case 1: return ps[0];
case 2: {
var a_6 = ps[0], b_6 = ps[1];
return function (l) { return a_6(l) || b_6(l); };
}
case 3: {
var a_7 = ps[0], b_7 = ps[1], c_5 = ps[2];
return function (l) { return a_7(l) || b_7(l) || c_5(l); };
}
case 4: {
var a_8 = ps[0], b_8 = ps[1], c_6 = ps[2], d_4 = ps[3];
return function (l) { return a_8(l) || b_8(l) || c_6(l) || d_4(l); };
}
case 5: {
var a_9 = ps[0], b_9 = ps[1], c_7 = ps[2], d_5 = ps[3], e_3 = ps[4];
return function (l) { return a_9(l) || b_9(l) || c_7(l) || d_5(l) || e_3(l); };
}
case 6: {
var a_10 = ps[0], b_10 = ps[1], c_8 = ps[2], d_6 = ps[3], e_4 = ps[4], f_2 = ps[5];
return function (l) { return a_10(l) || b_10(l) || c_8(l) || d_6(l) || e_4(l) || f_2(l); };
}
default: {
var count_2 = ps.length;
return function (l) {
for (var i = 0; i < count_2; i++)
if (ps[i])
return true;
return false;
};
}
}
}
Predicates.or = or;
})(Predicates || (Predicates = {}));
exports.Predicates = Predicates;
//# sourceMappingURL=predicates.js.map
;