Я пытаюсь создать функцию для нормализации моих массивов и ожидает выходной объект, который структурирован следующим образом:
{
allIds: [1],
byId: {
1: {...}
}
}
OR
{
allIds: ['1'],
byId: {
'1': {...}
}
}
Я пытаюсь создать интерфейс под названием IOutput
для этого.
Я пробовал это:
interface IOutput {
allIds: string[] | number[]
byId: {
[key: number | string]: any
}
}
Но это дает мне следующую ошибку
Тип параметра подписи индекса должен быть «строка» или «число». TS (1023)
Кажется, работает, когда я делаю это:
interface IOutput {
allIds: string[] | number[]
byId: {
[key: number]: any
}
}
OR
interface IOutput {
allIds: string[] | number[]
byId: {
[key: string]: any
}
}
Но это не то, чего я пытаюсь достичь. Я также попробовал это, и это дает мне ту же ошибку:
type StringOrNumber = string | number
interface IOutput {
allIds: string[] | number[]
byId: {
[key: StringOrNumber ]: any
}
}
Как мне добиться того, что я пытаюсь сделать?