fix(core): update
This commit is contained in:
		
							
								
								
									
										4
									
								
								.snyk
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								.snyk
									
									
									
									
									
								
							| @@ -1,4 +0,0 @@ | ||||
| # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. | ||||
| version: v1.13.5 | ||||
| ignore: {} | ||||
| patch: {} | ||||
							
								
								
									
										22830
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										22830
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								package.json
									
									
									
									
									
								
							| @@ -12,19 +12,19 @@ | ||||
|     "build": "(tsbuild --web)" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@gitzone/tsbuild": "^2.1.25", | ||||
|     "@gitzone/tstest": "^1.0.52", | ||||
|     "@pushrocks/tapbundle": "^3.2.14", | ||||
|     "@gitzone/tsbuild": "^2.1.29", | ||||
|     "@gitzone/tstest": "^1.0.64", | ||||
|     "@pushrocks/tapbundle": "^4.0.7", | ||||
|     "tslint": "^6.1.3", | ||||
|     "tslint-config-prettier": "^1.18.0" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@pushrocks/smartpromise": "^3.1.3", | ||||
|     "@pushrocks/smartpromise": "^3.1.6", | ||||
|     "@pushrocks/smartstring": "^3.0.24", | ||||
|     "@types/default-gateway": "^3.0.1", | ||||
|     "isopen": "^1.3.0", | ||||
|     "public-ip": "^4.0.3", | ||||
|     "systeminformation": "^5.6.12" | ||||
|     "public-ip": "^4.0.4", | ||||
|     "systeminformation": "^5.11.3" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "ts/**/*", | ||||
|   | ||||
							
								
								
									
										12
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								test/test.ts
									
									
									
									
									
								
							| @@ -1,11 +1,11 @@ | ||||
