From 859886def8bf81dcb363bc8330f5d2879b94b08c Mon Sep 17 00:00:00 2001 From: gnezim Date: Fri, 17 Apr 2026 02:00:33 +0300 Subject: [PATCH] Extend IFlightLeg with optional daysOfWeek field --- src/features/online-board/types.test.ts | 14 ++++++++++++++ src/features/online-board/types.ts | 14 ++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/features/online-board/types.test.ts b/src/features/online-board/types.test.ts index 517ef764..7a39d74f 100644 --- a/src/features/online-board/types.test.ts +++ b/src/features/online-board/types.test.ts @@ -21,6 +21,7 @@ import type { IOnBoardService, IAircraftInfo, IEquipmentFull, + IDaysOfWeek, } from "./types.js"; /** @@ -287,4 +288,17 @@ describe("online-board types extension", () => { expect(leg.transition?.registration?.status).toBe("Finished"); expect(leg.equipment?.aircraft?.actual?.title).toBe("A320"); }); + + it("IDaysOfWeek has current and flight bit strings", () => { + const d: IDaysOfWeek = { current: "1000010", flight: "1111111" }; + expect(d.current).toBe("1000010"); + expect(d.flight).toBe("1111111"); + }); + + it("IFlightLeg accepts optional daysOfWeek", () => { + const leg: Partial = { + daysOfWeek: { current: "1000010", flight: "1111111" }, + }; + expect(leg.daysOfWeek?.flight).toBe("1111111"); + }); }); diff --git a/src/features/online-board/types.ts b/src/features/online-board/types.ts index eae15dbd..4d0b7bc8 100644 --- a/src/features/online-board/types.ts +++ b/src/features/online-board/types.ts @@ -100,6 +100,19 @@ export interface IFlightLegFlags { routeChanged: boolean; } +// --------------------------------------------------------------------------- +// Days of week +// --------------------------------------------------------------------------- + +/** + * Bit-string indicator of flight operation days. + * Position 0 = Monday, position 6 = Sunday. `"1"` means active. + */ +export interface IDaysOfWeek { + current: string; + flight: string; +} + // --------------------------------------------------------------------------- // Transition (registration/boarding/deboarding) // --------------------------------------------------------------------------- @@ -166,6 +179,7 @@ export interface IFlightLeg { status: FlightStatus; updated: string; transition?: IFlightTransitions; + daysOfWeek?: IDaysOfWeek; } // ---------------------------------------------------------------------------