diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/data/yaml.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/data/yaml.js b/src/data/yaml.js index f8591311..0c1e76bc 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -229,7 +229,7 @@ function makeProcessDocument(thingConstructor, { const fieldCombinationErrors = []; - for (const {message, fields: fieldsSpec} of invalidFieldCombinations) { + for (const {message, fields: fieldsSpec, drop} of invalidFieldCombinations) { const fieldsPresent = fieldsSpec.flatMap(fieldSpec => { if (Array.isArray(fieldSpec)) { @@ -259,7 +259,12 @@ function makeProcessDocument(thingConstructor, { fieldsSpec, message)); - for (const field of Object.keys(filteredDocument)) { + const dropFields = + (drop + ? Object.keys(filteredDocument).filter(key => drop.includes(key)) + : Object.keys(filteredDocument)); + + for (const field of dropFields) { skippedFields.add(field); } } |