123456789101112131415161718192021222324252627282930313233343536 |
- import _ from 'lodash';
- import {
- getParameterName,
- iterateFunctionNodes,
- quoteName,
- } from '../utilities';
- const schema = [];
- const create = iterateFunctionNodes((context) => (functionNode) => {
- for (const identifierNode of functionNode.params) {
- const nodeType = _.get(identifierNode, 'type');
- const isAssignmentPattern = nodeType === 'AssignmentPattern';
- const hasTypeAnnotation = Boolean(_.get(identifierNode, 'typeAnnotation'));
- const leftAnnotated = Boolean(_.get(identifierNode, 'left.typeAnnotation'));
- if (isAssignmentPattern && hasTypeAnnotation && !leftAnnotated) {
- context.report({
- data: {
- name: quoteName(getParameterName(identifierNode, context)),
- },
- message: '{{name}}parameter type annotation must be placed on left-hand side of assignment.',
- node: identifierNode,
- });
- }
- }
- });
- export default {
- create,
- meta: {
- deprecated: true,
- },
- schema,
- };
|