/*! * 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; };