# ts-no-unnecessary-template-expression
Catches unnecessary template expressions such as string expressions within
a template literal.
## Options
A single options object has the following properties.
### enableFixer
Whether to enable the fixer. Defaults to `true`.
|||
|---|---|
|Context|everywhere|
|Tags|``|
|Recommended|false|
|Settings||
|Options|`enableFixer`|
## Failing examples
The following patterns are considered problems:
````ts
/**
* @type {`A${'B'}`}
*/
// Message: Found an unnecessary string literal within a template.
/**
* @type {`A${'B'}`}
*/
// "jsdoc/ts-no-unnecessary-template-expression": ["error"|"warn", {"enableFixer":false}]
// Message: Found an unnecessary string literal within a template.
/**
* @type {(`A${'B'}`)}
*/
// Message: Found an unnecessary string literal within a template.
/**
* @type {`A${'B'}`|SomeType}
*/
// Message: Found an unnecessary string literal within a template.
/**
* @type {`${B}`}
*/
// Message: Found a lone template expression within a template.
/**
* @type {`${B}`}
*/
// "jsdoc/ts-no-unnecessary-template-expression": ["error"|"warn", {"enableFixer":false}]
// Message: Found a lone template expression within a template.
/**
* @type {`A${'B'}${'C'}`}
*/
// Message: Found an unnecessary string literal within a template.
/**
* @type {`A${'B'}C`}
*/
// Message: Found an unnecessary string literal within a template.
/**
* @type {`${'B'}`}
*/
// Message: Found an unnecessary string literal within a template.
/**
* @type {(`${B}`)}
*/
// Message: Found a lone template expression within a template.
/**
* @type {`${B}` | number}
*/
// Message: Found a lone template expression within a template.
````
## Passing examples
The following patterns are not considered problems:
````ts
/**
* @type {`AB`}
*/
/**
* @type {`A${C}B`}
*/
/**
* @param {BadType<} someName
*/
/**
* @param {`A${'B'}`} someName
*/
// Settings: {"jsdoc":{"mode":"jsdoc"}}
````