mirror of
https://github.com/kjuulh/dagger-rs.git
synced 2025-08-07 23:53:26 +02:00
feature/add impl (#6)
* format code * with object gen and args * add implementation * add rust generator * reset generated code * add basic output * reset output * add object * add format function * with opts * fix vec * add context to unwrap * fix arguments * with function body * first complete generation: Still missing Vec<Obj> * run full alpine * add roadmap item
This commit is contained in:
18
crates/dagger-codegen/src/utility.rs
Normal file
18
crates/dagger-codegen/src/utility.rs
Normal file
@@ -0,0 +1,18 @@
|
||||
pub trait OptionExt<'t, T: 't> {
|
||||
fn pipe<U, F>(&'t self, f: F) -> Option<U>
|
||||
where
|
||||
F: FnOnce(&'t T) -> U;
|
||||
}
|
||||
|
||||
impl<'t, T: 't> OptionExt<'t, T> for Option<T> {
|
||||
#[inline]
|
||||
fn pipe<U, F>(&'t self, f: F) -> Option<U>
|
||||
where
|
||||
F: FnOnce(&'t T) -> U,
|
||||
{
|
||||
match *self {
|
||||
Some(ref x) => Some(f(x)),
|
||||
None => None,
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user