{"metadata":{"title":"AmiiboService","symbolKind":"module","externalID":"AmiiboService","modules":[{"name":"AmiiboService"}],"roleHeading":"Framework","role":"collection"},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/amiiboservice"]}],"sections":[],"identifier":{"url":"doc:\/\/AmiiboService\/documentation\/AmiiboService","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A library that provides everything the developer needs to interacts with the "},{"type":"strong","inlineContent":[{"type":"text","text":"Amiibo API"}]},{"type":"text","text":" backend service."}],"kind":"symbol","schemaVersion":{"patch":0,"major":0,"minor":3},"hierarchy":{"paths":[[]]},"primaryContentSections":[{"content":[{"text":"Overview","anchor":"Overview","type":"heading","level":2},{"type":"paragraph","inlineContent":[{"type":"text","text":"The "},{"type":"codeVoice","code":"AmiiboService"},{"type":"text","text":" library is a Swift Package Manager package dependency aims at allowing the developer to interact with the "},{"type":"reference","isActive":true,"identifier":"https:\/\/www.amiiboapi.com"},{"type":"text","text":" backend service seamlessly, by not only providing the "},{"inlineContent":[{"text":"service","type":"text"}],"type":"emphasis"},{"type":"text","text":" type but also any possible "},{"inlineContent":[{"text":"clients","type":"text"}],"type":"emphasis"},{"type":"text","text":", "},{"inlineContent":[{"text":"models","type":"text"}],"type":"emphasis"},{"type":"text","text":", "},{"inlineContent":[{"text":"filters","type":"text"}],"type":"emphasis"},{"type":"text","text":" and "},{"inlineContent":[{"text":"errors","type":"text"}],"type":"emphasis"},{"type":"text","text":" types that might be needed during implementation."}]},{"text":"Design","anchor":"Design","type":"heading","level":2},{"type":"paragraph","inlineContent":[{"type":"text","text":"Although it could have been possible to generate a one-to-one RESTful client based on the Open API specification document that describe the available endpoints of the backend service, it was decided to design a "},{"type":"codeVoice","code":"AmiiboService"},{"type":"text","text":" service type that removes the complexities of the API design imposed by the backend service, and provides the developer with a simple interface, and a seamless experience."}]},{"text":"Installation","anchor":"Installation","type":"heading","level":2},{"type":"paragraph","inlineContent":[{"type":"text","text":"To use the "},{"type":"codeVoice","code":"AmiiboService"},{"type":"text","text":" library with your package, then add it as a dependency in the "},{"type":"codeVoice","code":"Package.swift"},{"type":"text","text":" file:"}]},{"syntax":"swift","type":"codeListing","code":["let package = Package("," \/\/ name, platforms, products, etc."," dependencies: ["," .package(url: \"https:\/\/github.com\/rock-n-code\/amiibo-service\", from: \"1.0.0\"),"," \/\/ other dependencies"," ],"," targets: ["," .target("," name: \"SomeTarget\", "," dependencies: ["," .product(name: \"AmiiboService\", package: \"amiibo-service\"),"," ]"," )"," \/\/ other targets"," ]",")"]},{"type":"paragraph","inlineContent":[{"type":"text","text":"It is also possible to use the "},{"type":"codeVoice","code":"AmiiboService"},{"type":"text","text":" library with your app in Xcode, then add it as a dependency in your Xcode project."}]},{"content":[{"inlineContent":[{"text":"Swift 5.10 or higher is required in order to compile this library.","type":"text"}],"type":"paragraph"}],"type":"aside","style":"important","name":"Important"},{"text":"Tasks","anchor":"Tasks","type":"heading","level":2},{"type":"paragraph","inlineContent":[{"type":"text","text":"This library offers a set of ready-to-use project management tasks that the developer could use from the command line. To show the list of tasks on the "},{"type":"codeVoice","code":"Terminal"},{"type":"text","text":" app, plus display some explanations about each and every one of them; please enter the following command:"}]},{"syntax":"bash","type":"codeListing","code":["$ make"]}],"kind":"content"}],"topicSections":[{"identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"],"anchor":"Service","title":"Service"},{"identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboClient","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboLiveClient"],"anchor":"Clients","title":"Clients"},{"identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo","doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Game","doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Platform-swift.struct","doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Release-swift.struct","doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Usage","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeries","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboType","doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeries"],"anchor":"Models","title":"Models"},{"identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboFilter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeriesFilter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboTypeFilter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacterFilter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeriesFilter"],"anchor":"Filters","title":"Filters"},{"identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError"],"anchor":"Errors","title":"Errors"}],"references":{"https://www.amiiboapi.com":{"identifier":"https:\/\/www.amiiboapi.com","url":"https:\/\/www.amiiboapi.com","type":"link","titleInlineContent":[{"text":"Amiibo API","type":"text"}],"title":"Amiibo API"},"doc://AmiiboService/documentation/AmiiboService/GameCharacterFilter":{"role":"symbol","url":"\/documentation\/amiiboservice\/gamecharacterfilter","type":"topic","abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting game characters."}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacterFilter","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"GameCharacterFilter"}],"title":"GameCharacterFilter","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"GameCharacterFilter"}]},"doc://AmiiboService/documentation/AmiiboService":{"url":"\/documentation\/amiiboservice","type":"topic","title":"AmiiboService","role":"collection","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService","kind":"symbol","abstract":[{"type":"text","text":"A library that provides everything the developer needs to interacts with the "},{"type":"strong","inlineContent":[{"text":"Amiibo API","type":"text"}]},{"type":"text","text":" backend service."}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboService":{"kind":"symbol","role":"symbol","title":"AmiiboService","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService","navigatorTitle":[{"kind":"identifier","text":"AmiiboService"}],"abstract":[{"type":"text","text":"A type that implements the service that uses a client to make calls."}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboService"}],"url":"\/documentation\/amiiboservice\/amiiboservice"},"doc://AmiiboService/documentation/AmiiboService/AmiiboServiceError":{"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError","url":"\/documentation\/amiiboservice\/amiiboserviceerror","type":"topic","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"AmiiboServiceError"}],"abstract":[{"text":"A representation of all the possible errors that the ","type":"text"},{"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService","isActive":true,"type":"reference"},{"type":"text","text":" service could throw."}],"kind":"symbol","title":"AmiiboServiceError","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"AmiiboServiceError"}]},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Game":{"kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"Game"}],"role":"symbol","url":"\/documentation\/amiiboservice\/amiibo\/game","abstract":[{"text":"A model that represents a game related to an amiibo item.","type":"text"}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Game"}],"title":"Amiibo.Game","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Game","type":"topic"},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Usage":{"url":"\/documentation\/amiiboservice\/amiibo\/usage","fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"Usage"}],"kind":"symbol","type":"topic","role":"symbol","navigatorTitle":[{"text":"Usage","kind":"identifier"}],"title":"Amiibo.Usage","abstract":[{"text":"A model that represents the usage of an amiibo item within a certain game.","type":"text"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Usage"},"doc://AmiiboService/documentation/AmiiboService/Amiibo":{"kind":"symbol","role":"symbol","title":"Amiibo","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo","navigatorTitle":[{"kind":"identifier","text":"Amiibo"}],"abstract":[{"type":"text","text":"A model that represents an amiibo item."}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Amiibo"}],"url":"\/documentation\/amiiboservice\/amiibo"},"doc://AmiiboService/documentation/AmiiboService/AmiiboSeriesFilter":{"kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"AmiiboSeriesFilter"}],"role":"symbol","abstract":[{"text":"A type that contains values to fine-tune a response when requesting amiibo series.","type":"text"}],"url":"\/documentation\/amiiboservice\/amiiboseriesfilter","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboSeriesFilter"}],"title":"AmiiboSeriesFilter","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeriesFilter","type":"topic"},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Release-swift.struct":{"kind":"symbol","navigatorTitle":[{"text":"Release","kind":"identifier"}],"title":"Amiibo.Release","url":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct","abstract":[{"type":"text","text":"A model that represents a collection of release dates related to an amiibo item."}],"fragments":[{"kind":"keyword","text":"struct"},{"text":" ","kind":"text"},{"kind":"identifier","text":"Release"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Release-swift.struct","type":"topic","role":"symbol"},"doc://AmiiboService/documentation/AmiiboService/GameCharacter":{"type":"topic","navigatorTitle":[{"kind":"identifier","text":"GameCharacter"}],"role":"symbol","url":"\/documentation\/amiiboservice\/gamecharacter","abstract":[{"type":"text","text":"A model that represents a game character."}],"fragments":[{"kind":"keyword","text":"struct"},{"text":" ","kind":"text"},{"text":"GameCharacter","kind":"identifier"}],"title":"GameCharacter","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacter","kind":"symbol"},"doc://AmiiboService/documentation/AmiiboService/AmiiboLiveClient":{"role":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"AmiiboLiveClient"}],"abstract":[{"type":"text","text":"A type that implements a live client to the online service."}],"url":"\/documentation\/amiiboservice\/amiiboliveclient","kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboLiveClient","title":"AmiiboLiveClient","fragments":[{"kind":"keyword","text":"struct"},{"text":" ","kind":"text"},{"text":"AmiiboLiveClient","kind":"identifier"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboType":{"kind":"symbol","role":"symbol","title":"AmiiboType","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboType","navigatorTitle":[{"kind":"identifier","text":"AmiiboType"}],"abstract":[{"text":"A model that represents an amiibo type.","type":"text"}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboType"}],"url":"\/documentation\/amiiboservice\/amiibotype"},"doc://AmiiboService/documentation/AmiiboService/AmiiboFilter":{"type":"topic","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboFilter"}],"navigatorTitle":[{"text":"AmiiboFilter","kind":"identifier"}],"kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboFilter","url":"\/documentation\/amiiboservice\/amiibofilter","abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting amiibo items."}],"role":"symbol","title":"AmiiboFilter"},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Platform-swift.struct":{"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Platform-swift.struct","url":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct","type":"topic","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Platform"}],"abstract":[{"type":"text","text":"A model that represents a collection of "},{"code":"WiiU","type":"codeVoice"},{"type":"text","text":", "},{"type":"codeVoice","code":"3DS"},{"text":", and ","type":"text"},{"code":"Switch","type":"codeVoice"},{"text":" games related to an amiibo item.","type":"text"}],"kind":"symbol","title":"Amiibo.Platform","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"Platform"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboClient":{"kind":"symbol","role":"symbol","title":"AmiiboClient","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboClient","navigatorTitle":[{"text":"AmiiboClient","kind":"identifier"}],"abstract":[{"type":"text","text":"A protocol that defines API clients containing all available endpoints to interact with."}],"fragments":[{"kind":"keyword","text":"protocol"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboClient"}],"url":"\/documentation\/amiiboservice\/amiiboclient"},"doc://AmiiboService/documentation/AmiiboService/AmiiboSeries":{"type":"topic","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"text":"AmiiboSeries","kind":"identifier"}],"navigatorTitle":[{"kind":"identifier","text":"AmiiboSeries"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeries","kind":"symbol","url":"\/documentation\/amiiboservice\/amiiboseries","abstract":[{"type":"text","text":"A model that represents an amiibo series."}],"role":"symbol","title":"AmiiboSeries"},"doc://AmiiboService/documentation/AmiiboService/GameSeriesFilter":{"kind":"symbol","role":"symbol","title":"GameSeriesFilter","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeriesFilter","navigatorTitle":[{"kind":"identifier","text":"GameSeriesFilter"}],"abstract":[{"text":"A type that contains values to fine-tune a response when requesting game series.","type":"text"}],"fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"GameSeriesFilter"}],"url":"\/documentation\/amiiboservice\/gameseriesfilter"},"doc://AmiiboService/documentation/AmiiboService/GameSeries":{"role":"symbol","url":"\/documentation\/amiiboservice\/gameseries","type":"topic","abstract":[{"type":"text","text":"A model that represents a game series."}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeries","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"GameSeries","kind":"identifier"}],"kind":"symbol","title":"GameSeries","navigatorTitle":[{"kind":"identifier","text":"GameSeries"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboTypeFilter":{"url":"\/documentation\/amiiboservice\/amiibotypefilter","navigatorTitle":[{"text":"AmiiboTypeFilter","kind":"identifier"}],"type":"topic","title":"AmiiboTypeFilter","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboTypeFilter","kind":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboTypeFilter"}],"abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting amiibo types."}]}}}