Solstice web interface.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

40 lines
1004 B

import {
SOCKET_SET_OPENING, SOCKET_SET_CLOSING, SOCKET_SEND_MESSAGE
} from "../constants/ActionTypes";
export default (socketClient) => ({
open: url => {
const action = { type: SOCKET_SET_OPENING };
try {
socketClient.open(url);
action.payload = url;
} catch (err) {
action.error = true;
action.payload = err;
}
return action;
},
close: () => {
const action = { type: SOCKET_SET_CLOSING };
try {
socketClient.close();
} catch (err) {
action.error = true;
action.payload = err;
}
return action;
},
send: message => {
const action = { type: SOCKET_SEND_MESSAGE };
try {
socketClient.send(JSON.stringify(message));
action.payload = message;
} catch (err) {
action.error = true;
action.payload = err;
}
return action;
}
});