utf32

Function utf32 

Source
pub fn utf32<'a, I>() -> impl Parser<I, Output = char>
where I: Positioned<Ok = u32> + ?Sized + 'a,
Expand description

A UTF-32 encoded u32 decoder.

§Examples

use somen::prelude::*;

let mut parser = utf32();
let mut stream = stream::from_slice(&[0x41, 0xC5, 0x3042, 0x1F4AF, 0x110000]);

assert_eq!(parser.parse(&mut stream).await, Ok('A'));
assert_eq!(parser.parse(&mut stream).await, Ok('Å'));
assert_eq!(parser.parse(&mut stream).await, Ok('あ'));
assert_eq!(parser.parse(&mut stream).await, Ok('💯'));
assert!(parser.parse(&mut stream).await.is_err());