whole_func_string: function scale(scaleX) {
      var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;
      var imageData = this.imageData;
      var transformed = false;
      scaleX = Number(scaleX);
      scaleY = Number(scaleY);
  
      if (this.ready && !this.disabled && this.options.scalable) {
        if (isNumber(scaleX)) {
          imageData.scaleX = scaleX;
          transformed = true;
        }
  
        if (isNumber(scaleY)) {
          imageData.scaleY = scaleY;
          transformed = true;
        }
  
        if (transformed) {
          this.renderCanvas(true, true);
        }
      }
  
      return this;
    }
func_code_string: function scale(scaleX) {
      var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;
      var imageData = this.imageData;
      var transformed = false;
      scaleX = Number(scaleX);
      scaleY = Number(scaleY);
  
      if (this.ready && !this.disabled && this.options.scalable) {
        if (isNumber(scaleX)) {
          imageData.scaleX = scaleX;
          transformed = true;
        }
  
        if (isNumber(scaleY)) {
          imageData.scaleY = scaleY;
          transformed = true;
        }
  
        if (transformed) {
          this.renderCanvas(true, true);
        }
      }
  
      return this;
    }
func_documentation_string: Scale the image
  @param {number} scaleX - The scale ratio on the x-axis.
  @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.
  @returns {Cropper} this