@chenyfan/cache-db
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/chenyfan__cache-db package

1.1.3 • Public • Published

Cache-DB

A common Key/Value database working on both DOM/WebWorker with auto type conversion , based on CacheStorage.

> const DBWithNoAuto = new CacheDB("DB1","PREFIX1") //this instance will not auto convert type
< undefined

> const DBWithAuto = new CacheDB("DB1","PREFIX2",{auto:1}) //this instance will auto convert type
< undefined

< await DBWithNoAuto.write("key1","content1")
> 1

< await DBWithAuto.write("key1","content2")
> 1

< await DBWithNoAuto.read("key1")
> "content1"

< await DBWithAuto.read("key1")
> "content2"

< await DBWithNoAuto.write("key1",{"123":456}) //CacheDB instances without type conversion require manual type conversion when writing, otherwise they will be directly converted to a '[object object]' string
> 1

< await DBWithNoAuto.read("key1") //CacheDB instances without type conversion also need to manually convert the type when reading, otherwise they will be returned in string form
> '[object Object]' 

< await DBWithNoAuto.write("key1",{"123":456},{type:"json"}) //You can specify the type when writing to avoid manual conversion
> 1

< await DBWithNoAuto.read("key1",{type:"json"}) //You can also specify the type when reading to avoid manual conversion
> {123: 456}

< await DBWithAuto.write("key1",{"123":789}) //CacheDB instances with type conversion do not require manual type conversion when writing.It will automatically convert the type according to the content.
> 1

< await DBWithAuto.read("key1") //Auto-Convert worked in both reading and writing.
> {123: 789}

You can import this script as:

import CacheDB from '@chenyfan/cache-db' //WebWorker With Webpack
importScripts('https://unpkg.com/@chenyfan/cache-db') //WebWorker With JSDelivr CDN
//or
importScripts('https://registry.npmmirror.com/@chenyfan/cache-db/latest/files') //WebWorker With NPM Mirror CDN
<script src="https://unpkg.com/@chenyfan/cache-db"></script> <!--In DOM-->

ANY WAY,DO NOT USE latest IN PRODUCTION!

Compatibility

CacheStorage has much much much stronger compatibility than WebWorker. And CacheDB is designed for both WebWorker and DOM.

So CacheDB will never check if CacheStorage API in browser or not.

If you just want to find a simple Key/Value database in DOM, please use localForge

CacheDB's compatibility is based on CacheStorage's compatibility.

CacheDB's compatibility

LICENSE

MIT License

Package Sidebar

Install

npm i @chenyfan/cache-db

Weekly Downloads

221

Version

1.1.3

License

GPL-3.0-or-later

Unpacked Size

16.9 kB

Total Files

8

Last publish

Collaborators

  • chenyfan