From: Evan You Date: Sat, 26 Oct 2019 15:24:37 +0000 (-0400) Subject: perf: use makeMap for reserved prop check X-Git-Tag: v3.0.0-alpha.0~299 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6c7787db7b451c0c18ff9a77321a0c49e1bdeddd;p=thirdparty%2Fvuejs%2Fcore.git perf: use makeMap for reserved prop check --- diff --git a/packages/shared/src/index.ts b/packages/shared/src/index.ts index 38b1e2920e..69a0b5bddd 100644 --- a/packages/shared/src/index.ts +++ b/packages/shared/src/index.ts @@ -1,6 +1,8 @@ +import { makeMap } from './makeMap' + +export { makeMap } export * from './patchFlags' export { isGloballyWhitelisted } from './globalsWhitelist' -export { makeMap } from './makeMap' export const EMPTY_OBJ: { readonly [key: string]: any } = __DEV__ ? Object.freeze({}) @@ -55,8 +57,12 @@ export function toRawType(value: unknown): string { export const isPlainObject = (val: unknown): val is object => toTypeString(val) === '[object Object]' -export const isReservedProp = (key: string): boolean => - key === 'key' || key === 'ref' || key.startsWith(`onVnode`) +export const isReservedProp = /*#__PURE__*/ makeMap( + 'key,ref,' + + 'onVnodeBeforeMount,onVnodeMounted,' + + 'onVnodeBeforeUpdate,onVnodeUpdated,' + + 'onVnodeBeforeUnmount,onVnodeUnmounted' +) const camelizeRE = /-(\w)/g export const camelize = (str: string): string => {