-- 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.3.1 -- | 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 -- | SPDX License Identifiers included in -- https://archlinux.org/packages/core/any/licenses/, data License AGPL_3_0_only :: License AGPL_3_0_or_later :: License Apache_2_0 :: License Artistic_1_0_Perl :: License Artistic_2_0 :: License BSL_1_0 :: License CC_BY_1_0 :: License CC_BY_2_0 :: License CC_BY_2_5 :: License CC_BY_3_0_AT :: License CC_BY_3_0_US :: License CC_BY_3_0 :: License CC_BY_4_0 :: License CC_BY_NC_1_0 :: License CC_BY_NC_2_0 :: License CC_BY_NC_2_5 :: License CC_BY_NC_3_0 :: License CC_BY_NC_4_0 :: License CC_BY_NC_ND_1_0 :: License CC_BY_NC_ND_2_0 :: License CC_BY_NC_ND_2_5 :: License CC_BY_NC_ND_3_0_IGO :: License CC_BY_NC_ND_3_0 :: License CC_BY_NC_ND_4_0 :: License CC_BY_NC_SA_1_0 :: License CC_BY_NC_SA_2_0 :: License CC_BY_NC_SA_2_5 :: License CC_BY_NC_SA_3_0 :: License CC_BY_NC_SA_4_0 :: License CC_BY_ND_1_0 :: License CC_BY_ND_2_0 :: License CC_BY_ND_2_5 :: License CC_BY_ND_3_0 :: License CC_BY_ND_4_0 :: License CC_BY_SA_1_0 :: License CC_BY_SA_2_0_UK :: License CC_BY_SA_2_1_JP :: License CC_BY_SA_2_5 :: License CC_BY_SA_3_0_AT :: License CC_BY_SA_3_0 :: License CC_BY_SA_4_0 :: License CC_PDDC :: License CC0_1_0 :: License CDDL_1_0 :: License CDDL_1_1 :: License CPL_1_0 :: License EPL_1_0 :: License EPL_2_0 :: License FSFAP :: License GFDL_1_1_invariants_only :: License GFDL_1_1_invariants_or_later :: License GFDL_1_1_no_invariants_only :: License GFDL_1_1_no_invariants_or_later :: License GFDL_1_1_only :: License GFDL_1_1_or_later :: License GFDL_1_2_invariants_only :: License GFDL_1_2_invariants_or_later :: License GFDL_1_2_no_invariants_only :: License GFDL_1_2_no_invariants_or_later :: License GFDL_1_2_only :: License GFDL_1_2_or_later :: License GFDL_1_3_invariants_only :: License GFDL_1_3_invariants_or_later :: License GFDL_1_3_no_invariants_only :: License GFDL_1_3_no_invariants_or_later :: License GFDL_1_3_only :: License GFDL_1_3_or_later :: License GPL_1_0_only :: License GPL_1_0_or_later :: License GPL_2_0_only :: License GPL_2_0_or_later :: License GPL_3_0_only :: License GPL_3_0_or_later :: License LGPL_2_0_only :: License LGPL_2_0_or_later :: License LGPL_2_1_only :: License LGPL_2_1_or_later :: License LGPL_3_0_only :: License LGPL_3_0_or_later :: License LGPLLR :: License LPPL_1_0 :: License LPPL_1_1 :: License LPPL_1_2 :: License LPPL_1_3a :: License LPPL_1_3c :: License MPL_1_0 :: License MPL_1_1 :: License MPL_2_0 :: License PHP_3_0 :: License PHP_3_01 :: License PSF_2_0 :: License Ruby :: License Unlicense :: License W3C :: License WTFPL :: License ZPL_1_1 :: License ZPL_2_0 :: License ZPL_2_1 :: License Custom :: Text -> License licenseId :: License -> Text parseLicense :: 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 HasName s a | s -> a name :: HasName s a => Lens' s a class HasArch s a | s -> a arch :: HasArch s a => Lens' s a class HasBuildDate s a | s -> a buildDate :: HasBuildDate s a => Lens' s a class HasCheckdepends s a | s -> a checkdepends :: HasCheckdepends s a => Lens' s a class HasCompressedSize s a | s -> a compressedSize :: HasCompressedSize s a => Lens' s a class HasConflicts s a | s -> a conflicts :: HasConflicts s a => Lens' s a class HasDepends s a | s -> a depends :: HasDepends s a => Lens' s a class HasEpoch s a | s -> a epoch :: HasEpoch s a => Lens' s a class HasFilename s a | s -> a filename :: HasFilename s a => Lens' s a class HasFlageDate s a | s -> a flageDate :: HasFlageDate s a => Lens' s a class HasGroups s a | s -> a groups :: HasGroups s a => Lens' s a class HasInstalledSize s a | s -> a installedSize :: HasInstalledSize s a => Lens' s a class HasLastUpdate s a | s -> a lastUpdate :: HasLastUpdate s a => Lens' s a class HasLicenses s a | s -> a licenses :: HasLicenses s a => Lens' s a class HasMaintainers s a | s -> a maintainers :: HasMaintainers s a => Lens' s a class HasMakedepends s a | s -> a makedepends :: HasMakedepends s a => Lens' s a class HasOptdepends s a | s -> a optdepends :: HasOptdepends s a => Lens' s a class HasPackager s a | s -> a packager :: HasPackager s a => Lens' s a class HasPkgbase s a | s -> a pkgbase :: HasPkgbase s a => Lens' s a class HasPkgdesc s a | s -> a pkgdesc :: HasPkgdesc s a => Lens' s a class HasPkgname s a | s -> a pkgname :: HasPkgname s a => Lens' s a class HasPkgrel s a | s -> a pkgrel :: HasPkgrel s a => Lens' s a class HasPkgver s a | s -> a pkgver :: HasPkgver s a => Lens' s a class HasProvides s a | s -> a provides :: HasProvides s a => Lens' s a class HasReplaces s a | s -> a replaces :: HasReplaces s a => Lens' s a class HasRepo s a | s -> a repo :: HasRepo s a => Lens' s a class HasUrl s a | s -> a url :: HasUrl s a => Lens' s a class HasDirCount s a | s -> a dirCount :: HasDirCount s a => Lens' s a class HasFiles s a | s -> a files :: HasFiles s a => Lens' s a class HasFilesCount s a | s -> a filesCount :: HasFilesCount s a => Lens' s a class HasFilesLastUpdate s a | s -> a filesLastUpdate :: HasFilesLastUpdate s a => Lens' s a class HasPkgLastUpdate s a | s -> a pkgLastUpdate :: HasPkgLastUpdate s a => Lens' s a class HasLimit s a | s -> a limit :: HasLimit s a => Lens' s a class HasResults s a | s -> a results :: HasResults s a => Lens' s a class HasValid s a | s -> a valid :: HasValid s a => Lens' s a class HasVersion s a | s -> a version :: HasVersion s a => Lens' s a class HasDescription s a | s -> a description :: HasDescription s a => Lens' s a class HasFirstSubmitted s a | s -> a firstSubmitted :: HasFirstSubmitted s a => Lens' s a class HasId s a | s -> a id :: HasId s a => Lens' s a class HasLastModified s a | s -> a lastModified :: HasLastModified s a => Lens' s a class HasMaintainer s a | s -> a maintainer :: HasMaintainer s a => Lens' s a class HasNumVotes s a | s -> a numVotes :: HasNumVotes s a => Lens' s a class HasOutOfDate s a | s -> a outOfDate :: HasOutOfDate s a => Lens' s a class HasPackageBase s a | s -> a packageBase :: HasPackageBase s a => Lens' s a class HasPackageBaseID s a | s -> a packageBaseID :: HasPackageBaseID s a => Lens' s a class HasPopularity s a | s -> a popularity :: HasPopularity s a => Lens' s a class HasUrlPath s a | s -> a urlPath :: HasUrlPath s a => Lens' s a class HasKeywords s a | s -> a keywords :: HasKeywords s a => Lens' s a class HasSearch s a | s -> a search :: HasSearch s a => Lens' s a class HasAurType s a | s -> a aurType :: HasAurType s a => Lens' s a class HasError s a | s -> a error :: HasError s a => Lens' s a class HasResultCount s a | s -> a resultCount :: HasResultCount 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