All files / app/assets/javascripts/ide/stores/modules/terminal_sync actions.js

100% Statements 18/18
100% Branches 6/6
100% Functions 7/7
100% Lines 18/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42      3x 2x   2x     1x     1x       3x 1x   1x     3x 5x 5x 5x 3x     2x   2x     1x     1x 1x      
import mirror, { canConnect } from '../../../lib/mirror';
import * as types from './mutation_types';
 
export const upload = ({ rootState, commit }) => {
  commit(types.START_LOADING);
 
  return mirror
    .upload(rootState)
    .then(() => {
      commit(types.SET_SUCCESS);
    })
    .catch((err) => {
      commit(types.SET_ERROR, err);
    });
};
 
export const stop = ({ commit }) => {
  mirror.disconnect();
 
  commit(types.STOP);
};
 
export const start = ({ rootState, commit }) => {
  const { session } = rootState.terminal;
  const path = session && session.proxyWebsocketPath;
  if (!path || !canConnect(session)) {
    return Promise.reject();
  }
 
  commit(types.START_LOADING);
 
  return mirror
    .connect(path)
    .then(() => {
      commit(types.SET_SUCCESS);
    })
    .catch((err) => {
      commit(types.SET_ERROR, err);
      throw err;
    });
};