IPathQuery implementation backed by babashka.fs. All operations return hive-dsl Results for railway composition.
Convenience API (stateless, default instance): (exists? path) → Result<boolean> (directory? path) → Result<boolean> (absolute-dir? path) → Result<boolean> (resolve-first-dir [...]) → Result<string> (find-files path exts) → Result<vec<string>> (expand-path path exts) → vec<string> (rescue-wrapped)
DIP: consumers depend on IPathQuery protocol, not this impl. Swap FsPathQuery for a test double via make-path-query or protocol.
IPathQuery implementation backed by babashka.fs. All operations return hive-dsl Results for railway composition. Convenience API (stateless, default instance): (exists? path) → Result<boolean> (directory? path) → Result<boolean> (absolute-dir? path) → Result<boolean> (resolve-first-dir [...]) → Result<string> (find-files path exts) → Result<vec<string>> (expand-path path exts) → vec<string> (rescue-wrapped) DIP: consumers depend on IPathQuery protocol, not this impl. Swap FsPathQuery for a test double via make-path-query or protocol.
IFilesystem implementation backed by babashka.fs + java.nio. All operations return hive-dsl Results for railway composition.
Convenience API (stateless, default instance): (mkdirs! path) → Result<{:path}> (tmpdir! prefix) → Result<{:path}> (atomic-write! path content) → Result<{:path :bytes}> (lock! path timeout-ms) → Result<{:lock}> (watch! path patterns handler) → Result<{:watcher}>
DIP: consumers depend on the IFilesystem protocol, not this impl. Swap FsFilesystem for a test double via make-filesystem or the protocol.
IFilesystem implementation backed by babashka.fs + java.nio.
All operations return hive-dsl Results for railway composition.
Convenience API (stateless, default instance):
(mkdirs! path) → Result<{:path}>
(tmpdir! prefix) → Result<{:path}>
(atomic-write! path content) → Result<{:path :bytes}>
(lock! path timeout-ms) → Result<{:lock}>
(watch! path patterns handler) → Result<{:watcher}>
DIP: consumers depend on the IFilesystem protocol, not this impl.
Swap FsFilesystem for a test double via make-filesystem or the protocol.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |