| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | "use strict";var BOMChar = '\uFEFF';exports.PrependBOM = PrependBOMWrapperfunction PrependBOMWrapper(encoder, options) {    this.encoder = encoder;    this.addBOM = true;}PrependBOMWrapper.prototype.write = function(str) {    if (this.addBOM) {        str = BOMChar + str;        this.addBOM = false;    }    return this.encoder.write(str);}PrependBOMWrapper.prototype.end = function() {    return this.encoder.end();}//------------------------------------------------------------------------------exports.StripBOM = StripBOMWrapper;function StripBOMWrapper(decoder, options) {    this.decoder = decoder;    this.pass = false;    this.options = options || {};}StripBOMWrapper.prototype.write = function(buf) {    var res = this.decoder.write(buf);    if (this.pass || !res)        return res;    if (res[0] === BOMChar) {        res = res.slice(1);        if (typeof this.options.stripBOM === 'function')            this.options.stripBOM();    }    this.pass = true;    return res;}StripBOMWrapper.prototype.end = function() {    return this.decoder.end();}
 |