Ask /r/javascript: How do you indent your code involving promise chains?

I prefer to pass a function instead of using the anonymous function, when refactoring it's easier for me, also, we now have ES6 thought.

let num = prompt('Number:');

sumIfGreaterThan10(Number(num))
    .then(plus10)
    .then(plus20)
    .catch(sumError);

function sumIfGreaterThan10 (num) {
  return new Promise((resolve, reject) => {
    if (num === 0)
      reject({info: 'no input'});

    if (isNaN(num))
      reject({info: 'NaN'});

    if (num > 10) {
      resolve(num);
    } else {
      reject({info: 'not greater', num: num});
    }
   });
}

function plus10 (num) {
  return num += 10;
}

function plus20 (num) {
  window.alert(`end: ${num += 20}`);
}

function sumError (error) {
  switch (error.info) {
    case 'no input':
      window.alert('Nothing to do...');
      break;
    case 'not greater':
      window.alert(`${error.num} is not greater than 10`);
      break;
    case 'NaN':
      window.alert(`¯\_(ツ)_/¯`);
      break;
  }
}

babel%3B%0A%0AsumIfGreaterThan10(Number(num))%0A%20%20%20%20.then(plus10)%0A%20%20%20%20.then(plus20)%0A%20%20%20%20.catch(sumError)%3B%0A%0Afunction%20sumIfGreaterThan10%20(num)%20%7B%0A%20%20return%20new%20Promise((resolve%2C%20reject)%20%3D%3E%20%7B%0A%20%20%20%20if%20(num%20%3D%3D%3D%200)%0A%20%20%20%20%20%20reject(%7Binfo%3A%20'no%20input'%7D)%3B%0A%20%20%20%20%0A%20%20%20%20if%20(isNaN(num))%0A%20%20%20%20%20%20reject(%7Binfo%3A%20'NaN'%7D)%3B%0A%20%20%20%20%0A%20%20%20%20if%20(num%20%3E%2010)%20%7B%0A%20%20%20%20%20%20resolve(num)%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20reject(%7Binfo%3A%20'not%20greater'%2C%20num%3A%20num%7D)%3B%0A%20%20%20%20%7D%0A%20%20%20%7D)%3B%0A%7D%0A%0Afunction%20plus10%20(num)%20%7B%0A%20%20return%20num%20%2B%3D%2010%3B%0A%7D%0A%0Afunction%20plus20%20(num)%20%7B%0A%20%20window.alert(%60end%3A%20%24%7Bnum%20%2B%3D%2020%7D%60)%3B%0A%7D%0A%0Afunction%20sumError%20(error)%20%7B%0A%20%20switch%20(error.info)%20%7B%0A%20%20%20%20case%20'no%20input'%3A%0A%20%20%20%20%20%20window.alert('Nothing%20to%20do...')%3B%0A%20%20%20%20%20%20break%3B%0A%20%20%20%20case%20'not%20greater'%3A%0A%20%20%20%20%20%20window.alert(%60%24%7Berror.num%7D%20is%20not%20greater%20than%2010%60)%3B%0A%20%20%20%20%20%20break%3B%0A%20%20%20%20case%20'NaN'%3A%0A%20%20%20%20%20%20window.alert(%60%C2%AF%5C(%E3%83%84)%2F%C2%AF%60)%3B%0A%20%20%20%20%20%20break%3B%0A%20%20%7D%0A%7D)

/r/javascript Thread