hunk.code_window:         },
         }
       }, this.animations)
       // Update animated props (which from now on will take care of the animation)
       // TODO: perhaps this isn't needed if animations/interpolators didn't change ...
       const oldAnimatedProps = this.animatedProps
       this.animatedProps = new AnimatedProps(this.interpolators, () => {
         // This gets called on every animation frame ...
         if (onFrame) onFrame(this.animatedProps.__getValue())
         if (!native) this.setState({ dry: true })
       })
       oldAnimatedProps && oldAnimatedProps.__detach()
       // Flag an update that occured, componentDidUpdate will start the animation later on
       this.didUpdate = true
  
hunk.labels: keep keep keep keep keep replace replace replace replace replace replace replace replace keep keep keep
hunk.after_edit:     if (animationsChanged) {
         const oldAnimatedProps = this.animatedProps
         this.animatedProps = new AnimatedProps(this.interpolators, () => {
           // This gets called on every animation frame ...
           if (onFrame) onFrame(this.animatedProps.__getValue())
           if (!native) this.setState({ dry: true })
         })
         oldAnimatedProps && oldAnimatedProps.__detach()
       }
  
hunk.file_path: src/Spring.js
hunk.type: replace
file: import Animated from './Animated'
  import AnimatedValue from './AnimatedValue'
  import AnimatedWithChildren from './AnimatedWithChildren'
  
  export default class AnimatedArray extends AnimatedWithChildren {
    constructor(array) {
      super()
      this._values = array.map(n => new AnimatedValue(n))
    }
  
    setValue(values) {
      values.forEach((n, i) => this._values[i].setValue(n))
    }
  
    __getValue() {
      return this._values.map(v => v.__getValue())
    }
  
    stopAnimation(callback) {
      this._values.forEach(v => v.stopAnimation())
      callback && callback(this.__getValue())
    }
  
    __attach() {
      for (let i = 0; i < this._values.length; ++i)
        if (this._values[i] instanceof Animated) this._values[i].__addChild(this)
    }
  
    __detach() {
      for (let i = 0; i < this._values.length; ++i)
        if (this._values[i] instanceof Animated)
          this._values[i].__removeChild(this)
    }
  }
  