forked from public/fvtt-cthulhu-eternal
Initial import with skill sheet working
This commit is contained in:
135
node_modules/level-transcoder/lib/encodings.js
generated
vendored
Normal file
135
node_modules/level-transcoder/lib/encodings.js
generated
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
'use strict'
|
||||
|
||||
const { Buffer } = require('buffer') || { Buffer: { isBuffer: () => false } }
|
||||
const { textEncoder, textDecoder } = require('./text-endec')()
|
||||
const { BufferFormat, ViewFormat, UTF8Format } = require('./formats')
|
||||
|
||||
/** @type {<T>(v: T) => v} */
|
||||
const identity = (v) => v
|
||||
|
||||
/**
|
||||
* @type {typeof import('./encodings').utf8}
|
||||
*/
|
||||
exports.utf8 = new UTF8Format({
|
||||
encode: function (data) {
|
||||
// On node 16.9.1 buffer.toString() is 5x faster than TextDecoder
|
||||
return Buffer.isBuffer(data)
|
||||
? data.toString('utf8')
|
||||
: ArrayBuffer.isView(data)
|
||||
? textDecoder.decode(data)
|
||||
: String(data)
|
||||
},
|
||||
decode: identity,
|
||||
name: 'utf8',
|
||||
createViewTranscoder () {
|
||||
return new ViewFormat({
|
||||
encode: function (data) {
|
||||
return ArrayBuffer.isView(data) ? data : textEncoder.encode(data)
|
||||
},
|
||||
decode: function (data) {
|
||||
return textDecoder.decode(data)
|
||||
},
|
||||
name: `${this.name}+view`
|
||||
})
|
||||
},
|
||||
createBufferTranscoder () {
|
||||
return new BufferFormat({
|
||||
encode: function (data) {
|
||||
return Buffer.isBuffer(data)
|
||||
? data
|
||||
: ArrayBuffer.isView(data)
|
||||
? Buffer.from(data.buffer, data.byteOffset, data.byteLength)
|
||||
: Buffer.from(String(data), 'utf8')
|
||||
},
|
||||
decode: function (data) {
|
||||
return data.toString('utf8')
|
||||
},
|
||||
name: `${this.name}+buffer`
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* @type {typeof import('./encodings').json}
|
||||
*/
|
||||
exports.json = new UTF8Format({
|
||||
encode: JSON.stringify,
|
||||
decode: JSON.parse,
|
||||
name: 'json'
|
||||
})
|
||||
|
||||
/**
|
||||
* @type {typeof import('./encodings').buffer}
|
||||
*/
|
||||
exports.buffer = new BufferFormat({
|
||||
encode: function (data) {
|
||||
return Buffer.isBuffer(data)
|
||||
? data
|
||||
: ArrayBuffer.isView(data)
|
||||
? Buffer.from(data.buffer, data.byteOffset, data.byteLength)
|
||||
: Buffer.from(String(data), 'utf8')
|
||||
},
|
||||
decode: identity,
|
||||
name: 'buffer',
|
||||
createViewTranscoder () {
|
||||
return new ViewFormat({
|
||||
encode: function (data) {
|
||||
return ArrayBuffer.isView(data) ? data : Buffer.from(String(data), 'utf8')
|
||||
},
|
||||
decode: function (data) {
|
||||
return Buffer.from(data.buffer, data.byteOffset, data.byteLength)
|
||||
},
|
||||
name: `${this.name}+view`
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* @type {typeof import('./encodings').view}
|
||||
*/
|
||||
exports.view = new ViewFormat({
|
||||
encode: function (data) {
|
||||
return ArrayBuffer.isView(data) ? data : textEncoder.encode(data)
|
||||
},
|
||||
decode: identity,
|
||||
name: 'view',
|
||||
createBufferTranscoder () {
|
||||
return new BufferFormat({
|
||||
encode: function (data) {
|
||||
return Buffer.isBuffer(data)
|
||||
? data
|
||||
: ArrayBuffer.isView(data)
|
||||
? Buffer.from(data.buffer, data.byteOffset, data.byteLength)
|
||||
: Buffer.from(String(data), 'utf8')
|
||||
},
|
||||
decode: identity,
|
||||
name: `${this.name}+buffer`
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* @type {typeof import('./encodings').hex}
|
||||
*/
|
||||
exports.hex = new BufferFormat({
|
||||
encode: function (data) {
|
||||
return Buffer.isBuffer(data) ? data : Buffer.from(String(data), 'hex')
|
||||
},
|
||||
decode: function (buffer) {
|
||||
return buffer.toString('hex')
|
||||
},
|
||||
name: 'hex'
|
||||
})
|
||||
|
||||
/**
|
||||
* @type {typeof import('./encodings').base64}
|
||||
*/
|
||||
exports.base64 = new BufferFormat({
|
||||
encode: function (data) {
|
||||
return Buffer.isBuffer(data) ? data : Buffer.from(String(data), 'base64')
|
||||
},
|
||||
decode: function (buffer) {
|
||||
return buffer.toString('base64')
|
||||
},
|
||||
name: 'base64'
|
||||
})
|
||||
Reference in New Issue
Block a user