mirror of
https://github.com/tauri-apps/tauri.git
synced 2024-12-19 00:21:32 +03:00
6a21965ff3
* chore: add prettier for js/ts formatting * fix lint-staged to object * test commit * format all * lock file bump * eslint extends prettier This will let us skip rules in eslint that prettier can control. Prettier for styles, eslint for code errors. * add prettier config * roll back to what we had with eslint settings * skip mutation observer * add prettier typescript eslint * run prettier in lint workflow * format:check script * turn off space before function in eslint it is fighting with prettier * fix dir in workflow * remove semis * add api to eslint * shift eslint ignore comment after prettier format * ignore errors that currently exist * build:typevalidators * replace was broken on typevalidator build * try pushing up error * format * try removing working dir from eslint workflow * try node 12 * fix indent in action * bump eslint * fix supposeded error and try another * try breaking eslint * try building in action * adjust action paths again * need dot * remove build * fix(tauri.js/eslint): escape glob * * fix(tauri.js): ignore lint error * Create prettier-taurijs.md Co-authored-by: Noah Klayman <noahklayman@gmail.com>
44 lines
743 B
TypeScript
44 lines
743 B
TypeScript
import { invoke, transformCallback } from './tauri'
|
|
|
|
export interface Event<T> {
|
|
type: string
|
|
payload: T
|
|
}
|
|
|
|
export type EventCallback<T> = (event: Event<T>) => void
|
|
|
|
/**
|
|
* listen to an event from the backend
|
|
*
|
|
* @param event the event name
|
|
* @param handler the event handler callback
|
|
*/
|
|
function listen<T>(
|
|
event: string,
|
|
handler: EventCallback<T>,
|
|
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 }
|