code: function bandbool (boolOp) {
    if (is.string(boolOp) && is.inArray(boolOp, ['and', 'or', 'eor'])) {
      this.options.bandBoolOp = boolOp;
    } else {
      throw new Error('Invalid bandbool operation ' + boolOp);
    }
    return this;
  }
docs: Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image.
  
  @example
  sharp('3-channel-rgb-input.png')
  .bandbool(sharp.bool.and)
  .toFile('1-channel-output.png', function (err, info) {
  // The output will be a single channel image where each pixel `P = R & G & B`.
  // If `I(1,1) = [247, 170, 14] = [0b11110111, 0b10101010, 0b00001111]`
  // then `O(1,1) = 0b11110111 & 0b10101010 & 0b00001111 = 0b00000010 = 2`.
  });
  
  @param {String} boolOp - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively.
  @returns {Sharp}
  @throws {Error} Invalid parameters