В чем проблема с enum?

Подскажите в чем может быть проблема? Передаю нужное значение, но выдается ошибка что возращаенное значение не соответствует enum, хотя значение одно и то же.

interface IRequest {
    "sum": 10000,
    "from": 2,
    "to": 4
}

enum EnumStatus {
    Success = 'success',
    Failed = "failed",
}

interface IDataSuccess extends IRequest {
    databaseId: number
}

interface IDataFailed {
    errorMessage: string,
    errorCode: number
}

interface IResponseSuccess {
    status: EnumStatus.Success,
    data: IDataSuccess
}

interface IResponseFailed {
    status: EnumStatus.Failed,
    data: IDataFailed
}

function get(): IResponseSuccess | IResponseFailed {
    return {
        status: 'success',
        data: {
            databaseId: 567,
            sum: 10000,
            from: 2,
            to: 4
        }
    }
}

ошибкавведите сюда описание изображения


Ответы (1 шт):

Автор решения: Александр Рогонов

Надо или так

interface IRequest {
    "sum": 10000,
    "from": 2,
    "to": 4
}

enum EnumStatus {
    Success = 'success',
    Failed = "failed",
}

interface IDataSuccess extends IRequest {
    databaseId: number
}

interface IDataFailed {
    errorMessage: string,
    errorCode: number
}

interface IResponseSuccess {
    status: EnumStatus.Success,
    data: IDataSuccess
}

interface IResponseFailed {
    status: EnumStatus.Failed,
    data: IDataFailed
}

function get(): IResponseSuccess | IResponseFailed {
    return {
        status: EnumStatus.Success,
        data: {
            databaseId: 567,
            sum: 10000,
            from: 2,
            to: 4
        }
    }
}

Или вот так

interface IRequest {
    "sum": 10000,
    "from": 2,
    "to": 4
}

interface IDataSuccess extends IRequest {
    databaseId: number
}

interface IDataFailed {
    errorMessage: string,
    errorCode: number
}

interface IResponseSuccess {
    status: 'success',
    data: IDataSuccess
}

interface IResponseFailed {
    status: 'failed',
    data: IDataFailed
}

function get(): IResponseSuccess | IResponseFailed {
    return {
        status: 'success',
        data: {
            databaseId: 567,
            sum: 10000,
            from: 2,
            to: 4
        }
    }
}
→ Ссылка