From 10ef1d04552cc03feff589849756fb7b86f28696 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Tue, 13 Apr 2021 10:29:42 +0000 Subject: [PATCH] fix(core): update --- test/test.ts | 4 +- ts/smartnetwork.classes.smartnetwork.ts | 54 ++++++++++--------------- 2 files changed, 24 insertions(+), 34 deletions(-) diff --git a/test/test.ts b/test/test.ts index 181a6e7..c91a81a 100644 --- a/test/test.ts +++ b/test/test.ts @@ -10,8 +10,8 @@ tap.test('should create a valid instance of SmartNetwork', async () => { tap.test('should perform a speedtest', async () => { const result = await testSmartNetwork.getSpeed(); - console.log(`Download speed for this instance is ${result.speeds.download}`); - console.log(`Upload speed for this instance is ${result.speeds.upload}`); + console.log(`Download speed for this instance is ${result.download.bandwidth}`); + console.log(`Upload speed for this instance is ${result.download.bandwidth}`); }); tap.test('should determine wether a port is free', async () => { diff --git a/ts/smartnetwork.classes.smartnetwork.ts b/ts/smartnetwork.classes.smartnetwork.ts index 09e4978..ad14fbe 100644 --- a/ts/smartnetwork.classes.smartnetwork.ts +++ b/ts/smartnetwork.classes.smartnetwork.ts @@ -1,34 +1,31 @@ import * as plugins from './smartnetwork.plugins'; export interface ISpeedtestData { - speeds: { - download: number; - upload: number; - originalDownload: number; - originalUpload: number; - }; - client: { - ip: string; - lat: number; - lon: number; - isp: string; - isprating: string; - rating: number; - ispdlavg: number; - ispulavg: number; + timestamp: Date; + ping: { jitter: number; latency: number }; + download: { bandwidth: number; bytes: number; elapsed: number }; + upload: { bandwidth: number; bytes: number; elapsed: number }; + packetLoss: number; + isp: string; + interface: { + internalIp: string; + name: string; + macAddr: string; + isVpn: false; + externalIp: string; }; server: { - host: string; - lat: number; - lon: number; + id: number; + name: string; location: string; country: string; - cc: string; - sponsor: string; - distance: number; - distanceMi: number; - ping: number; + host: string; + port: number; + ip: string; + }; + result: { id: string; + url: string; }; } @@ -41,15 +38,8 @@ export class SmartNetwork { * @param measurementTime */ public async getSpeed(measurementTime = 5000): Promise { - const done = plugins.smartpromise.defer(); - const test = plugins.speedtestNet({ maxTime: measurementTime }); - test.on('data', (data) => { - done.resolve(data); - }); - test.on('error', (err) => { - done.reject(err); - }); - return await done.promise; + const test = await plugins.speedtestNet({ maxTime: measurementTime, acceptGdpr: true }); + return test; } /**