It should be possible to provide an array of plugins when describing, comparing, formatting or diffing values. Each plugin should be called when describing a complex object, before objects are mapped to the internal classes by their tag. If a plugin returns null the next plugin should be tried (if any). Otherwise the return value is used.
Plugins should be provided the Complex base class so it can extend it. Perhaps we should also provide kathryn's version so it can handle compatibility issues.
The returned value should implement all the necessary methods for comparing, formatting and diffing.
It should be possible to provide an array of plugins when describing, comparing, formatting or diffing values. Each plugin should be called when describing a complex object, before objects are mapped to the internal classes by their tag. If a plugin returns
null
the next plugin should be tried (if any). Otherwise the return value is used.Plugins should be provided the
Complex
base class so it can extend it. Perhaps we should also providekathryn
's version so it can handle compatibility issues.The returned value should implement all the necessary methods for comparing, formatting and diffing.