aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/iconv-lite/lib/bom-handling.js
diff options
context:
space:
mode:
authorpack <pack@packgekko.xyz>2026-08-09 10:37:07 +0000
committerpack <pack@packgekko.xyz>2026-08-09 10:37:07 +0000
commit55a4f1fc869e41aca748c63d3018f0448b1606e0 (patch)
treed132d1d01772b6d53faee3e63c534dea5706b78a /node_modules/iconv-lite/lib/bom-handling.js
downloadcrud-55a4f1fc869e41aca748c63d3018f0448b1606e0.tar.gz
first commit
Diffstat (limited to 'node_modules/iconv-lite/lib/bom-handling.js')
-rw-r--r--node_modules/iconv-lite/lib/bom-handling.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/node_modules/iconv-lite/lib/bom-handling.js b/node_modules/iconv-lite/lib/bom-handling.js
new file mode 100644
index 0000000..a86a6b5
--- /dev/null
+++ b/node_modules/iconv-lite/lib/bom-handling.js
@@ -0,0 +1,48 @@
+"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()
+}