const createModule = (() => {
const privateCache = new WeakMap();
return function(name) {
const state = { name, version: 1, active: true };
privateCache.set(state, { accessCount: 0 });
return {
getInfo() {
const meta = privateCache.get(state);
meta.accessCount++;
return `${state.name}@v${state.version}`;
},
getAccessCount() {
return privateCache.get(state).accessCount;
},
upgrade() {
state.version++;
return this;
}
};
};
})();
const mod = createModule("auth");
mod.upgrade().upgrade();
console.log(mod.getInfo());
console.log(mod.getAccessCount());
Post #3227
2.34K
CHALLENGE
- ❤ 2
- 👍 1