Addnew sheets (armor, weapons, malefica) and v13 support
This commit is contained in:
64
node_modules/text-decoder/index.js
generated
vendored
Normal file
64
node_modules/text-decoder/index.js
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
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)
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user