Pesquisa de site

Typescript: Acessar valor de propriedade a partir de declaração de tipo/interface


Eu tenho um tipo de seguinte

export type OfferTypes = {
__typename: 'OfferTypeTypePagination';

items: any[];

total: number;
};

existe uma maneira de acessar OfferTypeTypePagination como uma string a partir do código (por exemplo, console.log(OfferTypes.__typename)

Resposta #1

Quando você exporta um tipo, o 'OfferTypeTypePagination' não é um valor ou valor padrão para __typename, é basicamente outro tipo.

Isso significa que toda variável que for OfferTypes terá uma propriedade chamada "__typename" e terá apenas um valor, que é sempre 'OfferTypeTypePagination'

Então seu código deve ser assim:

const key = {
    'OfferTypeTypePagination': null,
};

export type OfferTypes = {
    __typename: keyof typeof key;

    items: any[];

    total: number;
};

console.log(Object.keys(key)[0]);