printer-notifications/node_modules/@fastify/busboy/lib/utils/decodeText.js

27 lines
660 B
JavaScript
Raw Permalink Normal View History

2023-11-13 21:10:04 +00:00
'use strict'
// Node has always utf-8
const utf8Decoder = new TextDecoder('utf-8')
const textDecoders = new Map([
['utf-8', utf8Decoder],
['utf8', utf8Decoder]
])
2023-11-17 13:22:28 +00:00
function decodeText (text, textEncoding, destEncoding) {
if (text) {
if (textDecoders.has(destEncoding)) {
2023-11-13 21:10:04 +00:00
try {
2023-11-17 13:22:28 +00:00
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))
2023-11-13 21:10:04 +00:00
} catch (e) { }
}
}
return text
}
module.exports = decodeText