boop

Boop (Backbone OOP) is standalone OOP library, based on one used in Backbone.

Boop

Boop (Backbone OOP) is standalone OOP library, based on one used in Backbone.

Boop may be used in different environments (browser, AMD, Node.js).

var Foo = Boop.extend({
    initialize : function () {
        //will be called as constructor 
    },
    method1 : function () {
    },
    method2 : function () {
    }
}, {
    staticMethod1 : function () {
    },
    staticMethod2 : function () {
    }
});
 
var Event = {
    on : function () {
    },
    off : function () {
    },
    emit : function () {
    }
};
 
Foo.mixin(Event);
 
//call staic method 
Foo.staticMethod1();
 
//create instance 
var foo = new Foo;
 
//call prototype method 
foo.method1();
 
//call mixin method 
foo.emit();
 
//instanceof works 
foo instanceof Foo;
 
//etc... 

Add:

<script src="boop.js"></script>

Use:

<script>
    var Quux = Boop.extend({
        croak : function () {return 'a';}
    });
    (new Quux).croak(); //-> 'a'
</script> 

Install:

volo add boop

Use:

define(['boop'], function (Boop) {
    var Quux = Boop.extend({
        croak : function () {return 'a';}
    });
    (new Quux).croak(); //-> 'a' 
});

Install:

npm install boop

Use:

var Boop = require('boop');
var Quux = Boop.extend({
    croak : function () {return 'a';}
});
(new Quux).croak(); //-> 'a' 

Clone this repo, then install devDependencies, then test with mocha:

git clone https://github.com/jsmarkus/boop.git
cd boop
npm install -d
make test