coop

Co-operative multiple inheritance for JavaScript

MIT/X11 12 个版本
安装
npm install coop
yarn add coop
pnpm add coop
bun add coop
README

Co-Op provides Pythonic cooperative multiple inheritance to Javascript and Node.js.

Build Status

Installation

npm install coop

Usage

Creating a class is similar to Mootools:

var Class = require('coop').Class;
var MyClass = new Class({
  initialize: function(me) {
    this.me = me;
  }
});

Inheritance

...is a little different from Mootools. But orders of magnitude more powerful.

var MySubClass = new Class([MyClass, MyOtherClass], {
  initialize: function (me) {
    this.super_initialize(MySubClass, arguments);
  }
})

Metaclasses

Make your own subclass of Class, and override new, just like you do in Python:

var MyMetaClass = new Class([Class], {
  __new__: function (klass) {
    var instance = this.super___new__(MyMetaClass, arguments);

    registerMyClass( instance );

    return instance;
  }
})

var MyClass = new MyMetaClass({
  initialize: function () { /* ... */ }
})

版本列表
0.4.0 2014-06-16
0.3.0 2013-12-11
0.2.2 2013-10-29
0.2.1 2013-09-17
0.1.6 2012-08-22
0.1.5 2012-03-03
0.1.4 2012-03-01
0.1.3 2012-02-25
0.1.2 2011-10-01
0.1.1 2011-09-30
0.1.0 2011-09-04
0.0.1 2011-08-10