Better formatting

This commit is contained in:
Gregory Schier
2024-02-02 13:37:44 -08:00
parent 6c69fff27d
commit fb817bc2d5
2 changed files with 15 additions and 4 deletions

View File

@@ -2,7 +2,9 @@ import { useMutation, useQuery } from '@tanstack/react-query';
import { invoke } from '@tauri-apps/api'; import { invoke } from '@tauri-apps/api';
import type { UnlistenFn } from '@tauri-apps/api/event'; import type { UnlistenFn } from '@tauri-apps/api/event';
import { emit, listen } from '@tauri-apps/api/event'; import { emit, listen } from '@tauri-apps/api/event';
import { type } from '@tauri-apps/api/os';
import { useEffect, useRef, useState } from 'react'; import { useEffect, useRef, useState } from 'react';
import { tryFormatJson } from '../lib/formatters';
import { useKeyValue } from './useKeyValue'; import { useKeyValue } from './useKeyValue';
interface ReflectResponseService { interface ReflectResponseService {
@@ -67,7 +69,11 @@ export function useGrpc(url: string | null, requestId: string | null) {
unlisten.current = await listen(`grpc_server_msg_${id}`, async (event) => { unlisten.current = await listen(`grpc_server_msg_${id}`, async (event) => {
await messages.set((prev) => [ await messages.set((prev) => [
...prev, ...prev,
{ message: event.payload as string, timestamp: new Date().toISOString(), type: 'server' }, {
message: tryFormatJson(event.payload as string, false),
timestamp: new Date().toISOString(),
type: 'server',
},
]); ]);
}); });
setActiveConnectionId(id); setActiveConnectionId(id);
@@ -95,7 +101,11 @@ export function useGrpc(url: string | null, requestId: string | null) {
unlisten.current = await listen(`grpc_server_msg_${id}`, (event) => { unlisten.current = await listen(`grpc_server_msg_${id}`, (event) => {
messages.set((prev) => [ messages.set((prev) => [
...prev, ...prev,
{ message: event.payload as string, timestamp: new Date().toISOString(), type: 'server' }, {
message: tryFormatJson(event.payload as string, false),
timestamp: new Date().toISOString(),
type: 'server',
},
]); ]);
}); });
}, },

View File

@@ -1,6 +1,7 @@
export function tryFormatJson(text: string): string { export function tryFormatJson(text: string, pretty = true): string {
try { try {
return JSON.stringify(JSON.parse(text), null, 2); if (pretty) return JSON.stringify(JSON.parse(text), null, 2);
else return JSON.stringify(JSON.parse(text));
} catch (_) { } catch (_) {
return text; return text;
} }