From efc3b8b8be4edb3da360d75a1161eac5cc0542b3 Mon Sep 17 00:00:00 2001 From: garzj Date: Mon, 21 Mar 2022 15:57:05 +0100 Subject: [PATCH 1/2] Upgrade dependencies --- package.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 375dc11..55dac74 100644 --- a/package.json +++ b/package.json @@ -12,18 +12,18 @@ "author": "Atlantis Software", "license": "MIT", "dependencies": { - "crc": "~3.8.0", - "js-yaml": "~3.14.0", - "log4js": "~6.3.0" + "crc": "~4.1.0", + "js-yaml": "~4.1.0", + "log4js": "~6.4.3" }, "devDependencies": { - "coveralls": "~3.1.0", - "eslint": "~7.9.0", - "karma": "~5.2.2", - "karma-chrome-launcher": "~3.1.0", + "coveralls": "~3.1.1", + "eslint": "~8.11.0", + "karma": "~6.3.17", + "karma-chrome-launcher": "~3.1.1", "karma-mocha": "~2.0.1", "karma-mocha-reporter": "~2.2.5", - "mocha": "~8.1.3", + "mocha": "~9.2.2", "nyc": "~15.1.0" }, "repository": { From 521aa2debbb6bfbad976fe4a56be20134ce41c35 Mon Sep 17 00:00:00 2001 From: garzj Date: Mon, 21 Mar 2022 17:12:07 +0100 Subject: [PATCH 2/2] Add type declerations --- lib/server.d.ts | 67 +++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 68 insertions(+) create mode 100644 lib/server.d.ts diff --git a/lib/server.d.ts b/lib/server.d.ts new file mode 100644 index 0000000..301d9db --- /dev/null +++ b/lib/server.d.ts @@ -0,0 +1,67 @@ +/// + +import { EventEmitter } from 'events'; + +type TurnDebugLevel = + | 'OFF' + | 'FATAL' + | 'ERROR' + | 'WARN' + | 'INFO' + | 'DEBUG' + | 'TRACE' + | 'ALL'; + +type TurnAuthMech = 'none' | 'short-term' | 'long-term'; + +interface TurnCredentials { + [user: string]: string; +} + +interface TurnProps { + listeningPort: number; + listeningIps: string[]; + relayIps: string[]; + externalIps: string | { [localIp: string]: string } | null; + minPort: number; + maxPort: number; + authMech: TurnAuthMech; + realm: string; + maxAllocateLifetime: number; + defaultAllocatetLifetime: number; + debugLevel: TurnDebugLevel; + + log: (...args: any[]) => void; + debug: (debugLevel: TurnDebugLevel, message: string) => void; +} + +interface TurnOptions extends Partial { + credentials?: TurnCredentials; +} + +interface TurnServer extends Readonly {} + +declare class TurnServer extends EventEmitter { + constructor(options?: TurnOptions); + + start(): void; + stop(): void; + addUser(username: string, password: string): void; + removeUser(username: string): void; + + readonly software: string; + + readonly staticCredentials: TurnCredentials; +} + +declare namespace TurnServer { + export { + TurnOptions, + TurnProps, + TurnCredentials, + TurnAuthMech, + TurnDebugLevel, + }; +} + +export = TurnServer; diff --git a/package.json b/package.json index 55dac74..0b2567a 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.0.6", "description": "STUN/TURN Server", "main": "./lib/server.js", + "types": "./lib/server.d.ts", "scripts": { "start": "node start", "test": "nyc karma start",