Sort posts by creation date, most recent first
This commit is contained in:
parent
973004f1dd
commit
54d35961d1
2 changed files with 26 additions and 11 deletions
|
|
@ -21,25 +21,34 @@
|
|||
(.addEventListener "upgradeneeded"
|
||||
(fn [ev]
|
||||
(let [db (.-result request)
|
||||
old-version (.-oldVersion ev)]
|
||||
old-version (.-oldVersion ev)
|
||||
txn (-> ev .-target .-transaction)]
|
||||
(js/console.log ::upgradeneeded ev db)
|
||||
(doseq [version (range (inc old-version) (inc db-version))
|
||||
:let [migration (migrations version)]]
|
||||
(migration db)))))
|
||||
(migration db txn)))))
|
||||
; we don't add a listener for "blocked" events because we handle "versionchange" above
|
||||
(.addEventListener "error" (fn [ev] (reject (.-result request) ev))))))))
|
||||
|
||||
(defn open-store
|
||||
([db store-id]
|
||||
(open-store db store-id "readonly"))
|
||||
([db store-id permissions]
|
||||
([db-or-txn store-id]
|
||||
(open-store db-or-txn store-id "readonly"))
|
||||
([db-or-txn store-id permissions]
|
||||
(let [store-id (str store-id) ; simplifies using keywords as store identifiers
|
||||
txn (.transaction db store-id permissions)]
|
||||
txn (if (instance? js/IDBTransaction db-or-txn)
|
||||
db-or-txn
|
||||
(.transaction db-or-txn store-id permissions))]
|
||||
(.objectStore txn store-id))))
|
||||
|
||||
(defn create-object-store! [db store-id key-opts]
|
||||
(.createObjectStore db (str store-id) (clj->js key-opts)))
|
||||
|
||||
(defn create-index!
|
||||
([store idx-name fields]
|
||||
(create-index! store idx-name fields {}))
|
||||
([store idx-name fields opts]
|
||||
(.createIndex store (str idx-name) (clj->js fields) (clj->js opts))))
|
||||
|
||||
(defn- promisify [request]
|
||||
(js/Promise. (fn [resolve reject]
|
||||
(doto request
|
||||
|
|
@ -70,7 +79,10 @@
|
|||
([store-id key-range] (open-cursor! store-id key-range "next"))
|
||||
([store-id key-range direction]
|
||||
(let [store (open-store @+db+ store-id)]
|
||||
(.openCursor store key-range direction))))
|
||||
(.openCursor store key-range direction)))
|
||||
([store-id idx-name key-range direction]
|
||||
(let [store (open-store @+db+ store-id)]
|
||||
(.openCursor (.index store (str idx-name)) key-range direction))))
|
||||
|
||||
#_(defn logging [f]
|
||||
(let [n (volatile! 0)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue