[email protected]
Twitter
LinkedIn
YouTube
GitHub
  • Services
  • Blog
  • Repositories
  • GitHub
  • Resume
  • Contact
Product was added to your cart

Cart

Dexie.js: A simple and robust library for indexedDB (HTML5 Storage)

July 16, 2015Front-Endjfadev

Dexie.js is a simple and concise library to work with the “Indexed Database API” or IndexedDB.

IndexedDB it is a way of storing data persistently in the browser. Given that allows the creation of web applications with enhanced query capabilities, These can be run both online and offline. IndexedDB is useful for applications that store a lot of data and applications that do not need a permanent connection to the Internet to work.

It can also be very useful to save data to local in a hybrid app for example.

Example of use:

/*
|---------------------------------------------
| Make a database connection
|---------------------------------------------
*/

var db = new Dexie('MyDatabase');

// Define a schema
db.version(1)
    .stores({
        friends: 'name, age'
    });

// Open the database
db.open()
    .catch(function(error){
        alert('Uh oh : ' + error);
    });


/*
|---------------------------------------------
| Then run some queries
|---------------------------------------------
*/

// Find some old friends
db.friends
    .where('age')
    .above(75)
    .each(function(friend){
        console.log(friend.name);
    });

// or make a new one
db.friends
    .add({
        name: 'Camilla',
        age: 25
    });

Web: dexie.org

Documentation: GitHub

Repository

A Minimalistic Wrapper for IndexedDB
https://github.com/dexie/Dexie.js
692 forks.
14,076 stars.
594 open issues.

Recent commits:
  • docs: clarify liveQuery comment per CodeRabbit feedbackliveQuery tracks Dexie reads, not Angular signal changes.The code works because @for track ensures fixed todoListId per component instance., David Fahlander
  • feat(angular): upgrade to Angular 21 with zoneless change detection- Upgrade from Angular 19 to Angular 21- Remove zone.js dependency (zoneless is default in Angular 21+)- Upgrade TypeScript to 5.9.x- Add @empty block to @for loops (CodeRabbit suggestion)- Use trimmed values when adding items (whitespace fix)- Use computed signal consistently in liveQuery- Wrap deleteList() in transaction for atomicity- Update README with zoneless explanation- Bundle size reduced from 285 kB to 255 kB, David Fahlander
  • Add zone.js import for Angular change detection, David Fahlander
  • Update Angular sample to v19 with modern patterns- Upgrade from Angular 12 to Angular 19- Use standalone components (no NgModule)- Use new control flow syntax (@for, @if, @empty)- Use signal inputs (input.required<T>())- Use toSignal() for reactive liveQuery integration- Use EntityTable for typed table access- Add proper TypeScript strict mode- Modern CSS stylingCloses #2173, David Fahlander
  • [email protected], David Fahlander

: Database, HTML5, IndexedDB, JS, Library, Storage, Web Developement

Services

  • Excel2chatGPT $10.00
  • Bot Tok $45.00 $40.00
  • Fix bugs in your PHP Symfony App $70.00 / hr
  • Fix bugs in your Wordpress Site $70.00 / hr
  • Tasks Automation using Node.js $70.00 / hr

Blog

  • How to Pay with a Bank Card on Cryptomus
  • Complete Beginner’s Guide to Bot Tok: Terminal Commands Explained
  • Top Site to Gain Views on TikTok
  • Jfa Whatsapp Chatbot
  • TikTok Bot

Explore

  • Free 10 Tiktok Likes
  • Free 2K TikTok Views
  • Free 100 TikTok Favorites
  • Free 300 TikTok Shares
  • Buy TikTok Views
  • Free 100 Instagram Likes
Twitter
LinkedIn
YouTube
GitHub

© 2013-2025 Jordi Fernandes Alves (@jfadev)