lspeasy / server/src / PartialResultSender
Class: PartialResultSender
Defined in: packages/server/src/progress/partial-result-sender.ts:28
Emits typed $/progress partial-result batches from server-side request handlers.
Remarks
Use PartialResultSender inside a RequestHandler when the client has supplied a partialResultToken (e.g. for textDocument/references or workspace/symbol). Call send(token, value) to stream result batches before returning the final response.
Use When
The client sets partialResultToken in the request params and you want to stream intermediate results (e.g. symbols found so far) rather than waiting for the complete set.
Never
NEVER call send after the handler has already returned a response — the $/progress notification will arrive after the client has closed the partial-result channel, and the client will silently discard or error on it.
NEVER send partial results without a partialResultToken — the client has no way to correlate the $/progress notification to the pending request.
Constructors
Constructor
new PartialResultSender(server): PartialResultSender;Defined in: packages/server/src/progress/partial-result-sender.ts:29
Parameters
| Parameter | Type |
|---|---|
server | BaseLSPServer |
Returns
PartialResultSender
Methods
send()
send<T>(token, value): Promise<void>;Defined in: packages/server/src/progress/partial-result-sender.ts:37
Send a batch of partial results to the client.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
token | ProgressToken | The partialResultToken from the originating request params. |
value | T | The partial result batch to stream to the client via $/progress. |
Returns
Promise<void>