maxtaco / tamejs

JavaScript code rewriter for taming async-callback-style code

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Streamline error handling

MSch opened this issue · comments

It'd be nice to have some syntax extensions to streamline error handling according to node-convention.

I propose finding a better way to express

  var bcryptShortcut = function (data, autocb) {
    await bcrypt.gen_salt(defer(var err, salt));
    if (err)
      return err;
    await bcrypt.encrypt(data, salt, defer(var err, hash));
    if (err)
      return err;
    return undefined, hash;
  };

  await bcryptShortcut("B4c0/\/", defer(var err, encrypted));

For example:

  var bcryptShortcut = function (data, autocberr) {
    await bcrypt.gen_salt(defer(autoerr, var salt));
    await bcrypt.encrypt(data, salt, defer(autoerr, var hash));
    return hash;
  };

  await bcryptShortcut("B4c0/\/", defer(var err, encrypted));

What do you think? How hard would it be to implement this transformation?