added first prototype of the new HB with indexedDB
This commit is contained in:
parent
c5b47e88ac
commit
7a89c1cc6d
48
examples/indexedDB/index.coffee
Normal file
48
examples/indexedDB/index.coffee
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
class Buffer
|
||||||
|
constructor: (@buffer)->
|
||||||
|
set: (op)->
|
||||||
|
that = this
|
||||||
|
new Promise (resolve, reject)=>
|
||||||
|
request = that.buffer.put op
|
||||||
|
request.onsuccess = (event)->
|
||||||
|
resolve op
|
||||||
|
request.onerror = (event)->
|
||||||
|
reject "Could not set value!"
|
||||||
|
|
||||||
|
get: (uid)->
|
||||||
|
that = this
|
||||||
|
new Promise (resolve, reject)=>
|
||||||
|
request = that.buffer.get uid
|
||||||
|
request.onsuccess = (event)->
|
||||||
|
resolve request.result
|
||||||
|
request.onerror = (event)->
|
||||||
|
reject "Could not set value!"
|
||||||
|
|
||||||
|
class window.HB
|
||||||
|
constructor: ()->
|
||||||
|
@ready = (new Promise (resolve, reject)->
|
||||||
|
request = indexedDB.open "Testy", 7
|
||||||
|
request.onerror = ()->
|
||||||
|
reject "Couldn't open the IndexedDB database!"
|
||||||
|
request.onsuccess = (event)->
|
||||||
|
resolve event.target.result
|
||||||
|
request.onupgradeneeded = (event)->
|
||||||
|
db = event.target.result
|
||||||
|
objectStore = db.createObjectStore "HistoryBuffer", {keyPath: "uid"}
|
||||||
|
).catch (message)->
|
||||||
|
throw new Error message
|
||||||
|
|
||||||
|
requestBuffer: ()->
|
||||||
|
@ready.then (db)->
|
||||||
|
new Promise (resolve, reject)->
|
||||||
|
resolve new Buffer(db.transaction(["HistoryBuffer"], "readwrite").objectStore("HistoryBuffer"))
|
||||||
|
|
||||||
|
removeDatabase: ()->
|
||||||
|
req = indexedDB.deleteDatabase "Testy"
|
||||||
|
req.onsuccess = ()->
|
||||||
|
console.log("Deleted database successfully");
|
||||||
|
req.onerror = ()->
|
||||||
|
console.log("Couldn't delete database")
|
||||||
|
|
||||||
|
window.hb = new HB()
|
11
examples/indexedDB/index.html
Normal file
11
examples/indexedDB/index.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset=utf-8 />
|
||||||
|
<title>Y Example</title>
|
||||||
|
<script src="./index.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1 contentEditable> Tutorial</h1>
|
||||||
|
</body>
|
||||||
|
</html>
|
96
examples/indexedDB/index.js
Normal file
96
examples/indexedDB/index.js
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
// Generated by CoffeeScript 1.9.2
|
||||||
|
(function() {
|
||||||
|
var Buffer;
|
||||||
|
|
||||||
|
Buffer = (function() {
|
||||||
|
function Buffer(buffer) {
|
||||||
|
this.buffer = buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
Buffer.prototype.set = function(op) {
|
||||||
|
var that;
|
||||||
|
that = this;
|
||||||
|
return new Promise((function(_this) {
|
||||||
|
return function(resolve, reject) {
|
||||||
|
var request;
|
||||||
|
request = that.buffer.put(op);
|
||||||
|
request.onsuccess = function(event) {
|
||||||
|
return resolve(op);
|
||||||
|
};
|
||||||
|
return request.onerror = function(event) {
|
||||||
|
return reject("Could not set value!");
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})(this));
|
||||||
|
};
|
||||||
|
|
||||||
|
Buffer.prototype.get = function(uid) {
|
||||||
|
var that;
|
||||||
|
that = this;
|
||||||
|
return new Promise((function(_this) {
|
||||||
|
return function(resolve, reject) {
|
||||||
|
var request;
|
||||||
|
request = that.buffer.get(uid);
|
||||||
|
request.onsuccess = function(event) {
|
||||||
|
return resolve(request.result);
|
||||||
|
};
|
||||||
|
return request.onerror = function(event) {
|
||||||
|
return reject("Could not set value!");
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})(this));
|
||||||
|
};
|
||||||
|
|
||||||
|
return Buffer;
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
||||||
|
window.HB = (function() {
|
||||||
|
function HB() {
|
||||||
|
this.ready = (new Promise(function(resolve, reject) {
|
||||||
|
var request;
|
||||||
|
request = indexedDB.open("Testy", 7);
|
||||||
|
request.onerror = function() {
|
||||||
|
return reject("Couldn't open the IndexedDB database!");
|
||||||
|
};
|
||||||
|
request.onsuccess = function(event) {
|
||||||
|
return resolve(event.target.result);
|
||||||
|
};
|
||||||
|
return request.onupgradeneeded = function(event) {
|
||||||
|
var db, objectStore;
|
||||||
|
db = event.target.result;
|
||||||
|
return objectStore = db.createObjectStore("HistoryBuffer", {
|
||||||
|
keyPath: "uid"
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}))["catch"](function(message) {
|
||||||
|
throw new Error(message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
HB.prototype.requestBuffer = function() {
|
||||||
|
return this.ready.then(function(db) {
|
||||||
|
return new Promise(function(resolve, reject) {
|
||||||
|
return resolve(new Buffer(db.transaction(["HistoryBuffer"], "readwrite").objectStore("HistoryBuffer")));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
HB.prototype.removeDatabase = function() {
|
||||||
|
var req;
|
||||||
|
req = indexedDB.deleteDatabase("Testy");
|
||||||
|
req.onsuccess = function() {
|
||||||
|
return console.log("Deleted database successfully");
|
||||||
|
};
|
||||||
|
return req.onerror = function() {
|
||||||
|
return console.log("Couldn't delete database");
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
return HB;
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
||||||
|
window.hb = new HB();
|
||||||
|
|
||||||
|
}).call(this);
|
Loading…
x
Reference in New Issue
Block a user