From c982ef189fdcb8994624530f2ea39cda766d9b4c Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Wed, 25 Sep 2019 15:48:11 +0200 Subject: [PATCH] Simplify field validation code --- build_data.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/build_data.js b/build_data.js index 6711f2045..5135ee259 100644 --- a/build_data.js +++ b/build_data.js @@ -648,22 +648,22 @@ function validatePresetFields(presets, fields) { var fieldKeys = ['fields', 'moreFields']; for (var fieldsKeyIndex in fieldKeys) { var fieldsKey = fieldKeys[fieldsKeyIndex]; - if (preset[fieldsKey]) { - for (var fieldIndex in preset[fieldsKey]) { - var field = preset[fieldsKey][fieldIndex]; - if (fields[field] === undefined) { - var regexResult = betweenBracketsRegex.exec(field); - if (regexResult) { - var foreignPresetID = regexResult[0]; - if (presets[foreignPresetID] === undefined) { - console.error('Unknown preset "' + foreignPresetID + '" referenced in "' + fieldsKey + '" array of preset ' + preset.name); - process.exit(1); - } - } else { - console.error('Unknown preset field "' + field + '" in "' + fieldsKey + '" array of preset ' + preset.name); - process.exit(1); - } + if (!preset[fieldsKey]) continue; // no fields are referenced, okay + + for (var fieldIndex in preset[fieldsKey]) { + var field = preset[fieldsKey][fieldIndex]; + if (fields[field] !== undefined) continue; // field found, okay + + var regexResult = betweenBracketsRegex.exec(field); + if (regexResult) { + var foreignPresetID = regexResult[0]; + if (presets[foreignPresetID] === undefined) { + console.error('Unknown preset "' + foreignPresetID + '" referenced in "' + fieldsKey + '" array of preset ' + preset.name); + process.exit(1); } + } else { + console.error('Unknown preset field "' + field + '" in "' + fieldsKey + '" array of preset ' + preset.name); + process.exit(1); } } }