pub struct TsConfig {
pub root: bool,
pub path: PathBuf,
pub files: Option<Vec<PathBuf>>,
pub include: Option<Vec<PathBuf>>,
pub exclude: Option<Vec<PathBuf>>,
pub extends: Option<ExtendsField>,
pub compiler_options: CompilerOptions,
pub references: Vec<ProjectReference>,
pub references_resolved: Vec<Arc<TsConfig>>,
/* private fields */
}Fields§
§root: boolWhether this is the caller tsconfig.
false for configs loaded through extends.
path: PathBufPath to tsconfig.json. Contains the tsconfig.json filename.
files: Option<Vec<PathBuf>>§include: Option<Vec<PathBuf>>§exclude: Option<Vec<PathBuf>>§extends: Option<ExtendsField>§compiler_options: CompilerOptions§references: Vec<ProjectReference>§references_resolved: Vec<Arc<TsConfig>>Resolved project references.
Corresponds to each item in TsConfig::references.
Implementations§
Source§impl TsConfig
impl TsConfig
Sourcepub fn parse(
root: bool,
path: &Path,
canonical_path: &Path,
json: String,
) -> Result<TsConfig, Error>
pub fn parse( root: bool, path: &Path, canonical_path: &Path, json: String, ) -> Result<TsConfig, Error>
Parses the tsconfig from a JSON string.
path is the requested path (used as identity for cache lookup and error
reporting). canonical_path anchors baseUrl / paths at the real
tsconfig directory when extends traverses a symlink. Callers that don’t
care about symlinks may pass the same value for both.
§Errors
- Any error that can be returned by
serde_json::from_str().
§Panics
- When
canonical_pathhas no parent directory.
Sourcepub fn root(&self) -> bool
pub fn root(&self) -> bool
Whether this is the caller tsconfig.
false for configs loaded through extends.
Sourcepub fn should_build(&self) -> bool
pub fn should_build(&self) -> bool
Whether build() should normalize paths.
Sourcepub fn set_should_build(&mut self, should_build: bool)
pub fn set_should_build(&mut self, should_build: bool)
Set whether build() should normalize paths.
Sourcepub fn path(&self) -> &Path
pub fn path(&self) -> &Path
Returns the path where the tsconfig.json was found.
Contains the tsconfig.json filename.
Sourcepub fn resolve_path_alias_or_base_url(&self, specifier: &str) -> Vec<PathBuf>
pub fn resolve_path_alias_or_base_url(&self, specifier: &str) -> Vec<PathBuf>
Maps a non-relative module specifier through this tsconfig’s compilerOptions.paths
and baseUrl configuration, returning the mapped absolute path candidates without
checking whether they exist on disk.
Unlike normal resolution (e.g. crate::ResolverImpl::resolve_file), which discards
a paths/baseUrl mapping when the mapped path does not point at a real file, this
keeps the mapping. It is intended for callers that need the alias mapping for a specifier
that is not expected to resolve to a real file, such as glob patterns used by
import.meta.glob (e.g. @/foo/**/*).
Discover the tsconfig for an importing file with crate::ResolverImpl::find_tsconfig,
which resolves project references so the returned config is the one that owns the file.
impl TsConfig
Tsconfig resolver
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TsConfig
impl<'de> Deserialize<'de> for TsConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TsConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TsConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Forget for TsConfig
impl Freeze for TsConfig
impl Move for TsConfig
impl RefUnwindSafe for TsConfig
impl Send for TsConfig
impl Sync for TsConfig
impl Unpin for TsConfig
impl UnsafeUnpin for TsConfig
impl UnwindSafe for TsConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);