code: function initCloneByTag(object, tag, isDeep) {
    var Ctor = object.constructor;
    switch (tag) {
      case arrayBufferTag$1:
        return _cloneArrayBuffer(object);
  
      case boolTag$1:
      case dateTag$1:
        return new Ctor(+object);
  
      case dataViewTag$2:
        return _cloneDataView(object, isDeep);
  
      case float32Tag$1: case float64Tag$1:
      case int8Tag$1: case int16Tag$1: case int32Tag$1:
      case uint8Tag$1: case uint8ClampedTag$1: case uint16Tag$1: case uint32Tag$1:
        return _cloneTypedArray(object, isDeep);
  
      case mapTag$2:
        return new Ctor;
  
      case numberTag$1:
      case stringTag$1:
        return new Ctor(object);
  
      case regexpTag$1:
        return _cloneRegExp(object);
  
      case setTag$2:
        return new Ctor;
  
      case symbolTag:
        return _cloneSymbol(object);
    }
  }
docs: Initializes an object clone based on its `toStringTag`.
  
  **Note:** This function only supports cloning values with tags of
  `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
  
  @private
  @param {Object} object The object to clone.
  @param {string} tag The `toStringTag` of the object to clone.
  @param {boolean} [isDeep] Specify a deep clone.
  @returns {Object} Returns the initialized clone.