uclass is a 'before ES6' class syntax that mimics mootools/base.js & Class.Mutator.Bind syntax. There is no runtime overload as this is just a syntax wrapper around javascript native Prototype. Feel free to switch to a ES6 classes / Typescript anytime a
npm install uclass
var Class = require('uclass');
var statik = require('uclass/static');
var Ball = new Class({
Binds:['step'], //force
color :'red',
direction:[0,0],
radius:0,
position:[0,0],
initialize: function(radius, direction){
this.radius = radius || 10;
this.direction = direction || [Math.random()10, Math.random()10];
},
step:function(){
this.position[0] += this.direction[0];
this.position[1] += this.direction[1];
},
generate : statik( function(radius, position){
return new Ball(radius, position);
} ),
});
var ball = new Ball(12);
`
Api/mixin
Using Implements : [list of traits] you can add method to your class prototype using any native object
`
Implements : [
require('events').EventEmitter, //for node
require('uclass/events'), //for the browser
require('uclass/options'), //add setOptions (merge(this.options))
require('uclass/static'), //declare a static member
}
``