decorator-mixin

0.1.1 • Public • Published

Decorator Mixin

npm pipeline status npm

An implementation of mixins using the new Babel class decorators.

Usage

Pass mixin objects into the mixin function as a decorator on the class. Mixins later in the argument list take priority and will override any methods defined by earlier mixins or the class.

Example

const mixinA = {
  methodA () {
    console.log('mixinA')
  },

  methodB () {
    console.log('mixinA')
  },
}

const mixinB = {
  methodB () {
    console.log('mixinB')
  },

  methodC () {
    console.log('mixinB')
  },
}

@mixin(mixinA, mixinB)
class Klass {
  methodA () {
    console.log('class')
  },

  methodB () {
    console.log('class')
  },

  methodD () {
    console.log('class')
  },
}

const obj = new Klass()

obj.methodA() // 'mixinA'
obj.methodB() // 'mixinB'
obj.methodC() // 'mixinB'
obj.methodD() // 'class'

Contributing

Feedback and merge requests are welcome!

Readme

Keywords

Package Sidebar

Install

npm i decorator-mixin

Weekly Downloads

0

Version

0.1.1

License

MIT

Unpacked Size

19.6 kB

Total Files

5

Last publish

Collaborators

  • griest