JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q28906F
  • 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

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

var SuperFunction = function(value){ // super constructor
    
    var protectedIvar = value;
    this.method = function(){
        
        return protectedIvar;
    };
};

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*/);