| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Effectful.PosixCompat.Files.Dynamic
Description
Provides a dynamic effect for System.PosixCompat.Files.
Since: 0.1
Synopsis
- data PosixCompatFiles (a :: Type -> Type) b where
- SetFileMode :: forall (a :: Type -> Type). FilePath -> FileMode -> PosixCompatFiles a ()
- SetFdMode :: forall (a :: Type -> Type). Fd -> FileMode -> PosixCompatFiles a ()
- SetFileCreationMask :: forall (a :: Type -> Type). FileMode -> PosixCompatFiles a CMode
- FileAccess :: forall (a :: Type -> Type). FilePath -> Bool -> Bool -> Bool -> PosixCompatFiles a Bool
- FileExist :: forall (a :: Type -> Type). FilePath -> PosixCompatFiles a Bool
- GetFileStatus :: forall (a :: Type -> Type). FilePath -> PosixCompatFiles a FileStatus
- GetFdStatus :: forall (a :: Type -> Type). Fd -> PosixCompatFiles a FileStatus
- GetSymbolicLinkStatus :: forall (a :: Type -> Type). FilePath -> PosixCompatFiles a FileStatus
- CreateNamedPipe :: forall (a :: Type -> Type). FilePath -> FileMode -> PosixCompatFiles a ()
- CreateDevice :: forall (a :: Type -> Type). FilePath -> FileMode -> DeviceID -> PosixCompatFiles a ()
- CreateLink :: forall (a :: Type -> Type). FilePath -> FilePath -> PosixCompatFiles a ()
- RemoveLink :: forall (a :: Type -> Type). FilePath -> PosixCompatFiles a ()
- CreateSymbolicLink :: forall (a :: Type -> Type). FilePath -> FilePath -> PosixCompatFiles a ()
- ReadSymbolicLink :: forall (a :: Type -> Type). FilePath -> PosixCompatFiles a [Char]
- Rename :: forall (a :: Type -> Type). FilePath -> FilePath -> PosixCompatFiles a ()
- SetOwnerAndGroup :: forall (a :: Type -> Type). FilePath -> UserID -> GroupID -> PosixCompatFiles a ()
- SetFdOwnerAndGroup :: forall (a :: Type -> Type). Fd -> UserID -> GroupID -> PosixCompatFiles a ()
- SetSymbolicLinkOwnerAndGroup :: forall (a :: Type -> Type). FilePath -> UserID -> GroupID -> PosixCompatFiles a ()
- SetFileTimes :: forall (a :: Type -> Type). FilePath -> EpochTime -> EpochTime -> PosixCompatFiles a ()
- TouchFile :: forall (a :: Type -> Type). FilePath -> PosixCompatFiles a ()
- SetFileSize :: forall (a :: Type -> Type). FilePath -> FileOffset -> PosixCompatFiles a ()
- SetFdSize :: forall (a :: Type -> Type). Fd -> FileOffset -> PosixCompatFiles a ()
- GetPathVar :: forall (a :: Type -> Type). FilePath -> PathVar -> PosixCompatFiles a CLong
- GetFdPathVar :: forall (a :: Type -> Type). Fd -> PathVar -> PosixCompatFiles a CLong
- setFileMode :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FileMode -> Eff es ()
- setFdMode :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> FileMode -> Eff es ()
- setFileCreationMask :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FileMode -> Eff es FileMode
- fileAccess :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Bool -> Bool -> Bool -> Eff es Bool
- fileExist :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es Bool
- getFileStatus :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es FileStatus
- getFdStatus :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> Eff es FileStatus
- getSymbolicLinkStatus :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es FileStatus
- createNamedPipe :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FileMode -> Eff es ()
- createDevice :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FileMode -> DeviceID -> Eff es ()
- createLink :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FilePath -> Eff es ()
- removeLink :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es ()
- createSymbolicLink :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FilePath -> Eff es ()
- readSymbolicLink :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es FilePath
- rename :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FilePath -> Eff es ()
- setOwnerAndGroup :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> UserID -> GroupID -> Eff es ()
- setFdOwnerAndGroup :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> UserID -> GroupID -> Eff es ()
- setSymbolicLinkOwnerAndGroup :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> UserID -> GroupID -> Eff es ()
- setFileTimes :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> EpochTime -> EpochTime -> Eff es ()
- touchFile :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es ()
- setFileSize :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FileOffset -> Eff es ()
- setFdSize :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> FileOffset -> Eff es ()
- getPathVar :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> PathVar -> Eff es Limit
- getFdPathVar :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> PathVar -> Eff es Limit
- runPosixFilesCompat :: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) => Eff (PosixCompatFiles ': es) a -> Eff es a
- data PathType
- displayPathType :: IsString a => PathType -> a
- throwIfWrongPathType :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => String -> PathType -> FilePath -> Eff es ()
- isPathType :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => PathType -> FilePath -> Eff es Bool
- getPathType :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es PathType
Effect
data PosixCompatFiles (a :: Type -> Type) b where Source #
Dynamic effect for System.PosixCompat.Files.
Since: 0.1
Constructors
Instances
| ShowEffect PosixCompatFiles Source # | Since: 0.1 |
Defined in Effectful.PosixCompat.Files.Dynamic Methods showEffectCons :: forall (m :: Type -> Type) a. PosixCompatFiles m a -> String Source # | |
| type DispatchOf PosixCompatFiles Source # | Since: 0.1 |
Defined in Effectful.PosixCompat.Files.Dynamic | |
setFileMode :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FileMode -> Eff es () Source #
Lifted setFileMode.
Since: 0.1
setFdMode :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> FileMode -> Eff es () Source #
Lifted setFdMode.
Since: 0.1
setFileCreationMask :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FileMode -> Eff es FileMode Source #
Lifted setFileCreationMask.
Since: 0.1
fileAccess :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Bool -> Bool -> Bool -> Eff es Bool Source #
Lifted fileAccess.
Since: 0.1
fileExist :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es Bool Source #
Lifted fileExist.
Since: 0.1
getFileStatus :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es FileStatus Source #
Lifted getFileStatus.
Since: 0.1
getFdStatus :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> Eff es FileStatus Source #
Lifted getFdStatus.
Since: 0.1
getSymbolicLinkStatus :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es FileStatus Source #
Lifted getSymbolicLinkStatus.
Since: 0.1
createNamedPipe :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FileMode -> Eff es () Source #
Lifted createNamedPipe.
Since: 0.1
createDevice :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FileMode -> DeviceID -> Eff es () Source #
Lifted createDevice.
Since: 0.1
createLink :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FilePath -> Eff es () Source #
Lifted createLink.
Since: 0.1
removeLink :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es () Source #
Lifted removeLink.
Since: 0.1
createSymbolicLink :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FilePath -> Eff es () Source #
Lifted createSymbolicLink.
Since: 0.1
readSymbolicLink :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es FilePath Source #
Lifted readSymbolicLink.
Since: 0.1
rename :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FilePath -> Eff es () Source #
Lifted rename.
Since: 0.1
setOwnerAndGroup :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> UserID -> GroupID -> Eff es () Source #
Lifted setOwnerAndGroup.
Since: 0.1
setFdOwnerAndGroup :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> UserID -> GroupID -> Eff es () Source #
Lifted setFdOwnerAndGroup.
Since: 0.1
setSymbolicLinkOwnerAndGroup :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> UserID -> GroupID -> Eff es () Source #
Lifted setSymbolicLinkOwnerAndGroup.
Since: 0.1
setFileTimes :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> EpochTime -> EpochTime -> Eff es () Source #
Lifted setFileTimes.
Since: 0.1
touchFile :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es () Source #
Lifted touchFile.
Since: 0.1
setFileSize :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> FileOffset -> Eff es () Source #
Lifted setFileSize.
Since: 0.1
setFdSize :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> FileOffset -> Eff es () Source #
Lifted setFdSize.
Since: 0.1
getPathVar :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> PathVar -> Eff es Limit Source #
Lifted getPathVar.
Since: 0.1
getFdPathVar :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => Fd -> PathVar -> Eff es Limit Source #
Lifted getFdPathVar.
Since: 0.1
Handler
runPosixFilesCompat :: forall (es :: [Effect]) a. (HasCallStack, IOE :> es) => Eff (PosixCompatFiles ': es) a -> Eff es a Source #
Runs PosixCompatFiles in IO.
Since: 0.1
PathType
Path type.
Since: fs-utils-0.1
Constructors
| PathTypeFile | Since: fs-utils-0.1 |
| PathTypeDirectory | Since: fs-utils-0.1 |
| PathTypeSymbolicLink | Since: fs-utils-0.1 |
| PathTypeOther | Since: fs-utils-0.1 |
Instances
| NFData PathType Source # | Since: fs-utils-0.1 | ||||
Defined in FileSystem.PathType | |||||
| Bounded PathType Source # | Since: fs-utils-0.1 | ||||
| Enum PathType Source # | Since: fs-utils-0.1 | ||||
Defined in FileSystem.PathType | |||||
| Generic PathType Source # | |||||
Defined in FileSystem.PathType Associated Types
| |||||
| Show PathType Source # | Since: fs-utils-0.1 | ||||
| Eq PathType Source # | Since: fs-utils-0.1 | ||||
| Ord PathType Source # | Since: fs-utils-0.1 | ||||
Defined in FileSystem.PathType | |||||
| type Rep PathType Source # | Since: fs-utils-0.1 | ||||
Defined in FileSystem.PathType type Rep PathType = D1 ('MetaData "PathType" "FileSystem.PathType" "fs-utils-0.1-1c18be9b17453a03a56fda399072db9e246da6abf40dcf3b6bb83e326a7761fd" 'False) ((C1 ('MetaCons "PathTypeFile" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PathTypeDirectory" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PathTypeSymbolicLink" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PathTypeOther" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
displayPathType :: IsString a => PathType -> a Source #
String representation of PathType.
Since: fs-utils-0.1
Functions
throwIfWrongPathType :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => String -> PathType -> FilePath -> Eff es () Source #
Throws IOException if the path does not exist or the expected path type
does not match actual.
Since: 0.1
isPathType :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => PathType -> FilePath -> Eff es Bool Source #
Checks that the path type matches the expectation. Throws
IOException if the path does not exist or the type cannot be detected.
Since: 0.1
getPathType :: forall (es :: [Effect]). (HasCallStack, PosixCompatFiles :> es) => FilePath -> Eff es PathType Source #
Returns the type for a given path without following symlinks.
Throws IOException if the path does not exist or the type cannot be
detected.
Since: 0.1