Typescript: Bruk verdi som nøkkel i typedefinisjon


Jeg får data fra en server i følgende format og jeg ønsker å definere typen dens. Jeg sliter med å definere én av nøklene da den avhenger av verdien til en annen nøkkel. Er det mulig å definere denne typen korrekt eller komme litt nærmere enn bare any?

Pseudo-kode nedenfor

type Data = {
    result: string;
    url: string;
    [key: result]: { // <- ERROR. The key should be the value of the result key above. 
        message: string;
    };
};

Svar #1

Dessverre er det ikke mulig slik du forventer, fordi det er ikke derfor TypeScript er laget. Sjekk dette svaret om typer ved kjøretid med TypeScript

Typer blir fjernet ved kompileringstidspunktet og eksisterer ikke ved kjøretid, så du kan ikke sjekke typen ved kjøretid.

Personlig, hvis du ikke kan vite typen til en egenskap før kjøretid, vil jeg foreslå å bruke Yup sin lazy-metode hvis du finner det mulig for ditt tilfelle.