@woocommerce/data
Version:
WooCommerce Admin data store and utilities
44 lines (43 loc) • 1.48 kB
JavaScript
/**
* External dependencies
*/
import createSelector from 'rememo';
export const getFreeExtensions = (state) => {
return state.freeExtensions || [];
};
export const getProfileItems = (state) => {
return state.profileItems || {};
};
export const getTaskLists = createSelector((state) => {
return Object.values(state.taskLists);
}, (state) => [state.taskLists]);
export const getTaskListsByIds = createSelector((state, ids) => {
return ids.map((id) => state.taskLists[id]);
}, (state, ids) => ids.map((id) => state.taskLists[id]));
export const getTaskList = (state, selector) => {
return state.taskLists[selector];
};
export const getTask = (state, selector) => {
return Object.keys(state.taskLists).reduce((value, listId) => {
return (value ||
state.taskLists[listId].tasks.find((task) => task.id === selector));
}, undefined);
};
export const getPaymentGatewaySuggestions = (state) => {
return state.paymentMethods || [];
};
export const getOnboardingError = (state, selector) => {
return state.errors[selector] || false;
};
export const isOnboardingRequesting = (state, selector) => {
return state.requesting[selector] || false;
};
export const getEmailPrefill = (state) => {
return state.emailPrefill || '';
};
export const getProductTypes = (state) => {
return state.productTypes || {};
};
export const getJetpackAuthUrl = (state, query) => {
return state.jetpackAuthUrls[query.redirectUrl] || '';
};