ecmarkup
Version:
Custom element definitions and core utilities for markup that specifies ECMAScript and related technologies.
25 lines (24 loc) • 848 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const utils_1 = require("../../utils");
const ruleId = 'enum-casing';
/*
Checks that ~enum-values~ are kebab-cased.
*/
function default_1(report, step, algorithmSource) {
for (const item of step.contents) {
if (item.name !== 'tilde' || item.contents.length !== 1 || item.contents[0].name !== 'text') {
continue;
}
const text = item.contents[0];
if (/[\p{Uppercase_Letter}\s]/u.test(text.contents)) {
const location = (0, utils_1.offsetToLineAndColumn)(algorithmSource, text.location.start.offset);
report({
ruleId,
message: 'enum values should be lowercase and kebab-cased',
...location,
});
}
}
}
;