Resolver

Swift Ultralight Dependency Injection / Service Locator framework

MIT License

Stars
2.1K
Committers
25

Bot releases are visible (Hide)

Resolver - Apple mandated privacy manifest Latest Release

Published by hmlongco 6 months ago

  • Adds Apple mandated privacy manifest
Resolver - Container Scopes and Registration Updates

Published by hmlongco about 3 years ago

  • Added .container scope that lives for the lifetime of a given Resolver container (PR#131)
  • Added init(child:) to replace deprecated init(parent:)
  • Updated ResolverRegistration to give ResolverOptions the ability to add new behaviors to a given registration (Based on PR#130)
  • Updates to ResolverRegistration so external services aren't poking around its internals
  • Removed deprecated scopes from Resolver base class.
Resolver - Resolver.Name conformance to Hashable and Equatable

Published by hmlongco about 3 years ago

  • Resolver.Name conformance to Hashable and Equatable
Resolver - Performance enhancements and bug fixes

Published by hmlongco about 3 years ago

  • Reduced code size and improved performance
  • Update registration cache key mechanism to prevent possible registration overwrites
  • Minor documentation improvements, changes, typos, etc..
Resolver - Add Child Containers

Published by hmlongco over 3 years ago

  • Adds support for child containers
Resolver - Threading issue in property wrappers

Published by hmlongco over 3 years ago

  • Fix threading issue in LazyInjected and WeakLazyInjected property wrappers
  • Fix argument passing in .implements
  • Update project for Xcode 12.5
  • Update Swift class deprecation
Resolver - Argument forwarding fix

Published by hmlongco over 3 years ago

  • Fix bug forwarding new argument structure from factory to factory - PR#89
Resolver - Update thread safety and lock/unlock strategies

Published by hmlongco almost 4 years ago

  • Updated registration and resolution lock/unlock stratagies for better thread safety and performance.
  • Updated automatic service registration code for better performance and to use new locking mechanisms.
  • Moved default scopes from Resolver to ResolverScope for better autocompletion.
  • Added .name(fromString:) to Resolver.Name to handle passing string variables.
Resolver - Add Name Spaces

Published by hmlongco almost 4 years ago

  • Add Name spaces - Based on PR#83
  • Fix protocol issue in WeakLazyInjected property wrapper
  • Update Resolver.reset to also reset known caches.
Resolver - Release 1.2.1 / 1.2.0

Published by hmlongco almost 4 years ago

1.2.1

  • Fix autorelease bug in WeakLazyInjected property wrapper

1.2

  • Rewrite argument passing code to support multiple arguments
  • Add @WeakLazyInjected property wrapper
  • Update Cyclic Dependencies and Annotation documentation
  • Fix to build on Linux - PR#75
  • Fix to build dynamically using SPM - PR#71
  • Fix issue with hierarchical containers - PR#50
  • Add tvOS deployment target for Cocoapods - PR#56
Resolver - Add Reset function

Published by hmlongco over 4 years ago

  • Add Resolver.reset() function to reset Resolver to original state
Resolver - OptionalInjected property wrapper

Published by hmlongco over 4 years ago

  • Add @OptionalInjected property wrapper
  • Fixed Empty CURRENT_PROJECT_VERSION variable.
  • Mark framework to use application extension safe api only
  • Use fatalError message instead of print
Resolver - Add InjectedObject property wrapper for SwiftUI

Published by hmlongco almost 5 years ago

  • Add @InjectedObject property wrapper for SwiftUI support
  • Ensure proper initialization of pthread mutexes
  • Add missing public keyword to registerAllServices() method
  • Expand supported platforms to include macOS, tvOS, and watchOS
  • Set minimum supported platform on iOS to iOS 11
Resolver - Update project for Swift 5.1 and SPM

Published by hmlongco almost 5 years ago

  • Update project for Swift 5.1 and SPM
  • Add @Injected property wrapper for Swift 5.1
  • Add @LazyInjected property wrapper for Swift 5.1
  • Revise unit tests for more code coverage
  • Make static registration function public and add concurrency mutexes
  • Add type specification to defaultScope
  • Fix initializers on scope types to allow public instantiation.
  • Allow clearing the shared cache
Resolver - Update project for Swift 4.2

Published by hmlongco over 5 years ago

  • Update project for Swift 4.2
  • Ensure all tests pass under new environment

Note project file changes only. No code changes over 1.0.6.

Resolver - Fix bug resolving shared protocols

Published by hmlongco over 5 years ago

  • Fix bug resolving shared protocols
  • Add passed resolver option to factories
Resolver - Minor improvements

Published by hmlongco over 6 years ago

  • Changed registrationsNeeded to performInitialRegistrations closure.
  • Value types not cached during graph resolution.
Resolver - Code size optimizations

Published by hmlongco over 6 years ago

Resolver - Fix issue with caching named instances

Published by hmlongco over 6 years ago

Fix issue with caching named instances.

Resolver - Debug support for optionals

Published by hmlongco over 6 years ago