rotateTo(degree) {
    const { element, options, imageData } = this;

    degree = Number(degree);

    if (isNumber(degree) && this.viewed && !this.played && options.rotatable) {
      const oldDegree = imageData.rotate;

      if (isFunction(options.rotate)) {
        addListener(element, EVENT_ROTATE, options.rotate, {
          once: true,
        });
      }

      if (dispatchEvent(element, EVENT_ROTATE, {
        degree,
        oldDegree,
      }) === false) {
        return this;
      }

      imageData.rotate = degree;
      this.rotating = true;
      this.renderImage(() => {
        this.rotating = false;

        if (isFunction(options.rotated)) {
          addListener(element, EVENT_ROTATED, options.rotated, {
            once: true,
          });
        }

        dispatchEvent(element, EVENT_ROTATED, {
          degree,
          oldDegree,
        }, {
          cancelable: false,
        });
      });
    }

    return this;
  }
Rotate the image to an absolute degree.
@param {number} degree - The rotate degree.
@returns {Viewer} this