babel/packages/babel-plugin-transform-exponentiation-operator
Justin Ridgewell ec3722b3f9
Get set helpers (#7687)
* Improve get/set helper

* fixtures

* Edge cases

* Add loose edge cases

* Spec compliant

* Add issue case

* Even more edge cases!

* Final updates

* Fix name

* Use Reflect.{get, set} when available

* Avoid block scoping in loose

* Remove semicolon

* Do not redefine a non-enumerable

* Get strictness from call site, not helpers

* Add called assertions

* Classes are always strict

* Update test fixture
2018-04-11 11:56:59 -04:00
..
2018-04-11 11:56:59 -04:00
2017-03-25 21:46:16 -04:00
2018-04-02 18:19:30 -04:00

@babel/plugin-transform-exponentiation-operator

Compile exponentiation operator to ES5

Example

// x ** y

let squared = 2 ** 2;
// same as: 2 * 2

let cubed = 2 ** 3;
// same as: 2 * 2 * 2


// x **= y

let a = 2;
a **= 2;
// same as: a = a * a;

let b = 3;
b **= 3;
// same as: b = b * b * b;

Installation

npm install --save-dev @babel/plugin-transform-exponentiation-operator

Usage

.babelrc

{
  "plugins": ["@babel/plugin-transform-exponentiation-operator"]
}

Via CLI

babel --plugins @babel/plugin-transform-exponentiation-operator script.js

Via Node API

require("@babel/core").transform("code", {
  plugins: ["@babel/plugin-transform-exponentiation-operator"]
});

References