From 72259ca5d3208aa4df9282f50b1c4a9027494854 Mon Sep 17 00:00:00 2001 From: Sven SAULEAU Date: Tue, 25 Apr 2017 16:04:53 +0200 Subject: [PATCH] feat: cleanup --- .../src/index.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/babel-plugin-transform-optional-chaining/src/index.js b/packages/babel-plugin-transform-optional-chaining/src/index.js index 6e29dde42a..5493230d88 100644 --- a/packages/babel-plugin-transform-optional-chaining/src/index.js +++ b/packages/babel-plugin-transform-optional-chaining/src/index.js @@ -7,8 +7,8 @@ const nullOrUndefinedCheck = createTemplate(` : null `); -function isOptional(path) { - return path.node.optional === true; +function isNodeOptional(node) { + return node.optional === true; } const nullOrUndefinedCheckVisitor = { @@ -39,18 +39,16 @@ export default function ({ types: t }) { visitor: { MemberExpression(path) { - if (isOptional(path)) { + if (isNodeOptional(path.node)) { let { object } = path.node; - while ( - t.isMemberExpression(object) - && isOptional({ node: object }) - ) { + do { object = createCheck( object, object.object ); - } + + } while (t.isMemberExpression(object) && isNodeOptional(object)); path.replaceWith( createCheck(path.node, object)