Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
wp-content
/
plugins
/
woocommerce
/
packages
/
woocommerce-blocks
/
assets
/
js
/
data
/
query-state
:
selectors.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/** * Internal dependencies */ import { getStateForContext } from './utils'; /** * Selector for retrieving a specific query-state for the given context. * * @param {Object} state Current state. * @param {string} context Context for the query-state being retrieved. * @param {string} queryKey Key for the specific query-state item. * @param {*} defaultValue Default value for the query-state key if it doesn't * currently exist in state. * * @return {*} The currently stored value or the defaultValue if not present. */ export const getValueForQueryKey = ( state, context, queryKey, defaultValue = {} ) => { let stateContext = getStateForContext( state, context ); if ( stateContext === null ) { return defaultValue; } stateContext = JSON.parse( stateContext ); return typeof stateContext[ queryKey ] !== 'undefined' ? stateContext[ queryKey ] : defaultValue; }; /** * Selector for retrieving the query-state for the given context. * * @param {Object} state The current state. * @param {string} context The context for the query-state being retrieved. * @param {*} defaultValue The default value to return if there is no state for * the given context. * * @return {*} The currently stored query-state for the given context or * defaultValue if not present in state. */ export const getValueForQueryContext = ( state, context, defaultValue = {} ) => { const stateContext = getStateForContext( state, context ); return stateContext === null ? defaultValue : JSON.parse( stateContext ); };