D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
alt-nodejs24
/
root
/
usr
/
lib
/
node_modules
/
npm
/
node_modules
/
iconv-lite
/
lib
/
Filename :
bom-handling.js
back
Copy
"use strict" var BOMChar = "\uFEFF" exports.PrependBOM = PrependBOMWrapper function 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() }