소스 검색

perf: optimize makeMap

Evan You 2 년 전
부모
커밋
ae6fba9495
1개의 변경된 파일4개의 추가작업 그리고 6개의 파일을 삭제
  1. 4 6
      packages/shared/src/makeMap.ts

+ 4 - 6
packages/shared/src/makeMap.ts

@@ -9,10 +9,8 @@ export function makeMap(
   str: string,
   expectsLowerCase?: boolean
 ): (key: string) => boolean {
-  const map: Record<string, boolean> = Object.create(null)
-  const list: Array<string> = str.split(',')
-  for (let i = 0; i < list.length; i++) {
-    map[list[i]] = true
-  }
-  return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val]
+  const set = new Set(str.split(','))
+  return expectsLowerCase
+    ? val => set.has(val.toLowerCase())
+    : val => set.has(val)
 }