/** * Airline mock data with IATA codes, names, and countries * Covers 30+ major carriers worldwide */ export const airlines = [ // United States Carriers { code: 'AA', name: 'American Airlines', country: 'US', alliance: 'oneworld' }, { code: 'DL', name: 'Delta Air Lines', country: 'US', alliance: 'SkyTeam' }, { code: 'UA', name: 'United Airlines', country: 'US', alliance: 'Star Alliance' }, { code: 'WN', name: 'Southwest Airlines', country: 'US', alliance: null }, { code: 'B6', name: 'JetBlue Airways', country: 'US', alliance: null }, { code: 'AS', name: 'Alaska Airlines', country: 'US', alliance: 'oneworld' }, { code: 'F9', name: 'Frontier Airlines', country: 'US', alliance: null }, { code: 'NK', name: 'Spirit Airlines', country: 'US', alliance: null }, // European Carriers { code: 'BA', name: 'British Airways', country: 'GB', alliance: 'oneworld' }, { code: 'AF', name: 'Air France', country: 'FR', alliance: 'SkyTeam' }, { code: 'LH', name: 'Lufthansa', country: 'DE', alliance: 'Star Alliance' }, { code: 'KL', name: 'KLM Royal Dutch Airlines', country: 'NL', alliance: 'SkyTeam' }, { code: 'IB', name: 'Iberia', country: 'ES', alliance: 'oneworld' }, { code: 'AZ', name: 'ITA Airways', country: 'IT', alliance: 'SkyTeam' }, { code: 'LX', name: 'Swiss International Air Lines', country: 'CH', alliance: 'Star Alliance' }, { code: 'VS', name: 'Virgin Atlantic', country: 'GB', alliance: null }, // Asian Carriers { code: 'NH', name: 'All Nippon Airways', country: 'JP', alliance: 'Star Alliance' }, { code: 'JL', name: 'Japan Airlines', country: 'JP', alliance: 'oneworld' }, { code: 'SQ', name: 'Singapore Airlines', country: 'SG', alliance: 'Star Alliance' }, { code: 'CX', name: 'Cathay Pacific', country: 'HK', alliance: 'oneworld' }, { code: 'KE', name: 'Korean Air', country: 'KR', alliance: 'SkyTeam' }, { code: 'OZ', name: 'Asiana Airlines', country: 'KR', alliance: 'Star Alliance' }, { code: 'TG', name: 'Thai Airways', country: 'TH', alliance: 'Star Alliance' }, { code: 'CA', name: 'Air China', country: 'CN', alliance: 'Star Alliance' }, { code: 'MU', name: 'China Eastern Airlines', country: 'CN', alliance: 'SkyTeam' }, // Middle East Carriers { code: 'EK', name: 'Emirates', country: 'AE', alliance: null }, { code: 'QR', name: 'Qatar Airways', country: 'QA', alliance: 'oneworld' }, { code: 'EY', name: 'Etihad Airways', country: 'AE', alliance: null }, // Other Major Carriers { code: 'AC', name: 'Air Canada', country: 'CA', alliance: 'Star Alliance' }, { code: 'QF', name: 'Qantas', country: 'AU', alliance: 'oneworld' }, { code: 'NZ', name: 'Air New Zealand', country: 'NZ', alliance: 'Star Alliance' }, { code: 'AM', name: 'Aeroméxico', country: 'MX', alliance: 'SkyTeam' }, { code: 'LA', name: 'LATAM Airlines', country: 'CL', alliance: 'oneworld' } ]; /** * Get airline by IATA code * @param {string} code - IATA airline code (2 letters) * @returns {Object|null} Airline object or null if not found */ export function getAirline(code: string) { return airlines.find((a) => a.code === code.toUpperCase()) || null; } /** * Get random airline for route generation * @returns {Object} Random airline object */ export function getRandomAirline() { return airlines[Math.floor(Math.random() * airlines.length)]; } /** * Check if airline code exists * @param {string} code - IATA airline code * @returns {boolean} True if airline exists */ export function isValidAirline(code: string) { return getAirline(code) !== null; } /** * Get airlines by alliance * @param {string} alliance - Alliance name (oneworld, SkyTeam, Star Alliance) * @returns {Object[]} Array of airline objects */ export function getAirlinesByAlliance(alliance: string) { return airlines.filter((a) => a.alliance === alliance); } export default { airlines, getAirline, getRandomAirline, isValidAirline, getAirlinesByAlliance };