/
eb
/
Surf
Обзор
Документация
Войти
/
eb
/
Surf
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/remove-bom-stream/index.js
51 строка
1008 B
EvgeniyBudaev
Initial commit
17 фев 2020, 09:02
17 фев 2020, 09:02
bb6f06f
Код
Авторство
О чём код?
'use strict'; var through = require('through2'); var removeBom = require('remove-bom-buffer'); var SafeBuffer = require('safe-buffer').Buffer; function removeBomStream() { var completed = false; var buffer = SafeBuffer.alloc(0); return through(onChunk, onFlush); function removeAndCleanup(data) { completed = true; buffer = null; return removeBom(data); } function onChunk(data, enc, cb) { if (completed) { return cb(null, data); } if (data.length >= 7) { return cb(null, removeAndCleanup(data)); } var bufferLength = buffer.length; var chunkLength = data.length; var totalLength = bufferLength + chunkLength; buffer = SafeBuffer.concat([buffer, data], totalLength); if (totalLength >= 7) { return cb(null, removeAndCleanup(buffer)); } cb(); } function onFlush(cb) { if (completed || !buffer) { return cb(); } cb(null, removeAndCleanup(buffer)); } } module.exports = removeBomStream;