algeria-wilayas
Version:
A comprehensive package for handling Algerian administrative divisions
33 lines (32 loc) • 1.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// src/scripts/extractWilayas.ts
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const extractWilayas = () => {
// Read communes file
const rawData = JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, '../data/communes.json'), 'utf-8'));
// Create a Map to store unique wilayas
const wilayasMap = new Map();
// Process each commune to extract wilaya information
rawData.forEach(commune => {
if (!wilayasMap.has(commune.wilaya_code)) {
wilayasMap.set(commune.wilaya_code, {
code: commune.wilaya_code,
name: {
arabic: commune.wilaya_name,
ascii: commune.wilaya_name_ascii
}
});
}
});
// Convert Map to array and sort by wilaya code
const wilayas = Array.from(wilayasMap.values()).sort((a, b) => Number(a.code) - Number(b.code));
// Write to file
fs_1.default.writeFileSync(path_1.default.join(__dirname, '../data/wilayas.json'), JSON.stringify(wilayas, null, 2));
console.log(`Successfully extracted ${wilayas.length} wilayas`);
};
extractWilayas();