SwinjectSafeAuto 1.0.1

SwinjectSafeAuto 1.0.1

Maintained by Suyeol Jeon.



 
Depends on:
Swinject~> 2.6
WeakMapTable~> 1.0
 

  • By
  • Suyeol Jeon

SwinjectSafeAuto

SwinjectSafeAuto allows to auto-register services to the container and verify the required services are properly registered.

This project is inspired by SwinjectAutoregistration.

Features

  • Auto-register services to the container.
  • Verify that required services are properly registered to the container.

Usage

container.autoregister(NetworkingProtocol.self, initializer: Networking.init)
container.autoregister(MyServiceProtocol.self, initializer: MyService.init)

// This method will throw an error in DEBUG build when the required services are not properly reigstered.
try! container.verify()

// You can safely resolve services after verification.
container.resolve(MyServiceProtocol.self)

Limitation

  • SwinjectSafeAuto cannot verify manually-registered services using container.register().
  • SwinjectSafeAuto cannot be used with SwinjectAutoregistration in the same project.

License

SwinjectSafeAuto is under MIT license. See the LICENSE file for more info.