roughly sketched
- runtime based only and not using any kind of JavaScript "transpilers" or JavaScript build tools for "code weaving" as in e.g. AspectJ.
- thus being forced focusing on what ES3 language core does provide.
- implementation of prototypal method modifiers e.g.
Function.prototype.before
,Function.prototype.after
,Function.prototype.around
as minimal set of a kind of an AOP base that already supports library / framework agnostic modification of function based control flow by just wrapping additional behaviors / advice handlers around existing methods / functions. - clarify role of
Joinpoint
,Pointcut
,Advice
,Aspect
; especially from this point of view of what makes them distinct from existing approaches in compiled and/or non dynamic and/or non functional programming languages.