⬅️ Back to Table of Contents
📄 method-signature-style.ts
📊 Analysis Summary
Metric |
Count |
🔧 Functions |
37 |
📦 Imports |
8 |
📊 Variables & Constants |
4 |
📑 Type Aliases |
2 |
📚 Table of Contents
🛠️ File Location:
📂 packages/eslint-plugin/src/rules/method-signature-style.ts
📦 Imports
Name |
Source |
TSESTree |
@typescript-eslint/utils |
AST_NODE_TYPES |
@typescript-eslint/utils |
createRule |
../util |
isClosingParenToken |
../util |
isCommaToken |
../util |
isOpeningParenToken |
../util |
isSemicolonToken |
../util |
nullThrows |
../util |
Variables & Constants
Name |
Type |
Kind |
Value |
Exported |
params |
string |
let/var |
'()' |
✗ |
parent |
any |
const |
methodNode.parent |
✗ |
members |
any |
const |
`parent.type === AST_NODE_TYPES.TSInterfaceBody |
|
? parent.body |
|
|
|
|
: parent.members` |
✗ |
|
|
|
typeNode |
any |
const |
propertyNode.typeAnnotation?.typeAnnotation |
✗ |
Functions
getMethodKey(node: TSESTree.TSMethodSignature | TSESTree.TSPropertySignature): string
Code
function getMethodKey(
node: TSESTree.TSMethodSignature | TSESTree.TSPropertySignature,
): string {
let key = context.sourceCode.getText(node.key);
if (node.computed) {
key = `[${key}]`;
}
if (node.optional) {
key = `${key}?`;
}
if (node.readonly) {
key = `readonly ${key}`;
}
return key;
}
- Parameters:
node: TSESTree.TSMethodSignature | TSESTree.TSPropertySignature
- Return Type:
string
- Calls:
context.sourceCode.getText
getMethodParams(node: TSESTree.TSFunctionType | TSESTree.TSMethodSignature): string
Code
function getMethodParams(
node: TSESTree.TSFunctionType | TSESTree.TSMethodSignature,
): string {
let params = '()';
if (node.params.length > 0) {
const openingParen = nullThrows(
context.sourceCode.getTokenBefore(
node.params[0],
isOpeningParenToken,
),
'Missing opening paren before first parameter',
);
const closingParen = nullThrows(
context.sourceCode.getTokenAfter(
node.params[node.params.length - 1],
isClosingParenToken,
),
'Missing closing paren after last parameter',
);
params = context.sourceCode.text.substring(
openingParen.range[0],
closingParen.range[1],
);
}
if (node.typeParameters != null) {
const typeParams = context.sourceCode.getText(node.typeParameters);
params = `${typeParams}${params}`;
}
return params;
}
- Parameters:
node: TSESTree.TSFunctionType | TSESTree.TSMethodSignature
- Return Type:
string
- Calls:
nullThrows (from ../util)
context.sourceCode.getTokenBefore
context.sourceCode.getTokenAfter
context.sourceCode.text.substring
context.sourceCode.getText
getMethodReturnType(node: TSESTree.TSFunctionType | TSESTree.TSMethodSignature): string
Code
function getMethodReturnType(
node: TSESTree.TSFunctionType | TSESTree.TSMethodSignature,
): string {
return node.returnType == null
? // if the method has no return type, it implicitly has an `any` return type
// we just make it explicit here so we can do the fix
'any'
: context.sourceCode.getText(node.returnType.typeAnnotation);
}
- Parameters:
node: TSESTree.TSFunctionType | TSESTree.TSMethodSignature
- Return Type:
string
- Calls:
context.sourceCode.getText
- Internal Comments:
// we just make it explicit here so we can do the fix
getDelimiter(node: TSESTree.Node): string
Code
function getDelimiter(node: TSESTree.Node): string {
const lastToken = context.sourceCode.getLastToken(node);
if (
lastToken &&
(isSemicolonToken(lastToken) || isCommaToken(lastToken))
) {
return lastToken.value;
}
return '';
}
- Parameters:
node: TSESTree.Node
- Return Type:
string
- Calls:
context.sourceCode.getLastToken
isSemicolonToken (from ../util)
isCommaToken (from ../util)
isNodeParentModuleDeclaration(node: TSESTree.Node): boolean
Code
function isNodeParentModuleDeclaration(node: TSESTree.Node): boolean {
if (!node.parent) {
return false;
}
if (node.parent.type === AST_NODE_TYPES.TSModuleDeclaration) {
return true;
}
if (node.parent.type === AST_NODE_TYPES.Program) {
return false;
}
return isNodeParentModuleDeclaration(node.parent);
}
- Parameters:
node: TSESTree.Node
- Return Type:
boolean
- Calls:
isNodeParentModuleDeclaration
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(methodNode);
const params = getMethodParams(methodNode);
const returnType = getMethodReturnType(methodNode);
const delimiter = getDelimiter(methodNode);
return fixer.replaceText(
methodNode,
`${key}: ${params} => ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
fix(fixer: any): any
Code
fixer => {
const key = getMethodKey(propertyNode);
const params = getMethodParams(typeNode);
const returnType = getMethodReturnType(typeNode);
const delimiter = getDelimiter(propertyNode);
return fixer.replaceText(
propertyNode,
`${key}${params}: ${returnType}${delimiter}`,
);
}
- Parameters:
fixer: any
- Return Type:
any
- Calls:
getMethodKey
getMethodParams
getMethodReturnType
getDelimiter
fixer.replaceText
Type Aliases
Options
type Options = [('method' | 'property')?];
MessageIds
type MessageIds = 'errorMethod' | 'errorProperty';