mixup

Fast, simple mixins for CoffeeScript.

Usage no npm install needed!

<script type="module">
  import mixup from 'https://cdn.skypack.dev/mixup';
</script>

README

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 B, C
  method: -> "D > #{super}"

d = new D
console.log d.method()
console.log D.classmethod()

Would output:

D > C > A
C