ease.js - Tasks: task #12097, Internal hooks/events for runtime...
You are not allowed to post comments on this tracker with your current authentication level.
task #12097: Internal hooks/events for runtime analysis
Submitter: | Mike Gerwitz <mikegerwitz> | ||
Submitted: | Sun 10 Jun 2012 03:34:48 AM UTC | ||
Should Start On: | Tue 01 Jan 2013 05:00:00 AM UTC | Should be Finished on: | Fri 01 Mar 2013 05:00:00 AM UTC |
Category: | Core | Priority: | 4 |
Item Group: | Development | Status: | None |
Privacy: | Public | Assigned to: | mikegerwitz |
Percent Complete: | 0% | Open/Closed: | Open |
Planned Release: | None | ||
Keywords: | runtime analysis, hooks |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
No changes have been made to this item
Powered by Savane 3.13-f8d8.
Corresponding source code
ease.js (ironically, because of its OO nature) provides very little means to alter its internal functionality through hooks or plugins. This is intentional, to ensure that users to not write plugins that would make their code unportable to other systems without use of those plugins. It would cause inconsistencies and stifle adoption while providing very little befit other than a potential "cool" factor (who doesn't want a 'public selfdestructing foo' that would blow up the engine on use?).
However, certain events would be useful to watch for the purpose of analysis or enforcement of coding standards. For example, let's say a corporation wishes to disallow inheritance in favor of pure composition (which isn't a bad decision). If ease.js provided an event to be triggered on class creation, one could hook the event and throw an exception if the class is attempting to inherit from another.
Such hooks will be useful for runtime analysis, which may be necessary under certain circumstances due to the difficulties in statically analyzing JavaScript code.