amiibo-service/Sources/Models/KeyName.swift
Javier Cicchelli cc34186d53 [Setup] License (#12)
This PR contains the work done to addres the issue #8, related to setting up a EUPL 1.2 license for this project.

To provide further details about the work done:
- [x] defined the LICENSE text;
- [x] defined the CONTRIBUTORS text;
- [x] added a header file to source code available in this project.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #12
2023-04-23 13:57:49 +00:00

43 lines
1.3 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the AmiiboService open source project
//
// Copyright (c) 2023 Röck+Cöde VoF. and the AmiiboService project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE.txt for license information
// See CONTRIBUTORS.txt for the list of AmiiboService project authors
//
//===----------------------------------------------------------------------===//
/// This model is a concrete genetic definition that represents the following models: ``AmiiboSeries``, ``AmiiboType``, ``Character`` and ``GameSeries``.
public struct KeyName {
// MARK: Properties
/// The key of the model.
public let key: String
/// The name of the model.
public let name: String
}
// MARK: - Type aliases
/// This model represents the series an amiibo belongs to.
public typealias AmiiboSeries = KeyName
/// This model represents the type an amiibo belongs to.
public typealias AmiiboType = KeyName
/// This model represents the character an amiibo is associated to.
public typealias Character = KeyName
/// This model represents the games series an amiibo is associated to.
public typealias GameSeries = KeyName
// MARK: - Decodable
extension KeyName: Decodable {}