bit_io

    Abstract FileSystem traits and in-memory test implementation

    git
    fs
    io
    Download zip
    Author
    Version
    0.48.0
    License
    Apache-2.0
    Last updated
    9 days ago
    Downloads
    1K

    Dependencies

    AsyncFileSystem

    Asynchronous counterpart to FileSystem.

    AsyncHttpClient

    Asynchronous counterpart to HttpClient.

    AsyncRepoFileSystem

    Asynchronous counterpart to RepoFileSystem.

    FileSystem

    HttpClient

    HttpResponse

    MockHttpClient

    RepoFileSystem

    EnvProvider

    pub struct EnvProvider {
    get : (String) -> String?
    current_dir : () -> String?
    }

    EnvProvider::new

    fn EnvProvider::new(get : (String) -> String?, current_dir : () -> String?) -> EnvProvider

    EnvProvider::none

    fn EnvProvider::none() -> EnvProvider

    TestFs

    pub struct TestFs {
    files : Map[String, Bytes]
    dirs : Map[String, Bool]
    }

    TestFs::exists

    fn TestFs::exists(self : TestFs, path : String) -> Bool

    TestFs::is_dir

    fn TestFs::is_dir(self : TestFs, path : String) -> Bool

    TestFs::is_file

    fn TestFs::is_file(self : TestFs, path : String) -> Bool

    TestFs::mkdir_p

    fn TestFs::mkdir_p(self : TestFs, path : String) -> Unit

    TestFs::new

    fn TestFs::new() -> TestFs

    TestFs::read_file

    fn TestFs::read_file(self : TestFs, path : String) -> Bytes raise
    GitError

    TestFs::read_string

    fn TestFs::read_string(self : TestFs, path : String) -> String raise
    GitError

    TestFs::readdir

    fn TestFs::readdir(self : TestFs, path : String) -> Array[String] raise
    GitError

    TestFs::remove_dir

    fn TestFs::remove_dir(self : TestFs, path : String) -> Unit raise
    GitError

    TestFs::remove_file

    fn TestFs::remove_file(self : TestFs, path : String) -> Unit raise
    GitError

    TestFs::write_file

    fn TestFs::write_file(self : TestFs, path : String, content : Bytes) -> Unit

    TestFs::write_string

    fn TestFs::write_string(self : TestFs, path : String, content : String) -> Unit

    WorktreeEntry

    pub struct WorktreeEntry {
    kind : WorktreeKind
    mode : Int
    size : Int?
    mtime_sec : Int?
    mtime_nsec : Int?
    }

    WorktreeEntryMeta

    pub struct WorktreeEntryMeta {
    kind : WorktreeKindMeta
    mode : Int
    size : Int?
    mtime_sec : Int?
    mtime_nsec : Int?
    dev : Int?
    ino : Int?
    uid : Int?
    gid : Int?
    }

    WorktreeEntryMeta::mtime

    fn WorktreeEntryMeta::mtime(self : WorktreeEntryMeta) -> (Int, Int)

    WorktreeEntryMeta::new

    fn WorktreeEntryMeta::new(kind : WorktreeKindMeta, mode : Int, size : Int?, mtime_sec : Int?, mtime_nsec : Int?, dev? : Int?, ino? : Int?, uid? : Int?, gid? : Int?) -> WorktreeEntryMeta

    WorktreeKind

    pub enum WorktreeKind {
    Regular
    Symlink(target~ : String)
    }

    WorktreeKindMeta

    pub enum WorktreeKindMeta {
    Regular
    Symlink
    }

    WorktreeKindMeta::regular

    WorktreeProbeProvider

    pub struct WorktreeProbeProvider {
    entry_meta : async (&
    RepoFileSystem
    , String) -> WorktreeEntryMeta? noraise
    entry_meta_sync : (&
    RepoFileSystem
    , String) -> WorktreeEntryMeta?
    lstat : (String) -> WorktreeEntryMeta?
    symlink_target : (String) -> String?
    readdir_typed : (String) -> Array[(String, Int)]?
    }

    WorktreeProbeProvider::new

    fn WorktreeProbeProvider::new(entry_meta : async (&
    RepoFileSystem
    , String) -> WorktreeEntryMeta? noraise, symlink_target : (String) -> String?, entry_meta_sync? : (&
    RepoFileSystem
    , String) -> WorktreeEntryMeta?, lstat? : (String) -> WorktreeEntryMeta?, readdir_typed? : (String) -> Array[(String, Int)]?) -> WorktreeProbeProvider

    WorktreeProbeProvider::none

    env_current_dir

    fn env_current_dir() -> String?

    env_get

    fn env_get(name : String) -> String?

    lstat_entry_meta

    fn lstat_entry_meta(abs_path : String) -> WorktreeEntryMeta?

    Stat a file without requiring RepoFileSystem. Uses the native lstat provider when available, otherwise returns None.
    fn read_symlink_target_path(path : String) -> String?

    readdir_typed

    fn readdir_typed(path : String) -> Array[(String, Int)]?

    Read directory entries with file type info. Returns (name, d_type) pairs. d_type: 4=DT_DIR, 8=DT_REG, 10=DT_LNK, 0=DT_UNKNOWN. Returns None if native readdir is not available (fallback to fs.readdir + is_dir).

    set_env_provider

    fn set_env_provider(provider : EnvProvider) -> Unit

    set_worktree_probe

    fn set_worktree_probe(provider : WorktreeProbeProvider) -> Unit

    worktree_entry

    async fn worktree_entry(fs : &
    RepoFileSystem
    , abs_path : String) -> WorktreeEntry? noraise

    worktree_entry_meta

    async fn worktree_entry_meta(fs : &
    RepoFileSystem
    , abs_path : String) -> WorktreeEntryMeta? noraise

    worktree_entry_meta_sync

    fn worktree_entry_meta_sync(fs : &
    RepoFileSystem
    , abs_path : String) -> WorktreeEntryMeta?

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io