import { __exports as i } from "../../../../../../../_virtual/guards.js";
import { __exports as U } from "../../../../../../../_virtual/guards.js";
import "./types.js";
import { __exports as v } from "../../../../../../../_virtual/types.js";
i.__esModule = !0;
i.isNode = a;
i.isPseudoElement = T;
i.isPseudoClass = R;
i.isContainer = O;
i.isNamespace = A;
i.isUniversal = i.isTag = i.isString = i.isSelector = i.isRoot = i.isPseudo = i.isNesting = i.isIdentifier = i.isComment = i.isCombinator = i.isClassName = i.isAttribute = void 0;
var s = v, t, C = (t = {}, t[s.ATTRIBUTE] = !0, t[s.CLASS] = !0, t[s.COMBINATOR] = !0, t[s.COMMENT] = !0, t[s.ID] = !0, t[s.NESTING] = !0, t[s.PSEUDO] = !0, t[s.ROOT] = !0, t[s.SELECTOR] = !0, t[s.STRING] = !0, t[s.TAG] = !0, t[s.UNIVERSAL] = !0, t);
function a(e) {
  return typeof e == "object" && C[e.type];
}
function r(e, u) {
  return a(u) && u.type === e;
}
var l = r.bind(null, s.ATTRIBUTE);
i.isAttribute = l;
var N = r.bind(null, s.CLASS);
i.isClassName = N;
var m = r.bind(null, s.COMBINATOR);
i.isCombinator = m;
var S = r.bind(null, s.COMMENT);
i.isComment = S;
var b = r.bind(null, s.ID);
i.isIdentifier = b;
var d = r.bind(null, s.NESTING);
i.isNesting = d;
var n = r.bind(null, s.PSEUDO);
i.isPseudo = n;
var f = r.bind(null, s.ROOT);
i.isRoot = f;
var E = r.bind(null, s.SELECTOR);
i.isSelector = E;
var I = r.bind(null, s.STRING);
i.isString = I;
var o = r.bind(null, s.TAG);
i.isTag = o;
var p = r.bind(null, s.UNIVERSAL);
i.isUniversal = p;
function T(e) {
  return n(e) && e.value && (e.value.startsWith("::") || e.value.toLowerCase() === ":before" || e.value.toLowerCase() === ":after" || e.value.toLowerCase() === ":first-letter" || e.value.toLowerCase() === ":first-line");
}
function R(e) {
  return n(e) && !T(e);
}
function O(e) {
  return !!(a(e) && e.walk);
}
function A(e) {
  return l(e) || o(e);
}
export {
  U as default
};
//# sourceMappingURL=guards.js.map
