pub struct FileSystemSandboxPolicy {
pub kind: FileSystemSandboxKind,
pub glob_scan_max_depth: Option<usize>,
pub entries: Vec<FileSystemSandboxEntry>,
}Fields§
§kind: FileSystemSandboxKind§glob_scan_max_depth: Option<usize>§entries: Vec<FileSystemSandboxEntry>Implementations§
Source§impl FileSystemSandboxPolicy
impl FileSystemSandboxPolicy
pub fn unrestricted() -> Self
pub fn external_sandbox() -> Self
pub fn restricted(entries: Vec<FileSystemSandboxEntry>) -> Self
pub fn has_denied_read_restrictions(&self) -> bool
pub fn from_legacy_sandbox_policy_preserving_deny_entries( sandbox_policy: &SandboxPolicy, cwd: &Path, existing: &Self, ) -> Self
Sourcepub fn preserve_deny_read_restrictions_from(&mut self, existing: &Self)
pub fn preserve_deny_read_restrictions_from(&mut self, existing: &Self)
Preserve explicit read-deny rules from existing when a caller
replaces the allow side of a policy.
Sourcepub fn workspace_write(
writable_roots: &[AbsolutePathBuf],
exclude_tmpdir_env_var: bool,
exclude_slash_tmp: bool,
) -> Self
pub fn workspace_write( writable_roots: &[AbsolutePathBuf], exclude_tmpdir_env_var: bool, exclude_slash_tmp: bool, ) -> Self
Filesystem policy matching WorkspaceWrite semantics without requiring
callers to construct a legacy SandboxPolicy first.
Sourcepub fn from_legacy_sandbox_policy_for_cwd(
sandbox_policy: &SandboxPolicy,
cwd: &Path,
) -> Self
pub fn from_legacy_sandbox_policy_for_cwd( sandbox_policy: &SandboxPolicy, cwd: &Path, ) -> Self
Converts a legacy sandbox policy into an equivalent filesystem policy after resolving cwd-sensitive legacy defaults for the provided cwd.
Legacy WorkspaceWrite policies may list readable roots that live
under an already-writable root. Those paths were redundant in the
legacy model and should not become read-only carveouts when projected
into split filesystem policy.
Sourcepub fn has_full_disk_read_access(&self) -> bool
pub fn has_full_disk_read_access(&self) -> bool
Returns true when filesystem reads are unrestricted.
Sourcepub fn has_full_disk_write_access(&self) -> bool
pub fn has_full_disk_write_access(&self) -> bool
Returns true when filesystem writes are unrestricted.
Sourcepub fn include_platform_defaults(&self) -> bool
pub fn include_platform_defaults(&self) -> bool
Returns true when platform-default readable roots should be included.
pub fn resolve_access_with_cwd( &self, path: &Path, cwd: &Path, ) -> FileSystemAccessMode
pub fn can_read_path_with_cwd(&self, path: &Path, cwd: &Path) -> bool
pub fn can_write_path_with_cwd(&self, path: &Path, cwd: &Path) -> bool
Sourcepub fn materialize_project_roots_with_cwd(self, cwd: &Path) -> Self
pub fn materialize_project_roots_with_cwd(self, cwd: &Path) -> Self
Replaces symbolic :project_roots entries with absolute paths resolved
against cwd.
Use this when a durable permission profile must survive a cwd-only update without rebinding its project-root authority to the new cwd.
pub fn with_additional_readable_roots( self, cwd: &Path, additional_readable_roots: &[AbsolutePathBuf], ) -> Self
pub fn with_additional_writable_roots( self, cwd: &Path, additional_writable_roots: &[AbsolutePathBuf], ) -> Self
Sourcepub fn with_additional_legacy_workspace_writable_roots(
self,
additional_writable_roots: &[AbsolutePathBuf],
) -> Self
pub fn with_additional_legacy_workspace_writable_roots( self, additional_writable_roots: &[AbsolutePathBuf], ) -> Self
Add roots using legacy WorkspaceWrite behavior.
Unlike Self::with_additional_writable_roots, this mirrors legacy
writable-roots semantics by adding exact roots even when they are
already writable through :project_roots, and by adding the default
read-only protected subpaths for each new root.
pub fn needs_direct_runtime_enforcement( &self, network_policy: NetworkSandboxPolicy, cwd: &Path, ) -> bool
Sourcepub fn is_semantically_equivalent_to(&self, other: &Self, cwd: &Path) -> bool
pub fn is_semantically_equivalent_to(&self, other: &Self, cwd: &Path) -> bool
Returns true when two policies resolve to the same filesystem access
model for cwd, ignoring incidental entry ordering.
Sourcepub fn get_readable_roots_with_cwd(&self, cwd: &Path) -> Vec<AbsolutePathBuf>
pub fn get_readable_roots_with_cwd(&self, cwd: &Path) -> Vec<AbsolutePathBuf>
Returns the explicit readable roots resolved against the provided cwd.
Sourcepub fn get_writable_roots_with_cwd(&self, cwd: &Path) -> Vec<WritableRoot>
pub fn get_writable_roots_with_cwd(&self, cwd: &Path) -> Vec<WritableRoot>
Returns the writable roots together with read-only carveouts resolved against the provided cwd.
Sourcepub fn get_unreadable_roots_with_cwd(&self, cwd: &Path) -> Vec<AbsolutePathBuf>
pub fn get_unreadable_roots_with_cwd(&self, cwd: &Path) -> Vec<AbsolutePathBuf>
Returns explicit unreadable roots resolved against the provided cwd.
Sourcepub fn get_unreadable_globs_with_cwd(&self, cwd: &Path) -> Vec<String>
pub fn get_unreadable_globs_with_cwd(&self, cwd: &Path) -> Vec<String>
Returns unreadable glob patterns resolved against the provided cwd.
pub fn to_legacy_sandbox_policy( &self, network_policy: NetworkSandboxPolicy, cwd: &Path, ) -> Result<SandboxPolicy>
Trait Implementations§
Source§impl Clone for FileSystemSandboxPolicy
impl Clone for FileSystemSandboxPolicy
Source§fn clone(&self) -> FileSystemSandboxPolicy
fn clone(&self) -> FileSystemSandboxPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FileSystemSandboxPolicy
impl Debug for FileSystemSandboxPolicy
Source§impl Default for FileSystemSandboxPolicy
impl Default for FileSystemSandboxPolicy
Source§impl<'de> Deserialize<'de> for FileSystemSandboxPolicy
impl<'de> Deserialize<'de> for FileSystemSandboxPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<&FileSystemPermissions> for FileSystemSandboxPolicy
impl From<&FileSystemPermissions> for FileSystemSandboxPolicy
Source§fn from(value: &FileSystemPermissions) -> Self
fn from(value: &FileSystemPermissions) -> Self
Source§impl From<&FileSystemSandboxPolicy> for FileSystemPermissions
impl From<&FileSystemSandboxPolicy> for FileSystemPermissions
Source§fn from(value: &FileSystemSandboxPolicy) -> Self
fn from(value: &FileSystemSandboxPolicy) -> Self
Source§impl From<&SandboxPolicy> for FileSystemSandboxPolicy
impl From<&SandboxPolicy> for FileSystemSandboxPolicy
Source§fn from(value: &SandboxPolicy) -> Self
fn from(value: &SandboxPolicy) -> Self
Source§impl FromStr for FileSystemSandboxPolicy
impl FromStr for FileSystemSandboxPolicy
Source§impl JsonSchema for FileSystemSandboxPolicy
impl JsonSchema for FileSystemSandboxPolicy
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for FileSystemSandboxPolicy
impl PartialEq for FileSystemSandboxPolicy
Source§fn eq(&self, other: &FileSystemSandboxPolicy) -> bool
fn eq(&self, other: &FileSystemSandboxPolicy) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for FileSystemSandboxPolicy
impl Serialize for FileSystemSandboxPolicy
Source§impl TS for FileSystemSandboxPolicy
impl TS for FileSystemSandboxPolicy
Source§type WithoutGenerics = FileSystemSandboxPolicy
type WithoutGenerics = FileSystemSandboxPolicy
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read moreSource§type OptionInnerType = FileSystemSandboxPolicy
type OptionInnerType = FileSystemSandboxPolicy
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn decl_concrete() -> String
fn decl_concrete() -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl() -> String
fn decl() -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline() -> String
fn inline() -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened() -> String
fn inline_flattened() -> String
This function will panic if the type cannot be flattened.
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read more