D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
whatsapp-api
/
node_modules
/
text-decoder
/
Filename :
index.js
back
Copy
const PassThroughDecoder = require('./lib/pass-through-decoder') const UTF8Decoder = require('./lib/utf8-decoder') module.exports = class TextDecoder { constructor(encoding = 'utf8') { this.encoding = normalizeEncoding(encoding) switch (this.encoding) { case 'utf8': this.decoder = new UTF8Decoder() break case 'utf16le': case 'base64': throw new Error('Unsupported encoding: ' + this.encoding) default: this.decoder = new PassThroughDecoder(this.encoding) } } get remaining() { return this.decoder.remaining } push(data) { if (typeof data === 'string') return data return this.decoder.decode(data) } // For Node.js compatibility write(data) { return this.push(data) } end(data) { let result = '' if (data) result = this.push(data) result += this.decoder.flush() return result } } function normalizeEncoding(encoding) { encoding = encoding.toLowerCase() switch (encoding) { case 'utf8': case 'utf-8': return 'utf8' case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': return 'utf16le' case 'latin1': case 'binary': return 'latin1' case 'base64': case 'ascii': case 'hex': return encoding default: throw new Error('Unknown encoding: ' + encoding) } }