algeria-wilayas
Version:
A comprehensive package for handling Algerian administrative divisions
34 lines (33 loc) • 1.41 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const extractDairas = () => {
const rawData = JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, '../data/communes.json'), 'utf-8'));
const dairasMap = new Map();
rawData.forEach(commune => {
const dairaKey = `${commune.wilaya_code}-${commune.daira_name_ascii}`;
if (!dairasMap.has(dairaKey)) {
dairasMap.set(dairaKey, {
id: dairaKey,
name: {
arabic: commune.daira_name,
ascii: commune.daira_name_ascii
},
wilaya_code: commune.wilaya_code
});
}
});
const dairas = Array.from(dairasMap.values()).sort((a, b) => {
if (a.wilaya_code !== b.wilaya_code) {
return Number(a.wilaya_code) - Number(b.wilaya_code);
}
return a.name.ascii.localeCompare(b.name.ascii);
});
fs_1.default.writeFileSync(path_1.default.join(__dirname, '../data/dairas.json'), JSON.stringify(dairas, null, 2));
console.log(`Successfully extracted ${dairas.length} dairas`);
};
extractDairas();