Regenerator transform
This plugin uses the regenerator module to transform async and generator functions. regeneratorRuntime
is not included.
Runtime required
You need to use either the Babel polyfill or the regenerator runtime so that
regeneratorRuntime
will be defined.
Async functions
These are only usable if you enable their syntax plugin. See syntax-async-functions for information.
Example
In
function* a() { yield 1; }
Out
var _marked = [a].map(regeneratorRuntime.mark); function a() { return regeneratorRuntime.wrap(function a$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return 1; case 2: case "end": return _context.stop(); } } }, _marked[0], this); }
Installation
npm install --save-dev babel-plugin-transform-regenerator
Usage
Via .babelrc
(Recommended)
Without options:
{ "plugins": ["transform-regenerator"] }
With options:
name | default value |
---|---|
asyncGenerators | true |
generators | true |
async | true |
{ "plugins": [ ["transform-regenerator", { "asyncGenerators": false, "generators": false, "async": false }] ] }
Via CLI
babel --plugins transform-regenerator script.js
Via Node API
require("babel-core").transform("code", { plugins: ["transform-regenerator"] });
© 2018 Sebastian McKenzie
Licensed under the MIT License.
http://babeljs.io/docs/plugins/transform-regenerator/