API Reference

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']

Previous
Geography
Next
Guides