pub enum Isbn {
_10(Isbn10),
_13(Isbn13),
}Expand description
An International Standard Book Number, either ISBN10 or ISBN13.
§Examples
use isbn::{Isbn, Isbn10, Isbn13};
let isbn_10 = Isbn::_10(Isbn10::new([8, 9, 6, 6, 2, 6, 1, 2, 6, 4]).unwrap());
let isbn_13 = Isbn::_13(Isbn13::new([9, 7, 8, 1, 4, 9, 2, 0, 6, 7, 6, 6, 5]).unwrap());
assert_eq!("89-6626-126-4".parse(), Ok(isbn_10));
assert_eq!("978-1-4920-6766-5".parse(), Ok(isbn_13));Variants§
Implementations§
Source§impl Isbn
impl Isbn
Sourcepub fn hyphenate(&self) -> Result<ArrayString<17>, IsbnError>
pub fn hyphenate(&self) -> Result<ArrayString<17>, IsbnError>
Hyphenate an ISBN into its parts:
- GS1 Prefix (ISBN-13 only)
- Registration group
- Registrant
- Publication
- Check digit
use isbn::{Isbn, Isbn10, Isbn13};
let isbn_10 = Isbn::_10(Isbn10::new([8, 9, 6, 6, 2, 6, 1, 2, 6, 4]).unwrap());
let isbn_13 = Isbn::_13(Isbn13::new([9, 7, 8, 1, 4, 9, 2, 0, 6, 7, 6, 6, 5]).unwrap());
assert_eq!(isbn_10.hyphenate().unwrap().as_str(), "89-6626-126-4");
assert_eq!(isbn_13.hyphenate().unwrap().as_str(), "978-1-4920-6766-5");§Errors
If the ISBN is not valid, as determined by the current ISBN rules, an error will be returned.
Sourcepub fn registration_group(&self) -> Result<&str, IsbnError>
pub fn registration_group(&self) -> Result<&str, IsbnError>
Retrieve the name of the registration group.
use isbn::{Isbn, Isbn10, Isbn13};
let isbn_10 = Isbn::_10(Isbn10::new([8, 9, 6, 6, 2, 6, 1, 2, 6, 4]).unwrap());
let isbn_13 = Isbn::_13(Isbn13::new([9, 7, 8, 1, 4, 9, 2, 0, 6, 7, 6, 6, 5]).unwrap());
assert_eq!(isbn_10.registration_group(), Ok("Korea, Republic"));
assert_eq!(isbn_13.registration_group(), Ok("English language"));§Errors
If the ISBN is not valid, as determined by the current ISBN rules, an error will be returned.
Trait Implementations§
impl Eq for Isbn
impl StructuralPartialEq for Isbn
Auto Trait Implementations§
impl Freeze for Isbn
impl RefUnwindSafe for Isbn
impl Send for Isbn
impl Sync for Isbn
impl Unpin for Isbn
impl UnwindSafe for Isbn
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more