ParseModeExt
docs
This commit is contained in:
parent
e4cb0bd416
commit
9a03e30e16
@ -102,7 +102,9 @@ pub trait ParseMode {
|
|||||||
type Mode: ?Sized + Mode;
|
type Mode: ?Sized + Mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Extension trait for all [`ParseMode`] types, re-exporting [`Mode`] traits.
|
||||||
pub trait ParseModeExt: ParseMode {
|
pub trait ParseModeExt: ParseMode {
|
||||||
|
/// [`Mode::bind`].
|
||||||
fn bind<A0, A1, E, I>(
|
fn bind<A0, A1, E, I>(
|
||||||
s: <Self::Mode as Mode>::ParseSuccess<A0, I>,
|
s: <Self::Mode as Mode>::ParseSuccess<A0, I>,
|
||||||
f: impl FnOnce(A0) -> Result<A1, E>,
|
f: impl FnOnce(A0) -> Result<A1, E>,
|
||||||
@ -110,6 +112,7 @@ pub trait ParseModeExt: ParseMode {
|
|||||||
<Self::Mode as Mode>::bind(s, f)
|
<Self::Mode as Mode>::bind(s, f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// [`Mode::map`].
|
||||||
fn map<A0, A1, I>(
|
fn map<A0, A1, I>(
|
||||||
s: <Self::Mode as Mode>::ParseSuccess<A0, I>,
|
s: <Self::Mode as Mode>::ParseSuccess<A0, I>,
|
||||||
f: impl FnOnce(A0) -> A1,
|
f: impl FnOnce(A0) -> A1,
|
||||||
@ -117,10 +120,12 @@ pub trait ParseModeExt: ParseMode {
|
|||||||
<Self::Mode as Mode>::map(s, f)
|
<Self::Mode as Mode>::map(s, f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// [`Mode::seal`].
|
||||||
fn seal<A, I>(s: <Self::Mode as Mode>::ParseSuccess<A, I>) -> A {
|
fn seal<A, I>(s: <Self::Mode as Mode>::ParseSuccess<A, I>) -> A {
|
||||||
<Self::Mode as Mode>::seal(s)
|
<Self::Mode as Mode>::seal(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// [`Mode::smap`].
|
||||||
fn smap<A0, A1>(
|
fn smap<A0, A1>(
|
||||||
source: <Self::Mode as Mode>::ExtensionSource<A0>,
|
source: <Self::Mode as Mode>::ExtensionSource<A0>,
|
||||||
f: impl FnOnce(A0) -> A1,
|
f: impl FnOnce(A0) -> A1,
|
||||||
|
Loading…
Reference in New Issue
Block a user