77
88const RequireContextDependency = require ( "./RequireContextDependency" ) ;
99
10+ /** @typedef {import("../Dependency").DependencyLocation } DependencyLocation */
11+ /** @typedef {import("../javascript/JavascriptParser") } JavascriptParser */
12+ /** @typedef {import("../javascript/JavascriptParser").Range } Range */
13+
1014module . exports = class RequireContextDependencyParserPlugin {
15+ /**
16+ * @param {JavascriptParser } parser the parser
17+ * @returns {void }
18+ */
1119 apply ( parser ) {
1220 parser . hooks . call
1321 . for ( "require.context" )
@@ -19,19 +27,19 @@ module.exports = class RequireContextDependencyParserPlugin {
1927 case 4 : {
2028 const modeExpr = parser . evaluateExpression ( expr . arguments [ 3 ] ) ;
2129 if ( ! modeExpr . isString ( ) ) return ;
22- mode = modeExpr . string ;
30+ mode = /** @type { string } */ ( modeExpr . string ) ;
2331 }
2432 // falls through
2533 case 3 : {
2634 const regExpExpr = parser . evaluateExpression ( expr . arguments [ 2 ] ) ;
2735 if ( ! regExpExpr . isRegExp ( ) ) return ;
28- regExp = regExpExpr . regExp ;
36+ regExp = /** @type { RegExp } */ ( regExpExpr . regExp ) ;
2937 }
3038 // falls through
3139 case 2 : {
3240 const recursiveExpr = parser . evaluateExpression ( expr . arguments [ 1 ] ) ;
3341 if ( ! recursiveExpr . isBoolean ( ) ) return ;
34- recursive = recursiveExpr . bool ;
42+ recursive = /** @type { boolean } */ ( recursiveExpr . bool ) ;
3543 }
3644 // falls through
3745 case 1 : {
@@ -45,9 +53,9 @@ module.exports = class RequireContextDependencyParserPlugin {
4553 mode,
4654 category : "commonjs"
4755 } ,
48- expr . range
56+ /** @type { Range } */ ( expr . range )
4957 ) ;
50- dep . loc = expr . loc ;
58+ dep . loc = /** @type { DependencyLocation } */ ( expr . loc ) ;
5159 dep . optional = ! ! parser . scope . inTry ;
5260 parser . state . current . addDependency ( dep ) ;
5361 return true ;
0 commit comments