node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »

mixup

mixup Build Status

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.

Installation

$ npm install mixup

Usage

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
C