• Create a resilient event handler that can recover from missed events

    Type Parameters

    • T = ApiCallback<string>

    Parameters

    • eventType: string

      Event type to handle

    • handler: ((data) => void | Promise<void>)

      Event handler function

        • (data): void | Promise<void>
        • Parameters

          • data: T

          Returns void | Promise<void>

    • recoveryStrategy: {
          fetchMissedEvents: (() => Promise<T[]> | Promise<T>);
          checkInterval?: number;
          deduplicateById?: ((event) => string);
      }

      Strategy for recovering missed events

      • fetchMissedEvents: (() => Promise<T[]> | Promise<T>)

        API to fetch missed events or current state

          • (): Promise<T[]> | Promise<T>
          • Returns Promise<T[]> | Promise<T>

      • Optional checkInterval?: number

        How often to check for missed events (ms)

      • Optional deduplicateById?: ((event) => string)

        Whether to deduplicate events by ID

          • (event): string
          • Parameters

            • event: T

            Returns string

    Returns (() => void)

      • (): void
      • Returns void