@@ -97,10 +97,11 @@ const infoUC = {
9797
9898/**
9999 * @param {{
100- * checkNativeTypes: import('./rules/checkTypes.js').CheckNativeTypes|null
101- * overrideSettings?: null,
100+ * checkNativeTypes? : import('./rules/checkTypes.js').CheckNativeTypes|null
101+ * overrideSettings?: import('./iterateJsdoc.js').Settings['preferredTypes']| null,
102102 * description?: string,
103103 * schema?: import('eslint').Rule.RuleMetaData['schema'],
104+ * typeName?: string,
104105 * url?: string,
105106 * }} cfg
106107 * @returns {import('@eslint/core').RuleDefinition<
@@ -109,7 +110,8 @@ const infoUC = {
109110 */
110111export const buildRejectOrPreferRuleDefinition = ( {
111112 checkNativeTypes = null ,
112- description = 'Reports invalid types.' ,
113+ typeName,
114+ description = typeName ?? 'Reports invalid types.' ,
113115 overrideSettings = null ,
114116 schema = [ ] ,
115117 url = 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header' ,
@@ -136,10 +138,14 @@ export const buildRejectOrPreferRuleDefinition = ({
136138 * }}
137139 */
138140 {
139- mode = settings . mode ,
141+ mode,
140142 preferredTypes : preferredTypesOriginal ,
141- structuredTags = { } ,
142- } = overrideSettings ?? settings ;
143+ structuredTags,
144+ } = overrideSettings ? {
145+ mode : settings . mode ,
146+ preferredTypes : overrideSettings ,
147+ structuredTags : { } ,
148+ } : settings ;
143149
144150 const injectObjectPreferredTypes = ! ( 'Object' in preferredTypesOriginal ||
145151 'object' in preferredTypesOriginal ||
@@ -199,7 +205,7 @@ export const buildRejectOrPreferRuleDefinition = ({
199205 const getPreferredTypeInfo = ( _type , typeNodeName , parentNode , property ) => {
200206 let hasMatchingPreferredType = false ;
201207 let isGenericMatch = false ;
202- let typeName = typeNodeName ;
208+ let typName = typeNodeName ;
203209
204210 const isNameOfGeneric = parentNode !== undefined && parentNode . type === 'JsdocTypeGeneric' && property === 'left' ;
205211
@@ -228,7 +234,7 @@ export const buildRejectOrPreferRuleDefinition = ({
228234 ) &&
229235 preferredType !== undefined
230236 ) {
231- typeName += checkPostFix ;
237+ typName += checkPostFix ;
232238
233239 return true ;
234240 }
@@ -259,7 +265,7 @@ export const buildRejectOrPreferRuleDefinition = ({
259265 preferredType ?. unifyParentAndChildTypeChecks ) ) &&
260266 preferredType !== undefined
261267 ) {
262- typeName = checkPostFix ;
268+ typName = checkPostFix ;
263269
264270 return true ;
265271 }
@@ -280,7 +286,7 @@ export const buildRejectOrPreferRuleDefinition = ({
280286 directNameMatch && ! property ;
281287
282288 return [
283- hasMatchingPreferredType , typeName , isGenericMatch ,
289+ hasMatchingPreferredType , typName , isGenericMatch ,
284290 ] ;
285291 } ;
286292
@@ -302,15 +308,15 @@ export const buildRejectOrPreferRuleDefinition = ({
302308
303309 const [
304310 hasMatchingPreferredType ,
305- typeName ,
311+ typName ,
306312 isGenericMatch ,
307313 ] = getPreferredTypeInfo ( type , typeNodeName , parentNode , property ) ;
308314
309315 let preferred ;
310316 let types ;
311317 if ( hasMatchingPreferredType ) {
312- const preferredSetting = preferredTypes [ typeName ] ;
313- typeNodeName = typeName === '[]' ? typeName : typeNodeName ;
318+ const preferredSetting = preferredTypes [ typName ] ;
319+ typeNodeName = typName === '[]' ? typName : typeNodeName ;
314320
315321 if ( ! preferredSetting ) {
316322 invalidTypes . push ( [
0 commit comments