Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove the Product type name conflict #664

Merged
merged 1 commit into from
Nov 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Telephone/Product+SKProduct.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import StoreKit
import UseCases

extension Product {
extension UseCases.Product {
init(product: SKProduct, name: String, formatter: NumberFormatter) {
self.init(
identifier: product.productIdentifier,
Expand Down
5 changes: 3 additions & 2 deletions Telephone/SKPaymentQueueToStoreAdapter.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
//

import StoreKit
import UseCases

final class SKPaymentQueueToStoreAdapter {
private let queue: SKPaymentQueue
Expand All @@ -29,15 +30,15 @@ final class SKPaymentQueueToStoreAdapter {
}

extension SKPaymentQueueToStoreAdapter: Store {
func purchase(_ product: Product) throws {
func purchase(_ product: UseCases.Product) throws {
queue.add(SKPayment(product: try storeKitProduct(for: product)))
}

func restorePurchases() {
queue.restoreCompletedTransactions()
}

private func storeKitProduct(for product: Product) throws -> SKProduct {
private func storeKitProduct(for product: UseCases.Product) throws -> SKProduct {
if let result = products[product] {
return result
} else {
Expand Down
22 changes: 11 additions & 11 deletions Telephone/SKProductsRequestToProductsAdapter.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ import StoreKit
import UseCases

final class SKProductsRequestToProductsAdapter: NSObject {
private var products: [String: Product] = [:]
private var storeKitProducts: [Product: SKProduct] = [:]
private var products: [String: UseCases.Product] = [:]
private var storeKitProducts: [UseCases.Product: SKProduct] = [:]
private var request: SKProductsRequest?

private let expected: ExpectedProducts
Expand All @@ -34,11 +34,11 @@ final class SKProductsRequestToProductsAdapter: NSObject {
}

extension SKProductsRequestToProductsAdapter: Products {
var all: [Product] {
var all: [UseCases.Product] {
return Array(products.values)
}

subscript(identifier: String) -> Product? {
subscript(identifier: String) -> UseCases.Product? {
return products[identifier]
}

Expand All @@ -51,7 +51,7 @@ extension SKProductsRequestToProductsAdapter: Products {
}

extension SKProductsRequestToProductsAdapter: StoreKitProducts {
subscript(product: Product) -> SKProduct? {
subscript(product: UseCases.Product) -> SKProduct? {
return storeKitProducts[product]
}
}
Expand All @@ -64,17 +64,17 @@ extension SKProductsRequestToProductsAdapter: SKProductsRequestDelegate {
}
}

private func productMaps(with products: [SKProduct]?) -> ([String: Product], [Product: SKProduct]) {
private func productMaps(with products: [SKProduct]?) -> ([String: UseCases.Product], [UseCases.Product: SKProduct]) {
if let products = products {
return productMaps(with: products)
} else {
return ([:], [:])
}
}

private func productMaps(with products: [SKProduct]) -> ([String: Product], [Product: SKProduct]) {
var idToProduct: [String: Product] = [:]
var productToSKProduct: [Product: SKProduct] = [:]
private func productMaps(with products: [SKProduct]) -> ([String: UseCases.Product], [UseCases.Product: SKProduct]) {
var idToProduct: [String: UseCases.Product] = [:]
var productToSKProduct: [UseCases.Product: SKProduct] = [:]
let formatter = NumberFormatter()
formatter.numberStyle = .currency
for skProduct in products {
Expand Down Expand Up @@ -125,8 +125,8 @@ private func descriptionOf(_ error: Error) -> String {
}
}

private func identifierToProduct(fromProducts products: [Product]) -> [String: Product] {
var result: [String: Product] = [:]
private func identifierToProduct(fromProducts products: [UseCases.Product]) -> [String: UseCases.Product] {
var result: [String: UseCases.Product] = [:]
products.forEach { result[$0.identifier] = $0 }
return result
}
2 changes: 1 addition & 1 deletion Telephone/StoreKitProducts.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ import StoreKit
import UseCases

protocol StoreKitProducts {
subscript(product: Product) -> SKProduct? { get }
subscript(product: UseCases.Product) -> SKProduct? { get }
}