2023-04-11 22:14:40 +00:00
|
|
|
//
|
|
|
|
// DependencyService+Keys.swift
|
|
|
|
// Locations
|
|
|
|
//
|
|
|
|
// Created by Javier Cicchelli on 11/04/2023.
|
|
|
|
// Copyright © 2023 Röck+Cöde. All rights reserved.
|
|
|
|
//
|
|
|
|
|
2023-04-13 13:34:06 +00:00
|
|
|
import Core
|
2023-04-11 22:14:40 +00:00
|
|
|
import Dependency
|
|
|
|
import Persistence
|
|
|
|
import Remote
|
2023-04-13 13:34:06 +00:00
|
|
|
import UIKit
|
2023-04-11 22:14:40 +00:00
|
|
|
|
|
|
|
// MARK: - DependencyService+Keys
|
|
|
|
|
|
|
|
extension DependencyService {
|
2023-04-13 13:34:06 +00:00
|
|
|
var app: Core.Application {
|
|
|
|
get { Self[ApplicationKey.self] }
|
|
|
|
set { Self[ApplicationKey.self] = newValue }
|
|
|
|
}
|
|
|
|
|
|
|
|
var persistence: Persistence.Service {
|
2023-04-11 22:14:40 +00:00
|
|
|
get { Self[PersistenceKey.self] }
|
|
|
|
set { Self[PersistenceKey.self] = newValue }
|
|
|
|
}
|
|
|
|
|
2023-04-13 13:34:06 +00:00
|
|
|
var remote: Remote.Service {
|
2023-04-11 22:14:40 +00:00
|
|
|
get { Self[RemoteKey.self] }
|
|
|
|
set { Self[RemoteKey.self] = newValue }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// MARK: - Dependency keys
|
|
|
|
|
2023-04-13 13:34:06 +00:00
|
|
|
struct ApplicationKey: DependencyKey {
|
|
|
|
static var currentValue: Core.Application = UIApplication.shared
|
|
|
|
}
|
|
|
|
|
2023-04-11 22:14:40 +00:00
|
|
|
struct PersistenceKey: DependencyKey {
|
2023-04-13 13:34:06 +00:00
|
|
|
static var currentValue: Persistence.Service = PersistenceService.shared
|
2023-04-11 22:14:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
struct RemoteKey: DependencyKey {
|
2023-04-13 13:34:06 +00:00
|
|
|
static var currentValue: Remote.Service = RemoteService()
|
2023-04-11 22:14:40 +00:00
|
|
|
}
|