Skip to content

Commit 678abe0

Browse files
committed
Add regions for Bahamas (BS), Costa Rica (CR), Panama (PA), Papua New Guinea (PG), United States Minor Outlying Islands (UM).
1 parent 9d6cb1e commit 678abe0

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Backstory: https://bojanz.github.io/address-handling-go/
1010

1111
1. Address struct.
1212
2. Address formats for ~200 countries.
13-
3. Regions for ~45 countries, with local names where relevant (e.g: Okinawa / 沖縄県).
13+
3. Regions for ~50 countries, with local names where relevant (e.g: Okinawa / 沖縄県).
1414
4. Country list, powered by CLDR v40.
1515
5. HTML formatter.
1616
6. HTTP handler for serving address formats and regions as JSON: only ~14kb gzipped!

formats.go

+40
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,19 @@ var formats = map[string]Format{
196196
Layout: "%1\n%2\n%3\n%L, %R",
197197
Required: []Field{FieldLine1, FieldLocality},
198198
RegionType: RegionTypeIsland,
199+
Regions: NewRegionMap(
200+
"AK", "Acklins", "BY", "Berry Islands", "BI", "Bimini",
201+
"BP", "Black Point", "CI", "Cat Island", "CO", "Central Abaco",
202+
"CS", "Central Andros", "CE", "Central Eleuthera", "FP", "City of Freeport",
203+
"CK", "Crooked Island and Long Cay", "EG", "East Grand Bahama", "EX", "Exuma",
204+
"GC", "Grand Cay", "HI", "Harbour Island", "HT", "Hope Town",
205+
"IN", "Inagua", "LI", "Long Island", "MC", "Mangrove Cay",
206+
"MG", "Mayaguana", "MI", "Moore's Island", "NP", "New Providence",
207+
"NO", "North Abaco", "NS", "North Andros", "NE", "North Eleuthera",
208+
"RI", "Ragged Island", "RC", "Rum Cay", "SS", "San Salvador",
209+
"SO", "South Abaco", "SA", "South Andros", "SE", "South Eleuthera",
210+
"SW", "Spanish Wells", "WG", "West Grand Bahama",
211+
),
199212
},
200213
"BT": {
201214
Layout: "%1\n%2\n%3\n%L %P",
@@ -311,6 +324,11 @@ var formats = map[string]Format{
311324
Layout: "%1\n%2\n%3\n%R, %L\n%P",
312325
Required: []Field{FieldLine1, FieldLocality, FieldRegion},
313326
PostalCodePattern: "\\d{4,5}|\\d{3}-\\d{4}",
327+
Regions: NewRegionMap(
328+
"A", "Alajuela", "C", "Cartago", "G", "Guanacaste",
329+
"H", "Heredia", "L", "Limón", "P", "Puntarenas",
330+
"SJ", "San José",
331+
),
314332
},
315333
"CU": {
316334
Layout: "%1\n%2\n%3\n%L %R\n%P",
@@ -1151,6 +1169,13 @@ var formats = map[string]Format{
11511169
"PA": {
11521170
Layout: "%1\n%2\n%3\n%L\n%R",
11531171
Required: []Field{FieldLine1, FieldLocality},
1172+
Regions: NewRegionMap(
1173+
"1", "Bocas del Toro", "4", "Chiriquí", "2", "Coclé",
1174+
"3", "Colón", "5", "Darién", "EM", "Emberá",
1175+
"KY", "Guna Yala", "6", "Herrera", "7", "Los Santos",
1176+
"NT", "Naso Tjër Di", "NB", "Ngäbe-Buglé", "8", "Panamá",
1177+
"10", "Panamá Oeste", "9", "Veraguas",
1178+
),
11541179
},
11551180
"PE": {
11561181
Layout: "%1\n%2\n%3\n%L %P\n%R",
@@ -1179,6 +1204,16 @@ var formats = map[string]Format{
11791204
Layout: "%1\n%2\n%3\n%L %P %R",
11801205
Required: []Field{FieldLine1, FieldLocality, FieldRegion},
11811206
PostalCodePattern: "\\d{3}",
1207+
Regions: NewRegionMap(
1208+
"NSB", "Bougainville", "CPM", "Central", "CPK", "Chimbu",
1209+
"EBR", "East New Britain", "ESW", "East Sepik", "EHG", "Eastern Highlands",
1210+
"EPW", "Enga", "GPK", "Gulf", "HLA", "Hela",
1211+
"JWK", "Jiwaka", "MPM", "Madang", "MRL", "Manus",
1212+
"MBA", "Milne Bay", "MPL", "Morobe", "NCD", "National Capital District (Port Moresby)",
1213+
"NIK", "New Ireland", "NPP", "Northern", "SHM", "Southern Highlands",
1214+
"WBK", "West New Britain", "SAN", "West Sepik", "WPD", "Western",
1215+
"WHM", "Western Highlands",
1216+
),
11821217
},
11831218
"PH": {
11841219
Layout: "%1\n%2\n%3\n%S, %L\n%P %R",
@@ -1640,6 +1675,11 @@ var formats = map[string]Format{
16401675
RegionType: RegionTypeState,
16411676
PostalCodeType: PostalCodeTypeZip,
16421677
PostalCodePattern: "96898",
1678+
Regions: NewRegionMap(
1679+
"81", "Baker Island", "84", "Howland Island", "86", "Jarvis Island",
1680+
"67", "Johnston Atoll", "89", "Kingman Reef", "71", "Midway Islands",
1681+
"76", "Navassa Island", "95", "Palmyra Atoll", "79", "Wake Island",
1682+
),
16431683
},
16441684
"US": {
16451685
Layout: "%1\n%2\n%3\n%L, %R %P",

http.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111

1212
// FormatHandler is an HTTP handler for serving address formats.
1313
//
14-
// Response size is ~45kb, or ~14kb if gzip compression is used.
14+
// Response size is ~47kb, or ~14kb if gzip compression is used.
1515
//
1616
// The locale can be provided either as a query string (?locale=fr)
1717
// or as a header (Accept-Language:fr). Defaults to "en".

0 commit comments

Comments
 (0)