Interface IEventInternal

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

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

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

Methods

  • Type Parameters

    • T

    Parameters

    • event: EventName
    • target: EventTarget
    • handler: EventCallback<T>

    Returns Promise<number>