code: function(str, args) {
      var arg1 = args[0] && args[0].valueOf();
      // Unwrap if a single object is passed in.
      if (args.length === 1 && isObjectType(arg1)) {
        args = arg1;
      }
      return stringFormatMatcher(str, args);
    }
docs: *
  @method format(obj1, [obj2], ...)
  @returns String
  @short Replaces `{}` tokens in the string with arguments or properties.
  @extra Tokens support `deep properties`. If a single object is passed, its
  properties can be accessed by keywords such as `{name}`. If multiple
  objects or a non-object are passed, they can be accessed by the
  argument position like `{0}`. Literal braces in the string can be
  escaped by repeating them.
  
  @example
  
  'Welcome, {name}.'.format({ name: 'Bill' }) -> 'Welcome, Bill.'
  'You are {0} years old today.'.format(5)    -> 'You are 5 years old today.'
  '{0.name} and {1.name}'.format(users)       -> logs first two users' names
  '${currencies.usd.balance}'.format(Harry)   -> "$500"
  '{{Hello}}'.format('Hello')                 -> "{Hello}"
  
  @param {any} [obj1]
  @param {any} [obj2]
  
  *