super-prop
Attach a property accessor for the super class
Ever wanted some syntactic sugar for calling functions up the prototype chain? The usual technique of BaseClass.prototype.someMethod.call(this)
leaves a bit to be desired.
What does super-prop
do?
- Gives you sugar for calling base/super class methods
- Gives you sugar for calling the base/super constructor
- Lazy-loads the bindings
More importantly, what does super-prop
look like?
Childprototype { // call super class's validate method thissuper; // then do my own stuff here}
Getting Started
Install super-prop
npm install super-prop
When creating a child class..
var superprop = ; // Given you have a Parent 'class' that you are // inheriting from, create your Child as follows: { // This will create a new property called 'super' // that can execute the parent methods bound to // the current instance superprop; // You can also call the super constructor // with sugar for Parent.call(this); this;}
Now, you can simply access the base/super method via the super
property!
Childprototype { // call super class's validate method thissuper; // then do my own stuff here}
Previously, you'd have to use Parent.prototype.validate.call(this)
. Now we can just use this.super.validate()
to do the same thing.
Example
var superprop = util = ; // Given a parent class {}Parentprototype { console;} // Create a child class { // attaches the property 'super' superprop; // call the super constructor // which is sugar for: Parent.call(this); this;} // make Child inherit from Parent in standard Node fashionutil; // override greeting on childChildprototype { thissuper; console;} // create an instance of the childvar child = ; // logs 'Hello' then 'Hola'child;
Contributing
In lieu of a formal style guide please maintain consistency through the code base and add appropriate unit tests. To validate your code run grunt validate