packages feed

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 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