Skip to content

Commit c96fde8

Browse files
committed
Add overloads
1 parent 2111d9a commit c96fde8

File tree

1 file changed

+31
-9
lines changed

1 file changed

+31
-9
lines changed

src/dot-monaco/protocol-to-monaco.ts

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,34 @@
11
import * as monaco from "monaco-editor";
2+
import type * as ls from "vscode-languageserver-types";
23
import type * as lst from "vscode-languageserver-types";
34

4-
export function asRange(range: lst.Range): monaco.IRange {
5-
return {
6-
startLineNumber: range.start.line + 1,
7-
startColumn: range.start.character + 1,
8-
endLineNumber: range.end.line + 1,
9-
endColumn: range.end.character + 1,
10-
};
5+
export function asPosition(value: undefined | null): undefined;
6+
export function asPosition(value: ls.Position): monaco.Position;
7+
export function asPosition(
8+
value: ls.Position | undefined | null,
9+
): monaco.Position | undefined;
10+
export function asPosition(
11+
value: ls.Position | undefined | null,
12+
): monaco.Position | undefined {
13+
return value ? new monaco.Position(value.line, value.character) : undefined;
1114
}
1215

13-
export function asPosition(position: lst.Position): monaco.Position {
14-
return new monaco.Position(position.line + 1, position.character + 1);
16+
export function asRange(value: undefined | null): undefined;
17+
export function asRange(value: ls.Range): monaco.Range;
18+
export function asRange(
19+
value: ls.Range | undefined | null,
20+
): monaco.Range | undefined;
21+
export function asRange(
22+
value: ls.Range | undefined | null,
23+
): monaco.Range | undefined {
24+
return value
25+
? new monaco.Range(
26+
value.start.line + 1,
27+
value.start.character + 1,
28+
value.end.line + 1,
29+
value.end.character + 1,
30+
)
31+
: undefined;
1532
}
1633

1734
export function asDiagnostics(
@@ -114,6 +131,11 @@ export function asCompletionItem(
114131
return result;
115132
}
116133

134+
export function asHover(hover: null | undefined): null;
135+
export function asHover(hover: lst.Hover): monaco.languages.Hover;
136+
export function asHover(
137+
hover: lst.Hover | null | undefined,
138+
): monaco.languages.Hover | null;
117139
export function asHover(
118140
hover: lst.Hover | null | undefined,
119141
): monaco.languages.Hover | null {

0 commit comments

Comments
 (0)