Skip to main content

foundation-redux.selectorsfromslices

Home > @genesislcap/foundation-redux > SelectorsFromSlices

SelectorsFromSlices type

Extracts the bound selectors type from an array of slices.

Signature:

export type SelectorsFromSlices<S extends SliceArray> = {
[K in S[number]['name']]: {
[SelectorKey in keyof Extract<S[number], {
name: K;
}>['selectors']]: (...payload: RemoveFirstParameter<Extract<S[number], {
name: K;
}>['selectors'][SelectorKey]>) => ReturnType<Extract<S[number], {
name: K;
}>['selectors'][SelectorKey]> extends void ? any : ReturnType<Extract<S[number], {
name: K;
}>['selectors'][SelectorKey]>;
};
};

References: SliceArray

Remarks

This utility type creates a nested object structure where each slice name maps to its selectors. Selectors are bound to the store and can access the current state.

Example

const { selectors } = createStore([userSlice, cartSlice], initialState);
// const userName = selectors.user.getUserName()
// const cartTotal = selectors.cart.getTotal()