eslint max-line-per-function disable для объекта-сокращения - PullRequest
0 голосов
/ 28 февраля 2020
const mailParams = ({
  ToAddresses,
  CcAddresses,
  subject,
  sourceEmail,
  mailTemplate
}) => ({
  Destination: {
    ToAddresses,
    CcAddresses
  },
  Message: {
    Body: {
      Html: {
        Charset: 'UTF-8',
        Data: mailTemplate
      }
    },
    Subject: {
      Charset: 'UTF-8',
      Data: `${subject}`
    }
  },
  Source: `${sourceEmail}`
});

показывает Функция стрелки имеет слишком много строк (25). Максимально допустимое значение - 15.eslint (max-lines-per-function) , если все считать как новую строку. Как мы можем подавить object-shorthand и function-paren-newline ": ["error", {"minItems": 3}] строка должна рассматриваться как одна ie: общее число строк должно быть 5 или 2

1 Ответ

1 голос
/ 28 февраля 2020

Вы можете разбить свою функцию на более мелкие куски. Идея состоит в том, чтобы иметь функции, выполняющие только одну задачу. Это делает его более удобным для повторного использования.

const getSenderDetails = (ToAddresses, CcAddresses) => ({ ToAddresses, CcAddresses });
const getMessageDetails = (subject, mailTeplate) => {
  const CharSet = 'UTF-8';
  return {
    Body: {
      Html: {
        Charset,
        Data: mailTemplate
      }
    },
    Subject: {
      Charset,
      Data: `${subject}`
    }
  }
}
const mailParams = ({
  ToAddresses,
  CcAddresses,
  subject,
  sourceEmail,
  mailTemplate
}) => ({
  Destination: getSenderDetails(ToAddresses, CcAddresses),
  message: getMessageDetail(subject, mailTemplate),
  Source: `${sourceEmail}`
});
...