forked from psmithuk/iso-countries
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcountries.js.template
More file actions
99 lines (81 loc) · 2.39 KB
/
countries.js.template
File metadata and controls
99 lines (81 loc) · 2.39 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
(function() {
var iso = {};
// global on the server, window in the browser
var root = this,
previous_iso = root.iso;
if (typeof module !== 'undefined' && module.exports) {
module.exports = iso;
} else {
root.iso = iso;
}
iso.noConflict = function() {
root.iso = previous_iso;
return iso;
};
iso.version = '0.1';
iso.countries = '%%countries%%';
iso.currencies = '%%currencies%%';
iso.findCountryByCode = function(code) {
for (var prop in iso.countries) {
if (iso.countries.hasOwnProperty(prop)) {
if (iso.countries[prop].alpha2 == code || iso.countries[prop].alpha3 == code) return iso.countries[prop];
}
}
};
iso.findCountryByNumber = function(num) {
num = parseInt(num, 10);
for (var prop in iso.countries) {
if (iso.countries.hasOwnProperty(prop)) {
if (parseInt(iso.countries[prop].number, 10) == num) return iso.countries[prop];
}
}
};
iso.findCountryByName = function(name) {
for (var prop in iso.countries) {
if (iso.countries.hasOwnProperty(prop)) {
if (iso.countries[prop]['name'] == name) return iso.countries[prop];
else if (iso.countries[prop]['names'] && iso.countries[prop]['names'].indexOf(name) > -1) return iso.countries[prop];
}
}
};
iso.findCountriesByRegion = function(region) {
var results = [];
for (var prop in iso.countries) {
if (iso.countries.hasOwnProperty(prop)) {
if (iso.countries[prop]['region'] == region) {
results.push(iso.countries[prop]);
}
}
}
if (!results.length) return undefined;
return results;
};
iso.getSimpleCountryList = function() {
var results = [];
for(var prop in iso.countries) {
results.push({
value: iso.countries[prop].value,
name: iso.countries[prop].name
});
}
return results.sort(function(a,b) {
if (a.name < b.name) return -1;
if (a.name > b.name) return 1;
return 0;
});
};
iso.getAllISOCodes = function() {
return Object.keys(iso.countries).sort(function (a,b) {
if (a < b) return -1;
if (a > b) return 1;
return 0;
});
}
iso.findCurrency = function(currency) {
for (var prop in iso.currencies) {
if (iso.currencies.hasOwnProperty(prop)) {
if (iso.currencies[prop]['value'] == currency) return iso.currencies[prop];
}
}
};
}());