From 2bded404f3f8a92f4d3eb886a3137cad8eb23ed1 Mon Sep 17 00:00:00 2001 From: Jason Quense Date: Tue, 17 Apr 2018 22:02:53 -0400 Subject: [PATCH] Improve asyncIterator error (#7745) * Improve asyncIterator error When an object is has neither asyncIterator or iterator defined, throw the "not an async iterable" error * Correct logic * reduce access * Update helpers.js --- packages/babel-helpers/src/helpers.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/babel-helpers/src/helpers.js b/packages/babel-helpers/src/helpers.js index c430819ba4..2d18fe71fd 100644 --- a/packages/babel-helpers/src/helpers.js +++ b/packages/babel-helpers/src/helpers.js @@ -72,13 +72,15 @@ helpers.jsx = () => template.program.ast` helpers.asyncIterator = () => template.program.ast` export default function _asyncIterator(iterable) { + var method if (typeof Symbol === "function") { if (Symbol.asyncIterator) { - var method = iterable[Symbol.asyncIterator]; + method = iterable[Symbol.asyncIterator] if (method != null) return method.call(iterable); } if (Symbol.iterator) { - return iterable[Symbol.iterator](); + method = iterable[Symbol.iterator] + if (method != null) return method.call(iterable); } } throw new TypeError("Object is not async iterable");