123456789101112131415161718192021222324 |
- 'use strict';
- var isUtf8 = require('is-utf8');
- var stripBom = module.exports = function (arg) {
- if (typeof arg === 'string') {
- return arg.replace(/^\ufeff/g, '');
- }
- if (Buffer.isBuffer(arg) && isUtf8(arg) &&
- arg[0] === 0xef && arg[1] === 0xbb && arg[2] === 0xbf) {
- return arg.slice(3);
- }
- return arg;
- };
- stripBom.stream = function () {
- var firstChunk = require('first-chunk-stream');
- return firstChunk({minSize: 3}, function (chunk, enc, cb) {
- this.push(stripBom(chunk));
- cb();
- });
- };
|