Mixto: A simple mixin superclass ![Build Status](https://camo.githubusercontent.com/c8ff09355dd7514f44e90344302ad11ecfd094e79f926d586f37a497f2c37ffa/68747470733a2f2f7472617669732d63692e6f72672f61746f6d2f6d6978746f2e706e673f6272616e63683d6d6173746572)
To create a mixin, subclass mixto:
Mixin = require 'mixto'
class MyMixin extends Mixin
@classMethod: -> console.log("foo")
instanceMethod: -> console.log("bar")
Then mix into classes with .includeInto
:
class MyClass
MyMixin.includeInto(this)
MyClass.classMethod()
(new MyClass).instanceMethod()
Or extend individual objects with .extend
:
myObject = {a: 1, b: 2}
MyMixin.extend(myObject)
myObject.instanceMethod()
Or build standalone instances of your 'mixin':
standalone = new MyMixin
standalone.instanceMethod()