decorators : logDuration()

by Cristi Salcescu

JavaScript

function logDuration(fn){
  function decorator(...args){
    let start = Date.now();
    let result = fn.apply(this, args);
    let duration = Date.now() - start;
    console.log(fn.name + "() duration : " + duration);
    return result;
  }

  Object.defineProperty(decorator, "name", { value: fn.name + "_logDuration" });
  return decorator;
}