Struct rspack_sources::CachedSource
source · pub struct CachedSource<T> { /* private fields */ }
Expand description
It tries to reused cached results from other methods to avoid calculations, usually used after modify is finished.
use rspack_sources::{
BoxSource, CachedSource, ConcatSource, MapOptions, OriginalSource,
RawSource, Source, SourceExt, SourceMap,
};
let mut concat = ConcatSource::new([
RawSource::from("Hello World\n".to_string()).boxed(),
OriginalSource::new(
"console.log('test');\nconsole.log('test2');\n",
"console.js",
)
.boxed(),
]);
concat.add(OriginalSource::new("Hello2\n", "hello.md"));
let cached = CachedSource::new(concat);
assert_eq!(
cached.source(),
"Hello World\nconsole.log('test');\nconsole.log('test2');\nHello2\n"
);
// second time will be fast.
assert_eq!(
cached.source(),
"Hello World\nconsole.log('test');\nconsole.log('test2');\nHello2\n"
);
Implementations§
Trait Implementations§
source§impl<T: Source> Clone for CachedSource<T>
impl<T: Source> Clone for CachedSource<T>
source§impl<T: Debug> Debug for CachedSource<T>
impl<T: Debug> Debug for CachedSource<T>
source§impl<T: Hash> Hash for CachedSource<T>
impl<T: Hash> Hash for CachedSource<T>
source§impl<T: PartialEq> PartialEq for CachedSource<T>
impl<T: PartialEq> PartialEq for CachedSource<T>
source§impl<T: Source + Hash + PartialEq + Eq + 'static> Source for CachedSource<T>
impl<T: Source + Hash + PartialEq + Eq + 'static> Source for CachedSource<T>
source§impl<T: Source + Hash + PartialEq + Eq + 'static> StreamChunks for CachedSource<T>
impl<T: Source + Hash + PartialEq + Eq + 'static> StreamChunks for CachedSource<T>
source§fn stream_chunks(
&self,
options: &MapOptions,
on_chunk: OnChunk<'_>,
on_source: OnSource<'_>,
on_name: OnName<'_>,
) -> GeneratedInfo
fn stream_chunks( &self, options: &MapOptions, on_chunk: OnChunk<'_>, on_source: OnSource<'_>, on_name: OnName<'_>, ) -> GeneratedInfo
StreamChunks abstraction
impl<T: Eq> Eq for CachedSource<T>
Auto Trait Implementations§
impl<T> Freeze for CachedSource<T>
impl<T> !RefUnwindSafe for CachedSource<T>
impl<T> Send for CachedSource<T>
impl<T> Sync for CachedSource<T>
impl<T> Unpin for CachedSource<T>
impl<T> !UnwindSafe for CachedSource<T>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more