Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

node-disk-storage

restuwahyu131.3kMIT0.0.6TypeScript support: included

fast and secure local storage persistent data for node js

nds, node-disk-storage, nodejs, local, localstorage, session, local-storage, data-store, persistent-data, cache-storage, persistent, persistent-storage, cache-storage, persist, keyvalue, keyvaluestore, store, session-storage, disk-storage, node, node-storage, node-cache

readme

Node Disk Storage (NDS)

Build Status Coverage Status CodeFactor codebeat badge Codacy Badgenode-current npm PRs Welcome

node-disk-storage a simple fast and secure local storage for nodejs, you can store any data using key and value, and then your data will be encrypt to be like this �+�)data|ZGF0YXxqb2huK2RvZV5eXiQwfDFd^^^$0|1.

example-nds-work

Installation

$ npm install node-disk-storage -S or yarn add node-disk-storage -S

API Reference

  • Node Disk Storage Options Property

    • minSize limit data size, before saving into disk, default value to 1MB
    • maxSize limit data size, before saving into disk, default value to 25MB
  • set(key: string, value: any): Promise<boolean | undefined>

    set data using key and value, into disk

  • get(key: string): Promise<any | undefined>

    get specific data using key, after saving data into disk

  • key(key: string): Promise<boolean | undefined>

    get specific key, after saving data into disk

  • remove(key: string): Promise<boolean | undefined>

    remove specific data already exist using key, after saving data into disk

  • clear(): Promise<boolean | undefined>

    clear all keys exist, after saving data into disk

  • keys(): Promise<string[] | undefined>

    get all keys exist, after saving data into disk

Example Usage

  • Example Usage Using CommonJs With JavaScript
    const { NodeDiskStorage } = require('node-disk-storage')
    
    const nds = new NodeDiskStorage()
    
    ;(async () => {
        await nds.set('user', {
            id: 1,
            name: 'Leanne Graham',
            username: 'Bret',
            email: 'Sincere@april.biz',
            address: {
                street: 'Kulas Light',
                suite: 'Apt. 556',
                city: 'Gwenborough',
                zipcode: '92998-3874',
                geo: { lat: '-37.3159', lng: '81.1496' }
            },
            phone: '1-770-736-8031 x56442',
            website: 'hildegard.org',
            company: {
                name: 'Romaguera-Crona',
                catchPhrase: 'Multi-layered client-server neural-net',
                bs: 'harness real-time e-markets'
            }
        })
        await nds.get('user')
        await nds.key('user')
        await nds.keys()
        await nds.remove('user')
        await nds.clear()
    })()
  • Example Usage Using CommonJs With JavaScript And Options
     const { NodeDiskStorage } = require('node-disk-storage')
    
     const nds = new NodeDiskStorage({ minSize: 5, maxSize: 30 })
    
     ;(async () => {
       await nds.set("user", {
          id: 1,
          name: 'Leanne Graham',
          username: 'Bret',
          email: 'Sincere@april.biz',
          address: {
            street: 'Kulas Light',
            suite: 'Apt. 556',
            city: 'Gwenborough',
            zipcode: '92998-3874',
            geo: { lat: '-37.3159', lng: '81.1496' }
          },
          phone: '1-770-736-8031 x56442',
          website: 'hildegard.org',
          company: {
            name: 'Romaguera-Crona',
            catchPhrase: 'Multi-layered client-server neural-net',
            bs: 'harness real-time e-markets'
          }
        })
       await nds.get("user")
       await nds.key('user')
       await nds.keys()
       await nds.remove("user")
       await nds.clear()
  • Example Usage Using ESM With JavaScript
     import { NodeDiskStorage } from 'node-disk-storage'
    
     const nds = new NodeDiskStorage()
    
     ;(async () => {
       await nds.set("user", {
          id: 1,
          name: 'Leanne Graham',
          username: 'Bret',
          email: 'Sincere@april.biz',
          address: {
            street: 'Kulas Light',
            suite: 'Apt. 556',
            city: 'Gwenborough',
            zipcode: '92998-3874',
            geo: { lat: '-37.3159', lng: '81.1496' }
          },
          phone: '1-770-736-8031 x56442',
          website: 'hildegard.org',
          company: {
            name: 'Romaguera-Crona',
            catchPhrase: 'Multi-layered client-server neural-net',
            bs: 'harness real-time e-markets'
          }
        })
       await nds.get("user")
       await nds.key('user')
       await nds.keys()
       await nds.remove("user")
       await nds.clear()
  • Example Usage Using ESM With JavaScript And Options
     import { NodeDiskStorage } from 'node-disk-storage'
    
     const nds = new NodeDiskStorage({ minSize: 5, maxSize: 30 })
    
     ;(async () => {
       await nds.set("user", {
          id: 1,
          name: 'Leanne Graham',
          username: 'Bret',
          email: 'Sincere@april.biz',
          address: {
            street: 'Kulas Light',
            suite: 'Apt. 556',
            city: 'Gwenborough',
            zipcode: '92998-3874',
            geo: { lat: '-37.3159', lng: '81.1496' }
          },
          phone: '1-770-736-8031 x56442',
          website: 'hildegard.org',
          company: {
            name: 'Romaguera-Crona',
            catchPhrase: 'Multi-layered client-server neural-net',
            bs: 'harness real-time e-markets'
          }
        })
       await nds.get("user")
       await nds.key('user')
       await nds.keys()
       await nds.remove("user")
       await nds.clear()

Testing

  • Testing Via Local

    npm test or make test
  • Testing Via Local And Build

    make build
  • Testing Via Docker

    docker build -t node-disk-storage or make dkb tag=node-disk-storage

Bugs

For information on bugs related to package libraries, please visit here

Contributing

Want to make node-disk-storage more perfect ? Let's contribute and follow the contribution guide.

License

BACK TO TOP