🚀 DAY 1 OF LAUNCH WEEK: Reachability for Ruby Now in Beta.Learn more →
Socket
Book a DemoInstallSign in
Socket

@simmo/store

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@simmo/store

JavaScript utility that provides a simple data store.

latest
Source
npmnpm
Version
0.0.1
Version published
Weekly downloads
1
-75%
Maintainers
1
Weekly downloads
 
Created
Source

Store

Travis npm downloads License

JavaScript utility that provides a simple data store.

Install

NPM

npm install @simmo/store

Yarn

yarn add @simmo/store

Create a new store

import Store from '@simmo/store'

const store = new Store()

Returns a new store.

Config

You can optionally pass a set of options when creating a store.

beforeSet

Expects a function that returns a value. This value will be used instead of the value passed to set(). The function is provided a data object containing the following properties;

  • currentValue - Current value in the store, defaults to undefined
  • isNew - Boolean representing if the key is new
  • key - the key passed to set()
  • newValue - the value passed to set()

The example below would append the new value to the old.

const store = new Store({
  beforeSet: ({ currentValue, isNew, newValue }) => {
    return isNew ? [newValue] : [...currentValue, newValue]
  },
})

store.set('Names', 'Mike')
store.get('Names')
// => ['Mike']

store.set('Names', 'Bob')
store.get('Names')
// => ['Mike', 'Bob']

Methods

set(key, value)

Returns the value saved to the store.

store.set('Name', 'Mike')
// => 'Mike'

has(key)

Returns true if the key exists, false if not.

store.set('Name', 'Mike')

store.has('Name')
// => true

store.has(1234)
// => false

get(key)

Returns the key's value.

store.set('Name', 'Mike')
store.get('Name')
// => 'Mike'

delete(key)

If the key exists, the key/value pair is removed and true is returned. If the key does not exist, it returns false.

store.set('Name', 'Mike')

store.delete('Name')
// => true

store.delete('Something else')
// => false

clear()

Empties the store.

store.set('Name', 'Mike')

store.size
// => 1

store.clear()

store.size
// => 0

values()

Returns an array of values from the store.

store.set('Name', 'Mike')
store.set('Github', '@simmo')

store.values()
// => ['Mike', '@simmo']

keys()

Returns an array of the keys used in the store.

store.set('Name', 'Mike')
store.set('Github', '@simmo')

store.values()
// => ['Name', 'Github']

Properties

size

Returns the number of key/value pairs in the store.

store.set('Name', 'Mike')

store.size
// => 1

License

MIT © Mike Simmonds

Keywords

store

FAQs

Package last updated on 05 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts