Files
amiibo-service/docs/data/documentation/amiiboservice.json
T
javier 463d15975c Amiibo Service live tests refactoring (#15)
This PR contains the work done to refactor the test cases for the `AmiiboService` service type in the test target, to write them as the `Swift Testing` framework intended. In. addition, the documentation tasks in the `Makefile` file and the generated `DocC` documentation for Github Pages have also been updated.

Reviewed-on: #15
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
2025-10-01 23:19:14 +00:00

1 line
17 KiB
JSON

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