2016-10-27 16:58:11 +13:00
|
|
|
|
|
|
|
|
export default function reducer(pusher = {}, action){
|
|
|
|
|
switch (action.type) {
|
|
|
|
|
|
|
|
|
|
case 'PUSHER_CONNECTED':
|
2016-10-28 15:58:07 +13:00
|
|
|
return Object.assign({}, pusher, {
|
|
|
|
|
connected: true,
|
|
|
|
|
connecting: false,
|
|
|
|
|
connectionid: action.connection.connectionid,
|
|
|
|
|
username: action.connection.username
|
|
|
|
|
});
|
2016-10-27 16:58:11 +13:00
|
|
|
|
|
|
|
|
case 'PUSHER_DISCONNECTED':
|
|
|
|
|
return Object.assign({}, pusher, { connected: false, connecting: false });
|
|
|
|
|
|
2016-10-28 09:14:29 +13:00
|
|
|
case 'PUSHER_SET_CONFIG':
|
|
|
|
|
return Object.assign({}, pusher, {
|
|
|
|
|
port: action.port
|
|
|
|
|
});
|
2016-10-27 21:20:05 +13:00
|
|
|
|
2016-10-28 15:58:07 +13:00
|
|
|
case 'PUSHER_CHANGE_USERNAME':
|
|
|
|
|
return Object.assign({}, pusher, { username: action.data.connection.username });
|
|
|
|
|
|
2016-10-28 10:48:55 +13:00
|
|
|
case 'PUSHER_CONNECTION_UPDATED':
|
|
|
|
|
function byID(connection){
|
|
|
|
|
return connection.connectionid == action.data.connections.connectionid;
|
|
|
|
|
}
|
|
|
|
|
var connection = pusher.connections.find(byID);
|
|
|
|
|
var index = pusher.connections.indexOf(connection);
|
|
|
|
|
var connections = Object.assign([], pusher.connections);
|
|
|
|
|
connections[index] = action.data.connections;
|
|
|
|
|
|
|
|
|
|
return Object.assign({}, pusher, { connections: connections });
|
2016-10-27 21:20:05 +13:00
|
|
|
|
2016-10-28 09:14:29 +13:00
|
|
|
case 'PUSHER_CONNECTIONS':
|
|
|
|
|
return Object.assign({}, pusher, { connections: action.data.connections });
|
2016-10-27 21:20:05 +13:00
|
|
|
|
|
|
|
|
case 'PUSHER_VERSION':
|
|
|
|
|
return Object.assign({}, pusher, { version: action.data });
|
2016-10-27 16:58:11 +13:00
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
return pusher
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|