BeamLabCountries.Subdivisions (beamlab_countries v1.1.0)

View Source

Module for providing subdivisions related functions.

Subdivision data is loaded at compile time, so lookups are fast and no filesystem access happens at runtime.

Summary

Functions

Returns all subdivisions for a country.

Returns one subdivision by country and subdivision ID, or nil if not found.

Functions

all(country_code)

Returns all subdivisions for a country.

Accepts a BeamLabCountries.Country struct or an alpha2 country code (case-insensitive). Returns an empty list when the country is unknown or has no subdivision data.

Examples

iex> BeamLabCountries.Subdivisions.all("PL") |> length()
16

iex> country = BeamLabCountries.get("BR")
iex> BeamLabCountries.Subdivisions.all(country) |> length()
27

iex> BeamLabCountries.Subdivisions.all("XX")
[]

get(country_code, subdivision_id)

Returns one subdivision by country and subdivision ID, or nil if not found.

Accepts a BeamLabCountries.Country struct or an alpha2 country code. Both the country code and the subdivision ID are case-insensitive.

Examples

iex> BeamLabCountries.Subdivisions.get("US", "CA").name
"California"

iex> BeamLabCountries.Subdivisions.get("us", "ca").name
"California"

iex> BeamLabCountries.Subdivisions.get("US", "XX")
nil