Moved the Amiibo API implementation to its own package (#2)

This PR contains the work done to migrate the *almost* completed**Amiibo API** implementation done in another project to its own stand-alone package.

Reviewed-on: rock-n-code/amiibo-api#2
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 #2.
This commit is contained in:
2024-09-14 22:26:39 +00:00
committed by Javier Cicchelli
parent 5aa852a051
commit da07ef7e4f
32 changed files with 2746 additions and 11 deletions
+48
View File
@@ -0,0 +1,48 @@
//===----------------------------------------------------------------------===
//
// This source file is part of the AmiiboAPI open source project
//
// Copyright (c) 2024 Röck+Cöde VoF. and the AmiiboAPI project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE for license information
// See CONTRIBUTORS for the list of AmiiboAPI project authors
//
//===----------------------------------------------------------------------===
public struct AmiiboFilter {
// MARK: Properties
public let gameCharacter: String?
public let gameSeries: String?
public let identifier: String?
public let name: String?
public let series: String?
public let showGames: Bool?
public let showUsage: Bool?
public let type: String?
// MARK: Initialisers
public init(
identifier: String? = nil,
name: String? = nil,
type: String? = nil,
series: String? = nil,
gameCharacter: String? = nil,
gameSeries: String? = nil,
showGames: Bool? = nil,
showUsage: Bool? = nil
) {
self.gameCharacter = gameCharacter
self.gameSeries = gameSeries
self.identifier = identifier
self.name = name
self.series = series
self.showGames = showGames
self.showUsage = showUsage
self.type = type
}
}
@@ -0,0 +1,37 @@
//===----------------------------------------------------------------------===
//
// This source file is part of the AmiiboAPI open source project
//
// Copyright (c) 2024 Röck+Cöde VoF. and the AmiiboAPI project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE for license information
// See CONTRIBUTORS for the list of AmiiboAPI project authors
//
//===----------------------------------------------------------------------===
public struct AmiiboSeriesFilter: KeyNameFilter {
// MARK: Properties
public let key: String?
public let name: String?
// MARK: Initialisers
public init() {
self.key = nil
self.name = nil
}
public init(key: String) {
self.key = key
self.name = nil
}
public init(name: String) {
self.key = nil
self.name = name
}
}
@@ -0,0 +1,37 @@
//===----------------------------------------------------------------------===
//
// This source file is part of the AmiiboAPI open source project
//
// Copyright (c) 2024 Röck+Cöde VoF. and the AmiiboAPI project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE for license information
// See CONTRIBUTORS for the list of AmiiboAPI project authors
//
//===----------------------------------------------------------------------===
public struct AmiiboTypeFilter: KeyNameFilter {
// MARK: Properties
public let key: String?
public let name: String?
// MARK: Initialisers
public init() {
self.key = nil
self.name = nil
}
public init(key: String) {
self.key = key
self.name = nil
}
public init(name: String) {
self.key = nil
self.name = name
}
}
@@ -0,0 +1,37 @@
//===----------------------------------------------------------------------===
//
// This source file is part of the AmiiboAPI open source project
//
// Copyright (c) 2024 Röck+Cöde VoF. and the AmiiboAPI project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE for license information
// See CONTRIBUTORS for the list of AmiiboAPI project authors
//
//===----------------------------------------------------------------------===
public struct GameCharacterFilter: KeyNameFilter {
// MARK: Properties
public let key: String?
public let name: String?
// MARK: Initialisers
public init() {
self.key = nil
self.name = nil
}
public init(key: String) {
self.key = key
self.name = nil
}
public init(name: String) {
self.key = nil
self.name = name
}
}
@@ -0,0 +1,37 @@
//===----------------------------------------------------------------------===
//
// This source file is part of the AmiiboAPI open source project
//
// Copyright (c) 2024 Röck+Cöde VoF. and the AmiiboAPI project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE for license information
// See CONTRIBUTORS for the list of AmiiboAPI project authors
//
//===----------------------------------------------------------------------===
public struct GameSeriesFilter: KeyNameFilter {
// MARK: Properties
public let key: String?
public let name: String?
// MARK: Initialisers
public init() {
self.key = nil
self.name = nil
}
public init(key: String) {
self.key = key
self.name = nil
}
public init(name: String) {
self.key = nil
self.name = name
}
}