3
3
*
4
4
* @typedef {[number, number] } RangeLike
5
5
*
6
- * @typedef { Object } PointLike
7
- * @property {number } [line]
8
- * @property {number } [column]
6
+ * @typedef PointLike
7
+ * @property {number|null|undefined } [line]
8
+ * @property {number|null|undefined } [column]
9
9
*
10
- * @typedef { Object } LocLike
11
- * @property {PointLike } [start]
12
- * @property {PointLike } [end]
10
+ * @typedef LocLike
11
+ * @property {PointLike|null|undefined } [start]
12
+ * @property {PointLike|null|undefined } [end]
13
13
*
14
- * @typedef { Object } NodeLike
15
- * @property {LocLike } [loc]
16
- * @property {RangeLike } [range]
17
- * @property {number } [start]
18
- * @property {number } [end]
14
+ * @typedef NodeLike
15
+ * @property {LocLike|null|undefined } [loc]
16
+ * @property {RangeLike|null|undefined } [range]
17
+ * @property {number|null|undefined } [start]
18
+ * @property {number|null|undefined } [end]
19
19
*/
20
20
21
21
/**
@@ -37,29 +37,34 @@ export function positionFromEstree(value) {
37
37
start : {
38
38
// @ts -expect-error: return no point / no position next major.
39
39
line :
40
- loc . start && loc . start . line !== undefined && loc . start . line > - 1
40
+ loc . start && typeof loc . start . line === 'number' && loc . start . line > - 1
41
41
? loc . start . line
42
42
: undefined ,
43
43
// @ts -expect-error: return no point / no position next major.
44
44
column :
45
- loc . start && loc . start . column !== undefined && loc . start . column > - 1
45
+ loc . start &&
46
+ typeof loc . start . column === 'number' &&
47
+ loc . start . column > - 1
46
48
? loc . start . column + 1
47
49
: undefined ,
48
50
offset :
49
- startOffset !== undefined && startOffset > - 1 ? startOffset : undefined
51
+ typeof startOffset === 'number' && startOffset > - 1
52
+ ? startOffset
53
+ : undefined
50
54
} ,
51
55
end : {
52
56
// @ts -expect-error: return no point / no position next major.
53
57
line :
54
- loc . end && loc . end . line !== undefined && loc . end . line > - 1
58
+ loc . end && typeof loc . end . line === 'number' && loc . end . line > - 1
55
59
? loc . end . line
56
60
: undefined ,
57
61
// @ts -expect-error: return no point / no position next major.
58
62
column :
59
- loc . end && loc . end . column !== undefined && loc . end . column > - 1
63
+ loc . end && typeof loc . end . column === 'number' && loc . end . column > - 1
60
64
? loc . end . column + 1
61
65
: undefined ,
62
- offset : endOffset !== undefined && endOffset > - 1 ? endOffset : undefined
66
+ offset :
67
+ typeof endOffset === 'number' && endOffset > - 1 ? endOffset : undefined
63
68
}
64
69
}
65
70
}
0 commit comments