telestes

Crates.iotelestes
lib.rstelestes
version0.1.1
sourcesrc
created_at2022-05-05 22:58:06.892447
updated_at2022-05-05 23:23:58.25573
descriptionTyped Media (MIME) Types
homepagehttps://github.com/enarx/telestes
repositoryhttps://github.com/enarx/telestes
max_upload_size
id581348
size565,811
Nathaniel McCallum (npmccallum)

documentation

README

Workflow Status Average time to resolve an issue Percentage of issues still open Maintenance

telestes

Welcome!

Telestes provides an implementation of Media Types; also formerly known as MIME Types. This crate emphasizes performance and correctness; as well as the ability to parse in a const context. It is no_std-enabled.

To get started, check out the [MediaType] and [Essence] types.

Optional Features

  • alloc - enables the use of types in the alloc crate
  • serde - enables serialization/deserialization using serde
  • db - enables the const database of IANA Media Types

Terminology

The terminology of this crate should follow the terminology broadly used in the RFCs or other notable documentation; with one exception. Since the type terminology of a Media Type collides with the Rust type keyword, we have chosen the terms genus and species to replace the terms for type and subtype, respectively.

Example

use telestes::MediaType;

let mt = MediaType::new("text/plain; charset=UTF-8").unwrap();
assert_eq!(mt, "text/plain; charset=UTF-8");
assert_eq!(mt.essence(), "text/plain");
assert_eq!(mt.essence().genus(), "text");
assert_eq!(mt.essence().species(), "plain");
assert_eq!(mt.parameters().get("charset"), Some("UTF-8"));

Naming

This crate is named after the character Telestes from the Greek play Seven Against Thebes by Aeschylus. This character is possibly history's first recorded pantomime.

License: Apache-2.0

Commit count: 4

cargo fmt