tauri/cli/tauri.js/api-src/event.ts
nothingismagick 2681ad361b
refactor(tauri.js) rewrite API module in TypeScript, closes #679 #435 (#703)
Co-authored-by: Quentin Goinaud <armaldio@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucasfernandesnog@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2020-06-27 12:20:00 -03:00

37 lines
662 B
TypeScript

import { invoke, transformCallback } from './tauri'
import { EventCallback } from './types/event'
/**
* listen to an event from the backend
*
* @param event the event name
* @param handler the event handler callback
*/
function listen(event: string, handler: EventCallback, once = false): void {
invoke({
cmd: 'listen',
event,
handler: transformCallback(handler, once),
once
})
}
/**
* emits an event to the backend
*
* @param event the event name
* @param [payload] the event payload
*/
function emit(event: string, payload?: string): void {
invoke({
cmd: 'emit',
event,
payload
})
}
export {
listen,
emit
}