В чем проблема с 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
}
}
}
