Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
A lightweight (<20kb bundled), zero-dependency, in-memory store and observable state manager, exclusively for Node.js, for when reactive state managers and their attendant boilerplate are overkill.
A lightweight (<20kb bundled), zero-dependency, in-memory store and observable state manager, exclusively for Node.js, for when reactive state managers and their attendant boilerplate are overkill.
npm install antiflux || yarn add antiflux
// js
import Antiflux from 'antiflux'
// ts
import Antiflux from 'antiflux/src/main
const store = new Antiflux([initialState], [options], [getters])
Add or update a key. Value can be of any type.
store.set('myKey', 'myValue')
Check if a key exists. Responds with a boolean.
store.has('myKey')
Get a key's value.
const myValue = store.get('myKey')
Supports dot notation.
store.set('deep.deeper.deepest', 'deeperest')
if (store.has('deep.deeper.deepest')) {
return store.get('deep.deeper.deepest')
}
Watch a key for changes. Available targets are set
, delete
, and clear
.
store.watch.on('set', e => {
const { key, value, prior } = e
console.log(`The key ${key} changed from ${prior} to ${value}`).
})
Delete a key from the state.
store.delete('myKey')
Dump all state data.
store.dump()
Clear all entries from the state.
store.clear()
Initialize the store with a predefined state.
const initialState = {
foo: 'bar',
baz: 'qux'
}
const store = new Antiflux(initialState)
Use the persist
option to specify a path at which to write data. Data will
be reloaded from disk at runtime.
const options = {
persist: '/tmp/antiflux.db'
}
const store = new Antiflux({}, options)
Encrypt persisted data at rest with AES-256-GCM encryption. Use the encryptKey
option to specify a 32-character encryption key.
const options = {
encryptKey: 'bWDlfrMxr1cnl4F4sdOvoKEOO9WY628a'
}
const store = new Antiflux({}, options)
Use the debug
option to print state changes to the console, e.g.: (Store) foo: bar ➟ baz
.
const options = {
debug: true
}
const store = new Antiflux({}, options)
Create custom getters to return modified data.
const getters = {
getLower(state) {
return state.get('foo.bar.baz').toLowerCase()
},
getUpper(state) {
return state.get('foo.bar.baz').toUpperCase()
}
}
const store = new Antiflux({}, {}, getters)
FAQs
A lightweight (<20kb bundled), zero-dependency, in-memory store and observable state manager, exclusively for Node.js, for when reactive state managers and their attendant boilerplate are overkill.
The npm package antiflux receives a total of 1 weekly downloads. As such, antiflux popularity was classified as not popular.
We found that antiflux demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.