code: function joinChannel (images, options) {
    if (Array.isArray(images)) {
      images.forEach(function (image) {
        this.options.joinChannelIn.push(this._createInputDescriptor(image, options));
      }, this);
    } else {
      this.options.joinChannelIn.push(this._createInputDescriptor(images, options));
    }
    return this;
  }
docs: Join one or more channels to the image.
  The meaning of the added channels depends on the output colourspace, set with `toColourspace()`.
  By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.
  Channel ordering follows vips convention:
  - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha.
  - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha.
  
  Buffers may be any of the image formats supported by sharp: JPEG, PNG, WebP, GIF, SVG, TIFF or raw pixel image data.
  For raw pixel input, the `options` object should contain a `raw` attribute, which follows the format of the attribute of the same name in the `sharp()` constructor.
  
  @param {Array<String|Buffer>|String|Buffer} images - one or more images (file paths, Buffers).
  @param {Object} options - image options, see `sharp()` constructor.
  @returns {Sharp}
  @throws {Error} Invalid parameters