From 5c4e9d59124924a72e0da5ce00af4ba1c764e136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Sun, 3 Apr 2016 19:18:01 +0200 Subject: [PATCH] Dump Serializable.toBinary() --- config-serializer/Serializable.ts | 13 ++++++++++++- config-serializer/UhkBuffer.ts | 11 ++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/config-serializer/Serializable.ts b/config-serializer/Serializable.ts index f9a61809..928a9abf 100644 --- a/config-serializer/Serializable.ts +++ b/config-serializer/Serializable.ts @@ -48,7 +48,18 @@ abstract class Serializable { } toBinary(buffer: UhkBuffer): void { - this._toBinary(buffer); + let indentation = new Array(Serializable.depth + 1).join(' '); + let isArray = this instanceof UhkArray; + process.stdout.write(`${indentation}${this.constructor.name}.fromBinary: ${this}` + (isArray ? '\n' : ' => [')); + Serializable.depth++; + buffer.enableDump = !isArray; + let value = this._toBinary(buffer); + buffer.enableDump = false; + Serializable.depth--; + if (!isArray) { + process.stdout.write(`]\n`); + } + return value; } abstract _fromJsObject(jsObject: any): T; diff --git a/config-serializer/UhkBuffer.ts b/config-serializer/UhkBuffer.ts index fea122af..ed5e3687 100644 --- a/config-serializer/UhkBuffer.ts +++ b/config-serializer/UhkBuffer.ts @@ -6,7 +6,7 @@ class UhkBuffer { private static isFirstElementToDump = false; offset: number; - enableDump = false; + private _enableDump = false; private buffer: Buffer; private bytesToBacktrack: number; @@ -139,6 +139,15 @@ class UhkBuffer { return this.buffer.slice(0, this.offset); } + get enableDump() { + return this._enableDump; + } + + set enableDump(value) { + UhkBuffer.isFirstElementToDump = true; + this._enableDump = value; + } + dump(value) { if (this.enableDump) { if (!UhkBuffer.isFirstElementToDump) {