Struct ChangeDetectionBuilder

Source
pub struct ChangeDetectionBuilder { /* private fields */ }
Expand description

A change detection builder.

A builder to generate change detection instructions. You should not use this directly, use ChangeDetection as an entry point instead.

Implementations§

Source§

impl ChangeDetectionBuilder

Source

pub fn path<P>(self, path: P) -> ChangeDetectionBuilder

Collects change detection instructions from a path.

A path can be a single file or a directory.

§Examples:

To generate change instructions for the directory with the name static:

builder.path("static").generate();

To generate change instructions for the file with the name build.rs:

builder.path("build.rs").generate();
Source

pub fn path_include<P, F>(self, path: P, filter: F) -> ChangeDetectionBuilder
where P: AsRef<Path>, F: PathMatcher + 'static,

Collects change detection instructions from a path applying include filter.

A path can be a single file or a directory.

§Examples:

To generate change instructions for the directory with the name static but only for files ending with b:

builder.path_include("static", |path: &std::path::Path| {
    path.file_name()
        .map(|filename| filename.to_str().unwrap().ends_with("b"))
        .unwrap_or(false)
}).generate();
Source

pub fn path_exclude<P, F>(self, path: P, filter: F) -> ChangeDetectionBuilder
where P: AsRef<Path>, F: PathMatcher + 'static,

Collects change detection instructions from a path applying exclude filter.

A path can be a single file or a directory.

§Examples:

To generate change instructions for the directory with the name static but without files ending with b:

builder.path_exclude("static", |path: &std::path::Path| {
    path.file_name()
        .map(|filename| filename.to_str().unwrap().ends_with("b"))
        .unwrap_or(false)
}).generate();
Source

pub fn path_filter<P, F1, F2>( self, path: P, include: F1, exclude: F2, ) -> ChangeDetectionBuilder
where P: AsRef<Path>, F1: PathMatcher + 'static, F2: PathMatcher + 'static,

Collects change detection instructions from a path applying include and exclude filters.

A path can be a single file or a directory.

§Examples:

To generate change instructions for the directory with the name static including only files starting with a but without files ending with b:

builder.path_filter("static", |path: &std::path::Path| {
    path.file_name()
        .map(|filename| filename.to_str().unwrap().starts_with("a"))
        .unwrap_or(false)
}, |path: &std::path::Path| {
    path.file_name()
        .map(|filename| filename.to_str().unwrap().ends_with("b"))
        .unwrap_or(false)
}).generate();
Source

pub fn generate(self)

Trait Implementations§

Source§

impl Default for ChangeDetectionBuilder

Source§

fn default() -> ChangeDetectionBuilder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.