Skip to content

Releases: AliSoftware/Dip

3.1.0

12 Dec 21:37
Compare
Choose a tag to compare

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 new resolve(tag:withArguments: … ) methods.
  • Deprecated register(tag:instance:) method in favor of register(.Singleton) { … }.

3.0.0

22 Nov 13:36
Compare
Choose a tag to compare
  • 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

22 Nov 13:35
Compare
Choose a tag to compare
  • Moved from generic tag parameter on container to Tag enum with String and Int 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

22 Nov 13:41
Compare
Choose a tag to compare
  • Improved README
  • Imrpoved discoverability using keywords in podspec

1.0.0

22 Nov 13:41
Compare
Choose a tag to compare

Dip

  • Added Unit Tests for SWAPIPersonProvider and SWAPIStarshipProvider

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 and func fetchOne instead of lazy var for readability

0.1.0

22 Nov 13:41
Compare
Choose a tag to compare

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 the PersonProviderAPI uses real pilots from swapi.co (SWAPIPersonProvider)

0.0.4

22 Nov 13:41
Compare
Choose a tag to compare

Example Project

  • Added SWAPIPersonProvider & SWAPIStarshipProvider that use http://swapi.co

0.0.3

22 Nov 13:40
Compare
Choose a tag to compare

Example Project

  • Revamped the Sample project to a more complete example (using StarWars API!)
  • Using Mixins & Traits in the Sample App for FetchableTrait and FillableCell

0.0.2

22 Nov 13:40
Compare
Choose a tag to compare

Dip

  • Switched from class methods to instance methods (#1). This allows you to have multiple DependencyContainers
  • Renamed the class from Dependency to DependencyContainer
  • Renamed the instanceFactory: parameter to factory:
  • Made the DependencyContainer generic of the type of tag. We are no longer limited to tags of type String, we can now use anything that's Equatable.

Initial version

22 Nov 13:40
Compare
Choose a tag to compare

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.