MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: machen (1008)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //opt/lck-backend/node_modules/iconv-lite/lib/bom-handling.js
"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()
}