AddressSpec
Per-country address spec — what the merchant's address form should look like for each ISO country code.
Each country has an fmt string that names the fields it collects in render order: %A = street, %C = city, %S = state, %Z = postcode. The presence of a token decides whether that field is rendered:
City (
%C): hasCityPostcode (
%Z): hasPostcode / postcodePattern / postcodeExamples
Countries with no fmt defined fall back to the default of street + city.
Required-field policy. Any field that is visible is required. The upstream data also declares a per-country require set (e.g. street + state for AE), but in practice the validator collects every visible field with a blank check, so the require declaration is intentionally not exposed here.
Functions
Whether the postcode field should be rendered for the given country.
Sample postcodes for the country (use the first as a hint/placeholder), or null.
Anchored, case-insensitive regex for the country's postcode, or null if none.