Skip to Content

Membership API

Check political and economic union membership for European countries. This is a specialized module — import it from the membership subpath.

import { membership } from '@koshmoney/countries/membership'; // Or direct imports import { isEU, isSEPA, getMemberships } from '@koshmoney/countries/membership';

Types

interface MembershipInfo { EU: boolean; SEPA: boolean; EEA: boolean; Eurozone: boolean; Schengen: boolean; } type MembershipType = 'EU' | 'SEPA' | 'EEA' | 'Eurozone' | 'Schengen';

Individual Checks

isEU(alpha2)

Check if a country is an EU member state (27 countries).

Parameters: alpha2: string — Alpha-2 country code (case-insensitive) Returns: boolean

import { membership } from '@koshmoney/countries/membership'; membership.isEU('FR'); // true membership.isEU('CH'); // false (Switzerland) membership.isEU('GB'); // false (post-Brexit)

isSEPA(alpha2)

Check if a country is in the SEPA zone (36 countries).

Parameters: alpha2: string Returns: boolean

import { membership } from '@koshmoney/countries/membership'; membership.isSEPA('FR'); // true membership.isSEPA('CH'); // true (Switzerland is SEPA) membership.isSEPA('GB'); // true (UK remains in SEPA) membership.isSEPA('US'); // false

isEEA(alpha2)

Check if a country is in the European Economic Area (30 countries).

Parameters: alpha2: string Returns: boolean

import { membership } from '@koshmoney/countries/membership'; membership.isEEA('NO'); // true (Norway) membership.isEEA('IS'); // true (Iceland) membership.isEEA('CH'); // false (Switzerland not in EEA)

isEurozone(alpha2)

Check if a country uses the Euro (20 countries).

Parameters: alpha2: string Returns: boolean

import { membership } from '@koshmoney/countries/membership'; membership.isEurozone('DE'); // true membership.isEurozone('FR'); // true membership.isEurozone('SE'); // false (Sweden uses SEK) membership.isEurozone('GB'); // false

isSchengen(alpha2)

Check if a country is in the Schengen Area (27 countries).

Parameters: alpha2: string Returns: boolean

import { membership } from '@koshmoney/countries/membership'; membership.isSchengen('FR'); // true membership.isSchengen('CH'); // true (Switzerland is Schengen) membership.isSchengen('IE'); // false (Ireland not in Schengen) membership.isSchengen('GB'); // false

isMember(alpha2, membershipType)

Generic membership check for any group.

Parameters:

  • alpha2: string — Alpha-2 country code
  • membershipType: MembershipType'EU', 'SEPA', 'EEA', 'Eurozone', or 'Schengen'

Returns: boolean

import { membership } from '@koshmoney/countries/membership'; membership.isMember('FR', 'EU'); // true membership.isMember('CH', 'SEPA'); // true membership.isMember('NO', 'EEA'); // true membership.isMember('DE', 'Eurozone'); // true

Aggregate Lookups

getMemberships(alpha2)

Get all membership statuses for a country at once.

Parameters: alpha2: string Returns: MembershipInfo

import { membership } from '@koshmoney/countries/membership'; membership.getMemberships('FR'); // { EU: true, SEPA: true, EEA: true, Eurozone: true, Schengen: true } membership.getMemberships('CH'); // { EU: false, SEPA: true, EEA: false, Eurozone: false, Schengen: true } membership.getMemberships('GB'); // { EU: false, SEPA: true, EEA: false, Eurozone: false, Schengen: false } membership.getMemberships('NO'); // { EU: false, SEPA: true, EEA: true, Eurozone: false, Schengen: true }

getMembers(membershipType)

Get all member countries of a specific group.

Parameters: membershipType: MembershipType Returns: string[]

import { membership } from '@koshmoney/countries/membership'; membership.getMembers('EU'); // ['AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', // 'FR', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', // 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK'] membership.getMembers('Eurozone'); // ['AT', 'BE', 'CY', 'DE', 'EE', 'ES', 'FI', 'FR', 'GR', 'HR', // 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'NL', 'PT', 'SI', 'SK']