aboutsummaryrefslogtreecommitdiff
path: root/src/di_container
AgeCommit message (Collapse)Author
2023-10-04refactor!: remove factory & declare_default_factory macrosHampusM
BREAKING CHANGE: The factory and the declare_default_factory macros have been removed. They are no longer needed to use factories
2023-10-04refactor: remove unused import warning in async DI container moduleHampusM
2023-10-04refactor!: remove mutex in AsyncDIContainerHampusM
BREAKING CHANGE: Multiple async DI container binding builder & binding configurator functions are no longer async
2023-10-03refactor: remove inner mutability of blocking DI containerHampusM
2023-09-26test: make unit tests not return ResultHampusM
2023-09-19docs: add examples to DI container & related functionsHampusM
2023-09-18refactor!: make the async DI container not inside a ArcHampusM
BREAKING CHANGE: The async DI container is no longer inside of a Arc. This affects AsyncBindingBuilder, AsyncBindingScopeConfigurator, AsyncBindingWhenConfigurator & AsyncInjectable
2023-09-18refactor: replace threadsafe castable factory Fn impl with methodHampusM
2023-09-18refactor: make threadsafe castable factory take DI container paramHampusM
2023-09-17refactor: move castable factory to directory moduleHampusM
2023-09-17refactor!: make the blocking DI container not inside a RcHampusM
BREAKING CHANGE: The blocking DI container is no longer inside of a Rc. This affects BindingBuilder, BindingScopeConfigurator, BindingWhenConfigurator & Injectable
2023-09-17refactor: replace castable factory Fn impl with methodHampusM
2023-09-16refactor: make castable factory take DI container paramHampusM
2023-09-16refactor: move DI container get_binding_providable to other implHampusM
The get_binding_providable method doesn't need to be mocked so it should be moved to a non mocked impl
2023-09-16refactor!: remove async DI container prelude moduleHampusM
BREAKING CHANGE: The async DI container prelude module have been removed as it is no longer necessary seeing as the async DI container interface have been removed
2023-09-16refactor!: remove async DI container interfaceHampusM
BREAKING CHANGE: IAsyncDIContainer have been removed and multiple structs no longer take a DI container generic parameter
2023-09-14refactor!: remove blocking DI container prelude moduleHampusM
BREAKING CHANGE: The blocking DI container prelude module have been removed as it is no longer necessary seeing as the blocking DI container interface have been removed
2023-09-14refactor!: remove blocking DI container interfaceHampusM
BREAKING CHANGE: IDIContainer have been removed and multiple structs no longer take a DI container generic parameter
2023-09-12feat: make binding options name method constHampusM
2023-09-09refactor: remove unnecessary block in the BindingBuilder::to methodHampusM
2023-08-31refactor: pass around BindingOptions instead of nameHampusM
2023-08-20feat: expose DI container get_bound methods to public APIHampusM
2023-08-18refactor: replace use_dependency_history with a more generic macroHampusM
2023-08-16chore: fix warnings when only the async feature enabledHampusM
2023-08-16chore!: remove the factory macro async flagHampusM
BREAKING CHANGE: The factory macro's async flag has been removed
2023-08-15fix!: make the factory macro not change its inputHampusM
BREAKING CHANGE: The factory macro no longer - Changes the return type to be inside of a TransientPtr - Adds Send + Sync bounds when the threadsafe or the async flag is set - Changes the return type be inside of a BoxFuture when the async flag is set
2023-08-05refactor!: remove IDependencyHistoryHampusM
BREAKING CHANGE: IDependencyHistory has been removed as part of an effort to simplify the API. This affects IDIContainer, DIContainer, IAsyncDIContainer, AsyncDIContainer, Injectable, AsyncInjectable, BindingBuilder, AsyncBindingBuilder, BindingScopeConfigurator, BindingWhenConfigurator, AsyncBindingScopeConfigurator, AsyncBindingWhenConfigurator and DependencyHistory
2023-08-04refactor!: remove SomeThreadsafePtr & move variants to SomePtrHampusM
BREAKING CHANGE: SomeThreadsafePtr has been removed and it's variants have been moved to SomePtr
2023-08-04refactor!: remove async_closure macro from APIHampusM
BREAKING CHANGE: The async_closure macro has been removed. This is because it is completely out of scope for this crate
2023-08-02docs: fix wrong quotes in binding configuratorsHampusM
2023-08-01test: clean up binding configurator unit testsHampusM
2023-01-19refactor: remove unnecessary must_use attributesHampusM
2023-01-19refactor!: make binding builder & configurator methods take self ownershipHampusM
BREAKING CHANGE: The methods of BindingBuilder, AsyncBuilder, BindingScopeConfigurator, AsyncBindingScopeConfigurator, BindingWhenConfigurator, AsyncBindingWhenConfigurator now take ownership of self
2022-11-19refactor: reorganize non-public API itemsHampusM
2022-11-17refactor: use the async-lock crate instead of TokioHampusM
2022-11-07fix: make factories work again after Rust nightly-2022-11-07HampusM
2022-11-06refactor: fix unused self clippy lint in blocking DI containerHampusM
2022-11-06refactor: improve cast error handlingHampusM
2022-10-30docs: add sealed notices to DI container interfacesHampusM
2022-10-29refactor!: add dependency history typeHampusM
BREAKING CHANGE: Binding builders & configurators now take dependency history type arguments, the DetectedCircular variant of InjectableError now contains a dependency history field & the injectable traits take dependency history instead of a Vec
2022-10-24test: add binding configurator unit testsHampusM
2022-10-24refactor: rename DI container binding map to DI container storageHampusM
2022-10-23test: add binding builder unit testsHampusM
2022-10-23refactor!: reduce DI container couplingHampusM
BREAKING CHANGE: You now have to import the DI containers's interfaces to use the DI containers's methods
2022-10-09test: add more unit testsHampusM
2022-10-09refactor!: reorganize DI containersHampusM
BREAKING CHANGE: DIContainer, AsyncDIContainer & the binding structs have been relocated