def extract_dependencies
      dep_js = []
      # Mapdata dependencies
      get_map_data_dependencies(dep_js)
      # Dependencies provided in modules option (of highcharts mainly
      #   like tilemap) by the user
      dep_js |= user_options.delete(:modules).map! { |js| "#{js}.js" } if
      user_options && user_options[:modules]
      dep_js
    end
def extract_dependencies
      dep_js = []
      # Mapdata dependencies
      get_map_data_dependencies(dep_js)
      # Dependencies provided in modules option (of highcharts mainly
      #   like tilemap) by the user
      dep_js |= user_options.delete(:modules).map! { |js| "#{js}.js" } if
      user_options && user_options[:modules]
      dep_js
    end
Extracts the required dependencies for the chart. User does not need
   to provide any mapdata requirement explicity in the `options`.
   MapData will be extracted using `options[:chart][:map]` already
   provided by the user. In `modules` user needs to provide the required
   modules (like tilemap in highcharts) in the form of Array. Once the
   dependency is loaded on a page, there is no need to provide it again in
   the `modules` option.

 @return [Array] the required dependencies (mapdata or modules)
   to load the chart