"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("@opticss/util");
var Match;
(function (Match) {
/**
* The element will definitively match the selector or selector component in
* at least dynamic one state.
*/
Match[Match["yes"] = 1] = "yes";
/**
* The element may match the selector or selector component; information is
* ambiguous.
*/
Match[Match["maybe"] = 2] = "maybe";
/** The element will not match the selector or selector component. */
Match[Match["no"] = 3] = "no";
/**
* The element is unrelated to the selector or selector component and no
* information about whether the element matches can be determined.
*/
Match[Match["pass"] = 4] = "pass";
})(Match = exports.Match || (exports.Match = {}));
/**
* true => Match.yes
* false => Match.no
* null => Match.pass
* undefined => Match.maybe
*/
function boolToMatch(value) {
if (value === true) {
return Match.yes;
}
else Eif (value === false) {
return Match.no;
}
else if (value === undefined) {
return Match.maybe;
}
else {
return Match.pass;
}
}
exports.boolToMatch = boolToMatch;
function matchToBool(match) {
switch (match) {
case Match.yes:
return true;
case Match.no:
return false;
case Match.maybe:
return undefined;
case Match.pass:
return null;
default:
return util_1.assertNever(match);
}
}
exports.matchToBool = matchToBool;
function matches(m) {
return m === Match.yes || m === Match.maybe;
}
exports.matches = matches;
function rejects(m) {
return m === Match.no;
}
exports.rejects = rejects;
function negate(m) {
if (matches(m)) {
return Match.no;
}
else Eif (rejects(m)) {
return Match.yes;
}
else {
return m;
}
}
exports.negate = negate;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTWF0Y2gvTWF0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx3Q0FBNEM7QUFFNUMsSUFBWSxLQWtCWDtBQWxCRCxXQUFZLEtBQUs7SUFDZjs7O09BR0c7SUFDSCwrQkFBTyxDQUFBO0lBQ1A7OztPQUdHO0lBQ0gsbUNBQUssQ0FBQTtJQUNMLHFFQUFxRTtJQUNyRSw2QkFBRSxDQUFBO0lBQ0Y7OztPQUdHO0lBQ0gsaUNBQUksQ0FBQTtBQUNOLENBQUMsRUFsQlcsS0FBSyxHQUFMLGFBQUssS0FBTCxhQUFLLFFBa0JoQjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQTRCLEtBQWlDO0lBQzNELElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtRQUNsQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUM7S0FDbEI7U0FBTSxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDMUIsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO0tBQ2pCO1NBQU0sSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztLQUNwQjtTQUFNO1FBQ0wsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO0tBQ25CO0FBQ0gsQ0FBQztBQVZELGtDQVVDO0FBRUQscUJBQTRCLEtBQVk7SUFDdEMsUUFBUSxLQUFLLEVBQUU7UUFDYixLQUFLLEtBQUssQ0FBQyxHQUFHO1lBQ1osT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLEtBQUssQ0FBQyxLQUFLO1lBQ2QsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxLQUFLLENBQUMsSUFBSTtZQUNiLE9BQU8sSUFBSSxDQUFDO1FBQ2Q7WUFDRSxPQUFPLGtCQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDN0I7QUFDSCxDQUFDO0FBYkQsa0NBYUM7QUFFRCxpQkFBd0IsQ0FBUTtJQUM5QixPQUFPLENBQUMsS0FBSyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQzlDLENBQUM7QUFGRCwwQkFFQztBQUVELGlCQUF3QixDQUFRO0lBQzlCLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUZELDBCQUVDO0FBRUQsZ0JBQXVCLENBQVE7SUFDN0IsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDZCxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7S0FDakI7U0FBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNyQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUM7S0FDbEI7U0FBTTtRQUNMLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7QUFDSCxDQUFDO0FBUkQsd0JBUUMifQ== |