Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@babel/plugin-transform-object-super
Advanced tools
The @babel/plugin-transform-object-super package is a plugin for Babel, a JavaScript compiler, that allows the transformation of super calls in object methods. This is particularly useful when using the object method shorthand syntax in ES2015 (ES6) and beyond, where you might want to call a method of the same name from the superclass. This plugin ensures that such super calls are correctly transformed to function in environments that do not support this feature natively.
Transforming super calls in object methods
This feature allows you to use 'super' in object methods to call a method of the same name from the superclass. The plugin will transform this code to be compatible with environments that do not support this syntax natively.
{"object": {"method": function() { super.method(); }}}
This package transforms ES2015 classes to ES5. It is similar to @babel/plugin-transform-object-super in that it deals with class inheritance and super calls, but it focuses on class syntax rather than object method shorthand syntax.
This package is a legacy plugin that was used to transform super calls in object methods for ES2015. It has similar functionality to @babel/plugin-transform-object-super but is now deprecated in favor of the scoped @babel packages.
Compile ES2015 object super to ES5
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!";
}
};
npm install --save-dev @babel/plugin-transform-object-super
.babelrc
(Recommended).babelrc
{
"plugins": ["@babel/transform-object-super"]
}
babel --plugins @babel/transform-object-super script.js
require("@babel/core").transform("code", {
plugins: ["@babel/transform-object-super"]
});
FAQs
Compile ES2015 object super to ES5
The npm package @babel/plugin-transform-object-super receives a total of 19,038,234 weekly downloads. As such, @babel/plugin-transform-object-super popularity was classified as popular.
We found that @babel/plugin-transform-object-super demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.