From b894b09cbd5fe3a8bd5a5f13da7735368f6d92d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20Hano=C4=9Flu?= Date: Tue, 24 Feb 2026 13:13:19 +0300 Subject: [PATCH 1/3] refactor: update socket properties --- packages/net/src/hl7-client.ts | 53 ++++++++++++++++++++++----------- packages/net/src/hl7-request.ts | 4 --- packages/net/src/hl7-socket.ts | 30 +++++++++++++++---- 3 files changed, 60 insertions(+), 27 deletions(-) diff --git a/packages/net/src/hl7-client.ts b/packages/net/src/hl7-client.ts index fc07383..b165a61 100644 --- a/packages/net/src/hl7-client.ts +++ b/packages/net/src/hl7-client.ts @@ -115,40 +115,44 @@ export class Hl7Client extends AsyncEventEmitter { return this._options.host + ':' + this._options.port; } - address() { - return this._socket?.address(); + get localAddress() { + return this._socket?.localAddress; } - remoteAddress(): string { - return ( - this._socket?.remoteAddress() || - this._options.host + ':' + this._options.port - ); + get localPort() { + return this._socket?.localPort; } - get connectTimeout(): number | undefined { - return this._options.connectTimeout; + get localFamily() { + return this._socket?.localFamily; } - set connectTimeout(value: number | null) { - this._options.connectTimeout = value ?? undefined; + get remoteAddress() { + return this._socket?.remoteAddress || this._options.host; } - get responseTimeout(): number | undefined { - return this._options.responseTimeout; + get remotePort() { + return this._socket?.remotePort || this._options.port; } - set responseTimeout(value: number | null) { - this._options.responseTimeout = value ?? undefined; + get remoteFamily() { + return this._socket?.remoteFamily; + } + + get connectTimeout(): number | undefined { + return this._options.connectTimeout; + } + + get responseTimeout(): number | undefined { + return this._options.responseTimeout; } get maxBufferSize(): number { return this._options.maxBufferSize || 0; } - set maxBufferSize(value: number) { - this._options.maxBufferSize = value; - if (this._socket) this._socket.maxBufferSize = value; + address() { + return this._socket?.address(); } async connect(): Promise { @@ -189,6 +193,19 @@ export class Hl7Client extends AsyncEventEmitter { return this._socket!.sendMessageWaitAck(request); } + setConnectTimeout(value: number | null) { + this._options.connectTimeout = value ?? undefined; + } + + setResponseTimeout(value: number | null) { + this._options.responseTimeout = value ?? undefined; + } + + setMaxBufferSize(value: number) { + this._options.maxBufferSize = value; + if (this._socket) this._socket.setMaxBufferSize(value); + } + setKeepAlive(enable?: boolean, initialDelay?: number) { this._options.keepAlive = enable; this._options.keepAliveInitialDelay = initialDelay; diff --git a/packages/net/src/hl7-request.ts b/packages/net/src/hl7-request.ts index 6651316..d87dbd9 100644 --- a/packages/net/src/hl7-request.ts +++ b/packages/net/src/hl7-request.ts @@ -9,8 +9,4 @@ export class HL7Request { this.socket = socket; this.message = message; } - - remoteAddress() { - return this.socket.remoteAddress(); - } } diff --git a/packages/net/src/hl7-socket.ts b/packages/net/src/hl7-socket.ts index 2095e5b..4debd42 100644 --- a/packages/net/src/hl7-socket.ts +++ b/packages/net/src/hl7-socket.ts @@ -62,23 +62,39 @@ export class HL7Socket extends AsyncEventEmitter { return this._frameStream.maxBufferSize || 0; } - set maxBufferSize(value: number) { - this._frameStream.maxBufferSize = value; + get localAddress() { + return this.socket?.localAddress; } - address() { - return this.socket?.address() || {}; + get localPort() { + return this.socket?.localPort; + } + + get localFamily() { + return this.socket?.localFamily; } - remoteAddress() { + get remoteAddress() { const addr = this.socket?.remoteAddress; return addr?.startsWith('::ffff:') ? addr.slice(7) : addr; } + get remotePort() { + return this.socket?.remotePort; + } + + get remoteFamily() { + return this.socket?.remoteFamily; + } + get writable() { return this.connected && this.socket?.writable; } + address() { + return this.socket?.address() || {}; + } + async close(waitRunningHandlers?: number): Promise { if (this.closed) return; /** Stop receiving data */ @@ -186,6 +202,10 @@ export class HL7Socket extends AsyncEventEmitter { this.socket.setKeepAlive(enable, initialDelay); } + setMaxBufferSize(value: number) { + this._frameStream.maxBufferSize = value; + } + protected _onData(data: Buffer) { try { const message = new HL7Message(); From 746f1c3f3bede29d607ae8b3de282d4cb62b75df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20Hano=C4=9Flu?= Date: Tue, 24 Feb 2026 13:13:24 +0300 Subject: [PATCH 2/3] 1.8.0 --- packages/dictionary/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dictionary/package.json b/packages/dictionary/package.json index 8e4b415..978f7d1 100644 --- a/packages/dictionary/package.json +++ b/packages/dictionary/package.json @@ -1,7 +1,7 @@ { "name": "hl7v2-dictionary", "description": "HL7 v2 parser, serializer, validator for NodeJS", - "version": "1.7.1", + "version": "1.8.0", "author": "Panates", "license": "MIT", "private": true, From 311a34e07ed895891b43c1b1f8eafe81e2cd4ef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20Hano=C4=9Flu?= Date: Tue, 24 Feb 2026 13:13:24 +0300 Subject: [PATCH 3/3] 1.8.0 --- packages/hl7v2/package.json | 4 ++-- packages/net/package.json | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/hl7v2/package.json b/packages/hl7v2/package.json index 0997c3b..a6f8580 100644 --- a/packages/hl7v2/package.json +++ b/packages/hl7v2/package.json @@ -1,7 +1,7 @@ { "name": "hl7v2", "description": "HL7 v2 parser, serializer, validator for NodeJS", - "version": "1.7.1", + "version": "1.8.0", "author": "Panates", "license": "MIT", "private": true, @@ -16,7 +16,7 @@ "uid": "^2.0.2" }, "peerDependencies": { - "hl7v2-dictionary": "^1.7.1" + "hl7v2-dictionary": "^1.8.0" }, "devDependencies": { "expect": "^30.2.0" diff --git a/packages/net/package.json b/packages/net/package.json index 472bb88..041da9a 100644 --- a/packages/net/package.json +++ b/packages/net/package.json @@ -1,7 +1,7 @@ { "name": "hl7v2-net", "description": "HL7 v2 server/client for NodeJS", - "version": "1.7.1", + "version": "1.8.0", "author": "Panates", "license": "MIT", "private": true, @@ -18,8 +18,8 @@ "uid": "^2.0.2" }, "peerDependencies": { - "hl7v2": "^1.7.1", - "hl7v2-dictionary": "^1.7.1" + "hl7v2": "^1.8.0", + "hl7v2-dictionary": "^1.8.0" }, "devDependencies": { "@types/reconnect-core": "^1.3.5",