Overall improvements and data update (#22)

This PR contains the work done to update the live tests to the latest data plus lots of QoL improvements to the library, including:

* added test cases to test the ``AmiiboService` locally;
* conformed the models to the `Hashable` protocol;
* documented the use of caching with the `AmiiboService` service;
* updated the reference to the new AmiiboAPI url;
* updated the year on the copyrights and header files;
* updated the overall documentation of the source code and the package.

Reviewed-on: #22
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
This commit was merged in pull request #22.
This commit is contained in:
2026-03-22 23:39:48 +00:00
committed by Javier Cicchelli
parent fae4b44698
commit 2b01ec14bf
375 changed files with 1177 additions and 700 deletions
@@ -1 +1 @@
{"abstract":[{"type":"text","text":"Retrieve the localized description for this error."}],"metadata":{"roleHeading":"Instance Property","role":"symbol","symbolKind":"property","title":"localizedDescription","modules":[{"relatedModules":["Swift"],"name":"AmiiboService"}],"externalID":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:13AmiiboService0aB5ErrorO","platforms":[{"introducedAt":"8.0","deprecated":false,"unavailable":false,"beta":false,"name":"iOS"},{"introducedAt":"10.10","deprecated":false,"unavailable":false,"beta":false,"name":"macOS"},{"introducedAt":"9.0","deprecated":false,"unavailable":false,"beta":false,"name":"tvOS"},{"introducedAt":"2.0","deprecated":false,"unavailable":false,"beta":false,"name":"watchOS"}],"extendedModule":"Swift","fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"text":"localizedDescription","kind":"identifier"},{"text":": ","kind":"text"},{"preciseIdentifier":"s:SS","text":"String","kind":"typeIdentifier"}]},"primaryContentSections":[{"declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"text":"localizedDescription","kind":"identifier"},{"text":": ","kind":"text"},{"text":"String","kind":"typeIdentifier","preciseIdentifier":"s:SS"},{"text":" { ","kind":"text"},{"text":"get","kind":"keyword"},{"text":" }","kind":"text"}],"languages":["swift"],"platforms":["macOS"]}],"kind":"declarations"}],"sections":[],"kind":"symbol","identifier":{"interfaceLanguage":"swift","url":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError\/localizedDescription"},"hierarchy":{"paths":[["doc:\/\/AmiiboService\/documentation\/AmiiboService","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError"]]},"schemaVersion":{"major":0,"minor":3,"patch":0},"variants":[{"paths":["\/documentation\/amiiboservice\/amiiboserviceerror\/localizeddescription"],"traits":[{"interfaceLanguage":"swift"}]}],"references":{"doc://AmiiboService/documentation/AmiiboService/AmiiboService":{"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboService","kind":"identifier"}],"type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService","url":"\/documentation\/amiiboservice\/amiiboservice","kind":"symbol","abstract":[{"text":"A type that implements the service that uses a client to make calls.","type":"text"}],"role":"symbol","navigatorTitle":[{"text":"AmiiboService","kind":"identifier"}],"title":"AmiiboService"},"doc://AmiiboService/documentation/AmiiboService":{"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService","title":"AmiiboService","abstract":[{"type":"text","text":"A library that provides everything the developer needs to interact with the "},{"type":"strong","inlineContent":[{"text":"Amiibo API","type":"text"}]},{"text":" backend service.","type":"text"}],"role":"collection","url":"\/documentation\/amiiboservice","kind":"symbol","type":"topic"},"doc://AmiiboService/documentation/AmiiboService/AmiiboServiceError/localizedDescription":{"abstract":[{"type":"text","text":"Retrieve the localized description for this error."}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"localizedDescription"},{"kind":"text","text":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","text":"String"}],"type":"topic","url":"\/documentation\/amiiboservice\/amiiboserviceerror\/localizeddescription","title":"localizedDescription","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError\/localizedDescription","kind":"symbol","role":"symbol"},"doc://AmiiboService/documentation/AmiiboService/AmiiboServiceError":{"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError","navigatorTitle":[{"text":"AmiiboServiceError","kind":"identifier"}],"type":"topic","title":"AmiiboServiceError","url":"\/documentation\/amiiboservice\/amiiboserviceerror","role":"symbol","abstract":[{"type":"text","text":"A representation of all the possible errors that the "},{"isActive":true,"type":"reference","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"},{"type":"text","text":" service could throw."}],"kind":"symbol","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboServiceError","kind":"identifier"}]}}}
{"primaryContentSections":[{"kind":"declarations","declarations":[{"platforms":["macOS"],"languages":["swift"],"tokens":[{"text":"var","kind":"keyword"},{"kind":"text","text":" "},{"text":"localizedDescription","kind":"identifier"},{"text":": ","kind":"text"},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","text":"String"},{"kind":"text","text":" { "},{"text":"get","kind":"keyword"},{"text":" }","kind":"text"}]}]}],"hierarchy":{"paths":[["doc:\/\/AmiiboService\/documentation\/AmiiboService","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError"]]},"identifier":{"url":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError\/localizedDescription","interfaceLanguage":"swift"},"kind":"symbol","sections":[],"variants":[{"paths":["\/documentation\/amiiboservice\/amiiboserviceerror\/localizeddescription"],"traits":[{"interfaceLanguage":"swift"}]}],"abstract":[{"text":"Retrieve the localized description for this error.","type":"text"}],"schemaVersion":{"major":0,"minor":3,"patch":0},"metadata":{"role":"symbol","externalID":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:13AmiiboService0aB5ErrorO","roleHeading":"Instance Property","modules":[{"relatedModules":["Swift"],"name":"AmiiboService"}],"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"text":"localizedDescription","kind":"identifier"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"extendedModule":"Swift","platforms":[{"unavailable":false,"introducedAt":"8.0","name":"iOS","deprecated":false,"beta":false},{"unavailable":false,"introducedAt":"10.10","name":"macOS","deprecated":false,"beta":false},{"unavailable":false,"introducedAt":"9.0","name":"tvOS","deprecated":false,"beta":false},{"unavailable":false,"introducedAt":"2.0","name":"watchOS","deprecated":false,"beta":false}],"symbolKind":"property","title":"localizedDescription"},"references":{"doc://AmiiboService/documentation/AmiiboService/AmiiboServiceError":{"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"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError","url":"\/documentation\/amiiboservice\/amiiboserviceerror","title":"AmiiboServiceError","type":"topic","role":"symbol","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboServiceError","kind":"identifier"}],"navigatorTitle":[{"text":"AmiiboServiceError","kind":"identifier"}],"kind":"symbol"},"doc://AmiiboService/documentation/AmiiboService":{"kind":"symbol","url":"\/documentation\/amiiboservice","role":"collection","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService","abstract":[{"text":"A library that provides everything the developer needs to interact with the ","type":"text"},{"inlineContent":[{"text":"Amiibo API","type":"text"}],"type":"strong"},{"text":" backend service.","type":"text"}],"title":"AmiiboService"},"doc://AmiiboService/documentation/AmiiboService/AmiiboService":{"navigatorTitle":[{"kind":"identifier","text":"AmiiboService"}],"kind":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService","url":"\/documentation\/amiiboservice\/amiiboservice","type":"topic","title":"AmiiboService","role":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboService","kind":"identifier"}],"abstract":[{"text":"A type that implements the service that uses a client to make calls.","type":"text"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboServiceError/localizedDescription":{"kind":"symbol","url":"\/documentation\/amiiboservice\/amiiboserviceerror\/localizeddescription","fragments":[{"kind":"keyword","text":"var"},{"text":" ","kind":"text"},{"kind":"identifier","text":"localizedDescription"},{"kind":"text","text":": "},{"text":"String","preciseIdentifier":"s:SS","kind":"typeIdentifier"}],"role":"symbol","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError\/localizedDescription","abstract":[{"type":"text","text":"Retrieve the localized description for this error."}],"title":"localizedDescription"}}}