chore: format everything

This commit is contained in:
canove
2025-05-06 12:10:19 -03:00
parent 04afa20244
commit fa706d0b50
76 changed files with 8241 additions and 7142 deletions

View File

@@ -1,5 +1,14 @@
import { BinaryInfo } from './BinaryInfo'
import { FLAG_BYTE, FLAG_EVENT, FLAG_EXTENDED, FLAG_FIELD, FLAG_GLOBAL, Value, WEB_EVENTS, WEB_GLOBALS } from './constants'
import {
FLAG_BYTE,
FLAG_EVENT,
FLAG_EXTENDED,
FLAG_FIELD,
FLAG_GLOBAL,
Value,
WEB_EVENTS,
WEB_GLOBALS
} from './constants'
const getHeaderBitLength = (key: number) => (key < 256 ? 2 : 3)
@@ -10,12 +19,10 @@ export const encodeWAM = (binaryInfo: BinaryInfo) => {
encodeEvents(binaryInfo)
console.log(binaryInfo.buffer)
const totalSize = binaryInfo.buffer
.map((a) => a.length)
.reduce((a, b) => a + b)
const totalSize = binaryInfo.buffer.map(a => a.length).reduce((a, b) => a + b)
const buffer = Buffer.alloc(totalSize)
let offset = 0
for(const buffer_ of binaryInfo.buffer) {
for (const buffer_ of binaryInfo.buffer) {
buffer_.copy(buffer, offset)
offset += buffer_.length
}
@@ -34,11 +41,11 @@ function encodeWAMHeader(binaryInfo: BinaryInfo) {
binaryInfo.buffer.push(headerBuffer)
}
function encodeGlobalAttributes(binaryInfo: BinaryInfo, globals: {[key: string]: Value}) {
for(const [key, _value] of Object.entries(globals)) {
function encodeGlobalAttributes(binaryInfo: BinaryInfo, globals: { [key: string]: Value }) {
for (const [key, _value] of Object.entries(globals)) {
const id = WEB_GLOBALS.find(a => a?.name === key)!.id
let value = _value
if(typeof value === 'boolean') {
if (typeof value === 'boolean') {
value = value ? 1 : 0
}
@@ -47,30 +54,27 @@ function encodeGlobalAttributes(binaryInfo: BinaryInfo, globals: {[key: string]:
}
function encodeEvents(binaryInfo: BinaryInfo) {
for(const [
name,
{ props, globals },
] of binaryInfo.events.map((a) => Object.entries(a)[0])) {
for (const [name, { props, globals }] of binaryInfo.events.map(a => Object.entries(a)[0])) {
encodeGlobalAttributes(binaryInfo, globals)
const event = WEB_EVENTS.find((a) => a.name === name)!
const event = WEB_EVENTS.find(a => a.name === name)!
const props_ = Object.entries(props)
let extended = false
for(const [, value] of props_) {
for (const [, value] of props_) {
extended ||= value !== null
}
const eventFlag = extended ? FLAG_EVENT : FLAG_EVENT | FLAG_EXTENDED
binaryInfo.buffer.push(serializeData(event.id, -event.weight, eventFlag))
for(let i = 0; i < props_.length; i++) {
for (let i = 0; i < props_.length; i++) {
const [key, _value] = props_[i]
const id = (event.props)[key][0]
extended = i < (props_.length - 1)
const id = event.props[key][0]
extended = i < props_.length - 1
let value = _value
if(typeof value === 'boolean') {
if (typeof value === 'boolean') {
value = value ? 1 : 0
}
@@ -80,34 +84,33 @@ function encodeEvents(binaryInfo: BinaryInfo) {
}
}
function serializeData(key: number, value: Value, flag: number): Buffer {
const bufferLength = getHeaderBitLength(key)
let buffer: Buffer
let offset = 0
if(value === null) {
if(flag === FLAG_GLOBAL) {
if (value === null) {
if (flag === FLAG_GLOBAL) {
buffer = Buffer.alloc(bufferLength)
offset = serializeHeader(buffer, offset, key, flag)
return buffer
}
} else if(typeof value === 'number' && Number.isInteger(value)) {
} else if (typeof value === 'number' && Number.isInteger(value)) {
// is number
if(value === 0 || value === 1) {
if (value === 0 || value === 1) {
buffer = Buffer.alloc(bufferLength)
offset = serializeHeader(buffer, offset, key, flag | ((value + 1) << 4))
return buffer
} else if(-128 <= value && value < 128) {
} else if (-128 <= value && value < 128) {
buffer = Buffer.alloc(bufferLength + 1)
offset = serializeHeader(buffer, offset, key, flag | (3 << 4))
buffer.writeInt8(value, offset)
return buffer
} else if(-32768 <= value && value < 32768) {
} else if (-32768 <= value && value < 32768) {
buffer = Buffer.alloc(bufferLength + 2)
offset = serializeHeader(buffer, offset, key, flag | (4 << 4))
buffer.writeInt16LE(value, offset)
return buffer
} else if(-2147483648 <= value && value < 2147483648) {
} else if (-2147483648 <= value && value < 2147483648) {
buffer = Buffer.alloc(bufferLength + 4)
offset = serializeHeader(buffer, offset, key, flag | (5 << 4))
buffer.writeInt32LE(value, offset)
@@ -118,20 +121,20 @@ function serializeData(key: number, value: Value, flag: number): Buffer {
buffer.writeDoubleLE(value, offset)
return buffer
}
} else if(typeof value === 'number') {
} else if (typeof value === 'number') {
// is float
buffer = Buffer.alloc(bufferLength + 8)
offset = serializeHeader(buffer, offset, key, flag | (7 << 4))
buffer.writeDoubleLE(value, offset)
return buffer
} else if(typeof value === 'string') {
} else if (typeof value === 'string') {
// is string
const utf8Bytes = Buffer.byteLength(value, 'utf8')
if(utf8Bytes < 256) {
if (utf8Bytes < 256) {
buffer = Buffer.alloc(bufferLength + 1 + utf8Bytes)
offset = serializeHeader(buffer, offset, key, flag | (8 << 4))
buffer.writeUint8(utf8Bytes, offset++)
} else if(utf8Bytes < 65536) {
} else if (utf8Bytes < 65536) {
buffer = Buffer.alloc(bufferLength + 2 + utf8Bytes)
offset = serializeHeader(buffer, offset, key, flag | (9 << 4))
buffer.writeUInt16LE(utf8Bytes, offset)
@@ -150,13 +153,8 @@ function serializeData(key: number, value: Value, flag: number): Buffer {
throw 'missing'
}
function serializeHeader(
buffer: Buffer,
offset: number,
key: number,
flag: number
) {
if(key < 256) {
function serializeHeader(buffer: Buffer, offset: number, key: number, flag: number) {
if (key < 256) {
buffer.writeUInt8(flag, offset)
offset += 1
buffer.writeUInt8(key, offset)
@@ -169,4 +167,4 @@ function serializeHeader(
}
return offset
}
}