typescript eslint - Тип x не имеет следующих свойств из типа x - PullRequest
1 голос
/ 26 мая 2020

Итак, я начал новое гнездо. js проект, но мой eslint продолжает выдавать эту ошибку:

В типе 'Task []' отсутствуют следующие свойства из типа 'Task ': id, title, description, statusts (2739)

У меня есть model.ts

export interface Task {
    id: string;
    title: string;
    description: string;
    status: TaskStatus
}

export enum TaskStatus {
    OPEN = 'OPEN',
    IN_PROGRESS = 'IN_PROGRESS',
    DONE = 'DONE',
}

и служба в той же папке:

import { Injectable } from '@nestjs/common';
import { Task, TaskStatus } from './task.model';
import { v1 as uuidv1 } from 'uuid';

@Injectable()
export class TasksService {
    private tasks: Task[] = [];

    public getAllTasks(): Task {
        return this.tasks;  <- here
    }

    public createTask(title: string, description: string): Task {
        const task: Task = {
            id: uuidv1(),
            title,
            description,
            status: TaskStatus.OPEN
        };

        this.tasks.push(task);
        return task;
    }
}

метод getAllTasks возвращает ошибку

и это мой файл eslint:

module.exports = {
    'env': {
        'es6': true,
        'node': true
    },
    'extends': [
        'eslint:recommended',
        'plugin:@typescript-eslint/eslint-recommended',
        'plugin:@typescript-eslint/recommended'
    ],
    'globals': {
        'Atomics': 'readonly',
        'SharedArrayBuffer': 'readonly'
    },
    'parser': '@typescript-eslint/parser',
    'parserOptions': {
        'ecmaVersion': 11,
        'sourceType': 'module'
    },
    'plugins': [
        '@typescript-eslint'
    ],
    'rules': {
        semi: [2, 'always'],
        indent: ['error', 4],
        "space-before-function-paren": 0,
        "no-unused-vars": 0,
        quotes: [2, "single", { "avoidEscape": true }]
    }
};

Я не вижу ошибок в этом фрагменте кода или если я должен установить новую конфигурацию на моем eslint, чтобы избежать этого.

1 Ответ

3 голосов
/ 26 мая 2020

частные задачи: Задача [] = [];

publi c getAllTasks (): Задача {
return this.tasks; <- здесь <br>}

Вы возвращаете Task[] в функции, которая ожидает возврата Task. Т.е. измените тип возвращаемого значения на getAllTask(): Task[] {.

...