40 lines
602 B
JavaScript
40 lines
602 B
JavaScript
const socket = require('../socket')
|
|
const storage = {}
|
|
const events = {}
|
|
|
|
const store = {
|
|
get: function(name) {
|
|
return storage[name]
|
|
},
|
|
|
|
set: function(name, value, dontSend) {
|
|
storage[name] = value
|
|
|
|
if (dontSend) {
|
|
if (events[name]) {
|
|
events[name]()
|
|
}
|
|
return
|
|
}
|
|
|
|
socket.emit('store', {
|
|
name,
|
|
value,
|
|
})
|
|
},
|
|
|
|
listen: function(name, caller) {
|
|
events[name] = caller
|
|
},
|
|
|
|
unlisten: function(name) {
|
|
delete events[name]
|
|
},
|
|
}
|
|
|
|
socket.on('store', (data) => {
|
|
store.set(data.name, data.value, true)
|
|
})
|
|
|
|
module.exports = store
|