From: edison Date: Wed, 23 Oct 2019 14:34:58 +0000 (+0800) Subject: perf(runtime-core): use `makeMap` instead of `RE` (#350) X-Git-Tag: v3.0.0-alpha.0~335 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9dcbf17f3af18d8e10e01a71003c6de8d87b812c;p=thirdparty%2Fvuejs%2Fcore.git perf(runtime-core): use `makeMap` instead of `RE` (#350) --- diff --git a/packages/runtime-core/src/componentProps.ts b/packages/runtime-core/src/componentProps.ts index fc8120efaa..a8146b499f 100644 --- a/packages/runtime-core/src/componentProps.ts +++ b/packages/runtime-core/src/componentProps.ts @@ -11,7 +11,8 @@ import { isReservedProp, hasOwn, toTypeString, - PatchFlags + PatchFlags, + makeMap } from '@vue/shared' import { warn } from './warning' import { Data, ComponentInternalInstance } from './component' @@ -315,12 +316,14 @@ function validateProp( } } -const simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/ +const isSimpleType = /*#__PURE__*/ makeMap( + 'String,Number,Boolean,Function,Symbol' +) function assertType(value: unknown, type: PropConstructor): AssertionResult { let valid const expectedType = getType(type) - if (simpleCheckRE.test(expectedType)) { + if (isSimpleType(expectedType)) { const t = typeof value valid = t === expectedType.toLowerCase() // for primitive wrapper objects