From 7963d414a73f3031ff52d4076f8c2cfe68826150 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 30 Jan 2024 08:18:43 -0400 Subject: yaml: fix duplicate directory double-reporting (or more) --- src/data/yaml.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/data/yaml.js') diff --git a/src/data/yaml.js b/src/data/yaml.js index 342924e0..e47da51c 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -1028,13 +1028,13 @@ export function filterDuplicateDirectories(wikiData) { const thingData = wikiData[thingDataProp]; aggregate.nest({message: `Duplicate directories found in ${colors.green('wikiData.' + thingDataProp)}`}, ({call}) => { const directoryPlaces = Object.create(null); - const duplicateDirectories = []; + const duplicateDirectories = new Set(); for (const thing of thingData) { const {directory} = thing; if (directory in directoryPlaces) { directoryPlaces[directory].push(thing); - duplicateDirectories.push(directory); + duplicateDirectories.add(directory); } else { directoryPlaces[directory] = [thing]; } @@ -1042,13 +1042,15 @@ export function filterDuplicateDirectories(wikiData) { if (empty(duplicateDirectories)) return; - duplicateDirectories.sort((a, b) => { - const aL = a.toLowerCase(); - const bL = b.toLowerCase(); - return aL < bL ? -1 : aL > bL ? 1 : 0; - }); + const sortedDuplicateDirectories = + Array.from(duplicateDirectories) + .sort((a, b) => { + const aL = a.toLowerCase(); + const bL = b.toLowerCase(); + return aL < bL ? -1 : aL > bL ? 1 : 0; + }); - for (const directory of duplicateDirectories) { + for (const directory of sortedDuplicateDirectories) { const places = directoryPlaces[directory]; call(() => { throw new Error( -- cgit 1.3.0-6-gf8a5