perf(runtime-core): use makeMap instead of RE (#350)

This commit is contained in:
edison 2019-10-23 22:34:58 +08:00 committed by Evan You
parent e34d2bd853
commit 9dcbf17f3a

View File

@ -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