export enum ReasonCodes { PipelineTimeout = 2, MaxThroughputExceeded = 38, GeneralError = 101, FailedToSendEnvelopeViaHTTP = 2105, // Returned on analytics requests when data is not ready but will be soon PendingRequest = 7390, CommandProcessingError = 61, } export interface Reason { code: ReasonCodes | number description: string } export const isReason = (value: unknown): value is Reason => { return ( typeof value === 'object' && value !== null && 'code' in value && typeof value.code === 'number' && 'description' in value && typeof value.description === 'string' ) }