{"version":3,"sources":["../src/validate.ts"],"names":["validIataAirportCodes","validIcaoAirportCodes","validIataAirlineCodes","validIcaoAirlineCodes"],"mappings":";;;;;;AAqBA,IAAM,WAAA,GAAc;AAAA,EAClB,QAAA,EAAU,CAAC,IAAA,KAA0B,aAAA,CAAc,KAAK,IAAI,CAAA;AAAA,EAC5D,IAAI,CAAC,IAAA,KAA0BA,wCAAsB,GAAA,CAAI,IAAA,CAAK,aAAa;AAC7E,CAAA;AAEA,IAAM,WAAA,GAAc;AAAA,EAClB,QAAA,EAAU,CAAC,IAAA,KAA0B,aAAA,CAAc,KAAK,IAAI,CAAA;AAAA,EAC5D,IAAI,CAAC,IAAA,KAA0BC,wCAAsB,GAAA,CAAI,IAAA,CAAK,aAAa;AAC7E,CAAA;AAEO,IAAM,OAAA,GAAU;AAAA;AAAA,EAErB,EAAA,EAAI,CAAC,IAAA,KAA0B;AAC7B,IAAA,MAAM,MAAM,IAAA,CAAK,MAAA;AACjB,IAAA,IAAI,GAAA,KAAQ,CAAA,EAAG,OAAO,WAAA,CAAY,GAAG,IAAI,CAAA;AACzC,IAAA,IAAI,GAAA,KAAQ,CAAA,EAAG,OAAO,WAAA,CAAY,GAAG,IAAI,CAAA;AACzC,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAAA,EACA,IAAA,EAAM,WAAA;AAAA,EACN,IAAA,EAAM;AACR;AAIA,IAAM,WAAA,GAAc;AAAA,EAClB,QAAA,EAAU,CAAC,IAAA,KAA0B,gBAAA,CAAiB,KAAK,IAAI,CAAA;AAAA,EAC/D,IAAI,CAAC,IAAA,KAA0BC,wCAAsB,GAAA,CAAI,IAAA,CAAK,aAAa;AAC7E,CAAA;AAEA,IAAM,WAAA,GAAc;AAAA,EAClB,QAAA,EAAU,CAAC,IAAA,KAA0B,aAAA,CAAc,KAAK,IAAI,CAAA;AAAA,EAC5D,IAAI,CAAC,IAAA,KAA0BC,wCAAsB,GAAA,CAAI,IAAA,CAAK,aAAa;AAC7E,CAAA;AAEO,IAAM,OAAA,GAAU;AAAA;AAAA,EAErB,EAAA,EAAI,CAAC,IAAA,KAA0B;AAC7B,IAAA,MAAM,MAAM,IAAA,CAAK,MAAA;AACjB,IAAA,IAAI,GAAA,KAAQ,CAAA,EAAG,OAAO,WAAA,CAAY,GAAG,IAAI,CAAA;AACzC,IAAA,IAAI,GAAA,KAAQ,CAAA,EAAG,OAAO,WAAA,CAAY,GAAG,IAAI,CAAA;AACzC,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAAA,EACA,IAAA,EAAM,WAAA;AAAA,EACN,IAAA,EAAM;AACR","file":"validate.cjs","sourcesContent":["/**\n * Lightweight validation-only module.\n * Import from here when you only need to validate codes, not look up data.\n * Bundle size: ~50KB vs ~4MB for full library.\n *\n * @example\n * ```ts\n * import { airport, airline } from \"aviation-codes/validate\";\n *\n * airport.is(\"LAX\");  // true\n * airline.is(\"AA\");   // true\n * ```\n *\n * @module\n */\n\nimport { validIataAirlineCodes, validIcaoAirlineCodes } from \"./data/airline-codes.js\";\nimport { validIataAirportCodes, validIcaoAirportCodes } from \"./data/airport-codes.js\";\n\n// ─── Airport Validation ─────────────────────────────────────────────────────\n\nconst airportIata = {\n  isFormat: (code: string): boolean => /^[A-Z]{3}$/i.test(code),\n  is: (code: string): boolean => validIataAirportCodes.has(code.toUpperCase()),\n};\n\nconst airportIcao = {\n  isFormat: (code: string): boolean => /^[A-Z]{4}$/i.test(code),\n  is: (code: string): boolean => validIcaoAirportCodes.has(code.toUpperCase()),\n};\n\nexport const airport = {\n  /** Check if valid (auto-detects IATA/ICAO by length) */\n  is: (code: string): boolean => {\n    const len = code.length;\n    if (len === 3) return airportIata.is(code);\n    if (len === 4) return airportIcao.is(code);\n    return false;\n  },\n  iata: airportIata,\n  icao: airportIcao,\n};\n\n// ─── Airline Validation ─────────────────────────────────────────────────────\n\nconst airlineIata = {\n  isFormat: (code: string): boolean => /^[A-Z0-9]{2}$/i.test(code),\n  is: (code: string): boolean => validIataAirlineCodes.has(code.toUpperCase()),\n};\n\nconst airlineIcao = {\n  isFormat: (code: string): boolean => /^[A-Z]{3}$/i.test(code),\n  is: (code: string): boolean => validIcaoAirlineCodes.has(code.toUpperCase()),\n};\n\nexport const airline = {\n  /** Check if valid (auto-detects IATA/ICAO by length) */\n  is: (code: string): boolean => {\n    const len = code.length;\n    if (len === 2) return airlineIata.is(code);\n    if (len === 3) return airlineIcao.is(code);\n    return false;\n  },\n  iata: airlineIata,\n  icao: airlineIcao,\n};\n"]}