#pragma once

#include <map>
#include <string>

class FileFormat{

public:
    enum class Encoding{
        Ascii,
        UTF8,
        Binary
    };

    enum class Format{
        Html,
        Xml,
        Markdown,
        Pdf,
        Json,
        Png,
        Wav,
        Midi,
        Unknown
    };

    using ExtensionMap = std::map<Format, std::string>;
public:
    static bool isFormat(const std::string& extension, Format format);

    static Format inferFormat(const std::string& query);

    static std::string getExtension(Format format);

private:
    static ExtensionMap mExtensions;
};

