@squawk
    Preparing search index...

    Interface ProcedureResolver

    A stateless resolver providing instrument procedure lookup, filtering, and expansion methods against a pre-indexed dataset.

    interface ProcedureResolver {
        byAirport(airportId: string): Procedure[];
        byAirportAndIdentifier(
            airportId: string,
            identifier: string,
        ): Procedure | undefined;
        byAirportAndRunway(airportId: string, runway: string): Procedure[];
        byApproachType(approachType: ApproachType): Procedure[];
        byIdentifier(identifier: string): Procedure[];
        byType(type: ProcedureType): Procedure[];
        expand(
            airportId: string,
            identifier: string,
            transitionName?: string,
        ): ProcedureExpansionResult | undefined;
        search(query: ProcedureSearchQuery): Procedure[];
    }
    Index

    Methods

    • Returns every procedure adapted at the given airport (SIDs, STARs, and IAPs).

      Parameters

      • airportId: string

      Returns Procedure[]

    • Looks up a single procedure by (airport, identifier). Returns undefined when the airport does not adapt the identifier.

      Parameters

      • airportId: string
      • identifier: string

      Returns Procedure | undefined

    • Returns every procedure at an airport that serves a specific runway.

      • For IAPs this matches the runway field directly.
      • For SIDs and STARs this matches procedures that publish a runway transition named RW<runway> (e.g. RW04L).

      Parameters

      • airportId: string
      • runway: string

      Returns Procedure[]

    • Looks up every procedure matching a CIFP identifier. The identifier alone is not globally unique in CIFP data - the same name (for example SARDI1 or I04L) is published separately for every adapted airport. This method returns all of them.

      Parameters

      • identifier: string

      Returns Procedure[]

    • Expands a procedure into an ordered leg sequence. When transitionName is omitted the expansion is the procedure's first common route. When transitionName is provided, the named transition's legs are merged with the common route in flying order:

      • SID, enroute exit transition - common route first, then transition.
      • SID, runway transition (RW* name) - transition first, then common route.
      • STAR, enroute entry transition - transition first, then common route.
      • STAR, runway transition (RW* name) - common route first, then transition.
      • IAP, approach transition - transition first, then common route (final approach segment).

      The connecting fix between transition and common route is deduplicated when both segments reference it.

      Returns undefined when the procedure, airport, or transition is not found.

      Parameters

      • airportId: string
      • identifier: string
      • OptionaltransitionName: string

      Returns ProcedureExpansionResult | undefined