JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q28900F
  • License ISC

javascript inheritance like class-based languages

Package Exports

  • define-js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (define-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

definejs

javascript inheritance like class-based languages

Installation

npm install define-js

Usage

var define = require('define-js');

var SuperFunction = function(value){ // super constructor

    var ivar = value;
    this.method = function(){

        console.log(ivar);
    };
};

module.exports = define(function(init, sṵper){

  return function(value){ // your constructor

    var self = init(value).self(this); // initialize super function with arguments and this scope
    //or var self = init.apply(this, arguments).self();
    self.method = function (){ // override a method of super object

      sṵper.method();
    };
  };
})
.extend(SuperFunction /*the function you want to inherit from*/)
.parameters("Value" /*parameters to be passed when instantiating the prototype object*/);