import ErrorCode from './ErrorCode'; import ErrorSeverity from './ErrorSeverity'; import ErrorMetaData from './ErrorMetaData'; import ErrorCategory from './ErrorCategory'; /** @group Interfaces */ export interface AppleError { readonly severity: number; readonly category: number; readonly type: number; readonly message: string; readonly data: Record; readonly description: string; } /** @group Interfaces */ export interface AndroidError { readonly severity: number; readonly type: number; readonly message: string; readonly causeMessage: string; readonly metadata: Record; } /** @group Interfaces */ export interface WebError { readonly severity: number; readonly category: number; readonly code: number; readonly cause: Object | string; readonly data: any; } /** @group Classes */ export interface WebError { readonly severity: number; readonly category: number; readonly code: number; readonly cause: Object | string; readonly data: any; } /** @group Classes */ export default class PrestoPlayError { readonly code: ErrorCode; readonly severity: ErrorSeverity; readonly message?: string; readonly causeMessage?: string; readonly metadata: ErrorMetaData; /** * Represents the underlying native SDK error, if available. * This property is set when an error originates from the native SDK layer. * * On Apple devices it maps to: * - [PRESTOerror](https://players.castlabs.com/apple/\@APPLE_SDK_VERSION\@/docs/Classes/PRESTOerror.html) * * On Android devices it maps to: * - [CastlabsPlayerException](https://players.castlabs.com/android/\@ANDROID_SDK_VERSION\@/docs/javadoc/player_sdk/com/castlabs/android/player/exceptions/CastlabsPlayerException.html) * * On Web it maps to: * - [clpp.Error](https://players.castlabs.com/web/\@WEB_SDK_VERSION\@/docs/api/clpp.Error) * */ readonly nativeError?: AppleError | AndroidError | WebError; /** @ignore */ constructor(severity: ErrorSeverity, code: ErrorCode, message?: string, causeMessage?: string, metadata?: ErrorMetaData, nativeError?: AppleError | AndroidError | WebError); get category(): ErrorCategory; /** @ignore */ static fatal(code: ErrorCode, message: string): PrestoPlayError; /** @ignore */ static recoverable(code: ErrorCode, message: string): PrestoPlayError; }