function plugin( state, action ) {
	switch ( action.type ) {
		case PLUGIN_SETUP_INSTALL:
		case PLUGIN_SETUP_ACTIVATE:
		case PLUGIN_SETUP_CONFIGURE:
		case PLUGIN_SETUP_FINISH:
			if ( state.slug !== action.slug ) {
				return state;
			}
			return Object.assign( {}, state, {
				status: pluginStatus( state.status, action ),
			} );
		case PLUGIN_SETUP_ERROR:
			if ( state.slug !== action.slug ) {
				return state;
			}
			return Object.assign( {}, state, {
				status: pluginStatus( state.status, action ),
				error: action.error,
			} );
		default:
			return state;
	}
}
function plugin( state, action ) {
	switch ( action.type ) {
		case PLUGIN_SETUP_INSTALL:
		case PLUGIN_SETUP_ACTIVATE:
		case PLUGIN_SETUP_CONFIGURE:
		case PLUGIN_SETUP_FINISH:
			if ( state.slug !== action.slug ) {
				return state;
			}
			return Object.assign( {}, state, {
				status: pluginStatus( state.status, action ),
			} );
		case PLUGIN_SETUP_ERROR:
			if ( state.slug !== action.slug ) {
				return state;
			}
			return Object.assign( {}, state, {
				status: pluginStatus( state.status, action ),
				error: action.error,
			} );
		default:
			return state;
	}
}
function plugin ( state , action ) { switch ( action . type ) { case PLUGIN_SETUP_INSTALL : case PLUGIN_SETUP_ACTIVATE : case PLUGIN_SETUP_CONFIGURE : case PLUGIN_SETUP_FINISH : if ( state . slug !== action . slug ) { return state ; } return Object . assign ( { } , state , { status : pluginStatus ( state . status , action ) , } ) ; case PLUGIN_SETUP_ERROR : if ( state . slug !== action . slug ) { return state ; } return Object . assign ( { } , state , { status : pluginStatus ( state . status , action ) , error : action . error , } ) ; default : return state ; } }
/*
Tracks the state of a single premium plugin object
/ * Tracks the state of a single premium plugin object