Implemented the "persistence" and "remote" properties of the DependencyService service in the Dependency+Keys extension.

This commit is contained in:
Javier Cicchelli 2023-04-11 23:52:52 +02:00
parent 83ed85b755
commit cb5b4743f2
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,35 @@
//
// DependencyService+Keys.swift
// Locations
//
// Created by Javier Cicchelli on 11/04/2023.
// Copyright © 2023 Röck+Cöde. All rights reserved.
//
import Dependency
import Persistence
import Remote
// MARK: - DependencyService+Keys
extension DependencyService {
var persistence: PersistenceService {
get { Self[PersistenceKey.self] }
set { Self[PersistenceKey.self] = newValue }
}
var remote: RemoteService {
get { Self[RemoteKey.self] }
set { Self[RemoteKey.self] = newValue }
}
}
// MARK: - Dependency keys
struct PersistenceKey: DependencyKey {
static var currentValue: PersistenceService = .shared
}
struct RemoteKey: DependencyKey {
static var currentValue: RemoteService = .init()
}

View File

@ -9,6 +9,7 @@
/* Begin PBXBuildFile section */
02031EBF29E5F949003C108C /* LocationsAddViewModeling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02031EBE29E5F949003C108C /* LocationsAddViewModeling.swift */; };
02031EC629E5FEE4003C108C /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02031EC529E5FEE4003C108C /* BaseViewController.swift */; };
02031EC929E60B29003C108C /* DependencyService+Keys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02031EC829E60B29003C108C /* DependencyService+Keys.swift */; };
46C3B7C629E5BF1500F8F57C /* LocationsListCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46C3B7C529E5BF1500F8F57C /* LocationsListCoordinator.swift */; };
46C3B7CB29E5CD3200F8F57C /* LocationsListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46C3B7CA29E5CD3200F8F57C /* LocationsListViewModel.swift */; };
46C3B7CF29E5D00E00F8F57C /* LocationsAddViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46C3B7CE29E5D00E00F8F57C /* LocationsAddViewModel.swift */; };
@ -122,6 +123,7 @@
/* Begin PBXFileReference section */
02031EBE29E5F949003C108C /* LocationsAddViewModeling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationsAddViewModeling.swift; sourceTree = "<group>"; };
02031EC529E5FEE4003C108C /* BaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = "<group>"; };
02031EC829E60B29003C108C /* DependencyService+Keys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DependencyService+Keys.swift"; sourceTree = "<group>"; };
46C3B7C529E5BF1500F8F57C /* LocationsListCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationsListCoordinator.swift; sourceTree = "<group>"; };
46C3B7CA29E5CD3200F8F57C /* LocationsListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationsListViewModel.swift; sourceTree = "<group>"; };
46C3B7CE29E5D00E00F8F57C /* LocationsAddViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationsAddViewModel.swift; sourceTree = "<group>"; };
@ -164,6 +166,14 @@
path = "View Controllers";
sourceTree = "<group>";
};
02031EC729E60ADB003C108C /* Extensions */ = {
isa = PBXGroup;
children = (
02031EC829E60B29003C108C /* DependencyService+Keys.swift */,
);
path = Extensions;
sourceTree = "<group>";
};
0276C96029E5F5DC000B62AF /* Protocols */ = {
isa = PBXGroup;
children = (
@ -290,6 +300,7 @@
children = (
46EB331A29E1CE04001D5EAF /* AppDelegate.swift */,
0276C96029E5F5DC000B62AF /* Protocols */,
02031EC729E60ADB003C108C /* Extensions */,
46C3B7C429E5BEE900F8F57C /* Coordinators */,
46C3B7C929E5CB8F00F8F57C /* Screens */,
02031EC429E5FEB1003C108C /* View Controllers */,
@ -508,6 +519,7 @@
46C3B7D829E5E55000F8F57C /* LocationsListCoordination.swift in Sources */,
46C3B7D629E5E50500F8F57C /* LocationsListViewModeling.swift in Sources */,
46C3B7CF29E5D00E00F8F57C /* LocationsAddViewModel.swift in Sources */,
02031EC929E60B29003C108C /* DependencyService+Keys.swift in Sources */,
46C3B7D129E5D06D00F8F57C /* LocationsAddViewController.swift in Sources */,
46C3B7CB29E5CD3200F8F57C /* LocationsListViewModel.swift in Sources */,
);