Reference · British country module
GB_POSTCODE_AREASconstant
Every postcode area Royal Mail uses: the 121 of the United Kingdom, the three Crown Dependencies (GY, IM,
JE), and the two that are not places, BF (the British Forces Post Office) and BX (addresses kept for
organisations wherever they are). Each with the town it is named for, its country and its nation.
Import it
import { GB_POSTCODE_AREAS } from "@johnmorrisdotca/address-plus/gb";
Definition
const GB_POSTCODE_AREAS: Readonly<Record<string, UKPostcodeArea>> = Object.fromEntries([
...Object.entries(AREA_NAMES).map(([area, name]): [
string,
UKPostcodeArea
] => {
if (area === "JE" || area === "GY" || area === "IM")
return [area, { name, country: area }];
if (area === "BT")
return [area, { name, country: "GB", nation: "NIR" }];
const nation = GB_AREA_NATIONS[area];
if (!nation)
throw new Error(`No nation for the postcode area ${area}`);
return [area, { name, country: "GB", nation }];
}),
["BF", { name: "British Forces Post Office", country: "GB" }],
["BX", { name: "Non-geographic", country: "GB" }],
])
Examples
import { GB_POSTCODE_AREAS } from "@johnmorrisdotca/address-plus/gb";
console.log([GB_POSTCODE_AREAS.CF.nation, GB_POSTCODE_AREAS.JE.country]);
// → ["WLS","JE"][ 'WLS', 'JE' ]What it prints (run when this page was built)