lmk
Simple cross-file/cross-class data manager.
npm i lmk
or yarn add lmk
Import it:
const lmk = require('lmk')
import * as lmk from 'lmk'
How to use it
To set
a value at a path:
lmk.set('my_data.my_key').to('my_value')
Our base object is now equal to:
{
my_data: {
my_key: 'my_value'
}
}
To get
a value at a path:
lmk.get('my_data.my_key') // => 'my_value'
lmk.get('my_data') // => {my_key: 'my_value'}
lmk.get('fake_key') // => undefined
lmk.get('fake_key', 'my_default_value') // => 'my_default_value'
To listen for when
a value at a path isChanged
:
lmk.when('my_data.my_key').isChanged(newValue => {
console.log(newValue)
})
To end a subscription:
const unsubscribe = lmk.when(...).isChanged(...)
// later, when we don't want to hear about changes anymore
unsubscribe()
To remove
a value:
lmk.remove('some_key') // deletes anything at 'some_key'