function IntersectionObserverEntry(entry) {
    this.time = entry.time
    this.target = entry.target
    this.rootBounds = ensureDOMRect(entry.rootBounds)
    this.boundingClientRect = ensureDOMRect(entry.boundingClientRect)
    this.intersectionRect = ensureDOMRect(
      entry.intersectionRect || getEmptyRect()
    )
    this.isIntersecting = !!entry.intersectionRect

    // Calculates the intersection ratio.
    var targetRect = this.boundingClientRect
    var targetArea = targetRect.width * targetRect.height
    var intersectionRect = this.intersectionRect
    var intersectionArea = intersectionRect.width * intersectionRect.height

    // Sets intersection ratio.
    if (targetArea) {
      // Round the intersection ratio to avoid floating point math issues:
      // https://github.com/w3c/IntersectionObserver/issues/324
      this.intersectionRatio = Number(
        (intersectionArea / targetArea).toFixed(4)
      )
    } else {
      // If area is zero and is intersecting, sets to 1, otherwise to 0
      this.intersectionRatio = this.isIntersecting ? 1 : 0
    }
  }
Creates the global IntersectionObserverEntry constructor.
https://w3c.github.io/IntersectionObserver/#intersection-observer-entry
@param {Object} entry A dictionary of instance properties.
@constructor