Files
EmojiKit/Sources/EmojiKitLibrary/EmojiCategory.swift
Niklas Amslgruber 22a0182e01 Add support for SPM
2023-06-14 17:46:27 +02:00

63 lines
1.6 KiB
Swift

//
// EmojiCategory.swift
//
//
// Created by Niklas Amslgruber on 10.06.23.
//
import Foundation
public class EmojiCategory: Codable {
public enum Name: String, CaseIterable, Codable {
case flags = "Flags"
case activities = "Activities"
case components = "Component"
case objects = "Objects"
case travelAndPlaces = "Travel & Places"
case symbols = "Symbols"
case peopleAndBody = "People & Body"
case animalsAndNature = "Animals & Nature"
case foodAndDrink = "Food & Drink"
case smileysAndEmotions = "Smileys & Emotion"
public static var orderedCases: [EmojiCategory.Name] {
return EmojiCategory.Name.allCases.sorted(by: { $0.order < $1.order })
}
// Order that Apple uses in their emoji picker
public var order: Int {
switch self {
case .flags:
return 10
case .activities:
return 5
case .components:
return 8
case .objects:
return 7
case .travelAndPlaces:
return 6
case .symbols:
return 9
case .peopleAndBody:
return 2
case .animalsAndNature:
return 3
case .foodAndDrink:
return 4
case .smileysAndEmotions:
return 1
}
}
}
public let name: Name
public let values: [String]
public init(name: Name, values: [String]) {
self.name = name
self.values = values
}
}