aboutsummaryrefslogtreecommitdiff
path: root/src/di_container.rs
AgeCommit message (Collapse)Author
2022-09-24refactor!: remove repetition of declaring factory interfacesHampusM
BREAKING CHANGE: The to_default_factory method of the blocking and async DI containers now expect a function returning another function
2022-09-23refactor: make the async & non-async DI container bind methods must_useHampusM
2022-09-18refactor: add put factory return types in TransientPtr automaticallyHampusM
2022-09-18test: move some factory function types to type aliasesHampusM
2022-09-17feat!: allow factories access to DI containerHampusM
BREAKING CHANGE: Factory types should now be written with the Fn trait instead of the IFactory trait and the to_factory & to_default_factory methods of BindingBuilder now expect a function returning a factory function
2022-09-17refactor!: make DI container be used inside of a RcHampusM
BREAKING CHANGE: The DI container is to be used inside of a Rc & it also no longer implements Default
2022-09-03refactor: improve DI container cast errorsHampusM
2022-08-29feat: implement async functionalityHampusM
2022-08-28style: add rustfmt config optionsHampusM
2022-08-27feat: implement named bindingsHampusM
2022-08-27refactor!: limit FactoryPtr & AnyFactory to the factory featureHampusM
BREAKING CHANGE: FactoryPtr has been limited to the factory feature
2022-08-27docs: update the DI container exampleHampusM
2022-08-27refactor!: make DI container have single get functionHampusM
BREAKING CHANGE: The DI container get_singleton & get_factory functions have been replaced by the get function now returning a enum
2022-08-22refactor!: move specifying binding scope to a binding scope configuratorHampusM
BREAKING CHANGE: Specifying the scope of a DI container binding is now done with a binding scope configurator
2022-08-21refactor!: change errors to be more saneHampusM
BREAKING CHANGE: Major improvements have been made to error types and the error_stack crate is no longer used
2022-08-21feat: allow bind interface to default factoryHampusM
This commit will allow interface traits to be bound to default factories. Default factories being factories that doesn't take any arguments
2022-08-21docs: correct examplesHampusM
2022-08-21test: correct DI container bind testsHampusM
2022-08-21feat!: prevent binding the same interface more than onceHampusM
BREAKING CHANGE: The 'to' and 'to_factory' methods of BindingBuilder now return 'Result'
2022-08-02docs: fix DI container module documentationHampusM
2022-08-02test: reduce repetition in DI container testsHampusM
2022-08-02feat: add detection and prevention of circular dependenciesHampusM
2022-08-01docs: add factory feature noticesHampusM
2022-08-01docs: add doc comments & deny missing docsHampusM
2022-07-31refactor: tidy up DI container internalsHampusM
2022-07-31feat: implement binding singletonsHampusM
2022-07-31refactor!: rename InterfacePtr to TransientPtrHampusM
BREAKING CHANGE: InterfacePtr has been renamed to TransientPtr
2022-07-27refactor: add back Intertrait tests & Rc supportHampusM
2022-07-24perf: use ahash in DI containerHampusM
2022-07-22refactor: make factories an optional featureHampusM
2022-07-20refactor: reorganize folder hierarchyHampusM