1 unstable release

0.1.0 Dec 24, 2022

#1758 in Parser implementations

21 downloads per month

CC0 license

145KB
1.5K SLoC

marc-relators

A crate for serializing and deserializing MARC relators.

A MARC record is a MA-chine Readable Cataloging record. This crate does not attempt to deal with records themselves, only with their relators.

use marc_relators::MarcRelator;

let relator: MarcRelator = "aut".parse().unwrap();
assert_eq!(relator, MarcRelator::Author);

assert_eq!(relator.code(), "aut");
assert_eq!(relator.name(), "Author");
assert_eq!(
    // The full descriptions can be quite long FYI
    &relator.description().as_bytes()[0..102],
    concat!("A person, family, or organization responsible for ",
            "creating a work that is primarily textual in content").as_bytes(),
);

This crate tracks the most current MARC specification. At this time, this is MARC 21.

Intellectual property isn't real. There is no license. If you insist on having one, this is Creative Commons Zero (public domain).

Dependencies

~0.3–0.8MB
~20K SLoC