suns.js
Object extending utilities for node and the browser (amd support)
Build
dependence) node.js
$ npm install .
$ make
Simple Example
var Base = function() {
this.name = 'this is base class';
};
Base.prototype = {
func1: function func1() {
return 'this is func1';
},
func2: function func2() {
return 'this is func2';
},
func3: function func3() {
return 'this is func3';
}
};
Base.staticProp = 'BaseStaticProp';
var Child = suns.extend(
'Child',
Base,
{
childfunc1: function childfunc1() {
return 'this is childfunc1';
},
func2: function func2() {
return 'this is overriden func2';
}
}
);
var c = new Child();
c.func1();
c.childfunc1();
c.func2();
Child.__supersuper__.func2.call(c);
var GrandChild = suns.extend(
'GrandChild',
Base,
{
childfunc1: function childfunc1() {
return 'this is childfunc1';
},
func2: function func2() {
return 'this is overriden func2';
}
},
{
childchildfunc1: function childchildfunc1() {
return 'this is childchildfunc1';
},
func2: function func2() {
return 'this is overoverriden func2';
},
func3: function func3() {
return 'this is overriden func3';
}
}
);
var gc = new GrandChild();
gc.func1();
gc.childfunc1();
gc.func2();
GrandChild.__super__.func2.call(gc);
GrandChild.__supersuper__.func2.call(gc);
AUTHORS
Kei FUNAGAYAMA
Kazuma MISHIMAGI
CyberAgent Publicity
Changelog
@see https://github.com/CyberAgent/suns.js/blob/master/Changelog
Copyright
CyberAgent, Inc. All rights reserved.
License
MIT @see https://github.com/CyberAgent/suns.js/blob/master/LICENSE