/** * WordPress dependencies */ import { dispatch as d, createReduxStore, controls, register, } from '@safe-wordpress/data'; /** * External dependencies */ import { format } from '@neliosr/date'; import type { WithResolverDispatch, WithResolverSelect } from '@neliosr/types'; /** * Internal dependencies */ import reducer from './reducer'; import * as selectors from './selectors'; import * as realActions from './actions'; import * as sideEffects from './side-effects/actions'; import * as resolvers from './side-effects/resolvers'; import { STORE_NAME } from './config'; export { STORE_NAME } from './config'; export * from './types'; const actions = { ...realActions, ...sideEffects }; export const store = createReduxStore( STORE_NAME, { reducer, controls, actions: actions as WithResolverDispatch< typeof actions, typeof resolvers >, selectors: selectors as WithResolverSelect< typeof selectors, typeof resolvers >, resolvers, } ); register( store ); void d( store ).setToday( format( 'Y-m-d', new Date() ) ); // eslint-disable-next-line ( window as any ).nab?.experimentLibrary?.registerCoreExperiments();