From 54a546594df97484752d40e2d0d4c7eaea2e9e35 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Sun, 17 Mar 2024 16:44:32 +0100 Subject: [PATCH] Implemented the "init(session: )" initialiser for the ServiceConfiguration+Inits extension in the iTunes library. --- .../Extensions/JSONDecoder+Constants.swift | 22 ++++++++++++++++++ .../ServiceConfiguration+Inits.swift | 23 +++++++++++++++++++ .../iTunes/Kit/Extensions/URL+Constants.swift | 17 ++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 Libraries/iTunes/Kit/Extensions/JSONDecoder+Constants.swift create mode 100644 Libraries/iTunes/Kit/Extensions/ServiceConfiguration+Inits.swift create mode 100644 Libraries/iTunes/Kit/Extensions/URL+Constants.swift diff --git a/Libraries/iTunes/Kit/Extensions/JSONDecoder+Constants.swift b/Libraries/iTunes/Kit/Extensions/JSONDecoder+Constants.swift new file mode 100644 index 0000000..b5c5bed --- /dev/null +++ b/Libraries/iTunes/Kit/Extensions/JSONDecoder+Constants.swift @@ -0,0 +1,22 @@ +// +// JSONDecoder+Constants.swift +// ReviewsiTunesKit +// +// Created by Javier Cicchelli on 17/03/2024. +// Copyright © 2024 Röck+Cöde VoF. All rights reserved. +// + +import Foundation + +extension JSONDecoder { + + // MARK: Constants + static let `default` = { + let decoder = JSONDecoder() + + decoder.dateDecodingStrategy = .iso8601 + + return decoder + }() + +} diff --git a/Libraries/iTunes/Kit/Extensions/ServiceConfiguration+Inits.swift b/Libraries/iTunes/Kit/Extensions/ServiceConfiguration+Inits.swift new file mode 100644 index 0000000..50ec996 --- /dev/null +++ b/Libraries/iTunes/Kit/Extensions/ServiceConfiguration+Inits.swift @@ -0,0 +1,23 @@ +// +// ServiceConfiguration+Inits.swift +// ReviewsiTunesKit +// +// Created by Javier Cicchelli on 17/03/2024. +// Copyright © 2024 Röck+Cöde VoF. All rights reserved. +// + +import Foundation +import ReviewsFeedKit + +extension ServiceConfiguration { + + // MARK: Initialisers + init(session: URLSessionConfiguration = .ephemeral) { + self.init( + host: .iTunes, + session: session, + decoder: .default + ) + } + +} diff --git a/Libraries/iTunes/Kit/Extensions/URL+Constants.swift b/Libraries/iTunes/Kit/Extensions/URL+Constants.swift new file mode 100644 index 0000000..d989801 --- /dev/null +++ b/Libraries/iTunes/Kit/Extensions/URL+Constants.swift @@ -0,0 +1,17 @@ +// +// URL+Constants.swift +// ReviewsiTunesKit +// +// Created by Javier Cicchelli on 17/03/2024. +// Copyright © 2024 Röck+Cöde VoF. All rights reserved. +// + +import Foundation +import ReviewsFoundationKit + +extension URL { + + // MARK: Constants + static let iTunes: URL = .init(string: "https://itunes.apple.com") ?? .bitBucket + +}