Skip to main content
Control interface for managing an MFA push-notification polling session. This interface provides imperative methods to start, stop, and inspect the status of a long-running polling loop that checks whether an MFA push challenge has been approved.
Example
export interface MfaPushPollingControl {
  /**
   * Stops the polling process immediately.
   *
   * - Cancels any scheduled timer or pending request.
   * - Once stopped, `isRunning()` returns `false`.
   * - Safe to call multiple times; subsequent calls have no effect.
   *
   * @example
   * ```ts
   * const control = mfaPushChallengePush.pollingManager({ intervalMs: 5000 });
   * control.startPolling();
   *
   * // Later, if the user cancels:
   * control.stopPolling();
   * ```
   */
  stopPolling: () => void;

  /**
   * Starts or resumes the polling process.
   *
   * - If polling is already active, calling this again has no effect.
   * - If previously stopped, calling this restarts the polling loop.
   *
   * @example
   * ```ts
   * control.startPolling(); // Begin checking the MFA push challenge
   * ```
   */
  startPolling: () => void;

  /**
   * Indicates whether the polling process is currently running.
   *
   * - Returns `true` if polling is active and not cancelled.
   * - Returns `false` if polling has been stopped or has completed.
   *
   * @example
   * ```ts
   * if (control.isRunning()) {
   *   console.log('Polling in progress...');
   * } else {
   *   console.log('Polling is stopped or completed.');
   * }
   * ```
   */
  isRunning: () => boolean;
}

Properties

isRunning
boolean
Indicates whether the polling process is currently running.
Example
if (control.isRunning()) {
  console.log('Polling in progress...');
} else {
  console.log('Polling is stopped or completed.');
}
startPolling
void
Starts or resumes the polling process.
  • If polling is already active, calling this again has no effect.
  • If previously stopped, calling this restarts the polling loop.
Example
control.startPolling(); // Begin checking the MFA push challenge
stopPolling
void
Stops the polling process immediately.
  • Cancels any scheduled timer or pending request.
  • Once stopped, isRunning() returns false.
  • Safe to call multiple times; subsequent calls have no effect.
Example
const control = mfaPushChallengePush.pollingManager({ intervalMs: 5000 });
control.startPolling();

// Later, if the user cancels:
control.stopPolling();