code: function assign (oldData, newData) {
    Object.keys(newData).forEach(k => {
      if (isObject(newData[k]) && oldData[k] && isObject(oldData[k])) {
        assign(oldData[k], newData[k])
        let obj = JSON.parse(JSON.stringify({
          [k]: oldData[k]
        }))
        Object.assign(oldData, obj)
      } else {
        oldData[k] = newData[k]
      }
    })
  }
docs: /*
  deep assign
  @param {Object} oldData oldData
  @param {Object} newData newData