Skip to content

tatchi/bs-idb-keyval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 25, 2020
116ea42 · Apr 25, 2020

History

16 Commits
Mar 22, 2020
Jul 26, 2019
Jul 26, 2019
Apr 12, 2020
Apr 25, 2020
Apr 25, 2020
Mar 22, 2020

Repository files navigation

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();
   });