refactor(telegram): split lane delivery modules

This commit is contained in:
Peter Steinberger
2026-03-08 01:12:11 +00:00
parent 1135b7f12f
commit 269cc22b61
3 changed files with 507 additions and 496 deletions

View File

@@ -0,0 +1,32 @@
export type LaneDeliverySnapshot = {
delivered: boolean;
skippedNonSilent: number;
failedNonSilent: number;
};
export type LaneDeliveryStateTracker = {
markDelivered: () => void;
markNonSilentSkip: () => void;
markNonSilentFailure: () => void;
snapshot: () => LaneDeliverySnapshot;
};
export function createLaneDeliveryStateTracker(): LaneDeliveryStateTracker {
const state: LaneDeliverySnapshot = {
delivered: false,
skippedNonSilent: 0,
failedNonSilent: 0,
};
return {
markDelivered: () => {
state.delivered = true;
},
markNonSilentSkip: () => {
state.skippedNonSilent += 1;
},
markNonSilentFailure: () => {
state.failedNonSilent += 1;
},
snapshot: () => ({ ...state }),
};
}