2018-12-30 06:57:06 +00:00
|
|
|
//
|
|
|
|
// StoreSearch.swift
|
|
|
|
// MasKit
|
|
|
|
//
|
|
|
|
// Created by Ben Chatelain on 12/29/18.
|
|
|
|
// Copyright © 2018 mas-cli. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
/// Protocol for searching the MAS catalog.
|
|
|
|
public protocol StoreSearch {
|
|
|
|
func lookupURLString(forApp: String) -> String?
|
2019-01-02 05:44:33 +00:00
|
|
|
func lookup(app appId: String) throws -> SearchResult?
|
2018-12-30 06:57:06 +00:00
|
|
|
}
|
2019-01-05 00:54:00 +00:00
|
|
|
|
|
|
|
extension StoreSearch {
|
|
|
|
/// Builds the lookup URL for an app.
|
|
|
|
///
|
|
|
|
/// - Parameter appId: MAS app identifier.
|
|
|
|
/// - Returns: A string URL for the lookup service or nil if the appId can't be encoded.
|
|
|
|
public func lookupURLString(forApp appId: String) -> String? {
|
2019-01-06 19:26:08 +00:00
|
|
|
guard let urlEncodedAppId = appId.URLEncodedString else { return nil }
|
|
|
|
return "https://itunes.apple.com/lookup?id=\(urlEncodedAppId)"
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Builds the lookup URL for an app.
|
|
|
|
///
|
|
|
|
/// - Parameter appId: MAS app identifier.
|
|
|
|
/// - Returns: A string URL for the lookup service or nil if the appId can't be encoded.
|
|
|
|
public func lookupURL(forApp appId: String) -> URL? {
|
|
|
|
guard let urlString = lookupURLString(forApp: appId) else { return nil }
|
|
|
|
return URL(string: urlString)
|
2019-01-05 00:54:00 +00:00
|
|
|
}
|
|
|
|
}
|