| Copyright | (c) 2020 berberman |
|---|---|
| License | MIT |
| Maintainer | berberman <1793913507@qq.com> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Distribution.Uusi.Types
Description
Types and lenses used by the library.
Synopsis
- data ComponentialPackage = ComponentialPackage {}
- data VersionedPackage = VersionedPackage {}
- type Op a = a -> a
- type SomeUusi = [Uusi]
- type Uusi = Action Text (PackageName -> Bool)
- data Action tag p
- = Remove tag p
- | SetVersion tag p VersionRange
- | Replace tag p [VersionedPackage]
- class HasVersionedPackage c where
- class HasComponentialPackage c where
Documentation
data ComponentialPackage Source #
Sub type of VersionedPackage, with UnqualComponentName.
Similar to VersionedPackage, for defining lenses.
See HasComponentialPackage.
Constructors
| ComponentialPackage | |
Instances
data VersionedPackage Source #
Super type of three kinds of dependency.
Because cabal doesn't define lenses of Dependency, ExeDependency, and LegacyExeDependency,
here comes out a general data type to define overloaded lenses.
See HasVersionedPackage.
Constructors
| VersionedPackage | |
Fields | |
Instances
| Show VersionedPackage Source # | |
Defined in Distribution.Uusi.Types Methods showsPrec :: Int -> VersionedPackage -> ShowS # show :: VersionedPackage -> String # showList :: [VersionedPackage] -> ShowS # | |
| HasVersionedPackage VersionedPackage Source # | |
type Uusi = Action Text (PackageName -> Bool) Source #
Common Action, where the predication p is PackageName.
Action acting on cabal dependencies.
Constructors
| Remove tag p | For a dependency x, if P(x) then remove x |
| SetVersion tag p VersionRange | For a dependency x, if P(x) then set x's version range |
| Replace tag p [VersionedPackage] | For a dependency x, if P(x) then replace x with a set of packages |
class HasVersionedPackage c where Source #
Minimal complete definition
Methods
versionedPackage :: Lens' c VersionedPackage Source #
myPkgName :: Lens' c PackageName Source #
class HasComponentialPackage c where Source #
Minimal complete definition
Methods
componentialPackage :: Lens' c ComponentialPackage Source #