From f23e0c9c95a7c0803694ea91b0ea55079e8f52d6 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 1 Feb 2020 20:51:30 -0500 Subject: [PATCH] Validate Deinflector.ruleTypes --- ext/bg/js/deinflector.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/ext/bg/js/deinflector.js b/ext/bg/js/deinflector.js index 33b2a8b3..e2ced965 100644 --- a/ext/bg/js/deinflector.js +++ b/ext/bg/js/deinflector.js @@ -76,17 +76,19 @@ class Deinflector { const ruleTypes = Deinflector.ruleTypes; let value = 0; for (const rule of rules) { - value |= ruleTypes[rule]; + const ruleBits = ruleTypes.get(rule); + if (typeof ruleBits === 'undefined') { continue; } + value |= ruleBits; } return value; } } -Deinflector.ruleTypes = { - 'v1': 0b0000001, // Verb ichidan - 'v5': 0b0000010, // Verb godan - 'vs': 0b0000100, // Verb suru - 'vk': 0b0001000, // Verb kuru - 'adj-i': 0b0010000, // Adjective i - 'iru': 0b0100000 // Intermediate -iru endings for progressive or perfect tense -}; +Deinflector.ruleTypes = new Map([ + ['v1', 0b0000001], // Verb ichidan + ['v5', 0b0000010], // Verb godan + ['vs', 0b0000100], // Verb suru + ['vk', 0b0001000], // Verb kuru + ['adj-i', 0b0010000], // Adjective i + ['iru', 0b0100000] // Intermediate -iru endings for progressive or perfect tense +]);