editProfile = async options => {
  let {
      susername,
      semail,
      values,
      values: { username, email },
    } = options,
    { data: uCount } = await post('/api/what-exists', {
      what: 'username',
      value: username,
    }),
    { data: eCount } = await post('/api/what-exists', {
      what: 'email',
      value: email,
    }),
    action = new Action('.edit_done')

  action.start('Processing..')

  if (!username) {
    Notify({ value: 'Username must not be empty!!' })
  } else if (!email) {
    Notify({ value: 'Email must not be empty!!' })
  } else if (uCount == 1 && username != susername) {
    Notify({ value: 'Username already exists!!' })
  } else if (eCount == 1 && email != semail) {
    Notify({ value: 'Email already exists!!' })
  } else {
    let {
      data: { mssg, success },
    } = await post('/api/edit-profile', values)

    Notify({
      value: ObjectMssg(mssg),
      done: () => (success ? location.reload() : null),
    })
  }

  action.end('Done Editing')
}
Edit profile
@param {Object} options
@param {String} options.susername
@param {String} options.semail
@param {Object} options.values
@param {String} options.values.username
@param {String} options.values.email