| /** |
| * @fileoverview Helpers for severity values (e.g. normalizing different types). |
| * @author Bryan Mishkin |
| */ |
| |
| "use strict"; |
| |
| /** |
| * Convert severity value of different types to a string. |
| * @param {string|number} severity severity value |
| * @throws error if severity is invalid |
| * @returns {string} severity string |
| */ |
| function normalizeSeverityToString(severity) { |
| if ([2, "2", "error"].includes(severity)) { |
| return "error"; |
| } |
| if ([1, "1", "warn"].includes(severity)) { |
| return "warn"; |
| } |
| if ([0, "0", "off"].includes(severity)) { |
| return "off"; |
| } |
| throw new Error(`Invalid severity value: ${severity}`); |
| } |
| |
| /** |
| * Convert severity value of different types to a number. |
| * @param {string|number} severity severity value |
| * @throws error if severity is invalid |
| * @returns {number} severity number |
| */ |
| function normalizeSeverityToNumber(severity) { |
| if ([2, "2", "error"].includes(severity)) { |
| return 2; |
| } |
| if ([1, "1", "warn"].includes(severity)) { |
| return 1; |
| } |
| if ([0, "0", "off"].includes(severity)) { |
| return 0; |
| } |
| throw new Error(`Invalid severity value: ${severity}`); |
| } |
| |
| module.exports = { |
| normalizeSeverityToString, |
| normalizeSeverityToNumber, |
| }; |