| import { expect, tap } from '@pushrocks/tapbundle'; | ||||
| import { expect, expectAsync, tap } from '@pushrocks/tapbundle'; | ||||
| import * as smartnetwork from '../ts/index'; | ||||
|  | ||||
| let testSmartNetwork: smartnetwork.SmartNetwork; | ||||
|  | ||||
| tap.test('should create a valid instance of SmartNetwork', async () => { | ||||
|   testSmartNetwork = new smartnetwork.SmartNetwork(); | ||||
|   expect(testSmartNetwork).to.be.instanceOf(smartnetwork.SmartNetwork); | ||||
|   expect(testSmartNetwork).toBeInstanceOf(smartnetwork.SmartNetwork); | ||||
| }); | ||||
|  | ||||
| tap.test('should perform a speedtest', async () => { | ||||
| @@ -15,13 +15,13 @@ tap.test('should perform a speedtest', async () => { | ||||
| }); | ||||
|  | ||||
| tap.test('should determine wether a port is free', async () => { | ||||
|   await expect(testSmartNetwork.isLocalPortUnused(8080)).to.eventually.be.true; | ||||
|   await expectAsync(testSmartNetwork.isLocalPortUnused(8080)).toBeTrue(); | ||||
| }); | ||||
|  | ||||
| tap.test('should scan a port', async () => { | ||||
|   await expect(testSmartNetwork.isRemotePortAvailable('lossless.com:443')).to.eventually.be.true; | ||||
|   await expect(testSmartNetwork.isRemotePortAvailable('lossless.com', 443)).to.be.eventually.true; | ||||
|   // await expect(testSmartNetwork.isRemotePortAvailable('lossless.com:444')).to.eventually.be.false; | ||||
|   await expectAsync(testSmartNetwork.isRemotePortAvailable('lossless.com:443')).toBeTrue(); | ||||
|   await expectAsync(testSmartNetwork.isRemotePortAvailable('lossless.com', 443)).toBeTrue(); | ||||
|   await expectAsync(testSmartNetwork.isRemotePortAvailable('lossless.com:444')).toBeFalse(); | ||||
| }); | ||||
|  | ||||
| tap.test('should get gateways', async () => { | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| export function average(values) { | ||||
| export function average(values: number[]) { | ||||
|   let total = 0; | ||||
|  | ||||
|   for (let i = 0; i < values.length; i += 1) { | ||||
| @@ -8,7 +8,7 @@ export function average(values) { | ||||
|   return total / values.length; | ||||
| } | ||||
|  | ||||
| export function median(values) { | ||||
| export function median(values: number[]) { | ||||
|   const half = Math.floor(values.length / 2); | ||||
|  | ||||
|   values.sort((a, b) => a - b); | ||||
| @@ -18,7 +18,7 @@ export function median(values) { | ||||
|   return (values[half - 1] + values[half]) / 2; | ||||
| } | ||||
|  | ||||
| export function quartile(values, percentile) { | ||||
| export function quartile(values: number[], percentile: number) { | ||||
|   values.sort((a, b) => a - b); | ||||
|   const pos = (values.length - 1) * percentile; | ||||
|   const base = Math.floor(pos); | ||||
| @@ -31,7 +31,7 @@ export function quartile(values, percentile) { | ||||
|   return values[base]; | ||||
| } | ||||
|  | ||||
| export function jitter(values) { | ||||
| export function jitter(values: number[]) { | ||||
|   // Average distance between consecutive latency measurements... | ||||
|   let jitters = []; | ||||
|  | ||||
|   | ||||
| @@ -64,7 +64,7 @@ export class CloudflareSpeed { | ||||
|   } | ||||
|  | ||||
|   public async measureDownload(bytes: number, iterations: number) { | ||||
|     const measurements = []; | ||||
|     const measurements: number[] = []; | ||||
|  | ||||
|     for (let i = 0; i < iterations; i += 1) { | ||||
|       await this.download(bytes).then( | ||||
| @@ -82,7 +82,7 @@ export class CloudflareSpeed { | ||||
|   } | ||||
|  | ||||
|   public async measureUpload(bytes: number, iterations: number) { | ||||
|     const measurements = []; | ||||
|     const measurements: number[] = []; | ||||
|  | ||||
|     for (let i = 0; i < iterations; i += 1) { | ||||
|       await this.upload(bytes).then( | ||||
| @@ -106,11 +106,11 @@ export class CloudflareSpeed { | ||||
|   public async fetchServerLocations(): Promise<{ [key: string]: string }> { | ||||
|     const res = JSON.parse(await this.get('speed.cloudflare.com', '/locations')); | ||||
|  | ||||
|     return res.reduce((data, { iata, city }) => { | ||||
|     return res.reduce((data: any, optionsArg: { iata: string, city: string}) => { | ||||
|       // Bypass prettier "no-assign-param" rules | ||||
|       const data1 = data; | ||||
|  | ||||
|       data1[iata] = city; | ||||
|       data1[optionsArg.iata] = optionsArg.city; | ||||
|       return data1; | ||||
|     }, {}); | ||||
|   } | ||||
| @@ -124,7 +124,7 @@ export class CloudflareSpeed { | ||||
|           method: 'GET', | ||||
|         }, | ||||
|         (res) => { | ||||
|           const body = []; | ||||
|           const body: Array<Buffer> = []; | ||||
|           res.on('data', (chunk) => { | ||||
|             body.push(chunk); | ||||
|           }); | ||||
| @@ -145,7 +145,7 @@ export class CloudflareSpeed { | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   public async download(bytes) { | ||||
|   public async download(bytes: number) { | ||||
|     const options = { | ||||
|       hostname: 'speed.cloudflare.com', | ||||
|       path: `/__down?bytes=${bytes}`, | ||||
| @@ -169,13 +169,13 @@ export class CloudflareSpeed { | ||||
|     return this.request(options, data); | ||||
|   } | ||||
|  | ||||
|   public async request(options, data = '') { | ||||
|     let started; | ||||
|     let dnsLookup; | ||||
|     let tcpHandshake; | ||||
|     let sslHandshake; | ||||
|     let ttfb; | ||||
|     let ended; | ||||
|   public async request(options: plugins.https.RequestOptions, data = ''): Promise<number[]> { | ||||
|     let started: number; | ||||
|     let dnsLookup: number; | ||||
|     let tcpHandshake : number; | ||||
|     let sslHandshake: number; | ||||
|     let ttfb: number; | ||||
|     let ended: number; | ||||
|  | ||||
|     return new Promise((resolve, reject) => { | ||||
|       started = plugins.perfHooks.performance.now(); | ||||
| @@ -234,7 +234,7 @@ export class CloudflareSpeed { | ||||
|     warp: string; | ||||
|     gateway: string; | ||||
|   }> { | ||||
|     const parseCfCdnCgiTrace = (text) => | ||||
|     const parseCfCdnCgiTrace = (text: string) => | ||||
|       text | ||||
|         .split('\n') | ||||
|         .map((i) => { | ||||
| @@ -242,7 +242,7 @@ export class CloudflareSpeed { | ||||
|  | ||||
|           return [j[0], j[1]]; | ||||
|         }) | ||||
|         .reduce((data, [k, v]) => { | ||||
|         .reduce((data: any, [k, v]) => { | ||||
|           if (v === undefined) return data; | ||||
|  | ||||
|           // Bypass prettier "no-assign-param" rules | ||||
|   | ||||
| @@ -78,7 +78,7 @@ export class SmartNetwork { | ||||
|     const domainPart = domainArg.split(':')[0]; | ||||
|     const port = portArg ? portArg : parseInt(domainArg.split(':')[1], 10); | ||||
|  | ||||
|     plugins.isopen(domainPart, port, (response) => { | ||||
|     plugins.isopen(domainPart, port, (response: any) => { | ||||
|       console.log(response); | ||||
|       if (response[port.toString()].isOpen) { | ||||
|         done.resolve(true); | ||||
|   | ||||
| @@ -12,7 +12,7 @@ import * as smartstring from '@pushrocks/smartstring'; | ||||
| export { smartpromise, smartstring }; | ||||
|  | ||||
| // @third party scope | ||||
| import isopen from 'isopen'; | ||||
| const isopen = require('isopen'); | ||||
| import publicIp from 'public-ip'; | ||||
| import * as systeminformation from 'systeminformation'; | ||||
|  | ||||
|   | ||||
							
								
								
									
										5
									
								
								ts/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								ts/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| { | ||||
|   "compilerOptions": { | ||||
|     "noImplicitAny": true | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user