Przeglądaj źródła

chore(runtime-core): add `isRegExp` to check `RegExp` (#6041)

webfansplz 3 lat temu
rodzic
commit
0187f998f7

+ 2 - 1
packages/runtime-core/src/components/KeepAlive.ts

@@ -26,6 +26,7 @@ import {
 import {
   isString,
   isArray,
+  isRegExp,
   ShapeFlags,
   remove,
   invokeArrayFns
@@ -350,7 +351,7 @@ function matches(pattern: MatchPattern, name: string): boolean {
     return pattern.some((p: string | RegExp) => matches(p, name))
   } else if (isString(pattern)) {
     return pattern.split(',').includes(name)
-  } else if (pattern.test) {
+  } else if (isRegExp(pattern)) {
     return pattern.test(name)
   }
   /* istanbul ignore next */

+ 2 - 0
packages/shared/src/index.ts

@@ -54,6 +54,8 @@ export const isSet = (val: unknown): val is Set<any> =>
 
 export const isDate = (val: unknown): val is Date =>
   toTypeString(val) === '[object Date]'
+export const isRegExp = (val: unknown): val is RegExp =>
+  toTypeString(val) === '[object RegExp]'
 export const isFunction = (val: unknown): val is Function =>
   typeof val === 'function'
 export const isString = (val: unknown): val is string => typeof val === 'string'