From db737af36ffff22b80b6d85e4acee0523e661667 Mon Sep 17 00:00:00 2001 From: Moon Man Date: Fri, 2 Feb 2024 14:34:02 -0500 Subject: [PATCH] more logging --- dist/main.d.ts | 1 + dist/main.js | 13 ++++++++----- src/main.ts | 15 +++++++++------ 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/dist/main.d.ts b/dist/main.d.ts index 5d5a9d1..3ff228a 100644 --- a/dist/main.d.ts +++ b/dist/main.d.ts @@ -7,6 +7,7 @@ type ServerHandlerCallback = (reply: "reply" | "noreply", ...extraArgs: any[]) = type ServerHandler = (term: any, from: any, state: any, callback: ServerHandlerCallback) => void; export declare class Port extends Duplex { readonly bert: Bert; + private lenBuffer; constructor(allBinariesAsString?: boolean, mapKeyAsAtom?: boolean, decodeUndefinedValues?: boolean); _read(): any; _write(obj: any, encodingOrCallback?: BufferEncoding | WriteCallback, callback?: WriteCallback | undefined): boolean; diff --git a/dist/main.js b/dist/main.js index 7fbf445..7c7f142 100644 --- a/dist/main.js +++ b/dist/main.js @@ -3,6 +3,7 @@ import { Duplex } from "node:stream"; const log = (msg) => process.stderr.write(`${msg}\r\n`); export class Port extends Duplex { bert; + lenBuffer = Buffer.alloc(4); constructor(allBinariesAsString, mapKeyAsAtom, decodeUndefinedValues) { super({ objectMode: true }); this.bert = new Bert(allBinariesAsString, mapKeyAsAtom, decodeUndefinedValues); @@ -26,16 +27,18 @@ export class Port extends Duplex { return null; } } - else + else { + this.push(null); return null; + } } _write(obj, encodingOrCallback, callback) { const actualCallback = callback || typeof encodingOrCallback === "function" ? encodingOrCallback : undefined; + log(`Port was written to.`); try { - const term = this.bert.encode(obj, true); - const len = Buffer.alloc(4); - len.writeUInt32BE(term.length, 0); - process.stdout.write(len); + const term = this.bert.encode(obj, false); + this.lenBuffer.writeUInt32BE(term.length); + process.stdout.write(this.lenBuffer); process.stdout.write(term, actualCallback); return true; } diff --git a/src/main.ts b/src/main.ts index 5215055..9c27b29 100644 --- a/src/main.ts +++ b/src/main.ts @@ -10,6 +10,7 @@ const log = (msg: string) => process.stderr.write(`${msg}\r\n`); export class Port extends Duplex { public readonly bert: Bert; + private lenBuffer = Buffer.alloc(4); constructor(allBinariesAsString?: boolean, mapKeyAsAtom?: boolean, decodeUndefinedValues?: boolean) { super({ objectMode: true }); @@ -36,18 +37,20 @@ export class Port extends Duplex { return null; } } - else return null; + else { + this.push(null); + return null; + } } _write(obj: any, encodingOrCallback?: BufferEncoding | WriteCallback, callback?: WriteCallback | undefined) { const actualCallback: any = callback || typeof encodingOrCallback === "function" ? encodingOrCallback : undefined; + log(`Port was written to.`); try { - const term = this.bert.encode(obj, true); - const len = Buffer.alloc(4); - len.writeUInt32BE(term.length, 0); - - process.stdout.write(len); + const term = this.bert.encode(obj, false); + this.lenBuffer.writeUInt32BE(term.length); + process.stdout.write(this.lenBuffer); process.stdout.write(term, actualCallback); return true; }