0af0e3056d
This PR contains the work done to: * Documented the public properties, initializers, and/or functions of those types conforming to the `APIClient`, `KeyNameFilter`, and `KeyNameModel` protocols, to fix the issue that the protocol documentations cannot be inherited; * Moved the `AmiiboService` DocC documentation catalog inside the library target; * Amended the folder structure of the library and test targets; * Fixed further documentation issues encountered while revising the written documentation; * Added the `lib-test` task in the `Makefile` file; * Improved the naming for the existing tasks in the `Makefile` file. Reviewed-on: #8 Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
1 line
17 KiB
JSON
1 line
17 KiB
JSON
{"topicSections":[{"identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"],"anchor":"Service","title":"Service"},{"title":"Clients","identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboClient","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboLiveClient","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboMockClient"],"anchor":"Clients"},{"title":"Models","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":"Filters","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":"Errors","identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError"],"anchor":"Errors"}],"primaryContentSections":[{"content":[{"text":"Overview","anchor":"Overview","type":"heading","level":2},{"inlineContent":[{"type":"text","text":"The "},{"type":"codeVoice","code":"AmiiboService"},{"text":" library is a Swift Package Manager package dependency aims at allowing the developer to interact with the ","type":"text"},{"type":"reference","identifier":"https:\/\/www.amiiboapi.com","isActive":true},{"type":"text","text":" backend service seamlessly, by not only providing the "},{"type":"emphasis","inlineContent":[{"type":"text","text":"service"}]},{"type":"text","text":" type but also any possible "},{"type":"emphasis","inlineContent":[{"type":"text","text":"clients"}]},{"type":"text","text":", "},{"type":"emphasis","inlineContent":[{"type":"text","text":"models"}]},{"text":", ","type":"text"},{"inlineContent":[{"type":"text","text":"filters"}],"type":"emphasis"},{"type":"text","text":" and "},{"type":"emphasis","inlineContent":[{"type":"text","text":"errors"}]},{"text":" types that might be needed during implementation.","type":"text"}],"type":"paragraph"},{"type":"heading","anchor":"Design","text":"Design","level":2},{"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"},{"code":"AmiiboService","type":"codeVoice"},{"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"},{"level":2,"type":"heading","text":"Installation","anchor":"Installation"},{"inlineContent":[{"text":"To use the ","type":"text"},{"code":"AmiiboService","type":"codeVoice"},{"text":" library with your package, then add it as a dependency in the ","type":"text"},{"code":"Package.swift","type":"codeVoice"},{"text":" file:","type":"text"}],"type":"paragraph"},{"type":"codeListing","syntax":"swift","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."}]},{"name":"Important","style":"important","type":"aside","content":[{"inlineContent":[{"type":"text","text":"Swift 5.9 or higher is required in order to compile this library."}],"type":"paragraph"}]},{"type":"heading","text":"Tasks","anchor":"Tasks","level":2},{"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:"}],"type":"paragraph"},{"syntax":"bash","code":["$ make"],"type":"codeListing"}],"kind":"content"}],"metadata":{"symbolKind":"module","title":"AmiiboService","modules":[{"name":"AmiiboService"}],"role":"collection","roleHeading":"Framework","externalID":"AmiiboService"},"variants":[{"paths":["\/documentation\/amiiboservice"],"traits":[{"interfaceLanguage":"swift"}]}],"kind":"symbol","sections":[],"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."}],"hierarchy":{"paths":[[]]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/AmiiboService\/documentation\/AmiiboService"},"schemaVersion":{"major":0,"minor":3,"patch":0},"references":{"doc://AmiiboService/documentation/AmiiboService/Amiibo/Usage":{"kind":"symbol","role":"symbol","abstract":[{"text":"A model that represents the usage of an amiibo item within a certain game.","type":"text"}],"navigatorTitle":[{"text":"Usage","kind":"identifier"}],"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Usage","kind":"identifier"}],"title":"Amiibo.Usage","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Usage","url":"\/documentation\/amiiboservice\/amiibo\/usage"},"doc://AmiiboService/documentation/AmiiboService/AmiiboType":{"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboType","kind":"symbol","url":"\/documentation\/amiiboservice\/amiibotype","role":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboType"}],"abstract":[{"type":"text","text":"A model that represents an amiibo type."}],"navigatorTitle":[{"kind":"identifier","text":"AmiiboType"}],"title":"AmiiboType","type":"topic"},"doc://AmiiboService/documentation/AmiiboService/AmiiboMockClient":{"url":"\/documentation\/amiiboservice\/amiibomockclient","kind":"symbol","role":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboMockClient","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A type that implements a mock client, for testing purposes."}],"title":"AmiiboMockClient","navigatorTitle":[{"text":"AmiiboMockClient","kind":"identifier"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboMockClient"},"doc://AmiiboService/documentation/AmiiboService/AmiiboClient":{"abstract":[{"text":"A representation of the types of client that a ","type":"text"},{"type":"reference","isActive":true,"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"},{"type":"text","text":" service can utilize."}],"fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboClient","kind":"identifier"}],"url":"\/documentation\/amiiboservice\/amiiboclient","title":"AmiiboClient","navigatorTitle":[{"kind":"identifier","text":"AmiiboClient"}],"type":"topic","kind":"symbol","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboClient"},"doc://AmiiboService/documentation/AmiiboService/GameCharacterFilter":{"type":"topic","abstract":[{"text":"A type that contains values to fine-tune a response when requesting game characters.","type":"text"}],"title":"GameCharacterFilter","navigatorTitle":[{"kind":"identifier","text":"GameCharacterFilter"}],"role":"symbol","url":"\/documentation\/amiiboservice\/gamecharacterfilter","kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacterFilter","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"GameCharacterFilter"}]},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Platform-swift.struct":{"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Platform-swift.struct","kind":"symbol","title":"Amiibo.Platform","fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"text":"Platform","kind":"identifier"}],"abstract":[{"text":"A model that represents a collection of ","type":"text"},{"type":"codeVoice","code":"WiiU"},{"text":", ","type":"text"},{"code":"3DS","type":"codeVoice"},{"type":"text","text":", and "},{"code":"Switch","type":"codeVoice"},{"type":"text","text":" games related to an amiibo item."}],"url":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct","type":"topic","navigatorTitle":[{"text":"Platform","kind":"identifier"}],"role":"symbol"},"doc://AmiiboService/documentation/AmiiboService/GameCharacter":{"type":"topic","title":"GameCharacter","abstract":[{"type":"text","text":"A model that represents a game character."}],"navigatorTitle":[{"kind":"identifier","text":"GameCharacter"}],"role":"symbol","url":"\/documentation\/amiiboservice\/gamecharacter","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacter","kind":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"GameCharacter"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboTypeFilter":{"type":"topic","abstract":[{"text":"A type that contains values to fine-tune a response when requesting amiibo types.","type":"text"}],"title":"AmiiboTypeFilter","navigatorTitle":[{"kind":"identifier","text":"AmiiboTypeFilter"}],"role":"symbol","url":"\/documentation\/amiiboservice\/amiibotypefilter","kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboTypeFilter","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"text":"AmiiboTypeFilter","kind":"identifier"}]},"https://www.amiiboapi.com":{"title":"Amiibo API","titleInlineContent":[{"type":"text","text":"Amiibo API"}],"url":"https:\/\/www.amiiboapi.com","identifier":"https:\/\/www.amiiboapi.com","type":"link"},"doc://AmiiboService/documentation/AmiiboService/AmiiboSeriesFilter":{"title":"AmiiboSeriesFilter","role":"symbol","navigatorTitle":[{"text":"AmiiboSeriesFilter","kind":"identifier"}],"url":"\/documentation\/amiiboservice\/amiiboseriesfilter","kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeriesFilter","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboSeriesFilter","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting amiibo series."}]},"doc://AmiiboService/documentation/AmiiboService/GameSeriesFilter":{"abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting game series."}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeriesFilter","url":"\/documentation\/amiiboservice\/gameseriesfilter","type":"topic","kind":"symbol","role":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"GameSeriesFilter","kind":"identifier"}],"navigatorTitle":[{"kind":"identifier","text":"GameSeriesFilter"}],"title":"GameSeriesFilter"},"doc://AmiiboService/documentation/AmiiboService/AmiiboService":{"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService","kind":"symbol","title":"AmiiboService","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"AmiiboService"}],"abstract":[{"text":"A type that implements the service that uses a client to make calls.","type":"text"}],"url":"\/documentation\/amiiboservice\/amiiboservice","type":"topic","navigatorTitle":[{"text":"AmiiboService","kind":"identifier"}],"role":"symbol"},"doc://AmiiboService/documentation/AmiiboService/GameSeries":{"abstract":[{"type":"text","text":"A model that represents a game series."}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"text":"GameSeries","kind":"identifier"}],"url":"\/documentation\/amiiboservice\/gameseries","title":"GameSeries","navigatorTitle":[{"text":"GameSeries","kind":"identifier"}],"type":"topic","kind":"symbol","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeries"},"doc://AmiiboService/documentation/AmiiboService/AmiiboServiceError":{"fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"text":"AmiiboServiceError","kind":"identifier"}],"navigatorTitle":[{"kind":"identifier","text":"AmiiboServiceError"}],"type":"topic","title":"AmiiboServiceError","url":"\/documentation\/amiiboservice\/amiiboserviceerror","kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError","role":"symbol","abstract":[{"type":"text","text":"A representation of all the possible errors that the "},{"type":"reference","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService","isActive":true},{"text":" service could throw.","type":"text"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboFilter":{"title":"AmiiboFilter","role":"symbol","navigatorTitle":[{"text":"AmiiboFilter","kind":"identifier"}],"url":"\/documentation\/amiiboservice\/amiibofilter","kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboFilter","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"text":"AmiiboFilter","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting amiibo items."}]},"doc://AmiiboService/documentation/AmiiboService/Amiibo":{"abstract":[{"text":"A model that represents an amiibo item.","type":"text"}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Amiibo"}],"url":"\/documentation\/amiiboservice\/amiibo","title":"Amiibo","navigatorTitle":[{"text":"Amiibo","kind":"identifier"}],"type":"topic","kind":"symbol","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo"},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Release-swift.struct":{"abstract":[{"type":"text","text":"A model that represents a collection of release dates related to an amiibo item."}],"role":"symbol","navigatorTitle":[{"text":"Release","kind":"identifier"}],"url":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct","kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Release-swift.struct","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Release","kind":"identifier"}],"type":"topic","title":"Amiibo.Release"},"doc://AmiiboService/documentation/AmiiboService/AmiiboSeries":{"title":"AmiiboSeries","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboSeries","kind":"identifier"}],"role":"symbol","navigatorTitle":[{"text":"AmiiboSeries","kind":"identifier"}],"type":"topic","abstract":[{"type":"text","text":"A model that represents an amiibo series."}],"url":"\/documentation\/amiiboservice\/amiiboseries","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeries"},"doc://AmiiboService/documentation/AmiiboService/AmiiboLiveClient":{"title":"AmiiboLiveClient","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboLiveClient","kind":"identifier"}],"role":"symbol","navigatorTitle":[{"text":"AmiiboLiveClient","kind":"identifier"}],"type":"topic","abstract":[{"text":"A type that implements a live client to the online service.","type":"text"}],"url":"\/documentation\/amiiboservice\/amiiboliveclient","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboLiveClient"},"doc://AmiiboService/documentation/AmiiboService":{"title":"AmiiboService","kind":"symbol","role":"collection","type":"topic","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."}],"url":"\/documentation\/amiiboservice","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService"},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Game":{"type":"topic","abstract":[{"type":"text","text":"A model that represents a game related to an amiibo item."}],"navigatorTitle":[{"kind":"identifier","text":"Game"}],"title":"Amiibo.Game","url":"\/documentation\/amiiboservice\/amiibo\/game","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Game","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"Game"}],"role":"symbol"}}} |