pub trait Environment: Clone + Send + Sync + 'static {
    type Stdin: AsyncRead + Unpin;
    type Stdout: AsyncWrite + Unpin;
    type Stderr: AsyncWrite + Unpin;

Show 16 methods fn now(&self) -> OffsetDateTime; fn spawn<F>(&self, fut: F)
    where
        F: Future + Send + 'static,
        F::Output: Send
; fn spawn_local<F>(&self, fut: F)
    where
        F: Future + 'static
; fn env_var(&self, name: &str) -> Option<String>; fn atty_stderr(&self) -> bool; fn stdin(&self) -> Self::Stdin; fn stdout(&self) -> Self::Stdout; fn stderr(&self) -> Self::Stderr; fn glob_files(&self, glob: &str) -> Result<Vec<PathBuf>, Error>; fn read_file<'life0, 'life1, 'async_trait>(
        &'life0 self,
        path: &'life1 Path
    ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn write_file<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        path: &'life1 Path,
        bytes: &'life2 [u8]
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; fn fetch_file<'life0, 'life1, 'async_trait>(
        &'life0 self,
        url: &'life1 Url
    ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn to_file_path(&self, url: &Url) -> Option<PathBuf>; fn is_absolute(&self, path: &Path) -> bool; fn cwd(&self) -> Option<PathBuf>; fn find_config_file<'life0, 'life1, 'async_trait>(
        &'life0 self,
        from: &'life1 Path
    ) -> Pin<Box<dyn Future<Output = Option<PathBuf>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
}
Expand description

An environment in which the operations with Jsona are executed.

This is mostly needed for sandboxed environments such as WebAssembly.

Required Associated Types

Required Methods

Absolute current working dir.

Implementors