Есть ли какой-либо способ передать универсальную информацию в функцию typeof от родительских функций к дочерним?

#typescript-generics

Вопрос:

Из библиотеки «типобезопасные действия» я, похоже, не могу передать информацию о типах в возвращаемый тип.

 import { createAsyncAction, PayloadActionCreator } from "typesafe-actions";
interface RT<REQG, RESG, ERRG> {
  request: PayloadActionCreator<string, REQG>;
  success: PayloadActionCreator<string, RESG>;
  failure: PayloadActionCreator<string, ERRG>;
}

//ERROR
const compilationError = <T1, T2, T3>(): RT<T1, T2, T3> => {
  const action = createAsyncAction("REQAA", "RESAA", "ERRAA")<T1, T2, T3>();
  return action; // T1 is not assigneable to undefined
};

//No error
const compilesFine = (): RT<"anyPayload", "anyPayload", "anyPayload"> => {
  const action = createAsyncAction("REQAA", "RESAA", "ERRAA")<
    "anyPayload",
    "anyPayload",
    "anyPayload"
  >();
  return action;
};

 

Комментарии:

1. Не прямой ответ на ваш вопрос, а способ сделать вашу жизнь намного проще: redux-toolkit.js.org/api/createAsyncThunk