function logWithDebug(target, key, descriptor) {
    const {value} = descriptor;
    throwIf(!isFunction(value), '@logWithDebug must be applied to a class method.');
    return {
        ...descriptor,
        value: function(...args) {
            return withDebug(key, () => value.apply(this, args), this);
        }
    };
}
/**
 * Modify a method so that its execution is tracked and timed with a debug message.
 * @see withDebug
 */
Modify a method so that its execution is tracked and timed with a debug message.
@see withDebug
Modify a method so that its execution is tracked and timed with a debug message . @see withDebug
function logWithDebug(target, key, descriptor) {
    const {value} = descriptor;
    throwIf(!isFunction(value), '@logWithDebug must be applied to a class method.');
    return {
        ...descriptor,
        value: function(...args) {
            return withDebug(key, () => value.apply(this, args), this);
        }
    };
}
function logWithDebug ( target , key , descriptor ) { const { value } = descriptor ; throwIf ( ! isFunction ( value ) , '@logWithDebug must be applied to a class method.' ) ; return { ... descriptor , value : function ( ... args ) { return withDebug ( key , ( ) => value . apply ( this , args ) , this ) ; } } ; }
Modify a method so that its execution is tracked and timed with a debug message.
Modify a method so that its execution is tracked and timed with a debug message .