From c92831907be405d59f9f3720fd2ca4fdac8254ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Sun, 3 Apr 2016 02:47:06 +0200 Subject: [PATCH] Dump buffer operations in a nicer and more compact way. --- config-serializer/Serializable.ts | 4 ++-- config-serializer/UhkBuffer.ts | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/config-serializer/Serializable.ts b/config-serializer/Serializable.ts index 5d4c5a54..9da35ba5 100644 --- a/config-serializer/Serializable.ts +++ b/config-serializer/Serializable.ts @@ -22,7 +22,7 @@ abstract class Serializable { fromBinary(buffer: UhkBuffer): T { let indentation = new Array(Serializable.depth + 1).join(' '); let isArray = this instanceof UhkArray; - process.stdout.write(`${indentation}${this.constructor.name}.fromBinary: `); + process.stdout.write(`${indentation}${this.constructor.name}.fromBinary: [`); if (isArray) { process.stdout.write('\n'); } @@ -32,7 +32,7 @@ abstract class Serializable { buffer.enableDump = false; Serializable.depth--; if (!isArray) { - process.stdout.write(`=> ${value}\n`); + process.stdout.write(`] => ${value}\n`); } return value; } diff --git a/config-serializer/UhkBuffer.ts b/config-serializer/UhkBuffer.ts index ea6715f8..9cd917ba 100644 --- a/config-serializer/UhkBuffer.ts +++ b/config-serializer/UhkBuffer.ts @@ -3,6 +3,7 @@ class UhkBuffer { private static maxCompactLength = 0xFFFF; private static longCompactLengthPrefix = 0xFF; private static stringEncoding = 'utf8'; + private static isFirstElementToDump = false; offset: number; enableDump = false; @@ -33,14 +34,14 @@ class UhkBuffer { let value = this.buffer.readUInt8(this.offset); this.bytesToBacktrack = 1; this.offset += this.bytesToBacktrack; - this.dump(`uint8(${value}) `); + this.dump(`u8(${value})`); return value; } writeUInt8(value: number): void { this.buffer.writeUInt8(value, this.offset); this.offset += 1; - this.dump(`uint8(${value}) `); + this.dump(`u8(${value})`); } readInt16(): number { @@ -140,7 +141,15 @@ class UhkBuffer { dump(value) { if (this.enableDump) { + if (!UhkBuffer.isFirstElementToDump) { + process.stdout.write(' '); + } process.stdout.write(value); + if (UhkBuffer.isFirstElementToDump) { + UhkBuffer.isFirstElementToDump = false; + } + } else { + UhkBuffer.isFirstElementToDump = true; } } }