'use strict';

const keyMirror = require('react/lib/keyMirror');
const debug = require('../utils/DebugConsole')('action:navigate');

const NavigateAction = (actionContext, payload) => {
  debug('executeAction %s', payload.actionType);
  switch (payload.actionType) {

    case NavigateAction.actionTypes.NAVIGATE:
      actionContext.dispatch('SET_ROUTE', payload.state);
      return Promise.resolve();

    default:
      return Promise.reject(new Error(`unknown actionType, ${payload.actionType}`));

  }
};

NavigateAction.actionTypes = keyMirror({
  NAVIGATE: null
});

module.exports = NavigateAction;
