code: function deepFromEntries(parent, parentKey, path, value) {
    const key = path.shift()
    const current = isNaN(key) ? {} : []
  
    // TODO: Refactor that function to reduce code.
    if (!parent) {
      if (path.length === 0) {
        current[key] = value
  
        return current
      }
  
      current[key] = deepFromEntries(current[key], key, path, value)
  
      return current
    }
  
    if (isPlainObject(parent) || isArray(parent)) {
      if (path.length === 0) {
        parent[key] = value
  
        return parent
      }
  
      parent[key] = deepFromEntries(parent[key], key, path, value)
  
      return parent
    }
  
    if (path.length === 0) {
      current[key] = value
  
      return current
    }
  
    current[key] = deepFromEntries(parent[key], key, path, value)
  
    return current
  }
docs: @param {array|object} target
  @param {array} path
  @param {any} value
  
  @return {array|object}
  
  @api private