Fox is a simple key value observable state manager
keep everything simple, share functions and data you want from a component either set
or get
and keep track of their update on other components!
every item has a key that you can access directly from fox
object or get it from the manager
fox
object is the big object that contains everything we publish
manager
is the functions that we use to interact with fox
npm i @nikandlv/fox
import it
import {fox,manager} from '@nikandlv/fox'
use it!
you can publish what ever you want
manager.publish(key,value)
manager.publish("test",()=> { console.log("test") })
manager.publish("test1","im just a string")
and you can unPublish them when you have to (when the component is not mounted anymore)
manager.unpublish(key)
manager.unpublish("test")
manager.unpublish("test2")
then you can get them where you want like so
manager.get(key,default_value)
manager.get("test",null)
manager.get("test2","test2 not found!")
the second parameter is the default value if the key does not exist
or if you are sure you can access it directly at
fox.key
fox.test
fox.test2
the key can also be as you want. for example
manager.publish("foo.bar","im just a string")
will be
fox.foo.bar
manager.onPublish(key,event_function)
runs once and asap when the key is available
manager.onUnpublish(key,event_function)
runs once and asap when the key is available
manager.onUpdate(key,event_function)
runs every time and asap when the key is updated