function boolean (operand, operator, options) {
  this.options.boolean = this._createInputDescriptor(operand, options);
  if (is.string(operator) && is.inArray(operator, ['and', 'or', 'eor'])) {
    this.options.booleanOp = operator;
  } else {
    throw is.invalidParameterError('operator', 'one of: and, or, eor', operator);
  }
  return this;
}
Perform a bitwise boolean operation with operand image.

This operation creates an output image where each pixel is the result of
the selected bitwise boolean `operation` between the corresponding pixels of the input images.

@param {Buffer|string} operand - Buffer containing image data or string containing the path to an image file.
@param {string} operator - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively.
@param {Object} [options]
@param {Object} [options.raw] - describes operand when using raw pixel data.
@param {number} [options.raw.width]
@param {number} [options.raw.height]
@param {number} [options.raw.channels]
@returns {Sharp}
@throws {Error} Invalid parameters