src/template-result.js
function reduce(buffer, chunks, chunk, deep = false) {
  if (Buffer.isBuffer(chunk)) {
    return Buffer.concat([buffer, chunk], buffer.length + chunk.length);
  } else if (isTemplateResult(chunk)) {
    if (deep) {
      return reduce(buffer, chunks, chunk.read(deep), deep);
    } else {
      chunks.push(buffer, chunk);
      return emptyStringBuffer;
    }
  } else if (Array.isArray(chunk)) {
    return chunk.reduce((buffer, chunk) => reduce(buffer, chunks, chunk), buffer);
  } else if (isPromise(chunk) || isAsyncIterator(chunk)) {
    chunks.push(buffer, chunk);
    return emptyStringBuffer;
  }
}
function reduce(buffer, chunks, chunk, deep = false) {
  if (Buffer.isBuffer(chunk)) {
    return Buffer.concat([buffer, chunk], buffer.length + chunk.length);
  } else if (isTemplateResult(chunk)) {
    if (deep) {
      return reduce(buffer, chunks, chunk.read(deep), deep);
    } else {
      chunks.push(buffer, chunk);
      return emptyStringBuffer;
    }
  } else if (Array.isArray(chunk)) {
    return chunk.reduce((buffer, chunk) => reduce(buffer, chunks, chunk), buffer);
  } else if (isPromise(chunk) || isAsyncIterator(chunk)) {
    chunks.push(buffer, chunk);
    return emptyStringBuffer;
  }
}
function reduce ( buffer , chunks , chunk , deep = false ) { if ( Buffer . isBuffer ( chunk ) ) { return Buffer . concat ( [ buffer , chunk ] , buffer . length + chunk . length ) ; } else if ( isTemplateResult ( chunk ) ) { if ( deep ) { return reduce ( buffer , chunks , chunk . read ( deep ) , deep ) ; } else { chunks . push ( buffer , chunk ) ; return emptyStringBuffer ; } } else if ( Array . isArray ( chunk ) ) { return chunk . reduce ( ( buffer , chunk ) => reduce ( buffer , chunks , chunk ) , buffer ) ; } else if ( isPromise ( chunk ) || isAsyncIterator ( chunk ) ) { chunks . push ( buffer , chunk ) ; return emptyStringBuffer ; } }
Commit "chunk" to string "buffer".
Returns new "buffer" value.

@param { Buffer } buffer
@param { Array<any> } chunks
@param { any } chunk
@param { boolean } [deep]
@returns { Buffer }
Commit chunk to string buffer . Returns new buffer value .