-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Arch Linux official and AUR web interface binding -- -- Arch Linux official and AUR web interface binding. See README for -- details. @package arch-web @version 0.2 -- | This module defines types and their serializations used in API. -- -- Fields' names are prefixed with _ for lenses generation, -- consider using Web.ArchLinux.Types.Lens to access data types -- smoothly. module Web.ArchLinux.Types -- | Official repositories. data Repo Core :: Repo CoreTesting :: Repo Extra :: Repo ExtraTesting :: Repo Multilib :: Repo MultilibTesting :: Repo GnomeUnstable :: Repo KDEUnstable :: Repo -- | Official architectures. data Arch Any :: Arch I686 :: Arch X86_64 :: Arch -- | Liceses defined in -- https://archlinux.org/packages/core/any/licenses/, plus special -- cases listed on the wiki -- https://wiki.archlinux.org/title/PKGBUILD#license. data License AGPL3 :: License Apache :: License Artistic2_0 :: License CDDL :: License CPL :: License EPL :: License FDL1_2 :: License FDL1_3 :: License GPL2 :: License GPL3 :: License LGPL2_1 :: License LGPL3 :: License LPPL :: License MPL :: License MPL2 :: License PHP :: License PSF :: License PerlArtistic :: License RUBY :: License Unlicense :: License W3C :: License ZPL :: License BSD :: License ISC :: License MIT :: License ZLIB :: License Python :: License OFL :: License Custom :: Text -> License -- | Package details returned by getPackageDetails. data PackageInformation PackageInformation :: Text -> Text -> Repo -> Arch -> Text -> Text -> Int -> Text -> Text -> Text -> Int -> Int -> UTCTime -> UTCTime -> Maybe UTCTime -> [Text] -> Text -> [Text] -> [License] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> PackageInformation [$sel:_pkgname:PackageInformation] :: PackageInformation -> Text [$sel:_pkgbase:PackageInformation] :: PackageInformation -> Text [$sel:_repo:PackageInformation] :: PackageInformation -> Repo [$sel:_arch:PackageInformation] :: PackageInformation -> Arch [$sel:_pkgver:PackageInformation] :: PackageInformation -> Text [$sel:_pkgrel:PackageInformation] :: PackageInformation -> Text [$sel:_epoch:PackageInformation] :: PackageInformation -> Int [$sel:_pkgdesc:PackageInformation] :: PackageInformation -> Text [$sel:_url:PackageInformation] :: PackageInformation -> Text [$sel:_filename:PackageInformation] :: PackageInformation -> Text [$sel:_compressedSize:PackageInformation] :: PackageInformation -> Int [$sel:_installedSize:PackageInformation] :: PackageInformation -> Int [$sel:_buildDate:PackageInformation] :: PackageInformation -> UTCTime [$sel:_lastUpdate:PackageInformation] :: PackageInformation -> UTCTime [$sel:_flageDate:PackageInformation] :: PackageInformation -> Maybe UTCTime [$sel:_maintainers:PackageInformation] :: PackageInformation -> [Text] [$sel:_packager:PackageInformation] :: PackageInformation -> Text [$sel:_groups:PackageInformation] :: PackageInformation -> [Text] [$sel:_licenses:PackageInformation] :: PackageInformation -> [License] [$sel:_conflicts:PackageInformation] :: PackageInformation -> [Text] [$sel:_provides:PackageInformation] :: PackageInformation -> [Text] [$sel:_replaces:PackageInformation] :: PackageInformation -> [Text] [$sel:_depends:PackageInformation] :: PackageInformation -> [Text] [$sel:_optdepends:PackageInformation] :: PackageInformation -> [Text] [$sel:_makedepends:PackageInformation] :: PackageInformation -> [Text] [$sel:_checkdepends:PackageInformation] :: PackageInformation -> [Text] -- | Package files list returned by getPackageFiles data PackageFiles PackageFiles :: Text -> Repo -> Arch -> UTCTime -> UTCTime -> Int -> Int -> [FilePath] -> PackageFiles [$sel:_pkgname:PackageFiles] :: PackageFiles -> Text [$sel:_repo:PackageFiles] :: PackageFiles -> Repo [$sel:_arch:PackageFiles] :: PackageFiles -> Arch [$sel:_pkgLastUpdate:PackageFiles] :: PackageFiles -> UTCTime [$sel:_filesLastUpdate:PackageFiles] :: PackageFiles -> UTCTime [$sel:_filesCount:PackageFiles] :: PackageFiles -> Int [$sel:_dirCount:PackageFiles] :: PackageFiles -> Int [$sel:_files:PackageFiles] :: PackageFiles -> [FilePath] -- | Flagged package means out-of-date. data Flagged Flagged :: Flagged NotFlagged :: Flagged -- | Response data type of searchPackage. data ArchLinuxResponse a ArchLinuxResponse :: Int -> Int -> Bool -> [a] -> ArchLinuxResponse a [$sel:_version:ArchLinuxResponse] :: ArchLinuxResponse a -> Int [$sel:_limit:ArchLinuxResponse] :: ArchLinuxResponse a -> Int [$sel:_valid:ArchLinuxResponse] :: ArchLinuxResponse a -> Bool [$sel:_results:ArchLinuxResponse] :: ArchLinuxResponse a -> [a] -- | Search results returned by searchAur. -- -- Some of fields are renamed in this record type, for sharing overloaded -- lenses between data type returned by Arch Linux official API. data AurSearch AurSearch :: Int -> Text -> Int -> Text -> Text -> Maybe Text -> Maybe Text -> Int -> Double -> Maybe Int -> Maybe Text -> Int -> Int -> Text -> AurSearch [$sel:_id:AurSearch] :: AurSearch -> Int [$sel:_name:AurSearch] :: AurSearch -> Text [$sel:_packageBaseID:AurSearch] :: AurSearch -> Int [$sel:_packageBase:AurSearch] :: AurSearch -> Text [$sel:_version:AurSearch] :: AurSearch -> Text [$sel:_description:AurSearch] :: AurSearch -> Maybe Text -- | URL [$sel:_url:AurSearch] :: AurSearch -> Maybe Text [$sel:_numVotes:AurSearch] :: AurSearch -> Int [$sel:_popularity:AurSearch] :: AurSearch -> Double -- | UTCTime [$sel:_outOfDate:AurSearch] :: AurSearch -> Maybe Int [$sel:_maintainer:AurSearch] :: AurSearch -> Maybe Text -- | UTCTime [$sel:_firstSubmitted:AurSearch] :: AurSearch -> Int -- | UTCTime [$sel:_lastModified:AurSearch] :: AurSearch -> Int [$sel:_urlPath:AurSearch] :: AurSearch -> Text -- | Package details returned by getAurInfo. -- -- This data type extends AurSearch informally, so it includes -- $sel:_search:AurInfo as a member. data AurInfo AurInfo :: AurSearch -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [License] -> [Text] -> AurInfo -- | ID, Name, PackageBaseID, ... [$sel:_search:AurInfo] :: AurInfo -> AurSearch -- | Depends [$sel:_depends:AurInfo] :: AurInfo -> [Text] -- | MakeDepends [$sel:_makedepends:AurInfo] :: AurInfo -> [Text] -- | OptDepends [$sel:_optdepends:AurInfo] :: AurInfo -> [Text] -- | CheckDepends [$sel:_checkdepends:AurInfo] :: AurInfo -> [Text] [$sel:_conflicts:AurInfo] :: AurInfo -> [Text] [$sel:_provides:AurInfo] :: AurInfo -> [Text] [$sel:_replaces:AurInfo] :: AurInfo -> [Text] [$sel:_groups:AurInfo] :: AurInfo -> [Text] [$sel:_licenses:AurInfo] :: AurInfo -> [License] [$sel:_keywords:AurInfo] :: AurInfo -> [Text] -- | Return types of AUR API. data AurResponseType Search :: AurResponseType Multiinfo :: AurResponseType Error :: AurResponseType -- | Response data type of AUR API. data AurResponse a AurResponse :: Int -> AurResponseType -> Int -> a -> Maybe Text -> AurResponse a [$sel:_version:AurResponse] :: AurResponse a -> Int -- | type [$sel:_aurType:AurResponse] :: AurResponse a -> AurResponseType -- | resultcount [$sel:_resultCount:AurResponse] :: AurResponse a -> Int [$sel:_results:AurResponse] :: AurResponse a -> a -- | Available when aurType equals to Error. [$sel:_error:AurResponse] :: AurResponse a -> Maybe Text instance Data.Aeson.Types.ToJSON.ToJSON Web.ArchLinux.Types.Repo instance Data.Aeson.Types.FromJSON.FromJSON Web.ArchLinux.Types.Repo instance GHC.Generics.Generic Web.ArchLinux.Types.Repo instance GHC.Enum.Enum Web.ArchLinux.Types.Repo instance GHC.Classes.Ord Web.ArchLinux.Types.Repo instance GHC.Classes.Eq Web.ArchLinux.Types.Repo instance GHC.Show.Show Web.ArchLinux.Types.Repo instance Data.Aeson.Types.ToJSON.ToJSON Web.ArchLinux.Types.Arch instance Data.Aeson.Types.FromJSON.FromJSON Web.ArchLinux.Types.Arch instance GHC.Generics.Generic Web.ArchLinux.Types.Arch instance GHC.Enum.Enum Web.ArchLinux.Types.Arch instance GHC.Classes.Ord Web.ArchLinux.Types.Arch instance GHC.Classes.Eq Web.ArchLinux.Types.Arch instance GHC.Show.Show Web.ArchLinux.Types.Arch instance GHC.Generics.Generic Web.ArchLinux.Types.License instance GHC.Classes.Ord Web.ArchLinux.Types.License instance GHC.Classes.Eq Web.ArchLinux.Types.License instance GHC.Show.Show Web.ArchLinux.Types.License instance Data.Aeson.Types.ToJSON.ToJSON Web.ArchLinux.Types.PackageInformation instance Data.Aeson.Types.FromJSON.FromJSON Web.ArchLinux.Types.PackageInformation instance GHC.Generics.Generic Web.ArchLinux.Types.PackageInformation instance GHC.Classes.Ord Web.ArchLinux.Types.PackageInformation instance GHC.Classes.Eq Web.ArchLinux.Types.PackageInformation instance GHC.Show.Show Web.ArchLinux.Types.PackageInformation instance Data.Aeson.Types.ToJSON.ToJSON Web.ArchLinux.Types.PackageFiles instance Data.Aeson.Types.FromJSON.FromJSON Web.ArchLinux.Types.PackageFiles instance GHC.Generics.Generic Web.ArchLinux.Types.PackageFiles instance GHC.Classes.Ord Web.ArchLinux.Types.PackageFiles instance GHC.Classes.Eq Web.ArchLinux.Types.PackageFiles instance GHC.Show.Show Web.ArchLinux.Types.PackageFiles instance GHC.Generics.Generic Web.ArchLinux.Types.Flagged instance GHC.Enum.Enum Web.ArchLinux.Types.Flagged instance GHC.Classes.Ord Web.ArchLinux.Types.Flagged instance GHC.Classes.Eq Web.ArchLinux.Types.Flagged instance GHC.Show.Show Web.ArchLinux.Types.Flagged instance GHC.Generics.Generic (Web.ArchLinux.Types.ArchLinuxResponse a) instance GHC.Base.Functor Web.ArchLinux.Types.ArchLinuxResponse instance GHC.Classes.Ord a => GHC.Classes.Ord (Web.ArchLinux.Types.ArchLinuxResponse a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Web.ArchLinux.Types.ArchLinuxResponse a) instance GHC.Show.Show a => GHC.Show.Show (Web.ArchLinux.Types.ArchLinuxResponse a) instance Data.Aeson.Types.ToJSON.ToJSON Web.ArchLinux.Types.AurSearch instance Data.Aeson.Types.FromJSON.FromJSON Web.ArchLinux.Types.AurSearch instance GHC.Generics.Generic Web.ArchLinux.Types.AurSearch instance GHC.Classes.Ord Web.ArchLinux.Types.AurSearch instance GHC.Classes.Eq Web.ArchLinux.Types.AurSearch instance GHC.Show.Show Web.ArchLinux.Types.AurSearch instance GHC.Generics.Generic Web.ArchLinux.Types.AurInfo instance GHC.Classes.Ord Web.ArchLinux.Types.AurInfo instance GHC.Classes.Eq Web.ArchLinux.Types.AurInfo instance GHC.Show.Show Web.ArchLinux.Types.AurInfo instance Data.Aeson.Types.ToJSON.ToJSON Web.ArchLinux.Types.AurResponseType instance Data.Aeson.Types.FromJSON.FromJSON Web.ArchLinux.Types.AurResponseType instance GHC.Generics.Generic Web.ArchLinux.Types.AurResponseType instance GHC.Enum.Enum Web.ArchLinux.Types.AurResponseType instance GHC.Classes.Ord Web.ArchLinux.Types.AurResponseType instance GHC.Classes.Eq Web.ArchLinux.Types.AurResponseType instance GHC.Show.Show Web.ArchLinux.Types.AurResponseType instance GHC.Generics.Generic (Web.ArchLinux.Types.AurResponse a) instance GHC.Base.Functor Web.ArchLinux.Types.AurResponse instance GHC.Classes.Ord a => GHC.Classes.Ord (Web.ArchLinux.Types.AurResponse a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Web.ArchLinux.Types.AurResponse a) instance GHC.Show.Show a => GHC.Show.Show (Web.ArchLinux.Types.AurResponse a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Web.ArchLinux.Types.ArchLinuxResponse a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Web.ArchLinux.Types.ArchLinuxResponse a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Web.ArchLinux.Types.AurResponse a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Web.ArchLinux.Types.AurResponse a) instance Data.Aeson.Types.FromJSON.FromJSON Web.ArchLinux.Types.AurInfo instance Data.Aeson.Types.ToJSON.ToJSON Web.ArchLinux.Types.AurInfo instance Web.Internal.HttpApiData.ToHttpApiData Web.ArchLinux.Types.Flagged instance Data.Aeson.Types.ToJSON.ToJSON Web.ArchLinux.Types.License instance Data.Aeson.Types.FromJSON.FromJSON Web.ArchLinux.Types.License instance Web.Internal.HttpApiData.ToHttpApiData Web.ArchLinux.Types.Arch instance Web.Internal.HttpApiData.ToHttpApiData Web.ArchLinux.Types.Repo instance Deriving.Aeson.StringModifier Web.ArchLinux.Types.AurModifier -- | Arch Linux official repositories APIs and AUR APIs. -- -- These two kinds of APIs are distinguished by APIClient. -- Functions over them return APIClient parametrize by -- corresponding APIType. -- -- Overall, there are five APIs available, refer to -- https://wiki.archlinux.org/index.php/Official_repositories_web_interface -- and https://wiki.archlinux.org/index.php/Aurweb_RPC_interface. module Web.ArchLinux.API -- | A wrapper of ClientM, with BaseUrl reflected to type -- level phantom APIType. newtype APIClient (k :: APIType) a APIClient :: ClientM a -> APIClient (k :: APIType) a [unWrapClientM] :: APIClient (k :: APIType) a -> ClientM a -- | Two types of APIs. data APIType ArchLinux :: APIType Aur :: APIType -- | Class to reify BaseUrl from APIType. class HasBaseUrl (k :: APIType) getBaseUrl :: HasBaseUrl k => BaseUrl -- | Runs APIClient. -- -- It calls getBaseUrl, then creates ClientEnv, finally -- calls runClientM. runAPIClient :: forall s a. HasBaseUrl s => Manager -> APIClient s a -> IO (Either ClientError a) -- | Like runAPIClient, but creates a Manager. runAPIClient' :: HasBaseUrl s => APIClient s a -> IO (Either ClientError a) -- | Options available in searching packages in Arch Linux official -- repositories. -- -- See searchPackage. data SearchOptions SearchOptions :: Maybe Text -> Maybe Text -> Maybe Text -> [Repo] -> [Arch] -> Maybe Text -> Maybe Text -> Maybe Flagged -> SearchOptions [_nameOrDescription] :: SearchOptions -> Maybe Text [_exactName] :: SearchOptions -> Maybe Text [_targetDescription] :: SearchOptions -> Maybe Text [_targetRepositories] :: SearchOptions -> [Repo] [_targetArchitectures] :: SearchOptions -> [Arch] [_targetMaintianer] :: SearchOptions -> Maybe Text [_targetPackager] :: SearchOptions -> Maybe Text [_isFlagged] :: SearchOptions -> Maybe Flagged -- | An empty options value for convenient. -- -- For example, -- --
--   let options =
--         emptySearchOptions
--           & nameOrDescription ?~ "kea"
--           & targetRepositories .~ [Extra, ExtraTesting]
--   searchPackage options
--   
-- -- searchs packages whose names or descriptions contain kea, -- from Extra or Extra-Testing. emptySearchOptions :: SearchOptions -- | Gets details of an exact package. getPackageDetails :: Repo -> Arch -> Text -> APIClient 'ArchLinux PackageInformation -- | Gets files list of an exact package. getPackageFiles :: Repo -> Arch -> Text -> APIClient 'ArchLinux PackageFiles -- | Searches packages. -- -- See SearchOptions and emptySearchOptions. searchPackage :: SearchOptions -> APIClient 'ArchLinux (ArchLinuxResponse PackageInformation) -- | Searches packages in AUR by what? data AurSearchType ByName :: AurSearchType ByNameOrDesc :: AurSearchType ByMaintainer :: AurSearchType ByDepends :: AurSearchType ByMakedepends :: AurSearchType ByOptdepends :: AurSearchType ByCheckdepends :: AurSearchType -- | Searches packages in AUR. searchAur :: AurSearchType -> Text -> APIClient 'Aur (AurResponse [AurSearch]) -- | Gets details of a set of packages in AUR. getAurInfo :: [Text] -> APIClient 'Aur (AurResponse [AurInfo]) instance Servant.Client.Core.RunClient.RunClient (Web.ArchLinux.API.APIClient k) instance Control.Monad.Catch.MonadCatch (Web.ArchLinux.API.APIClient k) instance Control.Monad.Catch.MonadThrow (Web.ArchLinux.API.APIClient k) instance Control.Monad.Error.Class.MonadError Servant.Client.Core.ClientError.ClientError (Web.ArchLinux.API.APIClient k) instance Control.Monad.Reader.Class.MonadReader Servant.Client.Internal.HttpClient.ClientEnv (Web.ArchLinux.API.APIClient k) instance GHC.Generics.Generic (Web.ArchLinux.API.APIClient k a) instance Control.Monad.IO.Class.MonadIO (Web.ArchLinux.API.APIClient k) instance GHC.Base.Monad (Web.ArchLinux.API.APIClient k) instance GHC.Base.Applicative (Web.ArchLinux.API.APIClient k) instance GHC.Base.Functor (Web.ArchLinux.API.APIClient k) instance GHC.Show.Show Web.ArchLinux.API.SearchOptions instance GHC.Classes.Ord Web.ArchLinux.API.SearchOptions instance GHC.Classes.Eq Web.ArchLinux.API.SearchOptions instance GHC.Generics.Generic Web.ArchLinux.API.SearchOptions instance GHC.Show.Show Web.ArchLinux.API.AurSearchType instance GHC.Enum.Enum Web.ArchLinux.API.AurSearchType instance GHC.Classes.Ord Web.ArchLinux.API.AurSearchType instance GHC.Classes.Eq Web.ArchLinux.API.AurSearchType instance GHC.Generics.Generic Web.ArchLinux.API.AurSearchType instance Web.ArchLinux.API.HasBaseUrl 'Web.ArchLinux.API.ArchLinux instance Web.ArchLinux.API.HasBaseUrl 'Web.ArchLinux.API.Aur -- | Arch Linux official repositories web interfaces and AUR web -- interfaces. module Web.ArchLinux -- | Lenses. module Web.ArchLinux.Types.Lens class HasUrl s a | s -> a url :: HasUrl s a => Lens' s a class HasRepo s a | s -> a repo :: HasRepo s a => Lens' s a class HasReplaces s a | s -> a replaces :: HasReplaces s a => Lens' s a class HasProvides s a | s -> a provides :: HasProvides s a => Lens' s a class HasPkgver s a | s -> a pkgver :: HasPkgver s a => Lens' s a class HasPkgrel s a | s -> a pkgrel :: HasPkgrel s a => Lens' s a class HasPkgname s a | s -> a pkgname :: HasPkgname s a => Lens' s a class HasPkgdesc s a | s -> a pkgdesc :: HasPkgdesc s a => Lens' s a class HasPkgbase s a | s -> a pkgbase :: HasPkgbase s a => Lens' s a class HasPackager s a | s -> a packager :: HasPackager s a => Lens' s a class HasOptdepends s a | s -> a optdepends :: HasOptdepends s a => Lens' s a class HasMakedepends s a | s -> a makedepends :: HasMakedepends s a => Lens' s a class HasMaintainers s a | s -> a maintainers :: HasMaintainers s a => Lens' s a class HasLicenses s a | s -> a licenses :: HasLicenses s a => Lens' s a class HasLastUpdate s a | s -> a lastUpdate :: HasLastUpdate s a => Lens' s a class HasInstalledSize s a | s -> a installedSize :: HasInstalledSize s a => Lens' s a class HasGroups s a | s -> a groups :: HasGroups s a => Lens' s a class HasFlageDate s a | s -> a flageDate :: HasFlageDate s a => Lens' s a class HasFilename s a | s -> a filename :: HasFilename s a => Lens' s a class HasEpoch s a | s -> a epoch :: HasEpoch s a => Lens' s a class HasDepends s a | s -> a depends :: HasDepends s a => Lens' s a class HasConflicts s a | s -> a conflicts :: HasConflicts s a => Lens' s a class HasCompressedSize s a | s -> a compressedSize :: HasCompressedSize s a => Lens' s a class HasCheckdepends s a | s -> a checkdepends :: HasCheckdepends s a => Lens' s a class HasBuildDate s a | s -> a buildDate :: HasBuildDate s a => Lens' s a class HasArch s a | s -> a arch :: HasArch s a => Lens' s a class HasPkgLastUpdate s a | s -> a pkgLastUpdate :: HasPkgLastUpdate s a => Lens' s a class HasFilesLastUpdate s a | s -> a filesLastUpdate :: HasFilesLastUpdate s a => Lens' s a class HasFilesCount s a | s -> a filesCount :: HasFilesCount s a => Lens' s a class HasFiles s a | s -> a files :: HasFiles s a => Lens' s a class HasDirCount s a | s -> a dirCount :: HasDirCount s a => Lens' s a class HasVersion s a | s -> a version :: HasVersion s a => Lens' s a class HasValid s a | s -> a valid :: HasValid s a => Lens' s a class HasResults s a | s -> a results :: HasResults s a => Lens' s a class HasLimit s a | s -> a limit :: HasLimit s a => Lens' s a class HasUrlPath s a | s -> a urlPath :: HasUrlPath s a => Lens' s a class HasPopularity s a | s -> a popularity :: HasPopularity s a => Lens' s a class HasPackageBaseID s a | s -> a packageBaseID :: HasPackageBaseID s a => Lens' s a class HasPackageBase s a | s -> a packageBase :: HasPackageBase s a => Lens' s a class HasOutOfDate s a | s -> a outOfDate :: HasOutOfDate s a => Lens' s a class HasNumVotes s a | s -> a numVotes :: HasNumVotes s a => Lens' s a class HasName s a | s -> a name :: HasName s a => Lens' s a class HasMaintainer s a | s -> a maintainer :: HasMaintainer s a => Lens' s a class HasLastModified s a | s -> a lastModified :: HasLastModified s a => Lens' s a class HasId s a | s -> a id :: HasId s a => Lens' s a class HasFirstSubmitted s a | s -> a firstSubmitted :: HasFirstSubmitted s a => Lens' s a class HasDescription s a | s -> a description :: HasDescription s a => Lens' s a class HasSearch s a | s -> a search :: HasSearch s a => Lens' s a class HasKeywords s a | s -> a keywords :: HasKeywords s a => Lens' s a class HasResultCount s a | s -> a resultCount :: HasResultCount s a => Lens' s a class HasError s a | s -> a error :: HasError s a => Lens' s a class HasAurType s a | s -> a aurType :: HasAurType s a => Lens' s a exactName :: Lens' SearchOptions (Maybe Text) isFlagged :: Lens' SearchOptions (Maybe Flagged) nameOrDescription :: Lens' SearchOptions (Maybe Text) targetArchitectures :: Lens' SearchOptions [Arch] targetDescription :: Lens' SearchOptions (Maybe Text) targetMaintianer :: Lens' SearchOptions (Maybe Text) targetPackager :: Lens' SearchOptions (Maybe Text) targetRepositories :: Lens' SearchOptions [Repo] instance Web.ArchLinux.Types.Lens.HasResultCount (Web.ArchLinux.Types.AurResponse a) GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasError (Web.ArchLinux.Types.AurResponse a) (GHC.Maybe.Maybe Data.Text.Internal.Text) instance Web.ArchLinux.Types.Lens.HasAurType (Web.ArchLinux.Types.AurResponse a) Web.ArchLinux.Types.AurResponseType instance Web.ArchLinux.Types.Lens.HasResults (Web.ArchLinux.Types.AurResponse a) a instance Web.ArchLinux.Types.Lens.HasVersion (Web.ArchLinux.Types.AurResponse a) GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasSearch Web.ArchLinux.Types.AurInfo Web.ArchLinux.Types.AurSearch instance Web.ArchLinux.Types.Lens.HasKeywords Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasCheckdepends Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasConflicts Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasDepends Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasGroups Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasLicenses Web.ArchLinux.Types.AurInfo [Web.ArchLinux.Types.License] instance Web.ArchLinux.Types.Lens.HasMakedepends Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasOptdepends Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasProvides Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasReplaces Web.ArchLinux.Types.AurInfo [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasUrlPath Web.ArchLinux.Types.AurSearch Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasPopularity Web.ArchLinux.Types.AurSearch GHC.Types.Double instance Web.ArchLinux.Types.Lens.HasPackageBaseID Web.ArchLinux.Types.AurSearch GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasPackageBase Web.ArchLinux.Types.AurSearch Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasOutOfDate Web.ArchLinux.Types.AurSearch (GHC.Maybe.Maybe GHC.Types.Int) instance Web.ArchLinux.Types.Lens.HasNumVotes Web.ArchLinux.Types.AurSearch GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasName Web.ArchLinux.Types.AurSearch Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasMaintainer Web.ArchLinux.Types.AurSearch (GHC.Maybe.Maybe Data.Text.Internal.Text) instance Web.ArchLinux.Types.Lens.HasLastModified Web.ArchLinux.Types.AurSearch GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasId Web.ArchLinux.Types.AurSearch GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasFirstSubmitted Web.ArchLinux.Types.AurSearch GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasDescription Web.ArchLinux.Types.AurSearch (GHC.Maybe.Maybe Data.Text.Internal.Text) instance Web.ArchLinux.Types.Lens.HasUrl Web.ArchLinux.Types.AurSearch (GHC.Maybe.Maybe Data.Text.Internal.Text) instance Web.ArchLinux.Types.Lens.HasVersion Web.ArchLinux.Types.AurSearch Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasVersion (Web.ArchLinux.Types.ArchLinuxResponse a) GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasValid (Web.ArchLinux.Types.ArchLinuxResponse a) GHC.Types.Bool instance Web.ArchLinux.Types.Lens.HasResults (Web.ArchLinux.Types.ArchLinuxResponse a) [a] instance Web.ArchLinux.Types.Lens.HasLimit (Web.ArchLinux.Types.ArchLinuxResponse a) GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasPkgLastUpdate Web.ArchLinux.Types.PackageFiles Data.Time.Clock.Internal.UTCTime.UTCTime instance Web.ArchLinux.Types.Lens.HasFilesLastUpdate Web.ArchLinux.Types.PackageFiles Data.Time.Clock.Internal.UTCTime.UTCTime instance Web.ArchLinux.Types.Lens.HasFilesCount Web.ArchLinux.Types.PackageFiles GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasFiles Web.ArchLinux.Types.PackageFiles [GHC.IO.FilePath] instance Web.ArchLinux.Types.Lens.HasDirCount Web.ArchLinux.Types.PackageFiles GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasArch Web.ArchLinux.Types.PackageFiles Web.ArchLinux.Types.Arch instance Web.ArchLinux.Types.Lens.HasPkgname Web.ArchLinux.Types.PackageFiles Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasRepo Web.ArchLinux.Types.PackageFiles Web.ArchLinux.Types.Repo instance Web.ArchLinux.Types.Lens.HasUrl Web.ArchLinux.Types.PackageInformation Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasRepo Web.ArchLinux.Types.PackageInformation Web.ArchLinux.Types.Repo instance Web.ArchLinux.Types.Lens.HasReplaces Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasProvides Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasPkgver Web.ArchLinux.Types.PackageInformation Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasPkgrel Web.ArchLinux.Types.PackageInformation Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasPkgname Web.ArchLinux.Types.PackageInformation Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasPkgdesc Web.ArchLinux.Types.PackageInformation Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasPkgbase Web.ArchLinux.Types.PackageInformation Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasPackager Web.ArchLinux.Types.PackageInformation Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasOptdepends Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasMakedepends Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasMaintainers Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasLicenses Web.ArchLinux.Types.PackageInformation [Web.ArchLinux.Types.License] instance Web.ArchLinux.Types.Lens.HasLastUpdate Web.ArchLinux.Types.PackageInformation Data.Time.Clock.Internal.UTCTime.UTCTime instance Web.ArchLinux.Types.Lens.HasInstalledSize Web.ArchLinux.Types.PackageInformation GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasGroups Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasFlageDate Web.ArchLinux.Types.PackageInformation (GHC.Maybe.Maybe Data.Time.Clock.Internal.UTCTime.UTCTime) instance Web.ArchLinux.Types.Lens.HasFilename Web.ArchLinux.Types.PackageInformation Data.Text.Internal.Text instance Web.ArchLinux.Types.Lens.HasEpoch Web.ArchLinux.Types.PackageInformation GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasDepends Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasConflicts Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasCompressedSize Web.ArchLinux.Types.PackageInformation GHC.Types.Int instance Web.ArchLinux.Types.Lens.HasCheckdepends Web.ArchLinux.Types.PackageInformation [Data.Text.Internal.Text] instance Web.ArchLinux.Types.Lens.HasBuildDate Web.ArchLinux.Types.PackageInformation Data.Time.Clock.Internal.UTCTime.UTCTime instance Web.ArchLinux.Types.Lens.HasArch Web.ArchLinux.Types.PackageInformation Web.ArchLinux.Types.Arch