code: function(buf, start, size) {
  			var that = this;
  			var len = that.avail_in;
  			if (len > size)
  				len = size;
  			if (len === 0)
  				return 0;
  			that.avail_in -= len;
  			buf.set(that.next_in.subarray(that.next_in_index, that.next_in_index + len), start);
  			that.next_in_index += len;
  			that.total_in += len;
  			return len;
  		}
docs: Read a new buffer from the current input stream, update the total number of bytes read. All deflate() input goes through this function so some applications may wish to modify it to avoid allocating a large strm->next_in buffer and copying from it. (See also flush_pending()).