interface IEvent {
    emit: (event: string, payload?: unknown) => Promise<void>;
    emitTo: (
        target: string | EventTarget,
        event: string,
        payload?: unknown,
    ) => Promise<void>;
    listen: <T>(
        event: EventName,
        handler: EventCallback<T>,
        options?: Options,
    ) => Promise<UnlistenFn>;
    once: <T>(
        event: EventName,
        handler: EventCallback<T>,
        options?: Options,
    ) => Promise<UnlistenFn>;
}

Properties

Properties

emit: (event: string, payload?: unknown) => Promise<void>

Type declaration

    • (event: string, payload?: unknown): Promise<void>
    • Emits an event to all EventTarget|targets.

      Parameters

      • event: string

        Event name. Must include only alphanumeric characters, -, /, : and _.

      • Optionalpayload: unknown

        Event payload.

      Returns Promise<void>

      import { emit } from '@tauri-apps/api/event';
      await emit('frontend-loaded', { loggedIn: true, token: 'authToken' });

      1.0.0

emitTo: (
    target: string | EventTarget,
    event: string,
    payload?: unknown,
) => Promise<void>

Type declaration

    • (target: string | EventTarget, event: string, payload?: unknown): Promise<void>
    • Emits an event to all EventTarget|targets matching the given target.

      Parameters

      • target: string | EventTarget

        Label of the target Window/Webview/WebviewWindow or raw EventTarget object.

      • event: string

        Event name. Must include only alphanumeric characters, -, /, : and _.

      • Optionalpayload: unknown

        Event payload.

      Returns Promise<void>

      import { emitTo } from '@tauri-apps/api/event';
      await emitTo('main', 'frontend-loaded', { loggedIn: true, token: 'authToken' });

      2.0.0

listen: <T>(
    event: EventName,
    handler: EventCallback<T>,
    options?: Options,
) => Promise<UnlistenFn>

Type declaration

    • <T>(
          event: EventName,
          handler: EventCallback<T>,
          options?: Options,
      ): Promise<UnlistenFn>
    • Listen to an emitted event to any EventTarget|target.

      Type Parameters

      • T

      Parameters

      • event: EventName

        Event name. Must include only alphanumeric characters, -, /, : and _.

      • handler: EventCallback<T>

        Event handler callback.

      • Optionaloptions: Options

        Event listening options.

      Returns Promise<UnlistenFn>

      A promise resolving to a function to unlisten to the event. Note that removing the listener is required if your listener goes out of scope e.g. the component is unmounted.

      import { listen } from '@tauri-apps/api/event';
      const unlisten = await listen<string>('error', (event) => {
      console.log(`Got error, payload: ${event.payload}`);
      });

      // you need to call unlisten if your handler goes out of scope e.g. the component is unmounted
      unlisten();

      1.0.0

once: <T>(
    event: EventName,
    handler: EventCallback<T>,
    options?: Options,
) => Promise<UnlistenFn>

Type declaration

    • <T>(
          event: EventName,
          handler: EventCallback<T>,
          options?: Options,
      ): Promise<UnlistenFn>
    • Listens once to an emitted event to any EventTarget|target.

      Type Parameters

      • T

      Parameters

      • event: EventName

        Event name. Must include only alphanumeric characters, -, /, : and _.

      • handler: EventCallback<T>

        Event handler callback.

      • Optionaloptions: Options

        Event listening options.

      Returns Promise<UnlistenFn>

      A promise resolving to a function to unlisten to the event. Note that removing the listener is required if your listener goes out of scope e.g. the component is unmounted.

      import { once } from '@tauri-apps/api/event';
      interface LoadedPayload {
      loggedIn: boolean,
      token: string
      }
      const unlisten = await once<LoadedPayload>('loaded', (event) => {
      console.log(`App is loaded, loggedIn: ${event.payload.loggedIn}, token: ${event.payload.token}`);
      });

      // you need to call unlisten if your handler goes out of scope e.g. the component is unmounted
      unlisten();

      1.0.0