simplestorage

Laravel Query Builder-like API on top of IndexedDB

View simplestorage on NPM

Install

npm install @cuteminded/simplestorage

Quick Start

import { openDatabase } from "@cuteminded/simplestorage";

const db = await openDatabase({
  name: "app-db",
  version: 1,
  stores: {
    users: {
      keyPath: "id",
      autoIncrement: true,
      indexes: [{ name: "email", keyPath: "email", options: { unique: true } }],
    },
  },
});

await db.table("users").insert([
  { name: "lizzy", email: "[email protected]", age: 25 },
  { name: "Alex", email: "[email protected]", age: 26 },
]);

const users = await db.table("users").select("id", "name", "age").where("age", ">=", 25).orderBy("name", "asc").get();

console.log(users);

API

openDatabase(options)

Store config example:

{
  users: {
    keyPath: "id",
    autoIncrement: true,
    indexes: [
      { name: "email", keyPath: "email", options: { unique: true } }
    ]
  }
}

Query builder methods