nsolid-manager
Version:
A manager that sets up and runs N|Solid for you
33 lines (25 loc) • 584 B
JavaScript
/**
* In-memory data store that merges new data with existing data.
*/
var merge = require('merge')
module.exports = createArrayStore
function createArrayStore (start) {
var array = []
var map = {}
function getByName (name, value) {
if (typeof map[name] === 'undefined') {
map[name] = merge(true, {
time: Date.now()
}, start, value)
array.push(map[name])
} else {
merge(map[name], value)
}
return map[name]
}
getByName.array = array
getByName.has = function (name) {
return !!map[name]
}
return getByName
}