Jurisdiction Library

Jurisdiction definitions for multi-jurisdictional legal rules. Uses ISO 3166-1 country codes (alpha-2, alpha-3, and numeric) and ISO 3166-2 subdivision codes. Import with IMPORT jurisdiction.

Status: Prototype (version 1.0.0). API may change.

Location

jl4-core/libraries/jurisdiction.l4

Constants

Twenty major countries are provided with three constants each, e.g. for the United States:

`United States alpha-2` MEANS "US"
`United States alpha-3` MEANS "USA"
`United States numeric` MEANS 840

Covered countries: United States, United Kingdom, Canada, Australia, Germany, France, China, Japan, Singapore, India, Brazil, Mexico, Switzerland, Netherlands, Sweden, New Zealand, South Korea, Italy, Spain, Hong Kong.

Additional constant groups (each providing ... code and ... name STRING constants):

Group Entries
Supranational regions European Union, ASEAN, NAFTA (code "USMCA")
US states (ISO 3166-2:US) California, New York, Texas, Florida, Illinois, Pennsylvania, Massachusetts, Washington, Delaware
Canadian provinces Ontario, Quebec, British Columbia, Alberta
UK constituent countries England ("GB-ENG"), Scotland ("GB-SCT"), Wales ("GB-WLS"), Northern Ireland ("GB-NIR")

Validation Functions

Function Signature Description
is valid ISO 3166-1 alpha-2 code STRING → BOOLEAN Exactly 2 characters, all uppercase
is valid ISO 3166-1 alpha-3 code STRING → BOOLEAN Exactly 3 characters, all uppercase
is valid ISO 3166-2 code STRING → BOOLEAN At least 4 characters, uppercase country prefix, - separator

These are format checks only — they do not verify that the code is an assigned ISO code.

Country Name Lookup

Both lookups return RIGHT name for known codes and LEFT errorMessage for unknown ones.

Function Signature Description
country name from alpha-2 code STRING → EITHER STRING STRING English name from 2-letter code
country name from alpha-3 code STRING → EITHER STRING STRING English name from 3-letter code

Code Conversion Functions

Function Signature Description
alpha-2 to alpha-3 code STRING → EITHER STRING STRING Convert 2-letter to 3-letter country code
alpha-3 to alpha-2 code STRING → EITHER STRING STRING Convert 3-letter to 2-letter country code

Lookups and conversions cover the twenty countries listed above; other codes produce a LEFT error.

See jurisdiction.l4 source for all definitions.