whole_func_string: function ChartJsProvider () {
      var options = {};
      var ChartJs = {
        Chart: Chart,
        getOptions: function (type) {
          var typeOptions = type && options[type] || {};
          return angular.extend({}, options, typeOptions);
        }
      };
  
      /**
       * Allow to set global options during configuration
       */
      this.setOptions = function (type, customOptions) {
        // If no type was specified set option for the global object
        if (! customOptions) {
          customOptions = type;
          options = angular.extend(options, customOptions);
          return;
        }
        // Set options for the specific chart
        options[type] = angular.extend(options[type] || {}, customOptions);
      };
  
      this.$get = function () {
        return ChartJs;
      };
    }
func_code_string: function ChartJsProvider () {
      var options = {};
      var ChartJs = {
        Chart: Chart,
        getOptions: function (type) {
          var typeOptions = type && options[type] || {};
          return angular.extend({}, options, typeOptions);
        }
      };
  
      /**
       * Allow to set global options during configuration
       */
      this.setOptions = function (type, customOptions) {
        // If no type was specified set option for the global object
        if (! customOptions) {
          customOptions = type;
          options = angular.extend(options, customOptions);
          return;
        }
        // Set options for the specific chart
        options[type] = angular.extend(options[type] || {}, customOptions);
      };
  
      this.$get = function () {
        return ChartJs;
      };
    }
func_documentation_string: Wrapper for chart.js
  Allows configuring chart js using the provider
  
  angular.module('myModule', ['chart.js']).config(function(ChartJsProvider) {
  ChartJsProvider.setOptions({ responsive: true });
  ChartJsProvider.setOptions('Line', { responsive: false });
  })))