ScannerException.fromPlatform constructor

ScannerException.fromPlatform(
  1. dynamic platformException
)

Create from platform exception

Implementation

factory ScannerException.fromPlatform(dynamic platformException) {
  if (platformException is Map) {
    final code = platformException['code'] as String? ?? 'UNKNOWN_ERROR';
    final message = platformException['message'] as String? ?? 'Unknown error occurred';
    final details = platformException['details'] as Map<String, dynamic>?;

    return ScannerException(
      ScannerErrorCode.fromString(code),
      message,
      details: details,
      platformMessage: message,
      timestamp: DateTime.now(),
    );
  }

  return ScannerException(
    ScannerErrorCode.platformError,
    'Platform error occurred',
    platformMessage: platformException?.toString(),
    timestamp: DateTime.now(),
  );
}