Parse object as one segment
This commit is contained in:
25
src/frame.ts
25
src/frame.ts
@@ -1465,7 +1465,7 @@ export class Frame implements IFrame {
|
||||
const name = rawName.trimEnd();
|
||||
if (withStructure) {
|
||||
segment.push({
|
||||
name: "object name",
|
||||
name: "object",
|
||||
data: new TextEncoder().encode(rawName).buffer,
|
||||
isString: true,
|
||||
fields: [{ type: FieldType.STRING, name: "name", length: 9 }]
|
||||
@@ -1479,17 +1479,20 @@ export class Frame implements IFrame {
|
||||
}
|
||||
const alive = stateChar === "*";
|
||||
if (withStructure) {
|
||||
segment.push({
|
||||
name: "object state",
|
||||
data: new TextEncoder().encode(stateChar).buffer,
|
||||
isString: true,
|
||||
fields: [
|
||||
{
|
||||
type: FieldType.CHAR,
|
||||
name: "State (* alive, _ killed)",
|
||||
length: 1
|
||||
let state: string = "invalid";
|
||||
if (stateChar === "*") {
|
||||
state = "alive";
|
||||
} else if (stateChar === "_") {
|
||||
state = "killed";
|
||||
}
|
||||
]
|
||||
segment[segment.length - 1].data = new TextEncoder().encode(
|
||||
this.payload.substring(offset - 9, offset + 1)
|
||||
).buffer;
|
||||
segment[segment.length - 1].fields.push({
|
||||
type: FieldType.CHAR,
|
||||
name: "state",
|
||||
length: 1,
|
||||
value: state
|
||||
});
|
||||
}
|
||||
offset += 1;
|
||||
|
||||
Reference in New Issue
Block a user