Skip to content

Commit f7b472c

Browse files
authored
fix: Bump regenerator and add tests (#15841)
* fix: Bump `regenerator` and add tests * Regenerate output.js * Regenerate output.js
1 parent a8f041b commit f7b472c

21 files changed

Lines changed: 82 additions & 31 deletions

File tree

packages/babel-helpers/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"@babel/generator": "workspace:^",
2424
"@babel/helper-plugin-test-runner": "workspace:^",
2525
"@babel/parser": "workspace:^",
26-
"regenerator-runtime": "^0.13.11",
26+
"regenerator-runtime": "^0.14.0",
2727
"terser": "^5.9.0"
2828
},
2929
"engines": {

packages/babel-helpers/src/helpers-generated.ts

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

packages/babel-helpers/src/helpers/regeneratorRuntime.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ export default function _regeneratorRuntime() {
483483
};
484484
};
485485
function values(iterable) {
486-
if (iterable) {
486+
if (iterable || iterable === "") {
487487
var iteratorMethod = iterable[iteratorSymbol];
488488
if (iteratorMethod) {
489489
return iteratorMethod.call(iterable);
@@ -508,11 +508,7 @@ export default function _regeneratorRuntime() {
508508
return (next.next = next);
509509
}
510510
}
511-
512-
// Return an iterator with no values.
513-
return {
514-
next: doneResult,
515-
};
511+
throw new TypeError(typeof iterable + " is not iterable");
516512
}
517513
exports.values = values;
518514
function doneResult() {

packages/babel-node/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"commander": "^4.0.1",
2828
"core-js": "^3.30.2",
2929
"node-environment-flags": "^1.0.5",
30-
"regenerator-runtime": "^0.13.11",
30+
"regenerator-runtime": "^0.14.0",
3131
"v8flags": "^3.1.1"
3232
},
3333
"peerDependencies": {

packages/babel-plugin-transform-async-generator-functions/test/fixtures/regression/13801/output.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/babel-plugin-transform-regenerator/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"main": "./lib/index.js",
1313
"dependencies": {
1414
"@babel/helper-plugin-utils": "workspace:^",
15-
"regenerator-transform": "^0.15.1"
15+
"regenerator-transform": "^0.15.2"
1616
},
1717
"license": "MIT",
1818
"publishConfig": {
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
function* f(x) {
2+
yield* x;
3+
};
4+
5+
expect(() => f(undefined).next()).toThrow(TypeError);
6+
expect(() => f(null).next()).toThrow(TypeError);
7+
expect(() => f(false).next()).toThrow(TypeError);
8+
expect(() => f(true).next()).toThrow(TypeError);
9+
expect(() => f(0).next()).toThrow(TypeError);
10+
expect(() => f(1).next()).toThrow(TypeError);
11+
expect(() => f({}).next()).toThrow(TypeError);
12+
13+
// #15172
14+
expect(() => {
15+
var [x] = {
16+
[Symbol.iterator]: function* () {
17+
yield* 0;
18+
},
19+
};
20+
}).toThrow(TypeError);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// #15172
2+
var [x] = {
3+
[Symbol.iterator]: function* () {
4+
yield* 0;
5+
}
6+
};
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"plugins": [
3+
"transform-destructuring",
4+
"transform-regenerator"
5+
]
6+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// #15172
2+
var _Symbol$iterator = {
3+
[Symbol.iterator]: /*#__PURE__*/babelHelpers.regeneratorRuntime().mark(function _callee() {
4+
return babelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
5+
while (1) switch (_context.prev = _context.next) {
6+
case 0:
7+
return _context.delegateYield(0, "t0", 1);
8+
case 1:
9+
case "end":
10+
return _context.stop();
11+
}
12+
}, _callee);
13+
})
14+
},
15+
_Symbol$iterator2 = babelHelpers.slicedToArray(_Symbol$iterator, 1),
16+
x = _Symbol$iterator2[0];

0 commit comments

Comments
 (0)