function register(name, factory) {
    if (isObject(name)) {
      var filters = {};
      forEach(name, function(filter, key) {
        filters[key] = register(key, filter);
      });
      return filters;
    } else {
      return $provide.factory(name + suffix, factory);
    }
  }
@ngdoc method
@name $filterProvider#register
@param {string|Object} name Name of the filter function, or an object map of filters where
   the keys are the filter names and the values are the filter factories.

   <div class="alert alert-warning">
   **Note:** Filter names must be valid AngularJS {@link expression} identifiers, such as `uppercase` or `orderBy`.
   Names with special characters, such as hyphens and dots, are not allowed. If you wish to namespace
   your filters, then you can use capitalization (`myappSubsectionFilterx`) or underscores
   (`myapp_subsection_filterx`).
   </div>
@param {Function} factory If the first argument was a string, a factory function for the filter to be registered.
@returns {Object} Registered filter instance, or if a map of filters was provided then a map
   of the registered filter instances.