module Hat.DirectoryBuiltin where import Hat.Hat as T import Hat.PreludeBuiltinTypes import Hat.DirectoryBuiltinTypes import qualified System.Directory as Directory toPermissions :: RefExp -> R Permissions -> Directory.Permissions toPermissions h (R (Permissions preadable pwritable pexecutable psearchable) _) = Directory.setOwnerReadable (toBool h preadable) $ Directory.setOwnerWritable (toBool h pwritable) $ Directory.setOwnerExecutable (toBool h pexecutable) $ Directory.setOwnerSearchable (toBool h psearchable) $ Directory.emptyPermissions fromPermissions :: RefExp -> Directory.Permissions -> R Permissions fromPermissions h permission = con4 mkNoSrcPos h Permissions aPermissions (T.wrapForward h (fromBool h (Directory.readable permission))) (T.wrapForward h (fromBool h (Directory.writable permission))) (T.wrapForward h (fromBool h (Directory.executable permission))) (T.wrapForward h (fromBool h (Directory.searchable permission)))