import { addNotification } from '../stores/noti'; type AdbPayload = { type: string; payload: any }; async function handleAdbPayload(raw_payload: string) { console.log('get payload', raw_payload); try { const payload: AdbPayload = JSON.parse(raw_payload); switch (payload.type) { case 'log': let log_level = payload.payload['level'] ?? 'INFO'; let log_message = payload.payload['msg'] ?? ''; if (log_message !== '') addNotification(`${log_level}`); break; case 'response': if (payload.payload instanceof String) { // single message response } break; case 'ACK': // acknowledge response from app if (payload.payload !== 'OK') { // abnormal console.error('error from ACK', payload.payload); addNotification('ERR:Request rejected'); } break; case 'error': // show error to user from brew app addNotification(`ERR:${payload.payload}`); // send message to server if needed break; default: } } catch (error: any) { // invalid format } } export { handleAdbPayload };