@open-website-status/api
Advanced tools
Comparing version 1.2.0 to 1.3.0
import { EventEmitter } from 'typed-event-emitter'; | ||
import { APIOptions, APIQueryMessage, GetQueryMessage, Job, Query, WebsiteQueryMessage } from './types'; | ||
import { APIOptions, APIQueryMessage, GetHostnameQueriesMessage, GetQueryMessage, Job, Query, WebsiteQueryMessage } from './types'; | ||
export default class OpenWebsiteStatusAPI extends EventEmitter { | ||
@@ -13,2 +13,3 @@ readonly onConnect: (handler: () => unknown) => import("typed-event-emitter").Listener; | ||
readonly onJobDelete: (handler: (jobId: string, queryId: string) => unknown) => import("typed-event-emitter").Listener; | ||
readonly onQueryCreate: (handler: (query: Query) => unknown) => import("typed-event-emitter").Listener; | ||
readonly onConnectedProvidersCount: (handler: (count: number) => unknown) => import("typed-event-emitter").Listener; | ||
@@ -22,4 +23,5 @@ private readonly options; | ||
getQuery(data: GetQueryMessage): Promise<Query>; | ||
getHostnameQueries(data: GetHostnameQueriesMessage): Promise<Query[]>; | ||
close(): void; | ||
reconnect(): void; | ||
} |
@@ -20,2 +20,3 @@ "use strict"; | ||
this.onJobDelete = this.registerEvent(); | ||
this.onQueryCreate = this.registerEvent(); | ||
this.onConnectedProvidersCount = this.registerEvent(); | ||
@@ -57,2 +58,5 @@ this.options = options; | ||
}); | ||
this.socket.on('query-create', (message) => { | ||
this.emit(this.onQueryCreate, message); | ||
}); | ||
this.socket.on('connected-providers-count', (message) => { | ||
@@ -98,2 +102,14 @@ this.emit(this.onConnectedProvidersCount, message.count); | ||
} | ||
getHostnameQueries(data) { | ||
return new Promise(((resolve, reject) => { | ||
this.socket.emit('get-hostname-queries', data, (errorMessage, message) => { | ||
if (errorMessage !== null) { | ||
reject(new Error(errorMessage)); | ||
} | ||
else { | ||
resolve(message.queries); | ||
} | ||
}); | ||
})); | ||
} | ||
close() { | ||
@@ -100,0 +116,0 @@ this.socket.close(); |
@@ -36,2 +36,10 @@ export interface APIOptions { | ||
} | ||
export interface GetHostnameQueriesMessage { | ||
hostname: string; | ||
subscribe: boolean; | ||
} | ||
export interface HostnameQueries { | ||
hostname: string; | ||
queries: Query[]; | ||
} | ||
export interface BaseJob { | ||
@@ -38,0 +46,0 @@ id: string; |
{ | ||
"name": "@open-website-status/api", | ||
"version": "1.2.0", | ||
"version": "1.3.0", | ||
"description": "TypeScript API client for Open Website Status", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -6,4 +6,4 @@ import io from 'socket.io-client'; | ||
APIQueryMessage, | ||
ConnectedProvidersCountMessage, | ||
GetQueryMessage, | ||
ConnectedProvidersCountMessage, GetHostnameQueriesMessage, | ||
GetQueryMessage, HostnameQueries, | ||
Job, | ||
@@ -35,2 +35,4 @@ JobDeleteMessage, | ||
public readonly onQueryCreate = this.registerEvent<(query: Query) => unknown>(); | ||
public readonly onConnectedProvidersCount = this.registerEvent<(count: number) => unknown>(); | ||
@@ -89,2 +91,6 @@ | ||
this.socket.on('query-create', (message: Query) => { | ||
this.emit(this.onQueryCreate, message); | ||
}); | ||
this.socket.on('connected-providers-count', (message: ConnectedProvidersCountMessage) => { | ||
@@ -131,2 +137,14 @@ this.emit(this.onConnectedProvidersCount, message.count); | ||
public getHostnameQueries(data: GetHostnameQueriesMessage): Promise<Query[]> { | ||
return new Promise(((resolve, reject) => { | ||
this.socket.emit('get-hostname-queries', data, (errorMessage: string | null, message: HostnameQueries) => { | ||
if (errorMessage !== null) { | ||
reject(new Error(errorMessage)); | ||
} else { | ||
resolve(message.queries); | ||
} | ||
}); | ||
})); | ||
} | ||
public close(): void { | ||
@@ -133,0 +151,0 @@ this.socket.close(); |
@@ -41,2 +41,12 @@ export interface APIOptions { | ||
export interface GetHostnameQueriesMessage { | ||
hostname: string; | ||
subscribe: boolean; | ||
} | ||
export interface HostnameQueries { | ||
hostname: string; | ||
queries: Query[]; | ||
} | ||
export interface BaseJob { | ||
@@ -43,0 +53,0 @@ id: string; |
19511
554