The following would be a nice addition to the project: A report of the unused portions of an object. This could be useful for refactoring or pruning dead code, for example.
Possible solutions
Data generation
Create a function which will traverse an object's properties and search for each resulting property path in observation data (output by getObservationsPromise() in src/store/observationStoreManager.coffee).
The client will pass this function the object being observed, and the observation data (as a Promise) to use for computing the unused portions of the object.
Perhaps optionally explore the prototype. Follow the solution for #13
Avoid traversing the contents of objects returned by property accessor functions, as these values are not actually part of the main object.
Be sure to traverse non-enumerable properties as well.
The output data could be either
A strict "negative" of observation data (see the wiki Architecture page), in that the data is in the same format as observation data, but each "event" actually signifies the absence of an event.
This would allow the data to be processed by existing Reporters, although not necessarily in a sensical way.
Similar to observation data, but with different event categories (add the list of categories to src/util/constants.coffee).
The data could probably still be processed by existing Reporters, provided that no reporters rely on the meanings of event categories. In any case, custom Reporters could be developed to read the data.
Visualizing the data
Consider adding a flag to the data indicating that it is a set of "absence observations". Reporters could be updated to process data with this flag in a more appropriate way.
Consider adding new types of Reporters to process absence data exclusively.
The following would be a nice addition to the project: A report of the unused portions of an object. This could be useful for refactoring or pruning dead code, for example.
Possible solutions
Data generation
getObservationsPromise()
insrc/store/observationStoreManager.coffee
).src/util/constants.coffee
).Visualizing the data