cleanup ipc + input controller

This commit is contained in:
Enrique Hernandez 2021-02-15 08:56:19 -06:00
commit a15a8650de
7 changed files with 75 additions and 108 deletions

View file

@ -2,9 +2,7 @@ import { ref, computed } from 'vue'
export const useIpc = (endpoint: string) => {
const data = ref();
const loading = ref(false);
const error = ref();
const listener = ref(false);
const errorMessage = computed(() => {
console.log('ERROR', error.value);
@ -13,54 +11,36 @@ export const useIpc = (endpoint: string) => {
}
})
const invoke = (payload: any) => {
loading.value = true;
const invoke = async (payload: any) => {
error.value = undefined;
return window.ipcRenderer.invoke(endpoint, payload).then(res => {
data.value = res;
}).catch(e => {
try {
const res = await window.ipcRenderer.invoke(endpoint, payload);
return data.value = res;
} catch (e) {
error.value = e;
throw e;
}).finally(() => {
loading.value = false;
})
}
// return window.ipcRenderer.invoke(endpoint, payload).then(res => {
// data.value = res;
// }).catch(e => {
// error.value = e;
// throw e;
// })
}
const send = (payload?: Record<string, any>, callback?: (arg: any) => void) => {
loading.value = true;
error.value = undefined;
window.ipcRenderer.on(endpoint + '-reply', (event: any, arg: any | Error) => {
if (arg instanceof Error) {
error.value = arg;
throw arg;
} else {
data.value = arg;
loading.value = false;
}
});
window.ipcRenderer.send(endpoint, payload);
};
const onEvent = (callback: (event: any, arg: any) => void) => {
listener.value = true;
window.ipcRenderer.on(endpoint, callback);
};
const post = (payload?: Record<string, any>) => {
const post = (payload: any) => {
window.postMessage({
myTypeField: endpoint,
message: payload
endpoint: endpoint,
content: payload
}, '*')
};
return {
loading,
data,
error,
errorMessage,
send,
invoke
invoke,
post
}
}

View file

@ -1,17 +0,0 @@
interface SocketState {
connection: WebSocket | null;
auth: boolean;
}
// Create WebSocket connection.
const socket = new WebSocket('ws://localhost:8080');
// Connection opened
socket.onopen = function (event) {
socket.send('Hello Server!');
}
socket.onmessage = function(event) {
console.debug("WebSocket message received:", event);
}