// Minimal error definitions used across the BLE module. // Keep this file small and avoid runtime dependencies; it's mainly for typing and // simple runtime error construction used by native platform code. export enum AkBluetoothErrorCode { UnknownError = 0, DeviceNotFound = 1, ServiceNotFound = 2, CharacteristicNotFound = 3, ConnectionTimeout = 4, Unspecified = 99 } export class AkBleErrorImpl extends Error { public code: AkBluetoothErrorCode; public detail: any|null; constructor(code: AkBluetoothErrorCode, message?: string, detail: any|null = null) { super(message ?? AkBleErrorImpl.defaultMessage(code)); this.name = 'AkBleError'; this.code = code; this.detail = detail; } static defaultMessage(code: AkBluetoothErrorCode) { switch (code) { case AkBluetoothErrorCode.DeviceNotFound: return 'Device not found'; case AkBluetoothErrorCode.ServiceNotFound: return 'Service not found'; case AkBluetoothErrorCode.CharacteristicNotFound: return 'Characteristic not found'; case AkBluetoothErrorCode.ConnectionTimeout: return 'Connection timed out'; case AkBluetoothErrorCode.UnknownError: default: return 'Unknown Bluetooth error'; } } } export default AkBleErrorImpl;