src/FsPolicy.bend
mylsm-lsm-store@0.5.0.0 · 26 lines · 0 definitions
1import Base
2
3# Treats only a missing-path errno as absence.
4def missing_path_result(missing: Bool, +code: U32, message: String) -> Result<&1, &1, U32 & String, Bool>:
5 match missing:
6 case True{}:
7 Done{False{}}
8 case False{}:
9 Fail{(code, message)}
10
11# Ignores absent optional levels and preserves other errors.
12def optional_directory_result(
13 optional: Bool,
14 unavailable: Bool,
15 +code: U32,
16 message: String
17) -> Result<&1, &1, U32 & String, Unit>:
18 match optional:
19 case False{}:
20 Fail{(code, message)}
21 case True{}:
22 match unavailable:
23 case True{}:
24 Done{Unit{}}
25 case False{}:
26 Fail{(code, message)}