Version 1.0.3 released
This release adds a new property type choice which allows to define an schema property which allows different kind of objects. Also the handling for incoming and outgoing data was unified. In the following the changelog
Added new ChoiceType property which allows different kinds of objects as value
Property which allows different kind of complex types. It uses the JsonSchema "oneOf" and XSD "choice" element to generate the fitting schema definition.
Use same logic for traversing incoming and outgoing data
For parsing incoming and outgoing data we had in some places the same code which essentially goes recursively through an schema and makes an specific action on an value. We have created a schema traverser class which unifies this traversing through the schema. It is possible to add visitor classes which can act on the values.
Moved schema property methods assimilate and validate into seperate class
Because of the traversing class we could remove the assimilate and validate methods from each property and add proper visitor implementations.
Improved record factory factory class which uses now the object build to get arbitrary dependencies
Inside an record factory it is now possible to define dependencies through an
Implemented factory to convert requests into PSR-7 objects and vice versa
We have added an factory class to convert PSX http objects into PSR-7 objects. Therefor we use the zend-diactoros PSR-7 implementation.
Improved many test cases
Many test cases were extended and improved. Especially the property schema and controller schema api test cases.