From c3465c1e889651df925324ed2a10ac2d5f229110 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 29 Aug 2022 04:10:16 +0100 Subject: [PATCH] fix(runtime-core): only set cache for object keys (#6266) --- packages/runtime-core/src/componentEmits.ts | 9 +++++++-- packages/runtime-core/src/componentOptions.ts | 5 +++-- packages/runtime-core/src/componentProps.ts | 8 ++++++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/runtime-core/src/componentEmits.ts b/packages/runtime-core/src/componentEmits.ts index 68393c80b35..b113eaa5357 100644 --- a/packages/runtime-core/src/componentEmits.ts +++ b/packages/runtime-core/src/componentEmits.ts @@ -7,6 +7,7 @@ import { hyphenate, isArray, isFunction, + isObject, isOn, toNumber, UnionToIntersection @@ -226,7 +227,9 @@ export function normalizeEmitsOptions( } if (!raw && !hasExtends) { - cache.set(comp, null) + if (isObject(comp)) { + cache.set(comp, null) + } return null } @@ -236,7 +239,9 @@ export function normalizeEmitsOptions( extend(normalized, raw) } - cache.set(comp, normalized) + if (isObject(comp)) { + cache.set(comp, normalized) + } return normalized } diff --git a/packages/runtime-core/src/componentOptions.ts b/packages/runtime-core/src/componentOptions.ts index 0d47e18c4af..36ba0d5166a 100644 --- a/packages/runtime-core/src/componentOptions.ts +++ b/packages/runtime-core/src/componentOptions.ts @@ -966,8 +966,9 @@ export function resolveMergedOptions( } mergeOptions(resolved, base, optionMergeStrategies) } - - cache.set(base, resolved) + if (isObject(base)) { + cache.set(base, resolved) + } return resolved } diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index e046342db35..51b77c56175 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -494,7 +494,9 @@ export function normalizePropsOptions( } if (!raw && !hasExtends) { - cache.set(comp, EMPTY_ARR as any) + if (isObject(comp)) { + cache.set(comp, EMPTY_ARR as any) + } return EMPTY_ARR as any } @@ -534,7 +536,9 @@ export function normalizePropsOptions( } const res: NormalizedPropsOptions = [normalized, needCastKeys] - cache.set(comp, res) + if (isObject(comp)) { + cache.set(comp, res) + } return res }