@shopgate/pwa-common-commerce
Version:
Commerce library for the Shopgate Connect PWA.
14 lines • 1.09 kB
JavaScript
import{createSelector}from'reselect';/**
* @param {Object} state The appllication state.
* @return {Object}
*/export var getSuggestionsState=function getSuggestionsState(state){return state.search.suggestions;};/**
* Retrieves the search suggestions for a passed search phrase.
* @param {Object} state The application state.
* @param {Object} props The component props.
* @returns {Object|null} The suggestions
*/export var getSuggestions=createSelector(getSuggestionsState,function(state,props){return props.searchPhrase;},function(suggestions,phrase){if(!phrase||!suggestions[phrase]){return null;}return suggestions[phrase].suggestions;});/**
* Detects if suggestions for a passed search phrase are currently fetching.
* @param {Object} state The application state.
* @param {Object} props The component props.
* @returns {boolean}
*/export var getSuggestionsFetchingState=createSelector(getSuggestionsState,function(state,props){return props.searchPhrase;},function(suggestions,phrase){if(!phrase||!suggestions[phrase]){return false;}return suggestions[phrase].isFetching;});