-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
109 lines (100 loc) · 2.93 KB
/
index.js
File metadata and controls
109 lines (100 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
const data = require("./lib/data/rwanda.min.json")
const normalized = (name) => {
return name.toLowerCase()
}
/**
* @param {string} [province]
* @returns {array} placecodes
*/
exports.PlaceCodesByProvince = (province) => {
return data.filter(place => normalized(place["province_name"]).includes(normalized(province)))
}
/**
* @param {string} [province]
* @param {string} [district]
* @returns {array} placecodes
*/
exports.PlaceCodesByDistrict = (province, district) => {
let districts = []
data.forEach(location => {
if (normalized(location["province_name"]).includes(normalized(province))
&& normalized(location["district_name"]) == normalized(district)) {
districts.push(location)
}
})
return districts
}
/**
* @param {string} [province]
* @param {string} [district]
* @param {string} [sector]
* @returns {array} placecodes
*/
exports.PlaceCodesBySector = (province, district, sector) => {
let sectors = []
data.forEach(location => {
if (normalized(location["province_name"]).includes(normalized(province))
&& normalized(location["district_name"]) == normalized(district)
&& normalized(location["sector_name"]) == normalized(sector)) {
sectors.push(location)
}
})
return sectors
}
/**
* @param {string} [province]
* @param {string} [district]
* @param {string} [sector]
* @param {string} [cell]
* @returns {array} placecodes
*/
exports.PlaceCodesByCell = (province, district, sector, cell) => {
let cells = []
data.forEach(location => {
if (normalized(location["province_name"]).includes(normalized(province))
&& normalized(location["district_name"]) == normalized(district)
&& normalized(location["sector_name"]) == normalized(sector)
&& normalized(location["cell_name"]) == normalized(cell)) {
cells.push(location)
}
})
return cells
}
/**
* @param {string} [province]
* @param {string} [district]
* @param {string} [sector]
* @param {string} [cell]
* @param {string} [village]
* @returns {array} placecodes
*/
exports.PlaceCodesByVillage = (province, district, sector, cell, village) => {
let villages = []
data.forEach(location => {
if (normalized(location["province_name"]).includes(normalized(province))
&& normalized(location["district_name"]) == normalized(district)
&& normalized(location["sector_name"]) == normalized(sector)
&& normalized(location["cell_name"]) == normalized(cell)
&& normalized(location["village_name"]) == normalized(village)) {
villages.push(location)
}
})
return villages
}
/**
* @param {string} [code]
* @returns {array} placecodes
*/
exports.PlaceCodesByCode = (code) => {
let place = []
data.forEach(location => {
if (location["province_code"] == code
|| location["district_code"] == code
|| location["sector_code"] == code
|| location["cell_code"] == code
|| location["village_code"] == code) {
place.push(location)
}
})
return place
}