function verifyParameter(node, expectedName, expectedType) {
      const name = node.name || sourceCode.getText(node)
      let ok = true

      if (expectedName) {
        if (node.type !== 'Identifier' || expectedName !== node.name) {
          context.report({
            node,
            message:
              'The {{ name }} parameter should be named {{ expectedName }}.',
            data: {
              name,
              expectedName,
            },
          })
          ok = false
        }
      }

      if (expectedType) {
        if (
          !node.typeAnnotation ||
          sourceCode.getText(node.typeAnnotation.typeAnnotation) !==
            expectedType
        ) {
          context.report({
            node: node.typeAnnotation.typeAnnotation,
            message:
              'The {{ name }} parameter should have a type annotation of `{{ expectedType }}`',
            data: {
              name,
              expectedType,
            },
            fix(fixer) {
              return fixer.replaceText(
                node.typeAnnotation.typeAnnotation,
                expectedType
              )
            },
          })
          ok = false
        }
      }

      return ok
    }
/**
     * Verify that the parameter is of a specific type and name
     * @param  {Identifier} node         The parameter node
     * @param  {?string}    expectedName The expected name of the parameter
     * @param  {?string}    expectedType The expected type of the parameter
     * @return {boolean}                 Whether the requirements were satisfied
     */
Verify that the parameter is of a specific type and name
@param  {Identifier} node         The parameter node
@param  {?string}    expectedName The expected name of the parameter
@param  {?string}    expectedType The expected type of the parameter
@return {boolean}                 Whether the requirements were satisfied
Verify that the parameter is of a specific type and name @param { Identifier } node The parameter node @param { ?string } expectedName The expected name of the parameter @param { ?string } expectedType The expected type of the parameter @return { boolean } Whether the requirements were satisfied
function verifyParameter(node, expectedName, expectedType) {
      const name = node.name || sourceCode.getText(node)
      let ok = true
      if (expectedName) {
        if (node.type !== 'Identifier' || expectedName !== node.name) {
          context.report({
            node,
            message:
              'The {{ name }} parameter should be named {{ expectedName }}.',
            data: {
              name,
              expectedName,
            },
          })
          ok = false
        }
      }
      if (expectedType) {
        if (
          !node.typeAnnotation ||
          sourceCode.getText(node.typeAnnotation.typeAnnotation) !==
            expectedType
        ) {
          context.report({
            node: node.typeAnnotation.typeAnnotation,
            message:
              'The {{ name }} parameter should have a type annotation of `{{ expectedType }}`',
            data: {
              name,
              expectedType,
            },
            fix(fixer) {
              return fixer.replaceText(
                node.typeAnnotation.typeAnnotation,
                expectedType
              )
            },
          })
          ok = false
        }
      }
      return ok
    }
function verifyParameter ( node , expectedName , expectedType ) { const name = node . name || sourceCode . getText ( node ) let ok = true if ( expectedName ) { if ( node . type !== 'Identifier' || expectedName !== node . name ) { context . report ( { node , message : 'The {{ name }} parameter should be named {{ expectedName }}.' , data : { name , expectedName , } , } ) ok = false } } if ( expectedType ) { if ( ! node . typeAnnotation || sourceCode . getText ( node . typeAnnotation . typeAnnotation ) !== expectedType ) { context . report ( { node : node . typeAnnotation . typeAnnotation , message : 'The {{ name }} parameter should have a type annotation of `{{ expectedType }}`' , data : { name , expectedType , } , fix ( fixer ) { return fixer . replaceText ( node . typeAnnotation . typeAnnotation , expectedType ) } , } ) ok = false } } return ok }
Verify that the parameter is of a specific type and name
 @param  {Identifier} node         The parameter node
 @param  {?string}    expectedName The expected name of the parameter
 @param  {?string}    expectedType The expected type of the parameter
 @return {boolean}                 Whether the requirements were satisfied
Verify that the parameter is of a specific type and name @param { Identifier } node The parameter node @param { ?string } expectedName The expected name of the parameter @param { ?string } expectedType The expected type of the parameter @return { boolean } Whether the requirements were satisfied