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'