module.exports = class Cooldown {

    constructor() {

        this.List = {};

    }

    set(key, coolTime) {

        this.List[key] = { coolTime, initTime: (new Date()).getTime() };

    }

    timeLeft(key) {

        var timeLasted = ((new Date()).getTime() - this.List[key].initTime) / 1000;

        return this.List[key].coolTime - timeLasted;

    }

    done(key) {

        return this.timeLeft(key) <= 0;

    }

    exists(key) {

        return key in this.List;

    }

    remove(key) {

        return delete this.List[key];

    }

}

nodejs에 쓸려고 만들어봤는데 잘 작동하네요

앞으로도 많이 쓸듯

근데 누가 이미 비슷한거 만들어놨을거같음 ㅋㅋㅋ