extends__
__extends
Requireable CoffeeScript
Install
npm install --save extends__
Mixin syntax
It is possible to inherit from multiple classes - one Base and the rest Mixins.
Mixin methods must not call
Mixins can be fully capable classes with constructors and super
, and must not extend anything. They should be
a simple Interfaces. The Mixin constructor
is ignored. It will not be called.super
calls. The constructors
will be called in the order they appear in inheritance list. The superclass constructor
will be called first. The super
inside mixin methods will got up the mixin's inheritance chain.
CoffeeScript
then : -> @log ||= push 'Parent' then : -> @logpush 'Mixin1' then : -> @logpush 'Mixin2' then : -> @logpush 'MixinParent' then : -> super @logpush "MixinChild" extends ParentMixin1MixinChildMixin2 : -> super @logpush "Child" consolelog JSONstringify lognull' '
will yield
GULP
Use withCoffeeScript
gulp = require 'gulp'replace = require 'gulp-replace're = /\s*=\s*function\(child,\s*parent\)\s*\{.+?return\s*child;\s*\}/ gulptask 'coffee'-> gulp src './source/**/*.+(coffee|litcoffee)' pipe replace re'$1 = require("extends__")' pipe gulpdest './build'
JavaScript
var gulp replace re;gulp = ;replace = ;re = /\s*=\s*function\(child,\s*parent\)\s*\{.+?return\s*child;\s*\}/; gulp;
Build
git clone https://github.com/nhz-io/extends__.git
cd extends__
npm install
gulp
LICENSE
MIT
VERSION
0.0.8
- Updated the CoffeeScript extend example in README.md
0.0.7
- Mixins now can have constructors and call
super
0.0.6
- Added
Mixin
Functionality
0.0.5
- Better
README.md
- Now wrapping default CoffeScript extends