Cache disconnecte event.

by MaxenceBrasselet

JavaScript

var _name = "name_1"
var getInDB = function() {
    return _name;
}

var User = function() {
    _innnerName: undefined,
    this.name = {
        get: function() {
            return this._innerName || getInDB();
        }
    }
};

var Cache = function() {
    var _cache = [];
    var event = new Event('disconnected');
    
    this.add = function(bindValue) {
        this._cache.push(bindValue);
        console.log("value added :", bindValue);
    };
    
    this.cleanCache = function() {
        for (var i in _cache) {
            var value = _cache[i];
            delete value;
            value.dispatchEvent(event); 
        }
    };
};

var user = new User();
var cache = new Cache();
window.init = function() {
    var userName = user.name.get();
    userName.addEventListener("disconnected", function() {
        console.log("disconnected");
    })
    
    cache.add(userName);
};

window.clear = function() {
    cache.cleanCache();
}