У меня есть следующая функция (действие приставки), из которой я получаю тип возвращаемого значения.
export function apiGet(
uri: string,
onSuccess: string,
onError: string,
params?: { [key: string]: any }
) {
return {
type: "API_GET",
uri,
params,
onSuccess,
onError,
};
}
export type ApiGet = ReturnType<typeof apiGet>;
В приведенном выше коде я ожидал, что возвращаемый тип будет литеральным типом для свойства type .
type ApiGet = {
type: "API_GET";
uri: string;
params?: { [key: string]: string };
onSuccess: string;
onError: string;
};
Но выводимый тип выглядит следующим образом:
type ApiGet = {
type: string;
uri: string;
params?: { [key: string]: string };
onSuccess: string;
onError: string;
};
Это влияет на возможность использовать действия в случае переключателя и выводить другие реквизиты в блоке case
соответственно.