QuickServiceLocator

0.1

A simple service locator for Swift
frankois944/QuickServiceLocator

What's New

0.1: Just stay quick

2024-08-18T12:44:02Z

First release and it's already in production.

QuickServiceLocator

A quick service locator for the Apple platform, made to be the easiest and simplest way to use

The quick way

Register/resolve from a property wrapper

// registering and resolving
@QuickSL(register: DummyService())
var dummyService: DummyServiceProtocol
// even
@QuickSL(register: DummyService())
var dummyTest2: DummyService
// only resolving
@QuickSL var dummyService: DummyServiceProtocol

or

// registering
QuickServiceLocator.register(DummyServiceProtocol.self, DummyService())
// resolving
let instance: DummyServiceProtocol = QuickServiceLocator.locate()

Unregister the service

QuickServiceLocator.unregister(DummyServiceProtocol.self)

Check the presence of the service

QuickServiceLocator.isRegister(DummyServiceProtocol.self)

Behavior

By default, every services are registered in a lazySharedInstance mode, it means the DummyService will be created during the resolving step as a singleton.

This behavior can be set during the registering step.

@QuickSL(register: DummyService(), mode: .newInstance)
var dummyService: DummyServiceProtocol
// or
QuickServiceLocator.register(DummyServiceProtocol.self,
                                mode: .newInstance,
                                DummyService())

Description

  • Swift Tools 5.10.0
View More Packages from this Author

Dependencies

  • None
Last updated: Wed May 28 2025 18:33:05 GMT-0900 (Hawaii-Aleutian Daylight Time)