UNPKG

postal-code-scraper

Version:

A tool for scraping country data, including regions and their postal codes

27 lines (26 loc) 981 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRegionIdGenerator = void 0; const createRegionIdGenerator = () => { const regionRegistry = new Map(); const counterMap = new Map(); return (regions) => { const normalized = regions.map((region) => region .trim() .toLowerCase() .normalize("NFD") .replace(/[\u0300-\u036f]/g, "") .replace(/\s+/g, "_")); const compositeKey = normalized.join("|"); if (regionRegistry.has(compositeKey)) { return regionRegistry.get(compositeKey); } const baseName = normalized[normalized.length - 1]; const count = (counterMap.get(baseName) || 0) + 1; counterMap.set(baseName, count); const newId = `${baseName}_${count}`; regionRegistry.set(compositeKey, newId); return newId; }; }; exports.createRegionIdGenerator = createRegionIdGenerator;