Releases: AliSoftware/Dip
Releases · AliSoftware/Dip
3.1.0
New
- Added name for the first runtime argument in
resolve(tag:withArguments: … )
methods to make more clear separation between tag and factory runtime arguments.
Depreciations
resolve(tag:_: … )
methods are deprecated in favor of those newresolve(tag:withArguments: … )
methods.- Deprecated
register(tag:instance:)
method in favor ofregister(.Singleton) { … }
.
3.0.0
- Added support for factories with up to six runtime arguments.
#8, @ilyapuchka - Parameter
tag
is now named in all register/resolve methods. - Playground added to project.
#10, @ilyapuchka
2.0.0
- Moved from generic tag parameter on container to
Tag
enum withString
andInt
cases
#3, @ilyapuchka
This API change allows easier use of
DependencyContainer
and avoid some constraints. For a complete rationale on that change, see PR #3.
1.0.1
- Improved README
- Imrpoved discoverability using keywords in
podspec
1.0.0
Dip
- Added Unit Tests for
SWAPIPersonProvider
andSWAPIStarshipProvider
All work in progress is now done. I consider Dip
to be ready for production and with a stable API, hence the 1.0.0
version bump.
Example Project
- Using
func fetchIDs
andfunc fetchOne
instead oflazy var
for readability
0.1.0
Dip
- Dip is now Thread-Safe
- Added a configuration block so we can easily create the container and register the dependencies all in one expression:
let deps = DependencyContainer() {
$0.register() { x as Foo }
$0.register() { y as Bar }
$0.register() { z as Baz }
}
- Source Documentation
Example Project
- Code Cleanup
- Added more values to
HardCodedStarshipProvider
so it works when thePersonProviderAPI
uses real pilots from swapi.co (SWAPIPersonProvider
)
0.0.4
Example Project
- Added
SWAPIPersonProvider
&SWAPIStarshipProvider
that use http://swapi.co
0.0.3
Example Project
- Revamped the Sample project to a more complete example (using StarWars API!)
- Using Mixins & Traits in the Sample App for
FetchableTrait
andFillableCell
0.0.2
Dip
- Switched from class methods to instance methods (#1). This allows you to have multiple
DependencyContainers
- Renamed the class from
Dependency
toDependencyContainer
- Renamed the
instanceFactory:
parameter tofactory:
- Made the
DependencyContainer
generic of the type of tag. We are no longer limited to tags of typeString
, we can now use anything that'sEquatable
.
Initial version
Initial version to release the early proof of concept.
Ready to use, but API may change, documentation and unit tests are missing, and thread-safety is not guaranteed.