idb-queue

A simple priority queue built on top of IndexedDB

Usage no npm install needed!

<script type="module">
  import idbQueue from 'https://cdn.skypack.dev/idb-queue';
</script>

README

idb-queue

npm version CI

Installation

npm install idb-queue

Usage

WIP

import {
  promisify,
  createStore,
  clear,
  push,
  peek,
  peekAll,
  peekBack,
  pop,
  shift,
  shiftAll,
} from 'idb-queue';

const retentionConfig = { maxNumber: 100, batchEvictionNumber: 10 };
const data = { key: Date.now(), value: {} };

await push(data, retentionConfig);
const shifted = await shift();

// Create your own store and key
const withStore = createStore('<dbName>', '<storeName>', '<key-can-be-sorted>');
const data = { '<key-can-be-sorted>': 1, value: {} };

await push(data, retentionConfig, withStore);
const shifted = await shift(1, withStore);
await clear(withStore);

Credit

Inspired by https://github.com/jakearchibald/idb-keyval