Răsfoiți Sursa

refactor(transition): avoid repeated code (#483)

Gabriel Loiácono 6 ani în urmă
părinte
comite
f399b5476f
1 a modificat fișierele cu 6 adăugiri și 12 ștergeri
  1. 6 12
      packages/runtime-dom/src/components/CSSTransition.ts

+ 6 - 12
packages/runtime-dom/src/components/CSSTransition.ts

@@ -251,13 +251,12 @@ function getTransitionInfo(
 ): CSSTransitionInfo {
   const styles: any = window.getComputedStyle(el)
   // JSDOM may return undefined for transition properties
-  const transitionDelays = (styles[TRANSITION + 'Delay'] || '').split(', ')
-  const transitionDurations = (styles[TRANSITION + 'Duration'] || '').split(
-    ', '
-  )
+  const getStyleProperties = (key: string) => (styles[key] || '').split(', ')
+  const transitionDelays = getStyleProperties(TRANSITION + 'Delay')
+  const transitionDurations = getStyleProperties(TRANSITION + 'Duration')
   const transitionTimeout = getTimeout(transitionDelays, transitionDurations)
-  const animationDelays = (styles[ANIMATION + 'Delay'] || '').split(', ')
-  const animationDurations = (styles[ANIMATION + 'Duration'] || '').split(', ')
+  const animationDelays = getStyleProperties(ANIMATION + 'Delay')
+  const animationDurations = getStyleProperties(ANIMATION + 'Duration')
   const animationTimeout = getTimeout(animationDelays, animationDurations)
 
   let type: CSSTransitionInfo['type'] = null
@@ -301,12 +300,7 @@ function getTimeout(delays: string[], durations: string[]): number {
   while (delays.length < durations.length) {
     delays = delays.concat(delays)
   }
-  return Math.max.apply(
-    null,
-    durations.map((d, i) => {
-      return toMs(d) + toMs(delays[i])
-    })
-  )
+  return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])))
 }
 
 // Old versions of Chromium (below 61.0.3163.100) formats floating pointer