I have a very simple selector from reselect library:
const getUsers = (state: State): User[] => state.users;
type ExtendedUser = User & { role: string };
const userRoleSelector = createSelector(
getUsers,
(users: User[]): ExtendedUser[] => users.map((user) => ({ ...user, role: "basic" })),
);
I wanted to use it with typescript generics built in for createSelector:
export function createSelector<S, R1, T>(
selector: Selector<S, R1>,
combiner: (res: R1) => T
): OutputSelector<S, T, (res: R1) => T>
export function createSelector<S, P, R1, T>(
selector: ParametricSelector<S, P, R1>,
combiner: (res: R1) => T
): OutputParametricSelector<S, P, T, (res: R1) => T>
So I used it as:
const userRoleSelector = createSelector<State>(...);
^^^^ error (expected minimum 3 type arguments)
What should I place in
<>? Thanks!