UNPKG

rn-wifi-p2p

Version:

React Native module for Android P2P communication using Wi-Fi Direct.

36 lines (28 loc) 1.07 kB
// TODO: mapear todos os erros do wifi p2p export class WifiP2PError extends Error { static readonly ERROR = 0; static readonly P2P_UNSUPPORTED = 1; static readonly BUSY = 2; static readonly ERROR_MESSAGES: Record<number, string> = { [WifiP2PError.ERROR]: 'Operation failed due to an internal error.', [WifiP2PError.P2P_UNSUPPORTED]: 'P2P is unsupported on this device.', [WifiP2PError.BUSY]: 'System is busy and cannot process the request.', }; public readonly code: number; public readonly nativeError: any; constructor(code: number, nativeError?: any) { const message = WifiP2PError.ERROR_MESSAGES[code] ?? 'Unknown error.'; super(message); this.name = 'WifiP2PError'; this.code = code; this.nativeError = nativeError; } toString(): string { return `[${this.name}] Code: ${this.code} | Message: ${this.message}`; } static fromNativeError(error: any): WifiP2PError { const code = typeof error?.code === 'number' ? error.code : WifiP2PError.ERROR; return new WifiP2PError(code, error); } }