mimetype

    Mime types for MoonBit

    mimetype
    mime
    type
    Download zip
    Author
    Version
    0.2.0
    License
    Apache-2.0
    Last updated
    last month
    Downloads
    347

    #oboard/mimetype

    An API for MIME type information.

    • All mime-db types

    #Installation

    moon add oboard/mimetype

    #Quick Start

    For the full version (800+ MIME types, 1,000+ extensions):

    let mime = @mimetype.new()
    mime.get_type("txt") // ⇨ "text/plain"
    mime.get_extension("text/plain") // ⇨ Some("txt")

    #API

    #mime.get_type(path_or_extension)

    Get mime type for the given file path or extension. E.g.

    mime.get_type("js") // ⇨ "text/javascript"
    mime.get_type("json") // ⇨ "application/json"

    mime.get_type("txt") // ⇨ "text/plain"
    mime.get_type("dir/text.txt") // ⇨ "text/plain"
    mime.get_type("dir\\text.txt") // ⇨ "text/plain"
    mime.get_type(".text.txt") // ⇨ "text/plain"
    mime.get_type(".txt") // ⇨ "text/plain"

    None is returned in cases where an extension is not detected or recognized

    mime.get_type("foo/txt") // ⇨ None
    mime.get_type("bogus_type") // ⇨ None

    #mime.get_extension(type)

    Get file extension for the given mime type. Charset options (often included in Content-Type headers) are ignored.

    mime.get_extension("text/plain") // ⇨ Some("txt")
    mime.get_extension("application/json") // ⇨ Some("json")
    mime.get_extension("text/html; charset=utf8") // ⇨ Some("html")

    #mime.get_all_extensions(type)

    Get all file extensions for the given mime type.

    mime.get_all_extensions("image/jpeg") // ⇨ ["jpeg", "jpg", "jpe"]