⬅️ Back to Table of Contents
📄 restrict-template-expressions.ts
📊 Analysis Summary
Metric |
Count |
🔧 Functions |
2 |
📦 Imports |
15 |
📑 Type Aliases |
3 |
📚 Table of Contents
🛠️ File Location:
📂 packages/eslint-plugin/src/rules/restrict-template-expressions.ts
📦 Imports
Name |
Source |
TSESTree |
@typescript-eslint/utils |
Type |
typescript |
TypeChecker |
typescript |
typeMatchesSomeSpecifier |
@typescript-eslint/type-utils |
typeOrValueSpecifiersSchema |
@typescript-eslint/type-utils |
AST_NODE_TYPES |
@typescript-eslint/utils |
TypeFlags |
typescript |
TypeOrValueSpecifier |
../util |
createRule |
../util |
getConstrainedTypeAtLocation |
../util |
getParserServices |
../util |
getTypeName |
../util |
isTypeAnyType |
../util |
isTypeFlagSet |
../util |
isTypeNeverType |
../util |
Functions
testTypeFlag(flagsToCheck: TypeFlags): OptionTester
Code
(flagsToCheck: TypeFlags): OptionTester =>
type =>
isTypeFlagSet(type, flagsToCheck)
- Parameters:
flagsToCheck: TypeFlags
- Return Type:
OptionTester
recursivelyCheckType(innerType: Type): boolean
Code
function recursivelyCheckType(innerType: Type): boolean {
if (innerType.isUnion()) {
return innerType.types.every(recursivelyCheckType);
}
if (innerType.isIntersection()) {
return innerType.types.some(recursivelyCheckType);
}
return (
isTypeFlagSet(innerType, TypeFlags.StringLike) ||
typeMatchesSomeSpecifier(innerType, allow, program) ||
enabledOptionTesters.some(({ tester }) =>
tester(innerType, checker, recursivelyCheckType),
)
);
}
- Parameters:
innerType: Type
- Return Type:
boolean
- Calls:
innerType.isUnion
innerType.types.every
innerType.isIntersection
innerType.types.some
isTypeFlagSet (from ../util)
typeMatchesSomeSpecifier (from @typescript-eslint/type-utils)
enabledOptionTesters.some
tester
Type Aliases
OptionTester
type OptionTester = (
type: Type,
checker: TypeChecker,
recursivelyCheckType: (type: Type) => boolean,
) => boolean;
Options
type Options = [
{
allow?: TypeOrValueSpecifier[];
} & Partial<Record<(typeof optionTesters)[number]['option'], boolean>>,
];
MessageId
type MessageId = 'invalidType';