npm.io
0.2.0 • Published 6 years ago

@tatchi/bs-idb-keyval

Licence
MIT
Version
0.2.0
Deps
0
Size
4 kB
Vulns
0
Weekly
0

bs-idb-keyval

BuckleScript bindings for idb-keyval

Installation

npm install --save @tatchi/bs-idb-keyval

Then add @tatchi/bs-idb-keyval to bs-dependencies in your bsconfig.json:

{
  ...
  "bs-dependencies": ["@tatchi/bs-idb-keyval"]
}

Usage

Create store:
let store = IdbKeyVal.createStore("custom-db-name", "custom-store-name");
set:
IdbKeyVal.set("key", "value", store)
  |> Js.Promise.then_(() => {
       Js.log("It worked!");
       Js.Promise.resolve();
     })
  |> Js.Promise.catch(err => {
       Js.log2("It failed!!", err);
       Js.Promise.resolve();
     });
get:
IdbKeyVal.get("key", store)
|> Js.Promise.then_(value => {
     // logs: "value"
     Js.log(value);
     Js.Promise.resolve();
   });
keys:
IdbKeyVal.keys(store)
|> Js.Promise.then_(keys => {
     // logs: ["key"]
     Js.log(keys);
     Js.Promise.resolve();
   });
delete:
IdbKeyVal.delete("key", store)
|> Js.Promise.then_(keys => {
     Js.log("deleted");
     Js.Promise.resolve();
   });
clear:
IdbKeyVal.clear(store)
|> Js.Promise.then_(keys => {
     Js.log("cleared");
     Js.Promise.resolve();
   });

Keywords