Skip to content
This repository was archived by the owner on Jan 19, 2019. It is now read-only.

Commit 34adb5d

Browse files
committed
Upgrade: typescript-estree to 8.1.0 and add new tests
1 parent 18598d9 commit 34adb5d

30 files changed

+1897
-22
lines changed

analyze-scope.js

Lines changed: 104 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,9 +400,97 @@ class Referencer extends OriginalReferencer {
400400
}
401401
}
402402

403+
/**
404+
* @param {TSTypeReference} node The TSTypeReference node to visit.
405+
* @returns {void}
406+
*/
407+
TSTypeReference(node) {
408+
this.visitTypeNodes(node);
409+
}
410+
411+
/**
412+
* @param {TSTypeLiteral} node The TSTypeLiteral node to visit.
413+
* @returns {void}
414+
*/
415+
TSTypeLiteral(node) {
416+
this.visitTypeNodes(node);
417+
}
418+
419+
/**
420+
* @param {TSLiteralType} node The TSLiteralType node to visit.
421+
* @returns {void}
422+
*/
423+
TSLiteralType(node) {
424+
this.visitTypeNodes(node);
425+
}
426+
427+
/**
428+
* @param {TSIntersectionType} node The TSIntersectionType node to visit.
429+
* @returns {void}
430+
*/
431+
TSIntersectionType(node) {
432+
this.visitTypeNodes(node);
433+
}
434+
435+
/**
436+
* @param {TSConditionalType} node The TSConditionalType node to visit.
437+
* @returns {void}
438+
*/
439+
TSConditionalType(node) {
440+
this.visitTypeNodes(node);
441+
}
442+
443+
/**
444+
* @param {TSIndexedAccessType} node The TSIndexedAccessType node to visit.
445+
* @returns {void}
446+
*/
447+
TSIndexedAccessType(node) {
448+
this.visitTypeNodes(node);
449+
}
450+
451+
/**
452+
* @param {TSMappedType} node The TSMappedType node to visit.
453+
* @returns {void}
454+
*/
455+
TSMappedType(node) {
456+
this.visitTypeNodes(node);
457+
}
458+
459+
/**
460+
* @param {TSOptionalType} node The TSOptionalType node to visit.
461+
* @returns {void}
462+
*/
463+
TSOptionalType(node) {
464+
this.visitTypeNodes(node);
465+
}
466+
467+
/**
468+
* @param {TSParenthesizedType} node The TSParenthesizedType node to visit.
469+
* @returns {void}
470+
*/
471+
TSParenthesizedType(node) {
472+
this.visitTypeNodes(node);
473+
}
474+
475+
/**
476+
* @param {TSRestType} node The TSRestType node to visit.
477+
* @returns {void}
478+
*/
479+
TSRestType(node) {
480+
this.visitTypeNodes(node);
481+
}
482+
483+
/**
484+
* @param {TSTupleType} node The TSTupleType node to visit.
485+
* @returns {void}
486+
*/
487+
TSTupleType(node) {
488+
this.visitTypeNodes(node);
489+
}
490+
403491
/**
404492
* Create reference objects for the object part. (This is `obj.prop`)
405-
* @param {TSTypeQuery} node The TSTypeQuery node to visit.
493+
* @param {TSQualifiedName} node The TSQualifiedName node to visit.
406494
* @returns {void}
407495
*/
408496
TSQualifiedName(node) {
@@ -616,6 +704,21 @@ class Referencer extends OriginalReferencer {
616704
decorators.forEach(this.visit, this);
617705
}
618706
}
707+
708+
/**
709+
* Process all child of type nodes
710+
* @param {any} node node to be processed
711+
* @returns {void}
712+
*/
713+
visitTypeNodes(node) {
714+
if (this.typeMode) {
715+
this.visitChildren(node);
716+
} else {
717+
this.typeMode = true;
718+
this.visitChildren(node);
719+
this.typeMode = false;
720+
}
721+
}
619722
}
620723

621724
module.exports = function(ast, parserOptions, extraOptions) {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"dependencies": {
4747
"eslint-scope": "^4.0.0",
4848
"eslint-visitor-keys": "^1.0.0",
49-
"typescript-estree": "^7.0.0"
49+
"typescript-estree": "8.1.0"
5050
},
5151
"devDependencies": {
5252
"eslint": "^4.19.1",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
type Foo = string[]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
let x: number extends string ? boolean : null;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
let x: number extends string ? boolean : string;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
let x: T[K];
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
type LinkedList<T> = T & { next: LinkedList<T> };
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
let map: { -readonly [P in string]-?: number };
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
let map: { +readonly [P in string]+?: number; };
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
let map: { readonly [P in string]?: number; };

0 commit comments

Comments
 (0)