docs: function(target,source) {
      var keys = Object.keys(source);
      var len = keys.length;
      for (var i = 0; i < len; i++) {
        var key = keys[i];
        if (lib.type.isObject(source[key])) {
          if (!lib.type.isObject(target[key])) {
            target[key] = {};
          }
          factory.merge(target[key],source[key]);
        } else {
          target[key] = source[key];
        }
      }
      return target;
    }