Skip to content

add decorators support#10

Open
thaerlabs wants to merge 1 commit intomasterfrom
decorators
Open

add decorators support#10
thaerlabs wants to merge 1 commit intomasterfrom
decorators

Conversation

@thaerlabs
Copy link
Copy Markdown

@thaerlabs thaerlabs commented Oct 14, 2019

Add decorators support

function log(target, name, descriptor) {
  const original = descriptor.value;
  if (typeof original === 'function') {
    descriptor.value = function(...args) {
      console.log(`Arguments: ${args}`);
      try {
        const result = original.apply(this, args);
        console.log(`Result: ${result}`);
        return result;
      } catch (e) {
        console.log(`Error: ${e}`);
        throw e;
      }
    };
  }
  return descriptor;
}

class Example {
  @log
  sum(a, b) {
    return a + b;
  }
}

const e = new Example();
e.sum(1, 2);

Will log

Arguments: 1,2
Result: 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants