'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=(_0xd5022,_0x31eee7)=>__defProp(_0xd5022,'name',{'value':_0x31eee7,'configurable':!![]});const ruleName='must-use-rule-name-as-message-id-in-tests';const ruleContent='\x0a###\x20**Must**\x20use\x20ruleName\x20as\x20messageId\x20in\x20rule\x20tests.\x0a\x0a####\x20Wrong\x0a\x0aerrors:\x20[{\x20messageId:\x20\x22foo\x22\x20}];\x0a\x0a####\x20Correct\x0a\x0aerrors:\x20[{\x20messageId:\x20ruleName\x20}];\x0a\x0a####\x20Why\x0a\x0aUsing\x20ruleName\x20instead\x20of\x20hardcoded\x20string\x20values\x20ensures\x20consistency\x20between\x20the\x20rule\x20implementation\x20and\x20its\x20tests,\x20reduces\x20duplication,\x20and\x20prevents\x20errors\x20when\x20renaming\x20message\x20IDs.';var mustUseRuleNameAsMessageIdInTests = createEslintRule(ruleName,ruleContent,__name(function create(_0x46623f){return {'Property'(_0x505f08){_0x505f08['key']['type']===nodeTypes['identifier']&&_0x505f08['key']['name']===eslintRuleSyntax['messageId']&&_0x505f08['value']['type']===nodeTypes['literal']&&_0x46623f['report']({'node':_0x505f08['value'],'messageId':ruleName});}};},'create'));

export { mustUseRuleNameAsMessageIdInTests as default, ruleName };
