[][src]Crate isbn

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.

Type Definitions

IsbnResult