mdp-cli

1.3.3 • Public • Published

MDP-CLI

MDP Group Web Department React & NodeJS Starter Kit.

Installation

Use npm the package manager to install. The package must be installed globally ( -g ).

$ npm i -g mdp-cli

React Usage

$ mdp-create-react

NodeJS Usage

$ mdp-create-nodejs

React Redux & Saga Generator

$ mdp-create-redux 'CONSTANT_NAME' 'ACTION_PARAMTERS,ACTION_PARAMTERS1,ACTION_PARAMTERS2' 'REDUCERS_STATE_NAME'

Usage :

mdp-create-redux user name,email userData

Output;

## store/constants.js

// USER CONSTANTS
export const GET_USER = 'GET_USER';
export const SET_USER = 'SET_USER';
## store/actions.js

// GET_USER
export const getUser = (name, email) => ({
  type: constants.GET_USER, name, email,
});
// SET_USER
export const setUser = (data) => ({
  type: constants.SET_USER, data,
});
## store/reducers.js

switch (actions.type) {
  case constants.SET_TOAST: {
    const oldToast = state.toast;
    const toast = { open: action.value, message: action.message, variant: action.variant };
    if (!action.value) {
      toast.message = '';
      toast.variant = oldToast.variant;
    }
    return { ...state, toast };
  }
  // New Added Line Start
  case constants.SET_USER: {
    return { ...state, userData: action.data };
  }
  // New Added Line End
  default: {
    return state;
  }
}
## store/sagas.js

function* getUser(name, email) {
  const jsonStr = JSON.stringify({ name, email });
  const result = yield call(request, url.USER, 'POST', jsonStr, true);
  if (result !== 'invalid') {
    if (result.status) {
      yield put(actions.setUser(data(result.data)));
    } else {
      yield put(actions.setToast(true, result.message, 'error'));
    }
  } else {
    yield put(actions.setToast(true, 'Could not establish a connection with the server!', 'warning'));
  }
}
...
function* getUserWatcher() {
  while (true) {
    const action = yield take(constants.GET_USER);
    yield call(getUser, action.name, action.email);
  }
}
...
export default function* rootSaga() {
  yield all([
    getUserWatcher(), // Added rootSaga
    getInitWatcher(),
  ]);
}
## store/selectors.js

export const selectUser = () => createSelector(
  domain,
  (substate) => substate.userData,
);

Need Support?

if you need support you can mail burak.sevinc@mdpgroup.com

Package Sidebar

Install

npm i mdp-cli

Weekly Downloads

1

Version

1.3.3

License

ISC

Unpacked Size

52.8 kB

Total Files

46

Last publish

Collaborators

  • buraksevinc