Crate isbn

Source
Expand description

A library for handling International Standard Book Number, or ISBNs.

§Examples

use isbn::{Isbn10, Isbn13};

let isbn_10 = Isbn10::new([8, 9, 6, 6, 2, 6, 1, 2, 6, 4]).unwrap();
assert_eq!(isbn_10.hyphenate().unwrap().as_str(), "89-6626-126-4");
assert_eq!(isbn_10.registration_group(), Ok("Korea, Republic"));
assert_eq!("89-6626-126-4".parse(), Ok(isbn_10));

let isbn_13 = Isbn13::new([9, 7, 8, 1, 4, 9, 2, 0, 6, 7, 6, 6, 5]).unwrap();
assert_eq!(isbn_13.hyphenate().unwrap().as_str(), "978-1-4920-6766-5");
assert_eq!(isbn_13.registration_group(), Ok("English language"));
assert_eq!("978-1-4920-6766-5".parse(), Ok(isbn_13));

Structs§

Isbn10
10-digit ISBN format.
Isbn13
13-digit ISBN format.

Enums§

Isbn
An International Standard Book Number, either ISBN10 or ISBN13.
IsbnError
An error which can be returned when parsing an ISBN.
IsbnRef
An International Standard Book Number, either ISBN10 or ISBN13.

Type Aliases§

IsbnResult