Files
Iris/src/js/services/pusher/reducer.js

67 lines
2.3 KiB
JavaScript
Raw Normal View History

2016-10-27 16:58:11 +13:00
export default function reducer(pusher = {}, action){
2017-10-10 13:05:28 +13:00
switch (action.type){
2016-10-27 16:58:11 +13:00
2016-11-06 15:47:37 +13:00
case 'PUSHER_CONNECT':
case 'PUSHER_CONNECTING':
return Object.assign({}, pusher, { connected: false, connecting: true });
2016-10-27 16:58:11 +13:00
case 'PUSHER_CONNECTED':
return Object.assign({}, pusher, {
2017-02-19 21:27:43 +13:00
connected: true,
2017-02-21 08:35:24 +13:00
connecting: false,
2017-02-19 21:27:43 +13:00
connection_id: action.connection_id,
client_id: action.client_id,
2017-02-19 21:27:43 +13:00
username: action.username
2016-10-28 15:58:07 +13:00
});
2016-10-27 16:58:11 +13:00
case 'PUSHER_DISCONNECTED':
return Object.assign({}, pusher, { connected: false, connecting: false });
2016-10-31 09:25:15 +13:00
case 'PUSHER_SET_PORT':
return Object.assign({}, pusher, { port: action.port });
2016-10-27 21:20:05 +13:00
2017-02-19 21:27:43 +13:00
case 'PUSHER_USERNAME_CHANGED':
2017-02-18 22:04:05 +13:00
return Object.assign({}, pusher, { username: action.username });
2017-02-19 21:27:43 +13:00
case 'PUSHER_CONNECTIONS':
var connections = {}
for (var i = 0; i < action.connections.length; i++){
connections[action.connections[i].connection_id] = action.connections[i]
2016-10-28 10:48:55 +13:00
}
2017-02-19 21:27:43 +13:00
return Object.assign({}, pusher, { connections: connections });
case 'PUSHER_CONNECTION_ADDED':
2018-03-13 08:57:40 +13:00
case 'PUSHER_CONNECTION_CHANGED':
2017-02-19 21:27:43 +13:00
var connections = Object.assign({}, pusher.connections)
2018-03-13 08:57:40 +13:00
connections[action.connection.connection_id] = action.connection;
2017-02-19 21:27:43 +13:00
return Object.assign({}, pusher, { connections: connections });
2016-10-28 10:48:55 +13:00
2017-02-19 21:27:43 +13:00
case 'PUSHER_CONNECTION_REMOVED':
var connections = Object.assign({}, pusher.connections)
delete connections[action.connection.connection_id]
2016-10-28 10:48:55 +13:00
return Object.assign({}, pusher, { connections: connections });
2016-10-27 21:20:05 +13:00
2017-02-19 21:27:43 +13:00
case 'PUSHER_VERSION':
return Object.assign({}, pusher, {
2017-02-18 22:04:05 +13:00
version: action.version,
upgrading: false
});
2017-02-19 21:27:43 +13:00
case 'PUSHER_START_UPGRADE':
return Object.assign({}, pusher, { upgrading: true });
2016-10-27 16:58:11 +13:00
2018-03-26 10:36:13 +13:00
case 'PUSHER_CONFIG':
return Object.assign({}, pusher, { config: action.config });
2018-10-09 21:39:38 +13:00
case 'PUSHER_COMMANDS_UPDATED':
return Object.assign({}, pusher, { commands: action.commands });
2016-10-27 16:58:11 +13:00
default:
return pusher
}
}