You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

27 lines
605 B

/*!
* remove-bom-buffer <https://github.com/jonschlinkert/remove-bom-buffer>
*
* Copyright (c) 2015-2017, Jon Schlinkert.
* Released under the MIT License.
*/
'use strict';
var isUTF8 = require('is-utf8');
var isBuffer = require('is-buffer');
function matchBOM(buf) {
return buf[0] === 0xEF && buf[1] === 0xBB && buf[2] === 0xBF;
}
function maybeUTF8(buf) {
// Only "maybe" because we aren't sniffing the whole buffer
return isUTF8(buf.slice(3, 7));
}
module.exports = function(buf) {
if (isBuffer(buf) && matchBOM(buf) && maybeUTF8(buf)) {
return buf.slice(3);
}
return buf;
};