def destination.checked
mylsm-lsm-store@0.6.0.1 · src/transfer/BackupCursorIo.bend:285
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupCursorIo.bend as BackupCursorIo
import Base
import mylsm-lsm-store@0.6.0.1/src/Fs.bend as Fs
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupCursor.bend as BackupCursor
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupIo.bend as BackupIo
285def destination.checked(
286 +destination: String,
287 +temporary: String,
288 initial: BackupCursor.Step,
289 fuel: Nat,
290 exists: Result<&1, &1, U32 & String, Bool>
291) -> IO(Result<&1, &1, BackupIo.Error, Unit>):
292 match exists:
293 case Fail{(code, message)}:
294 initial.failed(initial, BackupIo.Io{code, message})
295 case Done{True{}}:
296 initial.failed(initial, BackupIo.AlreadyExists{})
297 case Done{False{}}:
298 do IO<Result<&1, &1, BackupIo.Error, Unit>>:
299 created : Result<&1, &1, U32 & String, Unit> <- Fs.make_dir(path.clone(temporary))
300 directory.created(destination, temporary, initial, fuel, created)