This PR contains the work done to cleans up the library after the Swift 6.2 migration: drops the legacy conditional-compilation paths, hardens the OpenAPI specification, removes boilerplate from the live client, and makes the live test suite resilient to changes in the upstream service data.
* Swift 6.2 baseline
* Adopted swift-tools-version: 6.2, which allowed removing every #if swift(>=6.0) / #if swift(>=6.2) branch and natural-language test names are now the only code paths.
* `AmiiboClient` client now refines `Sendable`, and both `AmiiboLiveClient` and `AmiiboService` conform to it, so instances can be shared across concurrency domains.
* Live client
* Extracted a generic `perform(_:)` helper that wraps every generated API call and funnels transport errors through the existing error mapper — replaces six repeated do/catch blocks and lets the private fetch* methods use typed throws end-to-end.
* Added the internal `KeyNamePayload` protocol and a generic makeModels(from:), collapsing the four near-identical mapping/sorting blocks for amiibo series, types, game characters and game series into one.
* The server URL is now resolved once into a static let constant instead of on every initialization.
* Improved error mapping: URLError.cancelled → .cancelled, .cannotParseResponse → .decoding, and .dataNotAllowed, .internationalRoamingOff, .secureConnectionFailed now map to .notAvailable.
* Simplified the Amiibo.Platform initializer ([Amiibo+Platform.swift](vscode-webview://1m6rk4uhpaukb4hrbp3j54p77iq693fq2ql7o9oup2pca1omf7f6/Sources/AmiiboService/Public/Models/Amiibo/Amiibo+Platform.swift)) using optional chaining and ?? [] instead of nested guards and immediately-invoked closures.
* Set the en_US_POSIX locale on both fixed-format date formatters so the user's locale or 12/24-hour setting can no longer break parsing.
* OpenAPI specification
* Replaced the shared Tuple schema with explicit per-type schemas (AmiiboSeries, AmiiboType, GameCharacter, GameSeries), so the generated code exposes real properties instead of allOf wrappers with .value1 accessors.
* Extracted named list schemas (AmiiboList, AmiiboSeriesList, …) for the wrapper payloads, which turns the generated .case2 enum cases into readable .AmiiboSeriesList cases.
* Added validation patterns and length bounds to the id, head, tail and key query parameters, and collapsed the redundant pattern/minLength/maxLength triplets on head/tail into ^[0-9a-fA-F]{8}$.
* Extracted the shared InternalServerError response, replacing the five inline 500 descriptions.
* Documented the two non-standard date/time decoding behaviours (date-only strings for release dates, offset-less timestamps for lastUpdated) and why the optional amiibo wrapper property must stay optional.
* Corrected the info.version value from v1.0.0 to 1.0.0.
* ⚠️ Breaking changes
* Minimum Swift version raised from 5.10 to 6.2.
* `AmiiboServiceError.unknown` now carries a String description of the underlying error.
* `AmiiboClient` requires Sendable conformance, so existing custom mock clients must be Sendable.
Reviewed-on: #28
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
1 line
22 KiB
JSON
1 line
22 KiB
JSON
{"includedArchiveIdentifiers":["AmiiboService"],"interfaceLanguages":{"swift":[{"children":[{"title":"Service","type":"groupMarker"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/init(client:)","title":"init(client: some AmiiboClient)","type":"init"},{"title":"Amiibo endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiibos(_:)","title":"func getAmiibos(AmiiboFilter) async throws(AmiiboServiceError) -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiiboseries(_:)","title":"func getAmiiboSeries(AmiiboSeriesFilter) async throws(AmiiboServiceError) -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiibotypes(_:)","title":"func getAmiiboTypes(AmiiboTypeFilter) async throws(AmiiboServiceError) -> [AmiiboType]","type":"method"},{"title":"Game endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getgamecharacters(_:)","title":"func getGameCharacters(GameCharacterFilter) async throws(AmiiboServiceError) -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getgameseries(_:)","title":"func getGameSeries(GameSeriesFilter) async throws(AmiiboServiceError) -> [GameSeries]","type":"method"},{"title":"System endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getlastupdated()","title":"func getLastUpdated() async throws(AmiiboServiceError) -> Date","type":"method"}],"path":"\/documentation\/amiiboservice\/amiiboservice","title":"AmiiboService","type":"struct"},{"title":"Clients","type":"groupMarker"},{"children":[{"title":"Amiibo endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getamiibos(by:)","title":"func getAmiibos(by: AmiiboFilter) async throws(AmiiboServiceError) -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getamiiboseries(by:)","title":"func getAmiiboSeries(by: AmiiboSeriesFilter) async throws(AmiiboServiceError) -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws(AmiiboServiceError) -> [AmiiboType]","type":"method"},{"title":"Game endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws(AmiiboServiceError) -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getgameseries(by:)","title":"func getGameSeries(by: GameSeriesFilter) async throws(AmiiboServiceError) -> [GameSeries]","type":"method"},{"title":"System endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getlastupdated()","title":"func getLastUpdated() async throws(AmiiboServiceError) -> Date","type":"method"}],"path":"\/documentation\/amiiboservice\/amiiboclient","title":"AmiiboClient","type":"protocol"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/init(transport:)","title":"init(transport: any ClientTransport)","type":"init"},{"title":"Amiibo endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibos(by:)","title":"func getAmiibos(by: AmiiboFilter) async throws(AmiiboServiceError) -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiiboseries(by:)","title":"func getAmiiboSeries(by: AmiiboSeriesFilter) async throws(AmiiboServiceError) -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws(AmiiboServiceError) -> [AmiiboType]","type":"method"},{"title":"Game endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws(AmiiboServiceError) -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgameseries(by:)","title":"func getGameSeries(by: GameSeriesFilter) async throws(AmiiboServiceError) -> [GameSeries]","type":"method"},{"title":"System endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getlastupdated()","title":"func getLastUpdated() async throws(AmiiboServiceError) -> Date","type":"method"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiiboseries(by:)","title":"func getAmiiboSeries(by: AmiiboSeriesFilter) async throws(AmiiboServiceError) -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws(AmiiboServiceError) -> [AmiiboType]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibos(by:)","title":"func getAmiibos(by: AmiiboFilter) async throws(AmiiboServiceError) -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws(AmiiboServiceError) -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgameseries(by:)","title":"func getGameSeries(by: GameSeriesFilter) async throws(AmiiboServiceError) -> [GameSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getlastupdated()","title":"func getLastUpdated() async throws(AmiiboServiceError) -> Date","type":"method"}],"path":"\/documentation\/amiiboservice\/amiiboliveclient\/amiiboclient-implementations","title":"AmiiboClient Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiiboliveclient","title":"AmiiboLiveClient","type":"struct"},{"title":"Models","type":"groupMarker"},{"children":[{"title":"Nested Models","type":"groupMarker"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/game\/identifiers","title":"let identifiers: [String]","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/game\/name","title":"let name: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/game\/usages","title":"let usages: [Usage]?","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/game\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/amiibo\/game\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiibo\/game","title":"Amiibo.Game","type":"struct"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct\/switch","title":"let `switch`: [Game]","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct\/switch2","title":"let switch2: [Game]","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct\/threeds","title":"let threeDS: [Game]","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct\/wiiu","title":"let wiiU: [Game]","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct","title":"Amiibo.Platform","type":"struct"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct\/america","title":"let america: Date?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct\/australia","title":"let australia: Date?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct\/europe","title":"let europe: Date?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct\/japan","title":"let japan: Date?","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct","title":"Amiibo.Release","type":"struct"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/usage\/explanation","title":"let explanation: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/usage\/iswriteable","title":"let isWriteable: Bool","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/usage\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/amiibo\/usage\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiibo\/usage","title":"Amiibo.Usage","type":"struct"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/gamecharacter","title":"let gameCharacter: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/gameseries","title":"let gameSeries: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/head","title":"let head: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/identifier","title":"var identifier: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/image","title":"let image: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/imageurl","title":"var imageURL: URL?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/name","title":"let name: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/platform-swift.property","title":"let platform: Platform?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/release-swift.property","title":"let release: Release","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/series","title":"let series: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/tail","title":"let tail: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibo\/type","title":"let type: String","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibo\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/amiibo\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiibo","title":"Amiibo","type":"struct"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboseries\/key","title":"let key: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiiboseries\/name","title":"let name: String","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboseries\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/amiiboseries\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiiboseries","title":"AmiiboSeries","type":"struct"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibotype\/key","title":"let key: String","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibotype\/name","title":"let name: String","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibotype\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/amiibotype\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiibotype","title":"AmiiboType","type":"struct"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/gamecharacter\/key","title":"let key: String","type":"property"},{"path":"\/documentation\/amiiboservice\/gamecharacter\/name","title":"let name: String","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/gamecharacter\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/gamecharacter\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/gamecharacter","title":"GameCharacter","type":"struct"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/gameseries\/key","title":"let key: String","type":"property"},{"path":"\/documentation\/amiiboservice\/gameseries\/name","title":"let name: String","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/gameseries\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/gameseries\/equatable-implementations","title":"Equatable Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/gameseries","title":"GameSeries","type":"struct"},{"title":"Filters","type":"groupMarker"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/init(head:tail:identifier:name:type:series:gamecharacter:gameseries:showgames:showusage:)","title":"init(head: String?, tail: String?, identifier: String?, name: String?, type: String?, series: String?, gameCharacter: String?, gameSeries: String?, showGames: Bool?, showUsage: Bool?)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/gamecharacter","title":"let gameCharacter: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/gameseries","title":"let gameSeries: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/head","title":"let head: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/identifier","title":"let identifier: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/name","title":"let name: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/series","title":"let series: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/showgames","title":"let showGames: Bool?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/showusage","title":"let showUsage: Bool?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/tail","title":"let tail: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibofilter\/type","title":"let type: String?","type":"property"}],"path":"\/documentation\/amiiboservice\/amiibofilter","title":"AmiiboFilter","type":"struct"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboseriesfilter\/init()","title":"init()","type":"init"},{"path":"\/documentation\/amiiboservice\/amiiboseriesfilter\/init(key:)","title":"init(key: String)","type":"init"},{"path":"\/documentation\/amiiboservice\/amiiboseriesfilter\/init(name:)","title":"init(name: String)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboseriesfilter\/key","title":"let key: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiiboseriesfilter\/name","title":"let name: String?","type":"property"}],"path":"\/documentation\/amiiboservice\/amiiboseriesfilter","title":"AmiiboSeriesFilter","type":"struct"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibotypefilter\/init()","title":"init()","type":"init"},{"path":"\/documentation\/amiiboservice\/amiibotypefilter\/init(key:)","title":"init(key: String)","type":"init"},{"path":"\/documentation\/amiiboservice\/amiibotypefilter\/init(name:)","title":"init(name: String)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiibotypefilter\/key","title":"let key: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiibotypefilter\/name","title":"let name: String?","type":"property"}],"path":"\/documentation\/amiiboservice\/amiibotypefilter","title":"AmiiboTypeFilter","type":"struct"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/gamecharacterfilter\/init()","title":"init()","type":"init"},{"path":"\/documentation\/amiiboservice\/gamecharacterfilter\/init(key:)","title":"init(key: String)","type":"init"},{"path":"\/documentation\/amiiboservice\/gamecharacterfilter\/init(name:)","title":"init(name: String)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/gamecharacterfilter\/key","title":"let key: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/gamecharacterfilter\/name","title":"let name: String?","type":"property"}],"path":"\/documentation\/amiiboservice\/gamecharacterfilter","title":"GameCharacterFilter","type":"struct"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/gameseriesfilter\/init()","title":"init()","type":"init"},{"path":"\/documentation\/amiiboservice\/gameseriesfilter\/init(key:)","title":"init(key: String)","type":"init"},{"path":"\/documentation\/amiiboservice\/gameseriesfilter\/init(name:)","title":"init(name: String)","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/gameseriesfilter\/key","title":"let key: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/gameseriesfilter\/name","title":"let name: String?","type":"property"}],"path":"\/documentation\/amiiboservice\/gameseriesfilter","title":"GameSeriesFilter","type":"struct"},{"title":"Errors","type":"groupMarker"},{"children":[{"title":"Request errors","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/badrequest","title":"case badRequest","type":"case"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/cancelled","title":"case cancelled","type":"case"},{"title":"Response errors","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/decoding","title":"case decoding","type":"case"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/notfound","title":"case notFound","type":"case"},{"title":"Service errors","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/notavailable","title":"case notAvailable","type":"case"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/undocumented(_:)","title":"case undocumented(Int)","type":"case"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/unknown(_:)","title":"case unknown(String)","type":"case"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Operators","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/!=(_:_:)","title":"static func != (borrowing Self, borrowing Self) -> Bool","type":"op"}],"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/equatable-implementations","title":"Equatable Implementations","type":"collection"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/localizeddescription","title":"var localizedDescription: String","type":"property"}],"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/error-implementations","title":"Error Implementations","type":"collection"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/errordescription","title":"var errorDescription: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/failurereason","title":"var failureReason: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/helpanchor","title":"var helpAnchor: String?","type":"property"},{"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/recoverysuggestion","title":"var recoverySuggestion: String?","type":"property"}],"path":"\/documentation\/amiiboservice\/amiiboserviceerror\/localizederror-implementations","title":"LocalizedError Implementations","type":"collection"}],"path":"\/documentation\/amiiboservice\/amiiboserviceerror","title":"AmiiboServiceError","type":"enum"}],"path":"\/documentation\/amiiboservice","title":"AmiiboService","type":"module"}]},"schemaVersion":{"major":0,"minor":1,"patch":2}} |