Shared TypeScript type definitions used across multiple @squawk packages. Contains types for core domain models that cross the logic/data/build-script boundary: aircraft, position, airports, navaids, fixes, airways, procedures, airspace, and aircraft registration.
Domain-specific types that are produced and consumed by a single package live in that package instead:
@squawk/weather@squawk/notamsPart of the @squawk aviation library suite. See all packages on npm.
npm install @squawk/types
import type { Aircraft, Position, Airport, Navaid, Fix } from '@squawk/types';
All types are re-exported from the package root. See the documentation for the full reference.
| Domain | Types |
|---|---|
| Aircraft (ADS-B) | Aircraft, AircraftCategory |
| Position | Position, Coordinates |
| Airport | Airport, Runway, RunwayEnd, IlsSystem, AirportFrequency, FacilityType, OwnershipType, FacilityUseType, FacilityStatus, SurfaceCondition, SurfaceTreatment, RunwayLighting, RunwayMarkingType, RunwayMarkingCondition, VgsiType, IlsCategory, IlsSystemType |
| Navaid | Navaid, NavaidType, NavaidStatus |
| Fix | Fix, FixUseCode, FixCompulsory, FixNavaidAssociation |
| Airway | Airway, AirwayWaypoint, AirwayType, AirwayRegion, AirwayWaypointType |
| Airspace | AirspaceFeature, AirspaceType, ArtccStratum, AltitudeBound, AltitudeReference |
| Procedure | Procedure, ProcedureType, ApproachType, ProcedureLeg, ProcedureLegPathTerminator, ProcedureLegFixCategory, ProcedureTransition, ProcedureCommonRoute, MissedApproachSequence, AltitudeConstraint, AltitudeConstraintDescriptor, SpeedConstraint, SpeedConstraintDescriptor, TurnDirection |
| Aircraft registration | AircraftRegistration, AircraftType, EngineType |
The package also re-exports source-code lookup maps (FACILITY_TYPE_MAP, NAVAID_TYPE_MAP, AWY_TYPE_MAP, ATS_TYPE_MAP, AIRWAY_REGION_MAP, FIX_USE_CODE_MAP, FIX_COMPULSORY_MAP, NAVAID_STATUS_MAP, ILS_CATEGORY_MAP, ILS_SYSTEM_TYPE_MAP) used by the FAA NASR build pipelines to translate raw source-data values to the typed unions above. See the TypeDoc reference for full per-type signatures and field-level documentation.
For the user-facing string-literal union types - the ones that flow in from URL params, config files, or MCP tool inputs - the package ships an is<Name> predicate paired with a <NAME>S const array as the single source of truth. Use the predicate to narrow an external string into the union without hand-rolling the membership list per consumer; use the const array as the value-side iteration target (e.g. building a lookup table keyed by the union):
import {
AIRSPACE_TYPES,
ARTCC_STRATA,
FACILITY_TYPES,
AIRWAY_TYPES,
NAVAID_TYPES,
FIX_USE_CODES,
isAirspaceType,
isArtccStratum,
isFacilityType,
isAirwayType,
isNavaidType,
isFixUseCode,
} from '@squawk/types';
const raw = new URLSearchParams(window.location.search).get('type') ?? '';
if (isAirspaceType(raw)) {
// raw is now narrowed to AirspaceType
}
The arrays are branded with as const satisfies readonly <Type>[], so adding a new union member without updating the array fails the build.
Re-export core shared data model types used by Squawk packages.