Skip to content

⬅️ Back to Table of Contents

📄 no-dupe-class-members

📊 Analysis Summary

Metric Count
🔧 Functions 2
📦 Imports 6
📑 Type Aliases 2

📚 Table of Contents

🛠️ File Location:

📂 packages/eslint-plugin/src/rules/no-dupe-class-members.ts

📤 Default Export

export default createRule<Options, MessageIds>({ ... })
Property Value
name 'no-dupe-class-members'
meta.type 'problem'
meta.docs.description 'Disallow duplicate class members'
meta.docs.extendsBaseRule true
meta.hasSuggestions baseRule.meta.hasSuggestions
meta.messages baseRule.meta.messages
meta.schema baseRule.meta.schema
defaultOptions []

Entry point: create — documented under Functions.


📦 Imports

Name Source
TSESTree @typescript-eslint/utils
AST_NODE_TYPES @typescript-eslint/utils
InferMessageIdsTypeFromRule ../util
InferOptionsTypeFromRule ../util
createRule ../util
getESLintCoreRule ../util/getESLintCoreRule

Functions

create(context: any): any

Parameters:

  • context any

Returns: any

Calls:

  • baseRule.create
  • coreListener
  • wrapMemberDefinitionListener
Code
create(context) {
    const rules = baseRule.create(context);

    function wrapMemberDefinitionListener<
      N extends TSESTree.MethodDefinition | TSESTree.PropertyDefinition,
    >(coreListener: (node: N) => void): (node: N) => void {
      return (node: N): void => {
        if (node.computed) {
          return;
        }

        if (node.value?.type === AST_NODE_TYPES.TSEmptyBodyFunctionExpression) {
          return;
        }

        return coreListener(node);
      };
    }

    return {
      ...rules,
      'MethodDefinition, PropertyDefinition': wrapMemberDefinitionListener(
        rules['MethodDefinition, PropertyDefinition'],
      ),
    };
  }

Internal helpers

Declared inside another function in this file.

wrapMemberDefinitionListener(coreListener: (node: N) => void): (node: N) => void

Parameters:

  • coreListener (node: N) => void

Returns: (node: N) => void

Calls:

  • coreListener
Code
function wrapMemberDefinitionListener<
      N extends TSESTree.MethodDefinition | TSESTree.PropertyDefinition,
    >(coreListener: (node: N) => void): (node: N) => void {
      return (node: N): void => {
        if (node.computed) {
          return;
        }

        if (node.value?.type === AST_NODE_TYPES.TSEmptyBodyFunctionExpression) {
          return;
        }

        return coreListener(node);
      };
    }

Type Aliases

Options

type Options = InferOptionsTypeFromRule<typeof baseRule>;

MessageIds

type MessageIds = InferMessageIdsTypeFromRule<typeof baseRule>;

Generated by Syntax Scribe