pub struct Isbn13 { /* private fields */ }Expand description
13-digit ISBN format.
Implementations§
Source§impl Isbn13
impl Isbn13
Sourcepub fn new(digits: [u8; 13]) -> IsbnResult<Isbn13>
pub fn new(digits: [u8; 13]) -> IsbnResult<Isbn13>
Creates a new ISBN13 code from 13 digits. Verifies that the checksum is correct, and that no digits are out of bounds.
§Examples
use isbn::Isbn13;
let isbn13 = Isbn13::new([9, 7, 8, 1, 4, 9, 2, 0, 6, 7, 6, 6, 5]).unwrap();§Errors
If any of the digits exceed nine, an error will be returned. If the check digit is not correct for the ISBN, an error will also be returned.
Sourcepub fn hyphenate(&self) -> Result<ArrayString<17>, IsbnError>
pub fn hyphenate(&self) -> Result<ArrayString<17>, IsbnError>
Hyphenate an ISBN-13 into its parts:
- GS1 Prefix
- Registration group
- Registrant
- Publication
- Check digit
use isbn::Isbn13;
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");§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::Isbn13;
let isbn_13 = Isbn13::new([9, 7, 8, 1, 4, 9, 2, 0, 6, 7, 6, 6, 5]).unwrap();
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§
Source§impl<'de> Deserialize<'de> for Isbn13
impl<'de> Deserialize<'de> for Isbn13
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Isbn13
impl Eq for Isbn13
impl StructuralPartialEq for Isbn13
Auto Trait Implementations§
impl Freeze for Isbn13
impl RefUnwindSafe for Isbn13
impl Send for Isbn13
impl Sync for Isbn13
impl Unpin for Isbn13
impl UnwindSafe for Isbn13
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.