vapor-chamber API reference - v1.3.0
    Preparing search index...

    Function useVaporCommand

    • useVaporCommand — reactive command dispatch designed for Vapor components.

      Like useCommand() but safe for <script setup vapor> where getCurrentInstance() returns null. Provides reactive loading/error signals and relies exclusively on onScopeDispose for cleanup (no onUnmounted path).

      For fire-and-forget (no loading/error state), prefer defineVaporCommand().

      Returns {
          dispatch: (
              action: string,
              target: any,
              payload?: any,
          ) => CommandResult | Promise<CommandResult>;
          register: (
              action: string,
              handler: Handler,
              opts?: RegisterOptions,
          ) => () => void;
          on: (
              pattern: string,
              listener: (cmd: Command, result: CommandResult) => void,
          ) => () => void;
          emit: (event: string, data?: any) => void;
          loading: Signal<boolean>;
          lastError: Signal<Error | null>;
          dispose: () => void;
      }

      • dispatch: (
            action: string,
            target: any,
            payload?: any,
        ) => CommandResult | Promise<CommandResult>
      • register: (action: string, handler: Handler, opts?: RegisterOptions) => () => void
      • on: (
            pattern: string,
            listener: (cmd: Command, result: CommandResult) => void,
        ) => () => void
      • emit: (event: string, data?: any) => void
      • loading: Signal<boolean>
      • lastError: Signal<Error | null>
      • dispose: () => void
      // In a <script setup vapor> component:
      import { useVaporCommand } from 'vapor-chamber';
      const { dispatch, loading, lastError } = useVaporCommand();
      dispatch('cartAdd', { id: product.id });