Skip to content

Commit 9f51c01

Browse files
fix(telegram): resolve type-check errors in tgApi module and tests
Replace em-dash characters in JSDoc with hyphens and add inline type assertions for server.address() to satisfy jsconfig checkJs. Signed-off-by: Tommy Lin <tommylin@signalpro.com.tw> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 90df000 commit 9f51c01

2 files changed

Lines changed: 12 additions & 11 deletions

File tree

bin/lib/telegram-api.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ const DEFAULT_TIMEOUT_MS = 60000;
1414
/**
1515
* Call a Telegram Bot API method.
1616
*
17-
* @param {string} token Bot token from @BotFather
18-
* @param {string} method API method name (e.g. "getUpdates")
19-
* @param {object} body JSON-serialisable request body
17+
* @param {string} token - Bot token from BotFather
18+
* @param {string} method - API method name (e.g. "getUpdates")
19+
* @param {object} body - JSON-serialisable request body
2020
* @param {object} [opts]
21-
* @param {number} [opts.timeout] socket idle timeout in ms (default 60 000)
22-
* @param {string} [opts.hostname] override hostname (useful for tests)
23-
* @param {number} [opts.port] override port (useful for tests)
24-
* @param {boolean} [opts.rejectUnauthorized] TLS cert check (default true)
21+
* @param {number} [opts.timeout] - socket idle timeout in ms (default 60 000)
22+
* @param {string} [opts.hostname] - override hostname (useful for tests)
23+
* @param {number} [opts.port] - override port (useful for tests)
24+
* @param {boolean} [opts.rejectUnauthorized] - TLS cert check (default true)
2525
* @returns {Promise<object>} parsed JSON response
2626
*/
2727
function tgApi(token, method, body, opts = {}) {

test/telegram-api.test.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,16 @@ const servers = [];
5353
/**
5454
* Create a local HTTPS test server with the given request handler.
5555
*
56-
* @param {Function} handler Node.js (req, res) request handler
56+
* @param {import("http").RequestListener} handler - Node.js (req, res) request handler
5757
* @returns {Promise<{server: import("https").Server, port: number}>}
5858
*/
5959
function createServer(handler) {
6060
return new Promise((resolve) => {
6161
const server = https.createServer({ key, cert }, handler);
6262
server.listen(0, "127.0.0.1", () => {
6363
servers.push(server);
64-
const { port } = server.address();
64+
const addr = server.address();
65+
const port = /** @type {import("net").AddressInfo} */ (addr).port;
6566
resolve({ server, port });
6667
});
6768
});
@@ -165,8 +166,8 @@ describe("tgApi (bin/lib/telegram-api)", () => {
165166

166167
it("handles connection refused (server down)", async () => {
167168
const tempServer = net.createServer();
168-
await new Promise((r) => tempServer.listen(0, "127.0.0.1", r));
169-
const { port } = tempServer.address();
169+
await new Promise((r) => tempServer.listen(0, "127.0.0.1", () => r()));
170+
const port = /** @type {import("net").AddressInfo} */ (tempServer.address()).port;
170171
await new Promise((resolve, reject) =>
171172
tempServer.close((err) => (err ? reject(err) : resolve())),
172173
);

0 commit comments

Comments
 (0)