UNPKG

@shopgate/engage

Version:
39 lines 3.78 kB
import{createSelector}from'reselect';/** * Retrieves the config state from the store. * @param {Object} state The current application state. * @return {Object} The locations state. */function getState(state){var _state$settings;return(state===null||state===void 0?void 0:(_state$settings=state.settings)===null||_state$settings===void 0?void 0:_state$settings.config)||{};}/** * Creates the selector that retrieves the config. * @returns {Function} */export function makeGetConfig(){/** * @param {Object} state The application state. * @returns {Object} */return createSelector(getState,function(state){return state;});}/** * Creates the selector that retrieves the merchant settings. * @returns {Function} */export function makeGetMerchantSettings(){/** * @param {Object} state The application state. * @returns {Object} */return createSelector(getState,function(state){return state.merchantSettings||{};});}/** * Selector that retrieves the shop settings. * @param {Object} state The application state. * @returns {Object} */export var getShopSettings=function getShopSettings(state){var _state$settings2,_state$settings2$conf;return(state===null||state===void 0?void 0:(_state$settings2=state.settings)===null||_state$settings2===void 0?void 0:(_state$settings2$conf=_state$settings2.config)===null||_state$settings2$conf===void 0?void 0:_state$settings2$conf.shopSettings)||{};};/** * Selector that retrieves whether the config is still fetching. * @param {Object} state The application state. * @returns {Object} */export var getConfigFetching=function getConfigFetching(state){var _state$settings3,_state$settings3$conf;return(state===null||state===void 0?void 0:(_state$settings3=state.settings)===null||_state$settings3===void 0?void 0:(_state$settings3$conf=_state$settings3.config)===null||_state$settings3$conf===void 0?void 0:_state$settings3$conf.isFetching)||false;};/** * Creates a selector that retrieves the enabled fulfillment paths from the merchant settings. * @returns {Function} */export function makeGetEnabledFulfillmentMethods(){var getMerchantSettings=makeGetMerchantSettings();return createSelector(getMerchantSettings,function(settings){if(!Array.isArray(settings.enabledFulfillmentMethods)){return null;}return settings.enabledFulfillmentMethods;});}/** * Creates a selector that counts the enabled fulfillment paths from the merchant settings. * @returns {Function} */export function makeGetEnabledFulfillmentMethodsCount(){var getEnabledFulfillmentMethods=makeGetEnabledFulfillmentMethods();return createSelector(getEnabledFulfillmentMethods,function(methods){if(methods===null){return 0;}return methods.length;});}/** * Creates a selector that retrieves the enabled fulfillment paths. * @returns {Function} */export function makeGetFulfillmentPaths(){var getMerchantSettings=makeGetMerchantSettings();return createSelector(getMerchantSettings,function(settings){if(!settings||Object.keys(settings).length===0){return[];}var _settings$enabledFulf=settings.enabledFulfillmentMethodSelectionForEngage,enabledFulfillmentMethodSelectionForEngage=_settings$enabledFulf===void 0?[]:_settings$enabledFulf;return enabledFulfillmentMethodSelectionForEngage;});}/** * Creates a selector that retrieves the default unit system * @returns {Function} */export var makeGetDefaultUnitSystem=function makeGetDefaultUnitSystem(){var getMerchantSettings=makeGetMerchantSettings();return createSelector(getMerchantSettings,function(settings){if(!settings||Object.keys(settings).length===0){return null;}return settings.defaultUnitSystem||null;});};/** * @returns {Function} */export var makeUseLocationFulfillmentMethods=function makeUseLocationFulfillmentMethods(){return createSelector(function(){return true;});};