From 04136cfaba8bbe31b70c973f9c6770193c503627 Mon Sep 17 00:00:00 2001 From: skirtle <65301168+skirtles-code@users.noreply.github.com> Date: Thu, 25 Apr 2024 07:26:02 +0100 Subject: [PATCH] refactor: remove optional chaining --- packages/compiler-core/src/parser.ts | 15 ++++++++------- packages/reactivity/src/effect.ts | 2 +- packages/reactivity/src/reactiveEffect.ts | 3 ++- packages/runtime-core/src/components/Suspense.ts | 5 +++-- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/compiler-core/src/parser.ts b/packages/compiler-core/src/parser.ts index da8861b9237..cac943dd63d 100644 --- a/packages/compiler-core/src/parser.ts +++ b/packages/compiler-core/src/parser.ts @@ -179,7 +179,7 @@ const tokenizer = new Tokenizer(stack, { const name = currentOpenTag!.tag currentOpenTag!.isSelfClosing = true endOpenTag(end) - if (stack[0]?.tag === name) { + if (stack[0] && stack[0].tag === name) { onCloseTag(stack.shift()!, end) } }, @@ -587,14 +587,14 @@ function endOpenTag(end: number) { function onText(content: string, start: number, end: number) { if (__BROWSER__) { - const tag = stack[0]?.tag + const tag = stack[0] && stack[0].tag if (tag !== 'script' && tag !== 'style' && content.includes('&')) { content = currentOptions.decodeEntities!(content, false) } } const parent = stack[0] || currentRoot const lastNode = parent.children[parent.children.length - 1] - if (lastNode?.type === NodeTypes.TEXT) { + if (lastNode && lastNode.type === NodeTypes.TEXT) { // merge lastNode.content += content setLocEnd(lastNode.loc, end) @@ -771,7 +771,8 @@ function isComponent({ tag, props }: ElementNode): boolean { tag === 'component' || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || - currentOptions.isBuiltInComponent?.(tag) || + (currentOptions.isBuiltInComponent && + currentOptions.isBuiltInComponent(tag)) || (currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) ) { return true @@ -828,8 +829,8 @@ function condenseWhitespace( if (node.type === NodeTypes.TEXT) { if (!inPre) { if (isAllWhitespace(node.content)) { - const prev = nodes[i - 1]?.type - const next = nodes[i + 1]?.type + const prev = nodes[i - 1] && nodes[i - 1].type + const next = nodes[i + 1] && nodes[i + 1].type // Remove if: // - the whitespace is the first or last node, or: // - (condense mode) the whitespace is between two comments, or: @@ -1063,7 +1064,7 @@ export function baseParse(input: string, options?: ParserOptions): RootNode { currentOptions.ns === Namespaces.SVG || currentOptions.ns === Namespaces.MATH_ML - const delimiters = options?.delimiters + const delimiters = options && options.delimiters if (delimiters) { tokenizer.delimiterOpen = toCharCodes(delimiters[0]) tokenizer.delimiterClose = toCharCodes(delimiters[1]) diff --git a/packages/reactivity/src/effect.ts b/packages/reactivity/src/effect.ts index ca90544c0de..29d29cc4241 100644 --- a/packages/reactivity/src/effect.ts +++ b/packages/reactivity/src/effect.ts @@ -128,7 +128,7 @@ export class ReactiveEffect { if (this.active) { preCleanupEffect(this) postCleanupEffect(this) - this.onStop?.() + this.onStop && this.onStop() this.active = false } } diff --git a/packages/reactivity/src/reactiveEffect.ts b/packages/reactivity/src/reactiveEffect.ts index 6bf0e75115a..8e0674e925a 100644 --- a/packages/reactivity/src/reactiveEffect.ts +++ b/packages/reactivity/src/reactiveEffect.ts @@ -146,5 +146,6 @@ export function trigger( } export function getDepFromReactive(object: any, key: string | number | symbol) { - return targetMap.get(object)?.get(key) + const depsMap = targetMap.get(object) + return depsMap && depsMap.get(key) } diff --git a/packages/runtime-core/src/components/Suspense.ts b/packages/runtime-core/src/components/Suspense.ts index 670654074e6..5914e891cb2 100644 --- a/packages/runtime-core/src/components/Suspense.ts +++ b/packages/runtime-core/src/components/Suspense.ts @@ -479,7 +479,7 @@ function createSuspenseBoundary( let parentSuspenseId: number | undefined const isSuspensible = isVNodeSuspensible(vnode) if (isSuspensible) { - if (parentSuspense?.pendingBranch) { + if (parentSuspense && parentSuspense.pendingBranch) { parentSuspenseId = parentSuspense.pendingId parentSuspense.deps++ } @@ -898,5 +898,6 @@ function setActiveBranch(suspense: SuspenseBoundary, branch: VNode) { } function isVNodeSuspensible(vnode: VNode) { - return vnode.props?.suspensible != null && vnode.props.suspensible !== false + const suspensible = vnode.props && vnode.props.suspensible + return suspensible != null && suspensible !== false }