35 lines
796 B
TypeScript
35 lines
796 B
TypeScript
|
/**
|
||
|
* External dependencies
|
||
|
*/
|
||
|
import { createReduxStore, register } from '@wordpress/data';
|
||
|
|
||
|
/**
|
||
|
* Internal dependencies
|
||
|
*/
|
||
|
import * as actions from './actions';
|
||
|
import * as selectors from './selectors';
|
||
|
import reducer from './reducers';
|
||
|
import { DispatchFromMap, SelectFromMap } from '../mapped-types';
|
||
|
|
||
|
const STORE_KEY = 'wc/store/store-notices';
|
||
|
const config = {
|
||
|
reducer,
|
||
|
actions,
|
||
|
selectors,
|
||
|
};
|
||
|
const store = createReduxStore( STORE_KEY, config );
|
||
|
register( store );
|
||
|
|
||
|
export const STORE_NOTICES_STORE_KEY = STORE_KEY;
|
||
|
|
||
|
declare module '@wordpress/data' {
|
||
|
function dispatch(
|
||
|
key: typeof STORE_KEY
|
||
|
): DispatchFromMap< typeof actions >;
|
||
|
function select( key: typeof STORE_KEY ): SelectFromMap<
|
||
|
typeof selectors
|
||
|
> & {
|
||
|
hasFinishedResolution: ( selector: string ) => boolean;
|
||
|
};
|
||
|
}
|