UNPKG

948 BPlain TextView Raw
1import { sites as rawSites } from './data';
2import { checker } from './lib';
3
4//checking status mesasge interface
5interface Imessage {
6 userName: string;
7 siteName: string;
8 uri: string;
9 exist: boolean;
10}
11
12class JsherLock {
13 private userName: string;
14 private sites: string[];
15
16 constructor(userName: string) {
17 this.userName = userName;
18 this.sites = new Array(...rawSites);
19 }
20
21 static sites(): string[] {
22 return rawSites;
23 }
24
25 async checkAll(): Promise<Imessage[]> {
26 const messages = await Promise.all(
27 rawSites.map(async siteName => {
28 const message = await this.checkFor(siteName);
29 return message;
30 })
31 );
32 return messages;
33 }
34
35 async checkFor(siteName: string): Promise<Imessage> {
36 const message = await checker(siteName, this.userName);
37 return message;
38 }
39}
40
41export default JsherLock;
42
43export { Imessage };
44
45module.exports = JsherLock;
46module.exports.default = JsherLock;