UNPKG

npaw-plugin-nwf

Version:
47 lines (46 loc) 1.1 kB
import SessionsRequest from '../SessionsRequest'; export declare enum SessionState { STOPPED = "stopped", STARTED = "started" } export interface SendabilityResult { sendable: boolean; reason?: string; } /** * Enforces sendability rules based on session state */ export default class SendabilityPolicy { private state; constructor(initialState?: SessionState); /** * Check if a request can be sent * @param request - Request to check * @returns Sendability result with reason if not sendable */ canSend(request: SessionsRequest): SendabilityResult; /** * Check if START request can be sent */ private checkStartRequest; /** * Check if non-START request can be sent */ private checkNonStartRequest; /** * Get current session state */ getState(): SessionState; /** * Set session state */ setState(state: SessionState): void; /** * Check if session is started */ isStarted(): boolean; /** * Check if session is stopped */ isStopped(): boolean; }