Map Watch
A javascript map object that can be watched for changes.
NB: Changes are only watched via the map set()/delete() methods. Deep watching of object properties is not good practice but can be achieved through other modules.
Install
npm install map-watch
To save to your package.json
npm install --save map-watch
Creating a Map
WatchMap objects are extensions of the native Map class in Javascript. You can use them in exactly the same way.
const WatchMap = ; let map = ; map; console // logs 'myvalue' to the console.
Watching items
To watch an item, simply use the watch() method.
map; map; // The console will log: 1 undefinedmap; // The console will log: 1 2
Watching once
To watch only the next change (like once() on events).
map; map; // The console will log: 1 undefinedmap; // Nothing happens
Always fire
If you need to fire a watch when the value is set or changes and fire straight away if already set then you can set the always property of the options object.
map; // Nothing happens yet as no watchers set map; map;
Options Object
You can supply and options object to watch() and once() as defined above.
- always boolean - Always fire watcher if valuealready set.
- context Object - Context for callbacks (the this applied).
Count Watchers
You can also count the watchers set on a key by calling countWatchers().
map; map; map; console // Logs 3.