@textlint/kernel
Version:
textlint kernel is core logic by pure JavaScript.
38 lines • 1.19 kB
JavaScript
// LICENSE : MIT
;
import { TextlintRuleSeverityLevelKeys } from "../context/TextlintRuleSeverityLevelKeys";
const isSeverityLevelValue = (type) => {
if (type === undefined) {
throw new Error(`Please set following value to severity:
"rule-key": {
"severity": "<warning|error>"
}`);
}
return true;
};
/**
* get severity level from ruleConfig.
* @param {Object|boolean|undefined} ruleConfig
* @returns {number}
*/
export function getSeverity(ruleConfig) {
if (ruleConfig === undefined) {
return TextlintRuleSeverityLevelKeys.error;
}
// rule:<true|false>
if (typeof ruleConfig === "boolean") {
return ruleConfig ? TextlintRuleSeverityLevelKeys.error : TextlintRuleSeverityLevelKeys.none;
}
if (ruleConfig.severity) {
const severityValue = TextlintRuleSeverityLevelKeys[ruleConfig.severity];
if (!isSeverityLevelValue(severityValue)) {
throw new Error(`Please set following value to severity:
"rule-key": {
"severity": "<warning|error>"
}`);
}
return severityValue;
}
return TextlintRuleSeverityLevelKeys.error;
}
//# sourceMappingURL=rule-severity.js.map