Tests updates and other fixes (#27)

This PR contains the work done to update the live test data to its latest version. Plus other improvements have been made:

* conformed the `AmiiboServiceError` error to the `LocalizableError` protocol,
* improved the `ISODateTimeTranscoder` transcoder to handle the decoding of both ISO dates and timestamps,
* removed a force-unwrapped from the `AmiiboLiveClient` type.

Reviewed-on: #27
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 #27.
This commit is contained in:
javier authored and Javier Cicchelli committed 2026-03-27 17:14:26 +00:00
1 parent 2442ada4b6
commit 1488aa151e
151 files changed
+259 -197

No files matched your search

+1 -1
View File
@@ -1 +1 @@
{"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":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiiboseries(_:)","title":"func getAmiiboSeries(AmiiboSeriesFilter) async throws -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiibotypes(_:)","title":"func getAmiiboTypes(AmiiboTypeFilter) async throws -> [AmiiboType]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiibos(_:)","title":"func getAmiibos(AmiiboFilter) async throws -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getgamecharacters(_:)","title":"func getGameCharacters(GameCharacterFilter) async throws -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getgameseries(_:)","title":"func getGameSeries(GameSeriesFilter) async throws -> [GameSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getlastupdated()","title":"func getLastUpdated() async throws -> 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 -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getamiiboseries(by:)","title":"func getAmiiboSeries(by: AmiiboSeriesFilter) async throws -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws -> [AmiiboType]","type":"method"},{"title":"Game endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getgameseries(by:)","title":"func getGameSeries(by: GameSeriesFilter) async throws -> [GameSeries]","type":"method"},{"title":"System endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getlastupdated()","title":"func getLastUpdated() async throws -> 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 -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiiboseries(by:)","title":"func getAmiiboSeries(by: AmiiboSeriesFilter) async throws -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws -> [AmiiboType]","type":"method"},{"title":"Game endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgameseries(by:)","title":"func getGameSeries(by: GameSeriesFilter) async throws -> [GameSeries]","type":"method"},{"title":"System endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getlastupdated()","title":"func getLastUpdated() async throws -> 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 -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws -> [AmiiboType]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibos(by:)","title":"func getAmiibos(by: AmiiboFilter) async throws -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws -> [GameCharacter]","type":"method"},{"path":"Line truncated
{"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":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiiboseries(_:)","title":"func getAmiiboSeries(AmiiboSeriesFilter) async throws -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiibotypes(_:)","title":"func getAmiiboTypes(AmiiboTypeFilter) async throws -> [AmiiboType]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getamiibos(_:)","title":"func getAmiibos(AmiiboFilter) async throws -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getgamecharacters(_:)","title":"func getGameCharacters(GameCharacterFilter) async throws -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getgameseries(_:)","title":"func getGameSeries(GameSeriesFilter) async throws -> [GameSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboservice\/getlastupdated()","title":"func getLastUpdated() async throws -> 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 -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getamiiboseries(by:)","title":"func getAmiiboSeries(by: AmiiboSeriesFilter) async throws -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws -> [AmiiboType]","type":"method"},{"title":"Game endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getgameseries(by:)","title":"func getGameSeries(by: GameSeriesFilter) async throws -> [GameSeries]","type":"method"},{"title":"System endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboclient\/getlastupdated()","title":"func getLastUpdated() async throws -> 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 -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiiboseries(by:)","title":"func getAmiiboSeries(by: AmiiboSeriesFilter) async throws -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws -> [AmiiboType]","type":"method"},{"title":"Game endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws -> [GameCharacter]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgameseries(by:)","title":"func getGameSeries(by: GameSeriesFilter) async throws -> [GameSeries]","type":"method"},{"title":"System endpoints","type":"groupMarker"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getlastupdated()","title":"func getLastUpdated() async throws -> 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 -> [AmiiboSeries]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibotypes(by:)","title":"func getAmiiboTypes(by: AmiiboTypeFilter) async throws -> [AmiiboType]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getamiibos(by:)","title":"func getAmiibos(by: AmiiboFilter) async throws -> [Amiibo]","type":"method"},{"path":"\/documentation\/amiiboservice\/amiiboliveclient\/getgamecharacters(by:)","title":"func getGameCharacters(by: GameCharacterFilter) async throws -> [GameCharacter]","type":"method"},{"path":"Line truncated