mena library
MENA: Middle East and North Africa country data and utilities.
This package provides a comprehensive, offline dataset of MENA countries with convenient search utilities and localized data. Perfect for building international applications, country selectors, phone number inputs, and region-specific features.
Key Features:
- Offline Data: No network calls required - all data is bundled
- Localized Names: Both Arabic and English names (common + official)
- Multiple Search Methods: Find countries by code, name, dial code, or currency
- Flag Support: Built-in SVG flag URLs via flagcdn.com
- JSON Serialization: Easy integration with APIs and storage
Quick Start:
import 'package:mena/mena.dart';
// Find a country by ISO code
final country = MENA.getByCode('ae');
print(country?.countryName.en); // "United Arab Emirates"
// Get all Middle East countries
final middleEast = MENA.middleEast;
print('${middleEast.length} countries'); // "13 countries"
@since 1.0.0 @author Mohamed Maher
Classes
- Country
- Immutable model containing localized country names in multiple formats.
- Currency
- Immutable data model representing a currency with localized names.
- MENA
- Primary API class providing utilities and data for Middle East and North Africa countries.
- MenaData
- Static in-memory dataset for MENA countries.
- MenaItemModel
- Immutable data model representing a MENA country with complete metadata.
Enums
- CurrencyType
- Enumeration of currency types used in the MENA region.
- EmojiSize
- Available flag emoji sizes from flagcdn.com.
- ImageSize
- Available image flag sizes from flagcdn.com.
- ImageType
- Available image formats for flag images from flagcdn.com.
- MenaKeys
- Internal search discriminator for the different lookup helpers.