Unsolicited Advice
Unexpectedly tell your parents to stop trying to tell you when a super class method wants to be triggered.
An overkill HOC that saves you the time of calling
class parent {
method() {
//method
}
}
class child extends parent {
method() {
super.method();
// method
}
}
and instead do
class parent {
@advice
method() {
// method
}
}
class child extends parent {
@after
method() {
// method
}
}
but also
class child extends parent {
@before
method() {
// method
}
}
which is the equivalent to
class child extends parent {
method() {
// method
super.method();
}
}
and
class child extends parent { @around method() { // method } }
to
class child extends parent {
method() {
super.method();
// method
super.method();
}
}
you can also override and not call the parent’s method at all just by not specifying an advice
class child extends parent {
method() {
// method
}
}
More
Advices are saved in a chain in the order specified by @after
@before
@around
, and executed in that order when called.
So you can do more interesthing stuff, see Advice.test.js
line
102 @before
test.