'use strict';
import { createEslintRule } from '@flint/infra/create-eslint-rule';
import { nodeTypes } from '@flint/infra/analysis';
import { eslintRuleSyntax } from '@flint/infra/constants/eslint-rule-syntax';

var __defProp=Object['defineProperty'],__name=(_0x5dc6e5,_0xebb075)=>__defProp(_0x5dc6e5,'name',{'value':_0xebb075,'configurable':!![]});const ruleName='must-not-use-placeholders-in-eslint-rule-titles';const ruleContent='\x0a###\x20**Must\x20not**\x20use\x20placeholders\x20in\x20eslint\x20rule\x20titles\x0a\x0a####\x20Wrong\x0a\x0a###\x20**Must**\x20use\x20{{name}}\x20in\x20rule\x20title.\x0a\x0a####\x20Correct\x0a\x0a###\x20**Must**\x20use\x20static\x20text\x20in\x20rule\x20title.\x0a\x0a####\x20Why\x0a\x0aRule\x20titles\x20must\x20be\x20static.\x20Dynamic\x20placeholders\x20make\x20messages\x20unclear,\x20inconsistent,\x20and\x20harder\x20to\x20search\x20or\x20reference.\x0a',rule=createEslintRule(ruleName,ruleContent,__name(function create(_0x152f51){return {'VariableDeclarator'(_0xfb1f49){let _0x192bef=![];if(_0xfb1f49['id']['type']===nodeTypes['identifier']&&_0xfb1f49['id']['name']===eslintRuleSyntax['ruleContent']&&_0xfb1f49['init']&&_0xfb1f49['init']['type']===nodeTypes['templateLiteral']){const _0x4aa8b9=_0xfb1f49['init']['quasis']['map'](_0x3ae79a=>_0x3ae79a['value']['cooked']??'')['join'](''),_0x57e414=_0x4aa8b9['split']('\x0a')['map'](_0x462145=>_0x462145['trim']())['find'](_0x91bdc8=>_0x91bdc8['startsWith']('###'));_0x57e414&&_0x57e414['includes']('{{')&&_0x57e414['includes']('}}')&&(_0x192bef=!![]);}_0x192bef&&_0x152f51['report']({'node':_0xfb1f49['id'],'messageId':ruleName});}};},'create'));

export { rule as default, ruleName };
