Skip to content

Instantly share code, notes, and snippets.

@angus-c
Created May 1, 2016 00:11
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save angus-c/feea4e4cd0b853dc04c71fa4e7d2f83f to your computer and use it in GitHub Desktop.
Save angus-c/feea4e4cd0b853dc04c71fa4e7d2f83f to your computer and use it in GitHub Desktop.
///////////////////////////
// ES6 original
////////////////////////////
class A extends B {
constructor(x) {
this.x = x;
}
b() {return this.x};
}
////////////////////////////
// Bublé transpilation
////////////////////////////
var A = (function (B) {
function A(x) {
B.call(this, x);
this.x = x;
}
A.prototype = Object.create( B && B.prototype );
A.prototype.constructor = A;
A.prototype.b = function b() {return this.x};
return A;
}(B));
////////////////////////////
// Babel transpilation
////////////////////////////
"use strict";
var _createClass = function() {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
return function(Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _possibleConstructorReturn(self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return call && (typeof call === "object" || typeof call === "function") ? call : self;
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
enumerable: false,
writable: true,
configurable: true
}
});
if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
var A = function(_B) {
_inherits(A, _B);
function A(x) {
_classCallCheck(this, A);
var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(A).call(this, x));
_this.x = x;
return _this;
}
_createClass(A, [{
key: "b",
value: function b() {
return this.x;
}
}]);
return A;
}(B);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment