Tags: aermicioi/aedi
Tags
Added manual memory management mechanisms to component factories allo… …wing to chose allocation mechanism for created components using std.experimental.allocator Added castable wrapper that allows seamless cast from D scalar types. Added preffered reference, that will fallback to default dependency when preffered one is not available. Added circular dependency resolution for setter injection. Added gc registering container responsible to register for scanning components not allocated with gc. Refactored annotation based configuration into policy driven manner, allowing easy configuration of component scanning capabilities. Deprecated old code and annotation api. Refactored getters to be inout or const compatible. Component locator is automatically updated in property configurers and instance factories from generic factory.
Refactored code based configuration of containers. Added proxy container, that allows creation of containers with narrower scope than existing ones that are usable by existing ones transparently. Added ability to view location where registered components are registered that are involved in a chain of exceptions with new code api configuration. Added annotation based configuration example. Added type based, tuple based composite container.
Added ability to construct, inject any type of data in D. Added tutorials with examples for learning use of Aedi. Separated annotation and register api in submodules for better clarity. Implemented subscribable container that does allow to subscribe delegates on pre and post instantiaton steps. Factories now can be encapsulated in decorating factories in order to add additional behaviour to factories. Container have now an interface through which underlying factories can be extracted (for some manipulation with them, useful in conjunction with subscribable and switchable containers). Added unittests in separated modules per each real module. Simplified README.md.
Added annotation based configuration. Added additional logic in register based configuration, to handle composite containers. Added support for setting and autowiring of public fields, along with methods. Added factory method pattern to library. Added switchable container, that can be switched on and off (in offline mode no objects are served). Added a proof of concept implementation of proxy based container (though not working at the moment). Added and improved documentation. Added unittests, testing most of the code. Improved register based configuration handling of containers with data without dependencies. Improved error reporting, when a method mismatch, or incompatibility with configuration occurs. Implemented support for struct construction and configuration (now di containers are able to construct and wire them too). Updated examples to reflect new abilities. Removed Register struct from register based configuration, due to no need.