JSFiddle - React, Tailwind, and code Playground
by alexrothenberg
JavaScript
// A Closure provides encapsulation
var Database = (function() {
_data = {}
_create = function(object) {
return _data[object.id] = object
}
_read = function(id) {
return _data[id]
}
_update = function(object) {
return _data[object.id] = object
}
_delete = function(id) {
return _data[id] = null
}
return {
create: _create,
read: _read,
update: _update,
delete: _delete
}
}).call(this)
// We can CREATE
Database.create({id: 7, name: 'Alex'});
Database.create({id: 9, name: 'Pat'});
// We can READ
document.write('<br>7: ' + Database.read(7).name);
// 7: Alex
document.write('<br>9: ' + Database.read(9).name);
// 9: Pat
// We can UPDATE
Database.update({id: 7, name: 'Alexander'})
document.write('<br>7: ' + Database.read(7).name);
// 7: Alexander
// We can DELETE
Database.delete(7)
document.write('<br>7: ' + Database.read(7));
// 7: null
document.write('<br><br>I cannot get at _data directly. It is: ' + Database._data)