@dxos/app-framework - v0.15.0
    Preparing search index...

    Variable useOperationHandlerConst

    useOperationHandler: {
        <const Def extends Any>(operation: Def): HandlerType<Def>;
        <const Def extends Any, TArgs extends readonly unknown[]>(
            operation: Def,
            map: (...args: TArgs) => Input<Def>,
        ): (...args: TArgs) => Effect<Output<Def>, any, Services<Def>>;
    } = ...

    Suspensefully resolves an operation's handler as an effect fn: (input) => Effect<Output>. With map, binds the component's callback arguments to the operation input instead: (...args) => Effect<Output>.

    Resolves against the merged Capabilities.OperationHandlers set. Handler sets are all registered by startup (only handler BODIES load lazily), so the component suspends only while the matched handler's module loads. Throws NoHandlerError when no contributed set knows the operation.

    The returned effect still requires the operation's declared services; run it via useSpaceCallback or the Capabilities.ProcessManagerRuntime.

    Type declaration

      • <const Def extends Any>(operation: Def): HandlerType<Def>
      • Type Parameters

        • const Def extends Any

        Parameters

        Returns HandlerType<Def>

      • <const Def extends Any, TArgs extends readonly unknown[]>(
            operation: Def,
            map: (...args: TArgs) => Input<Def>,
        ): (...args: TArgs) => Effect<Output<Def>, any, Services<Def>>
      • Type Parameters

        • const Def extends Any
        • TArgs extends readonly unknown[]

        Parameters

        Returns (...args: TArgs) => Effect<Output<Def>, any, Services<Def>>

    const moveTask = useOperationHandler(TaskOperation.MoveTask);
    
    const move = useOperationHandler(TaskOperation.MoveTask, (task: Task) => ({ task: Ref.make(task) }));