import {
  a as r,
  c as u
} from "./chunk-IO47FP3U.js";

// ../node_modules/refractor/lang/firestore-security-rules.js
var i = u((a, s) => {
  s.exports = t;
  t.displayName = "firestoreSecurityRules";
  t.aliases = [];
  function t(e) {
    e.languages["firestore-security-rules"] = e.languages.extend(
      "clike",
      {
        comment: /\/\/.*/,
        keyword: /\b(?:allow|function|if|match|null|return|rules_version|service)\b/,
        operator: /&&|\|\||[<>!=]=?|[-+*/%]|\b(?:in|is)\b/
      }
    ), delete e.languages["firestore-security-rules"]["class-name"], e.languages.insertBefore("firestore-security-rules", "keyword", {
      path: {
        pattern: /(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/,
        lookbehind: !0,
        greedy: !0,
        inside: {
          variable: {
            pattern: /\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/,
            inside: {
              operator: /=/,
              keyword: /\*\*/,
              punctuation: /[.$(){}]/
            }
          },
          punctuation: /\//
        }
      },
      method: {
        // to make the pattern shorter, the actual method names are omitted
        pattern: /(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/,
        lookbehind: !0,
        alias: "builtin",
        inside: {
          punctuation: /,/
        }
      }
    });
  }
  r(t, "firestoreSecurityRules");
});

export {
  i as a
};
