persona-community-5/.pnpm-store/v3/files/b5/b1c74a4c47c189b6b955dd73a07cf8cb5e43ae4fde4069487a7441cc7e5d33ffcdd31b53ec32bba0b8fca6e8f6c132b7fd824a4031aab2c25d8e5ab980f8f4
rdev-worker a1d0d1bf1c
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature community-ui --requirements 'Build the React commu...
2026-02-24 08:22:30 +00:00

63 lines
2.5 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("../util");
exports.default = (0, util_1.createRule)({
name: 'prefer-enum-initializers',
meta: {
type: 'suggestion',
docs: {
description: 'Require each enum member value to be explicitly initialized',
},
hasSuggestions: true,
messages: {
defineInitializer: "The value of the member '{{ name }}' should be explicitly defined.",
defineInitializerSuggestion: 'Can be fixed to {{ name }} = {{ suggested }}',
},
schema: [],
},
defaultOptions: [],
create(context) {
function TSEnumDeclaration(node) {
const { members } = node;
members.forEach((member, index) => {
if (member.initializer == null) {
const name = context.sourceCode.getText(member);
context.report({
node: member,
messageId: 'defineInitializer',
data: {
name,
},
suggest: [
{
messageId: 'defineInitializerSuggestion',
data: { name, suggested: index },
fix: (fixer) => {
return fixer.replaceText(member, `${name} = ${index}`);
},
},
{
messageId: 'defineInitializerSuggestion',
data: { name, suggested: index + 1 },
fix: (fixer) => {
return fixer.replaceText(member, `${name} = ${index + 1}`);
},
},
{
messageId: 'defineInitializerSuggestion',
data: { name, suggested: `'${name}'` },
fix: (fixer) => {
return fixer.replaceText(member, `${name} = '${name}'`);
},
},
],
});
}
});
}
return {
TSEnumDeclaration,
};
},
});
//# sourceMappingURL=prefer-enum-initializers.js.map