Skip to the content

address-plusアドレスプラス

Parse, validate, format and compare addresses locally, add country modules and mount an optional native form field.

address-plus extends the parse-address style with typed results, validation, formatting and country modules. About the name

Contents

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)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/address-plus 1.7.0.