Почему я должен объявить тип возвращаемого значения дважды? - PullRequest
0 голосов
/ 10 июля 2019

Я строю API только для практики. В моем решении я хотел бы предоставить некоторую функциональность кеша. Его тип может быть установлен в конфигурационном файле, например запись в файл или в базу данных.

Мой вопрос скорее относится к 'eslint', потому что во время разработки я использую машинопись и хочу связать свой исходный код перед коммитом.

Я не могу понять смысл этого предупреждающего сообщения во время помола:

9: 14 предупреждение Отсутствует тип возвращаемого значения для функции @ typescript-eslint / manifest-function-return-type

Я бы хотел избежать дублирования и использовать все в нужном месте.

Если я снова установлю тип возврата, как при методе проверки, сообщение исчезнет. Но в этом случае я не вижу смысла устанавливать его в интерфейсе.

interface CacheSolution {
  get(key: string): string;
  write(key: string, value: string): void;
  check(key: string): boolean;
}

class CacheIntoDatabase implements CacheSolution {

  public get (key) {
    return 'something';
  }

  public write (key: string, value: string) {

  }

  public check (key: string): boolean {
    return true;
  }

}

Конфигурация ESLINT

module.exports = {
  'env': {
    'es6': true,
    'node': true
  },
  'extends': [
      'plugin:@typescript-eslint/recommended'
  ],
  'globals': {
    'Atomics': 'readonly',
    'SharedArrayBuffer': 'readonly'
  },
  'parser':  '@typescript-eslint/parser',
  'parserOptions': {
    'ecmaVersion': 2018,
    'sourceType': 'module'
  },
  'rules': {
    'indent': 'off',
    '@typescript-eslint/indent': ['error', 2]
  }
};

Могу ли я как-то решить предупреждение или мне нужно попробовать жить вместе с дублированием? :)

1 Ответ

0 голосов
/ 10 июля 2019

Изменить это

public write (key: string, value: string) {

к этому

public write (key: string, value: string):void {

Причина, по которой вы получаете эту ошибку, вероятно, связана с вашими правилами lint, имеющими правило, требующее типа возврата метода, см. этот ответ для получения дополнительной информации об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...