summaryrefslogtreecommitdiffstats
path: root/g4f/Provider/npm/node_modules/@fastify/busboy/lib/utils/decodeText.js
diff options
context:
space:
mode:
Diffstat (limited to 'g4f/Provider/npm/node_modules/@fastify/busboy/lib/utils/decodeText.js')
-rw-r--r--g4f/Provider/npm/node_modules/@fastify/busboy/lib/utils/decodeText.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/g4f/Provider/npm/node_modules/@fastify/busboy/lib/utils/decodeText.js b/g4f/Provider/npm/node_modules/@fastify/busboy/lib/utils/decodeText.js
new file mode 100644
index 00000000..ee376062
--- /dev/null
+++ b/g4f/Provider/npm/node_modules/@fastify/busboy/lib/utils/decodeText.js
@@ -0,0 +1,26 @@
+'use strict'
+
+// Node has always utf-8
+const utf8Decoder = new TextDecoder('utf-8')
+const textDecoders = new Map([
+ ['utf-8', utf8Decoder],
+ ['utf8', utf8Decoder]
+])
+
+function decodeText (text, textEncoding, destEncoding) {
+ if (text) {
+ if (textDecoders.has(destEncoding)) {
+ try {
+ return textDecoders.get(destEncoding).decode(Buffer.from(text, textEncoding))
+ } catch (e) { }
+ } else {
+ try {
+ textDecoders.set(destEncoding, new TextDecoder(destEncoding))
+ return textDecoders.get(destEncoding).decode(Buffer.from(text, textEncoding))
+ } catch (e) { }
+ }
+ }
+ return text
+}
+
+module.exports = decodeText