lspeasy / core/src / hasServerCapability
Function: hasServerCapability()
ts
function hasServerCapability<K, T>(capabilities, capability): capabilities is T & ConditionalSimplifyDeep<UnionToIntersection<{ [P in InternalPaths<Required<ServerCapabilities<any>>, { bracketNotation: false; depth: number; leavesOnly: false; maxRecursionDepth: 5 }, 0>]: { [KeyType in string | number | symbol]: PickDeepObject<ServerCapabilities<any>, P>[KeyType] } }[K]>, NonRecursiveType | ReadonlyMap<unknown, unknown> | WeakMap<WeakKey, unknown> | ReadonlySet<unknown> | WeakSet<WeakKey>, object>;Defined in: packages/core/src/protocol/capabilities.ts:166
Type-guarding predicate that narrows capabilities to confirm a specific server capability is enabled at a deep dot-notation path.
Type Parameters
| Type Parameter |
|---|
K extends InternalPaths<Required<ServerCapabilities<any>>, { bracketNotation: false; depth: number; leavesOnly: false; maxRecursionDepth: 5; }, 0> |
T extends Partial<ServerCapabilities<any>> |
Parameters
| Parameter | Type | Description |
|---|---|---|
capabilities | T | The server capabilities to check. |
capability | K | Dot-notation path of the capability (e.g. 'hoverProvider'). |
Returns
capabilities is T & ConditionalSimplifyDeep<UnionToIntersection<{ [P in InternalPaths<Required<ServerCapabilities<any>>, { bracketNotation: false; depth: number; leavesOnly: false; maxRecursionDepth: 5 }, 0>]: { [KeyType in string | number | symbol]: PickDeepObject<ServerCapabilities<any>, P>[KeyType] } }[K]>, NonRecursiveType | ReadonlyMap<unknown, unknown> | WeakMap<WeakKey, unknown> | ReadonlySet<unknown> | WeakSet<WeakKey>, object>
true when the capability at the given path is truthy.