function updateSiteState( state, siteId, attributes ) {
	return Object.assign( {}, state, {
		[ siteId ]: Object.assign( {}, initialSiteState, state[ siteId ], attributes ),
	} );
}
function updateSiteState( state, siteId, attributes ) {
	return Object.assign( {}, state, {
		[ siteId ]: Object.assign( {}, initialSiteState, state[ siteId ], attributes ),
	} );
}
function updateSiteState ( state , siteId , attributes ) { return Object . assign ( { } , state , { [ siteId ] : Object . assign ( { } , initialSiteState , state [ siteId ] , attributes ) , } ) ; }
Returns a new state with the given attributes updated for the specified site.

@param {Object} state current state
@param {Number} siteId identifier of the site
@param {Object} attributes list of attributes and their values
@returns {Object} the new state
Returns a new state with the given attributes updated for the specified site .