gogol-customsearch (empty) → 0.0.1
raw patch · 9 files changed
+3338/−0 lines, 9 filesdep +basedep +gogol-coresetup-changed
Dependencies added: base, gogol-core
Files
- LICENSE +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/CustomSearch.hs +234/−0
- gen/Network/Google/CustomSearch/Types.hs +220/−0
- gen/Network/Google/CustomSearch/Types/Product.hs +1402/−0
- gen/Network/Google/CustomSearch/Types/Sum.hs +535/−0
- gen/Network/Google/Resource/Search/CSE/List.hs +504/−0
- gogol-customsearch.cabal +46/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-customsearch++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google CustomSearch.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`gogol-customsearch` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ gen/Network/Google/CustomSearch.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.CustomSearch+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lets you search over a website or collection of websites+--+-- /See:/ <https://developers.google.com/custom-search/v1/using_rest CustomSearch API Reference>+module Network.Google.CustomSearch+ (+ -- * Service Configuration+ customSearchService++ -- * API Declaration+ , CustomSearchAPI++ -- * Resources++ -- ** search.cse.list+ , module Network.Google.Resource.Search.CSE.List++ -- * Types++ -- ** CSEListImgType+ , CSEListImgType (..)++ -- ** PromotionImage+ , PromotionImage+ , promotionImage+ , piHeight+ , piWidth+ , piSource++ -- ** Context+ , Context+ , context+ , cFacets+ , cTitle++ -- ** CSEListSiteSearchFilter+ , CSEListSiteSearchFilter (..)++ -- ** SearchQueries+ , SearchQueries+ , searchQueries+ , sqAddtional++ -- ** ResultPagemapAdditionalItem+ , ResultPagemapAdditionalItem+ , resultPagemapAdditionalItem+ , rpaiAddtional++ -- ** SearchURL+ , SearchURL+ , searchURL+ , suType+ , suTemplate++ -- ** SearchSpelling+ , SearchSpelling+ , searchSpelling+ , ssCorrectedQuery+ , ssHTMLCorrectedQuery++ -- ** CSEListImgDominantColor+ , CSEListImgDominantColor (..)++ -- ** ResultImage+ , ResultImage+ , resultImage+ , riThumbnailLink+ , riHeight+ , riByteSize+ , riContextLink+ , riThumbnailHeight+ , riWidth+ , riThumbnailWidth++ -- ** CSEListSafe+ , CSEListSafe (..)++ -- ** ResultPagemap+ , ResultPagemap+ , resultPagemap+ , rpAddtional++ -- ** CSEListImgColorType+ , CSEListImgColorType (..)++ -- ** Result+ , Result+ , result+ , rMime+ , rImage+ , rPagemap+ , rDisplayLink+ , rFileFormat+ , rSnippet+ , rKind+ , rLink+ , rHTMLSnippet+ , rHTMLFormattedURL+ , rCacheId+ , rFormattedURL+ , rHTMLTitle+ , rLabels+ , rTitle++ -- ** ResultLabelsItem+ , ResultLabelsItem+ , resultLabelsItem+ , rliName+ , rliDisplayName+ , rliLabelWithOp++ -- ** SearchSearchInformation+ , SearchSearchInformation+ , searchSearchInformation+ , ssiSearchTime+ , ssiFormattedSearchTime+ , ssiTotalResults+ , ssiFormattedTotalResults++ -- ** CSEListFilter+ , CSEListFilter (..)++ -- ** Query+ , Query+ , query+ , qImgDominantColor+ , qOutputEncoding+ , qSiteSearchFilter+ , qInputEncoding+ , qOrTerms+ , qSearchTerms+ , qStartPage+ , qRights+ , qCount+ , qExcludeTerms+ , qFileType+ , qSearchType+ , qGoogleHost+ , qDisableCnTwTranslation+ , qRelatedSite+ , qHl+ , qCref+ , qSort+ , qLanguage+ , qSiteSearch+ , qFilter+ , qTotalResults+ , qDateRestrict+ , qTitle+ , qLinkSite+ , qLowRange+ , qImgType+ , qGl+ , qCx+ , qImgColorType+ , qImgSize+ , qExactTerms+ , qStartIndex+ , qCr+ , qSafe+ , qHq+ , qHighRange++ -- ** PromotionBodyLinesItem+ , PromotionBodyLinesItem+ , promotionBodyLinesItem+ , pbliLink+ , pbliURL+ , pbliHTMLTitle+ , pbliTitle++ -- ** Promotion+ , Promotion+ , promotion+ , pImage+ , pDisplayLink+ , pBodyLines+ , pLink+ , pHTMLTitle+ , pTitle++ -- ** Search+ , Search+ , search+ , sQueries+ , sContext+ , sKind+ , sURL+ , sItems+ , sSearchInformation+ , sPromotions+ , sSpelling++ -- ** CSEListLr+ , CSEListLr (..)++ -- ** ContextFacetsItemItem+ , ContextFacetsItemItem+ , contextFacetsItemItem+ , cfiiAnchor+ , cfiiLabelWithOp+ , cfiiLabel++ -- ** CSEListSearchType+ , CSEListSearchType (..)++ -- ** CSEListImgSize+ , CSEListImgSize (..)+ ) where++import Network.Google.CustomSearch.Types+import Network.Google.Prelude+import Network.Google.Resource.Search.CSE.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the CustomSearch API service.+type CustomSearchAPI = CSEListResource
+ gen/Network/Google/CustomSearch/Types.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.CustomSearch.Types+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CustomSearch.Types+ (+ -- * Service Configuration+ customSearchService++ -- * CSEListImgType+ , CSEListImgType (..)++ -- * PromotionImage+ , PromotionImage+ , promotionImage+ , piHeight+ , piWidth+ , piSource++ -- * Context+ , Context+ , context+ , cFacets+ , cTitle++ -- * CSEListSiteSearchFilter+ , CSEListSiteSearchFilter (..)++ -- * SearchQueries+ , SearchQueries+ , searchQueries+ , sqAddtional++ -- * ResultPagemapAdditionalItem+ , ResultPagemapAdditionalItem+ , resultPagemapAdditionalItem+ , rpaiAddtional++ -- * SearchURL+ , SearchURL+ , searchURL+ , suType+ , suTemplate++ -- * SearchSpelling+ , SearchSpelling+ , searchSpelling+ , ssCorrectedQuery+ , ssHTMLCorrectedQuery++ -- * CSEListImgDominantColor+ , CSEListImgDominantColor (..)++ -- * ResultImage+ , ResultImage+ , resultImage+ , riThumbnailLink+ , riHeight+ , riByteSize+ , riContextLink+ , riThumbnailHeight+ , riWidth+ , riThumbnailWidth++ -- * CSEListSafe+ , CSEListSafe (..)++ -- * ResultPagemap+ , ResultPagemap+ , resultPagemap+ , rpAddtional++ -- * CSEListImgColorType+ , CSEListImgColorType (..)++ -- * Result+ , Result+ , result+ , rMime+ , rImage+ , rPagemap+ , rDisplayLink+ , rFileFormat+ , rSnippet+ , rKind+ , rLink+ , rHTMLSnippet+ , rHTMLFormattedURL+ , rCacheId+ , rFormattedURL+ , rHTMLTitle+ , rLabels+ , rTitle++ -- * ResultLabelsItem+ , ResultLabelsItem+ , resultLabelsItem+ , rliName+ , rliDisplayName+ , rliLabelWithOp++ -- * SearchSearchInformation+ , SearchSearchInformation+ , searchSearchInformation+ , ssiSearchTime+ , ssiFormattedSearchTime+ , ssiTotalResults+ , ssiFormattedTotalResults++ -- * CSEListFilter+ , CSEListFilter (..)++ -- * Query+ , Query+ , query+ , qImgDominantColor+ , qOutputEncoding+ , qSiteSearchFilter+ , qInputEncoding+ , qOrTerms+ , qSearchTerms+ , qStartPage+ , qRights+ , qCount+ , qExcludeTerms+ , qFileType+ , qSearchType+ , qGoogleHost+ , qDisableCnTwTranslation+ , qRelatedSite+ , qHl+ , qCref+ , qSort+ , qLanguage+ , qSiteSearch+ , qFilter+ , qTotalResults+ , qDateRestrict+ , qTitle+ , qLinkSite+ , qLowRange+ , qImgType+ , qGl+ , qCx+ , qImgColorType+ , qImgSize+ , qExactTerms+ , qStartIndex+ , qCr+ , qSafe+ , qHq+ , qHighRange++ -- * PromotionBodyLinesItem+ , PromotionBodyLinesItem+ , promotionBodyLinesItem+ , pbliLink+ , pbliURL+ , pbliHTMLTitle+ , pbliTitle++ -- * Promotion+ , Promotion+ , promotion+ , pImage+ , pDisplayLink+ , pBodyLines+ , pLink+ , pHTMLTitle+ , pTitle++ -- * Search+ , Search+ , search+ , sQueries+ , sContext+ , sKind+ , sURL+ , sItems+ , sSearchInformation+ , sPromotions+ , sSpelling++ -- * CSEListLr+ , CSEListLr (..)++ -- * ContextFacetsItemItem+ , ContextFacetsItemItem+ , contextFacetsItemItem+ , cfiiAnchor+ , cfiiLabelWithOp+ , cfiiLabel++ -- * CSEListSearchType+ , CSEListSearchType (..)++ -- * CSEListImgSize+ , CSEListImgSize (..)+ ) where++import Network.Google.CustomSearch.Types.Product+import Network.Google.CustomSearch.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v1' of the CustomSearch API. This contains the host and root path used as a starting point for constructing service requests.+customSearchService :: Service+customSearchService+ = defaultService (ServiceId "customsearch:v1")+ "www.googleapis.com"
+ gen/Network/Google/CustomSearch/Types/Product.hs view
@@ -0,0 +1,1402 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.CustomSearch.Types.Product+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CustomSearch.Types.Product where++import Network.Google.CustomSearch.Types.Sum+import Network.Google.Prelude++--+-- /See:/ 'promotionImage' smart constructor.+data PromotionImage = PromotionImage+ { _piHeight :: !(Maybe (Textual Int32))+ , _piWidth :: !(Maybe (Textual Int32))+ , _piSource :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PromotionImage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piHeight'+--+-- * 'piWidth'+--+-- * 'piSource'+promotionImage+ :: PromotionImage+promotionImage =+ PromotionImage+ { _piHeight = Nothing+ , _piWidth = Nothing+ , _piSource = Nothing+ }++piHeight :: Lens' PromotionImage (Maybe Int32)+piHeight+ = lens _piHeight (\ s a -> s{_piHeight = a}) .+ mapping _Coerce++piWidth :: Lens' PromotionImage (Maybe Int32)+piWidth+ = lens _piWidth (\ s a -> s{_piWidth = a}) .+ mapping _Coerce++piSource :: Lens' PromotionImage (Maybe Text)+piSource = lens _piSource (\ s a -> s{_piSource = a})++instance FromJSON PromotionImage where+ parseJSON+ = withObject "PromotionImage"+ (\ o ->+ PromotionImage <$>+ (o .:? "height") <*> (o .:? "width") <*>+ (o .:? "source"))++instance ToJSON PromotionImage where+ toJSON PromotionImage{..}+ = object+ (catMaybes+ [("height" .=) <$> _piHeight,+ ("width" .=) <$> _piWidth,+ ("source" .=) <$> _piSource])++--+-- /See:/ 'context' smart constructor.+data Context = Context+ { _cFacets :: !(Maybe [[ContextFacetsItemItem]])+ , _cTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Context' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cFacets'+--+-- * 'cTitle'+context+ :: Context+context =+ Context+ { _cFacets = Nothing+ , _cTitle = Nothing+ }++cFacets :: Lens' Context [[ContextFacetsItemItem]]+cFacets+ = lens _cFacets (\ s a -> s{_cFacets = a}) . _Default+ . _Coerce++cTitle :: Lens' Context (Maybe Text)+cTitle = lens _cTitle (\ s a -> s{_cTitle = a})++instance FromJSON Context where+ parseJSON+ = withObject "Context"+ (\ o ->+ Context <$>+ (o .:? "facets" .!= mempty) <*> (o .:? "title"))++instance ToJSON Context where+ toJSON Context{..}+ = object+ (catMaybes+ [("facets" .=) <$> _cFacets,+ ("title" .=) <$> _cTitle])++--+-- /See:/ 'searchQueries' smart constructor.+newtype SearchQueries = SearchQueries+ { _sqAddtional :: HashMap Text [Query]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchQueries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sqAddtional'+searchQueries+ :: HashMap Text [Query] -- ^ 'sqAddtional'+ -> SearchQueries+searchQueries pSqAddtional_ =+ SearchQueries+ { _sqAddtional = _Coerce # pSqAddtional_+ }++sqAddtional :: Lens' SearchQueries (HashMap Text [Query])+sqAddtional+ = lens _sqAddtional (\ s a -> s{_sqAddtional = a}) .+ _Coerce++instance FromJSON SearchQueries where+ parseJSON+ = withObject "SearchQueries"+ (\ o -> SearchQueries <$> (parseJSONObject o))++instance ToJSON SearchQueries where+ toJSON = toJSON . _sqAddtional++--+-- /See:/ 'resultPagemapAdditionalItem' smart constructor.+newtype ResultPagemapAdditionalItem = ResultPagemapAdditionalItem+ { _rpaiAddtional :: HashMap Text JSONValue+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultPagemapAdditionalItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpaiAddtional'+resultPagemapAdditionalItem+ :: HashMap Text JSONValue -- ^ 'rpaiAddtional'+ -> ResultPagemapAdditionalItem+resultPagemapAdditionalItem pRpaiAddtional_ =+ ResultPagemapAdditionalItem+ { _rpaiAddtional = _Coerce # pRpaiAddtional_+ }++rpaiAddtional :: Lens' ResultPagemapAdditionalItem (HashMap Text JSONValue)+rpaiAddtional+ = lens _rpaiAddtional+ (\ s a -> s{_rpaiAddtional = a})+ . _Coerce++instance FromJSON ResultPagemapAdditionalItem where+ parseJSON+ = withObject "ResultPagemapAdditionalItem"+ (\ o ->+ ResultPagemapAdditionalItem <$> (parseJSONObject o))++instance ToJSON ResultPagemapAdditionalItem where+ toJSON = toJSON . _rpaiAddtional++--+-- /See:/ 'searchURL' smart constructor.+data SearchURL = SearchURL+ { _suType :: !Text+ , _suTemplate :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'suType'+--+-- * 'suTemplate'+searchURL+ :: SearchURL+searchURL =+ SearchURL+ { _suType = "application/json"+ , _suTemplate = "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&cref={cref?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json"+ }++suType :: Lens' SearchURL Text+suType = lens _suType (\ s a -> s{_suType = a})++suTemplate :: Lens' SearchURL Text+suTemplate+ = lens _suTemplate (\ s a -> s{_suTemplate = a})++instance FromJSON SearchURL where+ parseJSON+ = withObject "SearchURL"+ (\ o ->+ SearchURL <$>+ (o .:? "type" .!= "application/json") <*>+ (o .:? "template" .!=+ "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&cref={cref?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json"))++instance ToJSON SearchURL where+ toJSON SearchURL{..}+ = object+ (catMaybes+ [Just ("type" .= _suType),+ Just ("template" .= _suTemplate)])++--+-- /See:/ 'searchSpelling' smart constructor.+data SearchSpelling = SearchSpelling+ { _ssCorrectedQuery :: !(Maybe Text)+ , _ssHTMLCorrectedQuery :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchSpelling' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssCorrectedQuery'+--+-- * 'ssHTMLCorrectedQuery'+searchSpelling+ :: SearchSpelling+searchSpelling =+ SearchSpelling+ { _ssCorrectedQuery = Nothing+ , _ssHTMLCorrectedQuery = Nothing+ }++ssCorrectedQuery :: Lens' SearchSpelling (Maybe Text)+ssCorrectedQuery+ = lens _ssCorrectedQuery+ (\ s a -> s{_ssCorrectedQuery = a})++ssHTMLCorrectedQuery :: Lens' SearchSpelling (Maybe Text)+ssHTMLCorrectedQuery+ = lens _ssHTMLCorrectedQuery+ (\ s a -> s{_ssHTMLCorrectedQuery = a})++instance FromJSON SearchSpelling where+ parseJSON+ = withObject "SearchSpelling"+ (\ o ->+ SearchSpelling <$>+ (o .:? "correctedQuery") <*>+ (o .:? "htmlCorrectedQuery"))++instance ToJSON SearchSpelling where+ toJSON SearchSpelling{..}+ = object+ (catMaybes+ [("correctedQuery" .=) <$> _ssCorrectedQuery,+ ("htmlCorrectedQuery" .=) <$> _ssHTMLCorrectedQuery])++--+-- /See:/ 'resultImage' smart constructor.+data ResultImage = ResultImage+ { _riThumbnailLink :: !(Maybe Text)+ , _riHeight :: !(Maybe (Textual Int32))+ , _riByteSize :: !(Maybe (Textual Int32))+ , _riContextLink :: !(Maybe Text)+ , _riThumbnailHeight :: !(Maybe (Textual Int32))+ , _riWidth :: !(Maybe (Textual Int32))+ , _riThumbnailWidth :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultImage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riThumbnailLink'+--+-- * 'riHeight'+--+-- * 'riByteSize'+--+-- * 'riContextLink'+--+-- * 'riThumbnailHeight'+--+-- * 'riWidth'+--+-- * 'riThumbnailWidth'+resultImage+ :: ResultImage+resultImage =+ ResultImage+ { _riThumbnailLink = Nothing+ , _riHeight = Nothing+ , _riByteSize = Nothing+ , _riContextLink = Nothing+ , _riThumbnailHeight = Nothing+ , _riWidth = Nothing+ , _riThumbnailWidth = Nothing+ }++riThumbnailLink :: Lens' ResultImage (Maybe Text)+riThumbnailLink+ = lens _riThumbnailLink+ (\ s a -> s{_riThumbnailLink = a})++riHeight :: Lens' ResultImage (Maybe Int32)+riHeight+ = lens _riHeight (\ s a -> s{_riHeight = a}) .+ mapping _Coerce++riByteSize :: Lens' ResultImage (Maybe Int32)+riByteSize+ = lens _riByteSize (\ s a -> s{_riByteSize = a}) .+ mapping _Coerce++riContextLink :: Lens' ResultImage (Maybe Text)+riContextLink+ = lens _riContextLink+ (\ s a -> s{_riContextLink = a})++riThumbnailHeight :: Lens' ResultImage (Maybe Int32)+riThumbnailHeight+ = lens _riThumbnailHeight+ (\ s a -> s{_riThumbnailHeight = a})+ . mapping _Coerce++riWidth :: Lens' ResultImage (Maybe Int32)+riWidth+ = lens _riWidth (\ s a -> s{_riWidth = a}) .+ mapping _Coerce++riThumbnailWidth :: Lens' ResultImage (Maybe Int32)+riThumbnailWidth+ = lens _riThumbnailWidth+ (\ s a -> s{_riThumbnailWidth = a})+ . mapping _Coerce++instance FromJSON ResultImage where+ parseJSON+ = withObject "ResultImage"+ (\ o ->+ ResultImage <$>+ (o .:? "thumbnailLink") <*> (o .:? "height") <*>+ (o .:? "byteSize")+ <*> (o .:? "contextLink")+ <*> (o .:? "thumbnailHeight")+ <*> (o .:? "width")+ <*> (o .:? "thumbnailWidth"))++instance ToJSON ResultImage where+ toJSON ResultImage{..}+ = object+ (catMaybes+ [("thumbnailLink" .=) <$> _riThumbnailLink,+ ("height" .=) <$> _riHeight,+ ("byteSize" .=) <$> _riByteSize,+ ("contextLink" .=) <$> _riContextLink,+ ("thumbnailHeight" .=) <$> _riThumbnailHeight,+ ("width" .=) <$> _riWidth,+ ("thumbnailWidth" .=) <$> _riThumbnailWidth])++--+-- /See:/ 'resultPagemap' smart constructor.+newtype ResultPagemap = ResultPagemap+ { _rpAddtional :: HashMap Text [ResultPagemapAdditionalItem]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultPagemap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpAddtional'+resultPagemap+ :: HashMap Text [ResultPagemapAdditionalItem] -- ^ 'rpAddtional'+ -> ResultPagemap+resultPagemap pRpAddtional_ =+ ResultPagemap+ { _rpAddtional = _Coerce # pRpAddtional_+ }++rpAddtional :: Lens' ResultPagemap (HashMap Text [ResultPagemapAdditionalItem])+rpAddtional+ = lens _rpAddtional (\ s a -> s{_rpAddtional = a}) .+ _Coerce++instance FromJSON ResultPagemap where+ parseJSON+ = withObject "ResultPagemap"+ (\ o -> ResultPagemap <$> (parseJSONObject o))++instance ToJSON ResultPagemap where+ toJSON = toJSON . _rpAddtional++--+-- /See:/ 'result' smart constructor.+data Result = Result+ { _rMime :: !(Maybe Text)+ , _rImage :: !(Maybe ResultImage)+ , _rPagemap :: !(Maybe ResultPagemap)+ , _rDisplayLink :: !(Maybe Text)+ , _rFileFormat :: !(Maybe Text)+ , _rSnippet :: !(Maybe Text)+ , _rKind :: !Text+ , _rLink :: !(Maybe Text)+ , _rHTMLSnippet :: !(Maybe Text)+ , _rHTMLFormattedURL :: !(Maybe Text)+ , _rCacheId :: !(Maybe Text)+ , _rFormattedURL :: !(Maybe Text)+ , _rHTMLTitle :: !(Maybe Text)+ , _rLabels :: !(Maybe [ResultLabelsItem])+ , _rTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Result' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rMime'+--+-- * 'rImage'+--+-- * 'rPagemap'+--+-- * 'rDisplayLink'+--+-- * 'rFileFormat'+--+-- * 'rSnippet'+--+-- * 'rKind'+--+-- * 'rLink'+--+-- * 'rHTMLSnippet'+--+-- * 'rHTMLFormattedURL'+--+-- * 'rCacheId'+--+-- * 'rFormattedURL'+--+-- * 'rHTMLTitle'+--+-- * 'rLabels'+--+-- * 'rTitle'+result+ :: Result+result =+ Result+ { _rMime = Nothing+ , _rImage = Nothing+ , _rPagemap = Nothing+ , _rDisplayLink = Nothing+ , _rFileFormat = Nothing+ , _rSnippet = Nothing+ , _rKind = "customsearch#result"+ , _rLink = Nothing+ , _rHTMLSnippet = Nothing+ , _rHTMLFormattedURL = Nothing+ , _rCacheId = Nothing+ , _rFormattedURL = Nothing+ , _rHTMLTitle = Nothing+ , _rLabels = Nothing+ , _rTitle = Nothing+ }++rMime :: Lens' Result (Maybe Text)+rMime = lens _rMime (\ s a -> s{_rMime = a})++rImage :: Lens' Result (Maybe ResultImage)+rImage = lens _rImage (\ s a -> s{_rImage = a})++rPagemap :: Lens' Result (Maybe ResultPagemap)+rPagemap = lens _rPagemap (\ s a -> s{_rPagemap = a})++rDisplayLink :: Lens' Result (Maybe Text)+rDisplayLink+ = lens _rDisplayLink (\ s a -> s{_rDisplayLink = a})++rFileFormat :: Lens' Result (Maybe Text)+rFileFormat+ = lens _rFileFormat (\ s a -> s{_rFileFormat = a})++rSnippet :: Lens' Result (Maybe Text)+rSnippet = lens _rSnippet (\ s a -> s{_rSnippet = a})++rKind :: Lens' Result Text+rKind = lens _rKind (\ s a -> s{_rKind = a})++rLink :: Lens' Result (Maybe Text)+rLink = lens _rLink (\ s a -> s{_rLink = a})++rHTMLSnippet :: Lens' Result (Maybe Text)+rHTMLSnippet+ = lens _rHTMLSnippet (\ s a -> s{_rHTMLSnippet = a})++rHTMLFormattedURL :: Lens' Result (Maybe Text)+rHTMLFormattedURL+ = lens _rHTMLFormattedURL+ (\ s a -> s{_rHTMLFormattedURL = a})++rCacheId :: Lens' Result (Maybe Text)+rCacheId = lens _rCacheId (\ s a -> s{_rCacheId = a})++rFormattedURL :: Lens' Result (Maybe Text)+rFormattedURL+ = lens _rFormattedURL+ (\ s a -> s{_rFormattedURL = a})++rHTMLTitle :: Lens' Result (Maybe Text)+rHTMLTitle+ = lens _rHTMLTitle (\ s a -> s{_rHTMLTitle = a})++rLabels :: Lens' Result [ResultLabelsItem]+rLabels+ = lens _rLabels (\ s a -> s{_rLabels = a}) . _Default+ . _Coerce++rTitle :: Lens' Result (Maybe Text)+rTitle = lens _rTitle (\ s a -> s{_rTitle = a})++instance FromJSON Result where+ parseJSON+ = withObject "Result"+ (\ o ->+ Result <$>+ (o .:? "mime") <*> (o .:? "image") <*>+ (o .:? "pagemap")+ <*> (o .:? "displayLink")+ <*> (o .:? "fileFormat")+ <*> (o .:? "snippet")+ <*> (o .:? "kind" .!= "customsearch#result")+ <*> (o .:? "link")+ <*> (o .:? "htmlSnippet")+ <*> (o .:? "htmlFormattedUrl")+ <*> (o .:? "cacheId")+ <*> (o .:? "formattedUrl")+ <*> (o .:? "htmlTitle")+ <*> (o .:? "labels" .!= mempty)+ <*> (o .:? "title"))++instance ToJSON Result where+ toJSON Result{..}+ = object+ (catMaybes+ [("mime" .=) <$> _rMime, ("image" .=) <$> _rImage,+ ("pagemap" .=) <$> _rPagemap,+ ("displayLink" .=) <$> _rDisplayLink,+ ("fileFormat" .=) <$> _rFileFormat,+ ("snippet" .=) <$> _rSnippet,+ Just ("kind" .= _rKind), ("link" .=) <$> _rLink,+ ("htmlSnippet" .=) <$> _rHTMLSnippet,+ ("htmlFormattedUrl" .=) <$> _rHTMLFormattedURL,+ ("cacheId" .=) <$> _rCacheId,+ ("formattedUrl" .=) <$> _rFormattedURL,+ ("htmlTitle" .=) <$> _rHTMLTitle,+ ("labels" .=) <$> _rLabels,+ ("title" .=) <$> _rTitle])++--+-- /See:/ 'resultLabelsItem' smart constructor.+data ResultLabelsItem = ResultLabelsItem+ { _rliName :: !(Maybe Text)+ , _rliDisplayName :: !(Maybe Text)+ , _rliLabelWithOp :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultLabelsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rliName'+--+-- * 'rliDisplayName'+--+-- * 'rliLabelWithOp'+resultLabelsItem+ :: ResultLabelsItem+resultLabelsItem =+ ResultLabelsItem+ { _rliName = Nothing+ , _rliDisplayName = Nothing+ , _rliLabelWithOp = Nothing+ }++rliName :: Lens' ResultLabelsItem (Maybe Text)+rliName = lens _rliName (\ s a -> s{_rliName = a})++rliDisplayName :: Lens' ResultLabelsItem (Maybe Text)+rliDisplayName+ = lens _rliDisplayName+ (\ s a -> s{_rliDisplayName = a})++rliLabelWithOp :: Lens' ResultLabelsItem (Maybe Text)+rliLabelWithOp+ = lens _rliLabelWithOp+ (\ s a -> s{_rliLabelWithOp = a})++instance FromJSON ResultLabelsItem where+ parseJSON+ = withObject "ResultLabelsItem"+ (\ o ->+ ResultLabelsItem <$>+ (o .:? "name") <*> (o .:? "displayName") <*>+ (o .:? "label_with_op"))++instance ToJSON ResultLabelsItem where+ toJSON ResultLabelsItem{..}+ = object+ (catMaybes+ [("name" .=) <$> _rliName,+ ("displayName" .=) <$> _rliDisplayName,+ ("label_with_op" .=) <$> _rliLabelWithOp])++--+-- /See:/ 'searchSearchInformation' smart constructor.+data SearchSearchInformation = SearchSearchInformation+ { _ssiSearchTime :: !(Maybe (Textual Double))+ , _ssiFormattedSearchTime :: !(Maybe Text)+ , _ssiTotalResults :: !(Maybe (Textual Int64))+ , _ssiFormattedTotalResults :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchSearchInformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssiSearchTime'+--+-- * 'ssiFormattedSearchTime'+--+-- * 'ssiTotalResults'+--+-- * 'ssiFormattedTotalResults'+searchSearchInformation+ :: SearchSearchInformation+searchSearchInformation =+ SearchSearchInformation+ { _ssiSearchTime = Nothing+ , _ssiFormattedSearchTime = Nothing+ , _ssiTotalResults = Nothing+ , _ssiFormattedTotalResults = Nothing+ }++ssiSearchTime :: Lens' SearchSearchInformation (Maybe Double)+ssiSearchTime+ = lens _ssiSearchTime+ (\ s a -> s{_ssiSearchTime = a})+ . mapping _Coerce++ssiFormattedSearchTime :: Lens' SearchSearchInformation (Maybe Text)+ssiFormattedSearchTime+ = lens _ssiFormattedSearchTime+ (\ s a -> s{_ssiFormattedSearchTime = a})++ssiTotalResults :: Lens' SearchSearchInformation (Maybe Int64)+ssiTotalResults+ = lens _ssiTotalResults+ (\ s a -> s{_ssiTotalResults = a})+ . mapping _Coerce++ssiFormattedTotalResults :: Lens' SearchSearchInformation (Maybe Text)+ssiFormattedTotalResults+ = lens _ssiFormattedTotalResults+ (\ s a -> s{_ssiFormattedTotalResults = a})++instance FromJSON SearchSearchInformation where+ parseJSON+ = withObject "SearchSearchInformation"+ (\ o ->+ SearchSearchInformation <$>+ (o .:? "searchTime") <*>+ (o .:? "formattedSearchTime")+ <*> (o .:? "totalResults")+ <*> (o .:? "formattedTotalResults"))++instance ToJSON SearchSearchInformation where+ toJSON SearchSearchInformation{..}+ = object+ (catMaybes+ [("searchTime" .=) <$> _ssiSearchTime,+ ("formattedSearchTime" .=) <$>+ _ssiFormattedSearchTime,+ ("totalResults" .=) <$> _ssiTotalResults,+ ("formattedTotalResults" .=) <$>+ _ssiFormattedTotalResults])++--+-- /See:/ 'query' smart constructor.+data Query = Query+ { _qImgDominantColor :: !(Maybe Text)+ , _qOutputEncoding :: !(Maybe Text)+ , _qSiteSearchFilter :: !(Maybe Text)+ , _qInputEncoding :: !(Maybe Text)+ , _qOrTerms :: !(Maybe Text)+ , _qSearchTerms :: !(Maybe Text)+ , _qStartPage :: !(Maybe (Textual Int32))+ , _qRights :: !(Maybe Text)+ , _qCount :: !(Maybe (Textual Int32))+ , _qExcludeTerms :: !(Maybe Text)+ , _qFileType :: !(Maybe Text)+ , _qSearchType :: !(Maybe Text)+ , _qGoogleHost :: !(Maybe Text)+ , _qDisableCnTwTranslation :: !(Maybe Text)+ , _qRelatedSite :: !(Maybe Text)+ , _qHl :: !(Maybe Text)+ , _qCref :: !(Maybe Text)+ , _qSort :: !(Maybe Text)+ , _qLanguage :: !(Maybe Text)+ , _qSiteSearch :: !(Maybe Text)+ , _qFilter :: !(Maybe Text)+ , _qTotalResults :: !(Maybe (Textual Int64))+ , _qDateRestrict :: !(Maybe Text)+ , _qTitle :: !(Maybe Text)+ , _qLinkSite :: !(Maybe Text)+ , _qLowRange :: !(Maybe Text)+ , _qImgType :: !(Maybe Text)+ , _qGl :: !(Maybe Text)+ , _qCx :: !(Maybe Text)+ , _qImgColorType :: !(Maybe Text)+ , _qImgSize :: !(Maybe Text)+ , _qExactTerms :: !(Maybe Text)+ , _qStartIndex :: !(Maybe (Textual Int32))+ , _qCr :: !(Maybe Text)+ , _qSafe :: !(Maybe Text)+ , _qHq :: !(Maybe Text)+ , _qHighRange :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Query' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qImgDominantColor'+--+-- * 'qOutputEncoding'+--+-- * 'qSiteSearchFilter'+--+-- * 'qInputEncoding'+--+-- * 'qOrTerms'+--+-- * 'qSearchTerms'+--+-- * 'qStartPage'+--+-- * 'qRights'+--+-- * 'qCount'+--+-- * 'qExcludeTerms'+--+-- * 'qFileType'+--+-- * 'qSearchType'+--+-- * 'qGoogleHost'+--+-- * 'qDisableCnTwTranslation'+--+-- * 'qRelatedSite'+--+-- * 'qHl'+--+-- * 'qCref'+--+-- * 'qSort'+--+-- * 'qLanguage'+--+-- * 'qSiteSearch'+--+-- * 'qFilter'+--+-- * 'qTotalResults'+--+-- * 'qDateRestrict'+--+-- * 'qTitle'+--+-- * 'qLinkSite'+--+-- * 'qLowRange'+--+-- * 'qImgType'+--+-- * 'qGl'+--+-- * 'qCx'+--+-- * 'qImgColorType'+--+-- * 'qImgSize'+--+-- * 'qExactTerms'+--+-- * 'qStartIndex'+--+-- * 'qCr'+--+-- * 'qSafe'+--+-- * 'qHq'+--+-- * 'qHighRange'+query+ :: Query+query =+ Query+ { _qImgDominantColor = Nothing+ , _qOutputEncoding = Nothing+ , _qSiteSearchFilter = Nothing+ , _qInputEncoding = Nothing+ , _qOrTerms = Nothing+ , _qSearchTerms = Nothing+ , _qStartPage = Nothing+ , _qRights = Nothing+ , _qCount = Nothing+ , _qExcludeTerms = Nothing+ , _qFileType = Nothing+ , _qSearchType = Nothing+ , _qGoogleHost = Nothing+ , _qDisableCnTwTranslation = Nothing+ , _qRelatedSite = Nothing+ , _qHl = Nothing+ , _qCref = Nothing+ , _qSort = Nothing+ , _qLanguage = Nothing+ , _qSiteSearch = Nothing+ , _qFilter = Nothing+ , _qTotalResults = Nothing+ , _qDateRestrict = Nothing+ , _qTitle = Nothing+ , _qLinkSite = Nothing+ , _qLowRange = Nothing+ , _qImgType = Nothing+ , _qGl = Nothing+ , _qCx = Nothing+ , _qImgColorType = Nothing+ , _qImgSize = Nothing+ , _qExactTerms = Nothing+ , _qStartIndex = Nothing+ , _qCr = Nothing+ , _qSafe = Nothing+ , _qHq = Nothing+ , _qHighRange = Nothing+ }++qImgDominantColor :: Lens' Query (Maybe Text)+qImgDominantColor+ = lens _qImgDominantColor+ (\ s a -> s{_qImgDominantColor = a})++qOutputEncoding :: Lens' Query (Maybe Text)+qOutputEncoding+ = lens _qOutputEncoding+ (\ s a -> s{_qOutputEncoding = a})++qSiteSearchFilter :: Lens' Query (Maybe Text)+qSiteSearchFilter+ = lens _qSiteSearchFilter+ (\ s a -> s{_qSiteSearchFilter = a})++qInputEncoding :: Lens' Query (Maybe Text)+qInputEncoding+ = lens _qInputEncoding+ (\ s a -> s{_qInputEncoding = a})++qOrTerms :: Lens' Query (Maybe Text)+qOrTerms = lens _qOrTerms (\ s a -> s{_qOrTerms = a})++qSearchTerms :: Lens' Query (Maybe Text)+qSearchTerms+ = lens _qSearchTerms (\ s a -> s{_qSearchTerms = a})++qStartPage :: Lens' Query (Maybe Int32)+qStartPage+ = lens _qStartPage (\ s a -> s{_qStartPage = a}) .+ mapping _Coerce++qRights :: Lens' Query (Maybe Text)+qRights = lens _qRights (\ s a -> s{_qRights = a})++qCount :: Lens' Query (Maybe Int32)+qCount+ = lens _qCount (\ s a -> s{_qCount = a}) .+ mapping _Coerce++qExcludeTerms :: Lens' Query (Maybe Text)+qExcludeTerms+ = lens _qExcludeTerms+ (\ s a -> s{_qExcludeTerms = a})++qFileType :: Lens' Query (Maybe Text)+qFileType+ = lens _qFileType (\ s a -> s{_qFileType = a})++qSearchType :: Lens' Query (Maybe Text)+qSearchType+ = lens _qSearchType (\ s a -> s{_qSearchType = a})++qGoogleHost :: Lens' Query (Maybe Text)+qGoogleHost+ = lens _qGoogleHost (\ s a -> s{_qGoogleHost = a})++qDisableCnTwTranslation :: Lens' Query (Maybe Text)+qDisableCnTwTranslation+ = lens _qDisableCnTwTranslation+ (\ s a -> s{_qDisableCnTwTranslation = a})++qRelatedSite :: Lens' Query (Maybe Text)+qRelatedSite+ = lens _qRelatedSite (\ s a -> s{_qRelatedSite = a})++qHl :: Lens' Query (Maybe Text)+qHl = lens _qHl (\ s a -> s{_qHl = a})++qCref :: Lens' Query (Maybe Text)+qCref = lens _qCref (\ s a -> s{_qCref = a})++qSort :: Lens' Query (Maybe Text)+qSort = lens _qSort (\ s a -> s{_qSort = a})++qLanguage :: Lens' Query (Maybe Text)+qLanguage+ = lens _qLanguage (\ s a -> s{_qLanguage = a})++qSiteSearch :: Lens' Query (Maybe Text)+qSiteSearch+ = lens _qSiteSearch (\ s a -> s{_qSiteSearch = a})++qFilter :: Lens' Query (Maybe Text)+qFilter = lens _qFilter (\ s a -> s{_qFilter = a})++qTotalResults :: Lens' Query (Maybe Int64)+qTotalResults+ = lens _qTotalResults+ (\ s a -> s{_qTotalResults = a})+ . mapping _Coerce++qDateRestrict :: Lens' Query (Maybe Text)+qDateRestrict+ = lens _qDateRestrict+ (\ s a -> s{_qDateRestrict = a})++qTitle :: Lens' Query (Maybe Text)+qTitle = lens _qTitle (\ s a -> s{_qTitle = a})++qLinkSite :: Lens' Query (Maybe Text)+qLinkSite+ = lens _qLinkSite (\ s a -> s{_qLinkSite = a})++qLowRange :: Lens' Query (Maybe Text)+qLowRange+ = lens _qLowRange (\ s a -> s{_qLowRange = a})++qImgType :: Lens' Query (Maybe Text)+qImgType = lens _qImgType (\ s a -> s{_qImgType = a})++qGl :: Lens' Query (Maybe Text)+qGl = lens _qGl (\ s a -> s{_qGl = a})++qCx :: Lens' Query (Maybe Text)+qCx = lens _qCx (\ s a -> s{_qCx = a})++qImgColorType :: Lens' Query (Maybe Text)+qImgColorType+ = lens _qImgColorType+ (\ s a -> s{_qImgColorType = a})++qImgSize :: Lens' Query (Maybe Text)+qImgSize = lens _qImgSize (\ s a -> s{_qImgSize = a})++qExactTerms :: Lens' Query (Maybe Text)+qExactTerms+ = lens _qExactTerms (\ s a -> s{_qExactTerms = a})++qStartIndex :: Lens' Query (Maybe Int32)+qStartIndex+ = lens _qStartIndex (\ s a -> s{_qStartIndex = a}) .+ mapping _Coerce++qCr :: Lens' Query (Maybe Text)+qCr = lens _qCr (\ s a -> s{_qCr = a})++qSafe :: Lens' Query (Maybe Text)+qSafe = lens _qSafe (\ s a -> s{_qSafe = a})++qHq :: Lens' Query (Maybe Text)+qHq = lens _qHq (\ s a -> s{_qHq = a})++qHighRange :: Lens' Query (Maybe Text)+qHighRange+ = lens _qHighRange (\ s a -> s{_qHighRange = a})++instance FromJSON Query where+ parseJSON+ = withObject "Query"+ (\ o ->+ Query <$>+ (o .:? "imgDominantColor") <*>+ (o .:? "outputEncoding")+ <*> (o .:? "siteSearchFilter")+ <*> (o .:? "inputEncoding")+ <*> (o .:? "orTerms")+ <*> (o .:? "searchTerms")+ <*> (o .:? "startPage")+ <*> (o .:? "rights")+ <*> (o .:? "count")+ <*> (o .:? "excludeTerms")+ <*> (o .:? "fileType")+ <*> (o .:? "searchType")+ <*> (o .:? "googleHost")+ <*> (o .:? "disableCnTwTranslation")+ <*> (o .:? "relatedSite")+ <*> (o .:? "hl")+ <*> (o .:? "cref")+ <*> (o .:? "sort")+ <*> (o .:? "language")+ <*> (o .:? "siteSearch")+ <*> (o .:? "filter")+ <*> (o .:? "totalResults")+ <*> (o .:? "dateRestrict")+ <*> (o .:? "title")+ <*> (o .:? "linkSite")+ <*> (o .:? "lowRange")+ <*> (o .:? "imgType")+ <*> (o .:? "gl")+ <*> (o .:? "cx")+ <*> (o .:? "imgColorType")+ <*> (o .:? "imgSize")+ <*> (o .:? "exactTerms")+ <*> (o .:? "startIndex")+ <*> (o .:? "cr")+ <*> (o .:? "safe")+ <*> (o .:? "hq")+ <*> (o .:? "highRange"))++instance ToJSON Query where+ toJSON Query{..}+ = object+ (catMaybes+ [("imgDominantColor" .=) <$> _qImgDominantColor,+ ("outputEncoding" .=) <$> _qOutputEncoding,+ ("siteSearchFilter" .=) <$> _qSiteSearchFilter,+ ("inputEncoding" .=) <$> _qInputEncoding,+ ("orTerms" .=) <$> _qOrTerms,+ ("searchTerms" .=) <$> _qSearchTerms,+ ("startPage" .=) <$> _qStartPage,+ ("rights" .=) <$> _qRights, ("count" .=) <$> _qCount,+ ("excludeTerms" .=) <$> _qExcludeTerms,+ ("fileType" .=) <$> _qFileType,+ ("searchType" .=) <$> _qSearchType,+ ("googleHost" .=) <$> _qGoogleHost,+ ("disableCnTwTranslation" .=) <$>+ _qDisableCnTwTranslation,+ ("relatedSite" .=) <$> _qRelatedSite,+ ("hl" .=) <$> _qHl, ("cref" .=) <$> _qCref,+ ("sort" .=) <$> _qSort,+ ("language" .=) <$> _qLanguage,+ ("siteSearch" .=) <$> _qSiteSearch,+ ("filter" .=) <$> _qFilter,+ ("totalResults" .=) <$> _qTotalResults,+ ("dateRestrict" .=) <$> _qDateRestrict,+ ("title" .=) <$> _qTitle,+ ("linkSite" .=) <$> _qLinkSite,+ ("lowRange" .=) <$> _qLowRange,+ ("imgType" .=) <$> _qImgType, ("gl" .=) <$> _qGl,+ ("cx" .=) <$> _qCx,+ ("imgColorType" .=) <$> _qImgColorType,+ ("imgSize" .=) <$> _qImgSize,+ ("exactTerms" .=) <$> _qExactTerms,+ ("startIndex" .=) <$> _qStartIndex,+ ("cr" .=) <$> _qCr, ("safe" .=) <$> _qSafe,+ ("hq" .=) <$> _qHq,+ ("highRange" .=) <$> _qHighRange])++--+-- /See:/ 'promotionBodyLinesItem' smart constructor.+data PromotionBodyLinesItem = PromotionBodyLinesItem+ { _pbliLink :: !(Maybe Text)+ , _pbliURL :: !(Maybe Text)+ , _pbliHTMLTitle :: !(Maybe Text)+ , _pbliTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PromotionBodyLinesItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbliLink'+--+-- * 'pbliURL'+--+-- * 'pbliHTMLTitle'+--+-- * 'pbliTitle'+promotionBodyLinesItem+ :: PromotionBodyLinesItem+promotionBodyLinesItem =+ PromotionBodyLinesItem+ { _pbliLink = Nothing+ , _pbliURL = Nothing+ , _pbliHTMLTitle = Nothing+ , _pbliTitle = Nothing+ }++pbliLink :: Lens' PromotionBodyLinesItem (Maybe Text)+pbliLink = lens _pbliLink (\ s a -> s{_pbliLink = a})++pbliURL :: Lens' PromotionBodyLinesItem (Maybe Text)+pbliURL = lens _pbliURL (\ s a -> s{_pbliURL = a})++pbliHTMLTitle :: Lens' PromotionBodyLinesItem (Maybe Text)+pbliHTMLTitle+ = lens _pbliHTMLTitle+ (\ s a -> s{_pbliHTMLTitle = a})++pbliTitle :: Lens' PromotionBodyLinesItem (Maybe Text)+pbliTitle+ = lens _pbliTitle (\ s a -> s{_pbliTitle = a})++instance FromJSON PromotionBodyLinesItem where+ parseJSON+ = withObject "PromotionBodyLinesItem"+ (\ o ->+ PromotionBodyLinesItem <$>+ (o .:? "link") <*> (o .:? "url") <*>+ (o .:? "htmlTitle")+ <*> (o .:? "title"))++instance ToJSON PromotionBodyLinesItem where+ toJSON PromotionBodyLinesItem{..}+ = object+ (catMaybes+ [("link" .=) <$> _pbliLink, ("url" .=) <$> _pbliURL,+ ("htmlTitle" .=) <$> _pbliHTMLTitle,+ ("title" .=) <$> _pbliTitle])++--+-- /See:/ 'promotion' smart constructor.+data Promotion = Promotion+ { _pImage :: !(Maybe PromotionImage)+ , _pDisplayLink :: !(Maybe Text)+ , _pBodyLines :: !(Maybe [PromotionBodyLinesItem])+ , _pLink :: !(Maybe Text)+ , _pHTMLTitle :: !(Maybe Text)+ , _pTitle :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Promotion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pImage'+--+-- * 'pDisplayLink'+--+-- * 'pBodyLines'+--+-- * 'pLink'+--+-- * 'pHTMLTitle'+--+-- * 'pTitle'+promotion+ :: Promotion+promotion =+ Promotion+ { _pImage = Nothing+ , _pDisplayLink = Nothing+ , _pBodyLines = Nothing+ , _pLink = Nothing+ , _pHTMLTitle = Nothing+ , _pTitle = Nothing+ }++pImage :: Lens' Promotion (Maybe PromotionImage)+pImage = lens _pImage (\ s a -> s{_pImage = a})++pDisplayLink :: Lens' Promotion (Maybe Text)+pDisplayLink+ = lens _pDisplayLink (\ s a -> s{_pDisplayLink = a})++pBodyLines :: Lens' Promotion [PromotionBodyLinesItem]+pBodyLines+ = lens _pBodyLines (\ s a -> s{_pBodyLines = a}) .+ _Default+ . _Coerce++pLink :: Lens' Promotion (Maybe Text)+pLink = lens _pLink (\ s a -> s{_pLink = a})++pHTMLTitle :: Lens' Promotion (Maybe Text)+pHTMLTitle+ = lens _pHTMLTitle (\ s a -> s{_pHTMLTitle = a})++pTitle :: Lens' Promotion (Maybe Text)+pTitle = lens _pTitle (\ s a -> s{_pTitle = a})++instance FromJSON Promotion where+ parseJSON+ = withObject "Promotion"+ (\ o ->+ Promotion <$>+ (o .:? "image") <*> (o .:? "displayLink") <*>+ (o .:? "bodyLines" .!= mempty)+ <*> (o .:? "link")+ <*> (o .:? "htmlTitle")+ <*> (o .:? "title"))++instance ToJSON Promotion where+ toJSON Promotion{..}+ = object+ (catMaybes+ [("image" .=) <$> _pImage,+ ("displayLink" .=) <$> _pDisplayLink,+ ("bodyLines" .=) <$> _pBodyLines,+ ("link" .=) <$> _pLink,+ ("htmlTitle" .=) <$> _pHTMLTitle,+ ("title" .=) <$> _pTitle])++--+-- /See:/ 'search' smart constructor.+data Search = Search+ { _sQueries :: !(Maybe SearchQueries)+ , _sContext :: !(Maybe Context)+ , _sKind :: !Text+ , _sURL :: !(Maybe SearchURL)+ , _sItems :: !(Maybe [Result])+ , _sSearchInformation :: !(Maybe SearchSearchInformation)+ , _sPromotions :: !(Maybe [Promotion])+ , _sSpelling :: !(Maybe SearchSpelling)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Search' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sQueries'+--+-- * 'sContext'+--+-- * 'sKind'+--+-- * 'sURL'+--+-- * 'sItems'+--+-- * 'sSearchInformation'+--+-- * 'sPromotions'+--+-- * 'sSpelling'+search+ :: Search+search =+ Search+ { _sQueries = Nothing+ , _sContext = Nothing+ , _sKind = "customsearch#search"+ , _sURL = Nothing+ , _sItems = Nothing+ , _sSearchInformation = Nothing+ , _sPromotions = Nothing+ , _sSpelling = Nothing+ }++sQueries :: Lens' Search (Maybe SearchQueries)+sQueries = lens _sQueries (\ s a -> s{_sQueries = a})++sContext :: Lens' Search (Maybe Context)+sContext = lens _sContext (\ s a -> s{_sContext = a})++sKind :: Lens' Search Text+sKind = lens _sKind (\ s a -> s{_sKind = a})++sURL :: Lens' Search (Maybe SearchURL)+sURL = lens _sURL (\ s a -> s{_sURL = a})++sItems :: Lens' Search [Result]+sItems+ = lens _sItems (\ s a -> s{_sItems = a}) . _Default .+ _Coerce++sSearchInformation :: Lens' Search (Maybe SearchSearchInformation)+sSearchInformation+ = lens _sSearchInformation+ (\ s a -> s{_sSearchInformation = a})++sPromotions :: Lens' Search [Promotion]+sPromotions+ = lens _sPromotions (\ s a -> s{_sPromotions = a}) .+ _Default+ . _Coerce++sSpelling :: Lens' Search (Maybe SearchSpelling)+sSpelling+ = lens _sSpelling (\ s a -> s{_sSpelling = a})++instance FromJSON Search where+ parseJSON+ = withObject "Search"+ (\ o ->+ Search <$>+ (o .:? "queries") <*> (o .:? "context") <*>+ (o .:? "kind" .!= "customsearch#search")+ <*> (o .:? "url")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "searchInformation")+ <*> (o .:? "promotions" .!= mempty)+ <*> (o .:? "spelling"))++instance ToJSON Search where+ toJSON Search{..}+ = object+ (catMaybes+ [("queries" .=) <$> _sQueries,+ ("context" .=) <$> _sContext,+ Just ("kind" .= _sKind), ("url" .=) <$> _sURL,+ ("items" .=) <$> _sItems,+ ("searchInformation" .=) <$> _sSearchInformation,+ ("promotions" .=) <$> _sPromotions,+ ("spelling" .=) <$> _sSpelling])++--+-- /See:/ 'contextFacetsItemItem' smart constructor.+data ContextFacetsItemItem = ContextFacetsItemItem+ { _cfiiAnchor :: !(Maybe Text)+ , _cfiiLabelWithOp :: !(Maybe Text)+ , _cfiiLabel :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContextFacetsItemItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfiiAnchor'+--+-- * 'cfiiLabelWithOp'+--+-- * 'cfiiLabel'+contextFacetsItemItem+ :: ContextFacetsItemItem+contextFacetsItemItem =+ ContextFacetsItemItem+ { _cfiiAnchor = Nothing+ , _cfiiLabelWithOp = Nothing+ , _cfiiLabel = Nothing+ }++cfiiAnchor :: Lens' ContextFacetsItemItem (Maybe Text)+cfiiAnchor+ = lens _cfiiAnchor (\ s a -> s{_cfiiAnchor = a})++cfiiLabelWithOp :: Lens' ContextFacetsItemItem (Maybe Text)+cfiiLabelWithOp+ = lens _cfiiLabelWithOp+ (\ s a -> s{_cfiiLabelWithOp = a})++cfiiLabel :: Lens' ContextFacetsItemItem (Maybe Text)+cfiiLabel+ = lens _cfiiLabel (\ s a -> s{_cfiiLabel = a})++instance FromJSON ContextFacetsItemItem where+ parseJSON+ = withObject "ContextFacetsItemItem"+ (\ o ->+ ContextFacetsItemItem <$>+ (o .:? "anchor") <*> (o .:? "label_with_op") <*>+ (o .:? "label"))++instance ToJSON ContextFacetsItemItem where+ toJSON ContextFacetsItemItem{..}+ = object+ (catMaybes+ [("anchor" .=) <$> _cfiiAnchor,+ ("label_with_op" .=) <$> _cfiiLabelWithOp,+ ("label" .=) <$> _cfiiLabel])
+ gen/Network/Google/CustomSearch/Types/Sum.hs view
@@ -0,0 +1,535 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.CustomSearch.Types.Sum+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CustomSearch.Types.Sum where++import Network.Google.Prelude++-- | Returns images of a type, which can be one of: clipart, face, lineart,+-- news, and photo.+data CSEListImgType+ = CliPart+ -- ^ @clipart@+ -- clipart+ | Face+ -- ^ @face@+ -- face+ | Lineart+ -- ^ @lineart@+ -- lineart+ | News+ -- ^ @news@+ -- news+ | Photo+ -- ^ @photo@+ -- photo+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListImgType++instance FromText CSEListImgType where+ fromText = \case+ "clipart" -> Just CliPart+ "face" -> Just Face+ "lineart" -> Just Lineart+ "news" -> Just News+ "photo" -> Just Photo+ _ -> Nothing++instance ToText CSEListImgType where+ toText = \case+ CliPart -> "clipart"+ Face -> "face"+ Lineart -> "lineart"+ News -> "news"+ Photo -> "photo"++instance FromJSON CSEListImgType where+ parseJSON = parseJSONText "CSEListImgType"++instance ToJSON CSEListImgType where+ toJSON = toJSONText++-- | Controls whether to include or exclude results from the site named in+-- the as_sitesearch parameter+data CSEListSiteSearchFilter+ = E+ -- ^ @e@+ -- exclude+ | I+ -- ^ @i@+ -- include+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListSiteSearchFilter++instance FromText CSEListSiteSearchFilter where+ fromText = \case+ "e" -> Just E+ "i" -> Just I+ _ -> Nothing++instance ToText CSEListSiteSearchFilter where+ toText = \case+ E -> "e"+ I -> "i"++instance FromJSON CSEListSiteSearchFilter where+ parseJSON = parseJSONText "CSEListSiteSearchFilter"++instance ToJSON CSEListSiteSearchFilter where+ toJSON = toJSONText++-- | Returns images of a specific dominant color: yellow, green, teal, blue,+-- purple, pink, white, gray, black and brown.+data CSEListImgDominantColor+ = Black+ -- ^ @black@+ -- black+ | Blue+ -- ^ @blue@+ -- blue+ | Brown+ -- ^ @brown@+ -- brown+ | Gray+ -- ^ @gray@+ -- gray+ | Green+ -- ^ @green@+ -- green+ | Pink+ -- ^ @pink@+ -- pink+ | Purple+ -- ^ @purple@+ -- purple+ | Teal+ -- ^ @teal@+ -- teal+ | White+ -- ^ @white@+ -- white+ | Yellow+ -- ^ @yellow@+ -- yellow+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListImgDominantColor++instance FromText CSEListImgDominantColor where+ fromText = \case+ "black" -> Just Black+ "blue" -> Just Blue+ "brown" -> Just Brown+ "gray" -> Just Gray+ "green" -> Just Green+ "pink" -> Just Pink+ "purple" -> Just Purple+ "teal" -> Just Teal+ "white" -> Just White+ "yellow" -> Just Yellow+ _ -> Nothing++instance ToText CSEListImgDominantColor where+ toText = \case+ Black -> "black"+ Blue -> "blue"+ Brown -> "brown"+ Gray -> "gray"+ Green -> "green"+ Pink -> "pink"+ Purple -> "purple"+ Teal -> "teal"+ White -> "white"+ Yellow -> "yellow"++instance FromJSON CSEListImgDominantColor where+ parseJSON = parseJSONText "CSEListImgDominantColor"++instance ToJSON CSEListImgDominantColor where+ toJSON = toJSONText++-- | Search safety level+data CSEListSafe+ = High+ -- ^ @high@+ -- Enables highest level of safe search filtering.+ | Medium+ -- ^ @medium@+ -- Enables moderate safe search filtering.+ | Off+ -- ^ @off@+ -- Disables safe search filtering.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListSafe++instance FromText CSEListSafe where+ fromText = \case+ "high" -> Just High+ "medium" -> Just Medium+ "off" -> Just Off+ _ -> Nothing++instance ToText CSEListSafe where+ toText = \case+ High -> "high"+ Medium -> "medium"+ Off -> "off"++instance FromJSON CSEListSafe where+ parseJSON = parseJSONText "CSEListSafe"++instance ToJSON CSEListSafe where+ toJSON = toJSONText++-- | Returns black and white, grayscale, or color images: mono, gray, and+-- color.+data CSEListImgColorType+ = CSELICTColor+ -- ^ @color@+ -- color+ | CSELICTGray+ -- ^ @gray@+ -- gray+ | CSELICTMono+ -- ^ @mono@+ -- mono+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListImgColorType++instance FromText CSEListImgColorType where+ fromText = \case+ "color" -> Just CSELICTColor+ "gray" -> Just CSELICTGray+ "mono" -> Just CSELICTMono+ _ -> Nothing++instance ToText CSEListImgColorType where+ toText = \case+ CSELICTColor -> "color"+ CSELICTGray -> "gray"+ CSELICTMono -> "mono"++instance FromJSON CSEListImgColorType where+ parseJSON = parseJSONText "CSEListImgColorType"++instance ToJSON CSEListImgColorType where+ toJSON = toJSONText++-- | Controls turning on or off the duplicate content filter.+data CSEListFilter+ = CSELF0+ -- ^ @0@+ -- Turns off duplicate content filter.+ | CSELF1+ -- ^ @1@+ -- Turns on duplicate content filter.+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListFilter++instance FromText CSEListFilter where+ fromText = \case+ "0" -> Just CSELF0+ "1" -> Just CSELF1+ _ -> Nothing++instance ToText CSEListFilter where+ toText = \case+ CSELF0 -> "0"+ CSELF1 -> "1"++instance FromJSON CSEListFilter where+ parseJSON = parseJSONText "CSEListFilter"++instance ToJSON CSEListFilter where+ toJSON = toJSONText++-- | The language restriction for the search results+data CSEListLr+ = LangAr+ -- ^ @lang_ar@+ -- Arabic+ | LangBg+ -- ^ @lang_bg@+ -- Bulgarian+ | LangCa+ -- ^ @lang_ca@+ -- Catalan+ | LangCs+ -- ^ @lang_cs@+ -- Czech+ | LangDa+ -- ^ @lang_da@+ -- Danish+ | LangDe+ -- ^ @lang_de@+ -- German+ | LangEl+ -- ^ @lang_el@+ -- Greek+ | LangEn+ -- ^ @lang_en@+ -- English+ | LangEs+ -- ^ @lang_es@+ -- Spanish+ | LangEt+ -- ^ @lang_et@+ -- Estonian+ | LangFi+ -- ^ @lang_fi@+ -- Finnish+ | LangFr+ -- ^ @lang_fr@+ -- French+ | LangHr+ -- ^ @lang_hr@+ -- Croatian+ | LangHu+ -- ^ @lang_hu@+ -- Hungarian+ | LangId+ -- ^ @lang_id@+ -- Indonesian+ | LangIs+ -- ^ @lang_is@+ -- Icelandic+ | LangIt+ -- ^ @lang_it@+ -- Italian+ | LangIw+ -- ^ @lang_iw@+ -- Hebrew+ | LangJa+ -- ^ @lang_ja@+ -- Japanese+ | LangKo+ -- ^ @lang_ko@+ -- Korean+ | LangLT+ -- ^ @lang_lt@+ -- Lithuanian+ | LangLv+ -- ^ @lang_lv@+ -- Latvian+ | LangNl+ -- ^ @lang_nl@+ -- Dutch+ | LangNo+ -- ^ @lang_no@+ -- Norwegian+ | LangPl+ -- ^ @lang_pl@+ -- Polish+ | LangPt+ -- ^ @lang_pt@+ -- Portuguese+ | LangRo+ -- ^ @lang_ro@+ -- Romanian+ | LangRu+ -- ^ @lang_ru@+ -- Russian+ | LangSk+ -- ^ @lang_sk@+ -- Slovak+ | LangSl+ -- ^ @lang_sl@+ -- Slovenian+ | LangSr+ -- ^ @lang_sr@+ -- Serbian+ | LangSv+ -- ^ @lang_sv@+ -- Swedish+ | LangTr+ -- ^ @lang_tr@+ -- Turkish+ | LangZhCn+ -- ^ @lang_zh-CN@+ -- Chinese (Simplified)+ | LangZhTw+ -- ^ @lang_zh-TW@+ -- Chinese (Traditional)+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListLr++instance FromText CSEListLr where+ fromText = \case+ "lang_ar" -> Just LangAr+ "lang_bg" -> Just LangBg+ "lang_ca" -> Just LangCa+ "lang_cs" -> Just LangCs+ "lang_da" -> Just LangDa+ "lang_de" -> Just LangDe+ "lang_el" -> Just LangEl+ "lang_en" -> Just LangEn+ "lang_es" -> Just LangEs+ "lang_et" -> Just LangEt+ "lang_fi" -> Just LangFi+ "lang_fr" -> Just LangFr+ "lang_hr" -> Just LangHr+ "lang_hu" -> Just LangHu+ "lang_id" -> Just LangId+ "lang_is" -> Just LangIs+ "lang_it" -> Just LangIt+ "lang_iw" -> Just LangIw+ "lang_ja" -> Just LangJa+ "lang_ko" -> Just LangKo+ "lang_lt" -> Just LangLT+ "lang_lv" -> Just LangLv+ "lang_nl" -> Just LangNl+ "lang_no" -> Just LangNo+ "lang_pl" -> Just LangPl+ "lang_pt" -> Just LangPt+ "lang_ro" -> Just LangRo+ "lang_ru" -> Just LangRu+ "lang_sk" -> Just LangSk+ "lang_sl" -> Just LangSl+ "lang_sr" -> Just LangSr+ "lang_sv" -> Just LangSv+ "lang_tr" -> Just LangTr+ "lang_zh-CN" -> Just LangZhCn+ "lang_zh-TW" -> Just LangZhTw+ _ -> Nothing++instance ToText CSEListLr where+ toText = \case+ LangAr -> "lang_ar"+ LangBg -> "lang_bg"+ LangCa -> "lang_ca"+ LangCs -> "lang_cs"+ LangDa -> "lang_da"+ LangDe -> "lang_de"+ LangEl -> "lang_el"+ LangEn -> "lang_en"+ LangEs -> "lang_es"+ LangEt -> "lang_et"+ LangFi -> "lang_fi"+ LangFr -> "lang_fr"+ LangHr -> "lang_hr"+ LangHu -> "lang_hu"+ LangId -> "lang_id"+ LangIs -> "lang_is"+ LangIt -> "lang_it"+ LangIw -> "lang_iw"+ LangJa -> "lang_ja"+ LangKo -> "lang_ko"+ LangLT -> "lang_lt"+ LangLv -> "lang_lv"+ LangNl -> "lang_nl"+ LangNo -> "lang_no"+ LangPl -> "lang_pl"+ LangPt -> "lang_pt"+ LangRo -> "lang_ro"+ LangRu -> "lang_ru"+ LangSk -> "lang_sk"+ LangSl -> "lang_sl"+ LangSr -> "lang_sr"+ LangSv -> "lang_sv"+ LangTr -> "lang_tr"+ LangZhCn -> "lang_zh-CN"+ LangZhTw -> "lang_zh-TW"++instance FromJSON CSEListLr where+ parseJSON = parseJSONText "CSEListLr"++instance ToJSON CSEListLr where+ toJSON = toJSONText++-- | Specifies the search type: image.+data CSEListSearchType+ = Image+ -- ^ @image@+ -- custom image search+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListSearchType++instance FromText CSEListSearchType where+ fromText = \case+ "image" -> Just Image+ _ -> Nothing++instance ToText CSEListSearchType where+ toText = \case+ Image -> "image"++instance FromJSON CSEListSearchType where+ parseJSON = parseJSONText "CSEListSearchType"++instance ToJSON CSEListSearchType where+ toJSON = toJSONText++-- | Returns images of a specified size, where size can be one of: icon,+-- small, medium, large, xlarge, xxlarge, and huge.+data CSEListImgSize+ = CSELISHuge+ -- ^ @huge@+ -- huge+ | CSELISIcon+ -- ^ @icon@+ -- icon+ | CSELISLarge+ -- ^ @large@+ -- large+ | CSELISMedium+ -- ^ @medium@+ -- medium+ | CSELISSmall+ -- ^ @small@+ -- small+ | CSELISXlarge+ -- ^ @xlarge@+ -- xlarge+ | CSELISXxlarge+ -- ^ @xxlarge@+ -- xxlarge+ deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)++instance Hashable CSEListImgSize++instance FromText CSEListImgSize where+ fromText = \case+ "huge" -> Just CSELISHuge+ "icon" -> Just CSELISIcon+ "large" -> Just CSELISLarge+ "medium" -> Just CSELISMedium+ "small" -> Just CSELISSmall+ "xlarge" -> Just CSELISXlarge+ "xxlarge" -> Just CSELISXxlarge+ _ -> Nothing++instance ToText CSEListImgSize where+ toText = \case+ CSELISHuge -> "huge"+ CSELISIcon -> "icon"+ CSELISLarge -> "large"+ CSELISMedium -> "medium"+ CSELISSmall -> "small"+ CSELISXlarge -> "xlarge"+ CSELISXxlarge -> "xxlarge"++instance FromJSON CSEListImgSize where+ parseJSON = parseJSONText "CSEListImgSize"++instance ToJSON CSEListImgSize where+ toJSON = toJSONText
+ gen/Network/Google/Resource/Search/CSE/List.hs view
@@ -0,0 +1,504 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Search.CSE.List+-- Copyright : (c) 2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns metadata about the search performed, metadata about the custom+-- search engine used for the search, and the search results.+--+-- /See:/ <https://developers.google.com/custom-search/v1/using_rest CustomSearch API Reference> for @search.cse.list@.+module Network.Google.Resource.Search.CSE.List+ (+ -- * REST Resource+ CSEListResource++ -- * Creating a Request+ , cSEList+ , CSEList++ -- * Request Lenses+ , cselImgDominantColor+ , cselSiteSearchFilter+ , cselC2coff+ , cselOrTerms+ , cselStart+ , cselRights+ , cselExcludeTerms+ , cselNum+ , cselFileType+ , cselSearchType+ , cselLr+ , cselQ+ , cselGooglehost+ , cselRelatedSite+ , cselHl+ , cselCref+ , cselSort+ , cselSiteSearch+ , cselFilter+ , cselDateRestrict+ , cselLinkSite+ , cselLowRange+ , cselImgType+ , cselGl+ , cselCx+ , cselImgColorType+ , cselImgSize+ , cselExactTerms+ , cselCr+ , cselSafe+ , cselHq+ , cselHighRange+ ) where++import Network.Google.CustomSearch.Types+import Network.Google.Prelude++-- | A resource alias for @search.cse.list@ method which the+-- 'CSEList' request conforms to.+type CSEListResource =+ "customsearch" :>+ "v1" :>+ QueryParam "q" Text :>+ QueryParam "imgDominantColor" CSEListImgDominantColor+ :>+ QueryParam "siteSearchFilter" CSEListSiteSearchFilter+ :>+ QueryParam "c2coff" Text :>+ QueryParam "orTerms" Text :>+ QueryParam "start" (Textual Word32) :>+ QueryParam "rights" Text :>+ QueryParam "excludeTerms" Text :>+ QueryParam "num" (Textual Word32) :>+ QueryParam "fileType" Text :>+ QueryParam "searchType" CSEListSearchType :>+ QueryParam "lr" CSEListLr :>+ QueryParam "googlehost" Text :>+ QueryParam "relatedSite" Text :>+ QueryParam "hl" Text :>+ QueryParam "cref" Text :>+ QueryParam "sort" Text :>+ QueryParam "siteSearch" Text :>+ QueryParam "filter" CSEListFilter+ :>+ QueryParam "dateRestrict" Text :>+ QueryParam "linkSite" Text :>+ QueryParam "lowRange" Text :>+ QueryParam "imgType"+ CSEListImgType+ :>+ QueryParam "gl" Text :>+ QueryParam "cx" Text :>+ QueryParam+ "imgColorType"+ CSEListImgColorType+ :>+ QueryParam+ "imgSize"+ CSEListImgSize+ :>+ QueryParam+ "exactTerms"+ Text+ :>+ QueryParam "cr"+ Text+ :>+ QueryParam+ "safe"+ CSEListSafe+ :>+ QueryParam+ "hq"+ Text+ :>+ QueryParam+ "highRange"+ Text+ :>+ QueryParam+ "alt"+ AltJSON+ :>+ Get+ '[JSON]+ Search++-- | Returns metadata about the search performed, metadata about the custom+-- search engine used for the search, and the search results.+--+-- /See:/ 'cSEList' smart constructor.+data CSEList = CSEList+ { _cselImgDominantColor :: !(Maybe CSEListImgDominantColor)+ , _cselSiteSearchFilter :: !(Maybe CSEListSiteSearchFilter)+ , _cselC2coff :: !(Maybe Text)+ , _cselOrTerms :: !(Maybe Text)+ , _cselStart :: !(Maybe (Textual Word32))+ , _cselRights :: !(Maybe Text)+ , _cselExcludeTerms :: !(Maybe Text)+ , _cselNum :: !(Textual Word32)+ , _cselFileType :: !(Maybe Text)+ , _cselSearchType :: !(Maybe CSEListSearchType)+ , _cselLr :: !(Maybe CSEListLr)+ , _cselQ :: !Text+ , _cselGooglehost :: !(Maybe Text)+ , _cselRelatedSite :: !(Maybe Text)+ , _cselHl :: !(Maybe Text)+ , _cselCref :: !(Maybe Text)+ , _cselSort :: !(Maybe Text)+ , _cselSiteSearch :: !(Maybe Text)+ , _cselFilter :: !(Maybe CSEListFilter)+ , _cselDateRestrict :: !(Maybe Text)+ , _cselLinkSite :: !(Maybe Text)+ , _cselLowRange :: !(Maybe Text)+ , _cselImgType :: !(Maybe CSEListImgType)+ , _cselGl :: !(Maybe Text)+ , _cselCx :: !(Maybe Text)+ , _cselImgColorType :: !(Maybe CSEListImgColorType)+ , _cselImgSize :: !(Maybe CSEListImgSize)+ , _cselExactTerms :: !(Maybe Text)+ , _cselCr :: !(Maybe Text)+ , _cselSafe :: !CSEListSafe+ , _cselHq :: !(Maybe Text)+ , _cselHighRange :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CSEList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cselImgDominantColor'+--+-- * 'cselSiteSearchFilter'+--+-- * 'cselC2coff'+--+-- * 'cselOrTerms'+--+-- * 'cselStart'+--+-- * 'cselRights'+--+-- * 'cselExcludeTerms'+--+-- * 'cselNum'+--+-- * 'cselFileType'+--+-- * 'cselSearchType'+--+-- * 'cselLr'+--+-- * 'cselQ'+--+-- * 'cselGooglehost'+--+-- * 'cselRelatedSite'+--+-- * 'cselHl'+--+-- * 'cselCref'+--+-- * 'cselSort'+--+-- * 'cselSiteSearch'+--+-- * 'cselFilter'+--+-- * 'cselDateRestrict'+--+-- * 'cselLinkSite'+--+-- * 'cselLowRange'+--+-- * 'cselImgType'+--+-- * 'cselGl'+--+-- * 'cselCx'+--+-- * 'cselImgColorType'+--+-- * 'cselImgSize'+--+-- * 'cselExactTerms'+--+-- * 'cselCr'+--+-- * 'cselSafe'+--+-- * 'cselHq'+--+-- * 'cselHighRange'+cSEList+ :: Text -- ^ 'cselQ'+ -> CSEList+cSEList pCselQ_ =+ CSEList+ { _cselImgDominantColor = Nothing+ , _cselSiteSearchFilter = Nothing+ , _cselC2coff = Nothing+ , _cselOrTerms = Nothing+ , _cselStart = Nothing+ , _cselRights = Nothing+ , _cselExcludeTerms = Nothing+ , _cselNum = 10+ , _cselFileType = Nothing+ , _cselSearchType = Nothing+ , _cselLr = Nothing+ , _cselQ = pCselQ_+ , _cselGooglehost = Nothing+ , _cselRelatedSite = Nothing+ , _cselHl = Nothing+ , _cselCref = Nothing+ , _cselSort = Nothing+ , _cselSiteSearch = Nothing+ , _cselFilter = Nothing+ , _cselDateRestrict = Nothing+ , _cselLinkSite = Nothing+ , _cselLowRange = Nothing+ , _cselImgType = Nothing+ , _cselGl = Nothing+ , _cselCx = Nothing+ , _cselImgColorType = Nothing+ , _cselImgSize = Nothing+ , _cselExactTerms = Nothing+ , _cselCr = Nothing+ , _cselSafe = Off+ , _cselHq = Nothing+ , _cselHighRange = Nothing+ }++-- | Returns images of a specific dominant color: yellow, green, teal, blue,+-- purple, pink, white, gray, black and brown.+cselImgDominantColor :: Lens' CSEList (Maybe CSEListImgDominantColor)+cselImgDominantColor+ = lens _cselImgDominantColor+ (\ s a -> s{_cselImgDominantColor = a})++-- | Controls whether to include or exclude results from the site named in+-- the as_sitesearch parameter+cselSiteSearchFilter :: Lens' CSEList (Maybe CSEListSiteSearchFilter)+cselSiteSearchFilter+ = lens _cselSiteSearchFilter+ (\ s a -> s{_cselSiteSearchFilter = a})++-- | Turns off the translation between zh-CN and zh-TW.+cselC2coff :: Lens' CSEList (Maybe Text)+cselC2coff+ = lens _cselC2coff (\ s a -> s{_cselC2coff = a})++-- | Provides additional search terms to check for in a document, where each+-- document in the search results must contain at least one of the+-- additional search terms+cselOrTerms :: Lens' CSEList (Maybe Text)+cselOrTerms+ = lens _cselOrTerms (\ s a -> s{_cselOrTerms = a})++-- | The index of the first result to return+cselStart :: Lens' CSEList (Maybe Word32)+cselStart+ = lens _cselStart (\ s a -> s{_cselStart = a}) .+ mapping _Coerce++-- | Filters based on licensing. Supported values include: cc_publicdomain,+-- cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and+-- combinations of these.+cselRights :: Lens' CSEList (Maybe Text)+cselRights+ = lens _cselRights (\ s a -> s{_cselRights = a})++-- | Identifies a word or phrase that should not appear in any documents in+-- the search results+cselExcludeTerms :: Lens' CSEList (Maybe Text)+cselExcludeTerms+ = lens _cselExcludeTerms+ (\ s a -> s{_cselExcludeTerms = a})++-- | Number of search results to return+cselNum :: Lens' CSEList Word32+cselNum+ = lens _cselNum (\ s a -> s{_cselNum = a}) . _Coerce++-- | Returns images of a specified type. Some of the allowed values are: bmp,+-- gif, png, jpg, svg, pdf, ...+cselFileType :: Lens' CSEList (Maybe Text)+cselFileType+ = lens _cselFileType (\ s a -> s{_cselFileType = a})++-- | Specifies the search type: image.+cselSearchType :: Lens' CSEList (Maybe CSEListSearchType)+cselSearchType+ = lens _cselSearchType+ (\ s a -> s{_cselSearchType = a})++-- | The language restriction for the search results+cselLr :: Lens' CSEList (Maybe CSEListLr)+cselLr = lens _cselLr (\ s a -> s{_cselLr = a})++-- | Query+cselQ :: Lens' CSEList Text+cselQ = lens _cselQ (\ s a -> s{_cselQ = a})++-- | The local Google domain to use to perform the search.+cselGooglehost :: Lens' CSEList (Maybe Text)+cselGooglehost+ = lens _cselGooglehost+ (\ s a -> s{_cselGooglehost = a})++-- | Specifies that all search results should be pages that are related to+-- the specified URL+cselRelatedSite :: Lens' CSEList (Maybe Text)+cselRelatedSite+ = lens _cselRelatedSite+ (\ s a -> s{_cselRelatedSite = a})++-- | Sets the user interface language.+cselHl :: Lens' CSEList (Maybe Text)+cselHl = lens _cselHl (\ s a -> s{_cselHl = a})++-- | The URL of a linked custom search engine+cselCref :: Lens' CSEList (Maybe Text)+cselCref = lens _cselCref (\ s a -> s{_cselCref = a})++-- | The sort expression to apply to the results+cselSort :: Lens' CSEList (Maybe Text)+cselSort = lens _cselSort (\ s a -> s{_cselSort = a})++-- | Specifies all search results should be pages from a given site+cselSiteSearch :: Lens' CSEList (Maybe Text)+cselSiteSearch+ = lens _cselSiteSearch+ (\ s a -> s{_cselSiteSearch = a})++-- | Controls turning on or off the duplicate content filter.+cselFilter :: Lens' CSEList (Maybe CSEListFilter)+cselFilter+ = lens _cselFilter (\ s a -> s{_cselFilter = a})++-- | Specifies all search results are from a time period+cselDateRestrict :: Lens' CSEList (Maybe Text)+cselDateRestrict+ = lens _cselDateRestrict+ (\ s a -> s{_cselDateRestrict = a})++-- | Specifies that all search results should contain a link to a particular+-- URL+cselLinkSite :: Lens' CSEList (Maybe Text)+cselLinkSite+ = lens _cselLinkSite (\ s a -> s{_cselLinkSite = a})++-- | Creates a range in form as_nlo value..as_nhi value and attempts to+-- append it to query+cselLowRange :: Lens' CSEList (Maybe Text)+cselLowRange+ = lens _cselLowRange (\ s a -> s{_cselLowRange = a})++-- | Returns images of a type, which can be one of: clipart, face, lineart,+-- news, and photo.+cselImgType :: Lens' CSEList (Maybe CSEListImgType)+cselImgType+ = lens _cselImgType (\ s a -> s{_cselImgType = a})++-- | Geolocation of end user.+cselGl :: Lens' CSEList (Maybe Text)+cselGl = lens _cselGl (\ s a -> s{_cselGl = a})++-- | The custom search engine ID to scope this search query+cselCx :: Lens' CSEList (Maybe Text)+cselCx = lens _cselCx (\ s a -> s{_cselCx = a})++-- | Returns black and white, grayscale, or color images: mono, gray, and+-- color.+cselImgColorType :: Lens' CSEList (Maybe CSEListImgColorType)+cselImgColorType+ = lens _cselImgColorType+ (\ s a -> s{_cselImgColorType = a})++-- | Returns images of a specified size, where size can be one of: icon,+-- small, medium, large, xlarge, xxlarge, and huge.+cselImgSize :: Lens' CSEList (Maybe CSEListImgSize)+cselImgSize+ = lens _cselImgSize (\ s a -> s{_cselImgSize = a})++-- | Identifies a phrase that all documents in the search results must+-- contain+cselExactTerms :: Lens' CSEList (Maybe Text)+cselExactTerms+ = lens _cselExactTerms+ (\ s a -> s{_cselExactTerms = a})++-- | Country restrict(s).+cselCr :: Lens' CSEList (Maybe Text)+cselCr = lens _cselCr (\ s a -> s{_cselCr = a})++-- | Search safety level+cselSafe :: Lens' CSEList CSEListSafe+cselSafe = lens _cselSafe (\ s a -> s{_cselSafe = a})++-- | Appends the extra query terms to the query.+cselHq :: Lens' CSEList (Maybe Text)+cselHq = lens _cselHq (\ s a -> s{_cselHq = a})++-- | Creates a range in form as_nlo value..as_nhi value and attempts to+-- append it to query+cselHighRange :: Lens' CSEList (Maybe Text)+cselHighRange+ = lens _cselHighRange+ (\ s a -> s{_cselHighRange = a})++instance GoogleRequest CSEList where+ type Rs CSEList = Search+ requestClient CSEList{..}+ = go (Just _cselQ) _cselImgDominantColor+ _cselSiteSearchFilter+ _cselC2coff+ _cselOrTerms+ _cselStart+ _cselRights+ _cselExcludeTerms+ (Just _cselNum)+ _cselFileType+ _cselSearchType+ _cselLr+ _cselGooglehost+ _cselRelatedSite+ _cselHl+ _cselCref+ _cselSort+ _cselSiteSearch+ _cselFilter+ _cselDateRestrict+ _cselLinkSite+ _cselLowRange+ _cselImgType+ _cselGl+ _cselCx+ _cselImgColorType+ _cselImgSize+ _cselExactTerms+ _cselCr+ (Just _cselSafe)+ _cselHq+ _cselHighRange+ (Just AltJSON)+ customSearchService+ where go+ = buildClient (Proxy :: Proxy CSEListResource) mempty
+ gogol-customsearch.cabal view
@@ -0,0 +1,46 @@+name: gogol-customsearch+version: 0.0.1+synopsis: Google CustomSearch SDK.+homepage: https://github.com/brendanhay/gogol+bug-reports: https://github.com/brendanhay/gogol/issues+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2015 Brendan Hay+category: Network, Google, Cloud+build-type: Simple+cabal-version: >= 1.10+extra-source-files: README.md++description:+ Lets you search over a website or collection of websites+ .+ /Warning:/ This is an experimental prototype/preview release which is still+ under exploratory development and not intended for public use, caveat emptor!+ .+ This library is compatible with version @v1@+ of the API.++source-repository head+ type: git+ location: git://github.com/brendanhay/gogol.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.Google.CustomSearch+ , Network.Google.CustomSearch.Types+ , Network.Google.Resource.Search.CSE.List++ other-modules:+ Network.Google.CustomSearch.Types.Product+ , Network.Google.CustomSearch.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5