def destination.checked

mylsm-lsm-store@0.6.0.1 · src/transfer/BackupIo.bend:236

import mylsm-lsm-store@0.6.0.1/src/transfer/BackupIo.bend as BackupIo
import Base
import mylsm-lsm-store@0.6.0.1/src/transfer/Backup.bend as Backup
import mylsm-lsm-store@0.6.0.1/src/Fs.bend as Fs

236def destination.checked(
237  +destination: String,
238  +temporary: String,
239  exists: Result<&1, &1, U32 & String, Bool>,
240  stream: Backup.Stream,
241  fuel: Nat
242) -> IO(Result<&1, &1, Error, Unit>):
243  match exists:
244    case Fail{(code, message)}:
245      IO.pure(Result<&1, &1, Error, Unit>, Fail{Io{code, message}})
246    case Done{True{}}: IO.pure(Result<&1, &1, Error, Unit>, Fail{AlreadyExists{}})
247    case Done{False{}}:
248      do IO<Result<&1, &1, Error, Unit>>:
249        created : Result<&1, &1, U32 & String, Unit> <- Fs.make_dir(path.clone(temporary))
250        directory.created(destination, temporary, created, stream, fuel)

Uses (16)

Used by (1)