Skip to content

restuwahyu13/node-disk-storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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