@kkdev92/vscode-ext-kit - v4.1.1
    Preparing search index...

    Interface WebviewRpcClient<S>

    The webview-side RPC endpoint. The mirror image of the host's WebviewRpc: this side sends hostRequests/webviewEvents and handles webviewRequests/hostEvents.

    interface WebviewRpcClient<S extends WebviewRpcSchema = WebviewRpcSchema> {
        dispose(): void;
        emit<K extends string | number | symbol>(
            event: K,
            payload: NonNullable<S["webviewEvents"]>[K],
        ): void;
        onEvent<K extends string | number | symbol>(
            event: K,
            handler: (payload: NonNullable<S["hostEvents"]>[K]) => void,
        ): ClientDisposable;
        onRequest<K extends string | number | symbol>(
            method: K,
            handler: (
                params: NonNullable<S["webviewRequests"]>[K]["params"],
                ctx: { signal: AbortSignal },
            ) =>
                | NonNullable<S["webviewRequests"]>[K]["result"]
                | Promise<NonNullable<S["webviewRequests"]>[K]["result"]>,
        ): ClientDisposable;
        request<K extends string | number | symbol>(
            method: K,
            params: NonNullable<S["hostRequests"]>[K]["params"],
            options?: WebviewRpcRequestOptions,
        ): Promise<NonNullable<S["hostRequests"]>[K]["result"]>;
    }

    Type Parameters

    Hierarchy (View Summary)

    Index
    • Sends a one-way event to the extension host. Does not wait for acknowledgement.

      Type Parameters

      • K extends string | number | symbol

      Parameters

      • event: K
      • payload: NonNullable<S["webviewEvents"]>[K]

      Returns void

    • Subscribes to a one-way event sent by the extension host. Handlers run synchronously; contain expected failures so one handler cannot interrupt the remaining listeners for that event.

      Type Parameters

      • K extends string | number | symbol

      Parameters

      • event: K
      • handler: (payload: NonNullable<S["hostEvents"]>[K]) => void

      Returns ClientDisposable

    • Registers the handler for a request the host may send. The handler's ctx.signal aborts if the host cancels the request (or the client is disposed) before the handler settles.

      One handler is stored per method. Registering another replaces it; dispose the earlier registration first, because either registration's disposer removes the method entry.

      Type Parameters

      • K extends string | number | symbol

      Parameters

      • method: K
      • handler: (
            params: NonNullable<S["webviewRequests"]>[K]["params"],
            ctx: { signal: AbortSignal },
        ) =>
            | NonNullable<S["webviewRequests"]>[K]["result"]
            | Promise<NonNullable<S["webviewRequests"]>[K]["result"]>

      Returns ClientDisposable

    • Sends a request to the extension host and resolves with its response. Rejects if the host responds with an error, if options.signal aborts, if options.timeoutMs elapses, or if the client is disposed while the request is in flight.

      Type Parameters

      • K extends string | number | symbol

      Parameters

      Returns Promise<NonNullable<S["hostRequests"]>[K]["result"]>