Subdivision API
All subdivision functions are available via the subdivision namespace from the main bundle, or as direct named imports from the subdivision subpath.
// Namespace import (recommended)
import { subdivision } from '@koshmoney/countries';
subdivision.whereCode('US-CA');
// Direct import (tree-shakeable)
import { whereCode } from '@koshmoney/countries/subdivision';
whereCode('US-CA');Types
interface Subdivision {
code: string; // "US-CA"
name: string; // "California"
type: string; // "State"
countryCode: string; // "US"
countryName: string; // "United States"
regionCode: string; // "CA"
}
interface SubdivisionInfo {
name: string; // "California"
type: string; // "State"
}Lookups
whereCode(code)
Lookup a subdivision by its full ISO 3166-2 code. Accepts alpha-3 country prefixes and subdivision names.
Parameters:
code: string— Full subdivision code (e.g.,"US-CA")
Returns: Subdivision | null
import { subdivision } from '@koshmoney/countries';
subdivision.whereCode('US-CA');
// {
// code: 'US-CA',
// name: 'California',
// type: 'State',
// countryCode: 'US',
// countryName: 'United States',
// regionCode: 'CA'
// }
subdivision.whereCode('USA-CA'); // Works with alpha-3 country codes
// { code: 'US-CA', name: 'California', ... }
subdivision.whereCode('US-California'); // Works with subdivision names
// { code: 'US-CA', name: 'California', ... }
subdivision.whereCode('XX-YY');
// nullwhere(countryCode, regionCode)
Lookup a subdivision by country code and region code.
Parameters:
countryCode: string— Alpha-2 or alpha-3 country coderegionCode: string— Region code
Returns: Subdivision | null
import { subdivision } from '@koshmoney/countries';
subdivision.where('US', 'CA');
// { code: 'US-CA', name: 'California', type: 'State', ... }
subdivision.where('USA', 'CA'); // Works with alpha-3
// { code: 'US-CA', name: 'California', ... }
subdivision.where('GB', 'ENG');
// { code: 'GB-ENG', name: 'England', type: 'Country', ... }whereName(countryCode, name)
Lookup a subdivision by country code and subdivision name (case-insensitive).
Parameters:
countryCode: string— Alpha-2 or alpha-3 country codename: string— Subdivision name
Returns: Subdivision | null
import { subdivision } from '@koshmoney/countries';
subdivision.whereName('US', 'California');
// { code: 'US-CA', name: 'California', type: 'State', ... }
subdivision.whereName('US', 'california'); // case-insensitive
// { code: 'US-CA', name: 'California', ... }
subdivision.whereName('DE', 'Berlin');
// { code: 'DE-BE', name: 'Berlin', type: 'Land', ... }forCountry(countryCode)
Get all subdivisions for a country.
Parameters:
countryCode: string— Alpha-2 or alpha-3 country code
Returns: Subdivision[]
import { subdivision } from '@koshmoney/countries';
const states = subdivision.forCountry('US');
// [
// { code: 'US-AL', name: 'Alabama', type: 'State', ... },
// { code: 'US-AK', name: 'Alaska', type: 'State', ... },
// ...
// ]
subdivision.forCountry('XX'); // []all()
Get all subdivisions from all countries (5,000+).
Returns: Subdivision[]
import { subdivision } from '@koshmoney/countries';
const allSubs = subdivision.all();
console.log(allSubs.length); // 5000+hasSubdivisions(countryCode)
Check if a country has subdivisions registered.
Parameters:
countryCode: string— Alpha-2 or alpha-3 country code
Returns: boolean
import { subdivision } from '@koshmoney/countries';
subdivision.hasSubdivisions('US'); // true
subdivision.hasSubdivisions('USA'); // true
subdivision.hasSubdivisions('XX'); // falseConversions
toRegionCode(code)
Extract the region code from a full subdivision code.
Parameters: code: string
Returns: string | null
import { subdivision } from '@koshmoney/countries';
subdivision.toRegionCode('US-CA'); // 'CA'
subdivision.toRegionCode('GB-EAW'); // 'EAW'
subdivision.toRegionCode('invalid'); // nulltoFullCode(countryCode, regionCode)
Build a full subdivision code from country and region codes. Returns null if the combination is invalid.
Parameters:
countryCode: string— Alpha-2 or alpha-3 country coderegionCode: string— Region code
Returns: string | null
import { subdivision } from '@koshmoney/countries';
subdivision.toFullCode('US', 'CA'); // 'US-CA'
subdivision.toFullCode('USA', 'CA'); // 'US-CA' (normalizes alpha-3)
subdivision.toFullCode('US', 'XX'); // null (invalid region)toName(code)
Get the subdivision name from a full subdivision code.
Parameters: code: string
Returns: string | null
import { subdivision } from '@koshmoney/countries';
subdivision.toName('US-CA'); // 'California'
subdivision.toName('GB-ENG'); // 'England'
subdivision.toName('XX-YY'); // nulltoNameFrom(countryCode, regionCode)
Get the subdivision name from country and region codes.
Parameters:
countryCode: string— Alpha-2 or alpha-3 country coderegionCode: string— Region code
Returns: string | null
import { subdivision } from '@koshmoney/countries';
subdivision.toNameFrom('US', 'CA'); // 'California'
subdivision.toNameFrom('USA', 'CA'); // 'California'toCountryCode(code)
Extract the country code from a full subdivision code.
Parameters: code: string
Returns: string | null
import { subdivision } from '@koshmoney/countries';
subdivision.toCountryCode('US-CA'); // 'US'
subdivision.toCountryCode('USA-CA'); // 'US' (normalizes)
subdivision.toCountryCode('invalid'); // nullValidation
isValidCode(code)
Check if a string is a valid full subdivision code.
Parameters: code: string
Returns: boolean
import { subdivision } from '@koshmoney/countries';
subdivision.isValidCode('US-CA'); // true
subdivision.isValidCode('GB-ENG'); // true
subdivision.isValidCode('XX-YY'); // falseisValidRegion(countryCode, regionCode)
Check if a region code is valid for a given country.
Parameters:
countryCode: string— Alpha-2 or alpha-3 country coderegionCode: string— Region code
Returns: boolean
import { subdivision } from '@koshmoney/countries';
subdivision.isValidRegion('US', 'CA'); // true
subdivision.isValidRegion('US', 'XX'); // falseisValidName(countryCode, name)
Check if a subdivision name exists in a country.
Parameters:
countryCode: string— Alpha-2 or alpha-3 country codename: string— Subdivision name
Returns: boolean
import { subdivision } from '@koshmoney/countries';
subdivision.isValidName('US', 'California'); // true
subdivision.isValidName('US', 'Narnia'); // falseRelated
- Country API — Look up country data
- Country Dropdown Guide — Build a country/state dropdown
- Tree Shaking — Load subdivisions for specific countries only