diff --git a/README.md b/README.md index 7090d48..7b6367c 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ To use this library, add it as a dependency in the `Package.swift` file: let package = Package( // name, platforms, products, etc. dependencies: [ - .package(url: "https://github.com/rock-n-code/amiibo-service", from: "1.4.1"), + .package(url: "https://github.com/rock-n-code/amiibo-service", from: "1.4.2"), // other dependencies ], targets: [ diff --git a/Sources/AmiiboService/Catalogs/AmiiboService.docc/Extensions/AmiiboService.md b/Sources/AmiiboService/Catalogs/AmiiboService.docc/Extensions/AmiiboService.md new file mode 100644 index 0000000..ede6c74 --- /dev/null +++ b/Sources/AmiiboService/Catalogs/AmiiboService.docc/Extensions/AmiiboService.md @@ -0,0 +1,22 @@ +# ``AmiiboService/AmiiboService`` + +## Topics + +### Initializers + +- ``AmiiboService/AmiiboService/init(client:)`` + +### Amiibo endpoints + +- ``AmiiboService/AmiiboService/getAmiibos(_:)`` +- ``AmiiboService/AmiiboService/getAmiiboSeries(_:)`` +- ``AmiiboService/AmiiboService/getAmiiboTypes(_:)`` + +### Game endpoints + +- ``AmiiboService/AmiiboService/getGameCharacters(_:)`` +- ``AmiiboService/AmiiboService/getGameSeries(_:)`` + +### System endpoints + +- ``AmiiboService/AmiiboService/getLastUpdated()`` diff --git a/Sources/AmiiboService/Catalogs/AmiiboService.docc/Library.md b/Sources/AmiiboService/Catalogs/AmiiboService.docc/Library.md index a1669a8..202d50c 100644 --- a/Sources/AmiiboService/Catalogs/AmiiboService.docc/Library.md +++ b/Sources/AmiiboService/Catalogs/AmiiboService.docc/Library.md @@ -18,7 +18,7 @@ To use the `AmiiboService` library with your package, then add it as a dependenc let package = Package( // name, platforms, products, etc. dependencies: [ - .package(url: "https://github.com/rock-n-code/amiibo-service", from: "1.4.1"), + .package(url: "https://github.com/rock-n-code/amiibo-service", from: "1.4.2"), // other dependencies ], targets: [ @@ -37,6 +37,31 @@ It is also possible to use the `AmiiboService` library with your app in Xcode, t > important: Swift 5.10 or higher is required in order to compile this library. +## Usage + +Create an ``AmiiboService`` instance and call any of its endpoints. Each endpoint accepts an optional filter and, when omitted, returns the full set of results: + +```swift +import AmiiboService + +let service = AmiiboService() + +// Fetch all amiibos +let amiibos = try await service.getAmiibos() + +// Fetch amiibos filtered by name +let zeldaAmiibos = try await service.getAmiibos(.init(name: "zelda")) + +// Fetch amiibo series, types, game characters, and game series +let series = try await service.getAmiiboSeries() +let types = try await service.getAmiiboTypes() +let characters = try await service.getGameCharacters() +let gameSeries = try await service.getGameSeries() + +// Fetch the last updated timestamp +let lastUpdated = try await service.getLastUpdated() +``` + ## Caching The [Amiibo API](https://www.amiiboapi.org) recommends that consumers who call the API regularly implement caching on their systems. This library does not include a built-in cache, leaving the choice of caching strategy to the consumer. The following examples show two common approaches.