Files
der_letzte_auftrag/server/node_modules/iconv-lite/lib/bom-handling.js
T
Clawdia a16758c7b5 feat: der letzte Auftrag - Spielapp mit API backend
- HTML/CSS frontend mitQuest-System und Spieler-Management
- Node.js/Express backend mit SQLite database
- REST API endpoints für game state, spieler, notes
- AI instructions documentation
- Würfelfunktionen und Tracker-UI
2026-05-08 10:30:47 +02:00

53 lines
1.1 KiB
JavaScript

"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();
}