From 750b03a22fad2f5efd0473a5235b3c0e1be31015 Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Mon, 29 May 2017 22:40:01 +0200 Subject: [PATCH] refactor: use WeakSet to keep track of transformed nodes --- .../babel-plugin-transform-optional-chaining/src/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/babel-plugin-transform-optional-chaining/src/index.js b/packages/babel-plugin-transform-optional-chaining/src/index.js index 77a6a20ff2..584294ac54 100644 --- a/packages/babel-plugin-transform-optional-chaining/src/index.js +++ b/packages/babel-plugin-transform-optional-chaining/src/index.js @@ -1,14 +1,15 @@ export default function ({ types: t }) { + const optionalNodesTransformed = new WeakSet(); const nilIdentifier = t.unaryExpression("void", t.numericLiteral(0)); function setOptionalTransformed(node) { t.assertMemberExpression(node); // Dev - node._optionalTransformed = true; + optionalNodesTransformed.add(node); } function isOptionalTransformed(node) { t.assertMemberExpression(node); // Dev - return node._optionalTransformed === true; + return optionalNodesTransformed.has(node); } function createCondition(ref, access, nextProperty, bailout) {