Explorar o código

perf: optimize makeMap

Evan You %!s(int64=2) %!d(string=hai) anos
pai
achega
ae6fba9495
Modificáronse 1 ficheiros con 4 adicións e 6 borrados
  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)
 }