UNPKG

drudgereport

Version:

Polls the DrudgeReport.com website and tracks the links

35 lines (27 loc) 870 B
import { Log } from "fme-logger"; var L = new Log("drudgeReport"); import { DrudgeFetch,DrudgeArticle } from "./models/drudge"; L.setLevel("info") export class DrudgeReport { pollInterval:number = 15 * 60; // number of seconds logLevel:string = "info" drudgeFetch:DrudgeFetch; latest: DrudgeArticle[]; constructor() { L.debug("DrudgeReport constructor called"); this.drudgeFetch = new DrudgeFetch(); } setLogLevel = (level:string) => { L.setLevel(level); } getLatest = async() => { this.latest = await this.drudgeFetch.getLatest(); return this.latest; } stream = (cb:any) => { setInterval(async()=>{ var newArt = await this.drudgeFetch.findNew() cb( newArt ); },this.pollInterval*1000) } }