[][src]Function eosio_numstr::name_from_bytes

pub fn name_from_bytes<I>(iter: I) -> Result<u64, ParseNameError> where
    I: Iterator<Item = u8>, 

Attempts to create an EOSIO name from an Iterator.

Errors

Will return Err if the name contains invalid characters or is too long.

Examples

use eosio_numstr::{name_from_bytes, ParseNameError};
assert_eq!(name_from_bytes("".bytes()), Ok(0));
assert_eq!(name_from_bytes("a".bytes()), Ok(3458764513820540928));
assert_eq!(
    name_from_bytes("123456789012".bytes()),
    Err(ParseNameError::BadChar(b'6'))
);
assert_eq!(
    name_from_bytes("123451234512".bytes()),
    Ok(614251535012020768)
);
assert_eq!(
    name_from_bytes("123451234512j".bytes()),
    Ok(614251535012020783)
);
assert_eq!(
    name_from_bytes("123451234512k".bytes()),
    Err(ParseNameError::BadChar(b'k'))
);
assert_eq!(
    name_from_bytes("12345123451234".bytes()),
    Err(ParseNameError::TooLong)
);
assert_eq!(
    name_from_bytes("eosio.token".bytes()),
    Ok(6138663591592764928)
);
assert_eq!(
    name_from_bytes("eosio.token".bytes()),
    Ok(6138663591592764928)
);
assert_eq!(
    name_from_bytes("eosio.bpay".bytes()),
    Ok(6138663581940940800)
);
assert_eq!(
    name_from_bytes("A".bytes()),
    Err(ParseNameError::BadChar(b'A'))
);
assert_eq!(
    name_from_bytes("TEST".bytes()),
    Err(ParseNameError::BadChar(b'T'))
);