composable_tower_http/extract/sealed_extracted.rs
1use std::ops::Deref;
2
3#[derive(Debug, Clone)]
4pub struct SealedExtracted<T>(pub(crate) T);
5
6impl<T> SealedExtracted<T> {
7 pub fn into_inner(self) -> T {
8 self.0
9 }
10
11 pub fn map<Fn, U>(self, map: Fn) -> SealedExtracted<U>
12 where
13 Fn: FnOnce(T) -> U,
14 {
15 SealedExtracted(map(self.0))
16 }
17}
18
19impl<T> Deref for SealedExtracted<T> {
20 type Target = T;
21
22 fn deref(&self) -> &Self::Target {
23 &self.0
24 }
25}