shared/
kata.rs

1//!
2//! Kata Struct, Level enum & Tag enum<br>
3//! Used for categorizing the Kata the same way as in Codewars
4//!
5
6pub struct Kata {
7    pub level: Level,
8    pub tags: Vec<Tag>,
9    pub description: String,
10}
11
12impl Kata {
13    pub fn level(&self) -> &Level{
14        &self.level
15    }
16}
17
18#[derive(Debug)]
19pub enum Level {
20    L8kyu, L7kyu, L6kyu, L5kyu, L4kyu, L3kyu, L2kyu, L1kyu, 
21}
22
23#[derive(Debug)]
24pub enum Tag {
25    AsciiArt, Algebra, Algorithms, Arrays, BigIntegers, Binary, BinarySearchTrees,
26    BinaryTrees, Bits, CellularAutomata, Ciphers, Combinatorics, Compilers,
27    Cryptography, DataScience, DataStructures, Databases, DateTime, Debugging, 
28    DesignPatterns, DiscreteMathematics, DynamicProgramming, EsotericLanguages,
29    FunctionalProgramming, Fundamentals, GameSolvers, Games, Geometry, GraphTheory, 
30    Interpreters, Iterators, LanguageFeatures, LinearAlgebra, Lists, Logic, 
31    MachineLearning, Mathematics, Matrix, Memorization, Metaprogramming, Networks,
32    NumberTheory, ObjectOrientedProgramming, Parsing, Performance, Permutations,
33    Probibility, Puzzles, Queues, Recursion, Refactoring, Regex, Restricted,
34    ReverseEngineering, Riddles, Scheduling, Searching, Security, Sets, Sorting,
35    Stacks, Statistics, Strings, Trees, Tutorials,
36}