From ec65753246d64e46e834e2aa919ea0475b2a7272 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Sun, 3 Apr 2016 02:38:23 +0200 Subject: [PATCH] Dump Serializable.fromBinary() --- config-serializer/Serializable.ts | 22 ++++++++++++++++++---- config-serializer/UhkBuffer.ts | 9 +++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/config-serializer/Serializable.ts b/config-serializer/Serializable.ts index 40dc942c..5d4c5a54 100644 --- a/config-serializer/Serializable.ts +++ b/config-serializer/Serializable.ts @@ -7,20 +7,34 @@ abstract class Serializable { private static depth = 0; fromJsObject(jsObject: any): T { - let identation = new Array(Serializable.depth + 1).join(' '); + let indentation = new Array(Serializable.depth + 1).join(' '); let isArray = this instanceof UhkArray; - process.stdout.write(`${identation}* ${this.constructor.name}.fromJsObject(${JSON.stringify(jsObject)}) ` + (isArray ? ':\n' : `=> `)); + process.stdout.write(`${indentation}${this.constructor.name}.fromJsObject: ${JSON.stringify(jsObject)}` + (isArray ? '\n' : ` => `)); Serializable.depth++; let value = this._fromJsObject(jsObject); Serializable.depth--; if (!isArray) { - process.stdout.write(`${value.toString()}\n`); + process.stdout.write(`${value}\n`); } return value; } fromBinary(buffer: UhkBuffer): T { - return this._fromBinary(buffer); + let indentation = new Array(Serializable.depth + 1).join(' '); + let isArray = this instanceof UhkArray; + process.stdout.write(`${indentation}${this.constructor.name}.fromBinary: `); + if (isArray) { + process.stdout.write('\n'); + } + Serializable.depth++; + buffer.enableDump = !isArray; + let value = this._fromBinary(buffer); + buffer.enableDump = false; + Serializable.depth--; + if (!isArray) { + process.stdout.write(`=> ${value}\n`); + } + return value; } toJsObject(): any { diff --git a/config-serializer/UhkBuffer.ts b/config-serializer/UhkBuffer.ts index 305e9b79..ea6715f8 100644 --- a/config-serializer/UhkBuffer.ts +++ b/config-serializer/UhkBuffer.ts @@ -5,6 +5,7 @@ class UhkBuffer { private static stringEncoding = 'utf8'; offset: number; + enableDump = false; private buffer: Buffer; private bytesToBacktrack: number; @@ -32,12 +33,14 @@ class UhkBuffer { let value = this.buffer.readUInt8(this.offset); this.bytesToBacktrack = 1; this.offset += this.bytesToBacktrack; + this.dump(`uint8(${value}) `); return value; } writeUInt8(value: number): void { this.buffer.writeUInt8(value, this.offset); this.offset += 1; + this.dump(`uint8(${value}) `); } readInt16(): number { @@ -134,4 +137,10 @@ class UhkBuffer { getBufferContent(): Buffer { return this.buffer.slice(0, this.offset); } + + dump(value) { + if (this.enableDump) { + process.stdout.write(value); + } + } }