Fast, simple mixins for CoffeeScript.


Fast, simple mixin library for CoffeeScript. Supports instance and class variables. Does not to do any fancy linearization or anything like that. Each class in a mixup clobbers previously defined methods. If you want something closer to Python's multiple inheritance, checkout heterarchy.

$ npm install mixup
mixup = require 'mixup'
class A
  method: -> 'A'
class B extends A
  method: -> "B > #{super}"
class C extends A
  @classmethod: -> "C"
  method: -> "C > #{super}"
class D extends mixup BC
  method: -> "D > #{super}"
= new D
console.log d.method()
console.log D.classmethod()

Would output:

D > C > A