| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 'use strict';var os = require('os');var equals = require('buffer-equal');var cr = new Buffer('\r\n');var nl = new Buffer('\n');/** * Append a buffer to another buffer ensuring to preserve line ending characters. * * ```js * console.log([appendBuffer(new Buffer('abc\r\n'), new Buffer('def')).toString()]); * //=> [ 'abc\r\ndef\r\n' ] * * console.log([appendBuffer(new Buffer('abc\n'), new Buffer('def')).toString()]); * //=> [ 'abc\ndef\n' ] * * // uses os.EOL when a line ending is not found * console.log([appendBuffer(new Buffer('abc'), new Buffer('def')).toString()]); * //=> [ 'abc\ndef' ] * * ``` * @param  {Buffer} `buf` Buffer that will be used to check for an existing line ending. The suffix is appended to this. * @param  {Buffer} `suffix` Buffer that will be appended to the buf. * @return {Buffer} Final Buffer * @api public */module.exports = function appendBuffer(buf, suffix) {  if (!suffix || !suffix.length) {    return buf;  }  var eol;  if (equals(buf.slice(-2), cr)) {    eol = cr;  } else if (equals(buf.slice(-1), nl)) {    eol = nl;  } else {    return Buffer.concat([buf, new Buffer(os.EOL), new Buffer(suffix)]);  }  return Buffer.concat([buf, new Buffer(suffix), eol]);};
 |