 
 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)
    }

}
