import { overlayDefinitions, osmTags, } from './src/components/overlays/overlay-definitions'; // One timer // let tags = {}; // let overlays = {}; // for (const tagName of Object.keys(legacyOverlayDefinitions)) { // for (const tagValue of Object.keys(legacyOverlayDefinitions[tagName])) { // tags[tagValue] = { name: tagName, value: tagValue }; // for (const activity of Object.keys( // legacyOverlayDefinitions[tagName][tagValue] // )) { // if (!overlays[activity]) { // overlays[activity] = {}; // } // for (const category of Object.keys( // legacyOverlayDefinitions[tagName][tagValue][activity] // )) { // if (!overlays[activity][category]) { // overlays[activity][category] = []; // } // overlays[activity][category].push(tagValue); // } // } // } // } // console.log({ // caller: 'onetimer / result', // tags: JSON.stringify(tags), // overlays: JSON.stringify(overlays), // }); // End of one timer for (const overlayCategory of Object.keys(overlayDefinitions)) { let filters: any[] = ['any']; const definitions = overlayDefinitions[overlayCategory]; let tags = {}; for (const category of Object.keys(definitions)) { //console.log({ category }); for (const tagId of definitions[category]) { //console.log({ tagId }); const tag = osmTags[tagId]; if (!tags[tag.name]) { tags[tag.name] = []; } tags[tag.name].push(tag.value); } } for (const tagName of Object.keys(tags)) { let filter = ['in', tagName]; for (const tagValue of tags[tagName]) { filter.push(tagValue); } filters.push(filter); } console.log({ overlayCategory, filters: JSON.stringify(filters) }); }