mixto
Version:
A mixin superclass. Its subclasses have `.extend` and `.includeInto` methods to mix behavior into other objects and classes.
37 lines (26 loc) • 731 B
Markdown
# Mixto: A simple mixin superclass [](https://travis-ci.org/atom/mixto)
To create a mixin, subclass mixto:
```coffee
Mixin = require 'mixto'
class MyMixin extends Mixin
@classMethod: -> console.log("foo")
instanceMethod: -> console.log("bar")
```
Then mix into classes with `.includeInto`:
```coffee
class MyClass
MyMixin.includeInto(this)
MyClass.classMethod()
(new MyClass).instanceMethod()
```
Or extend individual objects with `.extend`:
```coffee-script
myObject = {a: 1, b: 2}
MyMixin.extend(myObject)
myObject.instanceMethod()
```
Or build standalone instances of your 'mixin':
```
standalone = new MyMixin
standalone.instanceMethod()
```