@babel/plugin-transform-regenerator
情報
このプラグインは、@babel/preset-envに含まれています。
例
入力
JavaScript
function* a() {
  yield 1;
}
出力
JavaScript
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
  );
}
インストール
- npm
- Yarn
- pnpm
npm install --save-dev @babel/plugin-transform-regenerator
yarn add --dev @babel/plugin-transform-regenerator
pnpm add --save-dev @babel/plugin-transform-regenerator
使用
設定ファイルを使用する(推奨)
オプションを使用しない場合
babel.config.json
{
  "plugins": ["@babel/plugin-transform-regenerator"]
}
オプションを使用する場合
| 名前 | デフォルト値 | 
|---|---|
| asyncGenerators | true | 
| generators | true | 
| async | true | 
babel.config.json
{
  "plugins": [
    [
      "@babel/plugin-transform-regenerator",
      {
        "asyncGenerators": false,
        "generators": false,
        "async": false
      }
    ]
  ]
}
CLI経由
シェル
babel --plugins @babel/plugin-transform-regenerator script.js
Node API経由
JavaScript
require("@babel/core").transformSync("code", {
  plugins: ["@babel/plugin-transform-regenerator"],
});