{"version":3,"sources":["../../src/tokenize/rules.ts"],"sourcesContent":["import type { config } from \"../config\";\nimport { UNKNOWN_RULE } from \"../config\";\n\nconst regexMap = new Map<string, RegExp>();\n\nconst transformKeyToRegExp = ({\n  key,\n  ...rest\n}: {\n  key: string;\n  [k: string]: any;\n}) => {\n  let re = regexMap.get(key);\n\n  if (!regexMap.has(key)) {\n    // eslint-disable-next-line security/detect-non-literal-regexp\n    re = new RegExp(key, \"g\");\n    regexMap.set(key, re);\n  }\n\n  return {\n    key: re!,\n    ...rest,\n  };\n};\n\nexport function rules(cfg: typeof config) {\n  // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n  cfg.rules.push(UNKNOWN_RULE);\n  return cfg.rules.map(transformKeyToRegExp);\n}\n"],"mappings":";;;;;AAGA,IAAM,WAAW,oBAAI,IAAoB;AAEzC,IAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,MAGM;AACJ,MAAI,KAAK,SAAS,IAAI,GAAG;AAEzB,MAAI,CAAC,SAAS,IAAI,GAAG,GAAG;AAEtB,SAAK,IAAI,OAAO,KAAK,GAAG;AACxB,aAAS,IAAI,KAAK,EAAE;AAAA,EACtB;AAEA,SAAO;AAAA,IACL,KAAK;AAAA,IACL,GAAG;AAAA,EACL;AACF;AAEO,SAAS,MAAM,KAAoB;AAExC,MAAI,MAAM,KAAK,YAAY;AAC3B,SAAO,IAAI,MAAM,IAAI,oBAAoB;AAC3C;","names":[]}