JSPM

  • Created
  • Published
  • Downloads 2140506
  • Score
    100M100P100Q222747F
  • License MIT

Compile ES2015 object super to ES5

Package Exports

  • babel-plugin-transform-es2015-object-super

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 (babel-plugin-transform-es2015-object-super) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

babel-plugin-transform-es2015-object-super

Compile ES2015 object super to ES5

Examples

In

let obj = {
  say () {
    return "Hello"
  }
}

let obj2 = {
  say () {
    return super.say() + "World!"
  }
}

Out

var _obj;

var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };

var obj = {
  say: function say() {
    return "Hello";
  }
};

var obj2 = _obj = {
  say: function say() {
    return _get(_obj.__proto__ || Object.getPrototypeOf(_obj), "say", this).call(this) + "World!";
  }
};

Installation

npm install --save-dev babel-plugin-transform-es2015-object-super

Usage

.babelrc

{
  "plugins": ["transform-es2015-object-super"]
}

Via CLI

babel --plugins transform-es2015-object-super script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-es2015-object-super"]
});